From 68cb97b489442cf2430b241f254811947d3731c8 Mon Sep 17 00:00:00 2001 From: Jacob Hageman Date: Tue, 26 Apr 2022 07:20:11 -0600 Subject: [PATCH] Bulk update for 2.6.0 release, see VDD for change summary --- .gitattributes | 6 - CMakeLists.txt | 9 + LICENSE | 201 - README.md | 17 +- docs/DS_RequirementsToDesignTrace.docx | Bin 0 -> 64580 bytes docs/DS_v2.6.0_VersionDescriptionDocument.pdf | Bin 0 -> 549120 bytes ds_config.txt => ds_doxygen_config.txt | 0 fsw/mission_inc/ds_perfids.h | 24 +- fsw/platform_inc/ds_msgids.h | 34 +- fsw/platform_inc/ds_platform_cfg.h | 124 +- fsw/src/ds_app.c | 238 +- fsw/src/ds_app.h | 179 +- fsw/src/ds_appdefs.h | 76 +- fsw/src/ds_cmds.c | 575 +- fsw/src/ds_cmds.h | 199 +- fsw/src/ds_events.h | 238 +- fsw/src/ds_file.c | 290 +- fsw/src/ds_file.h | 123 +- fsw/src/ds_msg.h | 294 +- fsw/src/ds_msgdefs.h | 98 +- fsw/src/ds_table.c | 361 +- fsw/src/ds_table.h | 269 +- fsw/src/ds_verify.h | 235 +- fsw/src/ds_version.h | 40 +- fsw/tables/ds_file_tbl.c | 471 +- fsw/tables/ds_filter_tbl.c | 5173 ++++----- fsw/unit_test/README.txt | 84 - fsw/unit_test/ds_app.c.gcov | 625 -- fsw/unit_test/ds_app_test.c | 1023 -- fsw/unit_test/ds_app_test.h | 51 - fsw/unit_test/ds_cmds.c.gcov | 1535 --- fsw/unit_test/ds_cmds_test.c | 2430 ----- fsw/unit_test/ds_cmds_test.h | 50 - fsw/unit_test/ds_file.c.gcov | 1020 -- fsw/unit_test/ds_file_test.c | 1154 -- fsw/unit_test/ds_file_test.h | 50 - fsw/unit_test/ds_msgids.h | 50 - fsw/unit_test/ds_output.txt | 1237 --- fsw/unit_test/ds_platform_cfg.h | 497 - fsw/unit_test/ds_table.c.gcov | 1282 --- fsw/unit_test/ds_table_test.c | 1635 --- fsw/unit_test/ds_table_test.h | 50 - fsw/unit_test/ds_test_log_altconfig.txt | 1255 --- fsw/unit_test/ds_test_log_defaultconfig.txt | 1253 --- fsw/unit_test/ds_test_utils.c | 70 - fsw/unit_test/ds_test_utils.h | 63 - fsw/unit_test/ds_testrunner.c | 60 - fsw/unit_test/makefile | 160 - .../asist/prc/scx_cpu1_ds_enablestate.prc | 16 +- .../asist/prc/scx_cpu1_ds_filewrite.prc | 35 +- .../asist/prc/scx_cpu1_ds_filter.prc | 68 +- .../asist/prc/scx_cpu1_ds_gencmds.prc | 4 +- .../asist/prc/scx_cpu1_ds_movefile.prc | 30 +- .../asist/prc/scx_cpu1_ds_resetcds.prc | 118 +- .../asist/prc/scx_cpu1_ds_resetnocds.prc | 105 +- .../asist/rdl/scx_cmd_cpu1_ds_0187.rdl | 12 +- test_and_ground/asist/tools/ds_file_util.c | 666 +- ...pu1_ds_enablestate-2021-236-13h14m03s.loge | 14 + ...pu1_ds_enablestate-2021-236-13h14m03s.logf | 924 ++ ...pu1_ds_enablestate-2021-236-13h14m03s.logp | 322 + ...pu1_ds_enablestate-2021-236-13h14m03s.logr | 5 + ...pu1_ds_enablestate-2021-236-13h14m03s.logs | 299 + ..._cpu1_ds_filewrite-2021-236-13h20m24s.loge | 194 + ..._cpu1_ds_filewrite-2021-236-13h20m24s.logf | 6155 +++++++++++ ..._cpu1_ds_filewrite-2021-236-13h20m24s.logp | 2348 ++++ ..._cpu1_ds_filewrite-2021-236-13h20m24s.logr | 30 + ..._cpu1_ds_filewrite-2021-236-13h20m24s.logs | 2187 ++++ ...scx_cpu1_ds_filter-2021-236-11h18m30s.loge | 143 + ...scx_cpu1_ds_filter-2021-236-11h18m30s.logf | 5263 +++++++++ ...scx_cpu1_ds_filter-2021-236-11h18m30s.logp | 1897 ++++ ...scx_cpu1_ds_filter-2021-236-11h18m30s.logr | 31 + ...scx_cpu1_ds_filter-2021-236-11h18m30s.logs | 1787 ++++ ...cx_cpu1_ds_gencmds-2021-236-11h52m50s.loge | 9 + ...cx_cpu1_ds_gencmds-2021-236-11h52m50s.logf | 1059 ++ ...cx_cpu1_ds_gencmds-2021-236-11h52m50s.logp | 364 + ...cx_cpu1_ds_gencmds-2021-236-11h52m50s.logr | 7 + ...cx_cpu1_ds_gencmds-2021-236-11h52m50s.logs | 351 + ...x_cpu1_ds_movefile-2021-236-12h16m28s.loge | 45 + ...x_cpu1_ds_movefile-2021-236-12h16m28s.logf | 2072 ++++ ...x_cpu1_ds_movefile-2021-236-12h16m28s.logp | 643 ++ ...x_cpu1_ds_movefile-2021-236-12h16m28s.logr | 12 + ...x_cpu1_ds_movefile-2021-236-12h16m28s.logs | 587 + ...cpu1_ds_resetnocds-2021-237-12h59m08s.loge | 129 + ...cpu1_ds_resetnocds-2021-237-12h59m08s.logf | 9451 +++++++++++++++++ ...cpu1_ds_resetnocds-2021-237-12h59m08s.logp | 2357 ++++ ...cpu1_ds_resetnocds-2021-237-12h59m08s.logr | 9 + ...cpu1_ds_resetnocds-2021-237-12h59m08s.logs | 2242 ++++ .../V2_5_2_0/DS_V2_5_2_0_TestReport.docx | Bin 0 -> 808200 bytes .../V2_5_2_0/DS_V2_5_2_0_TestReport.pdf | Bin 0 -> 601338 bytes test_and_ground/results/V2_5_2_0/RTTM.xlsx | Bin 0 -> 20410 bytes test_and_ground/results/V2_5_2_0/TES.xlsx | Bin 0 -> 19562 bytes unit-test/CMakeLists.txt | 95 + unit-test/README.txt | 59 + unit-test/ds_app_tests.c | 1279 +++ unit-test/ds_app_tests.h | 33 + unit-test/ds_cmds_tests.c | 4136 ++++++++ unit-test/ds_cmds_tests.h | 33 + unit-test/ds_file_tests.c | 1484 +++ unit-test/ds_file_tests.h | 33 + unit-test/ds_table_tests.c | 2906 +++++ unit-test/ds_table_tests.h | 33 + unit-test/stubs/ds_app_stubs.c | 138 + unit-test/stubs/ds_cmds_stubs.c | 286 + unit-test/stubs/ds_file_stubs.c | 193 + unit-test/stubs/ds_table_stubs.c | 338 + unit-test/utilities/ds_test_utils.c | 124 + unit-test/utilities/ds_test_utils.h | 54 + 107 files changed, 56602 insertions(+), 21520 deletions(-) delete mode 100644 .gitattributes delete mode 100644 LICENSE create mode 100644 docs/DS_RequirementsToDesignTrace.docx create mode 100644 docs/DS_v2.6.0_VersionDescriptionDocument.pdf rename ds_config.txt => ds_doxygen_config.txt (100%) delete mode 100644 fsw/unit_test/README.txt delete mode 100644 fsw/unit_test/ds_app.c.gcov delete mode 100644 fsw/unit_test/ds_app_test.c delete mode 100644 fsw/unit_test/ds_app_test.h delete mode 100644 fsw/unit_test/ds_cmds.c.gcov delete mode 100644 fsw/unit_test/ds_cmds_test.c delete mode 100644 fsw/unit_test/ds_cmds_test.h delete mode 100644 fsw/unit_test/ds_file.c.gcov delete mode 100644 fsw/unit_test/ds_file_test.c delete mode 100644 fsw/unit_test/ds_file_test.h delete mode 100644 fsw/unit_test/ds_msgids.h delete mode 100644 fsw/unit_test/ds_output.txt delete mode 100644 fsw/unit_test/ds_platform_cfg.h delete mode 100644 fsw/unit_test/ds_table.c.gcov delete mode 100644 fsw/unit_test/ds_table_test.c delete mode 100644 fsw/unit_test/ds_table_test.h delete mode 100644 fsw/unit_test/ds_test_log_altconfig.txt delete mode 100644 fsw/unit_test/ds_test_log_defaultconfig.txt delete mode 100644 fsw/unit_test/ds_test_utils.c delete mode 100644 fsw/unit_test/ds_test_utils.h delete mode 100644 fsw/unit_test/ds_testrunner.c delete mode 100644 fsw/unit_test/makefile create mode 100644 test_and_ground/results/Caelum/scx_cpu1_ds_enablestate-2021-236-13h14m03s.loge create mode 100644 test_and_ground/results/Caelum/scx_cpu1_ds_enablestate-2021-236-13h14m03s.logf create mode 100644 test_and_ground/results/Caelum/scx_cpu1_ds_enablestate-2021-236-13h14m03s.logp create mode 100644 test_and_ground/results/Caelum/scx_cpu1_ds_enablestate-2021-236-13h14m03s.logr create mode 100644 test_and_ground/results/Caelum/scx_cpu1_ds_enablestate-2021-236-13h14m03s.logs create mode 100644 test_and_ground/results/Caelum/scx_cpu1_ds_filewrite-2021-236-13h20m24s.loge create mode 100644 test_and_ground/results/Caelum/scx_cpu1_ds_filewrite-2021-236-13h20m24s.logf create mode 100644 test_and_ground/results/Caelum/scx_cpu1_ds_filewrite-2021-236-13h20m24s.logp create mode 100644 test_and_ground/results/Caelum/scx_cpu1_ds_filewrite-2021-236-13h20m24s.logr create mode 100644 test_and_ground/results/Caelum/scx_cpu1_ds_filewrite-2021-236-13h20m24s.logs create mode 100644 test_and_ground/results/Caelum/scx_cpu1_ds_filter-2021-236-11h18m30s.loge create mode 100644 test_and_ground/results/Caelum/scx_cpu1_ds_filter-2021-236-11h18m30s.logf create mode 100644 test_and_ground/results/Caelum/scx_cpu1_ds_filter-2021-236-11h18m30s.logp create mode 100644 test_and_ground/results/Caelum/scx_cpu1_ds_filter-2021-236-11h18m30s.logr create mode 100644 test_and_ground/results/Caelum/scx_cpu1_ds_filter-2021-236-11h18m30s.logs create mode 100644 test_and_ground/results/Caelum/scx_cpu1_ds_gencmds-2021-236-11h52m50s.loge create mode 100644 test_and_ground/results/Caelum/scx_cpu1_ds_gencmds-2021-236-11h52m50s.logf create mode 100644 test_and_ground/results/Caelum/scx_cpu1_ds_gencmds-2021-236-11h52m50s.logp create mode 100644 test_and_ground/results/Caelum/scx_cpu1_ds_gencmds-2021-236-11h52m50s.logr create mode 100644 test_and_ground/results/Caelum/scx_cpu1_ds_gencmds-2021-236-11h52m50s.logs create mode 100644 test_and_ground/results/Caelum/scx_cpu1_ds_movefile-2021-236-12h16m28s.loge create mode 100644 test_and_ground/results/Caelum/scx_cpu1_ds_movefile-2021-236-12h16m28s.logf create mode 100644 test_and_ground/results/Caelum/scx_cpu1_ds_movefile-2021-236-12h16m28s.logp create mode 100644 test_and_ground/results/Caelum/scx_cpu1_ds_movefile-2021-236-12h16m28s.logr create mode 100644 test_and_ground/results/Caelum/scx_cpu1_ds_movefile-2021-236-12h16m28s.logs create mode 100644 test_and_ground/results/Caelum/scx_cpu1_ds_resetnocds-2021-237-12h59m08s.loge create mode 100644 test_and_ground/results/Caelum/scx_cpu1_ds_resetnocds-2021-237-12h59m08s.logf create mode 100644 test_and_ground/results/Caelum/scx_cpu1_ds_resetnocds-2021-237-12h59m08s.logp create mode 100644 test_and_ground/results/Caelum/scx_cpu1_ds_resetnocds-2021-237-12h59m08s.logr create mode 100644 test_and_ground/results/Caelum/scx_cpu1_ds_resetnocds-2021-237-12h59m08s.logs create mode 100644 test_and_ground/results/V2_5_2_0/DS_V2_5_2_0_TestReport.docx create mode 100644 test_and_ground/results/V2_5_2_0/DS_V2_5_2_0_TestReport.pdf create mode 100644 test_and_ground/results/V2_5_2_0/RTTM.xlsx create mode 100644 test_and_ground/results/V2_5_2_0/TES.xlsx create mode 100644 unit-test/CMakeLists.txt create mode 100644 unit-test/README.txt create mode 100644 unit-test/ds_app_tests.c create mode 100644 unit-test/ds_app_tests.h create mode 100644 unit-test/ds_cmds_tests.c create mode 100644 unit-test/ds_cmds_tests.h create mode 100644 unit-test/ds_file_tests.c create mode 100644 unit-test/ds_file_tests.h create mode 100644 unit-test/ds_table_tests.c create mode 100644 unit-test/ds_table_tests.h create mode 100644 unit-test/stubs/ds_app_stubs.c create mode 100644 unit-test/stubs/ds_cmds_stubs.c create mode 100644 unit-test/stubs/ds_file_stubs.c create mode 100644 unit-test/stubs/ds_table_stubs.c create mode 100644 unit-test/utilities/ds_test_utils.c create mode 100644 unit-test/utilities/ds_test_utils.h diff --git a/.gitattributes b/.gitattributes deleted file mode 100644 index a950de2..0000000 --- a/.gitattributes +++ /dev/null @@ -1,6 +0,0 @@ -*.h linguist-language=c - -*.css linguist-documentation=true -*.htm linguist-documentation=true -*.html linguist-documentation=true -*.prc linguist-documentation=true diff --git a/CMakeLists.txt b/CMakeLists.txt index 050d6e8..b888950 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -12,3 +12,12 @@ aux_source_directory(fsw/tables APP_TABLE_FILES) # Create the app module add_cfe_app(ds ${APP_SRC_FILES}) add_cfe_tables(ds ${APP_TABLE_FILES}) + +# If UT is enabled, then add the tests from the subdirectory +# Note that this is an app, and therefore does not provide +# stub functions, as other entities would not typically make +# direct function calls into this application. +if (ENABLE_UNIT_TESTS) + add_subdirectory(unit-test) +endif (ENABLE_UNIT_TESTS) + diff --git a/LICENSE b/LICENSE deleted file mode 100644 index 261eeb9..0000000 --- a/LICENSE +++ /dev/null @@ -1,201 +0,0 @@ - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. diff --git a/README.md b/README.md index 984990e..dd48d65 100644 --- a/README.md +++ b/README.md @@ -4,9 +4,9 @@ core Flight System (cFS) Data Storage Application (DS) Open Source Release Readme ========================== -DS Release 2.5.2 +DS Release 2.6.0 -Date: 10/5/2020 +Date: 8/30/2021 Introduction ------------- @@ -20,26 +20,23 @@ Introduction The DS application is written in C and depends on the cFS Operating System Abstraction Layer (OSAL) and cFE components. There is additional DS application - specific configuration information contained in the application user's guide - available in https://github.com/nasa/DS/tree/master/docs/users_guide + specific configuration information contained in the application user's guide. This software is licensed under the Apache 2.0 license. + Developer's guide information can be generated using Doxygen: + doxygen ds_doxygen_config.txt Software Included ------------------ - Data Storage application (DS) 2.5.2 + Data Storage application (DS) 2.6.0 Software Required ------------------ - Operating System Abstraction Layer 5.0 or higher can be - obtained at https://github.com/nasa/osal - - core Flight Executive 6.8.0 or higher can be obtained at - https://github.com/nasa/cfe + cFS Caelum Note: An integrated bundle including the cFE, OSAL, and PSP can be obtained at https://github.com/nasa/cfs diff --git a/docs/DS_RequirementsToDesignTrace.docx b/docs/DS_RequirementsToDesignTrace.docx new file mode 100644 index 0000000000000000000000000000000000000000..c745abd3028863414675782f7432bf5a66f9ed80 GIT binary patch literal 64580 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 z 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󼯪?hCCvv*H&z9t#-|JW}1$I-*hYf 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[W`I7)cLsuYbvQ0dRd9qLLMd6|=- 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 literal 0 HcmV?d00001 diff --git a/ds_config.txt b/ds_doxygen_config.txt similarity index 100% rename from ds_config.txt rename to ds_doxygen_config.txt diff --git a/fsw/mission_inc/ds_perfids.h b/fsw/mission_inc/ds_perfids.h index f5539ea..1b468e3 100644 --- a/fsw/mission_inc/ds_perfids.h +++ b/fsw/mission_inc/ds_perfids.h @@ -5,20 +5,20 @@ ** version 2.5.2" ** ** Copyright © 2019 United States Government as represented by the Administrator of -** the National Aeronautics and Space Administration. All Rights Reserved. +** the National Aeronautics and Space Administration. All Rights Reserved. ** -** Licensed under the Apache License, Version 2.0 (the "License"); -** you may not use this file except in compliance with the License. -** You may obtain a copy of the License at -** http://www.apache.org/licenses/LICENSE-2.0 -** Unless required by applicable law or agreed to in writing, software -** distributed under the License is distributed on an "AS IS" BASIS, -** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -** See the License for the specific language governing permissions and -** limitations under the License. +** Licensed under the Apache License, Version 2.0 (the "License"); +** you may not use this file except in compliance with the License. +** You may obtain a copy of the License at +** http://www.apache.org/licenses/LICENSE-2.0 +** Unless required by applicable law or agreed to in writing, software +** distributed under the License is distributed on an "AS IS" BASIS, +** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +** See the License for the specific language governing permissions and +** limitations under the License. ** ** -** Purpose: +** Purpose: ** Define DS Performance IDs ** ** Notes: @@ -27,7 +27,7 @@ #ifndef _ds_perfids_h_ #define _ds_perfids_h_ -#define DS_APPMAIN_PERF_ID 38 +#define DS_APPMAIN_PERF_ID 38 #endif /* _ds_perfids_h_ */ diff --git a/fsw/platform_inc/ds_msgids.h b/fsw/platform_inc/ds_msgids.h index 8b479e8..4ef6683 100644 --- a/fsw/platform_inc/ds_msgids.h +++ b/fsw/platform_inc/ds_msgids.h @@ -1,24 +1,24 @@ /************************************************************************ -** File: ds_msgids.h +** File: ds_msgids.h ** ** NASA Docket No. GSC-18448-1, and identified as "cFS Data Storage (DS) application ** version 2.5.2" ** ** Copyright © 2019 United States Government as represented by the Administrator of -** the National Aeronautics and Space Administration. All Rights Reserved. +** the National Aeronautics and Space Administration. All Rights Reserved. ** -** Licensed under the Apache License, Version 2.0 (the "License"); -** you may not use this file except in compliance with the License. -** You may obtain a copy of the License at -** http://www.apache.org/licenses/LICENSE-2.0 -** Unless required by applicable law or agreed to in writing, software -** distributed under the License is distributed on an "AS IS" BASIS, -** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -** See the License for the specific language governing permissions and -** limitations under the License. +** Licensed under the Apache License, Version 2.0 (the "License"); +** you may not use this file except in compliance with the License. +** You may obtain a copy of the License at +** http://www.apache.org/licenses/LICENSE-2.0 +** Unless required by applicable law or agreed to in writing, software +** distributed under the License is distributed on an "AS IS" BASIS, +** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +** See the License for the specific language governing permissions and +** limitations under the License. ** ** -** Purpose: +** Purpose: ** The CFS Data Storage (DS) Application Message IDs header file ** ** Notes: @@ -31,17 +31,15 @@ ** DS Command Message IDs ***********************/ -#define DS_CMD_MID 0x18BB /**< \brief DS Ground Commands Message ID */ -#define DS_SEND_HK_MID 0x18BC /**< \brief DS Send Hk Data Cmd Message ID*/ - +#define DS_CMD_MID 0x18BB /**< \brief DS Ground Commands Message ID */ +#define DS_SEND_HK_MID 0x18BC /**< \brief DS Send Hk Data Cmd Message ID*/ /*************************************** ** DS Telemetry Message IDs ***************************************/ -#define DS_HK_TLM_MID 0x08B8 /**< \brief DS Hk Telemetry Message ID ****/ -#define DS_DIAG_TLM_MID 0x08B9 /**< \brief DS File Info Telemetry Message ID ****/ - +#define DS_HK_TLM_MID 0x08B8 /**< \brief DS Hk Telemetry Message ID ****/ +#define DS_DIAG_TLM_MID 0x08B9 /**< \brief DS File Info Telemetry Message ID ****/ #endif /* _ds_msgids_h_ */ diff --git a/fsw/platform_inc/ds_platform_cfg.h b/fsw/platform_inc/ds_platform_cfg.h index aa9cc8f..4be4cfc 100644 --- a/fsw/platform_inc/ds_platform_cfg.h +++ b/fsw/platform_inc/ds_platform_cfg.h @@ -1,24 +1,24 @@ /************************************************************************ -** File: ds_platform_cfg.h +** File: ds_platform_cfg.h ** ** NASA Docket No. GSC-18448-1, and identified as "cFS Data Storage (DS) application ** version 2.5.2" ** ** Copyright © 2019 United States Government as represented by the Administrator of -** the National Aeronautics and Space Administration. All Rights Reserved. +** the National Aeronautics and Space Administration. All Rights Reserved. ** -** Licensed under the Apache License, Version 2.0 (the "License"); -** you may not use this file except in compliance with the License. -** You may obtain a copy of the License at -** http://www.apache.org/licenses/LICENSE-2.0 -** Unless required by applicable law or agreed to in writing, software -** distributed under the License is distributed on an "AS IS" BASIS, -** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -** See the License for the specific language governing permissions and -** limitations under the License. +** Licensed under the Apache License, Version 2.0 (the "License"); +** you may not use this file except in compliance with the License. +** You may obtain a copy of the License at +** http://www.apache.org/licenses/LICENSE-2.0 +** Unless required by applicable law or agreed to in writing, software +** distributed under the License is distributed on an "AS IS" BASIS, +** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +** See the License for the specific language governing permissions and +** limitations under the License. ** ** -** Purpose: +** Purpose: ** The CFS Data Storage (DS) Application platform configuration header file ** ** Notes: @@ -27,7 +27,6 @@ #ifndef _ds_platform_cfg_h_ #define _ds_platform_cfg_h_ - /** ** \dscfg Destination File Table -- logical table name ** @@ -42,8 +41,7 @@ ** The string length (including string terminator) cannot exceed ** #CFE_TBL_MAX_NAME_LENGTH. (limit is not verified) */ -#define DS_DESTINATION_TBL_NAME "FILE_TBL" - +#define DS_DESTINATION_TBL_NAME "FILE_TBL" /** ** \dscfg Destination File Table -- default table filename @@ -56,8 +54,7 @@ ** The string length (including string terminator) cannot exceed ** #OS_MAX_PATH_LEN. (limit is not verified) */ -#define DS_DEF_DEST_FILENAME "/cf/ds_file_tbl.tbl" - +#define DS_DEF_DEST_FILENAME "/cf/ds_file_tbl.tbl" /** ** \dscfg Destination File Table -- number of files @@ -74,8 +71,7 @@ ** The number must be greater than zero but there is no upper ** enforced limit for this parameter. */ -#define DS_DEST_FILE_CNT 16 - +#define DS_DEST_FILE_CNT 16 /** ** \dscfg Destination File Table -- pathname buffer size @@ -92,8 +88,7 @@ ** of four bytes for alignment. The value cannot exceed the ** maximum filename size allowed by the OS (#OS_MAX_PATH_LEN). */ -#define DS_PATHNAME_BUFSIZE OS_MAX_PATH_LEN - +#define DS_PATHNAME_BUFSIZE OS_MAX_PATH_LEN /** ** \dscfg Destination File Table -- basename buffer size @@ -110,8 +105,7 @@ ** of four bytes for alignment. The value cannot exceed the ** maximum filename size allowed by the OS (#OS_MAX_PATH_LEN). */ -#define DS_BASENAME_BUFSIZE OS_MAX_PATH_LEN - +#define DS_BASENAME_BUFSIZE OS_MAX_PATH_LEN /** ** \dscfg Destination File Table -- extension buffer size @@ -128,8 +122,7 @@ ** of four bytes for alignment. The value cannot exceed the ** maximum filename size allowed by the OS (#OS_MAX_PATH_LEN). */ -#define DS_EXTENSION_BUFSIZE 8 - +#define DS_EXTENSION_BUFSIZE 8 /** ** \dscfg Packet Filter Table -- logical table name @@ -145,8 +138,7 @@ ** The string length (including string terminator) cannot exceed ** #CFE_TBL_MAX_NAME_LENGTH. (limit is not verified) */ -#define DS_FILTER_TBL_NAME "FILTER_TBL" - +#define DS_FILTER_TBL_NAME "FILTER_TBL" /** ** \dscfg Packet Filter Table -- default table filename @@ -159,8 +151,7 @@ ** The string length (including string terminator) cannot exceed ** #OS_MAX_PATH_LEN. (limit is not verified) */ -#define DS_DEF_FILTER_FILENAME "/cf/ds_filter_tbl.tbl" - +#define DS_DEF_FILTER_FILENAME "/cf/ds_filter_tbl.tbl" /** ** \dscfg Packet Filter Table -- number of packets @@ -179,8 +170,7 @@ ** defined for this project, will reduce the table file size, ** possibly significantly. */ -#define DS_PACKETS_IN_FILTER_TABLE 256 - +#define DS_PACKETS_IN_FILTER_TABLE 256 /** ** \dscfg Packet Filter Table -- filters per packet @@ -195,8 +185,7 @@ ** The number of filters per packet must be greater than zero ** and not greater than #DS_DEST_FILE_CNT. */ -#define DS_FILTERS_PER_PACKET 4 - +#define DS_FILTERS_PER_PACKET 4 /** ** \dscfg Common Table File -- descriptor text buffer size @@ -210,8 +199,7 @@ ** The buffer size must be greater than zero and a multiple ** of four bytes for alignment. There is no upper limit. */ -#define DS_DESCRIPTOR_BUFSIZE 32 - +#define DS_DESCRIPTOR_BUFSIZE 32 /** ** \dscfg Filename Sequence Count -- number of digits @@ -228,8 +216,7 @@ ** the filename type to "count". This value should match ** the definition for #DS_MAX_SEQUENCE_COUNT, below. */ -#define DS_SEQUENCE_DIGITS 8 - +#define DS_SEQUENCE_DIGITS 8 /** ** \dscfg Filename Sequence Count -- max counter value @@ -243,8 +230,7 @@ ** more digits than the number of sequence count digits ** defined for #DS_SEQUENCE_DIGITS, above. */ -#define DS_MAX_SEQUENCE_COUNT 99999999 - +#define DS_MAX_SEQUENCE_COUNT 99999999 /** ** \dscfg Data Storage File -- total filename size @@ -258,8 +244,7 @@ ** of four bytes for alignment. The buffer size (including ** string terminator) cannot exceed #OS_MAX_PATH_LEN. */ -#define DS_TOTAL_FNAME_BUFSIZE OS_MAX_PATH_LEN - +#define DS_TOTAL_FNAME_BUFSIZE OS_MAX_PATH_LEN /** ** \dscfg Data Storage File -- cFE file header sub-type @@ -273,8 +258,7 @@ ** thus the value can be anything from zero to 4,294,967,295. ** (limit is not verified) */ -#define DS_FILE_HDR_SUBTYPE 12345 - +#define DS_FILE_HDR_SUBTYPE 12345 /** ** \dscfg Data Storage File -- cFE file header description @@ -287,8 +271,7 @@ ** The string length (including string terminator) cannot exceed ** #CFE_FS_HDR_DESC_MAX_LEN. (limit is not verified) */ -#define DS_FILE_HDR_DESCRIPTION "DS data storage file" - +#define DS_FILE_HDR_DESCRIPTION "DS data storage file" /** ** \dscfg Data Storage File -- minimum size limit @@ -304,8 +287,7 @@ ** frequently, while a very large value will effectively ** prevent files from ever being closed due to size. */ -#define DS_FILE_MIN_SIZE_LIMIT 1024 - +#define DS_FILE_MIN_SIZE_LIMIT 1024 /** ** \dscfg Data Storage File -- minimum age limit @@ -321,8 +303,7 @@ ** frequently, while a very large value will effectively ** prevent files from ever being closed due to age. */ -#define DS_FILE_MIN_AGE_LIMIT 60 - +#define DS_FILE_MIN_AGE_LIMIT 60 /** ** \dscfg Application Pipe Name @@ -338,11 +319,10 @@ ** The string length (including string terminator) cannot ** exceed #OS_MAX_API_NAME. (limit is not verified) */ -#define DS_APP_PIPE_NAME "DS_CMD_PIPE" - +#define DS_APP_PIPE_NAME "DS_CMD_PIPE" /** -** \dscfg Application Pipe Depth +** \dscfg Application Pipe Depth ** ** \par Description: ** This parameter defines the depth of the DS input pipe. The @@ -353,13 +333,12 @@ ** ** \par Limits: ** The value must be greater than zero and cannot exceed the -** definition of #CFE_SB_MAX_PIPE_DEPTH. +** definition of #OS_QUEUE_MAX_DEPTH */ -#define DS_APP_PIPE_DEPTH 256 - +#define DS_APP_PIPE_DEPTH 45 /** -** \dscfg Make DS Tables Critical +** \dscfg Make DS Tables Critical ** ** \par Description: ** Set this parameter to a value of one to make the DS tables critical, @@ -368,8 +347,7 @@ ** \par Limits ** This parameter must be set to zero or one. */ -#define DS_MAKE_TABLES_CRITICAL 0 - +#define DS_MAKE_TABLES_CRITICAL 0 /** ** \dscfg Housekeeping Request Frequency @@ -385,11 +363,10 @@ ** \par Limits ** This parameter must be greater than zero. */ -#define DS_SECS_PER_HK_CYCLE 4 - +#define DS_SECS_PER_HK_CYCLE 4 /** -** \dscfg Default DS Packet Processor State +** \dscfg Default DS Packet Processor State ** ** \par Description: ** Set this parameter to a value of one and DS will begin to @@ -400,8 +377,7 @@ ** \par Limits ** This parameter must be set to zero or one. */ -#define DS_DEF_ENABLE_STATE 1 - +#define DS_DEF_ENABLE_STATE 1 /** ** \dscfg Save DS Packet Processor State in Critical Data Store @@ -418,11 +394,10 @@ ** \par Limits ** This parameter must be set to zero or one. */ -#define DS_CDS_ENABLE_STATE 1 - +#define DS_CDS_ENABLE_STATE 1 /** \dscfg Mission specific version number for DS application -** +** ** \par Description: ** An application version number consists of four parts: ** major version number, minor version number, revision @@ -434,11 +409,10 @@ ** Must be defined as a numeric value that is greater than ** or equal to zero. */ -#define DS_MISSION_REV 0 - +#define DS_MISSION_REV 0 /** -** \dscfg File Header Type Selection +** \dscfg File Header Type Selection ** ** \par Description: ** Set this parameter to select the type of file header that @@ -448,13 +422,11 @@ ** This parameter must be set to one of the following: ** 0 = none -- set this value to have no file header ** 1 = CFE -- set this value to use CFE file headers -** 2 = GPM -- set this value to use GPM file headers */ -#define DS_FILE_HEADER_TYPE 1 - +#define DS_FILE_HEADER_TYPE 1 /** -** \dscfg Move Files to Downlink Directory After Close Selection +** \dscfg Move Files to Downlink Directory After Close Selection ** ** \par Description: ** Set this parameter to enable the code and structures to @@ -470,8 +442,7 @@ ** true = add move pathname field to Destination File Table ** false = do not add move pathname to Destination File Table */ -#define DS_MOVE_FILES true - +#define DS_MOVE_FILES true /** ** \dscfg Application Per Packet Pipe Limit @@ -487,8 +458,7 @@ ** The value must be greater than zero and cannot exceed the ** definition of #DS_APP_PIPE_DEPTH. */ -#define DS_PER_PACKET_PIPE_LIMIT 50 - +#define DS_PER_PACKET_PIPE_LIMIT 45 #endif /* _ds_platform_cfg_h_ */ diff --git a/fsw/src/ds_app.c b/fsw/src/ds_app.c index 2182a6f..853e3c6 100644 --- a/fsw/src/ds_app.c +++ b/fsw/src/ds_app.c @@ -1,22 +1,22 @@ /************************************************************************ -** File: ds_app.c +** File: ds_app.c ** -** NASA Docket No. GSC-18448-1, and identified as "cFS Data Storage (DS) -** application version 2.5.2” -** -** Copyright © 2019 United States Government as represented by the Administrator -** of the National Aeronautics and Space Administration. All Rights Reserved. +** NASA Docket No. GSC-18448-1, and identified as "cFS Data Storage (DS) +** application version 2.5.2” +** +** Copyright © 2019 United States Government as represented by the Administrator +** of the National Aeronautics and Space Administration. All Rights Reserved. +** +** Licensed under the Apache License, Version 2.0 (the "License"); +** you may not use this file except in compliance with the License. +** You may obtain a copy of the License at +** http://www.apache.org/licenses/LICENSE-2.0 +** Unless required by applicable law or agreed to in writing, software +** distributed under the License is distributed on an "AS IS" BASIS, +** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +** See the License for the specific language governing permissions and +** limitations under the License. ** -** Licensed under the Apache License, Version 2.0 (the "License"); -** you may not use this file except in compliance with the License. -** You may obtain a copy of the License at -** http://www.apache.org/licenses/LICENSE-2.0 -** Unless required by applicable law or agreed to in writing, software -** distributed under the License is distributed on an "AS IS" BASIS, -** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -** See the License for the specific language governing permissions and -** limitations under the License. -** ** ** Purpose: ** The CFS Data Storage (DS) Application file containing the application @@ -47,7 +47,6 @@ #include "string.h" - /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ /* */ /* DS_AppData -- application global data structure */ @@ -56,7 +55,6 @@ DS_AppData_t DS_AppData; - /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ /* */ /* DS_AppMain() -- application entry point and main process loop */ @@ -65,27 +63,19 @@ DS_AppData_t DS_AppData; void DS_AppMain(void) { - CFE_SB_MsgPtr_t MessagePtr = NULL; - int32 Result = CFE_SUCCESS; - uint32 RunStatus = CFE_ES_RunStatus_APP_RUN; + CFE_SB_Buffer_t *BufPtr = NULL; + int32 Result = CFE_SUCCESS; + uint32 RunStatus = CFE_ES_RunStatus_APP_RUN; /* ** Performance Log (start time counter)... */ CFE_ES_PerfLogEntry(DS_APPMAIN_PERF_ID); - /* - ** Register application... - */ - Result = CFE_ES_RegisterApp(); - /* ** Perform application specific initialization... */ - if (Result == CFE_SUCCESS) - { - Result = DS_AppInitialize(); - } + Result = DS_AppInitialize(); /* ** Check for start-up error... @@ -111,7 +101,7 @@ void DS_AppMain(void) /* ** Wait for next Software Bus message... */ - Result = CFE_SB_RcvMsg(&MessagePtr, DS_AppData.InputPipe, CFE_SB_PEND_FOREVER); + Result = CFE_SB_ReceiveBuffer(&BufPtr, DS_AppData.InputPipe, DS_SB_TIMEOUT); /* ** Performance Log (start time counter)... @@ -123,7 +113,20 @@ void DS_AppMain(void) */ if (Result == CFE_SUCCESS) { - DS_AppProcessMsg(MessagePtr); + DS_AppProcessMsg(BufPtr); + } + else if (Result == CFE_SB_TIME_OUT) + { + /* + * Process data storage file age limits and check for + * table updates. This is usually done during the + * housekeeping cycle, but if housekeeping requests are + * coming at a rate slower than 1Hz, we perform the operations + * here. + */ + DS_FileTestAge(DS_SECS_PER_TIMEOUT); + DS_TableManageDestFile(); + DS_TableManageFilter(); } else { @@ -148,8 +151,8 @@ void DS_AppMain(void) /* ** Send an event describing the reason for the termination... */ - CFE_EVS_SendEvent(DS_EXIT_ERR_EID, CFE_EVS_EventType_CRITICAL, - "Application terminating, err = 0x%08X", (unsigned int)Result); + CFE_EVS_SendEvent(DS_EXIT_ERR_EID, CFE_EVS_EventType_CRITICAL, "Application terminating, err = 0x%08X", + (unsigned int)Result); /* ** In case cFE Event Services is not working... @@ -169,7 +172,6 @@ void DS_AppMain(void) } /* End of DS_AppMain() */ - /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ /* */ /* DS_AppInitialize() -- application initialization */ @@ -179,7 +181,7 @@ void DS_AppMain(void) int32 DS_AppInitialize(void) { int32 Result = CFE_SUCCESS; - int32 i = 0; + int32 i = 0; /* ** Initialize global data structure... @@ -199,15 +201,12 @@ int32 DS_AppInitialize(void) /* ** Initialize interface to cFE Event Services... */ - if (Result == CFE_SUCCESS) - { - Result = CFE_EVS_Register(NULL, 0, 0); + Result = CFE_EVS_Register(NULL, 0, 0); - if (Result != CFE_SUCCESS) - { - CFE_EVS_SendEvent(DS_INIT_ERR_EID, CFE_EVS_EventType_ERROR, - "Unable to register for EVS services, err = 0x%08X", (unsigned int)Result); - } + if (Result != CFE_SUCCESS) + { + CFE_EVS_SendEvent(DS_INIT_ERR_EID, CFE_EVS_EventType_ERROR, "Unable to register for EVS services, err = 0x%08X", + (unsigned int)Result); } /* @@ -215,12 +214,11 @@ int32 DS_AppInitialize(void) */ if (Result == CFE_SUCCESS) { - Result = CFE_SB_CreatePipe(&DS_AppData.InputPipe, - DS_APP_PIPE_DEPTH, DS_APP_PIPE_NAME); + Result = CFE_SB_CreatePipe(&DS_AppData.InputPipe, DS_APP_PIPE_DEPTH, DS_APP_PIPE_NAME); if (Result != CFE_SUCCESS) { - CFE_EVS_SendEvent(DS_INIT_ERR_EID, CFE_EVS_EventType_ERROR, - "Unable to create input pipe, err = 0x%08X", (unsigned int)Result); + CFE_EVS_SendEvent(DS_INIT_ERR_EID, CFE_EVS_EventType_ERROR, "Unable to create input pipe, err = 0x%08X", + (unsigned int)Result); } } @@ -234,7 +232,7 @@ int32 DS_AppInitialize(void) if (Result != CFE_SUCCESS) { CFE_EVS_SendEvent(DS_INIT_ERR_EID, CFE_EVS_EventType_ERROR, - "Unable to subscribe to HK request, err = 0x%08X", (unsigned int)Result); + "Unable to subscribe to HK request, err = 0x%08X", (unsigned int)Result); } } @@ -248,7 +246,7 @@ int32 DS_AppInitialize(void) if (Result != CFE_SUCCESS) { CFE_EVS_SendEvent(DS_INIT_ERR_EID, CFE_EVS_EventType_ERROR, - "Unable to subscribe to DS commands, err = 0x%08X", (unsigned int)Result); + "Unable to subscribe to DS commands, err = 0x%08X", (unsigned int)Result); } } @@ -274,27 +272,27 @@ int32 DS_AppInitialize(void) if (Result == CFE_SUCCESS) { CFE_EVS_SendEvent(DS_INIT_EID, CFE_EVS_EventType_INFORMATION, - "Application initialized, version %d.%d.%d.%d, data at %p", - DS_MAJOR_VERSION, DS_MINOR_VERSION, - DS_REVISION, DS_MISSION_REV, (void*)&DS_AppData); + "Application initialized, version %d.%d.%d.%d, data at %p", DS_MAJOR_VERSION, + DS_MINOR_VERSION, DS_REVISION, DS_MISSION_REV, (void *)&DS_AppData); } - return(Result); + return (Result); } /* End of DS_AppInitialize() */ - /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ /* */ /* DS_AppProcessMsg() -- process Software Bus messages */ /* */ /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ -void DS_AppProcessMsg(CFE_SB_MsgPtr_t MessagePtr) +void DS_AppProcessMsg(const CFE_SB_Buffer_t *BufPtr) { - CFE_SB_MsgId_t MessageID = CFE_SB_GetMsgId(MessagePtr); - uint16 ActualLength = 0; - uint16 ExpectedLength = 0; + CFE_SB_MsgId_t MessageID = CFE_SB_INVALID_MSG_ID; + size_t ActualLength = 0; + size_t ExpectedLength = 0; + + CFE_MSG_GetMsgId(&BufPtr->Msg, &MessageID); switch (MessageID) { @@ -302,10 +300,10 @@ void DS_AppProcessMsg(CFE_SB_MsgPtr_t MessagePtr) ** DS application commands... */ case DS_CMD_MID: - DS_AppProcessCmd(MessagePtr); + DS_AppProcessCmd(BufPtr); if (DS_TableFindMsgID(MessageID) != DS_INDEX_NONE) { - DS_AppStorePacket(MessageID, MessagePtr); + DS_AppStorePacket(MessageID, BufPtr); } break; @@ -314,20 +312,20 @@ void DS_AppProcessMsg(CFE_SB_MsgPtr_t MessagePtr) */ case DS_SEND_HK_MID: - ActualLength = CFE_SB_GetTotalMsgLength(MessagePtr); - ExpectedLength = CFE_SB_CMD_HDR_SIZE; + CFE_MSG_GetSize(&BufPtr->Msg, &ActualLength); + ExpectedLength = sizeof(DS_NoopCmd_t); if (ExpectedLength != ActualLength) { CFE_EVS_SendEvent(DS_HK_REQUEST_ERR_EID, CFE_EVS_EventType_ERROR, - "Invalid HK request length: expected = %d, actual = %d", - ExpectedLength, ActualLength); + "Invalid HK request length: expected = %d, actual = %d", (int)ExpectedLength, + (int)ActualLength); } else { DS_AppProcessHK(); if (DS_TableFindMsgID(MessageID) != DS_INDEX_NONE) { - DS_AppStorePacket(MessageID, MessagePtr); + DS_AppStorePacket(MessageID, BufPtr); } } break; @@ -336,7 +334,7 @@ void DS_AppProcessMsg(CFE_SB_MsgPtr_t MessagePtr) ** Unknown message ID's (must be something to store)... */ default: - DS_AppStorePacket(MessageID, MessagePtr); + DS_AppStorePacket(MessageID, BufPtr); break; } @@ -344,16 +342,17 @@ void DS_AppProcessMsg(CFE_SB_MsgPtr_t MessagePtr) } /* End of DS_AppProcessMsg() */ - /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ /* */ /* DS_AppProcessCmd() -- process application commands */ /* */ /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ -void DS_AppProcessCmd(CFE_SB_MsgPtr_t MessagePtr) +void DS_AppProcessCmd(const CFE_SB_Buffer_t *BufPtr) { - uint16 CommandCode = CFE_SB_GetCmdCode(MessagePtr); + CFE_MSG_FcnCode_t CommandCode = 0; + + CFE_MSG_GetFcnCode(&BufPtr->Msg, &CommandCode); switch (CommandCode) { @@ -361,126 +360,126 @@ void DS_AppProcessCmd(CFE_SB_MsgPtr_t MessagePtr) ** Do nothing command (aliveness test)... */ case DS_NOOP_CC: - DS_CmdNoop(MessagePtr); + DS_CmdNoop(BufPtr); break; /* ** Set housekeeping telemetry counters to zero... */ case DS_RESET_CC: - DS_CmdReset(MessagePtr); + DS_CmdReset(BufPtr); break; /* ** Set DS application enable/disable state... */ case DS_SET_APP_STATE_CC: - DS_CmdSetAppState(MessagePtr); + DS_CmdSetAppState(BufPtr); break; /* ** Set packet filter file index... */ case DS_SET_FILTER_FILE_CC: - DS_CmdSetFilterFile(MessagePtr); + DS_CmdSetFilterFile(BufPtr); break; /* ** Set packet filter type (time vs count)... */ case DS_SET_FILTER_TYPE_CC: - DS_CmdSetFilterType(MessagePtr); + DS_CmdSetFilterType(BufPtr); break; /* ** Set packet filter algorithm parameters... */ case DS_SET_FILTER_PARMS_CC: - DS_CmdSetFilterParms(MessagePtr); + DS_CmdSetFilterParms(BufPtr); break; /* ** Set destination file filename type (time vs count)... */ case DS_SET_DEST_TYPE_CC: - DS_CmdSetDestType(MessagePtr); + DS_CmdSetDestType(BufPtr); break; /* ** Set destination file enable/disable state... */ case DS_SET_DEST_STATE_CC: - DS_CmdSetDestState(MessagePtr); + DS_CmdSetDestState(BufPtr); break; /* ** Set destination file path portion of filename... */ case DS_SET_DEST_PATH_CC: - DS_CmdSetDestPath(MessagePtr); + DS_CmdSetDestPath(BufPtr); break; /* ** Set destination file base portion of filename... */ case DS_SET_DEST_BASE_CC: - DS_CmdSetDestBase(MessagePtr); + DS_CmdSetDestBase(BufPtr); break; /* ** Set destination file extension portion of filename... */ case DS_SET_DEST_EXT_CC: - DS_CmdSetDestExt(MessagePtr); + DS_CmdSetDestExt(BufPtr); break; /* ** Set destination file maximum size limit... */ case DS_SET_DEST_SIZE_CC: - DS_CmdSetDestSize(MessagePtr); + DS_CmdSetDestSize(BufPtr); break; /* ** Set destination file maximum age limit... */ case DS_SET_DEST_AGE_CC: - DS_CmdSetDestAge(MessagePtr); + DS_CmdSetDestAge(BufPtr); break; /* ** Set destination file sequence count portion of filename... */ case DS_SET_DEST_COUNT_CC: - DS_CmdSetDestCount(MessagePtr); + DS_CmdSetDestCount(BufPtr); break; /* ** Close destination file (next packet will re-open)... */ case DS_CLOSE_FILE_CC: - DS_CmdCloseFile(MessagePtr); + DS_CmdCloseFile(BufPtr); break; /* ** Get file info telemetry packet... */ case DS_GET_FILE_INFO_CC: - DS_CmdGetFileInfo(MessagePtr); + DS_CmdGetFileInfo(BufPtr); break; /* ** Add message ID to filter table... */ case DS_ADD_MID_CC: - DS_CmdAddMID(MessagePtr); + DS_CmdAddMID(BufPtr); break; /* ** Close all destination files (next packet will re-open)... */ case DS_CLOSE_ALL_CC: - DS_CmdCloseAll(MessagePtr); + DS_CmdCloseAll(BufPtr); break; /* @@ -488,8 +487,7 @@ void DS_AppProcessCmd(CFE_SB_MsgPtr_t MessagePtr) */ default: CFE_EVS_SendEvent(DS_CMD_CODE_ERR_EID, CFE_EVS_EventType_ERROR, - "Invalid command code: MID = 0x%04X, CC = %d", - DS_CMD_MID, CommandCode); + "Invalid command code: MID = 0x%08X, CC = %d", DS_CMD_MID, CommandCode); DS_AppData.CmdRejectedCounter++; break; @@ -499,7 +497,6 @@ void DS_AppProcessCmd(CFE_SB_MsgPtr_t MessagePtr) } /* End of DS_AppProcessCmd() */ - /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ /* */ /* DS_AppProcessHK() -- process hk request command */ @@ -508,16 +505,16 @@ void DS_AppProcessCmd(CFE_SB_MsgPtr_t MessagePtr) void DS_AppProcessHK(void) { - DS_HkPacket_t HkPacket; - int32 i = 0; - int32 Status = 0; - char FilterTblName[CFE_MISSION_TBL_MAX_NAME_LENGTH] = {0}; + DS_HkPacket_t HkPacket; + int32 i = 0; + int32 Status = 0; + char FilterTblName[CFE_MISSION_TBL_MAX_NAME_LENGTH] = {0}; CFE_TBL_Info_t FilterTblInfo; /* ** Initialize housekeeping packet... */ - CFE_SB_InitMsg(&HkPacket, DS_HK_TLM_MID, sizeof(DS_HkPacket_t), true); + CFE_MSG_Init(&HkPacket.TlmHeader.Msg, DS_HK_TLM_MID, sizeof(DS_HkPacket_t)); /* ** Process data storage file age limits... @@ -570,39 +567,37 @@ void DS_AppProcessHK(void) */ for (i = 0; i < DS_DEST_FILE_CNT; i++) { - DS_AppData.FileStatus[i].FileRate = DS_AppData.FileStatus[i].FileGrowth / DS_SECS_PER_HK_CYCLE; + DS_AppData.FileStatus[i].FileRate = DS_AppData.FileStatus[i].FileGrowth / DS_SECS_PER_HK_CYCLE; DS_AppData.FileStatus[i].FileGrowth = 0; } /* Get the filter table info, put the file name in the hk pkt. */ - Status = snprintf(FilterTblName, CFE_MISSION_TBL_MAX_NAME_LENGTH, "DS.%s",DS_FILTER_TBL_NAME); - if(Status >= 0) { + Status = snprintf(FilterTblName, CFE_MISSION_TBL_MAX_NAME_LENGTH, "DS.%s", DS_FILTER_TBL_NAME); + if (Status >= 0) + { Status = CFE_TBL_GetInfo(&FilterTblInfo, FilterTblName); - if (Status == CFE_SUCCESS) { + if (Status == CFE_SUCCESS) + { strncpy(HkPacket.FilterTblFilename, FilterTblInfo.LastFileLoaded, OS_MAX_PATH_LEN - 1); - HkPacket.FilterTblFilename[strlen(HkPacket.FilterTblFilename)] = '\0'; + HkPacket.FilterTblFilename[OS_MAX_PATH_LEN - 1] = '\0'; } - - else { + + else + { /* If the filter table name is invalid, send an event and erase any * stale/misleading filename from the HK packet */ - CFE_EVS_SendEvent(DS_APPHK_FILTER_TBL_ERR_EID, - CFE_EVS_EventType_ERROR, - "Invalid filter tbl name in DS_AppProcessHK. Name=%s, Err=0x%08X", - FilterTblName, - Status); - + CFE_EVS_SendEvent(DS_APPHK_FILTER_TBL_ERR_EID, CFE_EVS_EventType_ERROR, + "Invalid filter tbl name in DS_AppProcessHK. Name=%s, Err=0x%08X", FilterTblName, Status); + CFE_PSP_MemSet(HkPacket.FilterTblFilename, 0, OS_MAX_PATH_LEN); } } - else { + else + { /* If the filter table name couldn't be copied, send an event and erase * any stale/misleading filename from the HK packet */ - CFE_EVS_SendEvent(DS_APPHK_FILTER_TBL_PRINT_ERR_EID, - CFE_EVS_EventType_ERROR, - "Filter tbl name copy fail in DS_AppProcessHK. Err=%d", - (int)Status); - + CFE_EVS_SendEvent(DS_APPHK_FILTER_TBL_PRINT_ERR_EID, CFE_EVS_EventType_ERROR, + "Filter tbl name copy fail in DS_AppProcessHK. Err=%d", (int)Status); CFE_PSP_MemSet(HkPacket.FilterTblFilename, 0, OS_MAX_PATH_LEN); } @@ -610,21 +605,20 @@ void DS_AppProcessHK(void) /* ** Timestamp and send housekeeping telemetry packet... */ - CFE_SB_TimeStampMsg((CFE_SB_Msg_t *) &HkPacket); - CFE_SB_SendMsg((CFE_SB_Msg_t *) &HkPacket); + CFE_SB_TimeStampMsg(&HkPacket.TlmHeader.Msg); + CFE_SB_TransmitMsg(&HkPacket.TlmHeader.Msg, true); return; } /* End of DS_AppProcessHK() */ - /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ /* */ /* DS_AppStorePacket() -- packet storage pre-processor */ /* */ /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ -void DS_AppStorePacket(CFE_SB_MsgId_t MessageID, CFE_SB_MsgPtr_t MessagePtr) +void DS_AppStorePacket(CFE_SB_MsgId_t MessageID, const CFE_SB_Buffer_t *BufPtr) { if (DS_AppData.AppEnableState == DS_DISABLED) @@ -634,8 +628,8 @@ void DS_AppStorePacket(CFE_SB_MsgId_t MessageID, CFE_SB_MsgPtr_t MessagePtr) */ DS_AppData.DisabledPktCounter++; } - else if ((DS_AppData.FilterTblPtr == (DS_FilterTable_t *) NULL) || - (DS_AppData.DestFileTblPtr == (DS_DestFileTable_t *) NULL)) + else if ((DS_AppData.FilterTblPtr == (DS_FilterTable_t *)NULL) || + (DS_AppData.DestFileTblPtr == (DS_DestFileTable_t *)NULL)) { /* ** Must have both tables loaded in order to store data... @@ -647,7 +641,7 @@ void DS_AppStorePacket(CFE_SB_MsgId_t MessageID, CFE_SB_MsgPtr_t MessagePtr) /* ** Store packet (if permitted by filter table)... */ - DS_FileStorePacket(MessageID, MessagePtr); + DS_FileStorePacket(MessageID, BufPtr); } return; diff --git a/fsw/src/ds_app.h b/fsw/src/ds_app.h index c759c14..fad6a0b 100644 --- a/fsw/src/ds_app.h +++ b/fsw/src/ds_app.h @@ -1,24 +1,24 @@ /************************************************************************ -** File: ds_app.h -** -** NASA Docket No. GSC-18448-1, and identified as "cFS Data Storage (DS) -** application version 2.5.2” -** -** Copyright © 2019 United States Government as represented by the Administrator -** of the National Aeronautics and Space Administration. All Rights Reserved. -** -** Licensed under the Apache License, Version 2.0 (the "License"); -** you may not use this file except in compliance with the License. -** You may obtain a copy of the License at -** http://www.apache.org/licenses/LICENSE-2.0 -** Unless required by applicable law or agreed to in writing, software -** distributed under the License is distributed on an "AS IS" BASIS, -** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -** See the License for the specific language governing permissions and -** limitations under the License. -** -** -** Purpose: +** File: ds_app.h +** +** NASA Docket No. GSC-18448-1, and identified as "cFS Data Storage (DS) +** application version 2.5.2” +** +** Copyright © 2019 United States Government as represented by the Administrator +** of the National Aeronautics and Space Administration. All Rights Reserved. +** +** Licensed under the Apache License, Version 2.0 (the "License"); +** you may not use this file except in compliance with the License. +** You may obtain a copy of the License at +** http://www.apache.org/licenses/LICENSE-2.0 +** Unless required by applicable law or agreed to in writing, software +** distributed under the License is distributed on an "AS IS" BASIS, +** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +** See the License for the specific language governing permissions and +** limitations under the License. +** +** +** Purpose: ** The CFS Data Storage (DS) Application header file ** ** Notes: @@ -35,78 +35,84 @@ #include "ds_table.h" - /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ /* */ /* DS application data structures */ /* */ /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ +/** +** \brief Wakeup for DS +** +** \par Description +** Wakes up DS every 1 second for routine maintenance whether a +** message was received or not. +*/ +#define DS_SB_TIMEOUT 1000 +#define DS_SECS_PER_TIMEOUT (DS_SB_TIMEOUT / 1000) + /* ** \brief Current state of destination files */ typedef struct { - int32 FileHandle; /**< \brief Current file handle */ - uint32 FileAge; /**< \brief Current file age in seconds */ - uint32 FileSize; /**< \brief Current file size in bytes */ - uint32 FileGrowth; /**< \brief Current file growth in bytes (since HK) */ - uint32 FileRate; /**< \brief File growth rate in bytes (at last HK) */ - uint32 FileCount; /**< \brief Current file sequence count */ - uint16 FileState; /**< \brief Current file enable/disable state */ - uint16 Unused; /**< \brief Unused - structure padding */ - char FileName[DS_TOTAL_FNAME_BUFSIZE]; /**< \brief Current filename (path+base+seq+ext) */ + osal_id_t FileHandle; /**< \brief Current file handle */ + uint32 FileAge; /**< \brief Current file age in seconds */ + uint32 FileSize; /**< \brief Current file size in bytes */ + uint32 FileGrowth; /**< \brief Current file growth in bytes (since HK) */ + uint32 FileRate; /**< \brief File growth rate in bytes (at last HK) */ + uint32 FileCount; /**< \brief Current file sequence count */ + uint16 FileState; /**< \brief Current file enable/disable state */ + uint16 Unused; /**< \brief Unused - structure padding */ + char FileName[DS_TOTAL_FNAME_BUFSIZE]; /**< \brief Current filename (path+base+seq+ext) */ } DS_AppFileStatus_t; - -/* +/* ** \brief DS global data structure definition */ typedef struct { - CFE_SB_PipeId_t InputPipe; /**< \brief Pipe Id for DS command pipe */ - - CFE_ES_CDSHandle_t DataStoreHandle; /**< \brief Critical Data Store (CDS) handle */ - - CFE_TBL_Handle_t FilterTblHandle; /**< \brief Packet filter table handle */ - CFE_TBL_Handle_t DestFileTblHandle; /**< \brief Destination file table handle */ - - DS_FilterTable_t *FilterTblPtr; /**< \brief Packet filter table data pointer */ - DS_DestFileTable_t *DestFileTblPtr; /**< \brief Destination file table data pointer */ - - uint8 CmdAcceptedCounter; /**< \brief Count of valid commands received */ - uint8 CmdRejectedCounter; /**< \brief Count of invalid commands received */ - uint8 DestTblLoadCounter; /**< \brief Count of destination file table loads */ - uint8 DestTblErrCounter; /**< \brief Count of failed attempts to get table data pointer */ - uint8 FilterTblLoadCounter; /**< \brief Count of packet filter table loads */ - uint8 FilterTblErrCounter; /**< \brief Count of failed attempts to get table data pointer */ - uint8 AppEnableState; /**< \brief Application enable/disable state */ - uint8 Spare8; /**< \brief Structure alignment padding */ - - uint16 FileWriteCounter; /**< \brief Count of good destination file writes */ - uint16 FileWriteErrCounter; /**< \brief Count of bad destination file writes */ - uint16 FileUpdateCounter; /**< \brief Count of good updates to secondary header */ - uint16 FileUpdateErrCounter; /**< \brief Count of bad updates to secondary header */ - - uint32 DisabledPktCounter; /**< \brief Count of packets discarded (DS app disabled) */ - uint32 IgnoredPktCounter; /**< \brief Count of packets discarded (pkt has no filter) */ - uint32 FilteredPktCounter; /**< \brief Count of packets discarded (failed filter test) */ - uint32 PassedPktCounter; /**< \brief Count of packets that passed filter test */ + CFE_SB_PipeId_t InputPipe; /**< \brief Pipe Id for DS command pipe */ + + CFE_ES_CDSHandle_t DataStoreHandle; /**< \brief Critical Data Store (CDS) handle */ + + CFE_TBL_Handle_t FilterTblHandle; /**< \brief Packet filter table handle */ + CFE_TBL_Handle_t DestFileTblHandle; /**< \brief Destination file table handle */ + + DS_FilterTable_t * FilterTblPtr; /**< \brief Packet filter table data pointer */ + DS_DestFileTable_t *DestFileTblPtr; /**< \brief Destination file table data pointer */ + + uint8 CmdAcceptedCounter; /**< \brief Count of valid commands received */ + uint8 CmdRejectedCounter; /**< \brief Count of invalid commands received */ + uint8 DestTblLoadCounter; /**< \brief Count of destination file table loads */ + uint8 DestTblErrCounter; /**< \brief Count of failed attempts to get table data pointer */ + uint8 FilterTblLoadCounter; /**< \brief Count of packet filter table loads */ + uint8 FilterTblErrCounter; /**< \brief Count of failed attempts to get table data pointer */ + uint8 AppEnableState; /**< \brief Application enable/disable state */ + uint8 Spare8; /**< \brief Structure alignment padding */ + + uint16 FileWriteCounter; /**< \brief Count of good destination file writes */ + uint16 FileWriteErrCounter; /**< \brief Count of bad destination file writes */ + uint16 FileUpdateCounter; /**< \brief Count of good updates to secondary header */ + uint16 FileUpdateErrCounter; /**< \brief Count of bad updates to secondary header */ + + uint32 DisabledPktCounter; /**< \brief Count of packets discarded (DS app disabled) */ + uint32 IgnoredPktCounter; /**< \brief Count of packets discarded (pkt has no filter) */ + uint32 FilteredPktCounter; /**< \brief Count of packets discarded (failed filter test) */ + uint32 PassedPktCounter; /**< \brief Count of packets that passed filter test */ DS_AppFileStatus_t FileStatus[DS_DEST_FILE_CNT]; /**< \brief Current state of destination files */ - DS_HashLink_t HashLinks[DS_PACKETS_IN_FILTER_TABLE]; /**< \brief Hash table linked list elements */ - DS_HashLink_t *HashTable[DS_HASH_TABLE_ENTRIES]; /**< \brief Each hash table entry is a linked list */ + DS_HashLink_t HashLinks[DS_PACKETS_IN_FILTER_TABLE]; /**< \brief Hash table linked list elements */ + DS_HashLink_t *HashTable[DS_HASH_TABLE_ENTRIES]; /**< \brief Each hash table entry is a linked list */ } DS_AppData_t; - -/* +/* ** \brief DS global data structure reference */ -extern DS_AppData_t DS_AppData; /**< \brief External reference to DS global data */ - +extern DS_AppData_t DS_AppData; /**< \brief External reference to DS global data */ /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ /* */ @@ -116,7 +122,7 @@ extern DS_AppData_t DS_AppData; /**< \brief External reference t /*******************************************************************/ /* \brief CFS Data Storage (DS) application entry point -** +** ** \par Description ** DS application entry point and main process loop. ** @@ -125,7 +131,6 @@ extern DS_AppData_t DS_AppData; /**< \brief External reference t **/ void DS_AppMain(void); - /*******************************************************************/ /* \brief Application initialization function ** @@ -152,12 +157,11 @@ void DS_AppMain(void); */ int32 DS_AppInitialize(void); - /*******************************************************************/ /* \brief Software Bus message handler -** +** ** \par Description -** Process packets received via Software Bus message pipe +** Process packets received via Software Bus message pipe ** - may call application housekeeping request command handler ** - may call 1Hz wakeup command handler (if enabled) ** - may call application ground command handler @@ -165,50 +169,47 @@ int32 DS_AppInitialize(void); ** ** \par Assumptions, External Events, and Notes: ** (none) -** -** \param [in] Software Bus message pointer (#CFE_SB_MsgPtr_t) +** +** \param [in] Software Bus message pointer (#CFE_SB_Buffer_t*) */ -void DS_AppProcessMsg(CFE_SB_MsgPtr_t MessagePtr); - +void DS_AppProcessMsg(const CFE_SB_Buffer_t *BufPtr); /*******************************************************************/ /* \brief Application ground command handler -** +** ** \par Description ** Call command code specific DS command handler function ** Generate command error event for unknown command codes ** ** \par Assumptions, External Events, and Notes: ** (none) -** -** \param [in] Software Bus message pointer (#CFE_SB_MsgPtr_t) +** +** \param [in] Software Bus message pointer (#CFE_SB_Buffer_t*) */ -void DS_AppProcessCmd(CFE_SB_MsgPtr_t MessagePtr); - +void DS_AppProcessCmd(const CFE_SB_Buffer_t *BufPtr); /* ** Process housekeeping request command... */ /*******************************************************************/ /* \brief Application housekeeping request command handler -** +** ** \par Description ** Check with cFE Table Services for table updates ** Generate application housekeeping telemetry packet ** ** \par Assumptions, External Events, and Notes: ** (none) -** -** \param [in] Software Bus message pointer (#CFE_SB_MsgPtr_t) +** +** \param [in] Software Bus message pointer (#CFE_SB_Buffer_t*) ** ** \sa #DS_HkPacket_t */ void DS_AppProcessHK(void); - /*******************************************************************/ /* \brief Application packet storage pre-processor -** +** ** \par Description ** This function verifies that DS storage is enabled and that ** both DS tables (filter and file) are loaded before calling @@ -216,13 +217,13 @@ void DS_AppProcessHK(void); ** ** \par Assumptions, External Events, and Notes: ** (none) -** +** ** \param [in] Message ID (extracted from message pointer) -** \param [in] Software Bus message pointer (#CFE_SB_MsgPtr_t) +** \param [in] Software Bus message pointer (#CFE_SB_Buffer_t*) ** -** \sa #CFE_SB_MsgPtr_t +** \sa #CFE_SB_Buffer_t* */ -void DS_AppStorePacket(CFE_SB_MsgId_t MessageID, CFE_SB_MsgPtr_t MessagePtr); +void DS_AppStorePacket(CFE_SB_MsgId_t MessageID, const CFE_SB_Buffer_t *BufPtr); #endif /* _ds_app_h_ */ diff --git a/fsw/src/ds_appdefs.h b/fsw/src/ds_appdefs.h index c16fd8d..e74ca69 100644 --- a/fsw/src/ds_appdefs.h +++ b/fsw/src/ds_appdefs.h @@ -1,24 +1,24 @@ /************************************************************************ -** File: ds_appdefs.h +** File: ds_appdefs.h ** -** NASA Docket No. GSC-18448-1, and identified as "cFS Data Storage (DS) -** application version 2.5.2” -** -** Copyright © 2019 United States Government as represented by the Administrator -** of the National Aeronautics and Space Administration. All Rights Reserved. +** NASA Docket No. GSC-18448-1, and identified as "cFS Data Storage (DS) +** application version 2.5.2” ** -** Licensed under the Apache License, Version 2.0 (the "License"); -** you may not use this file except in compliance with the License. -** You may obtain a copy of the License at -** http://www.apache.org/licenses/LICENSE-2.0 -** Unless required by applicable law or agreed to in writing, software -** distributed under the License is distributed on an "AS IS" BASIS, -** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -** See the License for the specific language governing permissions and -** limitations under the License. -** +** Copyright © 2019 United States Government as represented by the Administrator +** of the National Aeronautics and Space Administration. All Rights Reserved. ** -** Purpose: +** Licensed under the Apache License, Version 2.0 (the "License"); +** you may not use this file except in compliance with the License. +** You may obtain a copy of the License at +** http://www.apache.org/licenses/LICENSE-2.0 +** Unless required by applicable law or agreed to in writing, software +** distributed under the License is distributed on an "AS IS" BASIS, +** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +** See the License for the specific language governing permissions and +** limitations under the License. +** +** +** Purpose: ** The CFS Data Storage (DS) Application header file ** ** Notes: @@ -27,48 +27,44 @@ #ifndef _ds_appdefs_h_ #define _ds_appdefs_h_ - /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ /* */ /* DS common application macro definitions */ /* */ /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ +#define DS_UNUSED 0 /**< \brief Unused entries in DS tables */ -#define DS_UNUSED 0 /**< \brief Unused entries in DS tables */ +#define DS_DISABLED 0 /**< \brief Enable/disable state selection */ +#define DS_ENABLED 1 /**< \brief Enable/disable state selection */ -#define DS_DISABLED 0 /**< \brief Enable/disable state selection */ -#define DS_ENABLED 1 /**< \brief Enable/disable state selection */ +#define DS_CLOSED 0 /**< \brief File is closed */ +#define DS_OPEN 1 /**< \brief File is open */ -#define DS_CLOSED 0 /**< \brief File is closed */ -#define DS_OPEN 1 /**< \brief File is open */ +#define DS_BY_COUNT 1 /**< \brief Action is based on packet sequence count */ +#define DS_BY_TIME 2 /**< \brief Action is based on packet timestamp */ -#define DS_BY_COUNT 1 /**< \brief Action is based on packet sequence count */ -#define DS_BY_TIME 2 /**< \brief Action is based on packet timestamp */ +#define DS_STRING_REQUIRED true /**< \brief String text is required */ +#define DS_STRING_OPTIONAL false /**< \brief String text is optional */ -#define DS_STRING_REQUIRED true /**< \brief String text is required */ -#define DS_STRING_OPTIONAL false /**< \brief String text is optional */ +#define DS_FILENAME_TEXT true /**< \brief String text is part of a filename */ +#define DS_DESCRIPTIVE_TEXT false /**< \brief String text is not part of a filename */ -#define DS_FILENAME_TEXT true /**< \brief String text is part of a filename */ -#define DS_DESCRIPTIVE_TEXT false /**< \brief String text is not part of a filename */ +#define DS_INDEX_NONE -1 /**< \brief Packet filter table look-up = not found */ -#define DS_INDEX_NONE -1 /**< \brief Packet filter table look-up = not found */ +#define DS_PATH_SEPARATOR '/' /**< \brief File system path separator */ +#define DS_EMPTY_STRING "" /**< \brief Empty string buffer entries in DS tables */ +#define DS_STRING_TERMINATOR '\0' /**< \brief ASCIIZ string terminator character */ -#define DS_PATH_SEPARATOR '/' /**< \brief File system path separator */ -#define DS_EMPTY_STRING "" /**< \brief Empty string buffer entries in DS tables */ -#define DS_STRING_TERMINATOR '\0' /**< \brief ASCIIZ string terminator character */ +#define DS_TABLE_VERIFY_ERR 0xFFFFFFFF /**< \brief Table verification error return value */ -#define DS_TABLE_VERIFY_ERR 0xFFFFFFFF /**< \brief Table verification error return value */ +#define DS_CLOSED_FILE_HANDLE 0xFFFFFFFF /**< \brief File handle is closed */ -#define DS_CLOSED_FILE_HANDLE 0xFFFFFFFF /**< \brief File handle is closed */ - -#define DS_FILE_HEADER_NONE 0 /**< \brief File header type is NONE */ -#define DS_FILE_HEADER_CFE 1 /**< \brief File header type is CFE */ +#define DS_FILE_HEADER_NONE 0 /**< \brief File header type is NONE */ +#define DS_FILE_HEADER_CFE 1 /**< \brief File header type is CFE */ #endif /* _ds_appdefs_h_ */ - /************************/ /* End of File Comment */ /************************/ - diff --git a/fsw/src/ds_cmds.c b/fsw/src/ds_cmds.c index f8c70c2..c5b78c2 100644 --- a/fsw/src/ds_cmds.c +++ b/fsw/src/ds_cmds.c @@ -1,22 +1,22 @@ /************************************************************************ -** File: ds_cmds.c +** File: ds_cmds.c ** -** NASA Docket No. GSC-18448-1, and identified as "cFS Data Storage (DS) -** application version 2.5.2” -** -** Copyright © 2019 United States Government as represented by the Administrator -** of the National Aeronautics and Space Administration. All Rights Reserved. +** NASA Docket No. GSC-18448-1, and identified as "cFS Data Storage (DS) +** application version 2.5.2” +** +** Copyright © 2019 United States Government as represented by the Administrator +** of the National Aeronautics and Space Administration. All Rights Reserved. +** +** Licensed under the Apache License, Version 2.0 (the "License"); +** you may not use this file except in compliance with the License. +** You may obtain a copy of the License at +** http://www.apache.org/licenses/LICENSE-2.0 +** Unless required by applicable law or agreed to in writing, software +** distributed under the License is distributed on an "AS IS" BASIS, +** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +** See the License for the specific language governing permissions and +** limitations under the License. ** -** Licensed under the Apache License, Version 2.0 (the "License"); -** you may not use this file except in compliance with the License. -** You may obtain a copy of the License at -** http://www.apache.org/licenses/LICENSE-2.0 -** Unless required by applicable law or agreed to in writing, software -** distributed under the License is distributed on an "AS IS" BASIS, -** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -** See the License for the specific language governing permissions and -** limitations under the License. -** ** Purpose: ** CFS Data Storage (DS) command handler functions ** @@ -42,17 +42,18 @@ #include "string.h" - /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ /* */ /* DS_CmdNoop() - NOOP command */ /* */ /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ -void DS_CmdNoop(CFE_SB_MsgPtr_t MessagePtr) +void DS_CmdNoop(const CFE_SB_Buffer_t *BufPtr) { - uint16 ActualLength = CFE_SB_GetTotalMsgLength(MessagePtr); - uint16 ExpectedLength = sizeof(DS_NoopCmd_t); + size_t ActualLength = 0; + size_t ExpectedLength = sizeof(DS_NoopCmd_t); + + CFE_MSG_GetSize(&BufPtr->Msg, &ActualLength); if (ExpectedLength != ActualLength) { @@ -62,8 +63,8 @@ void DS_CmdNoop(CFE_SB_MsgPtr_t MessagePtr) DS_AppData.CmdRejectedCounter++; CFE_EVS_SendEvent(DS_NOOP_CMD_ERR_EID, CFE_EVS_EventType_ERROR, - "Invalid NOOP command length: expected = %d, actual = %d", - ExpectedLength, ActualLength); + "Invalid NOOP command length: expected = %d, actual = %d", (int)ExpectedLength, + (int)ActualLength); } else { @@ -72,8 +73,7 @@ void DS_CmdNoop(CFE_SB_MsgPtr_t MessagePtr) */ DS_AppData.CmdAcceptedCounter++; - CFE_EVS_SendEvent(DS_NOOP_CMD_EID, CFE_EVS_EventType_INFORMATION, - "NOOP command, Version %d.%d.%d.%d", + CFE_EVS_SendEvent(DS_NOOP_CMD_EID, CFE_EVS_EventType_INFORMATION, "NOOP command, Version %d.%d.%d.%d", DS_MAJOR_VERSION, DS_MINOR_VERSION, DS_REVISION, DS_MISSION_REV); } @@ -81,17 +81,18 @@ void DS_CmdNoop(CFE_SB_MsgPtr_t MessagePtr) } /* End of DS_CmdNoop() */ - /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ /* */ /* DS_CmdReset() - reset hk telemetry counters command */ /* */ /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ -void DS_CmdReset(CFE_SB_MsgPtr_t MessagePtr) +void DS_CmdReset(const CFE_SB_Buffer_t *BufPtr) { - uint16 ActualLength = CFE_SB_GetTotalMsgLength(MessagePtr); - uint16 ExpectedLength = sizeof(DS_ResetCmd_t); + size_t ActualLength = 0; + size_t ExpectedLength = sizeof(DS_ResetCmd_t); + + CFE_MSG_GetSize(&BufPtr->Msg, &ActualLength); if (ExpectedLength != ActualLength) { @@ -101,8 +102,8 @@ void DS_CmdReset(CFE_SB_MsgPtr_t MessagePtr) DS_AppData.CmdRejectedCounter++; CFE_EVS_SendEvent(DS_RESET_CMD_ERR_EID, CFE_EVS_EventType_ERROR, - "Invalid RESET command length: expected = %d, actual = %d", - ExpectedLength, ActualLength); + "Invalid RESET command length: expected = %d, actual = %d", (int)ExpectedLength, + (int)ActualLength); } else { @@ -143,18 +144,19 @@ void DS_CmdReset(CFE_SB_MsgPtr_t MessagePtr) } /* End of DS_CmdReset() */ - /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ /* */ /* DS_CmdSetAppState() - set application ena/dis state */ /* */ /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ -void DS_CmdSetAppState(CFE_SB_MsgPtr_t MessagePtr) +void DS_CmdSetAppState(const CFE_SB_Buffer_t *BufPtr) { - DS_AppStateCmd_t *DS_AppStateCmd = (DS_AppStateCmd_t *) MessagePtr; - uint16 ActualLength = CFE_SB_GetTotalMsgLength(MessagePtr); - uint16 ExpectedLength = sizeof(DS_AppStateCmd_t); + DS_AppStateCmd_t *DS_AppStateCmd = (DS_AppStateCmd_t *)BufPtr; + size_t ActualLength = 0; + size_t ExpectedLength = sizeof(DS_AppStateCmd_t); + + CFE_MSG_GetSize(&BufPtr->Msg, &ActualLength); if (ExpectedLength != ActualLength) { @@ -164,8 +166,8 @@ void DS_CmdSetAppState(CFE_SB_MsgPtr_t MessagePtr) DS_AppData.CmdRejectedCounter++; CFE_EVS_SendEvent(DS_ENADIS_CMD_ERR_EID, CFE_EVS_EventType_ERROR, - "Invalid APP STATE command length: expected = %d, actual = %d", - ExpectedLength, ActualLength); + "Invalid APP STATE command length: expected = %d, actual = %d", (int)ExpectedLength, + (int)ActualLength); } else if (DS_TableVerifyState(DS_AppStateCmd->EnableState) == false) { @@ -175,8 +177,7 @@ void DS_CmdSetAppState(CFE_SB_MsgPtr_t MessagePtr) DS_AppData.CmdRejectedCounter++; CFE_EVS_SendEvent(DS_ENADIS_CMD_ERR_EID, CFE_EVS_EventType_ERROR, - "Invalid APP STATE command arg: app state = %d", - DS_AppStateCmd->EnableState); + "Invalid APP STATE command arg: app state = %d", DS_AppStateCmd->EnableState); } else { @@ -192,8 +193,7 @@ void DS_CmdSetAppState(CFE_SB_MsgPtr_t MessagePtr) DS_AppData.CmdAcceptedCounter++; - CFE_EVS_SendEvent(DS_ENADIS_CMD_EID, CFE_EVS_EventType_DEBUG, - "APP STATE command: state = %d", + CFE_EVS_SendEvent(DS_ENADIS_CMD_EID, CFE_EVS_EventType_DEBUG, "APP STATE command: state = %d", DS_AppStateCmd->EnableState); } @@ -201,21 +201,22 @@ void DS_CmdSetAppState(CFE_SB_MsgPtr_t MessagePtr) } /* End of DS_CmdSetAppState() */ - /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ /* */ /* DS_CmdSetFilterFile() - set packet filter file index */ /* */ /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ -void DS_CmdSetFilterFile(CFE_SB_MsgPtr_t MessagePtr) +void DS_CmdSetFilterFile(const CFE_SB_Buffer_t *BufPtr) { - DS_FilterFileCmd_t *DS_FilterFileCmd = (DS_FilterFileCmd_t *) MessagePtr; - uint16 ActualLength = CFE_SB_GetTotalMsgLength(MessagePtr); - uint16 ExpectedLength = sizeof(DS_FilterFileCmd_t); - DS_PacketEntry_t *pPacketEntry = NULL; - DS_FilterParms_t *pFilterParms = NULL; - int32 FilterTableIndex = 0; + DS_FilterFileCmd_t *DS_FilterFileCmd = (DS_FilterFileCmd_t *)BufPtr; + size_t ActualLength = 0; + size_t ExpectedLength = sizeof(DS_FilterFileCmd_t); + DS_PacketEntry_t * pPacketEntry = NULL; + DS_FilterParms_t * pFilterParms = NULL; + int32 FilterTableIndex = 0; + + CFE_MSG_GetSize(&BufPtr->Msg, &ActualLength); if (ExpectedLength != ActualLength) { @@ -225,8 +226,8 @@ void DS_CmdSetFilterFile(CFE_SB_MsgPtr_t MessagePtr) DS_AppData.CmdRejectedCounter++; CFE_EVS_SendEvent(DS_FILE_CMD_ERR_EID, CFE_EVS_EventType_ERROR, - "Invalid FILTER FILE command length: expected = %d, actual = %d", - ExpectedLength, ActualLength); + "Invalid FILTER FILE command length: expected = %d, actual = %d", (int)ExpectedLength, + (int)ActualLength); } else if (DS_FilterFileCmd->MessageID == DS_UNUSED) { @@ -236,8 +237,7 @@ void DS_CmdSetFilterFile(CFE_SB_MsgPtr_t MessagePtr) DS_AppData.CmdRejectedCounter++; CFE_EVS_SendEvent(DS_FILE_CMD_ERR_EID, CFE_EVS_EventType_ERROR, - "Invalid FILTER FILE command arg: invalid messageID = 0x%4X", - DS_FilterFileCmd->MessageID); + "Invalid FILTER FILE command arg: invalid messageID = 0x%08X", DS_FilterFileCmd->MessageID); } else if (DS_FilterFileCmd->FilterParmsIndex >= DS_FILTERS_PER_PACKET) { @@ -247,7 +247,7 @@ void DS_CmdSetFilterFile(CFE_SB_MsgPtr_t MessagePtr) DS_AppData.CmdRejectedCounter++; CFE_EVS_SendEvent(DS_FILE_CMD_ERR_EID, CFE_EVS_EventType_ERROR, - "Invalid FILTER FILE command arg: filter parameters index = %d", + "Invalid FILTER FILE command arg: filter parameters index = %d", DS_FilterFileCmd->FilterParmsIndex); } else if (DS_TableVerifyFileIndex(DS_FilterFileCmd->FileTableIndex) == false) @@ -258,10 +258,9 @@ void DS_CmdSetFilterFile(CFE_SB_MsgPtr_t MessagePtr) DS_AppData.CmdRejectedCounter++; CFE_EVS_SendEvent(DS_FILE_CMD_ERR_EID, CFE_EVS_EventType_ERROR, - "Invalid FILTER FILE command arg: file table index = %d", - DS_FilterFileCmd->FileTableIndex); + "Invalid FILTER FILE command arg: file table index = %d", DS_FilterFileCmd->FileTableIndex); } - else if (DS_AppData.FilterTblPtr == (DS_FilterTable_t *) NULL) + else if (DS_AppData.FilterTblPtr == (DS_FilterTable_t *)NULL) { /* ** Must have a valid packet filter table loaded... @@ -269,7 +268,7 @@ void DS_CmdSetFilterFile(CFE_SB_MsgPtr_t MessagePtr) DS_AppData.CmdRejectedCounter++; CFE_EVS_SendEvent(DS_FILE_CMD_ERR_EID, CFE_EVS_EventType_ERROR, - "Invalid FILTER FILE command: packet filter table is not loaded"); + "Invalid FILTER FILE command: packet filter table is not loaded"); } else { @@ -286,7 +285,7 @@ void DS_CmdSetFilterFile(CFE_SB_MsgPtr_t MessagePtr) DS_AppData.CmdRejectedCounter++; CFE_EVS_SendEvent(DS_FILE_CMD_ERR_EID, CFE_EVS_EventType_ERROR, - "Invalid FILTER FILE command: Message ID 0x%04X is not in filter table", + "Invalid FILTER FILE command: Message ID 0x%08X is not in filter table", DS_FilterFileCmd->MessageID); } else @@ -307,9 +306,8 @@ void DS_CmdSetFilterFile(CFE_SB_MsgPtr_t MessagePtr) DS_AppData.CmdAcceptedCounter++; CFE_EVS_SendEvent(DS_FILE_CMD_EID, CFE_EVS_EventType_DEBUG, - "FILTER FILE command: MID = 0x%04X, index = %d, filter = %d, file = %d", - DS_FilterFileCmd->MessageID, (int)FilterTableIndex, - DS_FilterFileCmd->FilterParmsIndex, + "FILTER FILE command: MID = 0x%08X, index = %d, filter = %d, file = %d", + DS_FilterFileCmd->MessageID, (int)FilterTableIndex, DS_FilterFileCmd->FilterParmsIndex, DS_FilterFileCmd->FileTableIndex); } } @@ -318,21 +316,22 @@ void DS_CmdSetFilterFile(CFE_SB_MsgPtr_t MessagePtr) } /* End of DS_CmdSetFilterFile() */ - /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ /* */ /* DS_CmdSetFilterType() - set pkt filter filename type */ /* */ /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ -void DS_CmdSetFilterType(CFE_SB_MsgPtr_t MessagePtr) +void DS_CmdSetFilterType(const CFE_SB_Buffer_t *BufPtr) { - DS_FilterTypeCmd_t *DS_FilterTypeCmd = (DS_FilterTypeCmd_t *) MessagePtr; - uint16 ActualLength = CFE_SB_GetTotalMsgLength(MessagePtr); - uint16 ExpectedLength = sizeof(DS_FilterTypeCmd_t); - DS_PacketEntry_t *pPacketEntry = NULL; - DS_FilterParms_t *pFilterParms = NULL; - int32 FilterTableIndex = 0; + DS_FilterTypeCmd_t *DS_FilterTypeCmd = (DS_FilterTypeCmd_t *)BufPtr; + size_t ActualLength = 0; + size_t ExpectedLength = sizeof(DS_FilterTypeCmd_t); + DS_PacketEntry_t * pPacketEntry = NULL; + DS_FilterParms_t * pFilterParms = NULL; + int32 FilterTableIndex = 0; + + CFE_MSG_GetSize(&BufPtr->Msg, &ActualLength); if (ExpectedLength != ActualLength) { @@ -342,8 +341,8 @@ void DS_CmdSetFilterType(CFE_SB_MsgPtr_t MessagePtr) DS_AppData.CmdRejectedCounter++; CFE_EVS_SendEvent(DS_FTYPE_CMD_ERR_EID, CFE_EVS_EventType_ERROR, - "Invalid FILTER TYPE command length: expected = %d, actual = %d", - ExpectedLength, ActualLength); + "Invalid FILTER TYPE command length: expected = %d, actual = %d", (int)ExpectedLength, + (int)ActualLength); } else if (DS_FilterTypeCmd->MessageID == DS_UNUSED) { @@ -353,8 +352,7 @@ void DS_CmdSetFilterType(CFE_SB_MsgPtr_t MessagePtr) DS_AppData.CmdRejectedCounter++; CFE_EVS_SendEvent(DS_FTYPE_CMD_ERR_EID, CFE_EVS_EventType_ERROR, - "Invalid FILTER TYPE command arg: invalid messageID = 0x%04X", - DS_FilterTypeCmd->MessageID); + "Invalid FILTER TYPE command arg: invalid messageID = 0x%08X", DS_FilterTypeCmd->MessageID); } else if (DS_FilterTypeCmd->FilterParmsIndex >= DS_FILTERS_PER_PACKET) { @@ -364,7 +362,7 @@ void DS_CmdSetFilterType(CFE_SB_MsgPtr_t MessagePtr) DS_AppData.CmdRejectedCounter++; CFE_EVS_SendEvent(DS_FTYPE_CMD_ERR_EID, CFE_EVS_EventType_ERROR, - "Invalid FILTER TYPE command arg: filter parameters index = %d", + "Invalid FILTER TYPE command arg: filter parameters index = %d", DS_FilterTypeCmd->FilterParmsIndex); } else if (DS_TableVerifyType(DS_FilterTypeCmd->FilterType) == false) @@ -375,10 +373,9 @@ void DS_CmdSetFilterType(CFE_SB_MsgPtr_t MessagePtr) DS_AppData.CmdRejectedCounter++; CFE_EVS_SendEvent(DS_FTYPE_CMD_ERR_EID, CFE_EVS_EventType_ERROR, - "Invalid FILTER TYPE command arg: filter type = %d", - DS_FilterTypeCmd->FilterType); + "Invalid FILTER TYPE command arg: filter type = %d", DS_FilterTypeCmd->FilterType); } - else if (DS_AppData.FilterTblPtr == (DS_FilterTable_t *) NULL) + else if (DS_AppData.FilterTblPtr == (DS_FilterTable_t *)NULL) { /* ** Must have a valid packet filter table loaded... @@ -386,7 +383,7 @@ void DS_CmdSetFilterType(CFE_SB_MsgPtr_t MessagePtr) DS_AppData.CmdRejectedCounter++; CFE_EVS_SendEvent(DS_FTYPE_CMD_ERR_EID, CFE_EVS_EventType_ERROR, - "Invalid FILTER TYPE command: packet filter table is not loaded"); + "Invalid FILTER TYPE command: packet filter table is not loaded"); } else { @@ -403,7 +400,7 @@ void DS_CmdSetFilterType(CFE_SB_MsgPtr_t MessagePtr) DS_AppData.CmdRejectedCounter++; CFE_EVS_SendEvent(DS_FTYPE_CMD_ERR_EID, CFE_EVS_EventType_ERROR, - "Invalid FILTER TYPE command: Message ID 0x%04X is not in filter table", + "Invalid FILTER TYPE command: Message ID 0x%08X is not in filter table", DS_FilterTypeCmd->MessageID); } else @@ -424,9 +421,8 @@ void DS_CmdSetFilterType(CFE_SB_MsgPtr_t MessagePtr) DS_AppData.CmdAcceptedCounter++; CFE_EVS_SendEvent(DS_FTYPE_CMD_EID, CFE_EVS_EventType_DEBUG, - "FILTER TYPE command: MID = 0x%04X, index = %d, filter = %d, type = %d", - DS_FilterTypeCmd->MessageID, (int)FilterTableIndex, - DS_FilterTypeCmd->FilterParmsIndex, + "FILTER TYPE command: MID = 0x%08X, index = %d, filter = %d, type = %d", + DS_FilterTypeCmd->MessageID, (int)FilterTableIndex, DS_FilterTypeCmd->FilterParmsIndex, DS_FilterTypeCmd->FilterType); } } @@ -435,21 +431,22 @@ void DS_CmdSetFilterType(CFE_SB_MsgPtr_t MessagePtr) } /* End of DS_CmdSetFilterType() */ - /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ /* */ /* DS_CmdSetFilterParms() - set packet filter parameters */ /* */ /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ -void DS_CmdSetFilterParms(CFE_SB_MsgPtr_t MessagePtr) +void DS_CmdSetFilterParms(const CFE_SB_Buffer_t *BufPtr) { - DS_FilterParmsCmd_t *DS_FilterParmsCmd = (DS_FilterParmsCmd_t *) MessagePtr; - uint16 ActualLength = CFE_SB_GetTotalMsgLength(MessagePtr); - uint16 ExpectedLength = sizeof(DS_FilterParmsCmd_t); - DS_PacketEntry_t *pPacketEntry = NULL; - DS_FilterParms_t *pFilterParms = NULL; - int32 FilterTableIndex = 0; + DS_FilterParmsCmd_t *DS_FilterParmsCmd = (DS_FilterParmsCmd_t *)BufPtr; + size_t ActualLength = 0; + size_t ExpectedLength = sizeof(DS_FilterParmsCmd_t); + DS_PacketEntry_t * pPacketEntry = NULL; + DS_FilterParms_t * pFilterParms = NULL; + int32 FilterTableIndex = 0; + + CFE_MSG_GetSize(&BufPtr->Msg, &ActualLength); if (ExpectedLength != ActualLength) { @@ -459,8 +456,8 @@ void DS_CmdSetFilterParms(CFE_SB_MsgPtr_t MessagePtr) DS_AppData.CmdRejectedCounter++; CFE_EVS_SendEvent(DS_PARMS_CMD_ERR_EID, CFE_EVS_EventType_ERROR, - "Invalid FILTER PARMS command length: expected = %d, actual = %d", - ExpectedLength, ActualLength); + "Invalid FILTER PARMS command length: expected = %d, actual = %d", (int)ExpectedLength, + (int)ActualLength); } else if (DS_FilterParmsCmd->MessageID == DS_UNUSED) { @@ -470,8 +467,7 @@ void DS_CmdSetFilterParms(CFE_SB_MsgPtr_t MessagePtr) DS_AppData.CmdRejectedCounter++; CFE_EVS_SendEvent(DS_PARMS_CMD_ERR_EID, CFE_EVS_EventType_ERROR, - "Invalid FILTER PARMS command arg: invalid messageID = 0x%04X", - DS_FilterParmsCmd->MessageID); + "Invalid FILTER PARMS command arg: invalid messageID = 0x%08X", DS_FilterParmsCmd->MessageID); } else if (DS_FilterParmsCmd->FilterParmsIndex >= DS_FILTERS_PER_PACKET) { @@ -481,11 +477,10 @@ void DS_CmdSetFilterParms(CFE_SB_MsgPtr_t MessagePtr) DS_AppData.CmdRejectedCounter++; CFE_EVS_SendEvent(DS_PARMS_CMD_ERR_EID, CFE_EVS_EventType_ERROR, - "Invalid FILTER PARMS command arg: filter parameters index = %d", + "Invalid FILTER PARMS command arg: filter parameters index = %d", DS_FilterParmsCmd->FilterParmsIndex); } - else if (DS_TableVerifyParms(DS_FilterParmsCmd->Algorithm_N, - DS_FilterParmsCmd->Algorithm_X, + else if (DS_TableVerifyParms(DS_FilterParmsCmd->Algorithm_N, DS_FilterParmsCmd->Algorithm_X, DS_FilterParmsCmd->Algorithm_O) == false) { /* @@ -494,12 +489,10 @@ void DS_CmdSetFilterParms(CFE_SB_MsgPtr_t MessagePtr) DS_AppData.CmdRejectedCounter++; CFE_EVS_SendEvent(DS_PARMS_CMD_ERR_EID, CFE_EVS_EventType_ERROR, - "Invalid FILTER PARMS command arg: N = %d, X = %d, O = %d", - DS_FilterParmsCmd->Algorithm_N, - DS_FilterParmsCmd->Algorithm_X, - DS_FilterParmsCmd->Algorithm_O); + "Invalid FILTER PARMS command arg: N = %d, X = %d, O = %d", DS_FilterParmsCmd->Algorithm_N, + DS_FilterParmsCmd->Algorithm_X, DS_FilterParmsCmd->Algorithm_O); } - else if (DS_AppData.FilterTblPtr == (DS_FilterTable_t *) NULL) + else if (DS_AppData.FilterTblPtr == (DS_FilterTable_t *)NULL) { /* ** Must have a valid packet filter table loaded... @@ -507,7 +500,7 @@ void DS_CmdSetFilterParms(CFE_SB_MsgPtr_t MessagePtr) DS_AppData.CmdRejectedCounter++; CFE_EVS_SendEvent(DS_PARMS_CMD_ERR_EID, CFE_EVS_EventType_ERROR, - "Invalid FILTER PARMS command: packet filter table is not loaded"); + "Invalid FILTER PARMS command: packet filter table is not loaded"); } else { @@ -524,7 +517,7 @@ void DS_CmdSetFilterParms(CFE_SB_MsgPtr_t MessagePtr) DS_AppData.CmdRejectedCounter++; CFE_EVS_SendEvent(DS_PARMS_CMD_ERR_EID, CFE_EVS_EventType_ERROR, - "Invalid FILTER PARMS command: Message ID 0x%04X is not in filter table", + "Invalid FILTER PARMS command: Message ID 0x%08X is not in filter table", DS_FilterParmsCmd->MessageID); } else @@ -547,7 +540,7 @@ void DS_CmdSetFilterParms(CFE_SB_MsgPtr_t MessagePtr) DS_AppData.CmdAcceptedCounter++; CFE_EVS_SendEvent(DS_PARMS_CMD_EID, CFE_EVS_EventType_DEBUG, - "FILTER PARMS command: MID = 0x%04X, index = %d, filter = %d, N = %d, X = %d, O = %d", + "FILTER PARMS command: MID = 0x%08X, index = %d, filter = %d, N = %d, X = %d, O = %d", DS_FilterParmsCmd->MessageID, (int)FilterTableIndex, DS_FilterParmsCmd->FilterParmsIndex, pFilterParms->Algorithm_N, pFilterParms->Algorithm_X, pFilterParms->Algorithm_O); } @@ -557,19 +550,20 @@ void DS_CmdSetFilterParms(CFE_SB_MsgPtr_t MessagePtr) } /* End of DS_CmdSetFilterParms() */ - /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ /* */ /* DS_CmdSetDestType() - set destination filename type */ /* */ /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ -void DS_CmdSetDestType(CFE_SB_MsgPtr_t MessagePtr) +void DS_CmdSetDestType(const CFE_SB_Buffer_t *BufPtr) { - DS_DestTypeCmd_t *DS_DestTypeCmd = (DS_DestTypeCmd_t *) MessagePtr; - uint16 ActualLength = CFE_SB_GetTotalMsgLength(MessagePtr); - uint16 ExpectedLength = sizeof(DS_DestTypeCmd_t); - DS_DestFileEntry_t *pDest = NULL; + DS_DestTypeCmd_t * DS_DestTypeCmd = (DS_DestTypeCmd_t *)BufPtr; + size_t ActualLength = 0; + size_t ExpectedLength = sizeof(DS_DestTypeCmd_t); + DS_DestFileEntry_t *pDest = NULL; + + CFE_MSG_GetSize(&BufPtr->Msg, &ActualLength); if (ExpectedLength != ActualLength) { @@ -579,8 +573,8 @@ void DS_CmdSetDestType(CFE_SB_MsgPtr_t MessagePtr) DS_AppData.CmdRejectedCounter++; CFE_EVS_SendEvent(DS_NTYPE_CMD_ERR_EID, CFE_EVS_EventType_ERROR, - "Invalid DEST TYPE command length: expected = %d, actual = %d", - ExpectedLength, ActualLength); + "Invalid DEST TYPE command length: expected = %d, actual = %d", (int)ExpectedLength, + (int)ActualLength); } else if (DS_TableVerifyFileIndex(DS_DestTypeCmd->FileTableIndex) == false) { @@ -590,8 +584,7 @@ void DS_CmdSetDestType(CFE_SB_MsgPtr_t MessagePtr) DS_AppData.CmdRejectedCounter++; CFE_EVS_SendEvent(DS_NTYPE_CMD_ERR_EID, CFE_EVS_EventType_ERROR, - "Invalid DEST TYPE command arg: file table index = %d", - DS_DestTypeCmd->FileTableIndex); + "Invalid DEST TYPE command arg: file table index = %d", DS_DestTypeCmd->FileTableIndex); } else if (DS_TableVerifyType(DS_DestTypeCmd->FileNameType) == false) { @@ -601,10 +594,9 @@ void DS_CmdSetDestType(CFE_SB_MsgPtr_t MessagePtr) DS_AppData.CmdRejectedCounter++; CFE_EVS_SendEvent(DS_NTYPE_CMD_ERR_EID, CFE_EVS_EventType_ERROR, - "Invalid DEST TYPE command arg: filename type = %d", - DS_DestTypeCmd->FileNameType); + "Invalid DEST TYPE command arg: filename type = %d", DS_DestTypeCmd->FileNameType); } - else if (DS_AppData.DestFileTblPtr == (DS_DestFileTable_t *) NULL) + else if (DS_AppData.DestFileTblPtr == (DS_DestFileTable_t *)NULL) { /* ** Must have a valid destination file table loaded... @@ -612,14 +604,14 @@ void DS_CmdSetDestType(CFE_SB_MsgPtr_t MessagePtr) DS_AppData.CmdRejectedCounter++; CFE_EVS_SendEvent(DS_NTYPE_CMD_ERR_EID, CFE_EVS_EventType_ERROR, - "Invalid DEST TYPE command: destination file table is not loaded"); + "Invalid DEST TYPE command: destination file table is not loaded"); } else { /* ** Set new destination table filename type... */ - pDest = &DS_AppData.DestFileTblPtr->File[DS_DestTypeCmd->FileTableIndex]; + pDest = &DS_AppData.DestFileTblPtr->File[DS_DestTypeCmd->FileTableIndex]; pDest->FileNameType = DS_DestTypeCmd->FileNameType; /* @@ -630,7 +622,7 @@ void DS_CmdSetDestType(CFE_SB_MsgPtr_t MessagePtr) DS_AppData.CmdAcceptedCounter++; CFE_EVS_SendEvent(DS_NTYPE_CMD_EID, CFE_EVS_EventType_DEBUG, - "DEST TYPE command: file table index = %d, filename type = %d", + "DEST TYPE command: file table index = %d, filename type = %d", DS_DestTypeCmd->FileTableIndex, DS_DestTypeCmd->FileNameType); } @@ -638,18 +630,19 @@ void DS_CmdSetDestType(CFE_SB_MsgPtr_t MessagePtr) } /* End of DS_CmdSetDestType() */ - /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ /* */ /* DS_CmdSetDestState() - set dest file ena/dis state */ /* */ /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ -void DS_CmdSetDestState(CFE_SB_MsgPtr_t MessagePtr) +void DS_CmdSetDestState(const CFE_SB_Buffer_t *BufPtr) { - DS_DestStateCmd_t *DS_DestStateCmd = (DS_DestStateCmd_t *) MessagePtr; - uint16 ActualLength = CFE_SB_GetTotalMsgLength(MessagePtr); - uint16 ExpectedLength = sizeof(DS_DestStateCmd_t); + DS_DestStateCmd_t *DS_DestStateCmd = (DS_DestStateCmd_t *)BufPtr; + size_t ActualLength = 0; + size_t ExpectedLength = sizeof(DS_DestStateCmd_t); + + CFE_MSG_GetSize(&BufPtr->Msg, &ActualLength); if (ExpectedLength != ActualLength) { @@ -659,8 +652,8 @@ void DS_CmdSetDestState(CFE_SB_MsgPtr_t MessagePtr) DS_AppData.CmdRejectedCounter++; CFE_EVS_SendEvent(DS_STATE_CMD_ERR_EID, CFE_EVS_EventType_ERROR, - "Invalid DEST STATE command length: expected = %d, actual = %d", - ExpectedLength, ActualLength); + "Invalid DEST STATE command length: expected = %d, actual = %d", (int)ExpectedLength, + (int)ActualLength); } else if (DS_TableVerifyFileIndex(DS_DestStateCmd->FileTableIndex) == false) { @@ -670,8 +663,7 @@ void DS_CmdSetDestState(CFE_SB_MsgPtr_t MessagePtr) DS_AppData.CmdRejectedCounter++; CFE_EVS_SendEvent(DS_STATE_CMD_ERR_EID, CFE_EVS_EventType_ERROR, - "Invalid DEST STATE command arg: file table index = %d", - DS_DestStateCmd->FileTableIndex); + "Invalid DEST STATE command arg: file table index = %d", DS_DestStateCmd->FileTableIndex); } else if (DS_TableVerifyState(DS_DestStateCmd->EnableState) == false) { @@ -681,10 +673,9 @@ void DS_CmdSetDestState(CFE_SB_MsgPtr_t MessagePtr) DS_AppData.CmdRejectedCounter++; CFE_EVS_SendEvent(DS_STATE_CMD_ERR_EID, CFE_EVS_EventType_ERROR, - "Invalid DEST STATE command arg: file state = %d", - DS_DestStateCmd->EnableState); + "Invalid DEST STATE command arg: file state = %d", DS_DestStateCmd->EnableState); } - else if (DS_AppData.DestFileTblPtr == (DS_DestFileTable_t *) NULL) + else if (DS_AppData.DestFileTblPtr == (DS_DestFileTable_t *)NULL) { /* ** Must have a valid destination file table loaded... @@ -692,7 +683,7 @@ void DS_CmdSetDestState(CFE_SB_MsgPtr_t MessagePtr) DS_AppData.CmdRejectedCounter++; CFE_EVS_SendEvent(DS_STATE_CMD_ERR_EID, CFE_EVS_EventType_ERROR, - "Invalid DEST STATE command: destination file table is not loaded"); + "Invalid DEST STATE command: destination file table is not loaded"); } else { @@ -700,7 +691,7 @@ void DS_CmdSetDestState(CFE_SB_MsgPtr_t MessagePtr) ** Set new destination table file state in table and in current status... */ DS_AppData.DestFileTblPtr->File[DS_DestStateCmd->FileTableIndex].EnableState = DS_DestStateCmd->EnableState; - DS_AppData.FileStatus[DS_DestStateCmd->FileTableIndex].FileState = DS_DestStateCmd->EnableState; + DS_AppData.FileStatus[DS_DestStateCmd->FileTableIndex].FileState = DS_DestStateCmd->EnableState; /* ** Notify cFE that we have modified the table data... @@ -710,27 +701,28 @@ void DS_CmdSetDestState(CFE_SB_MsgPtr_t MessagePtr) DS_AppData.CmdAcceptedCounter++; CFE_EVS_SendEvent(DS_STATE_CMD_EID, CFE_EVS_EventType_DEBUG, - "DEST STATE command: file table index = %d, file state = %d", - DS_DestStateCmd->FileTableIndex, DS_DestStateCmd->EnableState); + "DEST STATE command: file table index = %d, file state = %d", DS_DestStateCmd->FileTableIndex, + DS_DestStateCmd->EnableState); } return; } /* End of DS_CmdSetDestState() */ - /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ /* */ /* DS_CmdSetDestPath() - set path portion of filename */ /* */ /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ -void DS_CmdSetDestPath(CFE_SB_MsgPtr_t MessagePtr) +void DS_CmdSetDestPath(const CFE_SB_Buffer_t *BufPtr) { - DS_DestPathCmd_t *DS_DestPathCmd = (DS_DestPathCmd_t *) MessagePtr; - uint16 ActualLength = CFE_SB_GetTotalMsgLength(MessagePtr); - uint16 ExpectedLength = sizeof(DS_DestPathCmd_t); - DS_DestFileEntry_t *pDest = NULL; + DS_DestPathCmd_t * DS_DestPathCmd = (DS_DestPathCmd_t *)BufPtr; + size_t ActualLength = 0; + size_t ExpectedLength = sizeof(DS_DestPathCmd_t); + DS_DestFileEntry_t *pDest = NULL; + + CFE_MSG_GetSize(&BufPtr->Msg, &ActualLength); if (ExpectedLength != ActualLength) { @@ -740,8 +732,8 @@ void DS_CmdSetDestPath(CFE_SB_MsgPtr_t MessagePtr) DS_AppData.CmdRejectedCounter++; CFE_EVS_SendEvent(DS_PATH_CMD_ERR_EID, CFE_EVS_EventType_ERROR, - "Invalid DEST PATH command length: expected = %d, actual = %d", - ExpectedLength, ActualLength); + "Invalid DEST PATH command length: expected = %d, actual = %d", (int)ExpectedLength, + (int)ActualLength); } else if (DS_TableVerifyFileIndex(DS_DestPathCmd->FileTableIndex) == false) { @@ -751,21 +743,19 @@ void DS_CmdSetDestPath(CFE_SB_MsgPtr_t MessagePtr) DS_AppData.CmdRejectedCounter++; CFE_EVS_SendEvent(DS_PATH_CMD_ERR_EID, CFE_EVS_EventType_ERROR, - "Invalid DEST PATH command arg: file table index = %d", - (int)DS_DestPathCmd->FileTableIndex); + "Invalid DEST PATH command arg: file table index = %d", (int)DS_DestPathCmd->FileTableIndex); } - else if (CFS_VerifyString(DS_DestPathCmd->Pathname, DS_PATHNAME_BUFSIZE, - DS_STRING_REQUIRED, DS_FILENAME_TEXT) == false) + else if (CFS_VerifyString(DS_DestPathCmd->Pathname, DS_PATHNAME_BUFSIZE, DS_STRING_REQUIRED, DS_FILENAME_TEXT) == + false) { /* ** Invalid destination pathname... */ DS_AppData.CmdRejectedCounter++; - CFE_EVS_SendEvent(DS_PATH_CMD_ERR_EID, CFE_EVS_EventType_ERROR, - "Invalid DEST PATH command arg: pathname"); + CFE_EVS_SendEvent(DS_PATH_CMD_ERR_EID, CFE_EVS_EventType_ERROR, "Invalid DEST PATH command arg: pathname"); } - else if (DS_AppData.DestFileTblPtr == (DS_DestFileTable_t *) NULL) + else if (DS_AppData.DestFileTblPtr == (DS_DestFileTable_t *)NULL) { /* ** Must have a valid destination file table loaded... @@ -773,7 +763,7 @@ void DS_CmdSetDestPath(CFE_SB_MsgPtr_t MessagePtr) DS_AppData.CmdRejectedCounter++; CFE_EVS_SendEvent(DS_PATH_CMD_ERR_EID, CFE_EVS_EventType_ERROR, - "Invalid DEST PATH command: destination file table is not loaded"); + "Invalid DEST PATH command: destination file table is not loaded"); } else { @@ -791,7 +781,7 @@ void DS_CmdSetDestPath(CFE_SB_MsgPtr_t MessagePtr) DS_AppData.CmdAcceptedCounter++; CFE_EVS_SendEvent(DS_PATH_CMD_EID, CFE_EVS_EventType_DEBUG, - "DEST PATH command: file table index = %d, pathname = '%s'", + "DEST PATH command: file table index = %d, pathname = '%s'", (int)DS_DestPathCmd->FileTableIndex, DS_DestPathCmd->Pathname); } @@ -799,19 +789,20 @@ void DS_CmdSetDestPath(CFE_SB_MsgPtr_t MessagePtr) } /* End of DS_CmdSetDestPath() */ - /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ /* */ /* DS_CmdSetDestBase() - set base portion of filename */ /* */ /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ -void DS_CmdSetDestBase(CFE_SB_MsgPtr_t MessagePtr) +void DS_CmdSetDestBase(const CFE_SB_Buffer_t *BufPtr) { - DS_DestBaseCmd_t *DS_DestBaseCmd = (DS_DestBaseCmd_t *) MessagePtr; - uint16 ActualLength = CFE_SB_GetTotalMsgLength(MessagePtr); - uint16 ExpectedLength = sizeof(DS_DestBaseCmd_t); - DS_DestFileEntry_t *pDest = NULL; + DS_DestBaseCmd_t * DS_DestBaseCmd = (DS_DestBaseCmd_t *)BufPtr; + size_t ActualLength = 0; + size_t ExpectedLength = sizeof(DS_DestBaseCmd_t); + DS_DestFileEntry_t *pDest = NULL; + + CFE_MSG_GetSize(&BufPtr->Msg, &ActualLength); if (ExpectedLength != ActualLength) { @@ -821,8 +812,8 @@ void DS_CmdSetDestBase(CFE_SB_MsgPtr_t MessagePtr) DS_AppData.CmdRejectedCounter++; CFE_EVS_SendEvent(DS_BASE_CMD_ERR_EID, CFE_EVS_EventType_ERROR, - "Invalid DEST BASE command length: expected = %d, actual = %d", - ExpectedLength, ActualLength); + "Invalid DEST BASE command length: expected = %d, actual = %d", (int)ExpectedLength, + (int)ActualLength); } else if (DS_TableVerifyFileIndex(DS_DestBaseCmd->FileTableIndex) == false) { @@ -832,21 +823,19 @@ void DS_CmdSetDestBase(CFE_SB_MsgPtr_t MessagePtr) DS_AppData.CmdRejectedCounter++; CFE_EVS_SendEvent(DS_BASE_CMD_ERR_EID, CFE_EVS_EventType_ERROR, - "Invalid DEST BASE command arg: file table index = %d", - (int)DS_DestBaseCmd->FileTableIndex); + "Invalid DEST BASE command arg: file table index = %d", (int)DS_DestBaseCmd->FileTableIndex); } - else if (CFS_VerifyString(DS_DestBaseCmd->Basename, DS_BASENAME_BUFSIZE, - DS_STRING_OPTIONAL, DS_FILENAME_TEXT) == false) + else if (CFS_VerifyString(DS_DestBaseCmd->Basename, DS_BASENAME_BUFSIZE, DS_STRING_OPTIONAL, DS_FILENAME_TEXT) == + false) { /* ** Invalid destination base filename... */ DS_AppData.CmdRejectedCounter++; - CFE_EVS_SendEvent(DS_BASE_CMD_ERR_EID, CFE_EVS_EventType_ERROR, - "Invalid DEST BASE command arg: base filename"); + CFE_EVS_SendEvent(DS_BASE_CMD_ERR_EID, CFE_EVS_EventType_ERROR, "Invalid DEST BASE command arg: base filename"); } - else if (DS_AppData.DestFileTblPtr == (DS_DestFileTable_t *) NULL) + else if (DS_AppData.DestFileTblPtr == (DS_DestFileTable_t *)NULL) { /* ** Must have a valid destination file table loaded... @@ -854,7 +843,7 @@ void DS_CmdSetDestBase(CFE_SB_MsgPtr_t MessagePtr) DS_AppData.CmdRejectedCounter++; CFE_EVS_SendEvent(DS_BASE_CMD_ERR_EID, CFE_EVS_EventType_ERROR, - "Invalid DEST BASE command: destination file table is not loaded"); + "Invalid DEST BASE command: destination file table is not loaded"); } else { @@ -872,7 +861,7 @@ void DS_CmdSetDestBase(CFE_SB_MsgPtr_t MessagePtr) DS_AppData.CmdAcceptedCounter++; CFE_EVS_SendEvent(DS_BASE_CMD_EID, CFE_EVS_EventType_DEBUG, - "DEST BASE command: file table index = %d, base filename = '%s'", + "DEST BASE command: file table index = %d, base filename = '%s'", (int)DS_DestBaseCmd->FileTableIndex, DS_DestBaseCmd->Basename); } @@ -880,19 +869,20 @@ void DS_CmdSetDestBase(CFE_SB_MsgPtr_t MessagePtr) } /* End of DS_CmdSetDestBase() */ - /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ /* */ /* DS_CmdSetDestExt() - set extension portion of filename */ /* */ /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ -void DS_CmdSetDestExt(CFE_SB_MsgPtr_t MessagePtr) +void DS_CmdSetDestExt(const CFE_SB_Buffer_t *BufPtr) { - DS_DestExtCmd_t *DS_DestExtCmd = (DS_DestExtCmd_t *) MessagePtr; - uint16 ActualLength = CFE_SB_GetTotalMsgLength(MessagePtr); - uint16 ExpectedLength = sizeof(DS_DestExtCmd_t); - DS_DestFileEntry_t *pDest = NULL; + DS_DestExtCmd_t * DS_DestExtCmd = (DS_DestExtCmd_t *)BufPtr; + size_t ActualLength = 0; + size_t ExpectedLength = sizeof(DS_DestExtCmd_t); + DS_DestFileEntry_t *pDest = NULL; + + CFE_MSG_GetSize(&BufPtr->Msg, &ActualLength); if (ExpectedLength != ActualLength) { @@ -902,8 +892,8 @@ void DS_CmdSetDestExt(CFE_SB_MsgPtr_t MessagePtr) DS_AppData.CmdRejectedCounter++; CFE_EVS_SendEvent(DS_EXT_CMD_ERR_EID, CFE_EVS_EventType_ERROR, - "Invalid DEST EXT command length: expected = %d, actual = %d", - ExpectedLength, ActualLength); + "Invalid DEST EXT command length: expected = %d, actual = %d", (int)ExpectedLength, + (int)ActualLength); } else if (DS_TableVerifyFileIndex(DS_DestExtCmd->FileTableIndex) == false) { @@ -913,21 +903,19 @@ void DS_CmdSetDestExt(CFE_SB_MsgPtr_t MessagePtr) DS_AppData.CmdRejectedCounter++; CFE_EVS_SendEvent(DS_EXT_CMD_ERR_EID, CFE_EVS_EventType_ERROR, - "Invalid DEST EXT command arg: file table index = %d", - (int)DS_DestExtCmd->FileTableIndex); + "Invalid DEST EXT command arg: file table index = %d", (int)DS_DestExtCmd->FileTableIndex); } - else if (CFS_VerifyString(DS_DestExtCmd->Extension, DS_EXTENSION_BUFSIZE, - DS_STRING_OPTIONAL, DS_FILENAME_TEXT) == false) + else if (CFS_VerifyString(DS_DestExtCmd->Extension, DS_EXTENSION_BUFSIZE, DS_STRING_OPTIONAL, DS_FILENAME_TEXT) == + false) { /* ** Invalid destination filename extension... */ DS_AppData.CmdRejectedCounter++; - CFE_EVS_SendEvent(DS_EXT_CMD_ERR_EID, CFE_EVS_EventType_ERROR, - "Invalid DEST EXT command arg: extension"); + CFE_EVS_SendEvent(DS_EXT_CMD_ERR_EID, CFE_EVS_EventType_ERROR, "Invalid DEST EXT command arg: extension"); } - else if (DS_AppData.DestFileTblPtr == (DS_DestFileTable_t *) NULL) + else if (DS_AppData.DestFileTblPtr == (DS_DestFileTable_t *)NULL) { /* ** Must have a valid destination file table loaded... @@ -935,7 +923,7 @@ void DS_CmdSetDestExt(CFE_SB_MsgPtr_t MessagePtr) DS_AppData.CmdRejectedCounter++; CFE_EVS_SendEvent(DS_EXT_CMD_ERR_EID, CFE_EVS_EventType_ERROR, - "Invalid DEST EXT command: destination file table is not loaded"); + "Invalid DEST EXT command: destination file table is not loaded"); } else { @@ -953,7 +941,7 @@ void DS_CmdSetDestExt(CFE_SB_MsgPtr_t MessagePtr) DS_AppData.CmdAcceptedCounter++; CFE_EVS_SendEvent(DS_EXT_CMD_EID, CFE_EVS_EventType_DEBUG, - "DEST EXT command: file table index = %d, extension = '%s'", + "DEST EXT command: file table index = %d, extension = '%s'", (int)DS_DestExtCmd->FileTableIndex, DS_DestExtCmd->Extension); } @@ -961,19 +949,20 @@ void DS_CmdSetDestExt(CFE_SB_MsgPtr_t MessagePtr) } /* End of DS_CmdSetDestExt() */ - /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ /* */ /* DS_CmdSetDestSize() - set maximum file size limit */ /* */ /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ -void DS_CmdSetDestSize(CFE_SB_MsgPtr_t MessagePtr) +void DS_CmdSetDestSize(const CFE_SB_Buffer_t *BufPtr) { - DS_DestSizeCmd_t *DS_DestSizeCmd = (DS_DestSizeCmd_t *) MessagePtr; - uint16 ActualLength = CFE_SB_GetTotalMsgLength(MessagePtr); - uint16 ExpectedLength = sizeof(DS_DestSizeCmd_t); - DS_DestFileEntry_t *pDest = NULL; + DS_DestSizeCmd_t * DS_DestSizeCmd = (DS_DestSizeCmd_t *)BufPtr; + size_t ActualLength = 0; + size_t ExpectedLength = sizeof(DS_DestSizeCmd_t); + DS_DestFileEntry_t *pDest = NULL; + + CFE_MSG_GetSize(&BufPtr->Msg, &ActualLength); if (ExpectedLength != ActualLength) { @@ -983,8 +972,8 @@ void DS_CmdSetDestSize(CFE_SB_MsgPtr_t MessagePtr) DS_AppData.CmdRejectedCounter++; CFE_EVS_SendEvent(DS_SIZE_CMD_ERR_EID, CFE_EVS_EventType_ERROR, - "Invalid DEST SIZE command length: expected = %d, actual = %d", - ExpectedLength, ActualLength); + "Invalid DEST SIZE command length: expected = %d, actual = %d", (int)ExpectedLength, + (int)ActualLength); } else if (DS_TableVerifyFileIndex(DS_DestSizeCmd->FileTableIndex) == false) { @@ -994,8 +983,7 @@ void DS_CmdSetDestSize(CFE_SB_MsgPtr_t MessagePtr) DS_AppData.CmdRejectedCounter++; CFE_EVS_SendEvent(DS_SIZE_CMD_ERR_EID, CFE_EVS_EventType_ERROR, - "Invalid DEST SIZE command arg: file table index = %d", - (int)DS_DestSizeCmd->FileTableIndex); + "Invalid DEST SIZE command arg: file table index = %d", (int)DS_DestSizeCmd->FileTableIndex); } else if (DS_TableVerifySize(DS_DestSizeCmd->MaxFileSize) == false) { @@ -1005,10 +993,9 @@ void DS_CmdSetDestSize(CFE_SB_MsgPtr_t MessagePtr) DS_AppData.CmdRejectedCounter++; CFE_EVS_SendEvent(DS_SIZE_CMD_ERR_EID, CFE_EVS_EventType_ERROR, - "Invalid DEST SIZE command arg: size limit = %d", - (int)DS_DestSizeCmd->MaxFileSize); + "Invalid DEST SIZE command arg: size limit = %d", (int)DS_DestSizeCmd->MaxFileSize); } - else if (DS_AppData.DestFileTblPtr == (DS_DestFileTable_t *) NULL) + else if (DS_AppData.DestFileTblPtr == (DS_DestFileTable_t *)NULL) { /* ** Must have a valid destination file table loaded... @@ -1016,14 +1003,14 @@ void DS_CmdSetDestSize(CFE_SB_MsgPtr_t MessagePtr) DS_AppData.CmdRejectedCounter++; CFE_EVS_SendEvent(DS_SIZE_CMD_ERR_EID, CFE_EVS_EventType_ERROR, - "Invalid DEST SIZE command: destination file table is not loaded"); + "Invalid DEST SIZE command: destination file table is not loaded"); } else { /* ** Set size limit for destination file... */ - pDest = &DS_AppData.DestFileTblPtr->File[DS_DestSizeCmd->FileTableIndex]; + pDest = &DS_AppData.DestFileTblPtr->File[DS_DestSizeCmd->FileTableIndex]; pDest->MaxFileSize = DS_DestSizeCmd->MaxFileSize; /* @@ -1034,7 +1021,7 @@ void DS_CmdSetDestSize(CFE_SB_MsgPtr_t MessagePtr) DS_AppData.CmdAcceptedCounter++; CFE_EVS_SendEvent(DS_SIZE_CMD_EID, CFE_EVS_EventType_DEBUG, - "DEST SIZE command: file table index = %d, size limit = %d", + "DEST SIZE command: file table index = %d, size limit = %d", (int)DS_DestSizeCmd->FileTableIndex, (int)DS_DestSizeCmd->MaxFileSize); } @@ -1042,19 +1029,20 @@ void DS_CmdSetDestSize(CFE_SB_MsgPtr_t MessagePtr) } /* End of DS_CmdSetDestSize() */ - /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ /* */ /* DS_CmdSetDestAge() - set maximum file age limit */ /* */ /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ -void DS_CmdSetDestAge(CFE_SB_MsgPtr_t MessagePtr) +void DS_CmdSetDestAge(const CFE_SB_Buffer_t *BufPtr) { - DS_DestAgeCmd_t *DS_DestAgeCmd = (DS_DestAgeCmd_t *) MessagePtr; - uint16 ActualLength = CFE_SB_GetTotalMsgLength(MessagePtr); - uint16 ExpectedLength = sizeof(DS_DestAgeCmd_t); - DS_DestFileEntry_t *pDest = NULL; + DS_DestAgeCmd_t * DS_DestAgeCmd = (DS_DestAgeCmd_t *)BufPtr; + size_t ActualLength = 0; + size_t ExpectedLength = sizeof(DS_DestAgeCmd_t); + DS_DestFileEntry_t *pDest = NULL; + + CFE_MSG_GetSize(&BufPtr->Msg, &ActualLength); if (ExpectedLength != ActualLength) { @@ -1064,8 +1052,8 @@ void DS_CmdSetDestAge(CFE_SB_MsgPtr_t MessagePtr) DS_AppData.CmdRejectedCounter++; CFE_EVS_SendEvent(DS_AGE_CMD_ERR_EID, CFE_EVS_EventType_ERROR, - "Invalid DEST AGE command length: expected = %d, actual = %d", - ExpectedLength, ActualLength); + "Invalid DEST AGE command length: expected = %d, actual = %d", (int)ExpectedLength, + (int)ActualLength); } else if (DS_TableVerifyFileIndex(DS_DestAgeCmd->FileTableIndex) == false) { @@ -1075,8 +1063,7 @@ void DS_CmdSetDestAge(CFE_SB_MsgPtr_t MessagePtr) DS_AppData.CmdRejectedCounter++; CFE_EVS_SendEvent(DS_AGE_CMD_ERR_EID, CFE_EVS_EventType_ERROR, - "Invalid DEST AGE command arg: file table index = %d", - (int)DS_DestAgeCmd->FileTableIndex); + "Invalid DEST AGE command arg: file table index = %d", (int)DS_DestAgeCmd->FileTableIndex); } else if (DS_TableVerifyAge(DS_DestAgeCmd->MaxFileAge) == false) { @@ -1085,11 +1072,10 @@ void DS_CmdSetDestAge(CFE_SB_MsgPtr_t MessagePtr) */ DS_AppData.CmdRejectedCounter++; - CFE_EVS_SendEvent(DS_AGE_CMD_ERR_EID, CFE_EVS_EventType_ERROR, - "Invalid DEST AGE command arg: age limit = %d", + CFE_EVS_SendEvent(DS_AGE_CMD_ERR_EID, CFE_EVS_EventType_ERROR, "Invalid DEST AGE command arg: age limit = %d", (int)DS_DestAgeCmd->MaxFileAge); } - else if (DS_AppData.DestFileTblPtr == (DS_DestFileTable_t *) NULL) + else if (DS_AppData.DestFileTblPtr == (DS_DestFileTable_t *)NULL) { /* ** Must have a valid destination file table loaded... @@ -1097,14 +1083,14 @@ void DS_CmdSetDestAge(CFE_SB_MsgPtr_t MessagePtr) DS_AppData.CmdRejectedCounter++; CFE_EVS_SendEvent(DS_AGE_CMD_ERR_EID, CFE_EVS_EventType_ERROR, - "Invalid DEST AGE command: destination file table is not loaded"); + "Invalid DEST AGE command: destination file table is not loaded"); } else { /* ** Set age limit for destination file... */ - pDest = &DS_AppData.DestFileTblPtr->File[DS_DestAgeCmd->FileTableIndex]; + pDest = &DS_AppData.DestFileTblPtr->File[DS_DestAgeCmd->FileTableIndex]; pDest->MaxFileAge = DS_DestAgeCmd->MaxFileAge; /* @@ -1115,28 +1101,29 @@ void DS_CmdSetDestAge(CFE_SB_MsgPtr_t MessagePtr) DS_AppData.CmdAcceptedCounter++; CFE_EVS_SendEvent(DS_AGE_CMD_EID, CFE_EVS_EventType_DEBUG, - "DEST AGE command: file table index = %d, age limit = %d", - (int)DS_DestAgeCmd->FileTableIndex, (int)DS_DestAgeCmd->MaxFileAge); + "DEST AGE command: file table index = %d, age limit = %d", (int)DS_DestAgeCmd->FileTableIndex, + (int)DS_DestAgeCmd->MaxFileAge); } return; } /* End of DS_CmdSetDestAge() */ - /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ /* */ /* DS_CmdSetDestCount() - set seq cnt portion of filename */ /* */ /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ -void DS_CmdSetDestCount(CFE_SB_MsgPtr_t MessagePtr) +void DS_CmdSetDestCount(const CFE_SB_Buffer_t *BufPtr) { - DS_DestCountCmd_t *DS_DestCountCmd = (DS_DestCountCmd_t *) MessagePtr; - uint16 ActualLength = CFE_SB_GetTotalMsgLength(MessagePtr); - uint16 ExpectedLength = sizeof(DS_DestCountCmd_t); - DS_AppFileStatus_t *FileStatus = NULL; - DS_DestFileEntry_t *DestFile = NULL; + DS_DestCountCmd_t * DS_DestCountCmd = (DS_DestCountCmd_t *)BufPtr; + size_t ActualLength = 0; + size_t ExpectedLength = sizeof(DS_DestCountCmd_t); + DS_AppFileStatus_t *FileStatus = NULL; + DS_DestFileEntry_t *DestFile = NULL; + + CFE_MSG_GetSize(&BufPtr->Msg, &ActualLength); if (ExpectedLength != ActualLength) { @@ -1146,8 +1133,8 @@ void DS_CmdSetDestCount(CFE_SB_MsgPtr_t MessagePtr) DS_AppData.CmdRejectedCounter++; CFE_EVS_SendEvent(DS_SEQ_CMD_ERR_EID, CFE_EVS_EventType_ERROR, - "Invalid DEST COUNT command length: expected = %d, actual = %d", - ExpectedLength, ActualLength); + "Invalid DEST COUNT command length: expected = %d, actual = %d", (int)ExpectedLength, + (int)ActualLength); } else if (DS_TableVerifyFileIndex(DS_DestCountCmd->FileTableIndex) == false) { @@ -1157,7 +1144,7 @@ void DS_CmdSetDestCount(CFE_SB_MsgPtr_t MessagePtr) DS_AppData.CmdRejectedCounter++; CFE_EVS_SendEvent(DS_SEQ_CMD_ERR_EID, CFE_EVS_EventType_ERROR, - "Invalid DEST COUNT command arg: file table index = %d", + "Invalid DEST COUNT command arg: file table index = %d", (int)DS_DestCountCmd->FileTableIndex); } else if (DS_TableVerifyCount(DS_DestCountCmd->SequenceCount) == false) @@ -1168,10 +1155,9 @@ void DS_CmdSetDestCount(CFE_SB_MsgPtr_t MessagePtr) DS_AppData.CmdRejectedCounter++; CFE_EVS_SendEvent(DS_SEQ_CMD_ERR_EID, CFE_EVS_EventType_ERROR, - "Invalid DEST COUNT command arg: sequence count = %d", - (int)DS_DestCountCmd->SequenceCount); + "Invalid DEST COUNT command arg: sequence count = %d", (int)DS_DestCountCmd->SequenceCount); } - else if (DS_AppData.DestFileTblPtr == (DS_DestFileTable_t *) NULL) + else if (DS_AppData.DestFileTblPtr == (DS_DestFileTable_t *)NULL) { /* ** Must have a valid destination file table loaded... @@ -1179,21 +1165,21 @@ void DS_CmdSetDestCount(CFE_SB_MsgPtr_t MessagePtr) DS_AppData.CmdRejectedCounter++; CFE_EVS_SendEvent(DS_SEQ_CMD_ERR_EID, CFE_EVS_EventType_ERROR, - "Invalid DEST COUNT command: destination file table is not loaded"); + "Invalid DEST COUNT command: destination file table is not loaded"); } else { /* ** Set next sequence count for destination file... */ - DestFile = &DS_AppData.DestFileTblPtr->File[DS_DestCountCmd->FileTableIndex]; + DestFile = &DS_AppData.DestFileTblPtr->File[DS_DestCountCmd->FileTableIndex]; FileStatus = &DS_AppData.FileStatus[DS_DestCountCmd->FileTableIndex]; /* ** Update both destination file table and current status... */ DestFile->SequenceCount = DS_DestCountCmd->SequenceCount; - FileStatus->FileCount = DS_DestCountCmd->SequenceCount; + FileStatus->FileCount = DS_DestCountCmd->SequenceCount; /* ** Notify cFE that we have modified the table data... @@ -1208,7 +1194,7 @@ void DS_CmdSetDestCount(CFE_SB_MsgPtr_t MessagePtr) DS_AppData.CmdAcceptedCounter++; CFE_EVS_SendEvent(DS_SEQ_CMD_EID, CFE_EVS_EventType_DEBUG, - "DEST COUNT command: file table index = %d, sequence count = %d", + "DEST COUNT command: file table index = %d, sequence count = %d", (int)DS_DestCountCmd->FileTableIndex, (int)DS_DestCountCmd->SequenceCount); } @@ -1216,18 +1202,19 @@ void DS_CmdSetDestCount(CFE_SB_MsgPtr_t MessagePtr) } /* End of DS_CmdSetDestCount() */ - /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ /* */ /* DS_CmdCloseFile() - close destination file */ /* */ /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ -void DS_CmdCloseFile(CFE_SB_MsgPtr_t MessagePtr) +void DS_CmdCloseFile(const CFE_SB_Buffer_t *BufPtr) { - DS_CloseFileCmd_t *DS_CloseFileCmd = (DS_CloseFileCmd_t *) MessagePtr; - uint16 ActualLength = CFE_SB_GetTotalMsgLength(MessagePtr); - uint16 ExpectedLength = sizeof(DS_CloseFileCmd_t); + DS_CloseFileCmd_t *DS_CloseFileCmd = (DS_CloseFileCmd_t *)BufPtr; + size_t ActualLength = 0; + size_t ExpectedLength = sizeof(DS_CloseFileCmd_t); + + CFE_MSG_GetSize(&BufPtr->Msg, &ActualLength); if (ExpectedLength != ActualLength) { @@ -1237,8 +1224,8 @@ void DS_CmdCloseFile(CFE_SB_MsgPtr_t MessagePtr) DS_AppData.CmdRejectedCounter++; CFE_EVS_SendEvent(DS_CLOSE_CMD_ERR_EID, CFE_EVS_EventType_ERROR, - "Invalid DEST CLOSE command length: expected = %d, actual = %d", - ExpectedLength, ActualLength); + "Invalid DEST CLOSE command length: expected = %d, actual = %d", (int)ExpectedLength, + (int)ActualLength); } else if (DS_TableVerifyFileIndex(DS_CloseFileCmd->FileTableIndex) == false) { @@ -1248,7 +1235,7 @@ void DS_CmdCloseFile(CFE_SB_MsgPtr_t MessagePtr) DS_AppData.CmdRejectedCounter++; CFE_EVS_SendEvent(DS_CLOSE_CMD_ERR_EID, CFE_EVS_EventType_ERROR, - "Invalid DEST CLOSE command arg: file table index = %d", + "Invalid DEST CLOSE command arg: file table index = %d", (int)DS_CloseFileCmd->FileTableIndex); } else @@ -1264,8 +1251,7 @@ void DS_CmdCloseFile(CFE_SB_MsgPtr_t MessagePtr) DS_AppData.CmdAcceptedCounter++; - CFE_EVS_SendEvent(DS_CLOSE_CMD_EID, CFE_EVS_EventType_DEBUG, - "DEST CLOSE command: file table index = %d", + CFE_EVS_SendEvent(DS_CLOSE_CMD_EID, CFE_EVS_EventType_DEBUG, "DEST CLOSE command: file table index = %d", (int)DS_CloseFileCmd->FileTableIndex); } @@ -1273,18 +1259,19 @@ void DS_CmdCloseFile(CFE_SB_MsgPtr_t MessagePtr) } /* End of DS_CmdCloseFile() */ - /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ /* */ /* DS_CmdCloseAll() - close all open destination files */ /* */ /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ -void DS_CmdCloseAll(CFE_SB_MsgPtr_t MessagePtr) +void DS_CmdCloseAll(const CFE_SB_Buffer_t *BufPtr) { - uint16 ActualLength = CFE_SB_GetTotalMsgLength(MessagePtr); - uint16 ExpectedLength = sizeof(DS_CloseAllCmd_t); - int32 i = 0; + size_t ActualLength = 0; + size_t ExpectedLength = sizeof(DS_CloseAllCmd_t); + int32 i = 0; + + CFE_MSG_GetSize(&BufPtr->Msg, &ActualLength); if (ExpectedLength != ActualLength) { @@ -1294,8 +1281,8 @@ void DS_CmdCloseAll(CFE_SB_MsgPtr_t MessagePtr) DS_AppData.CmdRejectedCounter++; CFE_EVS_SendEvent(DS_CLOSE_ALL_CMD_ERR_EID, CFE_EVS_EventType_ERROR, - "Invalid DEST CLOSE ALL command length: expected = %d, actual = %d", - ExpectedLength, ActualLength); + "Invalid DEST CLOSE ALL command length: expected = %d, actual = %d", (int)ExpectedLength, + (int)ActualLength); } else { @@ -1313,27 +1300,27 @@ void DS_CmdCloseAll(CFE_SB_MsgPtr_t MessagePtr) DS_AppData.CmdAcceptedCounter++; - CFE_EVS_SendEvent(DS_CLOSE_ALL_CMD_EID, CFE_EVS_EventType_DEBUG, - "DEST CLOSE ALL command"); + CFE_EVS_SendEvent(DS_CLOSE_ALL_CMD_EID, CFE_EVS_EventType_DEBUG, "DEST CLOSE ALL command"); } return; } /* End of DS_CmdCloseAll() */ - /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ /* */ /* DS_CmdGetFileInfo() - get file info packet */ /* */ /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ -void DS_CmdGetFileInfo(CFE_SB_MsgPtr_t MessagePtr) +void DS_CmdGetFileInfo(const CFE_SB_Buffer_t *BufPtr) { DS_FileInfoPkt_t DS_FileInfoPkt; - uint16 ActualLength = CFE_SB_GetTotalMsgLength(MessagePtr); - uint16 ExpectedLength = sizeof(DS_GetFileInfoCmd_t); - int32 i = 0; + size_t ActualLength = 0; + size_t ExpectedLength = sizeof(DS_GetFileInfoCmd_t); + int32 i = 0; + + CFE_MSG_GetSize(&BufPtr->Msg, &ActualLength); if (ExpectedLength != ActualLength) { @@ -1343,8 +1330,8 @@ void DS_CmdGetFileInfo(CFE_SB_MsgPtr_t MessagePtr) DS_AppData.CmdRejectedCounter++; CFE_EVS_SendEvent(DS_GET_FILE_INFO_CMD_ERR_EID, CFE_EVS_EventType_ERROR, - "Invalid GET FILE INFO command length: expected = %d, actual = %d", - ExpectedLength, ActualLength); + "Invalid GET FILE INFO command length: expected = %d, actual = %d", (int)ExpectedLength, + (int)ActualLength); } else { @@ -1358,7 +1345,7 @@ void DS_CmdGetFileInfo(CFE_SB_MsgPtr_t MessagePtr) /* ** Initialize file info telemetry packet... */ - CFE_SB_InitMsg(&DS_FileInfoPkt, DS_DIAG_TLM_MID, sizeof(DS_FileInfoPkt_t), true); + CFE_MSG_Init(&DS_FileInfoPkt.TlmHeader.Msg, DS_DIAG_TLM_MID, sizeof(DS_FileInfoPkt_t)); /* ** Process array of destination file info data... @@ -1384,7 +1371,7 @@ void DS_CmdGetFileInfo(CFE_SB_MsgPtr_t MessagePtr) /* ** Set file enable/disable state... */ - if (DS_AppData.DestFileTblPtr == (DS_DestFileTable_t *) NULL) + if (DS_AppData.DestFileTblPtr == (DS_DestFileTable_t *)NULL) { DS_FileInfoPkt.FileInfo[i].EnableState = DS_DISABLED; } @@ -1414,31 +1401,32 @@ void DS_CmdGetFileInfo(CFE_SB_MsgPtr_t MessagePtr) /* ** Timestamp and send file info telemetry packet... */ - CFE_SB_TimeStampMsg((CFE_SB_Msg_t *) &DS_FileInfoPkt); - CFE_SB_SendMsg((CFE_SB_Msg_t *) &DS_FileInfoPkt); + CFE_SB_TimeStampMsg(&DS_FileInfoPkt.TlmHeader.Msg); + CFE_SB_TransmitMsg(&DS_FileInfoPkt.TlmHeader.Msg, true); } return; } /* End of DS_CmdGetFileInfo() */ - /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ /* */ /* DS_CmdAddMID() - add message ID to packet filter table */ /* */ /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ -void DS_CmdAddMID(CFE_SB_MsgPtr_t MessagePtr) +void DS_CmdAddMID(const CFE_SB_Buffer_t *BufPtr) { - DS_AddMidCmd_t *DS_AddMidCmd = (DS_AddMidCmd_t *) MessagePtr; - uint16 ActualLength = CFE_SB_GetTotalMsgLength(MessagePtr); - uint16 ExpectedLength = sizeof(DS_AddMidCmd_t); - DS_PacketEntry_t *pPacketEntry = NULL; - DS_FilterParms_t *pFilterParms = NULL; - int32 FilterTableIndex = 0; - int32 HashTableIndex = 0; - int32 i = 0; + DS_AddMidCmd_t * DS_AddMidCmd = (DS_AddMidCmd_t *)BufPtr; + size_t ActualLength = 0; + size_t ExpectedLength = sizeof(DS_AddMidCmd_t); + DS_PacketEntry_t *pPacketEntry = NULL; + DS_FilterParms_t *pFilterParms = NULL; + int32 FilterTableIndex = 0; + int32 HashTableIndex = 0; + int32 i = 0; + + CFE_MSG_GetSize(&BufPtr->Msg, &ActualLength); if (ExpectedLength != ActualLength) { @@ -1448,8 +1436,8 @@ void DS_CmdAddMID(CFE_SB_MsgPtr_t MessagePtr) DS_AppData.CmdRejectedCounter++; CFE_EVS_SendEvent(DS_ADD_MID_CMD_ERR_EID, CFE_EVS_EventType_ERROR, - "Invalid ADD MID command length: expected = %d, actual = %d", - ExpectedLength, ActualLength); + "Invalid ADD MID command length: expected = %d, actual = %d", (int)ExpectedLength, + (int)ActualLength); } else if (DS_AddMidCmd->MessageID == DS_UNUSED) { @@ -1459,10 +1447,9 @@ void DS_CmdAddMID(CFE_SB_MsgPtr_t MessagePtr) DS_AppData.CmdRejectedCounter++; CFE_EVS_SendEvent(DS_ADD_MID_CMD_ERR_EID, CFE_EVS_EventType_ERROR, - "Invalid ADD MID command arg: invalid MID = 0x%4X", - DS_AddMidCmd->MessageID); + "Invalid ADD MID command arg: invalid MID = 0x%08X", DS_AddMidCmd->MessageID); } - else if (DS_AppData.FilterTblPtr == (DS_FilterTable_t *) NULL) + else if (DS_AppData.FilterTblPtr == (DS_FilterTable_t *)NULL) { /* ** Must have a valid packet filter table loaded... @@ -1470,7 +1457,7 @@ void DS_CmdAddMID(CFE_SB_MsgPtr_t MessagePtr) DS_AppData.CmdRejectedCounter++; CFE_EVS_SendEvent(DS_ADD_MID_CMD_ERR_EID, CFE_EVS_EventType_ERROR, - "Invalid ADD MID command: filter table is not loaded"); + "Invalid ADD MID command: filter table is not loaded"); } else if ((FilterTableIndex = DS_TableFindMsgID(DS_AddMidCmd->MessageID)) != DS_INDEX_NONE) { @@ -1480,7 +1467,7 @@ void DS_CmdAddMID(CFE_SB_MsgPtr_t MessagePtr) DS_AppData.CmdRejectedCounter++; CFE_EVS_SendEvent(DS_ADD_MID_CMD_ERR_EID, CFE_EVS_EventType_ERROR, - "Invalid ADD MID command: MID = 0x%4X is already in filter table at index = %d", + "Invalid ADD MID command: MID = 0x%08X is already in filter table at index = %d", DS_AddMidCmd->MessageID, (int)FilterTableIndex); } else if ((FilterTableIndex = DS_TableFindMsgID(DS_UNUSED)) == DS_INDEX_NONE) @@ -1491,7 +1478,7 @@ void DS_CmdAddMID(CFE_SB_MsgPtr_t MessagePtr) DS_AppData.CmdRejectedCounter++; CFE_EVS_SendEvent(DS_ADD_MID_CMD_ERR_EID, CFE_EVS_EventType_ERROR, - "Invalid ADD MID command: filter table is full"); + "Invalid ADD MID command: filter table is full"); } else { @@ -1501,7 +1488,7 @@ void DS_CmdAddMID(CFE_SB_MsgPtr_t MessagePtr) pPacketEntry = &DS_AppData.FilterTblPtr->Packet[FilterTableIndex]; pPacketEntry->MessageID = DS_AddMidCmd->MessageID; - + /* Add the message ID to the hash table as well */ HashTableIndex = DS_TableAddMsgID(DS_AddMidCmd->MessageID, FilterTableIndex); @@ -1510,15 +1497,14 @@ void DS_CmdAddMID(CFE_SB_MsgPtr_t MessagePtr) pFilterParms = &pPacketEntry->Filter[i]; pFilterParms->FileTableIndex = 0; - pFilterParms->FilterType = DS_BY_COUNT; + pFilterParms->FilterType = DS_BY_COUNT; pFilterParms->Algorithm_N = 0; pFilterParms->Algorithm_X = 0; pFilterParms->Algorithm_O = 0; } - CFE_SB_SubscribeEx(DS_AddMidCmd->MessageID, DS_AppData.InputPipe, - CFE_SB_Default_Qos, DS_PER_PACKET_PIPE_LIMIT); + CFE_SB_SubscribeEx(DS_AddMidCmd->MessageID, DS_AppData.InputPipe, CFE_SB_DEFAULT_QOS, DS_PER_PACKET_PIPE_LIMIT); /* ** Notify cFE that we have modified the table data... */ @@ -1527,17 +1513,14 @@ void DS_CmdAddMID(CFE_SB_MsgPtr_t MessagePtr) DS_AppData.CmdAcceptedCounter++; CFE_EVS_SendEvent(DS_ADD_MID_CMD_EID, CFE_EVS_EventType_DEBUG, - "ADD MID command: MID = 0x%04X, filter index = %d, hash index = %d", - DS_AddMidCmd->MessageID, - (int)FilterTableIndex, - (int)HashTableIndex); + "ADD MID command: MID = 0x%08X, filter index = %d, hash index = %d", DS_AddMidCmd->MessageID, + (int)FilterTableIndex, (int)HashTableIndex); } return; } /* End of DS_CmdAddMID() */ - /************************/ /* End of File Comment */ /************************/ diff --git a/fsw/src/ds_cmds.h b/fsw/src/ds_cmds.h index bc29125..644e717 100644 --- a/fsw/src/ds_cmds.h +++ b/fsw/src/ds_cmds.h @@ -1,22 +1,22 @@ /************************************************************************ -** File: ds_cmds.h -** -** NASA Docket No. GSC-18448-1, and identified as "cFS Data Storage (DS) -** application version 2.5.2” -** -** Copyright © 2019 United States Government as represented by the Administrator -** of the National Aeronautics and Space Administration. All Rights Reserved. -** -** Licensed under the Apache License, Version 2.0 (the "License"); -** you may not use this file except in compliance with the License. -** You may obtain a copy of the License at -** http://www.apache.org/licenses/LICENSE-2.0 -** Unless required by applicable law or agreed to in writing, software -** distributed under the License is distributed on an "AS IS" BASIS, -** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -** See the License for the specific language governing permissions and -** limitations under the License. -** +** File: ds_cmds.h +** +** NASA Docket No. GSC-18448-1, and identified as "cFS Data Storage (DS) +** application version 2.5.2” +** +** Copyright © 2019 United States Government as represented by the Administrator +** of the National Aeronautics and Space Administration. All Rights Reserved. +** +** Licensed under the Apache License, Version 2.0 (the "License"); +** you may not use this file except in compliance with the License. +** You may obtain a copy of the License at +** http://www.apache.org/licenses/LICENSE-2.0 +** Unless required by applicable law or agreed to in writing, software +** distributed under the License is distributed on an "AS IS" BASIS, +** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +** See the License for the specific language governing permissions and +** limitations under the License. +** ** Purpose: ** CFS Data Storage (DS) command handler header file ** @@ -27,7 +27,6 @@ #include "cfe.h" - /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ /* */ /* Prototypes for functions defined in ds_app.c */ @@ -36,7 +35,7 @@ /*******************************************************************/ /* \brief NOOP command handler -** +** ** \par Description ** The NOOP command performs no specific function (no operation) ** Validate command packet @@ -46,17 +45,16 @@ ** ** \par Assumptions, External Events, and Notes: ** (none) -** -** \param [in] Software Bus message pointer (#CFE_SB_MsgPtr_t) +** +** \param [in] Software Bus message pointer (#CFE_SB_Buffer_t*) ** ** \sa #DS_NOOP_CC, #DS_NoopCmd_t */ -void DS_CmdNoop(CFE_SB_MsgPtr_t MessagePtr); - +void DS_CmdNoop(const CFE_SB_Buffer_t *BufPtr); /*******************************************************************/ /* \brief RESET command handler -** +** ** \par Description ** Reset housekeeping telemetry counters command ** Validate command packet @@ -67,17 +65,16 @@ void DS_CmdNoop(CFE_SB_MsgPtr_t MessagePtr); ** ** \par Assumptions, External Events, and Notes: ** (none) -** -** \param [in] Software Bus message pointer (#CFE_SB_MsgPtr_t) +** +** \param [in] Software Bus message pointer (#CFE_SB_Buffer_t*) ** ** \sa #DS_RESET_CC, #DS_ResetCmd_t */ -void DS_CmdReset(CFE_SB_MsgPtr_t MessagePtr); - +void DS_CmdReset(const CFE_SB_Buffer_t *BufPtr); /*******************************************************************/ /* \brief Set application enable/disable state command handler -** +** ** \par Description ** Set application enable/disable state command ** Validate command packet @@ -89,17 +86,16 @@ void DS_CmdReset(CFE_SB_MsgPtr_t MessagePtr); ** ** \par Assumptions, External Events, and Notes: ** (none) -** -** \param [in] Software Bus message pointer (#CFE_SB_MsgPtr_t) +** +** \param [in] Software Bus message pointer (#CFE_SB_Buffer_t*) ** ** \sa #DS_SET_APP_STATE_CC, #DS_AppStateCmd_t */ -void DS_CmdSetAppState(CFE_SB_MsgPtr_t MessagePtr); - +void DS_CmdSetAppState(const CFE_SB_Buffer_t *BufPtr); /*******************************************************************/ /* \brief Set file index for filter table entry command handler -** +** ** \par Description ** Set destination file index for filter table entry command ** Validate command packet @@ -114,17 +110,16 @@ void DS_CmdSetAppState(CFE_SB_MsgPtr_t MessagePtr); ** ** \par Assumptions, External Events, and Notes: ** (none) -** -** \param [in] Software Bus message pointer (#CFE_SB_MsgPtr_t) +** +** \param [in] Software Bus message pointer (#CFE_SB_Buffer_t*) ** ** \sa #DS_SET_FILTER_FILE_CC, #DS_FilterFileCmd_t */ -void DS_CmdSetFilterFile(CFE_SB_MsgPtr_t MessagePtr); - +void DS_CmdSetFilterFile(const CFE_SB_Buffer_t *BufPtr); /*******************************************************************/ /* \brief Set filter type for filter table entry command handler -** +** ** \par Description ** Set filter type for filter table entry command ** Validate command packet @@ -139,17 +134,16 @@ void DS_CmdSetFilterFile(CFE_SB_MsgPtr_t MessagePtr); ** ** \par Assumptions, External Events, and Notes: ** (none) -** -** \param [in] Software Bus message pointer (#CFE_SB_MsgPtr_t) +** +** \param [in] Software Bus message pointer (#CFE_SB_Buffer_t*) ** ** \sa #DS_SET_FILTER_TYPE_CC, #DS_FilterTypeCmd_t */ -void DS_CmdSetFilterType(CFE_SB_MsgPtr_t MessagePtr); - +void DS_CmdSetFilterType(const CFE_SB_Buffer_t *BufPtr); /*******************************************************************/ /* \brief Set filter parameters for filter table entry command handler -** +** ** \par Description ** Set filter parameters for filter table entry command ** Validate command packet @@ -164,17 +158,16 @@ void DS_CmdSetFilterType(CFE_SB_MsgPtr_t MessagePtr); ** ** \par Assumptions, External Events, and Notes: ** (none) -** -** \param [in] Software Bus message pointer (#CFE_SB_MsgPtr_t) +** +** \param [in] Software Bus message pointer (#CFE_SB_Buffer_t*) ** ** \sa #DS_SET_FILTER_PARMS_CC, #DS_FilterParmsCmd_t */ -void DS_CmdSetFilterParms(CFE_SB_MsgPtr_t MessagePtr); - +void DS_CmdSetFilterParms(const CFE_SB_Buffer_t *BufPtr); /*******************************************************************/ /* \brief Set data storage filename type command handler -** +** ** \par Description ** Modify the filename type for the selected entry in the ** destination file definitions table. @@ -189,17 +182,16 @@ void DS_CmdSetFilterParms(CFE_SB_MsgPtr_t MessagePtr); ** ** \par Assumptions, External Events, and Notes: ** (none) -** -** \param [in] Software Bus message pointer (#CFE_SB_MsgPtr_t) +** +** \param [in] Software Bus message pointer (#CFE_SB_Buffer_t*) ** ** \sa #DS_SET_DEST_TYPE_CC, #DS_DestTypeCmd_t */ -void DS_CmdSetDestType(CFE_SB_MsgPtr_t MessagePtr); - +void DS_CmdSetDestType(const CFE_SB_Buffer_t *BufPtr); /*******************************************************************/ /* \brief Set data storage enable/disable state command handler -** +** ** \par Description ** Modify the enable/disable state for the selected entry ** in the destination file definitions table. @@ -214,17 +206,16 @@ void DS_CmdSetDestType(CFE_SB_MsgPtr_t MessagePtr); ** ** \par Assumptions, External Events, and Notes: ** (none) -** -** \param [in] Software Bus message pointer (#CFE_SB_MsgPtr_t) +** +** \param [in] Software Bus message pointer (#CFE_SB_Buffer_t*) ** ** \sa #DS_SET_DEST_STATE_CC, #DS_DestStateCmd_t */ -void DS_CmdSetDestState(CFE_SB_MsgPtr_t MessagePtr); - +void DS_CmdSetDestState(const CFE_SB_Buffer_t *BufPtr); /*******************************************************************/ /* \brief Set data storage file pathname command handler -** +** ** \par Description ** Modify the path portion of the filename for the selected ** entry in the destination file definitions table. @@ -239,17 +230,16 @@ void DS_CmdSetDestState(CFE_SB_MsgPtr_t MessagePtr); ** ** \par Assumptions, External Events, and Notes: ** (none) -** -** \param [in] Software Bus message pointer (#CFE_SB_MsgPtr_t) +** +** \param [in] Software Bus message pointer (#CFE_SB_Buffer_t*) ** ** \sa #DS_SET_DEST_PATH_CC, #DS_DestPathCmd_t */ -void DS_CmdSetDestPath(CFE_SB_MsgPtr_t MessagePtr); - +void DS_CmdSetDestPath(const CFE_SB_Buffer_t *BufPtr); /*******************************************************************/ /* \brief Set data storage file basename command handler -** +** ** \par Description ** Modify the base portion of the filename for the selected ** entry in the destination file definitions table. @@ -264,17 +254,16 @@ void DS_CmdSetDestPath(CFE_SB_MsgPtr_t MessagePtr); ** ** \par Assumptions, External Events, and Notes: ** (none) -** -** \param [in] Software Bus message pointer (#CFE_SB_MsgPtr_t) +** +** \param [in] Software Bus message pointer (#CFE_SB_Buffer_t*) ** ** \sa #DS_SET_DEST_BASE_CC, #DS_DestBaseCmd_t */ -void DS_CmdSetDestBase(CFE_SB_MsgPtr_t MessagePtr); - +void DS_CmdSetDestBase(const CFE_SB_Buffer_t *BufPtr); /*******************************************************************/ /* \brief Set data storage file extension command handler -** +** ** \par Description ** Modify the extension portion of the filename for the ** selected entry in the destination file definitions table. @@ -289,17 +278,16 @@ void DS_CmdSetDestBase(CFE_SB_MsgPtr_t MessagePtr); ** ** \par Assumptions, External Events, and Notes: ** (none) -** -** \param [in] Software Bus message pointer (#CFE_SB_MsgPtr_t) +** +** \param [in] Software Bus message pointer (#CFE_SB_Buffer_t*) ** ** \sa #DS_SET_DEST_EXT_CC, #DS_DestExtCmd_t */ -void DS_CmdSetDestExt(CFE_SB_MsgPtr_t MessagePtr); - +void DS_CmdSetDestExt(const CFE_SB_Buffer_t *BufPtr); /*******************************************************************/ /* \brief Set data storage file size limit command handler -** +** ** \par Description ** Modify the max file size limit for the selected entry ** in the destination file definitions table. @@ -314,17 +302,16 @@ void DS_CmdSetDestExt(CFE_SB_MsgPtr_t MessagePtr); ** ** \par Assumptions, External Events, and Notes: ** (none) -** -** \param [in] Software Bus message pointer (#CFE_SB_MsgPtr_t) +** +** \param [in] Software Bus message pointer (#CFE_SB_Buffer_t*) ** ** \sa #DS_SET_DEST_SIZE_CC, #DS_DestSizeCmd_t */ -void DS_CmdSetDestSize(CFE_SB_MsgPtr_t MessagePtr); - +void DS_CmdSetDestSize(const CFE_SB_Buffer_t *BufPtr); /*******************************************************************/ /* \brief Set data storage file age limit command handler -** +** ** \par Description ** Modify the max file age limit for the selected entry ** in the destination file definitions table. @@ -339,17 +326,16 @@ void DS_CmdSetDestSize(CFE_SB_MsgPtr_t MessagePtr); ** ** \par Assumptions, External Events, and Notes: ** (none) -** -** \param [in] Software Bus message pointer (#CFE_SB_MsgPtr_t) +** +** \param [in] Software Bus message pointer (#CFE_SB_Buffer_t*) ** ** \sa #DS_SET_DEST_AGE_CC, #DS_DestAgeCmd_t */ -void DS_CmdSetDestAge(CFE_SB_MsgPtr_t MessagePtr); - +void DS_CmdSetDestAge(const CFE_SB_Buffer_t *BufPtr); /*******************************************************************/ /* \brief Set data storage filename sequence count command handler -** +** ** \par Description ** Modify the filename sequence count for the selected ** entry in the destination file definitions table. @@ -364,17 +350,16 @@ void DS_CmdSetDestAge(CFE_SB_MsgPtr_t MessagePtr); ** ** \par Assumptions, External Events, and Notes: ** (none) -** -** \param [in] Software Bus message pointer (#CFE_SB_MsgPtr_t) +** +** \param [in] Software Bus message pointer (#CFE_SB_Buffer_t*) ** ** \sa #DS_SET_DEST_COUNT_CC, #DS_DestCountCmd_t */ -void DS_CmdSetDestCount(CFE_SB_MsgPtr_t MessagePtr); - +void DS_CmdSetDestCount(const CFE_SB_Buffer_t *BufPtr); /*******************************************************************/ /* \brief Close data storage file command handler -** +** ** \par Description ** Close the selected data storage file. If this destination ** is still enabled, another file will be opened upon receipt @@ -388,17 +373,16 @@ void DS_CmdSetDestCount(CFE_SB_MsgPtr_t MessagePtr); ** ** \par Assumptions, External Events, and Notes: ** (none) -** -** \param [in] Software Bus message pointer (#CFE_SB_MsgPtr_t) +** +** \param [in] Software Bus message pointer (#CFE_SB_Buffer_t*) ** ** \sa #DS_CLOSE_FILE_CC, #DS_CloseFileCmd_t */ -void DS_CmdCloseFile(CFE_SB_MsgPtr_t MessagePtr); - +void DS_CmdCloseFile(const CFE_SB_Buffer_t *BufPtr); /*******************************************************************/ /* \brief Close all data storage files command handler -** +** ** \par Description ** Close all open data storage files. If any open destination ** file is still enabled, another file will be opened upon receipt @@ -411,17 +395,16 @@ void DS_CmdCloseFile(CFE_SB_MsgPtr_t MessagePtr); ** ** \par Assumptions, External Events, and Notes: ** (none) -** -** \param [in] Software Bus message pointer (#CFE_SB_MsgPtr_t) +** +** \param [in] Software Bus message pointer (#CFE_SB_Buffer_t*) ** ** \sa #DS_CLOSE_ALL_CC, #DS_CloseAllCmd_t */ -void DS_CmdCloseAll(CFE_SB_MsgPtr_t MessagePtr); - +void DS_CmdCloseAll(const CFE_SB_Buffer_t *BufPtr); /*******************************************************************/ /* \brief Get file information telemetry packet command handler -** +** ** \par Description ** Create and send a telemetry packet containing the current ** status for all destination files. @@ -433,17 +416,16 @@ void DS_CmdCloseAll(CFE_SB_MsgPtr_t MessagePtr); ** ** \par Assumptions, External Events, and Notes: ** (none) -** -** \param [in] Software Bus message pointer (#CFE_SB_MsgPtr_t) +** +** \param [in] Software Bus message pointer (#CFE_SB_Buffer_t*) ** ** \sa #DS_GET_FILE_INFO_CC, #DS_GetFileInfoCmd_t, #DS_FileInfoPkt_t */ -void DS_CmdGetFileInfo(CFE_SB_MsgPtr_t MessagePtr); - +void DS_CmdGetFileInfo(const CFE_SB_Buffer_t *BufPtr); /*******************************************************************/ /* \brief Add Message ID to Packet Filter Table -** +** ** \par Description ** Set MID selection for unused packet filter table entry ** Reject invalid commands @@ -457,13 +439,12 @@ void DS_CmdGetFileInfo(CFE_SB_MsgPtr_t MessagePtr); ** ** \par Assumptions, External Events, and Notes: ** (none) -** -** \param [in] Software Bus message pointer (#CFE_SB_MsgPtr_t) +** +** \param [in] Software Bus message pointer (#CFE_SB_Buffer_t*) ** ** \sa #DS_ADD_MID_CC, #DS_AddMidCmd_t */ -void DS_CmdAddMID(CFE_SB_MsgPtr_t MessagePtr); - +void DS_CmdAddMID(const CFE_SB_Buffer_t *BufPtr); #endif /* _ds_cmds_h_ */ diff --git a/fsw/src/ds_events.h b/fsw/src/ds_events.h index 5e748c5..74cf2c0 100644 --- a/fsw/src/ds_events.h +++ b/fsw/src/ds_events.h @@ -1,24 +1,24 @@ /************************************************************************ -** File: ds_events.h -** -** NASA Docket No. GSC-18448-1, and identified as "cFS Data Storage (DS) -** application version 2.5.2” -** -** Copyright © 2019 United States Government as represented by the Administrator -** of the National Aeronautics and Space Administration. All Rights Reserved. -** -** Licensed under the Apache License, Version 2.0 (the "License"); -** you may not use this file except in compliance with the License. -** You may obtain a copy of the License at -** http://www.apache.org/licenses/LICENSE-2.0 -** Unless required by applicable law or agreed to in writing, software -** distributed under the License is distributed on an "AS IS" BASIS, -** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -** See the License for the specific language governing permissions and -** limitations under the License. -** -** -** Purpose: +** File: ds_events.h +** +** NASA Docket No. GSC-18448-1, and identified as "cFS Data Storage (DS) +** application version 2.5.2” +** +** Copyright © 2019 United States Government as represented by the Administrator +** of the National Aeronautics and Space Administration. All Rights Reserved. +** +** Licensed under the Apache License, Version 2.0 (the "License"); +** you may not use this file except in compliance with the License. +** You may obtain a copy of the License at +** http://www.apache.org/licenses/LICENSE-2.0 +** Unless required by applicable law or agreed to in writing, software +** distributed under the License is distributed on an "AS IS" BASIS, +** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +** See the License for the specific language governing permissions and +** limitations under the License. +** +** +** Purpose: ** The CFS Data Storage (DS) Application event id header file ** ** Notes: @@ -27,7 +27,6 @@ #ifndef _ds_events_h_ #define _ds_events_h_ - /************************************************************************* ** Macro definitions **************************************************************************/ @@ -50,8 +49,7 @@ ** The fourth \c \%d field contains the Mission Revision Number ** The \c 0x\%08X field contains the address of the global data structure (DS_AppData) */ -#define DS_INIT_EID 1 - +#define DS_INIT_EID 1 /** ** \brief 'Application Initialization Error' @@ -70,8 +68,7 @@ ** performing cFE initialization. The value displayed is the return code ** from the function that failed. */ -#define DS_INIT_ERR_EID 2 - +#define DS_INIT_ERR_EID 2 /** ** \brief 'Application Termination Event' @@ -91,8 +88,7 @@ ** The value displayed is either zero (if cFE requested the termination) or ** the return code from the function that failed. */ -#define DS_EXIT_ERR_EID 3 - +#define DS_EXIT_ERR_EID 3 /** ** \brief 'Critical Data Store Access Error' @@ -109,8 +105,7 @@ ** This event indicates an error at startup as DS is initializing access ** to the Critical Data Store. Subsequent CDS errors are ignored by DS. */ -#define DS_INIT_CDS_ERR_EID 6 - +#define DS_INIT_CDS_ERR_EID 6 /** ** \brief 'Table Restored From CDS' @@ -127,8 +122,7 @@ ** initialization events indicate that the table data has been restored from ** the Critical Data Store (CDS). */ -#define DS_INIT_TBL_CDS_EID 7 - +#define DS_INIT_TBL_CDS_EID 7 /** ** \brief 'Table Create Error' @@ -147,14 +141,13 @@ ** then load default table data for each of the files. If DS is unable to ** create either table then the application will terminate. If DS is able ** to create both tables and is then unable to load both tables then DS will -** operate in a reduced function mode - thus allowing table load error +** operate in a reduced function mode - thus allowing table load error ** recovery via the cFE Table Services command interface. ** ** The values displayed indicate the cFE Table Services API function return ** code and the table filename, if appropriate. */ -#define DS_INIT_TBL_ERR_EID 8 - +#define DS_INIT_TBL_ERR_EID 8 /** ** \brief 'Destination File Table Validation Results' @@ -177,8 +170,7 @@ ** verification test for the table description text. Thus, the sum of good + bad ** + unused results will equal the number of table entries plus one. */ -#define DS_FIL_TBL_EID 10 - +#define DS_FIL_TBL_EID 10 /** ** \brief 'Destination File Validation Error' @@ -208,8 +200,7 @@ ** field is invalid then attempts to display the string could result in other ** errors. */ -#define DS_FIL_TBL_ERR_EID 11 - +#define DS_FIL_TBL_ERR_EID 11 /** ** \brief 'Filter Table Validation Results' @@ -232,16 +223,16 @@ ** verification test for the table description text. Thus, the sum of good + bad ** + unused results will equal the number of table entries plus one. */ -#define DS_FLT_TBL_EID 12 - +#define DS_FLT_TBL_EID 12 /** ** \brief 'Filter Table Validation Error' ** ** \event 'Filter table verify err: invalid descriptor text' -** \event 'Filter table verify err: MID = 0x\%04X, index = \%d, filter = \%d, file table index = \%d' -** \event 'Filter table verify err: MID = 0x\%04X, index = \%d, filter = \%d, filter type = \%d' -** \event 'Filter table verify err: MID = 0x\%04X, index = \%d, filter = \%d, filter parms N = \%d, X = \%d, O = \%d' +** \event 'Filter table verify err: MID = 0x\%08X, index = \%d, filter = \%d, file table index = \%d' +** \event 'Filter table verify err: MID = 0x\%08X, index = \%d, filter = \%d, filter type = \%d' +** \event 'Filter table verify err: MID = 0x\%08X, index = \%d, filter = \%d, filter parms N = \%d, X = \%d, O = +*\%d' ** ** \par Type: ERROR ** @@ -258,8 +249,7 @@ ** non-string fields. If a string field is invalid then attempts to display ** the string could result in other errors. */ -#define DS_FLT_TBL_ERR_EID 13 - +#define DS_FLT_TBL_ERR_EID 13 /** ** \brief 'Filename Create Error' @@ -284,8 +274,7 @@ ** destination to prevent the immediate re-occurrence of the error as more ** packets are written to this destination. */ -#define DS_FILE_NAME_ERR_EID 14 - +#define DS_FILE_NAME_ERR_EID 14 /** ** \brief 'File Create Error' @@ -309,8 +298,7 @@ ** to prevent the immediate re-occurrence of the error as more packets are ** written to this destination. */ -#define DS_CREATE_FILE_ERR_EID 15 - +#define DS_CREATE_FILE_ERR_EID 15 /** ** \brief 'File Write Error' @@ -334,13 +322,12 @@ ** disable the destination to prevent the immediate re-occurrence of the ** error as more packets are written to this destination. */ -#define DS_WRITE_FILE_ERR_EID 16 - +#define DS_WRITE_FILE_ERR_EID 16 /** ** \brief 'Invalid packet (command code)' ** -** \event 'Invalid command code: MID = 0x\%04X, CC = \%d' +** \event 'Invalid command code: MID = 0x\%08X, CC = \%d' ** ** \par Type: ERROR ** @@ -353,8 +340,7 @@ ** ** The event text will indicate the Message ID (MID) and command code. */ -#define DS_CMD_CODE_ERR_EID 21 - +#define DS_CMD_CODE_ERR_EID 21 /** ** \brief 'Housekeeping request (error)' @@ -368,8 +354,7 @@ ** This event signals the failed execution of a HK request command. ** The cause of the failure is an invalid command packet length. */ -#define DS_HK_REQUEST_ERR_EID 22 - +#define DS_HK_REQUEST_ERR_EID 22 /** ** \brief 'No-op command' @@ -389,8 +374,7 @@ ** The third \c \%d field contains the Revision Number ** The fourth \c \%d field contains the Mission Revision Number */ -#define DS_NOOP_CMD_EID 31 - +#define DS_NOOP_CMD_EID 31 /** ** \brief 'No-op command (error)' @@ -404,8 +388,7 @@ ** This event signals the failed execution of a NOOP command. ** The cause of the failure is an invalid command packet length. */ -#define DS_NOOP_CMD_ERR_EID 32 - +#define DS_NOOP_CMD_ERR_EID 32 /** ** \brief 'Reset Housekeeping Counters command' @@ -420,8 +403,7 @@ ** counters command. The command is used primarily to clear counters ** that have already been examined. */ -#define DS_RESET_CMD_EID 33 - +#define DS_RESET_CMD_EID 33 /** ** \brief 'Reset Housekeeping Counters command (error)' @@ -435,8 +417,7 @@ ** This event signals the failed execution of a RESET command. ** The cause of the failure is an invalid command packet length. */ -#define DS_RESET_CMD_ERR_EID 34 - +#define DS_RESET_CMD_ERR_EID 34 /** ** \brief 'Set Application Enable/Disable State command' @@ -455,8 +436,7 @@ ** The event text will indicate the new setting for the application ** enable/disable state. */ -#define DS_ENADIS_CMD_EID 35 - +#define DS_ENADIS_CMD_EID 35 /** ** \brief 'Set Application Enable/Disable State command (error)' @@ -475,13 +455,12 @@ ** ** The event text will indicate the cause of the failure. */ -#define DS_ENADIS_CMD_ERR_EID 36 - +#define DS_ENADIS_CMD_ERR_EID 36 /** ** \brief 'Set Filter File Index command' ** -** \event 'FILTER FILE command: MID = 0x\%X, index = \%d, filter = \%d, file = \%d' +** \event 'FILTER FILE command: MID = 0x\%08X, index = \%d, filter = \%d, file = \%d' ** ** \par Type: DEBUG ** @@ -496,7 +475,7 @@ ** ** File selections are expressed as an index into the Destination File ** Table. -** +** ** This event signals the successful execution of a command to set the ** destination file index for a single filter entry in the Packet Filter ** Table. @@ -504,8 +483,7 @@ ** The event text will indicate the packet message ID, the filter table ** index, the filter array index and the new file table index selection. */ -#define DS_FILE_CMD_EID 37 - +#define DS_FILE_CMD_EID 37 /** ** \brief 'Set Filter File Index command (error)' @@ -532,13 +510,12 @@ ** ** The event text will indicate the cause of the failure. */ -#define DS_FILE_CMD_ERR_EID 38 - +#define DS_FILE_CMD_ERR_EID 38 /** ** \brief 'Set Filter Type command' ** -** \event 'FILTER TYPE command: MID = 0x\%04X, index = \%d, filter = \%d, type = \%d' +** \event 'FILTER TYPE command: MID = 0x\%08X, index = \%d, filter = \%d, type = \%d' ** ** \par Type: DEBUG ** @@ -557,8 +534,7 @@ ** The event text will indicate the packet message ID, the filter table ** index, the filter array index and the new filter type selection. */ -#define DS_FTYPE_CMD_EID 39 - +#define DS_FTYPE_CMD_EID 39 /** ** \brief 'Set Filter Type command (error)' @@ -585,13 +561,12 @@ ** ** The event text will indicate the cause of the failure. */ -#define DS_FTYPE_CMD_ERR_EID 40 - +#define DS_FTYPE_CMD_ERR_EID 40 /** ** \brief 'Set Filter Parameters command' ** -** \event 'FILTER PARMS command: MID = 0x\%04X, index = \%d, filter = \%d, N = \%d, X = \%d, O = \%d' +** \event 'FILTER PARMS command: MID = 0x\%08X, index = \%d, filter = \%d, N = \%d, X = \%d, O = \%d' ** ** \par Type: DEBUG ** @@ -611,8 +586,7 @@ ** The event text will indicate the packet message ID, the filter table ** index, the filter array index and the new filter parameters (N,X,O). */ -#define DS_PARMS_CMD_EID 41 - +#define DS_PARMS_CMD_EID 41 /** ** \brief 'Set Filter Parameters command (error)' @@ -640,8 +614,7 @@ ** ** The event text will indicate the cause of the failure. */ -#define DS_PARMS_CMD_ERR_EID 42 - +#define DS_PARMS_CMD_ERR_EID 42 /** ** \brief 'Set Filename Type command' @@ -658,8 +631,7 @@ ** The event text will indicate the file table index, and the new ** filename type. */ -#define DS_NTYPE_CMD_EID 43 - +#define DS_NTYPE_CMD_EID 43 /** ** \brief 'Set Filename Type command (error)' @@ -683,8 +655,7 @@ ** ** The event text will indicate the cause of the failure. */ -#define DS_NTYPE_CMD_ERR_EID 44 - +#define DS_NTYPE_CMD_ERR_EID 44 /** ** \brief 'Set File Enable/Disable State command' @@ -701,8 +672,7 @@ ** The event text will indicate the file table index, and the new ** file enable/disable state. */ -#define DS_STATE_CMD_EID 45 - +#define DS_STATE_CMD_EID 45 /** ** \brief 'Set File Enable/Disable State command (error)' @@ -726,8 +696,7 @@ ** ** The event text will indicate the cause of the failure. */ -#define DS_STATE_CMD_ERR_EID 46 - +#define DS_STATE_CMD_ERR_EID 46 /** ** \brief 'Set Filename Path command' @@ -744,8 +713,7 @@ ** The event text will indicate the file table index, and the new ** filename path text. */ -#define DS_PATH_CMD_EID 47 - +#define DS_PATH_CMD_EID 47 /** ** \brief 'Set Filename Path command (error)' @@ -769,8 +737,7 @@ ** ** The event text will indicate the cause of the failure. */ -#define DS_PATH_CMD_ERR_EID 48 - +#define DS_PATH_CMD_ERR_EID 48 /** ** \brief 'Set File Basename command' @@ -787,8 +754,7 @@ ** The event text will indicate the file table index, and the new ** file basename text. */ -#define DS_BASE_CMD_EID 49 - +#define DS_BASE_CMD_EID 49 /** ** \brief 'Set File Basename command (error)' @@ -812,8 +778,7 @@ ** ** The event text will indicate the cause of the failure. */ -#define DS_BASE_CMD_ERR_EID 50 - +#define DS_BASE_CMD_ERR_EID 50 /** ** \brief 'Set Filename Extension command' @@ -830,8 +795,7 @@ ** The event text will indicate the file table index, and the new ** filename extension text. */ -#define DS_EXT_CMD_EID 51 - +#define DS_EXT_CMD_EID 51 /** ** \brief 'Set Filename Extension command (error)' @@ -855,8 +819,7 @@ ** ** The event text will indicate the cause of the failure. */ -#define DS_EXT_CMD_ERR_EID 52 - +#define DS_EXT_CMD_ERR_EID 52 /** ** \brief 'Set Max File Size command' @@ -873,8 +836,7 @@ ** The event text will indicate the file table index, and the new ** file size limit. */ -#define DS_SIZE_CMD_EID 53 - +#define DS_SIZE_CMD_EID 53 /** ** \brief 'Set Max File Size command (error)' @@ -898,8 +860,7 @@ ** ** The event text will indicate the cause of the failure. */ -#define DS_SIZE_CMD_ERR_EID 54 - +#define DS_SIZE_CMD_ERR_EID 54 /** ** \brief 'Set Max File Age command' @@ -916,8 +877,7 @@ ** The event text will indicate the file table index, and the new ** file age limit. */ -#define DS_AGE_CMD_EID 55 - +#define DS_AGE_CMD_EID 55 /** ** \brief 'Set Max File Age command (error)' @@ -941,8 +901,7 @@ ** ** The event text will indicate the cause of the failure. */ -#define DS_AGE_CMD_ERR_EID 56 - +#define DS_AGE_CMD_ERR_EID 56 /** ** \brief 'Set Sequence Count command' @@ -959,8 +918,7 @@ ** The event text will indicate the file table index, and the new ** sequence count. */ -#define DS_SEQ_CMD_EID 57 - +#define DS_SEQ_CMD_EID 57 /** ** \brief 'Set Sequence Count command (error)' @@ -984,8 +942,7 @@ ** ** The event text will indicate the cause of the failure. */ -#define DS_SEQ_CMD_ERR_EID 58 - +#define DS_SEQ_CMD_ERR_EID 58 /** ** \brief 'Close Destination File command' @@ -1002,8 +959,7 @@ ** This command will succeed if the file table index is valid, ** regardless of whether there was an open file. */ -#define DS_CLOSE_CMD_EID 59 - +#define DS_CLOSE_CMD_EID 59 /** ** \brief 'Close Destination File command (error)' @@ -1017,12 +973,11 @@ ** ** This event signals the failed execution of a command to close the ** selected Destination File. The cause of the failure may be an -** invalid command packet length or an invalid file table index. +** invalid command packet length or an invalid file table index. ** ** The event text will indicate the cause of the failure. */ -#define DS_CLOSE_CMD_ERR_EID 60 - +#define DS_CLOSE_CMD_ERR_EID 60 /** ** \brief 'File Move Error' @@ -1042,8 +997,7 @@ ** ** The event text will indicate the cause of the failure. */ -#define DS_MOVE_FILE_ERR_EID 61 - +#define DS_MOVE_FILE_ERR_EID 61 /** ** \brief 'Get File Info command' @@ -1061,7 +1015,6 @@ */ #define DS_GET_FILE_INFO_CMD_EID 62 - /** ** \brief 'Get File Info command (error)' ** @@ -1073,17 +1026,16 @@ ** ** This event signals the failed execution of a command to get the ** file info diagnostic packet. The cause of the failure is an -** invalid command packet length. +** invalid command packet length. ** ** The event text will indicate the expected and actual packet size. */ -#define DS_GET_FILE_INFO_CMD_ERR_EID 63 - +#define DS_GET_FILE_INFO_CMD_ERR_EID 63 /** ** \brief 'Add Message ID to Filter Table command' ** -** \event 'ADD MID command: MID = 0x\%04X, filter index = \%d, hash index = \%d' +** \event 'ADD MID command: MID = 0x\%08X, filter index = \%d, hash index = \%d' ** ** \par Type: DEBUG ** @@ -1096,16 +1048,15 @@ ** available for adding the new message ID. The new message ID must ** not be zero and must not already exist in the table. */ -#define DS_ADD_MID_CMD_EID 64 - +#define DS_ADD_MID_CMD_EID 64 /** ** \brief 'Add Message ID to Filter Table command (error)' ** ** \event 'Invalid ADD MID command length: expected = \%d, actual = \%d' -** \event 'Invalid ADD MID command arg: invalid MID = 0x\%4X' +** \event 'Invalid ADD MID command arg: invalid MID = 0x\%08X' ** \event 'Invalid ADD MID command: filter table is not loaded' -** \event 'Invalid ADD MID command: MID = 0x\%4X is already in filter table at index = \%d' +** \event 'Invalid ADD MID command: MID = 0x\%08X is already in filter table at index = \%d' ** \event 'Invalid ADD MID command: filter table is full' ** ** \par Type: ERROR @@ -1123,8 +1074,7 @@ ** ** The event text will indicate the cause of the failure. */ -#define DS_ADD_MID_CMD_ERR_EID 65 - +#define DS_ADD_MID_CMD_ERR_EID 65 /** ** \brief 'Close All Destination Files command' @@ -1140,8 +1090,7 @@ ** ** This command will succeed regardless of whether there was an open file. */ -#define DS_CLOSE_ALL_CMD_EID 66 - +#define DS_CLOSE_ALL_CMD_EID 66 /** ** \brief 'Close All Destination Files command (error)' @@ -1165,17 +1114,16 @@ ** \event 'FILE NAME error: Path empty. dest = %d, path = '%s'' ** ** \par Type: ERROR -** +** ** \par Cause: ** -** This event is generated when DS_FileCreateName is invoked with an +** This event is generated when DS_FileCreateName is invoked with an ** empty path name. ** ** The dest field is the file index. ** The path field is the path name. */ -#define DS_FILE_CREATE_EMPTY_PATH_ERR_EID 68 - +#define DS_FILE_CREATE_EMPTY_PATH_ERR_EID 68 /** ** \brief 'Invalid filter tbl name in DS_AppProcessHK. Name=\%s, @@ -1188,11 +1136,11 @@ ** \par Cause: ** ** This event is issued when an invalid filter table name is passed to - ** the CFE_TBL_GetInfo. + ** the CFE_TBL_GetInfo. ** - ** The "Name" field in the event text is the table name passed to + ** The "Name" field in the event text is the table name passed to ** #CFE_TBL_GetInfo. - ** The "Err" field in the event text is the error code returned from + ** The "Err" field in the event text is the error code returned from ** #CFE_TBL_GetInfo. */ #define DS_APPHK_FILTER_TBL_ERR_EID 68 @@ -1205,15 +1153,13 @@ ** ** \par Cause: ** - ** This event is issued when the filter table name is not successfully + ** This event is issued when the filter table name is not successfully ** created (via snprintf) in the DS_AppProcessHK function. ** ** The "Err" field in the event text is the value returned from snprintf. */ #define DS_APPHK_FILTER_TBL_PRINT_ERR_EID 69 - - #endif /* _ds_events_h_ */ /************************/ diff --git a/fsw/src/ds_file.c b/fsw/src/ds_file.c index 019b916..eaeb65d 100644 --- a/fsw/src/ds_file.c +++ b/fsw/src/ds_file.c @@ -1,22 +1,22 @@ /************************************************************************ -** File: ds_file.c +** File: ds_file.c ** -** NASA Docket No. GSC-18448-1, and identified as "cFS Data Storage (DS) -** application version 2.5.2” -** -** Copyright © 2019 United States Government as represented by the Administrator -** of the National Aeronautics and Space Administration. All Rights Reserved. +** NASA Docket No. GSC-18448-1, and identified as "cFS Data Storage (DS) +** application version 2.5.2” +** +** Copyright © 2019 United States Government as represented by the Administrator +** of the National Aeronautics and Space Administration. All Rights Reserved. +** +** Licensed under the Apache License, Version 2.0 (the "License"); +** you may not use this file except in compliance with the License. +** You may obtain a copy of the License at +** http://www.apache.org/licenses/LICENSE-2.0 +** Unless required by applicable law or agreed to in writing, software +** distributed under the License is distributed on an "AS IS" BASIS, +** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +** See the License for the specific language governing permissions and +** limitations under the License. ** -** Licensed under the Apache License, Version 2.0 (the "License"); -** you may not use this file except in compliance with the License. -** You may obtain a copy of the License at -** http://www.apache.org/licenses/LICENSE-2.0 -** Unless required by applicable law or agreed to in writing, software -** distributed under the License is distributed on an "AS IS" BASIS, -** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -** See the License for the specific language governing permissions and -** limitations under the License. -** ** Purpose: ** CFS Data Storage (DS) file functions ** @@ -46,15 +46,15 @@ /* */ /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ -void DS_FileStorePacket(CFE_SB_MsgId_t MessageID, CFE_SB_MsgPtr_t MessagePtr) +void DS_FileStorePacket(CFE_SB_MsgId_t MessageID, const CFE_SB_Buffer_t *BufPtr) { - DS_PacketEntry_t *PacketEntry = NULL; - DS_FilterParms_t *FilterParms = NULL; - bool PassedFilter = false; - bool FilterResult = false; - int32 FilterIndex = 0; - int32 FileIndex = 0; - int32 i = 0; + DS_PacketEntry_t *PacketEntry = NULL; + DS_FilterParms_t *FilterParms = NULL; + bool PassedFilter = false; + bool FilterResult = false; + int32 FilterIndex = 0; + int32 FileIndex = 0; + int32 i = 0; /* ** Convert packet MessageID to packet filter table index... @@ -70,7 +70,7 @@ void DS_FileStorePacket(CFE_SB_MsgId_t MessageID, CFE_SB_MsgPtr_t MessagePtr) } else { - PacketEntry = &DS_AppData.FilterTblPtr->Packet[FilterIndex]; + PacketEntry = &DS_AppData.FilterTblPtr->Packet[FilterIndex]; PassedFilter = false; /* @@ -83,8 +83,7 @@ void DS_FileStorePacket(CFE_SB_MsgId_t MessageID, CFE_SB_MsgPtr_t MessagePtr) /* ** Ignore unused and invalid filters... */ - if ((FilterParms->Algorithm_N != DS_UNUSED) && - (FilterParms->FileTableIndex < DS_DEST_FILE_CNT)) + if ((FilterParms->Algorithm_N != DS_UNUSED) && (FilterParms->FileTableIndex < DS_DEST_FILE_CNT)) { FileIndex = FilterParms->FileTableIndex; @@ -96,17 +95,15 @@ void DS_FileStorePacket(CFE_SB_MsgId_t MessageID, CFE_SB_MsgPtr_t MessagePtr) /* ** Apply filter algorithm to the packet... */ - FilterResult = CFS_IsPacketFiltered(MessagePtr, - FilterParms->FilterType, - FilterParms->Algorithm_N, - FilterParms->Algorithm_X, + FilterResult = CFS_IsPacketFiltered((CFE_MSG_Message_t *)BufPtr, FilterParms->FilterType, + FilterParms->Algorithm_N, FilterParms->Algorithm_X, FilterParms->Algorithm_O); if (FilterResult == false) { /* ** Write unfiltered packets to destination file... */ - DS_FileSetupWrite(FileIndex, MessagePtr); + DS_FileSetupWrite(FileIndex, BufPtr); PassedFilter = true; } } @@ -126,29 +123,27 @@ void DS_FileStorePacket(CFE_SB_MsgId_t MessageID, CFE_SB_MsgPtr_t MessagePtr) } } - return; } /* End of DS_FileStorePacket() */ - /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ /* */ /* DS_FileSetupWrite() - prepare to write packet data to file */ /* */ /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ -void DS_FileSetupWrite(int32 FileIndex, CFE_SB_MsgPtr_t MessagePtr) +void DS_FileSetupWrite(int32 FileIndex, const CFE_SB_Buffer_t *BufPtr) { - DS_DestFileEntry_t *DestFile = &DS_AppData.DestFileTblPtr->File[FileIndex]; - DS_AppFileStatus_t *FileStatus = &DS_AppData.FileStatus[FileIndex]; - bool OpenNewFile = false; - uint16 PacketLength = 0; + DS_DestFileEntry_t *DestFile = &DS_AppData.DestFileTblPtr->File[FileIndex]; + DS_AppFileStatus_t *FileStatus = &DS_AppData.FileStatus[FileIndex]; + bool OpenNewFile = false; + size_t PacketLength = 0; /* ** Create local pointers for array indexed data... */ - PacketLength = CFE_SB_GetTotalMsgLength(MessagePtr); + CFE_MSG_GetSize(&BufPtr->Msg, &PacketLength); if (FileStatus->FileHandle == DS_CLOSED_FILE_HANDLE) { @@ -176,7 +171,7 @@ void DS_FileSetupWrite(int32 FileIndex, CFE_SB_MsgPtr_t MessagePtr) /* ** File size is OK - write packet data to file... */ - DS_FileWriteData(FileIndex, MessagePtr, PacketLength); + DS_FileWriteData(FileIndex, BufPtr, PacketLength); } } @@ -195,7 +190,7 @@ void DS_FileSetupWrite(int32 FileIndex, CFE_SB_MsgPtr_t MessagePtr) ** limit test, we avoid issues resulting from having the max ** file size set less than the size of one packet... */ - DS_FileWriteData(FileIndex, MessagePtr, PacketLength); + DS_FileWriteData(FileIndex, BufPtr, PacketLength); } } @@ -207,23 +202,21 @@ void DS_FileSetupWrite(int32 FileIndex, CFE_SB_MsgPtr_t MessagePtr) } /* End of DS_FileSetupWrite() */ - /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ /* */ /* DS_FileWriteData() - write data to destination file */ /* */ /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ -void DS_FileWriteData(int32 FileIndex, void *FileData, uint32 DataLength) +void DS_FileWriteData(int32 FileIndex, const void *FileData, uint32 DataLength) { DS_AppFileStatus_t *FileStatus = &DS_AppData.FileStatus[FileIndex]; - int32 Result = CFE_SUCCESS; + int32 Result = CFE_SUCCESS; /* ** Let cFE manage the file I/O... */ Result = OS_write(FileStatus->FileHandle, FileData, DataLength); - if (Result == DataLength) { /* @@ -231,7 +224,7 @@ void DS_FileWriteData(int32 FileIndex, void *FileData, uint32 DataLength) */ DS_AppData.FileWriteCounter++; - FileStatus->FileSize += DataLength; + FileStatus->FileSize += DataLength; FileStatus->FileGrowth += DataLength; } else @@ -246,7 +239,6 @@ void DS_FileWriteData(int32 FileIndex, void *FileData, uint32 DataLength) } /* End of DS_FileWriteData() */ - /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ /* */ /* DS_FileWriteHeader() - write header to destination file */ @@ -255,16 +247,18 @@ void DS_FileWriteData(int32 FileIndex, void *FileData, uint32 DataLength) void DS_FileWriteHeader(int32 FileIndex) { - DS_DestFileEntry_t *DestFile = &DS_AppData.DestFileTblPtr->File[FileIndex]; +#if (DS_FILE_HEADER_TYPE == DS_FILE_HEADER_CFE) + + DS_DestFileEntry_t *DestFile = &DS_AppData.DestFileTblPtr->File[FileIndex]; DS_AppFileStatus_t *FileStatus = &DS_AppData.FileStatus[FileIndex]; - CFE_FS_Header_t CFE_FS_Header; - DS_FileHeader_t DS_FileHeader; - int32 Result = CFE_SUCCESS; + CFE_FS_Header_t CFE_FS_Header; + DS_FileHeader_t DS_FileHeader; + int32 Result = CFE_SUCCESS; /* ** Initialize selected parts of the cFE file header... */ - CFE_PSP_MemSet(&CFE_FS_Header, 0, sizeof(CFE_FS_Header_t)); + CFE_PSP_MemSet(&CFE_FS_Header, 0, sizeof(CFE_FS_Header_t)); CFE_FS_Header.SubType = DS_FILE_HDR_SUBTYPE; strcpy(CFE_FS_Header.Description, DS_FILE_HDR_DESCRIPTION); @@ -280,7 +274,7 @@ void DS_FileWriteHeader(int32 FileIndex) */ DS_AppData.FileWriteCounter++; - FileStatus->FileSize += sizeof(CFE_FS_Header_t); + FileStatus->FileSize += sizeof(CFE_FS_Header_t); FileStatus->FileGrowth += sizeof(CFE_FS_Header_t); /* @@ -288,13 +282,13 @@ void DS_FileWriteHeader(int32 FileIndex) */ CFE_PSP_MemSet(&DS_FileHeader, 0, sizeof(DS_FileHeader_t)); DS_FileHeader.FileTableIndex = FileIndex; - DS_FileHeader.FileNameType = DestFile->FileNameType; + DS_FileHeader.FileNameType = DestFile->FileNameType; strcpy(DS_FileHeader.FileName, FileStatus->FileName); /* ** Manually write the secondary header... */ - Result = OS_write(FileStatus->FileHandle, &DS_FileHeader, sizeof(DS_FileHeader_t)); + Result = OS_write(FileStatus->FileHandle, &DS_FileHeader, sizeof(DS_FileHeader_t)); if (Result == sizeof(DS_FileHeader_t)) { @@ -303,7 +297,7 @@ void DS_FileWriteHeader(int32 FileIndex) */ DS_AppData.FileWriteCounter++; - FileStatus->FileSize += sizeof(DS_FileHeader_t); + FileStatus->FileSize += sizeof(DS_FileHeader_t); FileStatus->FileGrowth += sizeof(DS_FileHeader_t); } else @@ -321,12 +315,11 @@ void DS_FileWriteHeader(int32 FileIndex) */ DS_FileWriteError(FileIndex, sizeof(CFE_FS_Header_t), Result); } - +#endif return; } /* End of DS_FileWriteHeader() */ - /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ /* */ /* DS_FileWriteError() - file write error handler */ @@ -342,8 +335,8 @@ void DS_FileWriteError(uint32 FileIndex, uint32 DataLength, int32 WriteResult) DS_AppData.FileWriteErrCounter++; CFE_EVS_SendEvent(DS_WRITE_FILE_ERR_EID, CFE_EVS_EventType_ERROR, - "FILE WRITE error: result = %d, length = %d, dest = %d, name = '%s'", - (int)WriteResult, (int)DataLength, (int)FileIndex, FileStatus->FileName); + "FILE WRITE error: result = %d, length = %d, dest = %d, name = '%s'", (int)WriteResult, + (int)DataLength, (int)FileIndex, FileStatus->FileName); DS_FileCloseDest(FileIndex); @@ -353,7 +346,6 @@ void DS_FileWriteError(uint32 FileIndex, uint32 DataLength, int32 WriteResult) } /* End of DS_FileWriteError() */ - /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ /* */ /* DS_FileCreateDest() - create destination file */ @@ -361,9 +353,10 @@ void DS_FileWriteError(uint32 FileIndex, uint32 DataLength, int32 WriteResult) /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ void DS_FileCreateDest(uint32 FileIndex) { - DS_DestFileEntry_t *DestFile = &DS_AppData.DestFileTblPtr->File[FileIndex]; - DS_AppFileStatus_t *FileStatus = &DS_AppData.FileStatus[FileIndex]; - int32 Result = CFE_SUCCESS; + DS_DestFileEntry_t *DestFile = &DS_AppData.DestFileTblPtr->File[FileIndex]; + DS_AppFileStatus_t *FileStatus = &DS_AppData.FileStatus[FileIndex]; + int32 Result = CFE_SUCCESS; + osal_id_t LocalFileHandle = 0; /* ** Create filename from "path + base + sequence count + extension"... @@ -375,9 +368,10 @@ void DS_FileCreateDest(uint32 FileIndex) /* ** Success - create a new destination file... */ - Result = OS_creat(FileStatus->FileName, OS_READ_WRITE); + Result = OS_OpenCreate(&LocalFileHandle, FileStatus->FileName, OS_FILE_FLAG_CREATE | OS_FILE_FLAG_TRUNCATE, + OS_READ_WRITE); - if (Result < 0) + if (Result != OS_SUCCESS) { /* ** Error - send event, disable destination and reset filename... @@ -385,8 +379,8 @@ void DS_FileCreateDest(uint32 FileIndex) DS_AppData.FileWriteErrCounter++; CFE_EVS_SendEvent(DS_CREATE_FILE_ERR_EID, CFE_EVS_EventType_ERROR, - "FILE CREATE error: result = %d, dest = %d, name = '%s'", - (int)Result, (int)FileIndex, FileStatus->FileName); + "FILE CREATE error: result = %d, dest = %d, name = '%s'", (int)Result, (int)FileIndex, + FileStatus->FileName); CFE_PSP_MemSet(FileStatus->FileName, 0, DS_TOTAL_FNAME_BUFSIZE); @@ -402,7 +396,7 @@ void DS_FileCreateDest(uint32 FileIndex) */ DS_AppData.FileWriteCounter++; - FileStatus->FileHandle = Result; + FileStatus->FileHandle = LocalFileHandle; /* ** Initialize and write config specific file header... @@ -412,8 +406,7 @@ void DS_FileCreateDest(uint32 FileIndex) /* ** Update sequence count if have one and write successful... */ - if ((FileStatus->FileHandle != DS_CLOSED_FILE_HANDLE) && - (DestFile->FileNameType == DS_BY_COUNT)) + if ((FileStatus->FileHandle != DS_CLOSED_FILE_HANDLE) && (DestFile->FileNameType == DS_BY_COUNT)) { FileStatus->FileCount++; if (FileStatus->FileCount > DS_MAX_SEQUENCE_COUNT) @@ -433,7 +426,6 @@ void DS_FileCreateDest(uint32 FileIndex) } /* End of DS_FileCreateDest() */ - /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ /* */ /* Create destination filename */ @@ -441,10 +433,10 @@ void DS_FileCreateDest(uint32 FileIndex) /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ void DS_FileCreateName(uint32 FileIndex) { - DS_DestFileEntry_t *DestFile = &DS_AppData.DestFileTblPtr->File[FileIndex]; - DS_AppFileStatus_t *FileStatus = &DS_AppData.FileStatus[FileIndex]; - int32 TotalLength = 0; - int32 WorknameLen = 2 * DS_TOTAL_FNAME_BUFSIZE; + DS_DestFileEntry_t *DestFile = &DS_AppData.DestFileTblPtr->File[FileIndex]; + DS_AppFileStatus_t *FileStatus = &DS_AppData.FileStatus[FileIndex]; + int32 TotalLength = 0; + int32 WorknameLen = 2 * DS_TOTAL_FNAME_BUFSIZE; char Workname[WorknameLen]; char Sequence[DS_TOTAL_FNAME_BUFSIZE]; @@ -455,34 +447,40 @@ void DS_FileCreateName(uint32 FileIndex) /* ** Start with the path portion of the filename... */ - strncpy(Workname, DestFile->Pathname, WorknameLen); + strncpy(Workname, DestFile->Pathname, WorknameLen - 1); Workname[WorknameLen - 1] = '\0'; - TotalLength = strlen(Workname); + TotalLength = strlen(Workname); /* ** Add a path separator (if needed) before appending the base name... */ - if (TotalLength > 0) + if (TotalLength > 0) { if (Workname[TotalLength - 1] != DS_PATH_SEPARATOR) { - Workname[TotalLength] = DS_PATH_SEPARATOR; - Workname[TotalLength + 1] = DS_STRING_TERMINATOR; + /* if there's room, write the path separator and a new terminating + character. If there's not room, this will be caught by the + next condition */ + if (TotalLength != (WorknameLen - 1)) + { + Workname[TotalLength] = DS_PATH_SEPARATOR; + Workname[TotalLength + 1] = DS_STRING_TERMINATOR; + } } } - else { + else + { /* If path name is empty, start with the path separator. This should - * not happen because the path name is verified as non-empty in + * not happen because the path name is verified as non-empty in * DS_TableVerifyDestFileEntry */ CFE_EVS_SendEvent(DS_FILE_CREATE_EMPTY_PATH_ERR_EID, CFE_EVS_EventType_ERROR, - "FILE NAME error: Path empty. dest = %d, path = '%s'", - (int)FileIndex, DestFile->Pathname); + "FILE NAME error: Path empty. dest = %d, path = '%s'", (int)FileIndex, DestFile->Pathname); /* ** Something needs to get fixed before we try again... */ DS_AppData.FileStatus[FileIndex].FileState = DS_DISABLED; - + return; } @@ -549,9 +547,8 @@ void DS_FileCreateName(uint32 FileIndex) ** Error - send event and disable destination... */ CFE_EVS_SendEvent(DS_FILE_NAME_ERR_EID, CFE_EVS_EventType_ERROR, - "FILE NAME error: dest = %d, path = '%s', base = '%s', seq = '%s', ext = '%s'", - (int)FileIndex, DestFile->Pathname, DestFile->Basename, - Sequence, DestFile->Extension); + "FILE NAME error: dest = %d, path = '%s', base = '%s', seq = '%s', ext = '%s'", + (int)FileIndex, DestFile->Pathname, DestFile->Basename, Sequence, DestFile->Extension); /* ** Something needs to get fixed before we try again... @@ -563,7 +560,6 @@ void DS_FileCreateName(uint32 FileIndex) } /* End of DS_FileCreateName() */ - /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ /* */ /* DS_FileCreateSequence() - set text from count or time */ @@ -574,7 +570,7 @@ void DS_FileCreateSequence(char *Buffer, uint32 Type, uint32 Count) CFE_TIME_SysTime_t TimeToPrint; uint32 SequenceCount = 0; - uint32 NumericDigit = 0; + uint32 NumericDigit = 0; int32 BufferIndex = 0; @@ -622,25 +618,25 @@ void DS_FileCreateSequence(char *Buffer, uint32 Type, uint32 Count) */ CFE_TIME_Print(Buffer, TimeToPrint); - /* - ** cFE time string has format: "YYYY-DDD-HH:MM:SS.sssss"... - */ - #define CFE_YYYY_INDEX 0 - #define CFE_DDD_INDEX 5 - #define CFE_HH_INDEX 9 - #define CFE_MM_INDEX 12 - #define CFE_SS_INDEX 15 - #define CFE_ssss_INDEX 18 - - /* - ** DS time string has format: "YYYYDDDHHMMSS"... - */ - #define DS_YYYY_INDEX 0 - #define DS_DDD_INDEX 4 - #define DS_HH_INDEX 7 - #define DS_MM_INDEX 9 - #define DS_SS_INDEX 11 - #define DS_TERM_INDEX 13 +/* +** cFE time string has format: "YYYY-DDD-HH:MM:SS.sssss"... +*/ +#define CFE_YYYY_INDEX 0 +#define CFE_DDD_INDEX 5 +#define CFE_HH_INDEX 9 +#define CFE_MM_INDEX 12 +#define CFE_SS_INDEX 15 +#define CFE_ssss_INDEX 18 + +/* +** DS time string has format: "YYYYDDDHHMMSS"... +*/ +#define DS_YYYY_INDEX 0 +#define DS_DDD_INDEX 4 +#define DS_HH_INDEX 7 +#define DS_MM_INDEX 9 +#define DS_SS_INDEX 11 +#define DS_TERM_INDEX 13 /* ** Convert cFE time string to DS time string by moving @@ -697,7 +693,6 @@ void DS_FileCreateSequence(char *Buffer, uint32 Type, uint32 Count) } /* End of DS_FileCreateSequence() */ - /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ /* */ /* DS_FileUpdateHeader() - update destination file header */ @@ -706,12 +701,13 @@ void DS_FileCreateSequence(char *Buffer, uint32 Type, uint32 Count) void DS_FileUpdateHeader(int32 FileIndex) { +#if (DS_FILE_HEADER_TYPE == DS_FILE_HEADER_CFE) /* ** Update CFE specific header fields... */ - DS_AppFileStatus_t *FileStatus = &DS_AppData.FileStatus[FileIndex]; - CFE_TIME_SysTime_t CurrentTime = CFE_TIME_GetTime(); - int32 Result = CFE_SUCCESS; + DS_AppFileStatus_t *FileStatus = &DS_AppData.FileStatus[FileIndex]; + CFE_TIME_SysTime_t CurrentTime = CFE_TIME_GetTime(); + int32 Result = CFE_SUCCESS; Result = OS_lseek(FileStatus->FileHandle, sizeof(CFE_FS_Header_t), SEEK_SET); @@ -733,12 +729,11 @@ void DS_FileUpdateHeader(int32 FileIndex) { DS_AppData.FileUpdateErrCounter++; } - +#endif return; } /* End of DS_FileUpdateHeader() */ - /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ /* */ /* DS_FileCloseDest() - close destination file */ @@ -748,14 +743,14 @@ void DS_FileCloseDest(int32 FileIndex) { DS_AppFileStatus_t *FileStatus = &DS_AppData.FileStatus[FileIndex]; - #if (DS_MOVE_FILES == TRUE) +#if (DS_MOVE_FILES == true) /* ** Move file from working directory to downlink directory... */ int32 OS_result; int32 PathLength; char *FileName; - char PathName[DS_TOTAL_FNAME_BUFSIZE]; + char PathName[DS_TOTAL_FNAME_BUFSIZE]; /* ** First, close the file... @@ -783,30 +778,40 @@ void DS_FileCloseDest(int32 FileIndex) */ FileName = strrchr(FileStatus->FileName, '/'); - /* - ** Verify that directory name plus filename is not too large... - */ - if ((PathLength + strlen(FileName)) < DS_TOTAL_FNAME_BUFSIZE) + if (FileName != NULL) { /* - ** Append the filename (with slash) to the directory name... + ** Verify that directory name plus filename is not too large... */ - strcat(PathName, FileName); + if ((PathLength + strlen(FileName)) < DS_TOTAL_FNAME_BUFSIZE) + { + /* + ** Append the filename (with slash) to the directory name... + */ + strcat(PathName, FileName); - /* - ** Use OS function to move/rename the file... - */ - OS_result = OS_mv(FileStatus->FileName, PathName); - /* OS_result = OS_rename(FileStatus->FileName, PathName); */ + /* + ** Use OS function to move/rename the file... + */ + OS_result = OS_mv(FileStatus->FileName, PathName); - if (OS_result != OS_SUCCESS) + if (OS_result != OS_SUCCESS) + { + /* + ** Error - send event but leave destination enabled... + */ + CFE_EVS_SendEvent(DS_MOVE_FILE_ERR_EID, CFE_EVS_EventType_ERROR, + "FILE MOVE error: src = '%s', tgt = '%s', result = %d", FileStatus->FileName, + PathName, OS_result); + } + } + else { /* ** Error - send event but leave destination enabled... */ CFE_EVS_SendEvent(DS_MOVE_FILE_ERR_EID, CFE_EVS_EventType_ERROR, - "FILE MOVE error: src = '%s', tgt = '%s', result = %d", - FileStatus->FileName, PathName, OS_result); + "FILE MOVE error: dir name = '%s', filename = '%s'", PathName, FileName); } } else @@ -815,23 +820,22 @@ void DS_FileCloseDest(int32 FileIndex) ** Error - send event but leave destination enabled... */ CFE_EVS_SendEvent(DS_MOVE_FILE_ERR_EID, CFE_EVS_EventType_ERROR, - "FILE MOVE error: dir name = '%s', filename = '%s'", - PathName, FileName); + "FILE MOVE error: dir name = '%s', filename = '%s'", PathName, FileName); } } - #else +#else /* ** Close the file... */ OS_close(FileStatus->FileHandle); - #endif +#endif /* ** Reset status for this destination file... */ FileStatus->FileHandle = DS_CLOSED_FILE_HANDLE; - FileStatus->FileAge = 0; - FileStatus->FileSize = 0; + FileStatus->FileAge = 0; + FileStatus->FileSize = 0; /* ** Remove previous filename from status data... @@ -842,7 +846,6 @@ void DS_FileCloseDest(int32 FileIndex) } /* End of DS_FileCloseDest() */ - /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ /* */ /* DS_FileTestAge() -- file age processor */ @@ -855,7 +858,7 @@ void DS_FileTestAge(uint32 ElapsedSeconds) /* ** Called from HK request command handler (elapsed = platform config) */ - if (DS_AppData.DestFileTblPtr != (DS_DestFileTable_t *) NULL) + if (DS_AppData.DestFileTblPtr != (DS_DestFileTable_t *)NULL) { /* ** Cannot test file age without destination file table... @@ -869,8 +872,7 @@ void DS_FileTestAge(uint32 ElapsedSeconds) { DS_AppData.FileStatus[FileIndex].FileAge += ElapsedSeconds; - if (DS_AppData.FileStatus[FileIndex].FileAge >= - DS_AppData.DestFileTblPtr->File[FileIndex].MaxFileAge) + if (DS_AppData.FileStatus[FileIndex].FileAge >= DS_AppData.DestFileTblPtr->File[FileIndex].MaxFileAge) { /* ** Close files that exceed maximum file age... @@ -886,8 +888,6 @@ void DS_FileTestAge(uint32 ElapsedSeconds) } /* End of DS_FileTestAge() */ - /************************/ /* End of File Comment */ /************************/ - diff --git a/fsw/src/ds_file.h b/fsw/src/ds_file.h index 82f6d45..07cec8f 100644 --- a/fsw/src/ds_file.h +++ b/fsw/src/ds_file.h @@ -1,27 +1,27 @@ /************************************************************************ -** File: ds_file.h -** -** NASA Docket No. GSC-18448-1, and identified as "cFS Data Storage (DS) -** application version 2.5.2” -** -** Copyright © 2019 United States Government as represented by the Administrator -** of the National Aeronautics and Space Administration. All Rights Reserved. -** -** Licensed under the Apache License, Version 2.0 (the "License"); -** you may not use this file except in compliance with the License. -** You may obtain a copy of the License at -** http://www.apache.org/licenses/LICENSE-2.0 -** Unless required by applicable law or agreed to in writing, software -** distributed under the License is distributed on an "AS IS" BASIS, -** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -** See the License for the specific language governing permissions and -** limitations under the License. -** -** -** Unless required by applicable law or agreed to in writing, software -** distributed under the License is distributed on an "AS IS" BASIS, -** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -** See the License for the specific language governing permissions and +** File: ds_file.h +** +** NASA Docket No. GSC-18448-1, and identified as "cFS Data Storage (DS) +** application version 2.5.2” +** +** Copyright © 2019 United States Government as represented by the Administrator +** of the National Aeronautics and Space Administration. All Rights Reserved. +** +** Licensed under the Apache License, Version 2.0 (the "License"); +** you may not use this file except in compliance with the License. +** You may obtain a copy of the License at +** http://www.apache.org/licenses/LICENSE-2.0 +** Unless required by applicable law or agreed to in writing, software +** distributed under the License is distributed on an "AS IS" BASIS, +** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +** See the License for the specific language governing permissions and +** limitations under the License. +** +** +** Unless required by applicable law or agreed to in writing, software +** distributed under the License is distributed on an "AS IS" BASIS, +** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +** See the License for the specific language governing permissions and ** limitations under the License. ** ** Purpose: @@ -36,28 +36,28 @@ #include "ds_platform_cfg.h" - /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ /* */ /* DS file header definitions */ /* */ /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ +#if (DS_FILE_HEADER_TYPE == DS_FILE_HEADER_CFE) /* ** \brief DS File Header (follows cFE file header at start of file) */ typedef struct { - uint32 CloseSeconds; /**< \brief Time when file was closed */ - uint32 CloseSubsecs; + uint32 CloseSeconds; /**< \brief Time when file was closed */ + uint32 CloseSubsecs; - uint16 FileTableIndex; /**< \brief Destination file table index */ - uint16 FileNameType; /**< \brief Filename type - count vs time */ + uint16 FileTableIndex; /**< \brief Destination file table index */ + uint16 FileNameType; /**< \brief Filename type - count vs time */ - char FileName[DS_TOTAL_FNAME_BUFSIZE]; /**< \brief On-board filename */ + char FileName[DS_TOTAL_FNAME_BUFSIZE]; /**< \brief On-board filename */ } DS_FileHeader_t; - +#endif /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ /* */ @@ -67,7 +67,7 @@ typedef struct /*******************************************************************/ /* \brief Data Storage packet processor -** +** ** \par Description ** This function searches for a packet filter table entry that ** matches the input argument Message ID. If no matching packet @@ -81,18 +81,17 @@ typedef struct ** ** \par Assumptions, External Events, and Notes: ** (none) -** +** ** \param [in] Message ID (extracted from message pointer) -** \param [in] Software Bus message pointer (#CFE_SB_MsgPtr_t) +** \param [in] Software Bus message pointer (#CFE_SB_Buffer_t*) ** ** \sa #DS_PacketEntry_t, #DS_FilterParms_t, #DS_DestFileEntry_t */ -void DS_FileStorePacket(CFE_SB_MsgId_t MessageID, CFE_SB_MsgPtr_t MessagePtr); - +void DS_FileStorePacket(CFE_SB_MsgId_t MessageID, const CFE_SB_Buffer_t *BufPtr); /*******************************************************************/ /* \brief Prepare to write to a data storage destination file -** +** ** \par Description ** This function is called for packets that have passed the ** common CFS filter algorithm. The function first queries the @@ -107,18 +106,17 @@ void DS_FileStorePacket(CFE_SB_MsgId_t MessageID, CFE_SB_MsgPtr_t MessagePtr); ** ** \par Assumptions, External Events, and Notes: ** (none) -** +** ** \param [in] Destination file index -** \param [in] Software Bus message pointer (#CFE_SB_MsgPtr_t) +** \param [in] Software Bus message pointer (#CFE_SB_Buffer_t*) ** ** \sa #DS_AppFileStatus_t, #DS_DestFileEntry_t */ -void DS_FileSetupWrite(int32 FileIndex, CFE_SB_MsgPtr_t MessagePtr); - +void DS_FileSetupWrite(int32 FileIndex, const CFE_SB_Buffer_t *BufPtr); /*******************************************************************/ /* \brief Write data (packet) to file -** +** ** \par Description ** This function writes data to an existing data storage ** destination file and updates the associated data rate @@ -127,19 +125,18 @@ void DS_FileSetupWrite(int32 FileIndex, CFE_SB_MsgPtr_t MessagePtr); ** ** \par Assumptions, External Events, and Notes: ** (none) -** +** ** \param [in] Destination file index ** \param [in] Pointer to packet data ** \param [in] Length of packet data ** ** \sa #DS_AppFileStatus_t, #DS_DestFileEntry_t */ -void DS_FileWriteData(int32 FileIndex, void *FileData, uint32 DataLength); - +void DS_FileWriteData(int32 FileIndex, const void *FileData, uint32 DataLength); /*******************************************************************/ /* \brief Write data storage file header -** +** ** \par Description ** This function is called just after opening a new data storage ** destination file. The purpose of the function is to write @@ -150,17 +147,16 @@ void DS_FileWriteData(int32 FileIndex, void *FileData, uint32 DataLength); ** ** \par Assumptions, External Events, and Notes: ** (none) -** +** ** \param [in] Destination file index ** ** \sa #DS_FileUpdateHeader */ void DS_FileWriteHeader(int32 FileIndex); - /*******************************************************************/ /* \brief File write error handler -** +** ** \par Description ** This function is called upon detection of a file I/O error ** that occurred while writing to a data storage destination @@ -172,7 +168,7 @@ void DS_FileWriteHeader(int32 FileIndex); ** ** \par Assumptions, External Events, and Notes: ** (none) -** +** ** \param [in] Destination file index ** \param [in] Length of data being written to file ** @@ -186,7 +182,7 @@ void DS_FileWriteError(uint32 FileIndex, uint32 DataLength, int32 WriteResult); /*******************************************************************/ /* \brief Create a new data storage destination file -** +** ** \par Description ** This function is called when a packet has passed the filter ** test and the destination file does not exist. The file may @@ -198,7 +194,7 @@ void DS_FileWriteError(uint32 FileIndex, uint32 DataLength, int32 WriteResult); ** ** \par Assumptions, External Events, and Notes: ** (none) -** +** ** \param [in] Destination file index ** ** \sa #DS_HkFileStatus_t, #DS_DestFileEntry_t @@ -211,7 +207,7 @@ void DS_FileCreateDest(uint32 FileIndex); /*******************************************************************/ /* \brief Construct the next filename for a destination file -** +** ** \par Description ** The filename is constructed using data from the Destination ** File Table. First, the pathname and basename fields from @@ -222,17 +218,16 @@ void DS_FileCreateDest(uint32 FileIndex); ** ** \par Assumptions, External Events, and Notes: ** (none) -** +** ** \param [in] Destination file index ** ** \sa #DS_DestFileEntry_t */ void DS_FileCreateName(uint32 FileIndex); - /*******************************************************************/ /* \brief Construct the sequence portion of a filename -** +** ** \par Description ** The filename sequence string will be constructed to contain ** either the current date and time, or a file sequence count @@ -244,7 +239,7 @@ void DS_FileCreateName(uint32 FileIndex); ** ** \par Assumptions, External Events, and Notes: ** (none) -** +** ** \param [in] Pointer to buffer for sequence portion of filename ** \param [in] Filename type (date and time vs sequence count) ** \param [in] Sequence counter (used only if type is sequence) @@ -253,10 +248,9 @@ void DS_FileCreateName(uint32 FileIndex); */ void DS_FileCreateSequence(char *Buffer, uint32 Type, uint32 Count); - /*******************************************************************/ /* \brief Update destination file header (prior to closing) -** +** ** \par Description ** This function is called just before closing a data storage ** destination file. The purpose of the function is to update @@ -267,7 +261,7 @@ void DS_FileCreateSequence(char *Buffer, uint32 Type, uint32 Count); ** ** \par Assumptions, External Events, and Notes: ** (none) -** +** ** \param [in] Destination file index ** ** \sa #DS_FileWriteHeader @@ -280,7 +274,7 @@ void DS_FileUpdateHeader(int32 FileIndex); /*******************************************************************/ /* \brief Close selected destination file -** +** ** \par Description ** This function may be called from the DS Close File command ** handler, from the file age processor, from the file size @@ -291,17 +285,16 @@ void DS_FileUpdateHeader(int32 FileIndex); ** ** \par Assumptions, External Events, and Notes: ** (none) -** +** ** \param [in] Destination file index ** ** \sa #DS_HkFileStatus_t, #DS_DestFileEntry_t */ void DS_FileCloseDest(int32 FileIndex); - /*******************************************************************/ /* \brief File age processor -** +** ** \par Description ** This function is called upon receipt of the DS 1Hz command ** (if defined) or upon receipt of the DS housekeeping request @@ -315,17 +308,15 @@ void DS_FileCloseDest(int32 FileIndex); ** ** \par Assumptions, External Events, and Notes: ** (none) -** +** ** \param [in] Elapsed seconds since previous call ** ** \sa #DS_HkFileStatus_t, #DS_DestFileEntry_t */ void DS_FileTestAge(uint32 ElapsedSeconds); - #endif /* _ds_file_h_ */ - /************************/ /* End of File Comment */ /************************/ diff --git a/fsw/src/ds_msg.h b/fsw/src/ds_msg.h index c7e36e7..1c3d761 100644 --- a/fsw/src/ds_msg.h +++ b/fsw/src/ds_msg.h @@ -1,24 +1,24 @@ /************************************************************************ ** File: ds_msg.h ** -** NASA Docket No. GSC-18448-1, and identified as "cFS Data Storage (DS) -** application version 2.5.2” -** -** Copyright © 2019 United States Government as represented by the Administrator -** of the National Aeronautics and Space Administration. All Rights Reserved. +** NASA Docket No. GSC-18448-1, and identified as "cFS Data Storage (DS) +** application version 2.5.2” ** -** Licensed under the Apache License, Version 2.0 (the "License"); -** you may not use this file except in compliance with the License. -** You may obtain a copy of the License at -** http://www.apache.org/licenses/LICENSE-2.0 -** Unless required by applicable law or agreed to in writing, software -** distributed under the License is distributed on an "AS IS" BASIS, -** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -** See the License for the specific language governing permissions and -** limitations under the License. -** +** Copyright © 2019 United States Government as represented by the Administrator +** of the National Aeronautics and Space Administration. All Rights Reserved. ** -** Purpose: +** Licensed under the Apache License, Version 2.0 (the "License"); +** you may not use this file except in compliance with the License. +** You may obtain a copy of the License at +** http://www.apache.org/licenses/LICENSE-2.0 +** Unless required by applicable law or agreed to in writing, software +** distributed under the License is distributed on an "AS IS" BASIS, +** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +** See the License for the specific language governing permissions and +** limitations under the License. +** +** +** Purpose: ** The CFS Data Storage (DS) Application header file ** ** Notes: @@ -44,11 +44,10 @@ */ typedef struct { - CFE_SB_CmdHdr_t CmdHeader; /**< \brief cFE Software Bus command message header */ + CFE_MSG_CommandHeader_t CmdHeader; /**< \brief cFE Software Bus command message header */ } DS_NoopCmd_t; - /* ** \brief Reset Housekeeping Telemetry Command ** @@ -57,11 +56,10 @@ typedef struct typedef struct { - CFE_SB_CmdHdr_t CmdHeader; /**< \brief cFE Software Bus command message header */ + CFE_MSG_CommandHeader_t CmdHeader; /**< \brief cFE Software Bus command message header */ } DS_ResetCmd_t; - /* ** \brief Set Ena/Dis State For DS Application ** @@ -69,14 +67,13 @@ typedef struct */ typedef struct { - CFE_SB_CmdHdr_t CmdHeader; /**< \brief cFE Software Bus command message header */ + CFE_MSG_CommandHeader_t CmdHeader; /**< \brief cFE Software Bus command message header */ - uint16 EnableState; /**< \brief Application enable/disable state */ - uint16 Padding; /**< \brief Structure Padding on 32-bit boundaries */ + uint16 EnableState; /**< \brief Application enable/disable state */ + uint16 Padding; /**< \brief Structure Padding on 32-bit boundaries */ } DS_AppStateCmd_t; - /* ** \brief Set File Selection For Packet Filter Table Entry ** @@ -84,17 +81,15 @@ typedef struct */ typedef struct { - CFE_SB_CmdHdr_t CmdHeader; /**< \brief cFE Software Bus command message header */ + CFE_MSG_CommandHeader_t CmdHeader; /**< \brief cFE Software Bus command message header */ - uint16 MessageID; /**< \brief Message ID of existing entry in Packet Filter Table - \details DS defines Message ID zero to be unused */ - uint16 FilterParmsIndex; /**< \brief Index into Filter Parms Array */ - uint16 FileTableIndex; /**< \brief Index into Destination File Table */ - uint16 Padding; /**< \brief Structure Padding on 32-bit boundaries */ + CFE_SB_MsgId_t MessageID; /**< \brief Message ID of existing entry in Packet Filter Table + \details DS defines Message ID zero to be unused */ + uint16 FilterParmsIndex; /**< \brief Index into Filter Parms Array */ + uint16 FileTableIndex; /**< \brief Index into Destination File Table */ } DS_FilterFileCmd_t; - /* ** \brief Set Filter Type For Packet Filter Table Entry ** @@ -103,15 +98,14 @@ typedef struct typedef struct { - CFE_SB_CmdHdr_t CmdHeader; /**< \brief cFE Software Bus command message header */ - uint16 MessageID; /**< \brief Message ID of existing entry in Packet Filter Table - \details DS defines Message ID zero to be unused */ - uint16 FilterParmsIndex; /**< \brief Index into Filter Parms Array */ - uint16 FilterType; /**< \brief Filter type (packet count or time) */ - uint16 Padding; /**< \brief Structure Padding on 32-bit boundaries */ + CFE_MSG_CommandHeader_t CmdHeader; /**< \brief cFE Software Bus command message header */ -} DS_FilterTypeCmd_t; + CFE_SB_MsgId_t MessageID; /**< \brief Message ID of existing entry in Packet Filter Table + \details DS defines Message ID zero to be unused */ + uint16 FilterParmsIndex; /**< \brief Index into Filter Parms Array */ + uint16 FilterType; /**< \brief Filter type (packet count or time) */ +} DS_FilterTypeCmd_t; /* ** \brief Set Filter Parameters For Packet Filter Table Entry @@ -120,19 +114,17 @@ typedef struct */ typedef struct { - CFE_SB_CmdHdr_t CmdHeader; /**< \brief cFE Software Bus command message header */ - uint16 MessageID; /**< \brief Message ID of existing entry in Packet Filter Table - \details DS defines Message ID zero to be unused */ - uint16 FilterParmsIndex; /**< \brief Index into Filter Parms Array */ + CFE_MSG_CommandHeader_t CmdHeader; /**< \brief cFE Software Bus command message header */ - uint16 Algorithm_N; /**< \brief Algorithm value N (pass this many) */ - uint16 Algorithm_X; /**< \brief Algorithm value X (out of this many) */ - uint16 Algorithm_O; /**< \brief Algorithm value O (at this offset) */ - uint16 Padding; /**< \brief Structure Padding on 32-bit boundaries */ + CFE_SB_MsgId_t MessageID; /**< \brief Message ID of existing entry in Packet Filter Table + \details DS defines Message ID zero to be unused */ + uint16 FilterParmsIndex; /**< \brief Index into Filter Parms Array */ + uint16 Algorithm_N; /**< \brief Algorithm value N (pass this many) */ + uint16 Algorithm_X; /**< \brief Algorithm value X (out of this many) */ + uint16 Algorithm_O; /**< \brief Algorithm value O (at this offset) */ } DS_FilterParmsCmd_t; - /* ** \brief Set Filename Type For Destination File Table Entry ** @@ -140,13 +132,12 @@ typedef struct */ typedef struct { - CFE_SB_CmdHdr_t CmdHeader; /**< \brief cFE Software Bus command message header */ - - uint16 FileTableIndex; /**< \brief Index into Destination File Table */ - uint16 FileNameType; /**< \brief Filename type - count vs time */ + CFE_MSG_CommandHeader_t CmdHeader; /**< \brief cFE Software Bus command message header */ -} DS_DestTypeCmd_t; + uint16 FileTableIndex; /**< \brief Index into Destination File Table */ + uint16 FileNameType; /**< \brief Filename type - count vs time */ +} DS_DestTypeCmd_t; /* ** \brief Set Ena/Dis State For Destination File Table Entry @@ -155,14 +146,13 @@ typedef struct */ typedef struct { - CFE_SB_CmdHdr_t CmdHeader; /**< \brief cFE Software Bus command message header */ + CFE_MSG_CommandHeader_t CmdHeader; /**< \brief cFE Software Bus command message header */ - uint16 FileTableIndex; /**< \brief Index into Destination File Table */ - uint16 EnableState; /**< \brief File enable/disable state */ + uint16 FileTableIndex; /**< \brief Index into Destination File Table */ + uint16 EnableState; /**< \brief File enable/disable state */ } DS_DestStateCmd_t; - /* ** \brief Set Path Portion Of Filename For Destination File Table Entry ** @@ -171,16 +161,14 @@ typedef struct typedef struct { - CFE_SB_CmdHdr_t CmdHeader; /**< \brief cFE Software Bus command message header */ - - uint16 FileTableIndex; /**< \brief Index into Destination File Table */ - uint16 Padding; /**< \brief Structure Padding on 32-bit boundaries */ + CFE_MSG_CommandHeader_t CmdHeader; /**< \brief cFE Software Bus command message header */ - char Pathname[DS_PATHNAME_BUFSIZE]; /**< \brief Path portion of filename */ + uint16 FileTableIndex; /**< \brief Index into Destination File Table */ + uint16 Padding; /**< \brief Structure Padding on 32-bit boundaries */ + char Pathname[DS_PATHNAME_BUFSIZE]; /**< \brief Path portion of filename */ } DS_DestPathCmd_t; - /* ** \brief Set Base Portion Of Filename For Destination File Table Entry ** @@ -189,16 +177,14 @@ typedef struct typedef struct { - CFE_SB_CmdHdr_t CmdHeader; /**< \brief cFE Software Bus command message header */ - - uint16 FileTableIndex; /**< \brief Index into Destination File Table */ - uint16 Padding; /**< \brief Structure Padding on 32-bit boundaries */ + CFE_MSG_CommandHeader_t CmdHeader; /**< \brief cFE Software Bus command message header */ - char Basename[DS_BASENAME_BUFSIZE]; /**< \brief Base portion of filename */ + uint16 FileTableIndex; /**< \brief Index into Destination File Table */ + uint16 Padding; /**< \brief Structure Padding on 32-bit boundaries */ + char Basename[DS_BASENAME_BUFSIZE]; /**< \brief Base portion of filename */ } DS_DestBaseCmd_t; - /* ** \brief Set Extension Portion Of Filename For Destination File Table Entry ** @@ -206,16 +192,14 @@ typedef struct */ typedef struct { - CFE_SB_CmdHdr_t CmdHeader; /**< \brief cFE Software Bus command message header */ - - uint16 FileTableIndex; /**< \brief Index into Destination File Table */ - uint16 Padding; /**< \brief Structure Padding on 32-bit boundaries */ + CFE_MSG_CommandHeader_t CmdHeader; /**< \brief cFE Software Bus command message header */ - char Extension[DS_EXTENSION_BUFSIZE]; /**< \brief Extension portion of filename */ + uint16 FileTableIndex; /**< \brief Index into Destination File Table */ + uint16 Padding; /**< \brief Structure Padding on 32-bit boundaries */ + char Extension[DS_EXTENSION_BUFSIZE]; /**< \brief Extension portion of filename */ } DS_DestExtCmd_t; - /* ** \brief Set Max File Size For Destination File Table Entry ** @@ -223,16 +207,14 @@ typedef struct */ typedef struct { - CFE_SB_CmdHdr_t CmdHeader; /**< \brief cFE Software Bus command message header */ - - uint16 FileTableIndex; /**< \brief Index into Destination File Table */ - uint16 Padding; /**< \brief Structure Padding on 32-bit boundaries */ + CFE_MSG_CommandHeader_t CmdHeader; /**< \brief cFE Software Bus command message header */ - uint32 MaxFileSize; /**< \brief Max file size (bytes) before re-open */ + uint16 FileTableIndex; /**< \brief Index into Destination File Table */ + uint16 Padding; /**< \brief Structure Padding on 32-bit boundaries */ + uint32 MaxFileSize; /**< \brief Max file size (bytes) before re-open */ } DS_DestSizeCmd_t; - /* ** \brief Set Max File Age For Destination File Table Entry ** @@ -240,16 +222,15 @@ typedef struct */ typedef struct { - CFE_SB_CmdHdr_t CmdHeader; /**< \brief cFE Software Bus command message header */ + CFE_MSG_CommandHeader_t CmdHeader; /**< \brief cFE Software Bus command message header */ - uint16 FileTableIndex; /**< \brief Index into Destination File Table */ - uint16 Padding; /**< \brief Structure Padding on 32-bit boundaries */ + uint16 FileTableIndex; /**< \brief Index into Destination File Table */ + uint16 Padding; /**< \brief Structure Padding on 32-bit boundaries */ - uint32 MaxFileAge; /**< \brief Max file age (seconds) */ + uint32 MaxFileAge; /**< \brief Max file age (seconds) */ } DS_DestAgeCmd_t; - /* ** \brief Set Sequence Portion Of Filename For Destination File Table Entry ** @@ -257,16 +238,15 @@ typedef struct */ typedef struct { - CFE_SB_CmdHdr_t CmdHeader; /**< \brief cFE Software Bus command message header */ + CFE_MSG_CommandHeader_t CmdHeader; /**< \brief cFE Software Bus command message header */ - uint16 FileTableIndex; /**< \brief Index into Destination File Table */ - uint16 Padding; /**< \brief Structure Padding on 32-bit boundaries */ + uint16 FileTableIndex; /**< \brief Index into Destination File Table */ + uint16 Padding; /**< \brief Structure Padding on 32-bit boundaries */ - uint32 SequenceCount; /**< \brief Sequence count portion of filename */ + uint32 SequenceCount; /**< \brief Sequence count portion of filename */ } DS_DestCountCmd_t; - /* ** \brief Close Destination File ** @@ -274,14 +254,13 @@ typedef struct */ typedef struct { - CFE_SB_CmdHdr_t CmdHeader; /**< \brief cFE Software Bus command message header */ + CFE_MSG_CommandHeader_t CmdHeader; /**< \brief cFE Software Bus command message header */ - uint16 FileTableIndex; /**< \brief Index into Destination File Table */ - uint16 Padding; /**< \brief Structure Padding on 32-bit boundaries */ + uint16 FileTableIndex; /**< \brief Index into Destination File Table */ + uint16 Padding; /**< \brief Structure Padding on 32-bit boundaries */ } DS_CloseFileCmd_t; - /* ** \brief Close All Destination Files ** @@ -290,11 +269,10 @@ typedef struct typedef struct { - CFE_SB_CmdHdr_t CmdHeader; /**< \brief cFE Software Bus command message header */ + CFE_MSG_CommandHeader_t CmdHeader; /**< \brief cFE Software Bus command message header */ } DS_CloseAllCmd_t; - /* ** \brief Get File Info Command ** @@ -303,11 +281,10 @@ typedef struct typedef struct { - CFE_SB_CmdHdr_t CmdHeader; /**< \brief cFE Software Bus command message header */ + CFE_MSG_CommandHeader_t CmdHeader; /**< \brief cFE Software Bus command message header */ } DS_GetFileInfoCmd_t; - /* ** \brief Add Message ID To Packet Filter Table ** @@ -315,14 +292,12 @@ typedef struct */ typedef struct { - CFE_SB_CmdHdr_t CmdHeader; /**< \brief cFE Software Bus command message header */ + CFE_MSG_CommandHeader_t CmdHeader; /**< \brief cFE Software Bus command message header */ - uint16 MessageID; /**< \brief Message ID to add to Packet Filter Table */ - uint16 Padding; /**< \brief Structure Padding on 32-bit boundaries */ + CFE_SB_MsgId_t MessageID; /**< \brief Message ID to add to Packet Filter Table */ } DS_AddMidCmd_t; - /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ /* */ /* DS application telemetry formats */ @@ -334,82 +309,79 @@ typedef struct */ typedef struct { - CFE_SB_TlmHdr_t TlmHeader; /**< \brief cFE Software Bus telemetry message header */ - - uint8 CmdAcceptedCounter; /**< \dstlmmnemonic \DS_CMDPC - \brief Count of valid commands received */ - uint8 CmdRejectedCounter; /**< \dstlmmnemonic \DS_CMDEC - \brief Count of invalid commands received */ - uint8 DestTblLoadCounter; /**< \dstlmmnemonic \DS_DESTLOADCNT - \brief Count of destination file table loads */ - uint8 DestTblErrCounter; /**< \dstlmmnemonic \DS_DESTPTRERRCNT - \brief Count of failed attempts to get table data pointer */ - uint8 FilterTblLoadCounter; /**< \dstlmmnemonic \DS_FILTERLOADCNT - \brief Count of packet filter table loads */ - uint8 FilterTblErrCounter; /**< \dstlmmnemonic \DS_FILTERPTRERRCNT - \brief Count of failed attempts to get table data pointer */ - uint8 AppEnableState; /**< \dstlmmnemonic \DS_APPENASTATE - \brief Application enable/disable state */ - uint8 Spare8; /**< \brief Structure alignment padding */ - - uint16 FileWriteCounter; /**< \dstlmmnemonic \DS_FILEWRITECNT - \brief Count of good destination file writes */ - uint16 FileWriteErrCounter; /**< \dstlmmnemonic \DS_FILEWRITEERRCNT - \brief Count of bad destination file writes */ - uint16 FileUpdateCounter; /**< \dstlmmnemonic \DS_FILEUPDCNT - \brief Count of good updates to secondary header */ - uint16 FileUpdateErrCounter; /**< \dstlmmnemonic \DS_FILEUPDERRCNT - \brief Count of bad updates to secondary header */ - uint32 DisabledPktCounter; /**< \dstlmmnemonic \DS_DISABLEDPKTCNT - \brief Count of packets discarded (DS was disabled) */ - uint32 IgnoredPktCounter; /**< \dstlmmnemonic \DS_IGNOREDPKTCNT - \brief Count of packets discarded. Incoming packets will be discarded when: -

*/ - uint32 FilteredPktCounter; /**< \dstlmmnemonic \DS_FILTEREDPKTCNT - \brief Count of packets discarded (failed filter test) */ - uint32 PassedPktCounter; /**< \dstlmmnemonic \DS_PASSEDPKTCNT - \brief Count of packets that passed filter test */ - char FilterTblFilename[OS_MAX_PATH_LEN]; /**< \dstlmmnemonic \DS_FILTERTBL - \brief Name of filter table file */ + CFE_MSG_TelemetryHeader_t TlmHeader; /**< \brief cFE Software Bus telemetry message header */ + + uint8 CmdAcceptedCounter; /**< \dstlmmnemonic \DS_CMDPC + \brief Count of valid commands received */ + uint8 CmdRejectedCounter; /**< \dstlmmnemonic \DS_CMDEC + \brief Count of invalid commands received */ + uint8 DestTblLoadCounter; /**< \dstlmmnemonic \DS_DESTLOADCNT + \brief Count of destination file table loads */ + uint8 DestTblErrCounter; /**< \dstlmmnemonic \DS_DESTPTRERRCNT + \brief Count of failed attempts to get table data pointer */ + uint8 FilterTblLoadCounter; /**< \dstlmmnemonic \DS_FILTERLOADCNT + \brief Count of packet filter table loads */ + uint8 FilterTblErrCounter; /**< \dstlmmnemonic \DS_FILTERPTRERRCNT + \brief Count of failed attempts to get table data pointer */ + uint8 AppEnableState; /**< \dstlmmnemonic \DS_APPENASTATE + \brief Application enable/disable state */ + uint8 Spare8; /**< \brief Structure alignment padding */ + + uint16 FileWriteCounter; /**< \dstlmmnemonic \DS_FILEWRITECNT + \brief Count of good destination file writes */ + uint16 FileWriteErrCounter; /**< \dstlmmnemonic \DS_FILEWRITEERRCNT + \brief Count of bad destination file writes */ + uint16 FileUpdateCounter; /**< \dstlmmnemonic \DS_FILEUPDCNT + \brief Count of good updates to secondary header */ + uint16 FileUpdateErrCounter; /**< \dstlmmnemonic \DS_FILEUPDERRCNT + \brief Count of bad updates to secondary header */ + uint32 DisabledPktCounter; /**< \dstlmmnemonic \DS_DISABLEDPKTCNT + \brief Count of packets discarded (DS was disabled) */ + uint32 IgnoredPktCounter; /**< \dstlmmnemonic \DS_IGNOREDPKTCNT + \brief Count of packets discarded. Incoming packets will be discarded when: +
  • The File and/or Filter Table has failed to load
  • +
  • A packet (that is not a DS HK or command packet) has been received that is + not listed in the Filter Table
*/ + uint32 FilteredPktCounter; /**< \dstlmmnemonic \DS_FILTEREDPKTCNT + \brief Count of packets discarded (failed filter test) */ + uint32 PassedPktCounter; /**< \dstlmmnemonic \DS_PASSEDPKTCNT + \brief Count of packets that passed filter test */ + char FilterTblFilename[OS_MAX_PATH_LEN]; /**< \dstlmmnemonic \DS_FILTERTBL + \brief Name of filter table file */ } DS_HkPacket_t; - /** ** \brief Current state of destination files */ typedef struct { - uint32 FileAge; /**< \dstlmmnemonic \DS_FILEAGE - \brief Current file age in seconds */ - uint32 FileSize; /**< \dstlmmnemonic \DS_FILESIZE - \brief Current file size in bytes */ - uint32 FileRate; /**< \dstlmmnemonic \DS_FILERATE - \brief Current file data rate (avg since HK) */ - uint32 SequenceCount; /**< \dstlmmnemonic \DS_FILESEQ - \brief Sequence count portion of filename */ - uint16 EnableState; /**< \dstlmmnemonic \DS_ENABLESTATE - \brief Current file enable/disable state */ - uint16 OpenState; /**< \dstlmmnemonic \DS_OPENSTATE - \brief Current file open/close state */ - char FileName[DS_TOTAL_FNAME_BUFSIZE]; /**< \dstlmmnemonic \DS_FILENAME - \brief Current filename (path+base+seq+ext) */ + uint32 FileAge; /**< \dstlmmnemonic \DS_FILEAGE + \brief Current file age in seconds */ + uint32 FileSize; /**< \dstlmmnemonic \DS_FILESIZE + \brief Current file size in bytes */ + uint32 FileRate; /**< \dstlmmnemonic \DS_FILERATE + \brief Current file data rate (avg since HK) */ + uint32 SequenceCount; /**< \dstlmmnemonic \DS_FILESEQ + \brief Sequence count portion of filename */ + uint16 EnableState; /**< \dstlmmnemonic \DS_ENABLESTATE + \brief Current file enable/disable state */ + uint16 OpenState; /**< \dstlmmnemonic \DS_OPENSTATE + \brief Current file open/close state */ + char FileName[DS_TOTAL_FNAME_BUFSIZE]; /**< \dstlmmnemonic \DS_FILENAME + \brief Current filename (path+base+seq+ext) */ } DS_FileInfo_t; - /** ** \dstlm DS application file info packet */ typedef struct { - CFE_SB_TlmHdr_t TlmHeader; /**< \brief cFE Software Bus telemetry message header */ + CFE_MSG_TelemetryHeader_t TlmHeader; /**< \brief cFE Software Bus telemetry message header */ - DS_FileInfo_t FileInfo[DS_DEST_FILE_CNT]; /**< \dstlmmnemonic \DS_FILEINFO - \brief Current state of destination files */ + DS_FileInfo_t FileInfo[DS_DEST_FILE_CNT]; /**< \dstlmmnemonic \DS_FILEINFO + \brief Current state of destination files */ } DS_FileInfoPkt_t; - #endif /* _ds_msg_h_ */ /************************/ diff --git a/fsw/src/ds_msgdefs.h b/fsw/src/ds_msgdefs.h index 90d86ee..d80b9fa 100644 --- a/fsw/src/ds_msgdefs.h +++ b/fsw/src/ds_msgdefs.h @@ -1,24 +1,24 @@ /************************************************************************ -** File: ds_msgdefs.h -** -** NASA Docket No. GSC-18448-1, and identified as "cFS Data Storage (DS) -** application version 2.5.2” -** -** Copyright © 2019 United States Government as represented by the Administrator -** of the National Aeronautics and Space Administration. All Rights Reserved. -** -** Licensed under the Apache License, Version 2.0 (the "License"); -** you may not use this file except in compliance with the License. -** You may obtain a copy of the License at -** http://www.apache.org/licenses/LICENSE-2.0 -** Unless required by applicable law or agreed to in writing, software -** distributed under the License is distributed on an "AS IS" BASIS, -** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -** See the License for the specific language governing permissions and -** limitations under the License. -** -** -** Purpose: +** File: ds_msgdefs.h +** +** NASA Docket No. GSC-18448-1, and identified as "cFS Data Storage (DS) +** application version 2.5.2” +** +** Copyright © 2019 United States Government as represented by the Administrator +** of the National Aeronautics and Space Administration. All Rights Reserved. +** +** Licensed under the Apache License, Version 2.0 (the "License"); +** you may not use this file except in compliance with the License. +** You may obtain a copy of the License at +** http://www.apache.org/licenses/LICENSE-2.0 +** Unless required by applicable law or agreed to in writing, software +** distributed under the License is distributed on an "AS IS" BASIS, +** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +** See the License for the specific language governing permissions and +** limitations under the License. +** +** +** Purpose: ** The CFS Data Storage (DS) command codes header file ** ** Notes: @@ -38,8 +38,8 @@ ** ** \par Description ** This command will increment the command execution counter and send an -** event containing the version number of the application. The command -** is often used as a general test for application "aliveness". +** event containing the version number of the application. The command +** is often used as a general test for application "aliveness". ** ** \dscmdmnemonic \DS_NOOP ** @@ -64,8 +64,7 @@ ** ** \sa */ -#define DS_NOOP_CC 0 - +#define DS_NOOP_CC 0 /** \dscmd Reset Housekeeping Telemetry Counters Command ** @@ -106,8 +105,7 @@ ** ** \sa */ -#define DS_RESET_CC 1 - +#define DS_RESET_CC 1 /** \dscmd Set Enable/Disable State For DS Application ** @@ -140,8 +138,7 @@ ** ** \sa */ -#define DS_SET_APP_STATE_CC 2 - +#define DS_SET_APP_STATE_CC 2 /** \dscmd Set Destination File For Packet Filter Table Entry ** @@ -177,8 +174,7 @@ ** ** \sa */ -#define DS_SET_FILTER_FILE_CC 3 - +#define DS_SET_FILTER_FILE_CC 3 /** \dscmd Set Filter Type For Packet Filter Table Entry ** @@ -214,8 +210,7 @@ ** ** \sa */ -#define DS_SET_FILTER_TYPE_CC 4 - +#define DS_SET_FILTER_TYPE_CC 4 /** \dscmd Set Algorithm Parameters For Packet Filter Table Entry ** @@ -251,8 +246,7 @@ ** ** \sa */ -#define DS_SET_FILTER_PARMS_CC 5 - +#define DS_SET_FILTER_PARMS_CC 5 /** \dscmd Set Filename Type For Destination File Table Entry ** @@ -286,8 +280,7 @@ ** ** \sa */ -#define DS_SET_DEST_TYPE_CC 6 - +#define DS_SET_DEST_TYPE_CC 6 /** \dscmd Set Ena/Dis State For Destination File Table Entry ** @@ -322,8 +315,7 @@ ** ** \sa */ -#define DS_SET_DEST_STATE_CC 7 - +#define DS_SET_DEST_STATE_CC 7 /** \dscmd Set Pathname For Destination File Table Entry ** @@ -357,8 +349,7 @@ ** ** \sa */ -#define DS_SET_DEST_PATH_CC 8 - +#define DS_SET_DEST_PATH_CC 8 /** \dscmd Set Basename For Destination File Table Entry ** @@ -392,8 +383,7 @@ ** ** \sa */ -#define DS_SET_DEST_BASE_CC 9 - +#define DS_SET_DEST_BASE_CC 9 /** \dscmd Set Extension For Destination File Table Entry ** @@ -427,8 +417,7 @@ ** ** \sa */ -#define DS_SET_DEST_EXT_CC 10 - +#define DS_SET_DEST_EXT_CC 10 /** \dscmd Set Max File Size For Destination File Table Entry ** @@ -462,8 +451,7 @@ ** ** \sa */ -#define DS_SET_DEST_SIZE_CC 11 - +#define DS_SET_DEST_SIZE_CC 11 /** \dscmd Set Max File Age For Destination File Table Entry ** @@ -497,8 +485,7 @@ ** ** \sa */ -#define DS_SET_DEST_AGE_CC 12 - +#define DS_SET_DEST_AGE_CC 12 /** \dscmd Set Sequence Count For Destination File Table Entry ** @@ -532,8 +519,7 @@ ** ** \sa */ -#define DS_SET_DEST_COUNT_CC 13 - +#define DS_SET_DEST_COUNT_CC 13 /** \dscmd Close Destination File ** @@ -565,9 +551,8 @@ ** ** \sa */ -#define DS_CLOSE_FILE_CC 14 +#define DS_CLOSE_FILE_CC 14 - /** \dscmd Get File Info Packet ** ** \par Description @@ -596,9 +581,8 @@ ** ** \sa */ -#define DS_GET_FILE_INFO_CC 15 +#define DS_GET_FILE_INFO_CC 15 - /** \dscmd Add Message ID To Packet Filter Table ** ** \par Description @@ -632,8 +616,7 @@ ** ** \sa */ -#define DS_ADD_MID_CC 16 - +#define DS_ADD_MID_CC 16 /** \dscmd Close All Destination Files ** @@ -666,9 +649,8 @@ ** ** \sa */ -#define DS_CLOSE_ALL_CC 17 +#define DS_CLOSE_ALL_CC 17 - #endif /* _ds_msgdefs_h_ */ /************************/ diff --git a/fsw/src/ds_table.c b/fsw/src/ds_table.c index f410d52..658c123 100644 --- a/fsw/src/ds_table.c +++ b/fsw/src/ds_table.c @@ -1,22 +1,22 @@ /************************************************************************ -** File: ds_table.c +** File: ds_table.c ** -** NASA Docket No. GSC-18448-1, and identified as "cFS Data Storage (DS) -** application version 2.5.2” -** -** Copyright © 2019 United States Government as represented by the Administrator -** of the National Aeronautics and Space Administration. All Rights Reserved. +** NASA Docket No. GSC-18448-1, and identified as "cFS Data Storage (DS) +** application version 2.5.2” +** +** Copyright © 2019 United States Government as represented by the Administrator +** of the National Aeronautics and Space Administration. All Rights Reserved. +** +** Licensed under the Apache License, Version 2.0 (the "License"); +** you may not use this file except in compliance with the License. +** You may obtain a copy of the License at +** http://www.apache.org/licenses/LICENSE-2.0 +** Unless required by applicable law or agreed to in writing, software +** distributed under the License is distributed on an "AS IS" BASIS, +** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +** See the License for the specific language governing permissions and +** limitations under the License. ** -** Licensed under the Apache License, Version 2.0 (the "License"); -** you may not use this file except in compliance with the License. -** You may obtain a copy of the License at -** http://www.apache.org/licenses/LICENSE-2.0 -** Unless required by applicable law or agreed to in writing, software -** distributed under the License is distributed on an "AS IS" BASIS, -** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -** See the License for the specific language governing permissions and -** limitations under the License. -** ** Purpose: ** CFS Data Storage (DS) table management functions ** @@ -38,9 +38,7 @@ #include "ds_msg.h" #include "ds_events.h" - -#define DS_CDS_NAME "DS_CDS" - +#define DS_CDS_NAME "DS_CDS" /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ /* */ @@ -50,15 +48,15 @@ int32 DS_TableInit(void) { - int32 Result1 = CFE_SUCCESS; - int32 Result2 = CFE_SUCCESS; - bool NeedToLoadDestTable = false; - bool NeedToLoadFilterTable = false; - uint16 TableRegisterFlags = CFE_TBL_OPT_SNGL_BUFFER | CFE_TBL_OPT_LOAD_DUMP; + int32 Result1 = CFE_SUCCESS; + int32 Result2 = CFE_SUCCESS; + bool NeedToLoadDestTable = false; + bool NeedToLoadFilterTable = false; + uint16 TableRegisterFlags = CFE_TBL_OPT_SNGL_BUFFER | CFE_TBL_OPT_LOAD_DUMP; - #if (DS_MAKE_TABLES_CRITICAL == 1) +#if (DS_MAKE_TABLES_CRITICAL == 1) TableRegisterFlags |= CFE_TBL_OPT_CRITICAL; - #endif +#endif /* ** If registration fails for either table then the DS app will @@ -71,9 +69,8 @@ int32 DS_TableInit(void) ** along until an external influence (ground or RTS) can manage ** to get both tables loaded. */ - Result1 = CFE_TBL_Register(&DS_AppData.DestFileTblHandle, DS_DESTINATION_TBL_NAME, - sizeof (DS_DestFileTable_t), TableRegisterFlags, - (CFE_TBL_CallbackFuncPtr_t) DS_TableVerifyDestFile); + Result1 = CFE_TBL_Register(&DS_AppData.DestFileTblHandle, DS_DESTINATION_TBL_NAME, sizeof(DS_DestFileTable_t), + TableRegisterFlags, (CFE_TBL_CallbackFuncPtr_t)DS_TableVerifyDestFile); if (Result1 == CFE_TBL_INFO_RECOVERED_TBL) { @@ -83,7 +80,7 @@ int32 DS_TableInit(void) NeedToLoadDestTable = false; CFE_EVS_SendEvent(DS_INIT_TBL_CDS_EID, CFE_EVS_EventType_DEBUG, - "Destination File Table data restored from CDS"); + "Destination File Table data restored from CDS"); /* ** This is not an error so clear the result value for later tests */ @@ -100,17 +97,15 @@ int32 DS_TableInit(void) { /* ** cFE did not register the table - we cannot continue - */ + */ CFE_EVS_SendEvent(DS_INIT_TBL_ERR_EID, CFE_EVS_EventType_ERROR, - "Unable to register Destination File Table: Error = 0x%08X", - (unsigned int)Result1); + "Unable to register Destination File Table: Error = 0x%08X", (unsigned int)Result1); } if (Result1 == CFE_SUCCESS) { - Result1 = CFE_TBL_Register(&DS_AppData.FilterTblHandle, DS_FILTER_TBL_NAME, - sizeof (DS_FilterTable_t), TableRegisterFlags, - (CFE_TBL_CallbackFuncPtr_t) DS_TableVerifyFilter); + Result1 = CFE_TBL_Register(&DS_AppData.FilterTblHandle, DS_FILTER_TBL_NAME, sizeof(DS_FilterTable_t), + TableRegisterFlags, (CFE_TBL_CallbackFuncPtr_t)DS_TableVerifyFilter); if (Result1 == CFE_TBL_INFO_RECOVERED_TBL) { @@ -119,8 +114,7 @@ int32 DS_TableInit(void) */ NeedToLoadFilterTable = false; - CFE_EVS_SendEvent(DS_INIT_TBL_CDS_EID, CFE_EVS_EventType_DEBUG, - "Filter Table data restored from CDS"); + CFE_EVS_SendEvent(DS_INIT_TBL_CDS_EID, CFE_EVS_EventType_DEBUG, "Filter Table data restored from CDS"); /* ** This is not an error so clear the result value for later tests */ @@ -137,10 +131,9 @@ int32 DS_TableInit(void) { /* ** cFE did not register the table - we cannot continue - */ + */ CFE_EVS_SendEvent(DS_INIT_TBL_ERR_EID, CFE_EVS_EventType_ERROR, - "Unable to register Filter Table: Error = 0x%08X", - (unsigned int)Result1); + "Unable to register Filter Table: Error = 0x%08X", (unsigned int)Result1); } } @@ -153,26 +146,24 @@ int32 DS_TableInit(void) { if (NeedToLoadDestTable) { - Result2 = CFE_TBL_Load(DS_AppData.DestFileTblHandle, - CFE_TBL_SRC_FILE, DS_DEF_DEST_FILENAME); + Result2 = CFE_TBL_Load(DS_AppData.DestFileTblHandle, CFE_TBL_SRC_FILE, DS_DEF_DEST_FILENAME); if (Result2 != CFE_SUCCESS) { CFE_EVS_SendEvent(DS_INIT_TBL_ERR_EID, CFE_EVS_EventType_ERROR, - "Unable to load default Destination File Table: Filename = '%s', Error = 0x%08X", + "Unable to load default Destination File Table: Filename = '%s', Error = 0x%08X", DS_DEF_DEST_FILENAME, (unsigned int)Result2); } } if (NeedToLoadFilterTable) { - Result2 = CFE_TBL_Load(DS_AppData.FilterTblHandle, - CFE_TBL_SRC_FILE, DS_DEF_FILTER_FILENAME); + Result2 = CFE_TBL_Load(DS_AppData.FilterTblHandle, CFE_TBL_SRC_FILE, DS_DEF_FILTER_FILENAME); if (Result2 != CFE_SUCCESS) { CFE_EVS_SendEvent(DS_INIT_TBL_ERR_EID, CFE_EVS_EventType_ERROR, - "Unable to load default Filter Table: Filename = '%s', Error = 0x%08X", + "Unable to load default Filter Table: Filename = '%s', Error = 0x%08X", DS_DEF_FILTER_FILENAME, (unsigned int)Result2); } } @@ -184,11 +175,10 @@ int32 DS_TableInit(void) DS_TableManageFilter(); } - return(Result1); + return (Result1); } /* End of DS_TableInit() */ - /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ /* */ /* DS_TableManageDestFile() - manage table data updates */ @@ -202,15 +192,14 @@ void DS_TableManageDestFile(void) /* ** Pointer will be NULL until first successful table load... */ - if (DS_AppData.DestFileTblPtr == (DS_DestFileTable_t *) NULL) + if (DS_AppData.DestFileTblPtr == (DS_DestFileTable_t *)NULL) { /* ** Still waiting for the first table load... */ CFE_TBL_ReleaseAddress(DS_AppData.DestFileTblHandle); CFE_TBL_Manage(DS_AppData.DestFileTblHandle); - Result = CFE_TBL_GetAddress((void *)&DS_AppData.DestFileTblPtr, - DS_AppData.DestFileTblHandle); + Result = CFE_TBL_GetAddress((void *)&DS_AppData.DestFileTblPtr, DS_AppData.DestFileTblHandle); if (Result == CFE_TBL_INFO_UPDATED) { @@ -243,7 +232,7 @@ void DS_TableManageDestFile(void) /* ** Make sure we don't try to use the empty table buffer... */ - DS_AppData.DestFileTblPtr = (DS_DestFileTable_t *) NULL; + DS_AppData.DestFileTblPtr = (DS_DestFileTable_t *)NULL; } } else @@ -258,7 +247,7 @@ void DS_TableManageDestFile(void) /* ** Dump the current table data... */ - CFE_TBL_DumpToBuffer(DS_AppData.DestFileTblHandle); + CFE_TBL_DumpToBuffer(DS_AppData.DestFileTblHandle); } else if (Result == CFE_TBL_INFO_VALIDATION_PENDING) { @@ -279,8 +268,7 @@ void DS_TableManageDestFile(void) */ CFE_TBL_ReleaseAddress(DS_AppData.DestFileTblHandle); CFE_TBL_Update(DS_AppData.DestFileTblHandle); - CFE_TBL_GetAddress((void *)&DS_AppData.DestFileTblPtr, - DS_AppData.DestFileTblHandle); + CFE_TBL_GetAddress((void *)&DS_AppData.DestFileTblPtr, DS_AppData.DestFileTblHandle); /* ** Keep local copies of table values that software will modify... */ @@ -301,7 +289,6 @@ void DS_TableManageDestFile(void) } /* End of DS_TableManageDestFile() */ - /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ /* */ /* DS_TableManageFilter() - manage table data updates */ @@ -315,15 +302,14 @@ void DS_TableManageFilter(void) /* ** Pointer will be NULL until first successful filter table load... */ - if (DS_AppData.FilterTblPtr == (DS_FilterTable_t *) NULL) + if (DS_AppData.FilterTblPtr == (DS_FilterTable_t *)NULL) { /* ** Still waiting for the first filter table load... */ CFE_TBL_ReleaseAddress(DS_AppData.FilterTblHandle); CFE_TBL_Manage(DS_AppData.FilterTblHandle); - Result = CFE_TBL_GetAddress((void *)&DS_AppData.FilterTblPtr, - DS_AppData.FilterTblHandle); + Result = CFE_TBL_GetAddress((void *)&DS_AppData.FilterTblPtr, DS_AppData.FilterTblHandle); if (Result == CFE_TBL_INFO_UPDATED) { @@ -352,7 +338,7 @@ void DS_TableManageFilter(void) /* ** Make sure we don't try to use the empty table buffer... */ - DS_AppData.FilterTblPtr = (DS_FilterTable_t *) NULL; + DS_AppData.FilterTblPtr = (DS_FilterTable_t *)NULL; } } else @@ -367,7 +353,7 @@ void DS_TableManageFilter(void) /* ** Dump the current filter table data... */ - CFE_TBL_DumpToBuffer(DS_AppData.FilterTblHandle); + CFE_TBL_DumpToBuffer(DS_AppData.FilterTblHandle); } else if (Result == CFE_TBL_INFO_VALIDATION_PENDING) { @@ -393,8 +379,7 @@ void DS_TableManageFilter(void) */ CFE_TBL_ReleaseAddress(DS_AppData.FilterTblHandle); CFE_TBL_Update(DS_AppData.FilterTblHandle); - CFE_TBL_GetAddress((void *)&DS_AppData.FilterTblPtr, - DS_AppData.FilterTblHandle); + CFE_TBL_GetAddress((void *)&DS_AppData.FilterTblPtr, DS_AppData.FilterTblHandle); /* ** Subscribe to the packets in the new filter table... */ @@ -411,19 +396,18 @@ void DS_TableManageFilter(void) } /* End of DS_TableManageFilter() */ - /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ /* */ /* DS_TableVerifyDestFile() - validate table data */ /* */ /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ -int32 DS_TableVerifyDestFile(void *TableData) +int32 DS_TableVerifyDestFile(const void *TableData) { - DS_DestFileTable_t *DestFileTable = (DS_DestFileTable_t *) TableData; - const char *DescResult = "OK"; - int32 Result = CFE_SUCCESS; - int32 i = 0; + DS_DestFileTable_t *DestFileTable = (DS_DestFileTable_t *)TableData; + const char * DescResult = "OK"; + int32 Result = CFE_SUCCESS; + int32 i = 0; int32 CountGood = 0; int32 CountBad = 0; @@ -434,14 +418,14 @@ int32 DS_TableVerifyDestFile(void *TableData) ** ** Descriptor = zero terminated text string (optional) */ - if (CFS_VerifyString(DestFileTable->Descriptor, DS_DESCRIPTOR_BUFSIZE, - DS_STRING_OPTIONAL, DS_DESCRIPTIVE_TEXT) == false) + if (CFS_VerifyString(DestFileTable->Descriptor, DS_DESCRIPTOR_BUFSIZE, DS_STRING_OPTIONAL, DS_DESCRIPTIVE_TEXT) == + false) { CFE_EVS_SendEvent(DS_FIL_TBL_ERR_EID, CFE_EVS_EventType_ERROR, - "Destination file table verify err: invalid descriptor text"); + "Destination file table verify err: invalid descriptor text"); DescResult = "bad"; - Result = DS_TABLE_VERIFY_ERR; + Result = DS_TABLE_VERIFY_ERR; } /* @@ -453,7 +437,7 @@ int32 DS_TableVerifyDestFile(void *TableData) { CountUnused++; } - else if (DS_TableVerifyDestFileEntry(&DestFileTable->File[i], (uint8) i, CountBad) == true) + else if (DS_TableVerifyDestFileEntry(&DestFileTable->File[i], (uint8)i, CountBad) == true) { CountGood++; } @@ -468,25 +452,23 @@ int32 DS_TableVerifyDestFile(void *TableData) ** Note that totals include each table entry plus the descriptor */ CFE_EVS_SendEvent(DS_FIL_TBL_EID, CFE_EVS_EventType_INFORMATION, - "Destination file table verify results: desc text = %s, good entries = %d, bad = %d, unused = %d", + "Destination file table verify results: desc text = %s, good entries = %d, bad = %d, unused = %d", DescResult, (int)CountGood, (int)CountBad, (int)CountUnused); - return(Result); + return (Result); } /* End of DS_TableVerifyDestFile() */ - /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ /* */ /* DS_TableVerifyDestFileEntry() - verify dest table entry */ /* */ /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ -bool DS_TableVerifyDestFileEntry(DS_DestFileEntry_t *DestFileEntry, - uint8 TableIndex, int32 ErrorCount) +bool DS_TableVerifyDestFileEntry(DS_DestFileEntry_t *DestFileEntry, uint8 TableIndex, int32 ErrorCount) { const char *CommonErrorText = "Destination file table verify err:"; - bool Result = true; + bool Result = true; /* ** Perform the following "per table entry" validation: @@ -502,35 +484,31 @@ bool DS_TableVerifyDestFileEntry(DS_DestFileEntry_t *DestFileEntry, ** MaxFileAge = cannot be less than DS_FILE_MIN_AGE_LIMIT ** SequenceCount = may be zero, cannot exceed DS_MAX_SEQUENCE_COUNT */ - if (CFS_VerifyString(DestFileEntry->Pathname, DS_PATHNAME_BUFSIZE, - DS_STRING_REQUIRED, DS_FILENAME_TEXT) == false) + if (CFS_VerifyString(DestFileEntry->Pathname, DS_PATHNAME_BUFSIZE, DS_STRING_REQUIRED, DS_FILENAME_TEXT) == false) { if (ErrorCount == 0) { - CFE_EVS_SendEvent(DS_FIL_TBL_ERR_EID, CFE_EVS_EventType_ERROR, - "%s index = %d, invalid pathname text", + CFE_EVS_SendEvent(DS_FIL_TBL_ERR_EID, CFE_EVS_EventType_ERROR, "%s index = %d, invalid pathname text", CommonErrorText, TableIndex); } Result = false; } - else if (CFS_VerifyString(DestFileEntry->Basename, DS_BASENAME_BUFSIZE, - DS_STRING_OPTIONAL, DS_FILENAME_TEXT) == false) + else if (CFS_VerifyString(DestFileEntry->Basename, DS_BASENAME_BUFSIZE, DS_STRING_OPTIONAL, DS_FILENAME_TEXT) == + false) { if (ErrorCount == 0) { - CFE_EVS_SendEvent(DS_FIL_TBL_ERR_EID, CFE_EVS_EventType_ERROR, - "%s index = %d, invalid basename text", + CFE_EVS_SendEvent(DS_FIL_TBL_ERR_EID, CFE_EVS_EventType_ERROR, "%s index = %d, invalid basename text", CommonErrorText, TableIndex); } Result = false; } - else if (CFS_VerifyString(DestFileEntry->Extension, DS_EXTENSION_BUFSIZE, - DS_STRING_OPTIONAL, DS_FILENAME_TEXT) == false) + else if (CFS_VerifyString(DestFileEntry->Extension, DS_EXTENSION_BUFSIZE, DS_STRING_OPTIONAL, DS_FILENAME_TEXT) == + false) { if (ErrorCount == 0) { - CFE_EVS_SendEvent(DS_FIL_TBL_ERR_EID, CFE_EVS_EventType_ERROR, - "%s index = %d, invalid extension text", + CFE_EVS_SendEvent(DS_FIL_TBL_ERR_EID, CFE_EVS_EventType_ERROR, "%s index = %d, invalid extension text", CommonErrorText, TableIndex); } Result = false; @@ -539,8 +517,7 @@ bool DS_TableVerifyDestFileEntry(DS_DestFileEntry_t *DestFileEntry, { if (ErrorCount == 0) { - CFE_EVS_SendEvent(DS_FIL_TBL_ERR_EID, CFE_EVS_EventType_ERROR, - "%s index = %d, filename type = %d", + CFE_EVS_SendEvent(DS_FIL_TBL_ERR_EID, CFE_EVS_EventType_ERROR, "%s index = %d, filename type = %d", CommonErrorText, TableIndex, DestFileEntry->FileNameType); } Result = false; @@ -549,8 +526,7 @@ bool DS_TableVerifyDestFileEntry(DS_DestFileEntry_t *DestFileEntry, { if (ErrorCount == 0) { - CFE_EVS_SendEvent(DS_FIL_TBL_ERR_EID, CFE_EVS_EventType_ERROR, - "%s index = %d, file enable state = %d", + CFE_EVS_SendEvent(DS_FIL_TBL_ERR_EID, CFE_EVS_EventType_ERROR, "%s index = %d, file enable state = %d", CommonErrorText, TableIndex, DestFileEntry->EnableState); } Result = false; @@ -559,8 +535,7 @@ bool DS_TableVerifyDestFileEntry(DS_DestFileEntry_t *DestFileEntry, { if (ErrorCount == 0) { - CFE_EVS_SendEvent(DS_FIL_TBL_ERR_EID, CFE_EVS_EventType_ERROR, - "%s index = %d, max file size = %d", + CFE_EVS_SendEvent(DS_FIL_TBL_ERR_EID, CFE_EVS_EventType_ERROR, "%s index = %d, max file size = %d", CommonErrorText, (int)TableIndex, (int)DestFileEntry->MaxFileSize); } Result = false; @@ -569,8 +544,7 @@ bool DS_TableVerifyDestFileEntry(DS_DestFileEntry_t *DestFileEntry, { if (ErrorCount == 0) { - CFE_EVS_SendEvent(DS_FIL_TBL_ERR_EID, CFE_EVS_EventType_ERROR, - "%s index = %d, max file age = %d", + CFE_EVS_SendEvent(DS_FIL_TBL_ERR_EID, CFE_EVS_EventType_ERROR, "%s index = %d, max file age = %d", CommonErrorText, (int)TableIndex, (int)DestFileEntry->MaxFileAge); } Result = false; @@ -579,30 +553,28 @@ bool DS_TableVerifyDestFileEntry(DS_DestFileEntry_t *DestFileEntry, { if (ErrorCount == 0) { - CFE_EVS_SendEvent(DS_FIL_TBL_ERR_EID, CFE_EVS_EventType_ERROR, - "%s index = %d, sequence count = %d", + CFE_EVS_SendEvent(DS_FIL_TBL_ERR_EID, CFE_EVS_EventType_ERROR, "%s index = %d, sequence count = %d", CommonErrorText, (int)TableIndex, (int)DestFileEntry->SequenceCount); } Result = false; } - return(Result); + return (Result); } /* End of DS_TableVerifyDestFileEntry() */ - /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ /* */ /* DS_TableVerifyFilter() - validate table data */ /* */ /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ -int32 DS_TableVerifyFilter(void *TableData) +int32 DS_TableVerifyFilter(const void *TableData) { - DS_FilterTable_t *FilterTable = (DS_FilterTable_t *) TableData; - const char *DescResult = "OK"; - int32 Result = CFE_SUCCESS; - int32 i = 0; + DS_FilterTable_t *FilterTable = (DS_FilterTable_t *)TableData; + const char * DescResult = "OK"; + int32 Result = CFE_SUCCESS; + int32 i = 0; int32 CountGood = 0; int32 CountBad = 0; @@ -615,14 +587,14 @@ int32 DS_TableVerifyFilter(void *TableData) ** ** MessageID = unlimited, zero means unused */ - if (CFS_VerifyString(FilterTable->Descriptor, DS_DESCRIPTOR_BUFSIZE, - DS_STRING_OPTIONAL, DS_DESCRIPTIVE_TEXT) == false) + if (CFS_VerifyString(FilterTable->Descriptor, DS_DESCRIPTOR_BUFSIZE, DS_STRING_OPTIONAL, DS_DESCRIPTIVE_TEXT) == + false) { CFE_EVS_SendEvent(DS_FLT_TBL_ERR_EID, CFE_EVS_EventType_ERROR, - "Filter table verify err: invalid descriptor text"); + "Filter table verify err: invalid descriptor text"); DescResult = "bad"; - Result = DS_TABLE_VERIFY_ERR; + Result = DS_TABLE_VERIFY_ERR; } /* @@ -634,7 +606,7 @@ int32 DS_TableVerifyFilter(void *TableData) { CountUnused++; } - else if (DS_TableVerifyFilterEntry(&FilterTable->Packet[i], (uint8) i, CountBad) == true) + else if (DS_TableVerifyFilterEntry(&FilterTable->Packet[i], (uint8)i, CountBad) == true) { CountGood++; } @@ -649,27 +621,25 @@ int32 DS_TableVerifyFilter(void *TableData) ** Note that totals include each table entry plus the descriptor */ CFE_EVS_SendEvent(DS_FLT_TBL_EID, CFE_EVS_EventType_INFORMATION, - "Filter table verify results: desc text = %s, good entries = %d, bad = %d, unused = %d", + "Filter table verify results: desc text = %s, good entries = %d, bad = %d, unused = %d", DescResult, (int)CountGood, (int)CountBad, (int)CountUnused); - return(Result); + return (Result); } /* End of DS_TableVerifyFilter() */ - /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ /* */ /* DS_TableVerifyFilterEntry() - verify filter table entry */ /* */ /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ -bool DS_TableVerifyFilterEntry(DS_PacketEntry_t *PacketEntry, - int32 TableIndex, int32 ErrorCount) +bool DS_TableVerifyFilterEntry(DS_PacketEntry_t *PacketEntry, int32 TableIndex, int32 ErrorCount) { - const char *CommonErrorText = "Filter table verify err:"; + const char * CommonErrorText = "Filter table verify err:"; DS_FilterParms_t *FilterParms; - bool Result = true; - int32 i = 0; + bool Result = true; + int32 i = 0; /* ** Each packet filter table entry has multiple filters per packet @@ -694,62 +664,57 @@ bool DS_TableVerifyFilterEntry(DS_PacketEntry_t *PacketEntry, /* ** If any filter field is non-zero then all filter fields must be valid */ - if (DS_TableVerifyFileIndex((uint32) FilterParms->FileTableIndex) == false) + if (DS_TableVerifyFileIndex((uint32)FilterParms->FileTableIndex) == false) { if (ErrorCount == 0) { CFE_EVS_SendEvent(DS_FLT_TBL_ERR_EID, CFE_EVS_EventType_ERROR, - "%s MID = 0x%04X, index = %d, filter = %d, file table index = %d", - CommonErrorText, PacketEntry->MessageID, - (int)TableIndex, (int)i, FilterParms->FileTableIndex); + "%s MID = 0x%08X, index = %d, filter = %d, file table index = %d", + CommonErrorText, PacketEntry->MessageID, (int)TableIndex, (int)i, + FilterParms->FileTableIndex); } Result = false; } - else if (DS_TableVerifyType((uint16) FilterParms->FilterType) == false) + else if (DS_TableVerifyType((uint16)FilterParms->FilterType) == false) { if (ErrorCount == 0) { CFE_EVS_SendEvent(DS_FLT_TBL_ERR_EID, CFE_EVS_EventType_ERROR, - "%s MID = 0x%04X, index = %d, filter = %d, filter type = %d", - CommonErrorText, PacketEntry->MessageID, - (int)TableIndex, (int)i, FilterParms->FilterType); + "%s MID = 0x%08X, index = %d, filter = %d, filter type = %d", CommonErrorText, + PacketEntry->MessageID, (int)TableIndex, (int)i, FilterParms->FilterType); } Result = false; } - else if (DS_TableVerifyParms(FilterParms->Algorithm_N, - FilterParms->Algorithm_X, + else if (DS_TableVerifyParms(FilterParms->Algorithm_N, FilterParms->Algorithm_X, FilterParms->Algorithm_O) == false) { if (ErrorCount == 0) { CFE_EVS_SendEvent(DS_FLT_TBL_ERR_EID, CFE_EVS_EventType_ERROR, - "%s MID = 0x%04X, index = %d, filter = %d, filter parms N = %d, X = %d, O = %d", + "%s MID = 0x%08X, index = %d, filter = %d, filter parms N = %d, X = %d, O = %d", CommonErrorText, PacketEntry->MessageID, (int)TableIndex, (int)i, - FilterParms->Algorithm_N, - FilterParms->Algorithm_X, - FilterParms->Algorithm_O); + FilterParms->Algorithm_N, FilterParms->Algorithm_X, FilterParms->Algorithm_O); } Result = false; } } } - return(Result); + return (Result); } /* End of DS_TableVerifyFilterEntry() */ - /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ /* */ /* DS_TableEntryUnused() - find unused table entries */ /* */ /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ -bool DS_TableEntryUnused(void *TableEntry, int32 BufferSize) +bool DS_TableEntryUnused(const void *TableEntry, int32 BufferSize) { - const char *Buffer = (char *) TableEntry; - bool Result = true; - int32 i = 0; + const char *Buffer = (char *)TableEntry; + bool Result = true; + int32 i = 0; for (i = 0; i < BufferSize; i++) { @@ -760,11 +725,10 @@ bool DS_TableEntryUnused(void *TableEntry, int32 BufferSize) } } - return(Result); + return (Result); } /* End of DS_TableEntryUnused() */ - /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ /* */ /* DS_TableVerifyFileIndex() - verify dest file index */ @@ -780,11 +744,10 @@ bool DS_TableVerifyFileIndex(uint16 FileTableIndex) Result = false; } - return(Result); + return (Result); } /* End of DS_TableVerifyFileIndex() */ - /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ /* */ /* DS_TableVerifyParms() - verify algorithm parameters */ @@ -816,11 +779,10 @@ bool DS_TableVerifyParms(uint16 Algorithm_N, uint16 Algorithm_X, uint16 Algorith } } - return(Result); + return (Result); } /* End of DS_TableVerifyParms() */ - /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ /* */ /* DS_TableVerifyType() - verify filter or filename type */ @@ -836,11 +798,10 @@ bool DS_TableVerifyType(uint16 TimeVsCount) Result = false; } - return(Result); + return (Result); } /* End of DS_TableVerifyType() */ - /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ /* */ /* DS_TableVerifyState() - verify file ena/dis state */ @@ -856,11 +817,10 @@ bool DS_TableVerifyState(uint16 EnableState) Result = false; } - return(Result); + return (Result); } /* End of DS_TableVerifyState() */ - /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ /* */ /* DS_TableVerifySize() - verify file size limit */ @@ -876,11 +836,10 @@ bool DS_TableVerifySize(uint32 MaxFileSize) Result = false; } - return(Result); + return (Result); } /* End of DS_TableVerifySize() */ - /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ /* */ /* DS_TableVerifyAge() - verify file age limit */ @@ -896,11 +855,10 @@ bool DS_TableVerifyAge(uint32 MaxFileAge) Result = false; } - return(Result); + return (Result); } /* End of DS_TableVerifyAge() */ - /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ /* */ /* DS_TableVerifyCount() - verify sequence count */ @@ -916,11 +874,10 @@ bool DS_TableVerifyCount(uint32 SequenceCount) Result = false; } - return(Result); + return (Result); } /* End of DS_TableVerifyCount() */ - /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ /* */ /* DS_TableSubscribe() - process new filter table */ @@ -930,8 +887,8 @@ bool DS_TableVerifyCount(uint32 SequenceCount) void DS_TableSubscribe(void) { DS_PacketEntry_t *FilterPackets = NULL; - CFE_SB_MsgId_t MessageID = 0; - int32 i = 0; + CFE_SB_MsgId_t MessageID = 0; + int32 i = 0; FilterPackets = DS_AppData.FilterTblPtr->Packet; @@ -945,12 +902,9 @@ void DS_TableSubscribe(void) /* ** Already subscribe to DS command packets... */ - if ((MessageID != DS_UNUSED) && - (MessageID != DS_CMD_MID) && - (MessageID != DS_SEND_HK_MID)) + if ((MessageID != DS_UNUSED) && (MessageID != DS_CMD_MID) && (MessageID != DS_SEND_HK_MID)) { - CFE_SB_SubscribeEx(MessageID, DS_AppData.InputPipe, - CFE_SB_Default_Qos, DS_PER_PACKET_PIPE_LIMIT); + CFE_SB_SubscribeEx(MessageID, DS_AppData.InputPipe, CFE_SB_DEFAULT_QOS, DS_PER_PACKET_PIPE_LIMIT); } } @@ -958,7 +912,6 @@ void DS_TableSubscribe(void) } /* End of DS_TableSubscribe() */ - /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ /* */ /* DS_TableUnsubscribe() - process old filter table */ @@ -968,8 +921,8 @@ void DS_TableSubscribe(void) void DS_TableUnsubscribe(void) { DS_PacketEntry_t *FilterPackets = NULL; - CFE_SB_MsgId_t MessageID = 0; - int32 i = 0; + CFE_SB_MsgId_t MessageID = 0; + int32 i = 0; FilterPackets = DS_AppData.FilterTblPtr->Packet; @@ -983,9 +936,7 @@ void DS_TableUnsubscribe(void) /* ** Do not un-subscribe to unused or DS command packets... */ - if ((MessageID != DS_UNUSED) && - (MessageID != DS_CMD_MID) && - (MessageID != DS_SEND_HK_MID)) + if ((MessageID != DS_UNUSED) && (MessageID != DS_CMD_MID) && (MessageID != DS_SEND_HK_MID)) { CFE_SB_Unsubscribe(MessageID, DS_AppData.InputPipe); } @@ -995,7 +946,6 @@ void DS_TableUnsubscribe(void) } /* End of DS_TableUnsubscribe() */ - /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ /* */ /* DS_TableCreateCDS() - create DS storage area in CDS */ @@ -1006,14 +956,13 @@ int32 DS_TableCreateCDS(void) { /* Store file sequence counts and task ena/dis state in CDS */ uint32 DataStoreBuffer[DS_DEST_FILE_CNT + 1] = {0}; - int32 Result = CFE_SUCCESS; - int32 i = 0; + int32 Result = CFE_SUCCESS; + int32 i = 0; /* ** Request for CDS area from cFE Executive Services... */ - Result = CFE_ES_RegisterCDS(&DS_AppData.DataStoreHandle, - sizeof(DataStoreBuffer), DS_CDS_NAME); + Result = CFE_ES_RegisterCDS(&DS_AppData.DataStoreHandle, sizeof(DataStoreBuffer), DS_CDS_NAME); if (Result == CFE_SUCCESS) { @@ -1043,10 +992,10 @@ int32 DS_TableCreateCDS(void) DS_AppData.FileStatus[i].FileCount = DataStoreBuffer[i]; } - #if (DS_CDS_ENABLE_STATE == 1) +#if (DS_CDS_ENABLE_STATE == 1) /* Only restore enable/disable state if configured */ - DS_AppData.AppEnableState = (uint8) DataStoreBuffer[DS_DEST_FILE_CNT]; - #endif + DS_AppData.AppEnableState = (uint8)DataStoreBuffer[DS_DEST_FILE_CNT]; +#endif } } @@ -1055,21 +1004,20 @@ int32 DS_TableCreateCDS(void) /* ** CDS is broken - prevent further errors... */ - DS_AppData.DataStoreHandle = 0; + DS_AppData.DataStoreHandle = CFE_ES_CDS_BAD_HANDLE; - CFE_EVS_SendEvent(DS_INIT_CDS_ERR_EID, CFE_EVS_EventType_ERROR, - "Critical Data Store access error = 0x%08X", (unsigned int)Result); + CFE_EVS_SendEvent(DS_INIT_CDS_ERR_EID, CFE_EVS_EventType_ERROR, "Critical Data Store access error = 0x%08X", + (unsigned int)Result); /* ** CDS errors are not fatal - DS can still run... */ Result = CFE_SUCCESS; } - return(Result); + return (Result); } /* End of DS_TableCreateCDS() */ - /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ /* */ /* DS_TableUpdateCDS() - update DS storage area in CDS */ @@ -1080,13 +1028,13 @@ void DS_TableUpdateCDS(void) { /* Store file sequence counts and task ena/dis state in CDS */ uint32 DataStoreBuffer[DS_DEST_FILE_CNT + 1] = {0}; - int32 Result = CFE_SUCCESS; - int32 i = 0; + int32 Result = CFE_SUCCESS; + int32 i = 0; /* ** Handle is non-zero when CDS is active... */ - if (DS_AppData.DataStoreHandle != 0) + if (!CFE_RESOURCEID_TEST_EQUAL(DS_AppData.DataStoreHandle, CFE_ES_CDS_BAD_HANDLE)) { /* ** Copy file sequence counts values to the data array... @@ -1109,12 +1057,12 @@ void DS_TableUpdateCDS(void) if (Result != CFE_SUCCESS) { - CFE_EVS_SendEvent(DS_INIT_CDS_ERR_EID, CFE_EVS_EventType_ERROR, - "Critical Data Store access error = 0x%08X", (unsigned int)Result); + CFE_EVS_SendEvent(DS_INIT_CDS_ERR_EID, CFE_EVS_EventType_ERROR, "Critical Data Store access error = 0x%08X", + (unsigned int)Result); /* ** CDS is broken - prevent further errors... */ - DS_AppData.DataStoreHandle = 0; + DS_AppData.DataStoreHandle = CFE_ES_CDS_BAD_HANDLE; } } @@ -1122,7 +1070,6 @@ void DS_TableUpdateCDS(void) } /* End of DS_TableUpdateCDS() */ - /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ /* */ /* DS_TableHashFunction() - convert messageID to hash table index */ @@ -1162,11 +1109,10 @@ uint32 DS_TableHashFunction(CFE_SB_MsgId_t MessageID) ** - matching linked list element has index into filter table ** (can now go directly to the correct filter table entry) */ - return((uint32) (MessageID & DS_HASH_TABLE_MASK)); + return ((uint32)(MessageID & DS_HASH_TABLE_MASK)); } /* End of DS_TableHashFunction() */ - /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ /* */ /* DS_TableCreateHash() - create and populate hash table */ @@ -1200,21 +1146,21 @@ void DS_TableCreateHash(void) int32 DS_TableAddMsgID(CFE_SB_MsgId_t MessageID, int32 FilterIndex) { - int32 HashIndex = 0; - DS_HashLink_t *NewLink = NULL; - DS_HashLink_t *LinkList = NULL; + int32 HashIndex = 0; + DS_HashLink_t *NewLink = NULL; + DS_HashLink_t *LinkList = NULL; /* Get unused linked list entry (one link entry per filter table entry) */ NewLink = &DS_AppData.HashLinks[FilterIndex]; /* Set filter table data values for new linked list entry */ - NewLink->Index = FilterIndex; + NewLink->Index = FilterIndex; NewLink->MessageID = MessageID; /* Hash table function converts MID into hash table index */ HashIndex = DS_TableHashFunction(NewLink->MessageID); - if (DS_AppData.HashTable[HashIndex] == (DS_HashLink_t *) NULL) + if (DS_AppData.HashTable[HashIndex] == (DS_HashLink_t *)NULL) { /* Set first link in this hash table entry linked list */ DS_AppData.HashTable[HashIndex] = NewLink; @@ -1225,7 +1171,7 @@ int32 DS_TableAddMsgID(CFE_SB_MsgId_t MessageID, int32 FilterIndex) LinkList = DS_AppData.HashTable[HashIndex]; /* Find last link */ - while (LinkList->Next != (DS_HashLink_t *) NULL) + while (LinkList->Next != (DS_HashLink_t *)NULL) { LinkList = LinkList->Next; } @@ -1234,7 +1180,7 @@ int32 DS_TableAddMsgID(CFE_SB_MsgId_t MessageID, int32 FilterIndex) LinkList->Next = NewLink; } - return(HashIndex); + return (HashIndex); } /* End of DS_TableAddMsgID() */ @@ -1246,10 +1192,10 @@ int32 DS_TableAddMsgID(CFE_SB_MsgId_t MessageID, int32 FilterIndex) int32 DS_TableFindMsgID(CFE_SB_MsgId_t MessageID) { - DS_PacketEntry_t *FilterPackets = NULL; - DS_HashLink_t *HashLink = NULL; - int32 HashTableIndex = 0; - int32 FilterTableIndex = 0; + DS_PacketEntry_t *FilterPackets = NULL; + DS_HashLink_t * HashLink = NULL; + int32 HashTableIndex = 0; + int32 FilterTableIndex = 0; /* De-reference filter table packet array */ FilterPackets = DS_AppData.FilterTblPtr->Packet; @@ -1264,7 +1210,7 @@ int32 DS_TableFindMsgID(CFE_SB_MsgId_t MessageID) HashLink = DS_AppData.HashTable[HashTableIndex]; /* NULL when list is empty or end of list */ - while (HashLink != (DS_HashLink_t *) NULL) + while ((HashLink != (DS_HashLink_t *)NULL) && (FilterPackets != NULL)) { /* Compare this linked list entry for matching MessageID */ if (FilterPackets[HashLink->Index].MessageID == MessageID) @@ -1278,11 +1224,10 @@ int32 DS_TableFindMsgID(CFE_SB_MsgId_t MessageID) HashLink = HashLink->Next; } - return(FilterTableIndex); + return (FilterTableIndex); } /* End of DS_TableFindMsgID() */ - /************************/ /* End of File Comment */ /************************/ diff --git a/fsw/src/ds_table.h b/fsw/src/ds_table.h index 27cf4c5..790ccf6 100644 --- a/fsw/src/ds_table.h +++ b/fsw/src/ds_table.h @@ -1,22 +1,22 @@ /************************************************************************ -** File: ds_table.h -** -** NASA Docket No. GSC-18448-1, and identified as "cFS Data Storage (DS) -** application version 2.5.2” -** -** Copyright © 2019 United States Government as represented by the Administrator -** of the National Aeronautics and Space Administration. All Rights Reserved. -** -** Licensed under the Apache License, Version 2.0 (the "License"); -** you may not use this file except in compliance with the License. -** You may obtain a copy of the License at -** http://www.apache.org/licenses/LICENSE-2.0 -** Unless required by applicable law or agreed to in writing, software -** distributed under the License is distributed on an "AS IS" BASIS, -** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -** See the License for the specific language governing permissions and -** limitations under the License. -** +** File: ds_table.h +** +** NASA Docket No. GSC-18448-1, and identified as "cFS Data Storage (DS) +** application version 2.5.2” +** +** Copyright © 2019 United States Government as represented by the Administrator +** of the National Aeronautics and Space Administration. All Rights Reserved. +** +** Licensed under the Apache License, Version 2.0 (the "License"); +** you may not use this file except in compliance with the License. +** You may obtain a copy of the License at +** http://www.apache.org/licenses/LICENSE-2.0 +** Unless required by applicable law or agreed to in writing, software +** distributed under the License is distributed on an "AS IS" BASIS, +** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +** See the License for the specific language governing permissions and +** limitations under the License. +** ** Purpose: ** CFS Data Storage (DS) table definitions ** @@ -27,30 +27,27 @@ #include "cfe.h" - #include "ds_platform_cfg.h" - /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ /* */ /* DS hash table structures and definitions */ /* */ /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ -#define DS_HASH_TABLE_ENTRIES 256 -#define DS_HASH_TABLE_MASK 0x00FF +#define DS_HASH_TABLE_ENTRIES 256 +#define DS_HASH_TABLE_MASK 0x00FF /** \brief DS Hash Table Linked List structure */ typedef struct DS_HashTag { - CFE_SB_MsgId_t MessageID; /**< \brief DS filter table entry MessageID */ - uint16 Index; /**< \brief DS filter table entry index */ + CFE_SB_MsgId_t MessageID; /**< \brief DS filter table entry MessageID */ + uint16 Index; /**< \brief DS filter table entry index */ - struct DS_HashTag *Next; /**< \brief Next hash table linked list element */ + struct DS_HashTag *Next; /**< \brief Next hash table linked list element */ } DS_HashLink_t; - /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ /* */ /* DS application table structures */ @@ -60,63 +57,61 @@ typedef struct DS_HashTag /** \brief DS Packet Filter Table structures */ typedef struct { - uint8 FileTableIndex; /**< \brief Index into Destination File Table */ - uint8 FilterType; /**< \brief Filter type (packet count or time) */ + uint8 FileTableIndex; /**< \brief Index into Destination File Table */ + uint8 FilterType; /**< \brief Filter type (packet count or time) */ - uint16 Algorithm_N; /**< \brief Algorithm value N (pass this many) */ - uint16 Algorithm_X; /**< \brief Algorithm value X (out of this many) */ - uint16 Algorithm_O; /**< \brief Algorithm value O (at this offset) */ + uint16 Algorithm_N; /**< \brief Algorithm value N (pass this many) */ + uint16 Algorithm_X; /**< \brief Algorithm value X (out of this many) */ + uint16 Algorithm_O; /**< \brief Algorithm value O (at this offset) */ } DS_FilterParms_t; typedef struct { - CFE_SB_MsgId_t MessageID; /**< \brief Packet MessageID (may be cmd or tlm) - \details DS defines ID zero to be unused */ + CFE_SB_MsgId_t MessageID; /**< \brief Packet MessageID (may be cmd or tlm) + \details DS defines ID zero to be unused */ - DS_FilterParms_t Filter[DS_FILTERS_PER_PACKET]; /**< \brief One entry for each packet destination */ + DS_FilterParms_t Filter[DS_FILTERS_PER_PACKET]; /**< \brief One entry for each packet destination */ } DS_PacketEntry_t; typedef struct { - char Descriptor[DS_DESCRIPTOR_BUFSIZE]; /**< \brief Description such as "Safehold Filter Table" */ - DS_PacketEntry_t Packet[DS_PACKETS_IN_FILTER_TABLE]; /**< \brief One entry for each filtered packet */ + char Descriptor[DS_DESCRIPTOR_BUFSIZE]; /**< \brief Description such as "Safehold Filter Table" */ + DS_PacketEntry_t Packet[DS_PACKETS_IN_FILTER_TABLE]; /**< \brief One entry for each filtered packet */ } DS_FilterTable_t; - -/** \brief DS Destination File Table structures +/** \brief DS Destination File Table structures \details Note that the sum of the string buffer sizes exceeds the max for a qualified filename (OS_MAX_PATH_LEN). This allows a variable definition of how many characters may be used in the pathname versus the filename. The qualified filename length will be verified at run-time as each filename is created. */ typedef struct { #if (DS_MOVE_FILES == true) - char Movename[DS_PATHNAME_BUFSIZE]; /**< \brief Move files to this dir after close */ + char Movename[DS_PATHNAME_BUFSIZE]; /**< \brief Move files to this dir after close */ #endif - char Pathname[DS_PATHNAME_BUFSIZE]; /**< \brief Path portion of filename */ - char Basename[DS_BASENAME_BUFSIZE]; /**< \brief Base portion of filename */ - char Extension[DS_EXTENSION_BUFSIZE]; /**< \brief Extension portion of filename */ + char Pathname[DS_PATHNAME_BUFSIZE]; /**< \brief Path portion of filename */ + char Basename[DS_BASENAME_BUFSIZE]; /**< \brief Base portion of filename */ + char Extension[DS_EXTENSION_BUFSIZE]; /**< \brief Extension portion of filename */ - uint16 FileNameType; /**< \brief Filename type - count vs time */ - uint16 EnableState; /**< \brief File enable/disable state */ + uint16 FileNameType; /**< \brief Filename type - count vs time */ + uint16 EnableState; /**< \brief File enable/disable state */ - uint32 MaxFileSize; /**< \brief Max file size (bytes) */ - uint32 MaxFileAge; /**< \brief Max file age (seconds) */ + uint32 MaxFileSize; /**< \brief Max file size (bytes) */ + uint32 MaxFileAge; /**< \brief Max file age (seconds) */ - uint32 SequenceCount; /**< \brief Sequence count portion of filename */ + uint32 SequenceCount; /**< \brief Sequence count portion of filename */ } DS_DestFileEntry_t; typedef struct { - char Descriptor[DS_DESCRIPTOR_BUFSIZE]; /**< \brief Description such as "HK Telemetry File" */ - DS_DestFileEntry_t File[DS_DEST_FILE_CNT]; /**< \brief One entry for each destination data file */ + char Descriptor[DS_DESCRIPTOR_BUFSIZE]; /**< \brief Description such as "HK Telemetry File" */ + DS_DestFileEntry_t File[DS_DEST_FILE_CNT]; /**< \brief One entry for each destination data file */ } DS_DestFileTable_t; - /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ /* */ /* Prototypes for functions defined in ds_table.c */ @@ -125,7 +120,7 @@ typedef struct /*******************************************************************/ /* \brief Startup table initialization function -** +** ** \par Description ** This function creates the Packet Filter and Destination ** File tables. The function then tries to load default table @@ -138,17 +133,16 @@ typedef struct ** ** \par Assumptions, External Events, and Notes: ** (none) -** +** ** \param [in] (none) ** ** \sa #DS_PacketEntry_t, #DS_FilterParms_t, #DS_DestFileEntry_t */ int32 DS_TableInit(void); - /*******************************************************************/ /* \brief Manage destination file table loads, dumps, etc. -** +** ** \par Description ** This function will provide cFE Table Services with an ** opportunity to make updates to the Destination File Table @@ -162,17 +156,16 @@ int32 DS_TableInit(void); ** ** \par Assumptions, External Events, and Notes: ** (none) -** +** ** \param [in] (none) ** ** \sa #DS_DestFileEntry_t, #DS_TableVerifyDestFile */ -void DS_TableManageDestFile(void); - +void DS_TableManageDestFile(void); /*******************************************************************/ /* \brief Manage packet filter table loads, dumps, etc. -** +** ** \par Description ** This function will provide cFE Table Services with an ** opportunity to make updates to the Packet Filter Table @@ -188,17 +181,16 @@ void DS_TableManageDestFile(void); ** ** \par Assumptions, External Events, and Notes: ** (none) -** +** ** \param [in] (none) ** ** \sa #DS_PacketEntry_t, #DS_FilterParms_t, #DS_TableVerifyFilter */ -void DS_TableManageFilter(void); - +void DS_TableManageFilter(void); /*******************************************************************/ /* \brief Verify destination file table data -** +** ** \par Description ** This function is called by cFE Table Services to verify ** the contents of a candidate Destination File Table. This @@ -212,17 +204,16 @@ void DS_TableManageFilter(void); ** ** \par Assumptions, External Events, and Notes: ** (none) -** +** ** \param [in] Pointer to Destination File Table data ** ** \sa #DS_DestFileEntry_t, #DS_TableVerifyDestFileEntry */ -int32 DS_TableVerifyDestFile(void *TableData); - +int32 DS_TableVerifyDestFile(const void *TableData); /*******************************************************************/ /* \brief Verify destination file table entry -** +** ** \par Description ** This function is called from the Destination File Table ** verification function to verify a single table entry. @@ -231,23 +222,21 @@ int32 DS_TableVerifyDestFile(void *TableData); ** ** \par Called From: ** - Destination File Table validation function -** +** ** \par Assumptions, External Events, and Notes: ** (none) -** +** ** \param [in] Pointer to selected Destination File Table entry ** \param [in] Index of selected Destination File Table entry ** \param [in] Previous verification result (event for 1st err) ** ** \sa #DS_DestFileEntry_t, #DS_TableVerifyDestFile */ -bool DS_TableVerifyDestFileEntry(DS_DestFileEntry_t *DestFileEntry, - uint8 TableIndex, int32 ErrorCount); - +bool DS_TableVerifyDestFileEntry(DS_DestFileEntry_t *DestFileEntry, uint8 TableIndex, int32 ErrorCount); /*******************************************************************/ /* \brief Verify packet filter table data -** +** ** \par Description ** This function is called by cFE Table Services to verify ** the contents of a candidate Packet Filter Table. This @@ -258,20 +247,19 @@ bool DS_TableVerifyDestFileEntry(DS_DestFileEntry_t *DestFileEntry, ** ** \par Called From: ** - cFE Table Services -** +** ** \par Assumptions, External Events, and Notes: ** (none) -** +** ** \param [in] Pointer to Packet Filter Table data ** ** \sa #DS_PacketEntry_t, #DS_FilterParms_t, #DS_TableVerifyFilterEntry */ -int32 DS_TableVerifyFilter(void *TableData); - +int32 DS_TableVerifyFilter(const void *TableData); /*******************************************************************/ /* \brief Verify packet filter table entry -** +** ** \par Description ** This function is called from the Packet Filter Table ** verification function to verify a single table entry. @@ -280,22 +268,20 @@ int32 DS_TableVerifyFilter(void *TableData); ** ** \par Called From: ** - Packet Filter Table validation function -** +** ** \par Assumptions, External Events, and Notes: ** (none) -** +** ** \param [in] Pointer to a Packet Filter Table entry ** \param [in] Index of selected Packet Filter Table entry ** ** \sa #DS_PacketEntry_t, #DS_FilterParms_t, #DS_TableVerifyFilter */ -bool DS_TableVerifyFilterEntry(DS_PacketEntry_t *PacketEntry, - int32 TableIndex, int32 ErrorCount); - +bool DS_TableVerifyFilterEntry(DS_PacketEntry_t *PacketEntry, int32 TableIndex, int32 ErrorCount); /*******************************************************************/ /* \brief Test for unused table entry -** +** ** \par Description ** This function returns true if a table entry is unused. ** Unused is defined as containing nothing but zero's. @@ -303,21 +289,20 @@ bool DS_TableVerifyFilterEntry(DS_PacketEntry_t *PacketEntry, ** \par Called From: ** - Packet Filter Table validation function ** - Destination File Table validation function -** +** ** \par Assumptions, External Events, and Notes: ** (none) -** +** ** \param [in] Pointer to the table entry data ** \param [in] Length of the table entry data ** ** \sa #DS_PacketEntry_t, #DS_FilterParms_t, #DS_DestFileEntry_t */ -bool DS_TableEntryUnused(void *TableEntry, int32 BufferSize); - +bool DS_TableEntryUnused(const void *TableEntry, int32 BufferSize); /*******************************************************************/ /* \brief Verify destination file index -** +** ** \par Description ** This function verifies that the indicated packet filter ** table file table index is within bounds - as defined by @@ -338,20 +323,19 @@ bool DS_TableEntryUnused(void *TableEntry, int32 BufferSize); ** - Command handler (set file sequence count) ** - Command handler (close file) ** - Packet Filter Table entry validation function -** +** ** \par Assumptions, External Events, and Notes: ** (none) -** +** ** \param [in] Destination File Table Index value ** ** \sa #DS_PacketEntry_t, #DS_FilterParms_t, #DS_DestFileEntry_t */ bool DS_TableVerifyFileIndex(uint16 FileTableIndex); - /*******************************************************************/ /* \brief Verify packet filter parameters -** +** ** \par Description ** This function verifies that the indicated packet filter ** table filter parameters are within bounds. @@ -361,24 +345,21 @@ bool DS_TableVerifyFileIndex(uint16 FileTableIndex); ** \par Called From: ** - Command handler (set filter parms) ** - Packet Filter Table entry validation function -** +** ** \par Assumptions, External Events, and Notes: ** (none) -** +** ** \param [in] Filter Algorithm N value ** \param [in] Filter Algorithm X value ** \param [in] Filter Algorithm O value ** ** \sa #DS_TableVerifyType, #DS_TableVerifyState, #DS_DestFileEntry_t */ -bool DS_TableVerifyParms(uint16 Algorithm_N, - uint16 Algorithm_X, - uint16 Algorithm_O); - +bool DS_TableVerifyParms(uint16 Algorithm_N, uint16 Algorithm_X, uint16 Algorithm_O); /*******************************************************************/ /* \brief Verify packet filter type or filename type -** +** ** \par Description ** This common function verifies that the indicated packet ** filter table filter type, or destination file table @@ -390,20 +371,19 @@ bool DS_TableVerifyParms(uint16 Algorithm_N, ** - Command handler (set filename type) ** - Packet Filter Table entry validation function ** - Destination File Table entry validation function -** +** ** \par Assumptions, External Events, and Notes: ** (none) -** +** ** \param [in] Filter Type or Filename Type value ** ** \sa #DS_TableVerifyState, #DS_TableVerifySize, #DS_DestFileEntry_t */ bool DS_TableVerifyType(uint16 TimeVsCount); - /*******************************************************************/ /* \brief Verify application or destination file enable/disable state -** +** ** \par Description ** This function verifies that the indicated destination file ** enable/disable state is within bounds. @@ -413,20 +393,19 @@ bool DS_TableVerifyType(uint16 TimeVsCount); ** - Command handler (set application enable/disable state) ** - Command handler (set file enable/disable state) ** - Destination File Table entry validation function -** +** ** \par Assumptions, External Events, and Notes: ** (none) -** +** ** \param [in] Enable/Disable State value ** ** \sa #DS_TableVerifySize, #DS_TableVerifyAge, #DS_DestFileEntry_t */ bool DS_TableVerifyState(uint16 EnableState); - /*******************************************************************/ /* \brief Verify destination file max size limit -** +** ** \par Description ** This function verifies that the indicated destination file ** max size limit is within bounds - as defined by platform @@ -435,20 +414,19 @@ bool DS_TableVerifyState(uint16 EnableState); ** \par Called From: ** - Command handler (set file max size limit) ** - Destination File Table entry validation function -** +** ** \par Assumptions, External Events, and Notes: ** (none) -** +** ** \param [in] Maximum Size Limit value ** ** \sa #DS_TableVerifyAge, #DS_TableVerifyCount, #DS_DestFileEntry_t */ bool DS_TableVerifySize(uint32 MaxFileSize); - /*******************************************************************/ /* \brief Verify destination file max age limit -** +** ** \par Description ** This function verifies that the indicated destination file ** max age limit is within bounds - as defined by platform @@ -457,20 +435,19 @@ bool DS_TableVerifySize(uint32 MaxFileSize); ** \par Called From: ** - Command handler (set file max age limit) ** - Destination File Table entry validation function -** +** ** \par Assumptions, External Events, and Notes: ** (none) -** +** ** \param [in] Maximum Age Limit value ** ** \sa #DS_TableVerifySize, #DS_TableVerifyCount, #DS_DestFileEntry_t */ bool DS_TableVerifyAge(uint32 MaxFileAge); - /*******************************************************************/ /* \brief Verify destination file sequence count -** +** ** \par Description ** This function verifies that the indicated destination file ** sequence count is within bounds - as defined by platform @@ -479,20 +456,19 @@ bool DS_TableVerifyAge(uint32 MaxFileAge); ** \par Called From: ** - Command handler (set file sequence count) ** - Destination File Table entry validation function -** +** ** \par Assumptions, External Events, and Notes: ** (none) -** +** ** \param [in] Sequence Count value ** ** \sa #DS_TableVerifySize, #DS_TableVerifyAge, #DS_DestFileEntry_t */ bool DS_TableVerifyCount(uint32 SequenceCount); - /*******************************************************************/ /* \brief Subscribe to packet filter table packets -** +** ** \par Description ** A new Packet Filter Table is available for use. This ** function is called to subscribe to packets referenced @@ -500,42 +476,40 @@ bool DS_TableVerifyCount(uint32 SequenceCount); ** ** \par Called From: ** - Packet Filter Table manage function -** +** ** \par Assumptions, External Events, and Notes: ** Caller has determined that the new filter table exists. -** +** ** \param [in] (none) ** ** \sa #DS_PacketEntry_t, #DS_FilterParms_t, #DS_TableUnsubscribe */ void DS_TableSubscribe(void); - /*******************************************************************/ /* \brief Unsubscribe to packet filter table packets -** +** ** \par Description -** A new Packet Filter Table is available for use. Prior to +** A new Packet Filter Table is available for use. Prior to ** subscribing to the packets referenced by the new filter ** table, this function is called to unsubscribe to packets ** referenced by the old filter table. ** ** \par Called From: ** - Packet Filter Table manage function -** +** ** \par Assumptions, External Events, and Notes: ** Caller has determined that the old filter table exists. -** +** ** \param [in] (none) ** ** \sa #DS_PacketEntry_t, #DS_FilterParms_t, #DS_TableSubscribe */ void DS_TableUnsubscribe(void); - /*******************************************************************/ /* \brief Create local area within the Critical Data Store (CDS) -** +** ** \par Description ** This function creates a new CDS area or gets access to a ** CDS area created prior to a processor reset. The CDS area @@ -544,20 +518,19 @@ void DS_TableUnsubscribe(void); ** ** \par Called From: ** - Application initialization function -** +** ** \par Assumptions, External Events, and Notes: ** (none) -** +** ** \param [in] (none) ** ** \sa #DS_DestFileEntry_t */ int32 DS_TableCreateCDS(void); - /*******************************************************************/ /* \brief Update CDS with current filename sequence count values -** +** ** \par Description ** This function writes the current filename sequence count ** values to the Critical Data Store. The function is called @@ -567,20 +540,19 @@ int32 DS_TableCreateCDS(void); ** - Destination table data update handler ** - Destination file creation function ** - Command handler (set sequence count) -** +** ** \par Assumptions, External Events, and Notes: ** (none) -** +** ** \param [in] (none) ** ** \sa #DS_DestFileEntry_t */ void DS_TableUpdateCDS(void); - /*******************************************************************/ /* \brief Hash table function -** +** ** \par Description ** This function converts a cFE MessageID into an index into ** the hash table. The indexed hash table entry contains a @@ -593,10 +565,10 @@ void DS_TableUpdateCDS(void); ** \par Called From: ** - Hash table creation function (after load filter table) ** - Find messageID in filter table function -** +** ** \par Assumptions, External Events, and Notes: ** (none) -** +** ** \param [in] Software Bus message ID (#CFE_SB_MsgId_t) ** \param [out] Index of hash table entry for input message ID ** @@ -604,10 +576,9 @@ void DS_TableUpdateCDS(void); */ uint32 DS_TableHashFunction(CFE_SB_MsgId_t MessageID); - /*******************************************************************/ /* \brief Create hash table function -** +** ** \par Description ** This function populates the hash table following a new ** load of the packet filter table. Because there may be @@ -619,30 +590,29 @@ uint32 DS_TableHashFunction(CFE_SB_MsgId_t MessageID); ** ** \par Called From: ** - Filter table manage updates function (after table load) -** +** ** \par Assumptions, External Events, and Notes: ** (none) -** +** ** \param [in] (none) ** ** \sa #DS_HashLink_t, #DS_TableHashFunction, #DS_TableFindMsgID */ void DS_TableCreateHash(void); - /*******************************************************************/ /* \brief Adds a message ID to the hash table -** +** ** \par Description ** This function populates the hash table with a new message ID ** ** \par Called From: ** - Creation of Hash Table ** - Command to add a MID -** +** ** \par Assumptions, External Events, and Notes: ** (none) -** +** ** \param [in] Software Bus message ID (#CFE_SB_MsgId_t) ** \param [in] Filter table index for message ID ** \param [out] Hash table index for message ID @@ -653,7 +623,7 @@ int32 DS_TableAddMsgID(CFE_SB_MsgId_t MessageID, int32 FilterIndex); /*******************************************************************/ /* \brief Search packet filter table for message ID -** +** ** \par Description ** This function searches for a packet filter table entry that ** matches the input argument message ID. @@ -664,10 +634,10 @@ int32 DS_TableAddMsgID(CFE_SB_MsgId_t MessageID, int32 FilterIndex); ** - Command handler (set filter type) ** - Command handler (set filter parms) ** - Command handler (add messageID to filter table) -** +** ** \par Assumptions, External Events, and Notes: ** (none) -** +** ** \param [in] Software Bus message ID (#CFE_SB_MsgId_t) ** \param [out] Filter table index for message ID ** @@ -675,7 +645,6 @@ int32 DS_TableAddMsgID(CFE_SB_MsgId_t MessageID, int32 FilterIndex); */ int32 DS_TableFindMsgID(CFE_SB_MsgId_t MessageID); - #endif /* _ds_table_h_ */ /************************/ diff --git a/fsw/src/ds_verify.h b/fsw/src/ds_verify.h index c6526cd..5da0481 100644 --- a/fsw/src/ds_verify.h +++ b/fsw/src/ds_verify.h @@ -1,24 +1,24 @@ /************************************************************************ ** File: ds_verify.h ** -** NASA Docket No. GSC-18448-1, and identified as "cFS Data Storage (DS) -** application version 2.5.2” -** -** Copyright © 2019 United States Government as represented by the Administrator -** of the National Aeronautics and Space Administration. All Rights Reserved. +** NASA Docket No. GSC-18448-1, and identified as "cFS Data Storage (DS) +** application version 2.5.2” ** -** Licensed under the Apache License, Version 2.0 (the "License"); -** you may not use this file except in compliance with the License. -** You may obtain a copy of the License at -** http://www.apache.org/licenses/LICENSE-2.0 -** Unless required by applicable law or agreed to in writing, software -** distributed under the License is distributed on an "AS IS" BASIS, -** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -** See the License for the specific language governing permissions and -** limitations under the License. -** +** Copyright © 2019 United States Government as represented by the Administrator +** of the National Aeronautics and Space Administration. All Rights Reserved. ** -** Purpose: +** Licensed under the Apache License, Version 2.0 (the "License"); +** you may not use this file except in compliance with the License. +** You may obtain a copy of the License at +** http://www.apache.org/licenses/LICENSE-2.0 +** Unless required by applicable law or agreed to in writing, software +** distributed under the License is distributed on an "AS IS" BASIS, +** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +** See the License for the specific language governing permissions and +** limitations under the License. +** +** +** Purpose: ** Define the CFS Data Storage (DS) Application compile-time checks ** ** Notes: @@ -27,223 +27,186 @@ #ifndef _ds_verify_h_ #define _ds_verify_h_ - #include "cfe.h" #include "ds_platform_cfg.h" - #ifndef DS_DESTINATION_TBL_NAME - #error DS_DESTINATION_TBL_NAME must be defined! +#error DS_DESTINATION_TBL_NAME must be defined! #endif - #ifndef DS_DEF_FILTER_FILENAME - #error DS_DEF_FILTER_FILENAME must be defined! +#error DS_DEF_FILTER_FILENAME must be defined! #endif - #ifndef DS_DEST_FILE_CNT - #error DS_DEST_FILE_CNT must be defined! -#elif (DS_DEST_FILE_CNT < 1) - #error DS_DEST_FILE_CNT cannot be less than 1! +#error DS_DEST_FILE_CNT must be defined! +#elif (DS_DEST_FILE_CNT < 1) +#error DS_DEST_FILE_CNT cannot be less than 1! #endif - #ifndef DS_PATHNAME_BUFSIZE - #error DS_PATHNAME_BUFSIZE must be defined! -#elif (DS_PATHNAME_BUFSIZE < 1) - #error DS_PATHNAME_BUFSIZE cannot be less than 1! +#error DS_PATHNAME_BUFSIZE must be defined! +#elif (DS_PATHNAME_BUFSIZE < 1) +#error DS_PATHNAME_BUFSIZE cannot be less than 1! #elif ((DS_PATHNAME_BUFSIZE % 4) != 0) - #error DS_PATHNAME_BUFSIZE must be a multiple of 4! -#elif (DS_PATHNAME_BUFSIZE > OS_MAX_PATH_LEN) - #error DS_PATHNAME_BUFSIZE cannot be greater than OS_MAX_PATH_LEN! +#error DS_PATHNAME_BUFSIZE must be a multiple of 4! +#elif (DS_PATHNAME_BUFSIZE > OS_MAX_PATH_LEN) +#error DS_PATHNAME_BUFSIZE cannot be greater than OS_MAX_PATH_LEN! #endif - #ifndef DS_BASENAME_BUFSIZE - #error DS_BASENAME_BUFSIZE must be defined! -#elif (DS_BASENAME_BUFSIZE < 1) - #error DS_BASENAME_BUFSIZE cannot be less than 1! +#error DS_BASENAME_BUFSIZE must be defined! +#elif (DS_BASENAME_BUFSIZE < 1) +#error DS_BASENAME_BUFSIZE cannot be less than 1! #elif ((DS_BASENAME_BUFSIZE % 4) != 0) - #error DS_BASENAME_BUFSIZE must be a multiple of 4! -#elif (DS_BASENAME_BUFSIZE > OS_MAX_PATH_LEN) - #error DS_BASENAME_BUFSIZE cannot be greater than OS_MAX_PATH_LEN! +#error DS_BASENAME_BUFSIZE must be a multiple of 4! +#elif (DS_BASENAME_BUFSIZE > OS_MAX_PATH_LEN) +#error DS_BASENAME_BUFSIZE cannot be greater than OS_MAX_PATH_LEN! #endif - #ifndef DS_EXTENSION_BUFSIZE - #error DS_EXTENSION_BUFSIZE must be defined! -#elif (DS_EXTENSION_BUFSIZE < 1) - #error DS_EXTENSION_BUFSIZE cannot be less than 1! +#error DS_EXTENSION_BUFSIZE must be defined! +#elif (DS_EXTENSION_BUFSIZE < 1) +#error DS_EXTENSION_BUFSIZE cannot be less than 1! #elif ((DS_EXTENSION_BUFSIZE % 4) != 0) - #error DS_EXTENSION_BUFSIZE must be a multiple of 4! -#elif (DS_EXTENSION_BUFSIZE > OS_MAX_PATH_LEN) - #error DS_EXTENSION_BUFSIZE cannot be greater than OS_MAX_PATH_LEN! +#error DS_EXTENSION_BUFSIZE must be a multiple of 4! +#elif (DS_EXTENSION_BUFSIZE > OS_MAX_PATH_LEN) +#error DS_EXTENSION_BUFSIZE cannot be greater than OS_MAX_PATH_LEN! #endif - #ifndef DS_FILTER_TBL_NAME - #error DS_FILTER_TBL_NAME must be defined! +#error DS_FILTER_TBL_NAME must be defined! #endif - #ifndef DS_DEF_DEST_FILENAME - #error DS_DEF_DEST_FILENAME must be defined! +#error DS_DEF_DEST_FILENAME must be defined! #endif - #ifndef DS_PACKETS_IN_FILTER_TABLE - #error DS_PACKETS_IN_FILTER_TABLE must be defined! -#elif (DS_PACKETS_IN_FILTER_TABLE < 1) - #error DS_PACKETS_IN_FILTER_TABLE cannot be less than 1! +#error DS_PACKETS_IN_FILTER_TABLE must be defined! +#elif (DS_PACKETS_IN_FILTER_TABLE < 1) +#error DS_PACKETS_IN_FILTER_TABLE cannot be less than 1! #endif - #ifndef DS_FILTERS_PER_PACKET - #error DS_FILTERS_PER_PACKET must be defined! -#elif (DS_FILTERS_PER_PACKET < 1) - #error DS_FILTERS_PER_PACKET cannot be less than 1! -#elif (DS_FILTERS_PER_PACKET > DS_DEST_FILE_CNT) - #error DS_FILTERS_PER_PACKET cannot be greater than DS_DEST_FILE_CNT! +#error DS_FILTERS_PER_PACKET must be defined! +#elif (DS_FILTERS_PER_PACKET < 1) +#error DS_FILTERS_PER_PACKET cannot be less than 1! +#elif (DS_FILTERS_PER_PACKET > DS_DEST_FILE_CNT) +#error DS_FILTERS_PER_PACKET cannot be greater than DS_DEST_FILE_CNT! #endif - #ifndef DS_DESCRIPTOR_BUFSIZE - #error DS_DESCRIPTOR_BUFSIZE must be defined! -#elif (DS_DESCRIPTOR_BUFSIZE < 1) - #error DS_DESCRIPTOR_BUFSIZE cannot be less than 1! +#error DS_DESCRIPTOR_BUFSIZE must be defined! +#elif (DS_DESCRIPTOR_BUFSIZE < 1) +#error DS_DESCRIPTOR_BUFSIZE cannot be less than 1! #elif ((DS_DESCRIPTOR_BUFSIZE % 4) != 0) - #error DS_DESCRIPTOR_BUFSIZE must be a multiple of 4! +#error DS_DESCRIPTOR_BUFSIZE must be a multiple of 4! #endif - #ifndef DS_SEQUENCE_DIGITS - #error DS_SEQUENCE_DIGITS must be defined! -#elif (DS_SEQUENCE_DIGITS < 1) - #error DS_SEQUENCE_DIGITS cannot be less than 1! +#error DS_SEQUENCE_DIGITS must be defined! +#elif (DS_SEQUENCE_DIGITS < 1) +#error DS_SEQUENCE_DIGITS cannot be less than 1! #endif - #ifndef DS_MAX_SEQUENCE_COUNT - #error DS_MAX_SEQUENCE_COUNT must be defined! -#elif (DS_MAX_SEQUENCE_COUNT < 1) - #error DS_MAX_SEQUENCE_COUNT cannot be less than 1! +#error DS_MAX_SEQUENCE_COUNT must be defined! +#elif (DS_MAX_SEQUENCE_COUNT < 1) +#error DS_MAX_SEQUENCE_COUNT cannot be less than 1! #endif - #ifndef DS_TOTAL_FNAME_BUFSIZE - #error DS_TOTAL_FNAME_BUFSIZE must be defined! -#elif (DS_TOTAL_FNAME_BUFSIZE < 1) - #error DS_TOTAL_FNAME_BUFSIZE cannot be less than 1! +#error DS_TOTAL_FNAME_BUFSIZE must be defined! +#elif (DS_TOTAL_FNAME_BUFSIZE < 1) +#error DS_TOTAL_FNAME_BUFSIZE cannot be less than 1! #elif ((DS_TOTAL_FNAME_BUFSIZE % 4) != 0) - #error DS_TOTAL_FNAME_BUFSIZE must be a multiple of 4! -#elif (DS_TOTAL_FNAME_BUFSIZE > OS_MAX_PATH_LEN) - #error DS_TOTAL_FNAME_BUFSIZE cannot be greater than OS_MAX_PATH_LEN! +#error DS_TOTAL_FNAME_BUFSIZE must be a multiple of 4! +#elif (DS_TOTAL_FNAME_BUFSIZE > OS_MAX_PATH_LEN) +#error DS_TOTAL_FNAME_BUFSIZE cannot be greater than OS_MAX_PATH_LEN! #endif - #ifndef DS_FILE_HDR_SUBTYPE - #error DS_FILE_HDR_SUBTYPE must be defined! +#error DS_FILE_HDR_SUBTYPE must be defined! #endif - #ifndef DS_FILE_HDR_DESCRIPTION - #error DS_FILE_HDR_DESCRIPTION must be defined! +#error DS_FILE_HDR_DESCRIPTION must be defined! #endif - #ifndef DS_FILE_MIN_SIZE_LIMIT - #error DS_FILE_MIN_SIZE_LIMIT must be defined! -#elif (DS_FILE_MIN_SIZE_LIMIT < 1) - #error DS_FILE_MIN_SIZE_LIMIT cannot be less than 1! +#error DS_FILE_MIN_SIZE_LIMIT must be defined! +#elif (DS_FILE_MIN_SIZE_LIMIT < 1) +#error DS_FILE_MIN_SIZE_LIMIT cannot be less than 1! #endif - #ifndef DS_FILE_MIN_AGE_LIMIT - #error DS_FILE_MIN_AGE_LIMIT must be defined! -#elif (DS_FILE_MIN_AGE_LIMIT < 1) - #error DS_FILE_MIN_AGE_LIMIT cannot be less than 1! +#error DS_FILE_MIN_AGE_LIMIT must be defined! +#elif (DS_FILE_MIN_AGE_LIMIT < 1) +#error DS_FILE_MIN_AGE_LIMIT cannot be less than 1! #endif - #ifndef DS_APP_PIPE_NAME - #error DS_APP_PIPE_NAME must be defined! +#error DS_APP_PIPE_NAME must be defined! #endif - #ifndef DS_APP_PIPE_DEPTH - #error DS_APP_PIPE_DEPTH must be defined! -#elif (DS_APP_PIPE_DEPTH < 1) - #error DS_APP_PIPE_DEPTH cannot be less than 1! +#error DS_APP_PIPE_DEPTH must be defined! +#elif (DS_APP_PIPE_DEPTH < 1) +#error DS_APP_PIPE_DEPTH cannot be less than 1! +#elif (DS_APP_PIPE_DEPTH > OS_QUEUE_MAX_DEPTH) +#error DS_APP_PIPE_DEPTH cannot exceed OS_QUEUE_MAX_DEPTH! #endif -/* - * JPH 2015-06-29 - Removed check of: - * DS_APP_PIPE_DEPTH > CFE_SB_MAX_PIPE_DEPTH - * - * This is not a valid check anymore, as the DS app does not have knowledge - * of CFE_SB_MAX_PIPE_DEPTH. But if the configuration violates this rule it will - * show up as an obvious run-time error so the compile-time check is redundant. - */ - - #ifndef DS_MAKE_TABLES_CRITICAL - #error DS_MAKE_TABLES_CRITICAL must be defined! +#error DS_MAKE_TABLES_CRITICAL must be defined! #elif ((DS_MAKE_TABLES_CRITICAL != 0) && (DS_MAKE_TABLES_CRITICAL != 1)) - #error DS_MAKE_TABLES_CRITICAL must be 0 or 1! +#error DS_MAKE_TABLES_CRITICAL must be 0 or 1! #endif - -#if (DS_SECS_PER_HK_CYCLE < 1) - #error DS_SECS_PER_HK_CYCLE cannot be less than 1! +#if (DS_SECS_PER_HK_CYCLE < 1) +#error DS_SECS_PER_HK_CYCLE cannot be less than 1! #endif - #ifndef DS_DEF_ENABLE_STATE - #error DS_DEF_ENABLE_STATE must be defined! +#error DS_DEF_ENABLE_STATE must be defined! #elif ((DS_DEF_ENABLE_STATE != 0) && (DS_DEF_ENABLE_STATE != 1)) - #error DS_DEF_ENABLE_STATE must be 0 or 1! +#error DS_DEF_ENABLE_STATE must be 0 or 1! #endif - #ifndef DS_CDS_ENABLE_STATE - #error DS_CDS_ENABLE_STATE must be defined! +#error DS_CDS_ENABLE_STATE must be defined! #elif ((DS_CDS_ENABLE_STATE != 0) && (DS_CDS_ENABLE_STATE != 1)) - #error DS_CDS_ENABLE_STATE must be 0 or 1! +#error DS_CDS_ENABLE_STATE must be 0 or 1! #endif - #ifndef DS_MISSION_REV - #error DS_MISSION_REV must be defined! +#error DS_MISSION_REV must be defined! #elif (DS_MISSION_REV < 0) - #error DS_MISSION_REV must be greater than or equal to zero! -#endif - +#error DS_MISSION_REV must be greater than or equal to zero! +#endif #ifndef DS_FILE_HEADER_TYPE - #error DS_FILE_HEADER_TYPE must be defined! -#elif ((DS_FILE_HEADER_TYPE != 0) && (DS_FILE_HEADER_TYPE != 1) && (DS_FILE_HEADER_TYPE != 2)) - #error DS_FILE_HEADER_TYPE must be 0 or 1 or 2! +#error DS_FILE_HEADER_TYPE must be defined! +#elif ((DS_FILE_HEADER_TYPE != 0) && (DS_FILE_HEADER_TYPE != 1)) +#error DS_FILE_HEADER_TYPE must be 0 or 1! #endif - #ifndef DS_MOVE_FILES - #error DS_MOVE_FILES must be defined! +#error DS_MOVE_FILES must be defined! #elif ((DS_MOVE_FILES != true) && (DS_MOVE_FILES != false)) - #error DS_MOVE_FILES must be true or false! +#error DS_MOVE_FILES must be true or false! #endif - #ifndef DS_PER_PACKET_PIPE_LIMIT - #error DS_PER_PACKET_PIPE_LIMIT must be defined! -#elif (DS_PER_PACKET_PIPE_LIMIT < 1) - #error DS_PER_PACKET_PIPE_LIMIT cannot be less than 1! +#error DS_PER_PACKET_PIPE_LIMIT must be defined! +#elif (DS_PER_PACKET_PIPE_LIMIT < 1) +#error DS_PER_PACKET_PIPE_LIMIT cannot be less than 1! #elif (DS_PER_PACKET_PIPE_LIMIT > DS_APP_PIPE_DEPTH) - #error DS_PER_PACKET_PIPE_LIMIT cannot be greater than DS_APP_PIPE_DEPTH! +#error DS_PER_PACKET_PIPE_LIMIT cannot be greater than DS_APP_PIPE_DEPTH! #endif - #endif /* _ds_verify_h_ */ /************************/ diff --git a/fsw/src/ds_version.h b/fsw/src/ds_version.h index 33d9e45..ed80678 100644 --- a/fsw/src/ds_version.h +++ b/fsw/src/ds_version.h @@ -1,24 +1,24 @@ /************************************************************************ ** File: ds_version.h ** -** NASA Docket No. GSC-18448-1, and identified as "cFS Data Storage (DS) -** application version 2.5.2” -** -** Copyright © 2019 United States Government as represented by the Administrator -** of the National Aeronautics and Space Administration. All Rights Reserved. +** NASA Docket No. GSC-18448-1, and identified as "cFS Data Storage (DS) +** application version 2.5.2” ** -** Licensed under the Apache License, Version 2.0 (the "License"); -** you may not use this file except in compliance with the License. -** You may obtain a copy of the License at -** http://www.apache.org/licenses/LICENSE-2.0 -** Unless required by applicable law or agreed to in writing, software -** distributed under the License is distributed on an "AS IS" BASIS, -** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -** See the License for the specific language governing permissions and -** limitations under the License. -** +** Copyright © 2019 United States Government as represented by the Administrator +** of the National Aeronautics and Space Administration. All Rights Reserved. ** -** Purpose: +** Licensed under the Apache License, Version 2.0 (the "License"); +** you may not use this file except in compliance with the License. +** You may obtain a copy of the License at +** http://www.apache.org/licenses/LICENSE-2.0 +** Unless required by applicable law or agreed to in writing, software +** distributed under the License is distributed on an "AS IS" BASIS, +** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +** See the License for the specific language governing permissions and +** limitations under the License. +** +** +** Purpose: ** The CFS Data Storage (DS) Application header file containing version number ** ** Notes: @@ -27,12 +27,10 @@ #ifndef _ds_version_h_ #define _ds_version_h_ +#define DS_MAJOR_VERSION 2 +#define DS_MINOR_VERSION 6 +#define DS_REVISION 0 -#define DS_MAJOR_VERSION 2 -#define DS_MINOR_VERSION 5 -#define DS_REVISION 2 - - #endif /* _ds_version_h_ */ /************************/ diff --git a/fsw/tables/ds_file_tbl.c b/fsw/tables/ds_file_tbl.c index 90b5046..806ecee 100644 --- a/fsw/tables/ds_file_tbl.c +++ b/fsw/tables/ds_file_tbl.c @@ -1,29 +1,29 @@ /************************************************************************ -** File: ds_file_tbl.c +** File: ds_file_tbl.c ** -** File: ds_file_tbl.c +** File: ds_file_tbl.c ** -** NASA Docket No. GSC-18448-1, and identified as "cFS Data Storage (DS) -** application version 2.5.2” -** -** Copyright © 2019 United States Government as represented by the Administrator -** of the National Aeronautics and Space Administration. All Rights Reserved. +** NASA Docket No. GSC-18448-1, and identified as "cFS Data Storage (DS) +** application version 2.5.2” +** +** Copyright © 2019 United States Government as represented by the Administrator +** of the National Aeronautics and Space Administration. All Rights Reserved. +** +** Licensed under the Apache License, Version 2.0 (the "License"); +** you may not use this file except in compliance with the License. +** You may obtain a copy of the License at +** http://www.apache.org/licenses/LICENSE-2.0 +** Unless required by applicable law or agreed to in writing, software +** distributed under the License is distributed on an "AS IS" BASIS, +** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +** See the License for the specific language governing permissions and +** limitations under the License. ** -** Licensed under the Apache License, Version 2.0 (the "License"); -** you may not use this file except in compliance with the License. -** You may obtain a copy of the License at -** http://www.apache.org/licenses/LICENSE-2.0 -** Unless required by applicable law or agreed to in writing, software -** distributed under the License is distributed on an "AS IS" BASIS, -** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -** See the License for the specific language governing permissions and -** limitations under the License. -** ** ** Purpose: ** CFS Data Storage (DS) sample destination file table ** -** Note: +** Note: ** This source file creates a sample table that defines several ** data storage destination files using a variety of the options ** available. None of the file system details (name, size, etc.) @@ -51,7 +51,6 @@ #include "ds_app.h" #include "ds_msg.h" - /* ** Note: It is suggested that missions pre-define their file table ** index numbers in a public header file to be included by @@ -60,273 +59,269 @@ ** when creating ground system database entries that require ** file index numbers for command arguments. */ -#define FILE_ALL_EVENTS 0 +#define FILE_ALL_EVENTS 0 #define FILE_ALL_APP_HK_PKTS 1 #define FILE_ALL_APP_TLM_PKTS 2 -#define FILE_ALL_HW_TLM_PKTS 3 +#define FILE_ALL_HW_TLM_PKTS 3 #define FILE_CFE_APP_HK_PKTS 4 #define FILE_CFE_APP_TLM_PKTS 5 - /* ** Sample Destination File Table Data */ -DS_DestFileTable_t DS_DestFileTable = -{ - /* .Descriptor = */ "Sample File Table Data", - /* .File = */ - { - /* File Index 00 -- event packets only */ +DS_DestFileTable_t DS_DestFileTable = { + /* .Descriptor = */ "Sample File Table Data", + /* .File = */ { -#if (DS_MOVE_FILES == TRUE) - /* .Movename = */ DS_EMPTY_STRING, + /* File Index 00 -- event packets only */ + { +#if (DS_MOVE_FILES == true) + /* .Movename = */ DS_EMPTY_STRING, #endif - /* .Pathname = */ "set_by_cmd_b4_enable", - /* .Basename = */ "events", - /* .Extension = */ ".dat", + /* .Pathname = */ "set_by_cmd_b4_enable", + /* .Basename = */ "events", + /* .Extension = */ ".dat", - /* .FileNameType = */ DS_BY_COUNT, - /* .EnableState = */ DS_DISABLED, - /* .MaxFileSize = */ (1024 * 32), /* 32 K-bytes */ - /* .MaxFileAge = */ (60 * 45), /* 45 minutes */ - /* .SequenceCount = */ 1000, - }, - /* File Index 01 -- application housekeeping packets */ - { -#if (DS_MOVE_FILES == TRUE) - /* .Movename = */ DS_EMPTY_STRING, + /* .FileNameType = */ DS_BY_COUNT, + /* .EnableState = */ DS_DISABLED, + /* .MaxFileSize = */ (1024 * 32), /* 32 K-bytes */ + /* .MaxFileAge = */ (60 * 45), /* 45 minutes */ + /* .SequenceCount = */ 1000, + }, + /* File Index 01 -- application housekeeping packets */ + { +#if (DS_MOVE_FILES == true) + /* .Movename = */ DS_EMPTY_STRING, #endif - /* .Pathname = */ "set_by_cmd_b4_enable", - /* .Basename = */ "app", - /* .Extension = */ ".hk", + /* .Pathname = */ "set_by_cmd_b4_enable", + /* .Basename = */ "app", + /* .Extension = */ ".hk", - /* .FileNameType = */ DS_BY_TIME, - /* .EnableState = */ DS_DISABLED, - /* .MaxFileSize = */ (1024 * 1024 * 2), /* 2 M-bytes */ - /* .MaxFileAge = */ (60 * 60 * 2), /* 2 hours */ - /* .SequenceCount = */ DS_UNUSED, - }, - /* File Index 02 -- application telemetry packets */ - { -#if (DS_MOVE_FILES == TRUE) - /* .Movename = */ DS_EMPTY_STRING, + /* .FileNameType = */ DS_BY_TIME, + /* .EnableState = */ DS_DISABLED, + /* .MaxFileSize = */ (1024 * 1024 * 2), /* 2 M-bytes */ + /* .MaxFileAge = */ (60 * 60 * 2), /* 2 hours */ + /* .SequenceCount = */ DS_UNUSED, + }, + /* File Index 02 -- application telemetry packets */ + { +#if (DS_MOVE_FILES == true) + /* .Movename = */ DS_EMPTY_STRING, #endif - /* .Pathname = */ "set_by_cmd_b4_enable", - /* .Basename = */ "app", - /* .Extension = */ ".tlm", + /* .Pathname = */ "set_by_cmd_b4_enable", + /* .Basename = */ "app", + /* .Extension = */ ".tlm", - /* .FileNameType = */ DS_BY_COUNT, - /* .EnableState = */ DS_DISABLED, - /* .MaxFileSize = */ (1024 * 1024 * 1024 * 1), /* 1 G-byte */ - /* .MaxFileAge = */ (60 * 60 * 2), /* 2 hours */ - /* .SequenceCount = */ 2000, - }, - /* File Index 03 -- hardware telemetry packets */ - { -#if (DS_MOVE_FILES == TRUE) - /* .Movename = */ DS_EMPTY_STRING, + /* .FileNameType = */ DS_BY_COUNT, + /* .EnableState = */ DS_DISABLED, + /* .MaxFileSize = */ (1024 * 1024 * 1024 * 1), /* 1 G-byte */ + /* .MaxFileAge = */ (60 * 60 * 2), /* 2 hours */ + /* .SequenceCount = */ 2000, + }, + /* File Index 03 -- hardware telemetry packets */ + { +#if (DS_MOVE_FILES == true) + /* .Movename = */ DS_EMPTY_STRING, #endif - /* .Pathname = */ "set_by_cmd_b4_enable", - /* .Basename = */ "hw", - /* .Extension = */ "tlm", + /* .Pathname = */ "set_by_cmd_b4_enable", + /* .Basename = */ "hw", + /* .Extension = */ "tlm", - /* .FileNameType = */ DS_BY_COUNT, - /* .EnableState = */ DS_DISABLED, - /* .MaxFileSize = */ (1024 * 1024 * 2), /* 2 M-bytes */ - /* .MaxFileAge = */ (60 * 60 * 2), /* 2 hours */ - /* .SequenceCount = */ 3000, - }, - /* File Index 04 -- cFE housekeeping packets */ - { -#if (DS_MOVE_FILES == TRUE) - /* .Movename = */ DS_EMPTY_STRING, + /* .FileNameType = */ DS_BY_COUNT, + /* .EnableState = */ DS_DISABLED, + /* .MaxFileSize = */ (1024 * 1024 * 2), /* 2 M-bytes */ + /* .MaxFileAge = */ (60 * 60 * 2), /* 2 hours */ + /* .SequenceCount = */ 3000, + }, + /* File Index 04 -- cFE housekeeping packets */ + { +#if (DS_MOVE_FILES == true) + /* .Movename = */ DS_EMPTY_STRING, #endif - /* .Pathname = */ "set_by_cmd_b4_enable", - /* .Basename = */ "cfe", - /* .Extension = */ "hk", + /* .Pathname = */ "set_by_cmd_b4_enable", + /* .Basename = */ "cfe", + /* .Extension = */ "hk", - /* .FileNameType = */ DS_BY_COUNT, - /* .EnableState = */ DS_DISABLED, - /* .MaxFileSize = */ (1024 * 1024 * 2), /* 2 M-bytes */ - /* .MaxFileAge = */ (60 * 60 * 2), /* 2 hours */ - /* .SequenceCount = */ 4000, - }, - /* File Index 05 -- cFE telemetry packets */ - { -#if (DS_MOVE_FILES == TRUE) - /* .Movename = */ DS_EMPTY_STRING, + /* .FileNameType = */ DS_BY_COUNT, + /* .EnableState = */ DS_DISABLED, + /* .MaxFileSize = */ (1024 * 1024 * 2), /* 2 M-bytes */ + /* .MaxFileAge = */ (60 * 60 * 2), /* 2 hours */ + /* .SequenceCount = */ 4000, + }, + /* File Index 05 -- cFE telemetry packets */ + { +#if (DS_MOVE_FILES == true) + /* .Movename = */ DS_EMPTY_STRING, #endif - /* .Pathname = */ "set_by_cmd_b4_enable", - /* .Basename = */ "cfe", - /* .Extension = */ "tlm", + /* .Pathname = */ "set_by_cmd_b4_enable", + /* .Basename = */ "cfe", + /* .Extension = */ "tlm", - /* .FileNameType = */ DS_BY_COUNT, - /* .EnableState = */ DS_DISABLED, - /* .MaxFileSize = */ (1024 * 1024 * 2), /* 2 M-bytes */ - /* .MaxFileAge = */ (60 * 60 * 2), /* 2 hours */ - /* .SequenceCount = */ 5000, - }, - /* File Index 06 */ - { -#if (DS_MOVE_FILES == TRUE) - /* .Movename = */ DS_EMPTY_STRING, + /* .FileNameType = */ DS_BY_COUNT, + /* .EnableState = */ DS_DISABLED, + /* .MaxFileSize = */ (1024 * 1024 * 2), /* 2 M-bytes */ + /* .MaxFileAge = */ (60 * 60 * 2), /* 2 hours */ + /* .SequenceCount = */ 5000, + }, + /* File Index 06 */ + { +#if (DS_MOVE_FILES == true) + /* .Movename = */ DS_EMPTY_STRING, #endif - /* .Pathname = */ DS_EMPTY_STRING, - /* .Basename = */ DS_EMPTY_STRING, - /* .Extension = */ DS_EMPTY_STRING, + /* .Pathname = */ DS_EMPTY_STRING, + /* .Basename = */ DS_EMPTY_STRING, + /* .Extension = */ DS_EMPTY_STRING, - /* .FileNameType = */ DS_UNUSED, - /* .EnableState = */ DS_UNUSED, - /* .MaxFileSize = */ DS_UNUSED, - /* .MaxFileAge = */ DS_UNUSED, - /* .SequenceCount = */ DS_UNUSED, - }, - /* File Index 07 */ - { -#if (DS_MOVE_FILES == TRUE) - /* .Movename = */ DS_EMPTY_STRING, + /* .FileNameType = */ DS_UNUSED, + /* .EnableState = */ DS_UNUSED, + /* .MaxFileSize = */ DS_UNUSED, + /* .MaxFileAge = */ DS_UNUSED, + /* .SequenceCount = */ DS_UNUSED, + }, + /* File Index 07 */ + { +#if (DS_MOVE_FILES == true) + /* .Movename = */ DS_EMPTY_STRING, #endif - /* .Pathname = */ DS_EMPTY_STRING, - /* .Basename = */ DS_EMPTY_STRING, - /* .Extension = */ DS_EMPTY_STRING, + /* .Pathname = */ DS_EMPTY_STRING, + /* .Basename = */ DS_EMPTY_STRING, + /* .Extension = */ DS_EMPTY_STRING, - /* .FileNameType = */ DS_UNUSED, - /* .EnableState = */ DS_UNUSED, - /* .MaxFileSize = */ DS_UNUSED, - /* .MaxFileAge = */ DS_UNUSED, - /* .SequenceCount = */ DS_UNUSED, - }, - /* File Index 08 */ - { -#if (DS_MOVE_FILES == TRUE) - /* .Movename = */ DS_EMPTY_STRING, + /* .FileNameType = */ DS_UNUSED, + /* .EnableState = */ DS_UNUSED, + /* .MaxFileSize = */ DS_UNUSED, + /* .MaxFileAge = */ DS_UNUSED, + /* .SequenceCount = */ DS_UNUSED, + }, + /* File Index 08 */ + { +#if (DS_MOVE_FILES == true) + /* .Movename = */ DS_EMPTY_STRING, #endif - /* .Pathname = */ DS_EMPTY_STRING, - /* .Basename = */ DS_EMPTY_STRING, - /* .Extension = */ DS_EMPTY_STRING, + /* .Pathname = */ DS_EMPTY_STRING, + /* .Basename = */ DS_EMPTY_STRING, + /* .Extension = */ DS_EMPTY_STRING, - /* .FileNameType = */ DS_UNUSED, - /* .EnableState = */ DS_UNUSED, - /* .MaxFileSize = */ DS_UNUSED, - /* .MaxFileAge = */ DS_UNUSED, - /* .SequenceCount = */ DS_UNUSED, - }, - /* File Index 09 */ - { -#if (DS_MOVE_FILES == TRUE) - /* .Movename = */ DS_EMPTY_STRING, + /* .FileNameType = */ DS_UNUSED, + /* .EnableState = */ DS_UNUSED, + /* .MaxFileSize = */ DS_UNUSED, + /* .MaxFileAge = */ DS_UNUSED, + /* .SequenceCount = */ DS_UNUSED, + }, + /* File Index 09 */ + { +#if (DS_MOVE_FILES == true) + /* .Movename = */ DS_EMPTY_STRING, #endif - /* .Pathname = */ DS_EMPTY_STRING, - /* .Basename = */ DS_EMPTY_STRING, - /* .Extension = */ DS_EMPTY_STRING, + /* .Pathname = */ DS_EMPTY_STRING, + /* .Basename = */ DS_EMPTY_STRING, + /* .Extension = */ DS_EMPTY_STRING, - /* .FileNameType = */ DS_UNUSED, - /* .EnableState = */ DS_UNUSED, - /* .MaxFileSize = */ DS_UNUSED, - /* .MaxFileAge = */ DS_UNUSED, - /* .SequenceCount = */ DS_UNUSED, - }, - /* File Index 10 */ - { -#if (DS_MOVE_FILES == TRUE) - /* .Movename = */ DS_EMPTY_STRING, + /* .FileNameType = */ DS_UNUSED, + /* .EnableState = */ DS_UNUSED, + /* .MaxFileSize = */ DS_UNUSED, + /* .MaxFileAge = */ DS_UNUSED, + /* .SequenceCount = */ DS_UNUSED, + }, + /* File Index 10 */ + { +#if (DS_MOVE_FILES == true) + /* .Movename = */ DS_EMPTY_STRING, #endif - /* .Pathname = */ DS_EMPTY_STRING, - /* .Basename = */ DS_EMPTY_STRING, - /* .Extension = */ DS_EMPTY_STRING, + /* .Pathname = */ DS_EMPTY_STRING, + /* .Basename = */ DS_EMPTY_STRING, + /* .Extension = */ DS_EMPTY_STRING, - /* .FileNameType = */ DS_UNUSED, - /* .EnableState = */ DS_UNUSED, - /* .MaxFileSize = */ DS_UNUSED, - /* .MaxFileAge = */ DS_UNUSED, - /* .SequenceCount = */ DS_UNUSED, - }, - /* File Index 11 */ - { -#if (DS_MOVE_FILES == TRUE) - /* .Movename = */ DS_EMPTY_STRING, + /* .FileNameType = */ DS_UNUSED, + /* .EnableState = */ DS_UNUSED, + /* .MaxFileSize = */ DS_UNUSED, + /* .MaxFileAge = */ DS_UNUSED, + /* .SequenceCount = */ DS_UNUSED, + }, + /* File Index 11 */ + { +#if (DS_MOVE_FILES == true) + /* .Movename = */ DS_EMPTY_STRING, #endif - /* .Pathname = */ DS_EMPTY_STRING, - /* .Basename = */ DS_EMPTY_STRING, - /* .Extension = */ DS_EMPTY_STRING, + /* .Pathname = */ DS_EMPTY_STRING, + /* .Basename = */ DS_EMPTY_STRING, + /* .Extension = */ DS_EMPTY_STRING, - /* .FileNameType = */ DS_UNUSED, - /* .EnableState = */ DS_UNUSED, - /* .MaxFileSize = */ DS_UNUSED, - /* .MaxFileAge = */ DS_UNUSED, - /* .SequenceCount = */ DS_UNUSED, - }, - /* File Index 12 */ - { -#if (DS_MOVE_FILES == TRUE) - /* .Movename = */ DS_EMPTY_STRING, + /* .FileNameType = */ DS_UNUSED, + /* .EnableState = */ DS_UNUSED, + /* .MaxFileSize = */ DS_UNUSED, + /* .MaxFileAge = */ DS_UNUSED, + /* .SequenceCount = */ DS_UNUSED, + }, + /* File Index 12 */ + { +#if (DS_MOVE_FILES == true) + /* .Movename = */ DS_EMPTY_STRING, #endif - /* .Pathname = */ DS_EMPTY_STRING, - /* .Basename = */ DS_EMPTY_STRING, - /* .Extension = */ DS_EMPTY_STRING, + /* .Pathname = */ DS_EMPTY_STRING, + /* .Basename = */ DS_EMPTY_STRING, + /* .Extension = */ DS_EMPTY_STRING, - /* .FileNameType = */ DS_UNUSED, - /* .EnableState = */ DS_UNUSED, - /* .MaxFileSize = */ DS_UNUSED, - /* .MaxFileAge = */ DS_UNUSED, - /* .SequenceCount = */ DS_UNUSED, - }, - /* File Index 13 */ - { -#if (DS_MOVE_FILES == TRUE) - /* .Movename = */ DS_EMPTY_STRING, + /* .FileNameType = */ DS_UNUSED, + /* .EnableState = */ DS_UNUSED, + /* .MaxFileSize = */ DS_UNUSED, + /* .MaxFileAge = */ DS_UNUSED, + /* .SequenceCount = */ DS_UNUSED, + }, + /* File Index 13 */ + { +#if (DS_MOVE_FILES == true) + /* .Movename = */ DS_EMPTY_STRING, #endif - /* .Pathname = */ DS_EMPTY_STRING, - /* .Basename = */ DS_EMPTY_STRING, - /* .Extension = */ DS_EMPTY_STRING, + /* .Pathname = */ DS_EMPTY_STRING, + /* .Basename = */ DS_EMPTY_STRING, + /* .Extension = */ DS_EMPTY_STRING, - /* .FileNameType = */ DS_UNUSED, - /* .EnableState = */ DS_UNUSED, - /* .MaxFileSize = */ DS_UNUSED, - /* .MaxFileAge = */ DS_UNUSED, - /* .SequenceCount = */ DS_UNUSED, - }, - /* File Index 14 */ - { -#if (DS_MOVE_FILES == TRUE) - /* .Movename = */ DS_EMPTY_STRING, + /* .FileNameType = */ DS_UNUSED, + /* .EnableState = */ DS_UNUSED, + /* .MaxFileSize = */ DS_UNUSED, + /* .MaxFileAge = */ DS_UNUSED, + /* .SequenceCount = */ DS_UNUSED, + }, + /* File Index 14 */ + { +#if (DS_MOVE_FILES == true) + /* .Movename = */ DS_EMPTY_STRING, #endif - /* .Pathname = */ DS_EMPTY_STRING, - /* .Basename = */ DS_EMPTY_STRING, - /* .Extension = */ DS_EMPTY_STRING, + /* .Pathname = */ DS_EMPTY_STRING, + /* .Basename = */ DS_EMPTY_STRING, + /* .Extension = */ DS_EMPTY_STRING, - /* .FileNameType = */ DS_UNUSED, - /* .EnableState = */ DS_UNUSED, - /* .MaxFileSize = */ DS_UNUSED, - /* .MaxFileAge = */ DS_UNUSED, - /* .SequenceCount = */ DS_UNUSED, - }, - /* File Index 15 */ - { -#if (DS_MOVE_FILES == TRUE) - /* .Movename = */ DS_EMPTY_STRING, + /* .FileNameType = */ DS_UNUSED, + /* .EnableState = */ DS_UNUSED, + /* .MaxFileSize = */ DS_UNUSED, + /* .MaxFileAge = */ DS_UNUSED, + /* .SequenceCount = */ DS_UNUSED, + }, + /* File Index 15 */ + { +#if (DS_MOVE_FILES == true) + /* .Movename = */ DS_EMPTY_STRING, #endif - /* .Pathname = */ DS_EMPTY_STRING, - /* .Basename = */ DS_EMPTY_STRING, - /* .Extension = */ DS_EMPTY_STRING, + /* .Pathname = */ DS_EMPTY_STRING, + /* .Basename = */ DS_EMPTY_STRING, + /* .Extension = */ DS_EMPTY_STRING, - /* .FileNameType = */ DS_UNUSED, - /* .EnableState = */ DS_UNUSED, - /* .MaxFileSize = */ DS_UNUSED, - /* .MaxFileAge = */ DS_UNUSED, - /* .SequenceCount = */ DS_UNUSED, - }, - } -}; + /* .FileNameType = */ DS_UNUSED, + /* .EnableState = */ DS_UNUSED, + /* .MaxFileSize = */ DS_UNUSED, + /* .MaxFileAge = */ DS_UNUSED, + /* .SequenceCount = */ DS_UNUSED, + }, + }}; /* ** Sample Destination File Table Header */ -CFE_TBL_FILEDEF(DS_DestFileTable, DS.FILE_TBL, DS Destination File Table,ds_file_tbl.tbl) - +CFE_TBL_FILEDEF(DS_DestFileTable, DS.FILE_TBL, DS Destination File Table, ds_file_tbl.tbl) /************************/ /* End of File Comment */ diff --git a/fsw/tables/ds_filter_tbl.c b/fsw/tables/ds_filter_tbl.c index c4cf126..fed5075 100644 --- a/fsw/tables/ds_filter_tbl.c +++ b/fsw/tables/ds_filter_tbl.c @@ -1,29 +1,29 @@ /************************************************************************ -** File: ds_filter_tbl.c +** File: ds_filter_tbl.c ** ** File: ds_filter_tbl.c ** -** NASA Docket No. GSC-18448-1, and identified as "cFS Data Storage (DS) -** application version 2.5.2” -** -** Copyright © 2019 United States Government as represented by the Administrator -** of the National Aeronautics and Space Administration. All Rights Reserved. +** NASA Docket No. GSC-18448-1, and identified as "cFS Data Storage (DS) +** application version 2.5.2” +** +** Copyright © 2019 United States Government as represented by the Administrator +** of the National Aeronautics and Space Administration. All Rights Reserved. +** +** Licensed under the Apache License, Version 2.0 (the "License"); +** you may not use this file except in compliance with the License. +** You may obtain a copy of the License at +** http://www.apache.org/licenses/LICENSE-2.0 +** Unless required by applicable law or agreed to in writing, software +** distributed under the License is distributed on an "AS IS" BASIS, +** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +** See the License for the specific language governing permissions and +** limitations under the License. ** -** Licensed under the Apache License, Version 2.0 (the "License"); -** you may not use this file except in compliance with the License. -** You may obtain a copy of the License at -** http://www.apache.org/licenses/LICENSE-2.0 -** Unless required by applicable law or agreed to in writing, software -** distributed under the License is distributed on an "AS IS" BASIS, -** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -** See the License for the specific language governing permissions and -** limitations under the License. -** ** ** Purpose: ** CFS Data Storage (DS) sample packet filter table ** -** Note: +** Note: ** This source file creates a sample table that stores packets using ** several different destination storage files. Some packets have ** one filter that is set to store every packet in one file and @@ -63,7 +63,6 @@ /* #include "sc_msgids.h" */ /* #include "sch_msgids.h" */ - /* ** Note: It is suggested that missions pre-define their file table ** index numbers in a public header file to be included by @@ -72,3105 +71,2075 @@ ** when creating command database entries that require file ** index numbers for command arguments. */ -#define FILE_ALL_EVENTS 0 +#define FILE_ALL_EVENTS 0 #define FILE_ALL_APP_HK_PKTS 1 #define FILE_ALL_APP_TLM_PKTS 2 -#define FILE_ALL_HW_TLM_PKTS 3 +#define FILE_ALL_HW_TLM_PKTS 3 #define FILE_CFE_APP_HK_PKTS 4 #define FILE_CFE_APP_TLM_PKTS 5 - /* ** Sample packet filter table data */ -DS_FilterTable_t DS_FilterTable = -{ - /* .Descriptor = */ "Sample filter table data", - /* .Packet = */ - { - /* Packet Index 000 */ - { - /* .MessageID = */ CFE_ES_HK_TLM_MID, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { FILE_ALL_APP_HK_PKTS, DS_BY_COUNT, 1, 1, 0 }, - { FILE_CFE_APP_HK_PKTS, DS_BY_COUNT, 1, 2, 0 }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 001 */ - { - /* .MessageID = */ CFE_EVS_HK_TLM_MID, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { FILE_ALL_APP_HK_PKTS, DS_BY_COUNT, 1, 1, 0 }, - { FILE_CFE_APP_HK_PKTS, DS_BY_COUNT, 1, 2, 1 }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 002 */ - { - /* .MessageID = */ CFE_SB_HK_TLM_MID, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { FILE_ALL_APP_HK_PKTS, DS_BY_COUNT, 1, 2, 0 }, - { FILE_CFE_APP_HK_PKTS, DS_BY_COUNT, 1, 1, 0 }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 003 */ - { - /* .MessageID = */ CFE_TBL_HK_TLM_MID, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { FILE_ALL_APP_HK_PKTS, DS_BY_COUNT, 1, 2, 0 }, - { FILE_CFE_APP_HK_PKTS, DS_BY_COUNT, 1, 1, 0 }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 004 */ - { - /* .MessageID = */ CFE_TIME_HK_TLM_MID, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { FILE_ALL_APP_HK_PKTS, DS_BY_COUNT, 1, 2, 1 }, - { FILE_CFE_APP_HK_PKTS, DS_BY_COUNT, 1, 1, 0 }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 005 */ - { - /* .MessageID = */ CFE_TIME_DIAG_TLM_MID, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { FILE_ALL_APP_TLM_PKTS, DS_BY_COUNT, 1, 2, 0 }, - { FILE_CFE_APP_TLM_PKTS, DS_BY_COUNT, 1, 1, 0 }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 006 */ - { - /* .MessageID = */ CFE_EVS_LONG_EVENT_MSG_MID, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { FILE_ALL_EVENTS, DS_BY_COUNT, 1, 1, 0 }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 007 */ - { - /* .MessageID = */ CFE_SB_STATS_TLM_MID, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { FILE_ALL_APP_TLM_PKTS, DS_BY_COUNT, 1, 1, 0 }, - { FILE_CFE_APP_TLM_PKTS, DS_BY_COUNT, 1, 1, 0 }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 008 */ - { - /* .MessageID = */ CFE_ES_APP_TLM_MID, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { FILE_ALL_APP_TLM_PKTS, DS_BY_COUNT, 1, 1, 0 }, - { FILE_CFE_APP_TLM_PKTS, DS_BY_COUNT, 1, 1, 0 }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 009 */ - { - /* .MessageID = */ CFE_TBL_REG_TLM_MID, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { FILE_ALL_APP_TLM_PKTS, DS_BY_COUNT, 1, 1, 0 }, - { FILE_CFE_APP_TLM_PKTS, DS_BY_COUNT, 1, 1, 0 }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 010 */ - { - /* .MessageID = */ CFE_SB_ALLSUBS_TLM_MID, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { FILE_ALL_APP_TLM_PKTS, DS_BY_COUNT, 1, 1, 0 }, - { FILE_CFE_APP_TLM_PKTS, DS_BY_COUNT, 1, 1, 0 }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 011 */ - { - /* .MessageID = */ CFE_SB_ONESUB_TLM_MID, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { FILE_ALL_APP_TLM_PKTS, DS_BY_COUNT, 1, 1, 0 }, - { FILE_CFE_APP_TLM_PKTS, DS_BY_COUNT, 1, 1, 0 }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 012 */ - { - /* .MessageID = */ CFE_MISSION_ES_SHELL_TLM_MSG, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { FILE_ALL_APP_TLM_PKTS, DS_BY_COUNT, 1, 1, 0 }, - { FILE_CFE_APP_TLM_PKTS, DS_BY_COUNT, 1, 1, 0 }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 013 */ - { - /* .MessageID = */ CFE_ES_MEMSTATS_TLM_MID, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { FILE_ALL_APP_TLM_PKTS, DS_BY_COUNT, 1, 1, 0 }, - { FILE_CFE_APP_TLM_PKTS, DS_BY_COUNT, 1, 1, 0 }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 014 */ - { - /* .MessageID = */ DS_HK_TLM_MID, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { FILE_ALL_APP_HK_PKTS, DS_BY_COUNT, 1, 1, 0 }, - { FILE_ALL_APP_TLM_PKTS, DS_BY_COUNT, 1, 1, 0 }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 015 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 016 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 017 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 018 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 019 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 020 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 021 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 022 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 023 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 024 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 025 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 026 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 027 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 028 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 029 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 030 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 031 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 032 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 033 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 034 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 035 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 036 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 037 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 038 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 039 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 040 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 041 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 042 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 043 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 044 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 045 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 046 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 047 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 048 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 049 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 050 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 051 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 052 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 053 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 054 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 055 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 056 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 057 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 058 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 059 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 060 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 061 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 062 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 063 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 064 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 065 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 066 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 067 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 068 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 069 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 070 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 071 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 072 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 073 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 074 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 075 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 076 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 077 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 078 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 079 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 080 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 081 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 082 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 083 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 084 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 085 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 086 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 087 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 088 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 089 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 090 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 091 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 092 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 093 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 094 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 095 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 096 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 097 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 098 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 099 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 100 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 101 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 102 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 103 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 104 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 105 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 106 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 107 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 108 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 109 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 110 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 111 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 112 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 113 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 114 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 115 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 116 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 117 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 118 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 119 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 120 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 121 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 122 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 123 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 124 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 125 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 126 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 127 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 128 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 129 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 130 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 131 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 132 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 133 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 134 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 135 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 136 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 137 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 138 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 139 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 140 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 141 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 142 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 143 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 144 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 145 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 146 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 147 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 148 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 149 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 150 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 151 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 152 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 153 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 154 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 155 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 156 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 157 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 158 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 159 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 160 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 161 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 162 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 163 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 164 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 165 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 166 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 167 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 168 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 169 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 170 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 171 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 172 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 173 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 174 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 175 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 176 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 177 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 178 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 179 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 180 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 181 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 182 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 183 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 184 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 185 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 186 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 187 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 188 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 189 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 190 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 191 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 192 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 193 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 194 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 195 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 196 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 197 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 198 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 199 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 200 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 201 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 202 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 203 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 204 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 205 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 206 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 207 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 208 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 209 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 210 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 211 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 212 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 213 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 214 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 215 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 216 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 217 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 218 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 219 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 220 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 221 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 222 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 223 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 224 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 225 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 226 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 227 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 228 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 229 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 230 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 231 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 232 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 233 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 234 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 235 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 236 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 237 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 238 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 239 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 240 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 241 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 242 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 243 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 244 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 245 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 246 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 247 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 248 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 249 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 250 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 251 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 252 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 253 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 254 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - }, - /* Packet Index 255 */ - { - /* .MessageID = */ DS_UNUSED, - /* .Filter = */ - { - /* File table index, filter type, N, X, O */ - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED }, - { DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED } - } - } - } -}; +DS_FilterTable_t DS_FilterTable = { + /* .Descriptor = */ "Sample filter table data", + /* .Packet = */ + {/* Packet Index 000 */ + {/* .MessageID = */ CFE_ES_HK_TLM_MID, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {FILE_ALL_APP_HK_PKTS, DS_BY_COUNT, 1, 1, 0}, + {FILE_CFE_APP_HK_PKTS, DS_BY_COUNT, 1, 2, 0}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 001 */ + {/* .MessageID = */ CFE_EVS_HK_TLM_MID, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {FILE_ALL_APP_HK_PKTS, DS_BY_COUNT, 1, 1, 0}, + {FILE_CFE_APP_HK_PKTS, DS_BY_COUNT, 1, 2, 1}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 002 */ + {/* .MessageID = */ CFE_SB_HK_TLM_MID, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {FILE_ALL_APP_HK_PKTS, DS_BY_COUNT, 1, 2, 0}, + {FILE_CFE_APP_HK_PKTS, DS_BY_COUNT, 1, 1, 0}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 003 */ + {/* .MessageID = */ CFE_TBL_HK_TLM_MID, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {FILE_ALL_APP_HK_PKTS, DS_BY_COUNT, 1, 2, 0}, + {FILE_CFE_APP_HK_PKTS, DS_BY_COUNT, 1, 1, 0}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 004 */ + {/* .MessageID = */ CFE_TIME_HK_TLM_MID, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {FILE_ALL_APP_HK_PKTS, DS_BY_COUNT, 1, 2, 1}, + {FILE_CFE_APP_HK_PKTS, DS_BY_COUNT, 1, 1, 0}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 005 */ + {/* .MessageID = */ CFE_TIME_DIAG_TLM_MID, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {FILE_ALL_APP_TLM_PKTS, DS_BY_COUNT, 1, 2, 0}, + {FILE_CFE_APP_TLM_PKTS, DS_BY_COUNT, 1, 1, 0}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 006 */ + {/* .MessageID = */ CFE_EVS_LONG_EVENT_MSG_MID, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {FILE_ALL_EVENTS, DS_BY_COUNT, 1, 1, 0}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 007 */ + {/* .MessageID = */ CFE_SB_STATS_TLM_MID, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {FILE_ALL_APP_TLM_PKTS, DS_BY_COUNT, 1, 1, 0}, + {FILE_CFE_APP_TLM_PKTS, DS_BY_COUNT, 1, 1, 0}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 008 */ + {/* .MessageID = */ CFE_ES_APP_TLM_MID, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {FILE_ALL_APP_TLM_PKTS, DS_BY_COUNT, 1, 1, 0}, + {FILE_CFE_APP_TLM_PKTS, DS_BY_COUNT, 1, 1, 0}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 009 */ + {/* .MessageID = */ CFE_TBL_REG_TLM_MID, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {FILE_ALL_APP_TLM_PKTS, DS_BY_COUNT, 1, 1, 0}, + {FILE_CFE_APP_TLM_PKTS, DS_BY_COUNT, 1, 1, 0}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 010 */ + {/* .MessageID = */ CFE_SB_ALLSUBS_TLM_MID, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {FILE_ALL_APP_TLM_PKTS, DS_BY_COUNT, 1, 1, 0}, + {FILE_CFE_APP_TLM_PKTS, DS_BY_COUNT, 1, 1, 0}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 011 */ + {/* .MessageID = */ CFE_SB_ONESUB_TLM_MID, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {FILE_ALL_APP_TLM_PKTS, DS_BY_COUNT, 1, 1, 0}, + {FILE_CFE_APP_TLM_PKTS, DS_BY_COUNT, 1, 1, 0}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 012 */ + {/* .MessageID = */ CFE_ES_MEMSTATS_TLM_MID, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {FILE_ALL_APP_TLM_PKTS, DS_BY_COUNT, 1, 1, 0}, + {FILE_CFE_APP_TLM_PKTS, DS_BY_COUNT, 1, 1, 0}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 013 */ + {/* .MessageID = */ DS_HK_TLM_MID, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {FILE_ALL_APP_HK_PKTS, DS_BY_COUNT, 1, 1, 0}, + {FILE_ALL_APP_TLM_PKTS, DS_BY_COUNT, 1, 1, 0}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 014 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 015 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 016 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 017 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 018 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 019 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 020 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 021 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 022 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 023 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 024 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 025 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 026 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 027 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 028 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 029 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 030 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 031 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 032 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 033 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 034 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 035 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 036 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 037 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 038 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 039 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 040 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 041 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 042 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 043 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 044 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 045 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 046 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 047 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 048 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 049 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 050 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 051 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 052 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 053 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 054 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 055 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 056 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 057 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 058 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 059 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 060 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 061 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 062 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 063 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 064 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 065 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 066 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 067 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 068 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 069 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 070 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 071 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 072 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 073 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 074 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 075 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 076 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 077 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 078 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 079 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 080 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 081 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 082 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 083 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 084 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 085 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 086 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 087 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 088 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 089 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 090 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 091 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 092 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 093 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 094 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 095 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 096 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 097 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 098 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 099 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 100 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 101 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 102 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 103 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 104 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 105 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 106 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 107 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 108 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 109 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 110 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 111 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 112 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 113 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 114 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 115 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 116 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 117 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 118 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 119 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 120 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 121 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 122 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 123 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 124 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 125 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 126 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 127 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 128 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 129 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 130 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 131 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 132 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 133 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 134 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 135 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 136 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 137 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 138 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 139 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 140 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 141 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 142 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 143 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 144 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 145 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 146 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 147 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 148 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 149 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 150 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 151 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 152 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 153 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 154 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 155 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 156 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 157 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 158 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 159 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 160 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 161 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 162 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 163 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 164 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 165 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 166 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 167 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 168 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 169 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 170 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 171 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 172 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 173 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 174 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 175 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 176 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 177 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 178 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 179 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 180 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 181 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 182 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 183 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 184 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 185 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 186 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 187 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 188 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 189 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 190 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 191 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 192 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 193 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 194 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 195 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 196 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 197 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 198 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 199 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 200 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 201 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 202 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 203 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 204 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 205 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 206 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 207 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 208 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 209 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 210 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 211 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 212 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 213 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 214 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 215 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 216 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 217 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 218 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 219 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 220 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 221 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 222 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 223 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 224 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 225 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 226 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 227 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 228 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 229 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 230 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 231 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 232 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 233 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 234 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 235 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 236 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 237 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 238 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 239 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 240 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 241 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 242 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 243 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 244 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 245 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 246 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 247 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 248 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 249 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 250 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 251 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 252 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 253 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 254 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}, + /* Packet Index 255 */ + {/* .MessageID = */ DS_UNUSED, + /* .Filter = */ + {/* File table index, filter type, N, X, O */ + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}, + {DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED, DS_UNUSED}}}}}; /* ** Sample packet filter table header */ -CFE_TBL_FILEDEF(DS_FilterTable, DS.FILTER_TBL, DS Packet Filter Table,ds_filter_tbl.tbl) - +CFE_TBL_FILEDEF(DS_FilterTable, DS.FILTER_TBL, DS Packet Filter Table, ds_filter_tbl.tbl) /************************/ /* End of File Comment */ diff --git a/fsw/unit_test/README.txt b/fsw/unit_test/README.txt deleted file mode 100644 index 33edd37..0000000 --- a/fsw/unit_test/README.txt +++ /dev/null @@ -1,84 +0,0 @@ -############################################################################## -## $Id: README.txt 1.4.1.1 2017/02/06 01:43:33EST mdeschu Exp $ -## -## Purpose: CFS DS application unit test instructions, results, and code coverage -## -## Author: Charles Zogby -## -############################################################################## - - -------------------------- -DS Unit Test Instructions -------------------------- -This unit test was run in a virtual machine running CentOS and uses the ut-assert stubs and default hooks for the -cFE, OSAL and PSP. The ut-assert framework, stubs, and hooks are located in the directory cfe/tools/ut-assert and -are configuration managed in MKS in the FSW tools repository on server tlserver3. - -To run the unit test enter the following commands at the command line prompt in -unit test directory. - -make clean -make -make run -make gcov - -NOTE: Some tests are dependent on changing certain values in ./ds_platform_cfg.h. Because of this, the test suite should be -run twice, in the following two configurations: default (DS_FILE_HEADER_TYPE = 1, DS_MOVE_FILES = FALSE) and -alternate (DS_FILE_HEADER_TYPE = 2, DS_MOVE_FILES = TRUE). Expected results for each configuration are shown in -./ds_test_log_defaultconfig.txt and ./ds_test_log_altconfig.txt. - -DS 2.5.0.0 Unit Test Results (with default configuration of ds_platform_cfg.h: DS_FILE_HEADER_TYPE = 1, DS_MOVE_FILES = FALSE): - -Tests Executed: 207 -Assert Pass Count: 645 -Assert Fail Count: 0 - -gcov: '../src/ds_file.c' 100.00% 178 -gcov: '../src/ds_app.c' 100.00% 146 -gcov: '../src/ds_cmds.c' 100.00% 439 -gcov: '../src/ds_table.c' 100.00% 319 - - -========================================================================== -ds_file.c - 100.00% coverage - -========================================================================== -ds_app.c - 100.00% coverage - -========================================================================== -ds_cmds.c - 100.00% coverage - -========================================================================== -ds_table.c - 100.00% coverage - -========================================================================== - -DS 2.5.0.0 Unit Test Results (with modified ds_platform_cfg.h: DS_FILE_HEADER_TYPE = 2, DS_MOVE_FILES = TRUE): - -Tests Executed: 206 -Assert Pass Count: 652 -Assert Fail Count: 0 - -gcov: '../src/ds_file.c' 100.00% 200 -gcov: '../src/ds_app.c' 100.00% 146 -gcov: '../src/ds_cmds.c' 99.54% 439 -gcov: '../src/ds_table.c' 100.00% 319 - - -========================================================================== -ds_file.c - 100.00% coverage - -========================================================================== -ds_app.c - 100.00% coverage - -========================================================================== -ds_cmds.c - 99.54% coverage - -Note: The section of code not covered in this configuration is covered in the other configuration. - -========================================================================== -ds_table.c - 100.00% coverage - -========================================================================== - diff --git a/fsw/unit_test/ds_app.c.gcov b/fsw/unit_test/ds_app.c.gcov deleted file mode 100644 index 3968fe4..0000000 --- a/fsw/unit_test/ds_app.c.gcov +++ /dev/null @@ -1,625 +0,0 @@ - -: 0:Source:../src/ds_app.c - -: 0:Programs:4 - -: 1:/************************************************************************ - -: 2:** File: - -: 3:** $Id: ds_app.c.gcov 1.3.1.1 2017/02/03 12:21:34EST mdeschu Exp $ - -: 4:** - -: 5:** Copyright (c) 2007-2014 United States Government as represented by the - -: 6:** Administrator of the National Aeronautics and Space Administration. - -: 7:** All Other Rights Reserved. - -: 8:** - -: 9:** This software was created at NASA's Goddard Space Flight Center. - -: 10:** This software is governed by the NASA Open Source Agreement and may be - -: 11:** used, distributed and modified only pursuant to the terms of that - -: 12:** agreement. - -: 13:** - -: 14:** Purpose: - -: 15:** The CFS Data Storage (DS) Application file containing the application - -: 16:** initialization routines, the main routine and the command interface. - -: 17:** - -: 18:** Notes: - -: 19:** - -: 20:*************************************************************************/ - -: 21: - -: 22:#include "cfe.h" - -: 23: - -: 24:#include "ds_perfids.h" - -: 25:#include "ds_msgids.h" - -: 26: - -: 27:#include "ds_platform_cfg.h" - -: 28:#include "ds_verify.h" - -: 29: - -: 30:#include "ds_appdefs.h" - -: 31: - -: 32:#include "ds_msg.h" - -: 33:#include "ds_app.h" - -: 34:#include "ds_cmds.h" - -: 35:#include "ds_file.h" - -: 36:#include "ds_table.h" - -: 37:#include "ds_events.h" - -: 38:#include "ds_msgdefs.h" - -: 39:#include "ds_version.h" - -: 40: - -: 41:#include "string.h" - -: 42: - -: 43: - -: 44:/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ - -: 45:/* */ - -: 46:/* DS_AppData -- application global data structure */ - -: 47:/* */ - -: 48:/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ - -: 49: - -: 50:DS_AppData_t DS_AppData; - -: 51: - -: 52: - -: 53:/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ - -: 54:/* */ - -: 55:/* DS_AppMain() -- application entry point and main process loop */ - -: 56:/* */ - -: 57:/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ - -: 58: - 4: 59:void DS_AppMain(void) - -: 60:{ - -: 61: CFE_SB_MsgPtr_t MessagePtr; - -: 62: int32 Result; - 4: 63: uint32 RunStatus = CFE_ES_APP_RUN; - -: 64: - -: 65: /* - -: 66: ** Performance Log (start time counter)... - -: 67: */ - 4: 68: CFE_ES_PerfLogEntry(DS_APPMAIN_PERF_ID); - -: 69: - -: 70: /* - -: 71: ** Register application... - -: 72: */ - 4: 73: Result = CFE_ES_RegisterApp(); - -: 74: - -: 75: /* - -: 76: ** Perform application specific initialization... - -: 77: */ - 4: 78: if (Result == CFE_SUCCESS) - -: 79: { - 3: 80: Result = DS_AppInitialize(); - -: 81: } - -: 82: - -: 83: /* - -: 84: ** Check for start-up error... - -: 85: */ - 4: 86: if (Result != CFE_SUCCESS) - -: 87: { - -: 88: /* - -: 89: ** Set request to terminate main loop... - -: 90: */ - 2: 91: RunStatus = CFE_ES_APP_ERROR; - -: 92: } - -: 93: - -: 94: /* - -: 95: ** Main process loop... - -: 96: */ - 10: 97: while (CFE_ES_RunLoop(&RunStatus)) - -: 98: { - -: 99: /* - -: 100: ** Performance Log (stop time counter)... - -: 101: */ - 2: 102: CFE_ES_PerfLogExit(DS_APPMAIN_PERF_ID); - -: 103: - -: 104: /* - -: 105: ** Wait for next Software Bus message... - -: 106: */ - 2: 107: Result = CFE_SB_RcvMsg(&MessagePtr, DS_AppData.InputPipe, CFE_SB_PEND_FOREVER); - -: 108: - -: 109: /* - -: 110: ** Performance Log (start time counter)... - -: 111: */ - 2: 112: CFE_ES_PerfLogEntry(DS_APPMAIN_PERF_ID); - -: 113: - -: 114: /* - -: 115: ** Process Software Bus messages... - -: 116: */ - 2: 117: if (Result == CFE_SUCCESS) - -: 118: { - 1: 119: DS_AppProcessMsg(MessagePtr); - -: 120: } - -: 121: else - -: 122: { - -: 123: /* - -: 124: ** Set request to terminate main loop... - -: 125: */ - 1: 126: RunStatus = CFE_ES_APP_ERROR; - -: 127: } - -: 128: - -: 129: /* - -: 130: ** Note: If there were some reason to exit normally - -: 131: ** (without error) then we would set - -: 132: ** RunStatus = CFE_ES_APP_EXIT - -: 133: */ - -: 134: } - -: 135: - -: 136: /* - -: 137: ** Check for "fatal" process error... - -: 138: */ - 4: 139: if (Result != CFE_SUCCESS) - -: 140: { - -: 141: /* - -: 142: ** Send an event describing the reason for the termination... - -: 143: */ - 3: 144: CFE_EVS_SendEvent(DS_EXIT_ERR_EID, CFE_EVS_CRITICAL, - -: 145: "Application terminating, err = 0x%08X", (unsigned int)Result); - -: 146: - -: 147: /* - -: 148: ** In case cFE Event Services is not working... - -: 149: */ - 3: 150: CFE_ES_WriteToSysLog("DS application terminating, err = 0x%08X\n", (unsigned int)Result); - -: 151: } - -: 152: - -: 153: /* - -: 154: ** Performance Log (stop time counter)... - -: 155: */ - 4: 156: CFE_ES_PerfLogExit(DS_APPMAIN_PERF_ID); - -: 157: - -: 158: /* - -: 159: ** Let cFE kill the application (and any child tasks)... - -: 160: */ - 4: 161: CFE_ES_ExitApp(RunStatus); - -: 162: - 4: 163:} /* End of DS_AppMain() */ - -: 164: - -: 165: - -: 166:/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ - -: 167:/* */ - -: 168:/* DS_AppInitialize() -- application initialization */ - -: 169:/* */ - -: 170:/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ - -: 171: - 8: 172:int32 DS_AppInitialize(void) - -: 173:{ - 8: 174: int32 Result = CFE_SUCCESS; - -: 175: int32 i; - -: 176: - -: 177: /* - -: 178: ** Initialize global data structure... - -: 179: */ - 8: 180: CFE_PSP_MemSet(&DS_AppData, 0, sizeof(DS_AppData_t)); - -: 181: - 8: 182: DS_AppData.AppEnableState = DS_DEF_ENABLE_STATE; - -: 183: - -: 184: /* - -: 185: ** Mark files as closed (cFE uses zero as a valid file handle)... - -: 186: */ - 136: 187: for (i = 0; i < DS_DEST_FILE_CNT; i++) - -: 188: { - 128: 189: DS_AppData.FileStatus[i].FileHandle = DS_CLOSED_FILE_HANDLE; - -: 190: } - -: 191: - -: 192: /* - -: 193: ** Initialize interface to cFE Event Services... - -: 194: */ - 8: 195: if (Result == CFE_SUCCESS) - -: 196: { - 8: 197: Result = CFE_EVS_Register(NULL, 0, 0); - -: 198: - 8: 199: if (Result != CFE_SUCCESS) - -: 200: { - 2: 201: CFE_EVS_SendEvent(DS_INIT_ERR_EID, CFE_EVS_ERROR, - -: 202: "Unable to register for EVS services, err = 0x%08X", (unsigned int)Result); - -: 203: } - -: 204: } - -: 205: - -: 206: /* - -: 207: ** Create application Software Bus message pipe... - -: 208: */ - 8: 209: if (Result == CFE_SUCCESS) - -: 210: { - 6: 211: Result = CFE_SB_CreatePipe(&DS_AppData.InputPipe, - -: 212: DS_APP_PIPE_DEPTH, DS_APP_PIPE_NAME); - 6: 213: if (Result != CFE_SUCCESS) - -: 214: { - 1: 215: CFE_EVS_SendEvent(DS_INIT_ERR_EID, CFE_EVS_ERROR, - -: 216: "Unable to create input pipe, err = 0x%08X", (unsigned int)Result); - -: 217: } - -: 218: } - -: 219: - -: 220: /* - -: 221: ** Subscribe to application housekeeping request command... - -: 222: */ - 8: 223: if (Result == CFE_SUCCESS) - -: 224: { - 5: 225: Result = CFE_SB_Subscribe(DS_SEND_HK_MID, DS_AppData.InputPipe); - -: 226: - 5: 227: if (Result != CFE_SUCCESS) - -: 228: { - 1: 229: CFE_EVS_SendEvent(DS_INIT_ERR_EID, CFE_EVS_ERROR, - -: 230: "Unable to subscribe to HK request, err = 0x%08X", (unsigned int)Result); - -: 231: } - -: 232: } - -: 233: - -: 234: /* - -: 235: ** Subscribe to application commands... - -: 236: */ - 8: 237: if (Result == CFE_SUCCESS) - -: 238: { - 4: 239: Result = CFE_SB_Subscribe(DS_CMD_MID, DS_AppData.InputPipe); - -: 240: - 4: 241: if (Result != CFE_SUCCESS) - -: 242: { - 1: 243: CFE_EVS_SendEvent(DS_INIT_ERR_EID, CFE_EVS_ERROR, - -: 244: "Unable to subscribe to DS commands, err = 0x%08X", (unsigned int)Result); - -: 245: } - -: 246: } - -: 247: - -: 248: /* - -: 249: ** Initialize application tables... - -: 250: */ - 8: 251: if (Result == CFE_SUCCESS) - -: 252: { - 3: 253: Result = DS_TableInit(); - -: 254: } - -: 255: - -: 256: /* - -: 257: ** Initialize access to Critical Data Store (CDS)... - -: 258: */ - 8: 259: if (Result == CFE_SUCCESS) - -: 260: { - 3: 261: Result = DS_TableCreateCDS(); - -: 262: } - -: 263: - -: 264: /* - -: 265: ** Generate application startup event message... - -: 266: */ - 8: 267: if (Result == CFE_SUCCESS) - -: 268: { - 3: 269: CFE_EVS_SendEvent(DS_INIT_EID, CFE_EVS_INFORMATION, - -: 270: "Application initialized, version %d.%d.%d.%d, data at 0x%08X", - -: 271: DS_MAJOR_VERSION, DS_MINOR_VERSION, - -: 272: DS_REVISION, DS_MISSION_REV, (unsigned int) &DS_AppData); - -: 273: } - -: 274: - 8: 275: return(Result); - -: 276: - -: 277:} /* End of DS_AppInitialize() */ - -: 278: - -: 279: - -: 280:/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ - -: 281:/* */ - -: 282:/* DS_AppProcessMsg() -- process Software Bus messages */ - -: 283:/* */ - -: 284:/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ - -: 285: - 5: 286:void DS_AppProcessMsg(CFE_SB_MsgPtr_t MessagePtr) - -: 287:{ - 5: 288: CFE_SB_MsgId_t MessageID = CFE_SB_GetMsgId(MessagePtr); - -: 289: uint16 ActualLength; - -: 290: uint16 ExpectedLength; - -: 291: - 5: 292: switch (MessageID) - -: 293: { - -: 294: /* - -: 295: ** DS application commands... - -: 296: */ - -: 297: case DS_CMD_MID: - 1: 298: DS_AppProcessCmd(MessagePtr); - 1: 299: if (DS_TableFindMsgID(MessageID) != DS_INDEX_NONE) - -: 300: { - 1: 301: DS_AppStorePacket(MessageID, MessagePtr); - -: 302: } - 1: 303: break; - -: 304: - -: 305: /* - -: 306: ** DS housekeeping request command... - -: 307: */ - -: 308: case DS_SEND_HK_MID: - -: 309: - 2: 310: ActualLength = CFE_SB_GetTotalMsgLength(MessagePtr); - 2: 311: ExpectedLength = CFE_SB_CMD_HDR_SIZE; - 2: 312: if (ExpectedLength != ActualLength) - -: 313: { - 1: 314: CFE_EVS_SendEvent(DS_HK_REQUEST_ERR_EID, CFE_EVS_ERROR, - -: 315: "Invalid HK request length: expected = %d, actual = %d", - -: 316: ExpectedLength, ActualLength); - -: 317: } - -: 318: else - -: 319: { - 1: 320: DS_AppProcessHK(); - 1: 321: if (DS_TableFindMsgID(MessageID) != DS_INDEX_NONE) - -: 322: { - 1: 323: DS_AppStorePacket(MessageID, MessagePtr); - -: 324: } - -: 325: } - 2: 326: break; - -: 327: - -: 328: /* - -: 329: ** Unknown message ID's (must be something to store)... - -: 330: */ - -: 331: default: - 2: 332: DS_AppStorePacket(MessageID, MessagePtr); - -: 333: break; - -: 334: } - -: 335: - 5: 336: return; - -: 337: - -: 338:} /* End of DS_AppProcessMsg() */ - -: 339: - -: 340: - -: 341:/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ - -: 342:/* */ - -: 343:/* DS_AppProcessCmd() -- process application commands */ - -: 344:/* */ - -: 345:/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ - -: 346: - 20: 347:void DS_AppProcessCmd(CFE_SB_MsgPtr_t MessagePtr) - -: 348:{ - 20: 349: uint16 CommandCode = CFE_SB_GetCmdCode(MessagePtr); - -: 350: - 20: 351: switch (CommandCode) - -: 352: { - -: 353: /* - -: 354: ** Do nothing command (aliveness test)... - -: 355: */ - -: 356: case DS_NOOP_CC: - 2: 357: DS_CmdNoop(MessagePtr); - 2: 358: break; - -: 359: - -: 360: /* - -: 361: ** Set housekeeping telemetry counters to zero... - -: 362: */ - -: 363: case DS_RESET_CC: - 1: 364: DS_CmdReset(MessagePtr); - 1: 365: break; - -: 366: - -: 367: /* - -: 368: ** Set DS application enable/disable state... - -: 369: */ - -: 370: case DS_SET_APP_STATE_CC: - 1: 371: DS_CmdSetAppState(MessagePtr); - 1: 372: break; - -: 373: - -: 374: /* - -: 375: ** Set packet filter file index... - -: 376: */ - -: 377: case DS_SET_FILTER_FILE_CC: - 1: 378: DS_CmdSetFilterFile(MessagePtr); - 1: 379: break; - -: 380: - -: 381: /* - -: 382: ** Set packet filter type (time vs count)... - -: 383: */ - -: 384: case DS_SET_FILTER_TYPE_CC: - 1: 385: DS_CmdSetFilterType(MessagePtr); - 1: 386: break; - -: 387: - -: 388: /* - -: 389: ** Set packet filter algorithm parameters... - -: 390: */ - -: 391: case DS_SET_FILTER_PARMS_CC: - 1: 392: DS_CmdSetFilterParms(MessagePtr); - 1: 393: break; - -: 394: - -: 395: /* - -: 396: ** Set destination file filename type (time vs count)... - -: 397: */ - -: 398: case DS_SET_DEST_TYPE_CC: - 1: 399: DS_CmdSetDestType(MessagePtr); - 1: 400: break; - -: 401: - -: 402: /* - -: 403: ** Set destination file enable/disable state... - -: 404: */ - -: 405: case DS_SET_DEST_STATE_CC: - 1: 406: DS_CmdSetDestState(MessagePtr); - 1: 407: break; - -: 408: - -: 409: /* - -: 410: ** Set destination file path portion of filename... - -: 411: */ - -: 412: case DS_SET_DEST_PATH_CC: - 1: 413: DS_CmdSetDestPath(MessagePtr); - 1: 414: break; - -: 415: - -: 416: /* - -: 417: ** Set destination file base portion of filename... - -: 418: */ - -: 419: case DS_SET_DEST_BASE_CC: - 1: 420: DS_CmdSetDestBase(MessagePtr); - 1: 421: break; - -: 422: - -: 423: /* - -: 424: ** Set destination file extension portion of filename... - -: 425: */ - -: 426: case DS_SET_DEST_EXT_CC: - 1: 427: DS_CmdSetDestExt(MessagePtr); - 1: 428: break; - -: 429: - -: 430: /* - -: 431: ** Set destination file maximum size limit... - -: 432: */ - -: 433: case DS_SET_DEST_SIZE_CC: - 1: 434: DS_CmdSetDestSize(MessagePtr); - 1: 435: break; - -: 436: - -: 437: /* - -: 438: ** Set destination file maximum age limit... - -: 439: */ - -: 440: case DS_SET_DEST_AGE_CC: - 1: 441: DS_CmdSetDestAge(MessagePtr); - 1: 442: break; - -: 443: - -: 444: /* - -: 445: ** Set destination file sequence count portion of filename... - -: 446: */ - -: 447: case DS_SET_DEST_COUNT_CC: - 1: 448: DS_CmdSetDestCount(MessagePtr); - 1: 449: break; - -: 450: - -: 451: /* - -: 452: ** Close destination file (next packet will re-open)... - -: 453: */ - -: 454: case DS_CLOSE_FILE_CC: - 1: 455: DS_CmdCloseFile(MessagePtr); - 1: 456: break; - -: 457: - -: 458: /* - -: 459: ** Get file info telemetry packet... - -: 460: */ - -: 461: case DS_GET_FILE_INFO_CC: - 1: 462: DS_CmdGetFileInfo(MessagePtr); - 1: 463: break; - -: 464: - -: 465: /* - -: 466: ** Add message ID to filter table... - -: 467: */ - -: 468: case DS_ADD_MID_CC: - 1: 469: DS_CmdAddMID(MessagePtr); - 1: 470: break; - -: 471: - -: 472: /* - -: 473: ** Close all destination files (next packet will re-open)... - -: 474: */ - -: 475: case DS_CLOSE_ALL_CC: - 1: 476: DS_CmdCloseAll(MessagePtr); - 1: 477: break; - -: 478: - -: 479: /* - -: 480: ** DS application command with unknown command code... - -: 481: */ - -: 482: default: - 1: 483: CFE_EVS_SendEvent(DS_CMD_CODE_ERR_EID, CFE_EVS_ERROR, - -: 484: "Invalid command code: MID = 0x%04X, CC = %d", - -: 485: DS_CMD_MID, CommandCode); - -: 486: - 1: 487: DS_AppData.CmdRejectedCounter++; - -: 488: break; - -: 489: } - -: 490: - 20: 491: return; - -: 492: - -: 493:} /* End of DS_AppProcessCmd() */ - -: 494: - -: 495: - -: 496:/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ - -: 497:/* */ - -: 498:/* DS_AppProcessHK() -- process hk request command */ - -: 499:/* */ - -: 500:/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ - -: 501: - 2: 502:void DS_AppProcessHK(void) - -: 503:{ - -: 504: DS_HkPacket_t HkPacket; - -: 505: int32 i; - -: 506: char FilterTblName[CFE_TBL_MAX_NAME_LENGTH]; - -: 507: CFE_TBL_Info_t FilterTblInfo; - -: 508: - -: 509: /* - -: 510: ** Initialize housekeeping packet... - -: 511: */ - 2: 512: CFE_SB_InitMsg(&HkPacket, DS_HK_TLM_MID, sizeof(DS_HkPacket_t), TRUE); - -: 513: - -: 514: /* - -: 515: ** Process data storage file age limits... - -: 516: */ - 2: 517: DS_FileTestAge(DS_SECS_PER_HK_CYCLE); - -: 518: - -: 519: /* - -: 520: ** Take this opportunity to check for table updates... - -: 521: */ - 2: 522: DS_TableManageDestFile(); - 2: 523: DS_TableManageFilter(); - -: 524: - -: 525: /* - -: 526: ** Copy application command counters to housekeeping telemetry packet... - -: 527: */ - 2: 528: HkPacket.CmdAcceptedCounter = DS_AppData.CmdAcceptedCounter; - 2: 529: HkPacket.CmdRejectedCounter = DS_AppData.CmdRejectedCounter; - -: 530: - -: 531: /* - -: 532: ** Copy packet storage counters to housekeeping telemetry packet... - -: 533: */ - 2: 534: HkPacket.DisabledPktCounter = DS_AppData.DisabledPktCounter; - 2: 535: HkPacket.IgnoredPktCounter = DS_AppData.IgnoredPktCounter; - 2: 536: HkPacket.FilteredPktCounter = DS_AppData.FilteredPktCounter; - 2: 537: HkPacket.PassedPktCounter = DS_AppData.PassedPktCounter; - -: 538: - -: 539: /* - -: 540: ** Copy file I/O counters to housekeeping telemetry packet... - -: 541: */ - 2: 542: HkPacket.FileWriteCounter = DS_AppData.FileWriteCounter; - 2: 543: HkPacket.FileWriteErrCounter = DS_AppData.FileWriteErrCounter; - 2: 544: HkPacket.FileUpdateCounter = DS_AppData.FileUpdateCounter; - 2: 545: HkPacket.FileUpdateErrCounter = DS_AppData.FileUpdateErrCounter; - -: 546: - -: 547: /* - -: 548: ** Copy configuration table counters to housekeeping telemetry packet... - -: 549: */ - 2: 550: HkPacket.DestTblLoadCounter = DS_AppData.DestTblLoadCounter; - 2: 551: HkPacket.DestTblErrCounter = DS_AppData.DestTblErrCounter; - 2: 552: HkPacket.FilterTblLoadCounter = DS_AppData.FilterTblLoadCounter; - 2: 553: HkPacket.FilterTblErrCounter = DS_AppData.FilterTblErrCounter; - -: 554: - -: 555: /* - -: 556: ** Copy app enable/disable state to housekeeping telemetry packet... - -: 557: */ - 2: 558: HkPacket.AppEnableState = DS_AppData.AppEnableState; - -: 559: - -: 560: /* - -: 561: ** Compute file growth rate from number of bytes since last HK request... - -: 562: */ - 34: 563: for (i = 0; i < DS_DEST_FILE_CNT; i++) - -: 564: { - 32: 565: DS_AppData.FileStatus[i].FileRate = DS_AppData.FileStatus[i].FileGrowth / DS_SECS_PER_HK_CYCLE; - 32: 566: DS_AppData.FileStatus[i].FileGrowth = 0; - -: 567: } - -: 568: - -: 569: /* Get the filter table info, put the file name in the hkp pkt. */ - 2: 570: sprintf(FilterTblName,"DS.%s",DS_FILTER_TBL_NAME); - 2: 571: CFE_TBL_GetInfo(&FilterTblInfo, FilterTblName); - 2: 572: strncpy(HkPacket.FilterTblFilename, FilterTblInfo.LastFileLoaded, OS_MAX_PATH_LEN); - -: 573: - -: 574: /* - -: 575: ** Timestamp and send housekeeping telemetry packet... - -: 576: */ - 2: 577: CFE_SB_TimeStampMsg((CFE_SB_Msg_t *) &HkPacket); - 2: 578: CFE_SB_SendMsg((CFE_SB_Msg_t *) &HkPacket); - -: 579: - 2: 580: return; - -: 581: - -: 582:} /* End of DS_AppProcessHK() */ - -: 583: - -: 584: - -: 585:/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ - -: 586:/* */ - -: 587:/* DS_AppStorePacket() -- packet storage pre-processor */ - -: 588:/* */ - -: 589:/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ - -: 590: - 8: 591:void DS_AppStorePacket(CFE_SB_MsgId_t MessageID, CFE_SB_MsgPtr_t MessagePtr) - -: 592:{ - -: 593: - 8: 594: if (DS_AppData.AppEnableState == DS_DISABLED) - -: 595: { - -: 596: /* - -: 597: ** Application must be enabled in order to store data... - -: 598: */ - 5: 599: DS_AppData.DisabledPktCounter++; - -: 600: } - 6: 601: else if ((DS_AppData.FilterTblPtr == (DS_FilterTable_t *) NULL) || - 1: 602: (DS_AppData.DestFileTblPtr == (DS_DestFileTable_t *) NULL)) - -: 603: { - -: 604: /* - -: 605: ** Must have both tables loaded in order to store data... - -: 606: */ - 2: 607: DS_AppData.IgnoredPktCounter++; - -: 608: } - -: 609: else - -: 610: { - -: 611: /* - -: 612: ** Store packet (if permitted by filter table)... - -: 613: */ - 1: 614: DS_FileStorePacket(MessageID, MessagePtr); - -: 615: } - -: 616: - 8: 617: return; - -: 618: - -: 619:} /* End of DS_AppStorePacket() */ - -: 620: - -: 621:/************************/ - -: 622:/* End of File Comment */ - -: 623:/************************/ diff --git a/fsw/unit_test/ds_app_test.c b/fsw/unit_test/ds_app_test.c deleted file mode 100644 index 2d1c4c5..0000000 --- a/fsw/unit_test/ds_app_test.c +++ /dev/null @@ -1,1023 +0,0 @@ - /************************************************************************* - ** File: ds_app_test.c - ** - ** NASA Docket No. GSC-16,126-1, and identified as "Core Flight Software System - ** (CFS) Data Storage Application Version 2” - ** - ** Copyright © 2007-2014 United States Government as represented by the - ** Administrator of the National Aeronautics and Space Administration. All Rights - ** Reserved. - ** - ** Licensed under the Apache License, Version 2.0 (the "License"); - ** you may not use this file except in compliance with the License. - ** You may obtain a copy of the License at - ** http://www.apache.org/licenses/LICENSE-2.0 - ** - ** Unless required by applicable law or agreed to in writing, software - ** distributed under the License is distributed on an "AS IS" BASIS, - ** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - ** See the License for the specific language governing permissions and - ** limitations under the License. - ** - ** Purpose: - ** This file contains unit test cases for the functions contained in the file ds_app.c - ** - ** References: - ** Flight Software Branch C Coding Standard Version 1.2 - ** CFS Development Standards Document - ** - ** Notes: - ** - *************************************************************************/ - -/* - * Includes - */ - -#include "ds_app_test.h" -#include "ds_app.h" -#include "ds_appdefs.h" -#include "ds_msg.h" -#include "ds_msgdefs.h" -#include "ds_msgids.h" -#include "ds_events.h" -#include "ds_version.h" -#include "ds_test_utils.h" -#include "ut_osapi_stubs.h" -#include "ut_cfe_sb_stubs.h" -#include "ut_cfe_es_stubs.h" -#include "ut_cfe_es_hooks.h" -#include "ut_cfe_evs_stubs.h" -#include "ut_cfe_evs_hooks.h" -#include "ut_cfe_time_stubs.h" -#include "ut_cfe_psp_memutils_stubs.h" -#include "ut_cfe_tbl_stubs.h" -#include "ut_cfe_fs_stubs.h" -#include "ut_cfe_time_stubs.h" -#include -#include -#include - -#define TLM_STRUCT_DATA_IS_32_ALIGNED(x) ((sizeof(x) - CFE_SB_TLM_HDR_SIZE) % 4) == 0 - -/* - * Function Definitions - */ - -void DS_AppMain_Test_Nominal(void) -{ - /* Set to exit loop after first run */ - Ut_CFE_ES_SetReturnCode(UT_CFE_ES_RUNLOOP_INDEX, FALSE, 2); - - /* Set to prevent call to CFE_SB_RcvMsg from returning an error */ - Ut_CFE_SB_SetReturnCode(UT_CFE_SB_RCVMSG_INDEX, CFE_SUCCESS, 1); - - /* Set to prevent segmentation fault */ - Ut_CFE_SB_SetReturnCode(UT_CFE_SB_GETTOTALMSGLENGTH_INDEX, sizeof(DS_NoopCmd_t), 1); - - /* Set to prevent segmentation fault */ - Ut_CFE_SB_SetReturnCode(UT_CFE_SB_GETMSGID_INDEX, DS_SEND_HK_MID, 1); - - /* Execute the function being tested */ - DS_AppMain(); - - /* Verify results */ - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 3, "Ut_CFE_EVS_GetEventQueueDepth() == 3"); - /* Generates 2 event messages we don't care about in this test */ - - UtAssert_True (Ut_CFE_ES_GetSysLogQueueDepth() == 0, "Ut_CFE_ES_GetSysLogQueueDepth() == 0"); - -} /* end DS_AppMain_Test_Nominal */ - -void DS_AppMain_Test_RegisterAppError(void) -{ - /* Set to exit loop after first run */ - Ut_CFE_ES_SetReturnCode(UT_CFE_ES_RUNLOOP_INDEX, FALSE, 2); - - /* Set to prevent call to CFE_SB_RcvMsg from returning an error */ - Ut_CFE_SB_SetReturnCode(UT_CFE_SB_RCVMSG_INDEX, CFE_SUCCESS, 1); - - /* Set to satisfy condition "if (Result != CFE_SUCCESS)" immediately after call to CFE_ES_RegisterApp */ - Ut_CFE_ES_SetReturnCode(UT_CFE_ES_REGISTERAPP_INDEX, -1, 1); - - /* Execute the function being tested */ - DS_AppMain(); - - /* Verify results */ - UtAssert_True - (Ut_CFE_EVS_EventSent(DS_EXIT_ERR_EID, CFE_EVS_CRITICAL, "Application terminating, err = 0xFFFFFFFF"), - "Application terminating, err = 0xFFFFFFFF"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 1, "Ut_CFE_EVS_GetEventQueueDepth() == 1"); - - UtAssert_True - (Ut_CFE_ES_SysLogWritten("DS application terminating, err = 0xFFFFFFFF\n"), - "DS application terminating, err = 0xFFFFFFFF\n"); - - UtAssert_True (Ut_CFE_ES_GetSysLogQueueDepth() == 1, "Ut_CFE_ES_GetSysLogQueueDepth() == 1"); - -} /* end DS_AppMain_Test_RegisterAppError */ - -void DS_AppMain_Test_AppInitializeError(void) -{ - /* Set to exit loop after first run */ - Ut_CFE_ES_SetReturnCode(UT_CFE_ES_RUNLOOP_INDEX, FALSE, 2); - - /* Set to prevent call to CFE_SB_RcvMsg from returning an error */ - Ut_CFE_SB_SetReturnCode(UT_CFE_SB_RCVMSG_INDEX, CFE_SUCCESS, 1); - - /* Set to satisfy condition "if (Result != CFE_SUCCESS)" immediately after call to DS_AppInitialize (which calls CFE_EVS_Register) */ - Ut_CFE_EVS_SetReturnCode(UT_CFE_EVS_REGISTER_INDEX, -1, 1); - - /* Execute the function being tested */ - DS_AppMain(); - - /* Verify results */ - UtAssert_True - (Ut_CFE_EVS_EventSent(DS_EXIT_ERR_EID, CFE_EVS_CRITICAL, "Application terminating, err = 0xFFFFFFFF"), - "Application terminating, err = 0xFFFFFFFF"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 2, "Ut_CFE_EVS_GetEventQueueDepth() == 2"); - /* Generates 1 event message we don't care about in this test */ - - UtAssert_True - (Ut_CFE_ES_SysLogWritten("DS application terminating, err = 0xFFFFFFFF\n"), - "DS application terminating, err = 0xFFFFFFFF\n"); - - UtAssert_True (Ut_CFE_ES_GetSysLogQueueDepth() == 1, "Ut_CFE_ES_GetSysLogQueueDepth() == 1"); - -} /* end DS_AppMain_Test_AppInitializeError */ - -void DS_AppMain_Test_SBError(void) -{ - /* Set to exit loop after first run */ - Ut_CFE_ES_SetReturnCode(UT_CFE_ES_RUNLOOP_INDEX, FALSE, 2); - - /* Set to fail condition "if (Result != CFE_SUCCESS)" immediately after call to CFE_SB_RcvMsg */ - Ut_CFE_SB_SetReturnCode(UT_CFE_SB_RCVMSG_INDEX, -1, 1); - - /* Execute the function being tested */ - DS_AppMain(); - - /* Verify results */ - UtAssert_True - (Ut_CFE_EVS_EventSent(DS_EXIT_ERR_EID, CFE_EVS_CRITICAL, "Application terminating, err = 0xFFFFFFFF"), - "Application terminating, err = 0xFFFFFFFF"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 4, "Ut_CFE_EVS_GetEventQueueDepth() == 4"); - /* Generates 3 event messages we don't care about in this test */ - - UtAssert_True - (Ut_CFE_ES_SysLogWritten("DS application terminating, err = 0xFFFFFFFF\n"), - "DS application terminating, err = 0xFFFFFFFF\n"); - - UtAssert_True (Ut_CFE_ES_GetSysLogQueueDepth() == 1, "Ut_CFE_ES_GetSysLogQueueDepth() == 1"); - -} /* end DS_AppMain_Test_SBError */ - -void DS_AppInitialize_Test_Nominal(void) -{ - int32 Result; - char Message[125]; - - CFE_PSP_MemSet(&DS_AppData, 1, sizeof(DS_AppData_t)); - - /* Execute the function being tested */ - Result = DS_AppInitialize(); - - /* Verify results */ - UtAssert_True - (DS_AppData.AppEnableState == DS_DEF_ENABLE_STATE, - "DS_AppData.AppEnableState == DS_DEF_ENABLE_STATE"); - - UtAssert_True - (DS_AppData.FileStatus[0].FileHandle == DS_CLOSED_FILE_HANDLE, - "DS_AppData.FileStatus[0].FileHandle == DS_CLOSED_FILE_HANDLE"); - - UtAssert_True - (DS_AppData.FileStatus[DS_DEST_FILE_CNT/2].FileHandle == DS_CLOSED_FILE_HANDLE, - "DS_AppData.FileStatus[DS_DEST_FILE_CNT/2].FileHandle == DS_CLOSED_FILE_HANDLE"); - - UtAssert_True - (DS_AppData.FileStatus[DS_DEST_FILE_CNT-1].FileHandle == DS_CLOSED_FILE_HANDLE, - "DS_AppData.FileStatus[DS_DEST_FILE_CNT-1].FileHandle == DS_CLOSED_FILE_HANDLE"); - - /* Note: not verifying that CFE_PSP_MemSet set the rest of DS_AppData to 0, because some elements of DS_AppData - * are modified by subfunctions, which we're not testing here */ - - sprintf(Message, "Application initialized, version %d.%d.%d.%d, data at 0x%08X", DS_MAJOR_VERSION, DS_MINOR_VERSION, DS_REVISION, DS_MISSION_REV, (unsigned int) &DS_AppData); - UtAssert_True (Ut_CFE_EVS_EventSent(DS_INIT_EID, CFE_EVS_INFORMATION, Message), Message); - - UtAssert_True (Result == CFE_SUCCESS, "Result == CFE_SUCCESS"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 3, "Ut_CFE_EVS_GetEventQueueDepth() == 3"); - /* Generates 2 event messages we don't care about in this test */ - -} /* end DS_AppInitialize_Test_Nominal */ - -void DS_AppInitialize_Test_EVSRegisterError(void) -{ - int32 Result; - - /* Set to generate error message DS_INIT_ERR_EID for EVS services */ - Ut_CFE_EVS_SetReturnCode(UT_CFE_EVS_REGISTER_INDEX, -1, 1); - - /* Execute the function being tested */ - Result = DS_AppInitialize(); - - /* Verify results */ - UtAssert_True - (DS_AppData.AppEnableState == DS_DEF_ENABLE_STATE, - "DS_AppData.AppEnableState == DS_DEF_ENABLE_STATE"); - - UtAssert_True - (DS_AppData.FileStatus[0].FileHandle == DS_CLOSED_FILE_HANDLE, - "DS_AppData.FileStatus[0].FileHandle == DS_CLOSED_FILE_HANDLE"); - - UtAssert_True - (DS_AppData.FileStatus[DS_DEST_FILE_CNT/2].FileHandle == DS_CLOSED_FILE_HANDLE, - "DS_AppData.FileStatus[DS_DEST_FILE_CNT/2].FileHandle == DS_CLOSED_FILE_HANDLE"); - - UtAssert_True - (DS_AppData.FileStatus[DS_DEST_FILE_CNT-1].FileHandle == DS_CLOSED_FILE_HANDLE, - "DS_AppData.FileStatus[DS_DEST_FILE_CNT-1].FileHandle == DS_CLOSED_FILE_HANDLE"); - - /* Note: not verifying that CFE_PSP_MemSet set the rest of DS_AppData to 0, because some elements of DS_AppData - * are modified by subfunctions, which we're not testing here */ - - UtAssert_True - (Ut_CFE_EVS_EventSent(DS_INIT_ERR_EID, CFE_EVS_ERROR, "Unable to register for EVS services, err = 0xFFFFFFFF"), - "Unable to register for EVS services, err = 0xFFFFFFFF"); - - UtAssert_True (Result == -1, "Result == -1"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 1, "Ut_CFE_EVS_GetEventQueueDepth() == 1"); - -} /* end DS_AppInitialize_Test_EVSRegisterError */ - -void DS_AppInitialize_Test_SBCreatePipeError(void) -{ - int32 Result; - - /* Set to generate error message DS_INIT_ERR_EID for input pipe */ - Ut_CFE_SB_SetReturnCode(UT_CFE_SB_CREATEPIPE_INDEX, -1, 1); - - /* Execute the function being tested */ - Result = DS_AppInitialize(); - - /* Verify results */ - UtAssert_True - (DS_AppData.AppEnableState == DS_DEF_ENABLE_STATE, - "DS_AppData.AppEnableState == DS_DEF_ENABLE_STATE"); - - UtAssert_True - (DS_AppData.FileStatus[0].FileHandle == DS_CLOSED_FILE_HANDLE, - "DS_AppData.FileStatus[0].FileHandle == DS_CLOSED_FILE_HANDLE"); - - UtAssert_True - (DS_AppData.FileStatus[DS_DEST_FILE_CNT/2].FileHandle == DS_CLOSED_FILE_HANDLE, - "DS_AppData.FileStatus[DS_DEST_FILE_CNT/2].FileHandle == DS_CLOSED_FILE_HANDLE"); - - UtAssert_True - (DS_AppData.FileStatus[DS_DEST_FILE_CNT-1].FileHandle == DS_CLOSED_FILE_HANDLE, - "DS_AppData.FileStatus[DS_DEST_FILE_CNT-1].FileHandle == DS_CLOSED_FILE_HANDLE"); - - /* Note: not verifying that CFE_PSP_MemSet set the rest of DS_AppData to 0, because some elements of DS_AppData - * are modified by subfunctions, which we're not testing here */ - - UtAssert_True - (Ut_CFE_EVS_EventSent(DS_INIT_ERR_EID, CFE_EVS_ERROR, "Unable to create input pipe, err = 0xFFFFFFFF"), - "Unable to create input pipe, err = 0xFFFFFFFF"); - - UtAssert_True (Result == -1, "Result == -1"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 1, "Ut_CFE_EVS_GetEventQueueDepth() == 1"); - -} /* end DS_AppInitialize_Test_SBCreatePipeError */ - -void DS_AppInitialize_Test_SBSubscribeHKError(void) -{ - int32 Result; - - /* Set to generate error message DS_INIT_ERR_EID for HK request */ - Ut_CFE_SB_SetReturnCode(UT_CFE_SB_SUBSCRIBE_INDEX, -1, 1); - - /* Execute the function being tested */ - Result = DS_AppInitialize(); - - /* Verify results */ - UtAssert_True - (DS_AppData.AppEnableState == DS_DEF_ENABLE_STATE, - "DS_AppData.AppEnableState == DS_DEF_ENABLE_STATE"); - - UtAssert_True - (DS_AppData.FileStatus[0].FileHandle == DS_CLOSED_FILE_HANDLE, - "DS_AppData.FileStatus[0].FileHandle == DS_CLOSED_FILE_HANDLE"); - - UtAssert_True - (DS_AppData.FileStatus[DS_DEST_FILE_CNT/2].FileHandle == DS_CLOSED_FILE_HANDLE, - "DS_AppData.FileStatus[DS_DEST_FILE_CNT/2].FileHandle == DS_CLOSED_FILE_HANDLE"); - - UtAssert_True - (DS_AppData.FileStatus[DS_DEST_FILE_CNT-1].FileHandle == DS_CLOSED_FILE_HANDLE, - "DS_AppData.FileStatus[DS_DEST_FILE_CNT-1].FileHandle == DS_CLOSED_FILE_HANDLE"); - - /* Note: not verifying that CFE_PSP_MemSet set the rest of DS_AppData to 0, because some elements of DS_AppData - * are modified by subfunctions, which we're not testing here */ - - UtAssert_True - (Ut_CFE_EVS_EventSent(DS_INIT_ERR_EID, CFE_EVS_ERROR, "Unable to subscribe to HK request, err = 0xFFFFFFFF"), - "Unable to subscribe to HK request, err = 0xFFFFFFFF"); - - UtAssert_True (Result == -1, "Result == -1"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 1, "Ut_CFE_EVS_GetEventQueueDepth() == 1"); - -} /* end DS_AppInitialize_Test_SBSubscribeHKError */ - -void DS_AppInitialize_Test_SBSubscribeDSError(void) -{ - int32 Result; - - /* Set to generate error message DS_INIT_ERR_EID for DS commands */ - Ut_CFE_SB_SetReturnCode(UT_CFE_SB_SUBSCRIBE_INDEX, -1, 2); - - /* Execute the function being tested */ - Result = DS_AppInitialize(); - - /* Verify results */ - UtAssert_True - (DS_AppData.AppEnableState == DS_DEF_ENABLE_STATE, - "DS_AppData.AppEnableState == DS_DEF_ENABLE_STATE"); - - UtAssert_True - (DS_AppData.FileStatus[0].FileHandle == DS_CLOSED_FILE_HANDLE, - "DS_AppData.FileStatus[0].FileHandle == DS_CLOSED_FILE_HANDLE"); - - UtAssert_True - (DS_AppData.FileStatus[DS_DEST_FILE_CNT/2].FileHandle == DS_CLOSED_FILE_HANDLE, - "DS_AppData.FileStatus[DS_DEST_FILE_CNT/2].FileHandle == DS_CLOSED_FILE_HANDLE"); - - UtAssert_True - (DS_AppData.FileStatus[DS_DEST_FILE_CNT-1].FileHandle == DS_CLOSED_FILE_HANDLE, - "DS_AppData.FileStatus[DS_DEST_FILE_CNT-1].FileHandle == DS_CLOSED_FILE_HANDLE"); - - /* Note: not verifying that CFE_PSP_MemSet set the rest of DS_AppData to 0, because some elements of DS_AppData - * are modified by subfunctions, which we're not testing here */ - - UtAssert_True - (Ut_CFE_EVS_EventSent(DS_INIT_ERR_EID, CFE_EVS_ERROR, "Unable to subscribe to DS commands, err = 0xFFFFFFFF"), - "Unable to subscribe to DS commands, err = 0xFFFFFFFF"); - - UtAssert_True (Result == -1, "Result == -1"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 1, "Ut_CFE_EVS_GetEventQueueDepth() == 1"); - -} /* end DS_AppInitialize_Test_SBSubscribeDSError */ - -void DS_AppProcessMsg_Test_Cmd(void) -{ - DS_NoopCmd_t CmdPacket; - DS_HashLink_t HashLink; - DS_FilterTable_t FilterTable; - char Message[125]; - - DS_AppData.HashTable[187] = &HashLink; - HashLink.Index = 0; - DS_AppData.FilterTblPtr = &FilterTable; - DS_AppData.FilterTblPtr->Packet->MessageID = 6331; - - CFE_SB_InitMsg (&CmdPacket, DS_CMD_MID, sizeof(DS_NoopCmd_t), TRUE); - CFE_SB_SetCmdCode((CFE_SB_MsgPtr_t)&CmdPacket, DS_NOOP_CC); - - /* Execute the function being tested */ - DS_AppProcessMsg((CFE_SB_MsgPtr_t)(&CmdPacket)); - - /* Verify results */ - - /* This message is generated in the subfunction DS_AppProcessCmd, as a result of reaching the case being tested here */ - sprintf(Message, "NOOP command, Version %d.%d.%d.%d", DS_MAJOR_VERSION, DS_MINOR_VERSION, DS_REVISION, DS_MISSION_REV); - UtAssert_True (Ut_CFE_EVS_EventSent(DS_NOOP_CMD_EID, CFE_EVS_INFORMATION, Message), Message); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 1, "Ut_CFE_EVS_GetEventQueueDepth() == 1"); - -} /* end DS_AppProcessMsg_Test_Cmd */ - -void DS_AppProcessMsg_Test_HK(void) -{ - DS_HkPacket_t CmdPacket; - DS_HashLink_t HashLink; - DS_FilterTable_t FilterTable; - - DS_AppData.HashTable[188] = &HashLink; - HashLink.Index = 0; - DS_AppData.FilterTblPtr = &FilterTable; - DS_AppData.FilterTblPtr->Packet->MessageID = 6332; - - CFE_SB_InitMsg (&CmdPacket, DS_SEND_HK_MID, CFE_SB_CMD_HDR_SIZE, TRUE); - - /* Execute the function being tested */ - DS_AppProcessMsg((CFE_SB_MsgPtr_t)(&CmdPacket)); - - /* Verify results */ - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 0, "Ut_CFE_EVS_GetEventQueueDepth() == 0"); - -} /* end DS_AppProcessMsg_Test_HK */ - -void DS_AppProcessMsg_Test_HKInvalidRequest(void) -{ - DS_HkPacket_t CmdPacket; - - CFE_SB_InitMsg (&CmdPacket, DS_SEND_HK_MID, 0, TRUE); - - /* Execute the function being tested */ - DS_AppProcessMsg((CFE_SB_MsgPtr_t)(&CmdPacket)); - - /* Verify results */ - UtAssert_True - (Ut_CFE_EVS_EventSent(DS_HK_REQUEST_ERR_EID, CFE_EVS_ERROR, "Invalid HK request length: expected = 8, actual = 0"), - "Invalid HK request length: expected = 8, actual = 0"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 1, "Ut_CFE_EVS_GetEventQueueDepth() == 1"); - -} /* end DS_AppProcessMsg_Test_HKInvalidRequest */ - -void DS_AppProcessMsg_Test_UnknownMID(void) -{ - DS_HkPacket_t CmdPacket; - - CFE_SB_InitMsg (&CmdPacket, 99, 0, TRUE); - - /* Execute the function being tested */ - DS_AppProcessMsg((CFE_SB_MsgPtr_t)(&CmdPacket)); - - /* Verify results */ - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 0, "Ut_CFE_EVS_GetEventQueueDepth() == 0"); - -} /* end DS_AppProcessMsg_Test_UnknownMID */ - -void DS_AppProcessCmd_Test_Noop(void) -{ - DS_NoopCmd_t CmdPacket; - char Message[125]; - - CFE_SB_InitMsg (&CmdPacket, DS_CMD_MID, sizeof(DS_NoopCmd_t), TRUE); - CFE_SB_SetCmdCode((CFE_SB_MsgPtr_t)&CmdPacket, DS_NOOP_CC); - - /* Execute the function being tested */ - DS_AppProcessCmd((CFE_SB_MsgPtr_t)(&CmdPacket)); - - /* Verify results */ - sprintf(Message, "NOOP command, Version %d.%d.%d.%d", DS_MAJOR_VERSION, DS_MINOR_VERSION, DS_REVISION, DS_MISSION_REV); - UtAssert_True (Ut_CFE_EVS_EventSent(DS_NOOP_CMD_EID, CFE_EVS_INFORMATION, Message), Message); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 1, "Ut_CFE_EVS_GetEventQueueDepth() == 1"); - -} /* end DS_AppProcessCmd_Test_Noop */ - -void DS_AppProcessCmd_Test_Reset(void) -{ - DS_ResetCmd_t CmdPacket; - - CFE_SB_InitMsg (&CmdPacket, DS_CMD_MID, sizeof(DS_ResetCmd_t), TRUE); - CFE_SB_SetCmdCode((CFE_SB_MsgPtr_t)&CmdPacket, DS_RESET_CC); - - /* Execute the function being tested */ - DS_AppProcessCmd((CFE_SB_MsgPtr_t)(&CmdPacket)); - - /* Verify results */ - UtAssert_True - (Ut_CFE_EVS_EventSent(DS_RESET_CMD_EID, CFE_EVS_DEBUG, "Reset counters command"), - "Reset counters command"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 1, "Ut_CFE_EVS_GetEventQueueDepth() == 1"); - -} /* end DS_AppProcessCmd_Test_Reset */ - -void DS_AppProcessCmd_Test_SetAppState(void) -{ - DS_AppStateCmd_t CmdPacket; - - CFE_SB_InitMsg (&CmdPacket, DS_CMD_MID, sizeof(DS_AppStateCmd_t), TRUE); - CFE_SB_SetCmdCode((CFE_SB_MsgPtr_t)&CmdPacket, DS_SET_APP_STATE_CC); - - /* Execute the function being tested */ - DS_AppProcessCmd((CFE_SB_MsgPtr_t)(&CmdPacket)); - - /* Verify results */ - UtAssert_True - (Ut_CFE_EVS_EventSent(DS_ENADIS_CMD_EID, CFE_EVS_DEBUG, "APP STATE command: state = 0"), - "APP STATE command: state = 0"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 1, "Ut_CFE_EVS_GetEventQueueDepth() == 1"); - -} /* end DS_AppProcessCmd_Test_SetAppState */ - -void DS_AppProcessCmd_Test_SetFilterFile(void) -{ - DS_FilterFileCmd_t CmdPacket; - - CFE_SB_InitMsg (&CmdPacket, DS_CMD_MID, sizeof(DS_FilterFileCmd_t), TRUE); - CFE_SB_SetCmdCode((CFE_SB_MsgPtr_t)&CmdPacket, DS_SET_FILTER_FILE_CC); - - CmdPacket.MessageID = DS_CMD_MID; - - /* Execute the function being tested */ - DS_AppProcessCmd((CFE_SB_MsgPtr_t)(&CmdPacket)); - - /* Verify results */ - UtAssert_True - (Ut_CFE_EVS_EventSent(DS_FILE_CMD_ERR_EID, CFE_EVS_ERROR, "Invalid FILTER FILE command: packet filter table is not loaded"), - "Invalid FILTER FILE command: packet filter table is not loaded"); - /* For this test, we don't care whether or not the command is successful - only that it's been called */ - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 1, "Ut_CFE_EVS_GetEventQueueDepth() == 1"); - -} /* end DS_AppProcessCmd_Test_SetFilterFile */ - -void DS_AppProcessCmd_Test_SetFilterType(void) -{ - DS_FilterTypeCmd_t CmdPacket; - - CFE_SB_InitMsg (&CmdPacket, DS_CMD_MID, sizeof(DS_FilterTypeCmd_t), TRUE); - CFE_SB_SetCmdCode((CFE_SB_MsgPtr_t)&CmdPacket, DS_SET_FILTER_TYPE_CC); - - CmdPacket.MessageID = DS_CMD_MID; - - /* Execute the function being tested */ - DS_AppProcessCmd((CFE_SB_MsgPtr_t)(&CmdPacket)); - - /* Verify results */ - UtAssert_True - (Ut_CFE_EVS_EventSent(DS_FTYPE_CMD_ERR_EID, CFE_EVS_ERROR, "Invalid FILTER TYPE command arg: filter type = 0"), - "Invalid FILTER TYPE command arg: filter type = 0"); - /* For this test, we don't care whether or not the command is successful - only that it's been called */ - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 1, "Ut_CFE_EVS_GetEventQueueDepth() == 1"); - -} /* end DS_AppProcessCmd_Test_SetFilterType */ - -void DS_AppProcessCmd_Test_SetFilterParms(void) -{ - DS_FilterParmsCmd_t CmdPacket; - - CFE_SB_InitMsg (&CmdPacket, DS_CMD_MID, sizeof(DS_FilterParmsCmd_t), TRUE); - CFE_SB_SetCmdCode((CFE_SB_MsgPtr_t)&CmdPacket, DS_SET_FILTER_PARMS_CC); - - /* Execute the function being tested */ - DS_AppProcessCmd((CFE_SB_MsgPtr_t)(&CmdPacket)); - - /* Verify results */ - UtAssert_True - (Ut_CFE_EVS_EventSent(DS_PARMS_CMD_ERR_EID, CFE_EVS_ERROR, "Invalid FILTER PARMS command arg: invalid messageID = 0x0000"), - "Invalid FILTER PARMS command arg: invalid messageID = 0x0000"); - /* For this test, we don't care whether or not the command is successful - only that it's been called */ - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 1, "Ut_CFE_EVS_GetEventQueueDepth() == 1"); - -} /* end DS_AppProcessCmd_Test_SetFilterParms */ - -void DS_AppProcessCmd_Test_SetDestType(void) -{ - DS_DestTypeCmd_t CmdPacket; - - CFE_SB_InitMsg (&CmdPacket, DS_CMD_MID, sizeof(DS_DestTypeCmd_t), TRUE); - CFE_SB_SetCmdCode((CFE_SB_MsgPtr_t)&CmdPacket, DS_SET_DEST_TYPE_CC); - - /* Execute the function being tested */ - DS_AppProcessCmd((CFE_SB_MsgPtr_t)(&CmdPacket)); - - /* Verify results */ - UtAssert_True - (Ut_CFE_EVS_EventSent(DS_NTYPE_CMD_ERR_EID, CFE_EVS_ERROR, "Invalid DEST TYPE command arg: filename type = 0"), - "Invalid DEST TYPE command arg: filename type = 0"); - /* For this test, we don't care whether or not the command is successful - only that it's been called */ - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 1, "Ut_CFE_EVS_GetEventQueueDepth() == 1"); - -} /* end DS_AppProcessCmd_Test_SetDestType */ - -void DS_AppProcessCmd_Test_SetDestState(void) -{ - DS_DestStateCmd_t CmdPacket; - - CFE_SB_InitMsg (&CmdPacket, DS_CMD_MID, sizeof(DS_DestStateCmd_t), TRUE); - CFE_SB_SetCmdCode((CFE_SB_MsgPtr_t)&CmdPacket, DS_SET_DEST_STATE_CC); - - /* Execute the function being tested */ - DS_AppProcessCmd((CFE_SB_MsgPtr_t)(&CmdPacket)); - - /* Verify results */ - UtAssert_True - (Ut_CFE_EVS_EventSent(DS_STATE_CMD_ERR_EID, CFE_EVS_ERROR, "Invalid DEST STATE command: destination file table is not loaded"), - "Invalid DEST STATE command: destination file table is not loaded"); - /* For this test, we don't care whether or not the command is successful - only that it's been called */ - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 1, "Ut_CFE_EVS_GetEventQueueDepth() == 1"); - -} /* end DS_AppProcessCmd_Test_SetDestState */ - -void DS_AppProcessCmd_Test_SetDestPath(void) -{ - DS_DestPathCmd_t CmdPacket; - - CFE_SB_InitMsg (&CmdPacket, DS_CMD_MID, sizeof(DS_DestPathCmd_t), TRUE); - CFE_SB_SetCmdCode((CFE_SB_MsgPtr_t)&CmdPacket, DS_SET_DEST_PATH_CC); - - /* Execute the function being tested */ - DS_AppProcessCmd((CFE_SB_MsgPtr_t)(&CmdPacket)); - - /* Verify results */ - UtAssert_True - (Ut_CFE_EVS_EventSent(DS_PATH_CMD_ERR_EID, CFE_EVS_ERROR, "Invalid DEST PATH command arg: pathname"), - "Invalid DEST PATH command arg: pathname"); - /* For this test, we don't care whether or not the command is successful - only that it's been called */ - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 1, "Ut_CFE_EVS_GetEventQueueDepth() == 1"); - -} /* end DS_AppProcessCmd_Test_SetDestPath */ - -void DS_AppProcessCmd_Test_SetDestBase(void) -{ - DS_DestBaseCmd_t CmdPacket; - - CFE_SB_InitMsg (&CmdPacket, DS_CMD_MID, sizeof(DS_DestBaseCmd_t), TRUE); - CFE_SB_SetCmdCode((CFE_SB_MsgPtr_t)&CmdPacket, DS_SET_DEST_BASE_CC); - - /* Execute the function being tested */ - DS_AppProcessCmd((CFE_SB_MsgPtr_t)(&CmdPacket)); - - /* Verify results */ - UtAssert_True - (Ut_CFE_EVS_EventSent(DS_BASE_CMD_ERR_EID, CFE_EVS_ERROR, "Invalid DEST BASE command: destination file table is not loaded"), - "Invalid DEST BASE command: destination file table is not loaded"); - /* For this test, we don't care whether or not the command is successful - only that it's been called */ - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 1, "Ut_CFE_EVS_GetEventQueueDepth() == 1"); - -} /* end DS_AppProcessCmd_Test_SetDestBase */ - -void DS_AppProcessCmd_Test_SetDestExt(void) -{ - DS_DestExtCmd_t CmdPacket; - - CFE_SB_InitMsg (&CmdPacket, DS_CMD_MID, sizeof(DS_DestExtCmd_t), TRUE); - CFE_SB_SetCmdCode((CFE_SB_MsgPtr_t)&CmdPacket, DS_SET_DEST_EXT_CC); - - /* Execute the function being tested */ - DS_AppProcessCmd((CFE_SB_MsgPtr_t)(&CmdPacket)); - - /* Verify results */ - UtAssert_True - (Ut_CFE_EVS_EventSent(DS_EXT_CMD_ERR_EID, CFE_EVS_ERROR, "Invalid DEST EXT command: destination file table is not loaded"), - "Invalid DEST EXT command: destination file table is not loaded"); - /* For this test, we don't care whether or not the command is successful - only that it's been called */ - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 1, "Ut_CFE_EVS_GetEventQueueDepth() == 1"); - -} /* end DS_AppProcessCmd_Test_SetDestExt */ - -void DS_AppProcessCmd_Test_SetDestSize(void) -{ - DS_DestSizeCmd_t CmdPacket; - - CFE_SB_InitMsg (&CmdPacket, DS_CMD_MID, sizeof(DS_DestSizeCmd_t), TRUE); - CFE_SB_SetCmdCode((CFE_SB_MsgPtr_t)&CmdPacket, DS_SET_DEST_SIZE_CC); - - /* Execute the function being tested */ - DS_AppProcessCmd((CFE_SB_MsgPtr_t)(&CmdPacket)); - - /* Verify results */ - UtAssert_True - (Ut_CFE_EVS_EventSent(DS_SIZE_CMD_ERR_EID, CFE_EVS_ERROR, "Invalid DEST SIZE command arg: size limit = 0"), - "Invalid DEST SIZE command arg: size limit = 0"); - /* For this test, we don't care whether or not the command is successful - only that it's been called */ - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 1, "Ut_CFE_EVS_GetEventQueueDepth() == 1"); - -} /* end DS_AppProcessCmd_Test_SetDestSize */ - -void DS_AppProcessCmd_Test_SetDestAge(void) -{ - DS_DestAgeCmd_t CmdPacket; - - CFE_SB_InitMsg (&CmdPacket, DS_CMD_MID, sizeof(DS_DestAgeCmd_t), TRUE); - CFE_SB_SetCmdCode((CFE_SB_MsgPtr_t)&CmdPacket, DS_SET_DEST_AGE_CC); - - /* Execute the function being tested */ - DS_AppProcessCmd((CFE_SB_MsgPtr_t)(&CmdPacket)); - - /* Verify results */ - UtAssert_True - (Ut_CFE_EVS_EventSent(DS_AGE_CMD_ERR_EID, CFE_EVS_ERROR, "Invalid DEST AGE command arg: age limit = 0"), - "Invalid DEST AGE command arg: age limit = 0"); - /* For this test, we don't care whether or not the command is successful - only that it's been called */ - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 1, "Ut_CFE_EVS_GetEventQueueDepth() == 1"); - -} /* end DS_AppProcessCmd_Test_SetDestAge */ - -void DS_AppProcessCmd_Test_SetDestCount(void) -{ - DS_DestCountCmd_t CmdPacket; - - CFE_SB_InitMsg (&CmdPacket, DS_CMD_MID, sizeof(DS_DestCountCmd_t), TRUE); - CFE_SB_SetCmdCode((CFE_SB_MsgPtr_t)&CmdPacket, DS_SET_DEST_COUNT_CC); - - /* Execute the function being tested */ - DS_AppProcessCmd((CFE_SB_MsgPtr_t)(&CmdPacket)); - - /* Verify results */ - UtAssert_True - (Ut_CFE_EVS_EventSent(DS_SEQ_CMD_ERR_EID, CFE_EVS_ERROR, "Invalid DEST COUNT command: destination file table is not loaded"), - "Invalid DEST COUNT command: destination file table is not loaded"); - /* For this test, we don't care whether or not the command is successful - only that it's been called */ - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 1, "Ut_CFE_EVS_GetEventQueueDepth() == 1"); - -} /* end DS_AppProcessCmd_Test_SetDestCount */ - -void DS_AppProcessCmd_Test_CloseFile(void) -{ - DS_CloseFileCmd_t CmdPacket; - uint32 i; - - CFE_SB_InitMsg (&CmdPacket, DS_CMD_MID, sizeof(DS_CloseFileCmd_t), TRUE); - CFE_SB_SetCmdCode((CFE_SB_MsgPtr_t)&CmdPacket, DS_CLOSE_FILE_CC); - - for (i = 0; i < DS_DEST_FILE_CNT; i++) - { - DS_AppData.FileStatus[i].FileHandle = DS_CLOSED_FILE_HANDLE; - } - - /* Execute the function being tested */ - DS_AppProcessCmd((CFE_SB_MsgPtr_t)(&CmdPacket)); - - /* Verify results */ - UtAssert_True - (Ut_CFE_EVS_EventSent(DS_CLOSE_CMD_EID, CFE_EVS_DEBUG, "DEST CLOSE command: file table index = 0"), - "DEST CLOSE command: file table index = 0"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 1, "Ut_CFE_EVS_GetEventQueueDepth() == 1"); - -} /* end DS_AppProcessCmd_Test_CloseFile */ - -void DS_AppProcessCmd_Test_GetFileInfo(void) -{ - DS_GetFileInfoCmd_t CmdPacket; - - CFE_SB_InitMsg (&CmdPacket, DS_CMD_MID, sizeof(DS_GetFileInfoCmd_t), TRUE); - CFE_SB_SetCmdCode((CFE_SB_MsgPtr_t)&CmdPacket, DS_GET_FILE_INFO_CC); - - /* Execute the function being tested */ - DS_AppProcessCmd((CFE_SB_MsgPtr_t)(&CmdPacket)); - - /* Verify results */ - UtAssert_True - (Ut_CFE_EVS_EventSent(DS_GET_FILE_INFO_CMD_EID, CFE_EVS_DEBUG, "GET FILE INFO command"), - "GET FILE INFO command"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 1, "Ut_CFE_EVS_GetEventQueueDepth() == 1"); - -} /* end DS_AppProcessCmd_Test_GetFileInfo */ - -void DS_AppProcessCmd_Test_AddMID(void) -{ - DS_AddMidCmd_t CmdPacket; - - CFE_SB_InitMsg (&CmdPacket, DS_CMD_MID, sizeof(DS_AddMidCmd_t), TRUE); - CFE_SB_SetCmdCode((CFE_SB_MsgPtr_t)&CmdPacket, DS_ADD_MID_CC); - - CmdPacket.MessageID = DS_CMD_MID; - - /* Execute the function being tested */ - DS_AppProcessCmd((CFE_SB_MsgPtr_t)(&CmdPacket)); - - /* Verify results */ - UtAssert_True - (Ut_CFE_EVS_EventSent(DS_ADD_MID_CMD_ERR_EID, CFE_EVS_ERROR, "Invalid ADD MID command: filter table is not loaded"), - "Invalid ADD MID command: filter table is not loaded"); - /* For this test, we don't care whether or not the command is successful - only that it's been called */ - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 1, "Ut_CFE_EVS_GetEventQueueDepth() == 1"); - -} /* end DS_AppProcessCmd_Test_AddMID */ - -void DS_AppProcessCmd_Test_CloseAll(void) -{ - DS_CloseAllCmd_t CmdPacket; - uint32 i; - - CFE_SB_InitMsg (&CmdPacket, DS_CMD_MID, sizeof(DS_CloseAllCmd_t), TRUE); - CFE_SB_SetCmdCode((CFE_SB_MsgPtr_t)&CmdPacket, DS_CLOSE_ALL_CC); - - for (i = 0; i < DS_DEST_FILE_CNT; i++) - { - DS_AppData.FileStatus[i].FileHandle = DS_CLOSED_FILE_HANDLE; - } - - /* Execute the function being tested */ - DS_AppProcessCmd((CFE_SB_MsgPtr_t)(&CmdPacket)); - - /* Verify results */ - UtAssert_True - (Ut_CFE_EVS_EventSent(DS_CLOSE_ALL_CMD_EID, CFE_EVS_DEBUG, "DEST CLOSE ALL command"), - "DEST CLOSE ALL command"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 1, "Ut_CFE_EVS_GetEventQueueDepth() == 1"); - -} /* end DS_AppProcessCmd_Test_CloseAll */ - -void DS_AppProcessCmd_Test_InvalidCommandCode(void) -{ - DS_CloseAllCmd_t CmdPacket; - - CFE_SB_InitMsg (&CmdPacket, DS_CMD_MID, sizeof(DS_CloseAllCmd_t), TRUE); - CFE_SB_SetCmdCode((CFE_SB_MsgPtr_t)&CmdPacket, 99); - - /* Execute the function being tested */ - DS_AppProcessCmd((CFE_SB_MsgPtr_t)(&CmdPacket)); - - /* Verify results */ - UtAssert_True - (Ut_CFE_EVS_EventSent(DS_CMD_CODE_ERR_EID, CFE_EVS_ERROR, "Invalid command code: MID = 0x18BB, CC = 99"), - "Invalid command code: MID = 0x18BB, CC = 99"); - - UtAssert_True (DS_AppData.CmdRejectedCounter == 1, "DS_AppData.CmdRejectedCounter == 1"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 1, "Ut_CFE_EVS_GetEventQueueDepth() == 1"); - -} /* end DS_AppProcessCmd_Test_InvalidCommandCode */ - -void DS_AppProcessHK_Test(void) -{ - uint32 i; - - /* Most values in the HK packet can't be checked because they're stored in a local variable. */ - - for (i = 0; i < DS_DEST_FILE_CNT; i++) - { - DS_AppData.FileStatus[i].FileGrowth = 99; - } - - /* Execute the function being tested */ - DS_AppProcessHK(); - - /* Verify results */ - UtAssert_True (DS_AppData.FileStatus[0].FileRate == 99 / DS_SECS_PER_HK_CYCLE, "DS_AppData.FileStatus[0].FileRate == 99 / DS_SECS_PER_HK_CYCLE"); - UtAssert_True (DS_AppData.FileStatus[0].FileGrowth == 0, "DS_AppData.FileStatus[0].FileGrowth == 0"); - - UtAssert_True (DS_AppData.FileStatus[DS_DEST_FILE_CNT/2].FileRate == 99 / DS_SECS_PER_HK_CYCLE, "DS_AppData.FileStatus[DS_DEST_FILE_CNT/2].FileRate == 99 / DS_SECS_PER_HK_CYCLE"); - UtAssert_True (DS_AppData.FileStatus[DS_DEST_FILE_CNT/2].FileGrowth == 0, "DS_AppData.FileStatus[DS_DEST_FILE_CNT/2].FileGrowth == 0"); - - UtAssert_True (DS_AppData.FileStatus[DS_DEST_FILE_CNT - 1].FileRate == 99 / DS_SECS_PER_HK_CYCLE, "DS_AppData.FileStatus[DS_DEST_FILE_CNT - 1].FileRate == 99 / DS_SECS_PER_HK_CYCLE"); - UtAssert_True (DS_AppData.FileStatus[DS_DEST_FILE_CNT - 1].FileGrowth == 0, "DS_AppData.FileStatus[DS_DEST_FILE_CNT - 1].FileGrowth == 0"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 0, "Ut_CFE_EVS_GetEventQueueDepth() == 0"); - - /* Verify command struct size minus header is at least explicitly padded to 32-bit boundaries */ - UtAssert_True (TLM_STRUCT_DATA_IS_32_ALIGNED(DS_HkPacket_t), "DS_HkPacket_t is 32-bit aligned"); -} /* end DS_AppProcessHK_Test */ - -void DS_AppStorePacket_Test_Nominal(void) -{ - DS_CloseAllCmd_t CmdPacket; - CFE_SB_MsgId_t MessageID = 1; - DS_DestFileTable_t destTable; - DS_FilterTable_t filterTable; - - CFE_SB_InitMsg (&CmdPacket, DS_CMD_MID, sizeof(DS_CloseAllCmd_t), TRUE); - CFE_SB_SetCmdCode((CFE_SB_MsgPtr_t)&CmdPacket, 99); - - DS_AppData.AppEnableState = DS_ENABLED; - DS_AppData.DestFileTblPtr = &destTable; - DS_AppData.FilterTblPtr = &filterTable; - - /* Execute the function being tested */ - DS_AppStorePacket(MessageID, (CFE_SB_MsgPtr_t)(&CmdPacket)); - - /* Verify results -- IgnoredPktCounter increments in call to DS_FileStorePacket() */ - UtAssert_True (DS_AppData.IgnoredPktCounter == 1, "DS_AppData.IgnoredPktCounter == 1"); - - UtAssert_True (DS_AppData.DisabledPktCounter == 0, "DS_AppData.DisabledPktCounter == 0"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 0, "Ut_CFE_EVS_GetEventQueueDepth() == 0"); - -} /* end DS_AppStorePacket_Test_Nominal */ - -void DS_AppStorePacket_Test_DSDisabled(void) -{ - DS_CloseAllCmd_t CmdPacket; - CFE_SB_MsgId_t MessageID = 1; - - CFE_SB_InitMsg (&CmdPacket, DS_CMD_MID, sizeof(DS_CloseAllCmd_t), TRUE); - CFE_SB_SetCmdCode((CFE_SB_MsgPtr_t)&CmdPacket, 99); - - DS_AppData.AppEnableState = DS_DISABLED; - - /* Execute the function being tested */ - DS_AppStorePacket(MessageID, (CFE_SB_MsgPtr_t)(&CmdPacket)); - - /* Verify results */ - UtAssert_True (DS_AppData.DisabledPktCounter == 1, "DS_AppData.DisabledPktCounter == 1"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 0, "Ut_CFE_EVS_GetEventQueueDepth() == 0"); - -} /* end DS_AppStorePacket_Test_DSDisabled */ - -void DS_AppStorePacket_Test_FilterTableNotLoaded(void) -{ - DS_CloseAllCmd_t CmdPacket; - CFE_SB_MsgId_t MessageID = 1; - DS_DestFileTable_t destTable; - - CFE_SB_InitMsg (&CmdPacket, DS_CMD_MID, sizeof(DS_CloseAllCmd_t), TRUE); - CFE_SB_SetCmdCode((CFE_SB_MsgPtr_t)&CmdPacket, 99); - - DS_AppData.AppEnableState = DS_ENABLED; - DS_AppData.DestFileTblPtr = &destTable; /* force to non-zero so filter table is tested */ - DS_AppData.FilterTblPtr = 0; - - /* Execute the function being tested */ - DS_AppStorePacket(MessageID, (CFE_SB_MsgPtr_t)(&CmdPacket)); - - /* Verify results */ - UtAssert_True (DS_AppData.IgnoredPktCounter == 1, "DS_AppData.IgnoredPktCounter == 1"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 0, "Ut_CFE_EVS_GetEventQueueDepth() == 0"); - -} /* end DS_AppStorePacket_Test_FilterTableNotLoaded */ - -void DS_AppStorePacket_Test_DestFileTableNotLoaded(void) -{ - DS_CloseAllCmd_t CmdPacket; - CFE_SB_MsgId_t MessageID = 1; - DS_FilterTable_t filterTable; - - CFE_SB_InitMsg (&CmdPacket, DS_CMD_MID, sizeof(DS_CloseAllCmd_t), TRUE); - CFE_SB_SetCmdCode((CFE_SB_MsgPtr_t)&CmdPacket, 99); - - DS_AppData.AppEnableState = DS_ENABLED; - DS_AppData.FilterTblPtr = &filterTable; /* Force to non-zero so destination table is tested */ - DS_AppData.DestFileTblPtr = 0; - - /* Execute the function being tested */ - DS_AppStorePacket(MessageID, (CFE_SB_MsgPtr_t)(&CmdPacket)); - - /* Verify results */ - UtAssert_True (DS_AppData.IgnoredPktCounter == 1, "DS_AppData.IgnoredPktCounter == 1"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 0, "Ut_CFE_EVS_GetEventQueueDepth() == 0"); - -} /* end DS_AppStorePacket_Test_DestFileTableNotLoaded */ - -void DS_App_Test_AddTestCases(void) -{ - UtTest_Add(DS_AppMain_Test_Nominal, DS_Test_Setup, DS_Test_TearDown, "DS_AppMain_Test_Nominal"); - UtTest_Add(DS_AppMain_Test_RegisterAppError, DS_Test_Setup, DS_Test_TearDown, "DS_AppMain_Test_RegisterAppError"); - UtTest_Add(DS_AppMain_Test_AppInitializeError, DS_Test_Setup, DS_Test_TearDown, "DS_AppMain_Test_AppInitializeError"); - UtTest_Add(DS_AppMain_Test_SBError, DS_Test_Setup, DS_Test_TearDown, "DS_AppMain_Test_SBError"); - - UtTest_Add(DS_AppInitialize_Test_Nominal, DS_Test_Setup, DS_Test_TearDown, "DS_AppInitialize_Test_Nominal"); - UtTest_Add(DS_AppInitialize_Test_EVSRegisterError, DS_Test_Setup, DS_Test_TearDown, "DS_AppInitialize_Test_EVSRegisterError"); - UtTest_Add(DS_AppInitialize_Test_SBCreatePipeError, DS_Test_Setup, DS_Test_TearDown, "DS_AppInitialize_Test_SBCreatePipeError"); - UtTest_Add(DS_AppInitialize_Test_SBSubscribeHKError, DS_Test_Setup, DS_Test_TearDown, "DS_AppInitialize_Test_SBSubscribeHKError"); - UtTest_Add(DS_AppInitialize_Test_SBSubscribeDSError, DS_Test_Setup, DS_Test_TearDown, "DS_AppInitialize_Test_SBSubscribeDSError"); - - UtTest_Add(DS_AppProcessMsg_Test_Cmd, DS_Test_Setup, DS_Test_TearDown, "DS_AppProcessMsg_Test_Cmd"); - UtTest_Add(DS_AppProcessMsg_Test_HK, DS_Test_Setup, DS_Test_TearDown, "DS_AppProcessMsg_Test_HK"); - UtTest_Add(DS_AppProcessMsg_Test_HKInvalidRequest, DS_Test_Setup, DS_Test_TearDown, "DS_AppProcessMsg_Test_HKInvalidRequest"); - UtTest_Add(DS_AppProcessMsg_Test_UnknownMID, DS_Test_Setup, DS_Test_TearDown, "DS_AppProcessMsg_Test_UnknownMID"); - - UtTest_Add(DS_AppProcessCmd_Test_Noop, DS_Test_Setup, DS_Test_TearDown, "DS_AppProcessCmd_Test_Noop"); - UtTest_Add(DS_AppProcessCmd_Test_Reset, DS_Test_Setup, DS_Test_TearDown, "DS_AppProcessCmd_Test_Reset"); - UtTest_Add(DS_AppProcessCmd_Test_SetAppState, DS_Test_Setup, DS_Test_TearDown, "DS_AppProcessCmd_Test_SetAppState"); - UtTest_Add(DS_AppProcessCmd_Test_SetFilterFile, DS_Test_Setup, DS_Test_TearDown, "DS_AppProcessCmd_Test_SetFilterFile"); - UtTest_Add(DS_AppProcessCmd_Test_SetFilterType, DS_Test_Setup, DS_Test_TearDown, "DS_AppProcessCmd_Test_SetFilterType"); - UtTest_Add(DS_AppProcessCmd_Test_SetFilterParms, DS_Test_Setup, DS_Test_TearDown, "DS_AppProcessCmd_Test_SetFilterParms"); - UtTest_Add(DS_AppProcessCmd_Test_SetDestType, DS_Test_Setup, DS_Test_TearDown, "DS_AppProcessCmd_Test_SetDestType"); - UtTest_Add(DS_AppProcessCmd_Test_SetDestState, DS_Test_Setup, DS_Test_TearDown, "DS_AppProcessCmd_Test_SetDestState"); - UtTest_Add(DS_AppProcessCmd_Test_SetDestPath, DS_Test_Setup, DS_Test_TearDown, "DS_AppProcessCmd_Test_SetDestPath"); - UtTest_Add(DS_AppProcessCmd_Test_SetDestBase, DS_Test_Setup, DS_Test_TearDown, "DS_AppProcessCmd_Test_SetDestBase"); - UtTest_Add(DS_AppProcessCmd_Test_SetDestExt, DS_Test_Setup, DS_Test_TearDown, "DS_AppProcessCmd_Test_SetDestExt"); - UtTest_Add(DS_AppProcessCmd_Test_SetDestSize, DS_Test_Setup, DS_Test_TearDown, "DS_AppProcessCmd_Test_SetDestSize"); - UtTest_Add(DS_AppProcessCmd_Test_SetDestAge, DS_Test_Setup, DS_Test_TearDown, "DS_AppProcessCmd_Test_SetDestAge"); - UtTest_Add(DS_AppProcessCmd_Test_SetDestCount, DS_Test_Setup, DS_Test_TearDown, "DS_AppProcessCmd_Test_SetDestCount"); - UtTest_Add(DS_AppProcessCmd_Test_CloseFile, DS_Test_Setup, DS_Test_TearDown, "DS_AppProcessCmd_Test_CloseFile"); - UtTest_Add(DS_AppProcessCmd_Test_GetFileInfo, DS_Test_Setup, DS_Test_TearDown, "DS_AppProcessCmd_Test_GetFileInfo"); - UtTest_Add(DS_AppProcessCmd_Test_AddMID, DS_Test_Setup, DS_Test_TearDown, "DS_AppProcessCmd_Test_AddMID"); - UtTest_Add(DS_AppProcessCmd_Test_CloseAll, DS_Test_Setup, DS_Test_TearDown, "DS_AppProcessCmd_Test_CloseAll"); - UtTest_Add(DS_AppProcessCmd_Test_InvalidCommandCode, DS_Test_Setup, DS_Test_TearDown, "DS_AppProcessCmd_Test_InvalidCommandCode"); - - UtTest_Add(DS_AppProcessHK_Test, DS_Test_Setup, DS_Test_TearDown, "DS_AppProcessHK_Test"); - - UtTest_Add(DS_AppStorePacket_Test_Nominal, DS_Test_Setup, DS_Test_TearDown, "DS_AppStorePacket_Test_Nominal"); - UtTest_Add(DS_AppStorePacket_Test_DSDisabled, DS_Test_Setup, DS_Test_TearDown, "DS_AppStorePacket_Test_DSDisabled"); - UtTest_Add(DS_AppStorePacket_Test_FilterTableNotLoaded, DS_Test_Setup, DS_Test_TearDown, "DS_AppStorePacket_Test_FilterTableNotLoaded"); - UtTest_Add(DS_AppStorePacket_Test_DestFileTableNotLoaded, DS_Test_Setup, DS_Test_TearDown, "DS_AppStorePacket_Test_DestFileTableNotLoaded"); -} /* end DS_App_Test_AddTestCases */ - - -/************************/ -/* End of File Comment */ -/************************/ diff --git a/fsw/unit_test/ds_app_test.h b/fsw/unit_test/ds_app_test.h deleted file mode 100644 index 7c0bbde..0000000 --- a/fsw/unit_test/ds_app_test.h +++ /dev/null @@ -1,51 +0,0 @@ - /************************************************************************* - ** File: ds_app_test.h - ** - ** NASA Docket No. GSC-16,126-1, and identified as "Core Flight Software System - ** (CFS) Data Storage Application Version 2” - ** - ** Copyright © 2007-2014 United States Government as represented by the - ** Administrator of the National Aeronautics and Space Administration. All Rights - ** Reserved. - ** - ** Licensed under the Apache License, Version 2.0 (the "License"); - ** you may not use this file except in compliance with the License. - ** You may obtain a copy of the License at - ** http://www.apache.org/licenses/LICENSE-2.0 - ** - ** Unless required by applicable law or agreed to in writing, software - ** distributed under the License is distributed on an "AS IS" BASIS, - ** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - ** See the License for the specific language governing permissions and - ** limitations under the License. - ** - ** Purpose: - ** This file contains the function prototypes for the unit test cases for - ** the functions contained in the file ds_app.c - ** - ** References: - ** Flight Software Branch C Coding Standard Version 1.2 - ** CFS Development Standards Document - ** - ** Notes: - ** - *************************************************************************/ - - -/* - * Includes - */ - -#include "utassert.h" -#include "uttest.h" - -/* - * Function Prototypes - */ - -void DS_App_Test_AddTestCases(void); - - -/************************/ -/* End of File Comment */ -/************************/ diff --git a/fsw/unit_test/ds_cmds.c.gcov b/fsw/unit_test/ds_cmds.c.gcov deleted file mode 100644 index 6dc59d5..0000000 --- a/fsw/unit_test/ds_cmds.c.gcov +++ /dev/null @@ -1,1535 +0,0 @@ - -: 0:Source:../src/ds_cmds.c - -: 0:Programs:4 - -: 1:/************************************************************************ - -: 2:** $Id: ds_cmds.c.gcov 1.3.1.1 2017/02/03 12:21:37EST mdeschu Exp $ - -: 3:** - -: 4:** Copyright (c) 2007-2014 United States Government as represented by the - -: 5:** Administrator of the National Aeronautics and Space Administration. - -: 6:** All Other Rights Reserved. - -: 7:** - -: 8:** This software was created at NASA's Goddard Space Flight Center. - -: 9:** This software is governed by the NASA Open Source Agreement and may be - -: 10:** used, distributed and modified only pursuant to the terms of that - -: 11:** agreement. - -: 12:** - -: 13:** CFS Data Storage (DS) command handler functions - -: 14:** - -: 15:*************************************************************************/ - -: 16: - -: 17:#include "cfe.h" - -: 18: - -: 19:#include "cfs_utils.h" - -: 20: - -: 21:#include "ds_platform_cfg.h" - -: 22:#include "ds_verify.h" - -: 23: - -: 24:#include "ds_appdefs.h" - -: 25:#include "ds_msgids.h" - -: 26: - -: 27:#include "ds_msg.h" - -: 28:#include "ds_app.h" - -: 29:#include "ds_cmds.h" - -: 30:#include "ds_file.h" - -: 31:#include "ds_table.h" - -: 32:#include "ds_events.h" - -: 33:#include "ds_version.h" - -: 34: - -: 35:#include "string.h" - -: 36: - -: 37: - -: 38:/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ - -: 39:/* */ - -: 40:/* DS_CmdNoop() - NOOP command */ - -: 41:/* */ - -: 42:/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ - -: 43: - 4: 44:void DS_CmdNoop(CFE_SB_MsgPtr_t MessagePtr) - -: 45:{ - 4: 46: uint16 ActualLength = CFE_SB_GetTotalMsgLength(MessagePtr); - 4: 47: uint16 ExpectedLength = sizeof(DS_NoopCmd_t); - -: 48: - 4: 49: if (ExpectedLength != ActualLength) - -: 50: { - -: 51: /* - -: 52: ** Invalid command packet length... - -: 53: */ - 1: 54: DS_AppData.CmdRejectedCounter++; - -: 55: - 1: 56: CFE_EVS_SendEvent(DS_NOOP_CMD_ERR_EID, CFE_EVS_ERROR, - -: 57: "Invalid NOOP command length: expected = %d, actual = %d", - -: 58: ExpectedLength, ActualLength); - -: 59: } - -: 60: else - -: 61: { - -: 62: /* - -: 63: ** Do nothing except display "aliveness" event... - -: 64: */ - 3: 65: DS_AppData.CmdAcceptedCounter++; - -: 66: - 3: 67: CFE_EVS_SendEvent(DS_NOOP_CMD_EID, CFE_EVS_INFORMATION, - -: 68: "NOOP command, Version %d.%d.%d.%d", - -: 69: DS_MAJOR_VERSION, DS_MINOR_VERSION, DS_REVISION, DS_MISSION_REV); - -: 70: } - -: 71: - 4: 72: return; - -: 73: - -: 74:} /* End of DS_CmdNoop() */ - -: 75: - -: 76: - -: 77:/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ - -: 78:/* */ - -: 79:/* DS_CmdReset() - reset hk telemetry counters command */ - -: 80:/* */ - -: 81:/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ - -: 82: - 3: 83:void DS_CmdReset(CFE_SB_MsgPtr_t MessagePtr) - -: 84:{ - 3: 85: uint16 ActualLength = CFE_SB_GetTotalMsgLength(MessagePtr); - 3: 86: uint16 ExpectedLength = sizeof(DS_ResetCmd_t); - -: 87: - 3: 88: if (ExpectedLength != ActualLength) - -: 89: { - -: 90: /* - -: 91: ** Invalid command packet length... - -: 92: */ - 1: 93: DS_AppData.CmdRejectedCounter++; - -: 94: - 1: 95: CFE_EVS_SendEvent(DS_RESET_CMD_ERR_EID, CFE_EVS_ERROR, - -: 96: "Invalid RESET command length: expected = %d, actual = %d", - -: 97: ExpectedLength, ActualLength); - -: 98: } - -: 99: else - -: 100: { - -: 101: /* - -: 102: ** Reset application command counters... - -: 103: */ - 2: 104: DS_AppData.CmdAcceptedCounter = 0; - 2: 105: DS_AppData.CmdRejectedCounter = 0; - -: 106: - -: 107: /* - -: 108: ** Reset packet storage counters... - -: 109: */ - 2: 110: DS_AppData.DisabledPktCounter = 0; - 2: 111: DS_AppData.IgnoredPktCounter = 0; - 2: 112: DS_AppData.FilteredPktCounter = 0; - 2: 113: DS_AppData.PassedPktCounter = 0; - -: 114: - -: 115: /* - -: 116: ** Reset file I/O counters... - -: 117: */ - 2: 118: DS_AppData.FileWriteCounter = 0; - 2: 119: DS_AppData.FileWriteErrCounter = 0; - 2: 120: DS_AppData.FileUpdateCounter = 0; - 2: 121: DS_AppData.FileUpdateErrCounter = 0; - -: 122: - -: 123: /* - -: 124: ** Reset configuration table counters... - -: 125: */ - 2: 126: DS_AppData.DestTblLoadCounter = 0; - 2: 127: DS_AppData.DestTblErrCounter = 0; - 2: 128: DS_AppData.FilterTblLoadCounter = 0; - 2: 129: DS_AppData.FilterTblErrCounter = 0; - -: 130: - 2: 131: CFE_EVS_SendEvent(DS_RESET_CMD_EID, CFE_EVS_DEBUG, "Reset counters command"); - -: 132: } - -: 133: - 3: 134: return; - -: 135: - -: 136:} /* End of DS_CmdReset() */ - -: 137: - -: 138: - -: 139:/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ - -: 140:/* */ - -: 141:/* DS_CmdSetAppState() - set application ena/dis state */ - -: 142:/* */ - -: 143:/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ - -: 144: - 4: 145:void DS_CmdSetAppState(CFE_SB_MsgPtr_t MessagePtr) - -: 146:{ - 4: 147: DS_AppStateCmd_t *DS_AppStateCmd = (DS_AppStateCmd_t *) MessagePtr; - 4: 148: uint16 ActualLength = CFE_SB_GetTotalMsgLength(MessagePtr); - 4: 149: uint16 ExpectedLength = sizeof(DS_AppStateCmd_t); - -: 150: - 4: 151: if (ExpectedLength != ActualLength) - -: 152: { - -: 153: /* - -: 154: ** Invalid command packet length... - -: 155: */ - 1: 156: DS_AppData.CmdRejectedCounter++; - -: 157: - 1: 158: CFE_EVS_SendEvent(DS_ENADIS_CMD_ERR_EID, CFE_EVS_ERROR, - -: 159: "Invalid APP STATE command length: expected = %d, actual = %d", - -: 160: ExpectedLength, ActualLength); - -: 161: } - 3: 162: else if (DS_TableVerifyState(DS_AppStateCmd->EnableState) == FALSE) - -: 163: { - -: 164: /* - -: 165: ** Invalid enable/disable state... - -: 166: */ - 1: 167: DS_AppData.CmdRejectedCounter++; - -: 168: - 1: 169: CFE_EVS_SendEvent(DS_ENADIS_CMD_ERR_EID, CFE_EVS_ERROR, - -: 170: "Invalid APP STATE command arg: app state = %d", - 1: 171: DS_AppStateCmd->EnableState); - -: 172: } - -: 173: else - -: 174: { - -: 175: /* - -: 176: ** Set new DS application enable/disable state... - -: 177: */ - 2: 178: DS_AppData.AppEnableState = DS_AppStateCmd->EnableState; - -: 179: - -: 180: /* - -: 181: ** Update the Critical Data Store (CDS)... - -: 182: */ - 2: 183: DS_TableUpdateCDS(); - -: 184: - 2: 185: DS_AppData.CmdAcceptedCounter++; - -: 186: - 2: 187: CFE_EVS_SendEvent(DS_ENADIS_CMD_EID, CFE_EVS_DEBUG, - -: 188: "APP STATE command: state = %d", - 2: 189: DS_AppStateCmd->EnableState); - -: 190: } - -: 191: - 4: 192: return; - -: 193: - -: 194:} /* End of DS_CmdSetAppState() */ - -: 195: - -: 196: - -: 197:/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ - -: 198:/* */ - -: 199:/* DS_CmdSetFilterFile() - set packet filter file index */ - -: 200:/* */ - -: 201:/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ - -: 202: - 8: 203:void DS_CmdSetFilterFile(CFE_SB_MsgPtr_t MessagePtr) - -: 204:{ - 8: 205: DS_FilterFileCmd_t *DS_FilterFileCmd = (DS_FilterFileCmd_t *) MessagePtr; - 8: 206: uint16 ActualLength = CFE_SB_GetTotalMsgLength(MessagePtr); - 8: 207: uint16 ExpectedLength = sizeof(DS_FilterFileCmd_t); - -: 208: DS_PacketEntry_t *pPacketEntry; - -: 209: DS_FilterParms_t *pFilterParms; - -: 210: int32 FilterTableIndex; - -: 211: - 8: 212: if (ExpectedLength != ActualLength) - -: 213: { - -: 214: /* - -: 215: ** Invalid command packet length... - -: 216: */ - 1: 217: DS_AppData.CmdRejectedCounter++; - -: 218: - 1: 219: CFE_EVS_SendEvent(DS_FILE_CMD_ERR_EID, CFE_EVS_ERROR, - -: 220: "Invalid FILTER FILE command length: expected = %d, actual = %d", - -: 221: ExpectedLength, ActualLength); - -: 222: } - 7: 223: else if (DS_FilterFileCmd->MessageID == DS_UNUSED) - -: 224: { - -: 225: /* - -: 226: ** Invalid packet messageID... - -: 227: */ - 1: 228: DS_AppData.CmdRejectedCounter++; - -: 229: - 1: 230: CFE_EVS_SendEvent(DS_FILE_CMD_ERR_EID, CFE_EVS_ERROR, - -: 231: "Invalid FILTER FILE command arg: invalid messageID = 0x%4X", - 1: 232: DS_FilterFileCmd->MessageID); - -: 233: } - 6: 234: else if (DS_FilterFileCmd->FilterParmsIndex >= DS_FILTERS_PER_PACKET) - -: 235: { - -: 236: /* - -: 237: ** Invalid packet filter parameters index... - -: 238: */ - 1: 239: DS_AppData.CmdRejectedCounter++; - -: 240: - 1: 241: CFE_EVS_SendEvent(DS_FILE_CMD_ERR_EID, CFE_EVS_ERROR, - -: 242: "Invalid FILTER FILE command arg: filter parameters index = %d", - 1: 243: DS_FilterFileCmd->FilterParmsIndex); - -: 244: } - 5: 245: else if (DS_TableVerifyFileIndex(DS_FilterFileCmd->FileTableIndex) == FALSE) - -: 246: { - -: 247: /* - -: 248: ** Invalid destination file table index... - -: 249: */ - 1: 250: DS_AppData.CmdRejectedCounter++; - -: 251: - 1: 252: CFE_EVS_SendEvent(DS_FILE_CMD_ERR_EID, CFE_EVS_ERROR, - -: 253: "Invalid FILTER FILE command arg: file table index = %d", - 1: 254: DS_FilterFileCmd->FileTableIndex); - -: 255: } - 4: 256: else if (DS_AppData.FilterTblPtr == (DS_FilterTable_t *) NULL) - -: 257: { - -: 258: /* - -: 259: ** Must have a valid packet filter table loaded... - -: 260: */ - 2: 261: DS_AppData.CmdRejectedCounter++; - -: 262: - 2: 263: CFE_EVS_SendEvent(DS_FILE_CMD_ERR_EID, CFE_EVS_ERROR, - -: 264: "Invalid FILTER FILE command: packet filter table is not loaded"); - -: 265: } - -: 266: else - -: 267: { - -: 268: /* - -: 269: ** Get the index of the filter table entry for this message ID... - -: 270: */ - 2: 271: FilterTableIndex = DS_TableFindMsgID(DS_FilterFileCmd->MessageID); - -: 272: - 2: 273: if (FilterTableIndex == DS_INDEX_NONE) - -: 274: { - -: 275: /* - -: 276: ** Must not create - may only modify existing packet filter... - -: 277: */ - 1: 278: DS_AppData.CmdRejectedCounter++; - -: 279: - 1: 280: CFE_EVS_SendEvent(DS_FILE_CMD_ERR_EID, CFE_EVS_ERROR, - -: 281: "Invalid FILTER FILE command: Message ID 0x%04X is not in filter table", - 1: 282: DS_FilterFileCmd->MessageID); - -: 283: } - -: 284: else - -: 285: { - -: 286: /* - -: 287: ** Set new packet filter value (file table index)... - -: 288: */ - 1: 289: pPacketEntry = &DS_AppData.FilterTblPtr->Packet[FilterTableIndex]; - 1: 290: pFilterParms = &pPacketEntry->Filter[DS_FilterFileCmd->FilterParmsIndex]; - -: 291: - 1: 292: pFilterParms->FileTableIndex = DS_FilterFileCmd->FileTableIndex; - -: 293: - -: 294: /* - -: 295: ** Notify cFE that we have modified the table data... - -: 296: */ - 1: 297: CFE_TBL_Modified(DS_AppData.FilterTblHandle); - -: 298: - 1: 299: DS_AppData.CmdAcceptedCounter++; - -: 300: - 3: 301: CFE_EVS_SendEvent(DS_FILE_CMD_EID, CFE_EVS_DEBUG, - -: 302: "FILTER FILE command: MID = 0x%04X, index = %d, filter = %d, file = %d", - 1: 303: DS_FilterFileCmd->MessageID, (int)FilterTableIndex, - 1: 304: DS_FilterFileCmd->FilterParmsIndex, - 1: 305: DS_FilterFileCmd->FileTableIndex); - -: 306: } - -: 307: } - -: 308: - 8: 309: return; - -: 310: - -: 311:} /* End of DS_CmdSetFilterFile() */ - -: 312: - -: 313: - -: 314:/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ - -: 315:/* */ - -: 316:/* DS_CmdSetFilterType() - set pkt filter filename type */ - -: 317:/* */ - -: 318:/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ - -: 319: - 8: 320:void DS_CmdSetFilterType(CFE_SB_MsgPtr_t MessagePtr) - -: 321:{ - 8: 322: DS_FilterTypeCmd_t *DS_FilterTypeCmd = (DS_FilterTypeCmd_t *) MessagePtr; - 8: 323: uint16 ActualLength = CFE_SB_GetTotalMsgLength(MessagePtr); - 8: 324: uint16 ExpectedLength = sizeof(DS_FilterTypeCmd_t); - -: 325: DS_PacketEntry_t *pPacketEntry; - -: 326: DS_FilterParms_t *pFilterParms; - -: 327: int32 FilterTableIndex; - -: 328: - 8: 329: if (ExpectedLength != ActualLength) - -: 330: { - -: 331: /* - -: 332: ** Invalid command packet length... - -: 333: */ - 1: 334: DS_AppData.CmdRejectedCounter++; - -: 335: - 1: 336: CFE_EVS_SendEvent(DS_FTYPE_CMD_ERR_EID, CFE_EVS_ERROR, - -: 337: "Invalid FILTER TYPE command length: expected = %d, actual = %d", - -: 338: ExpectedLength, ActualLength); - -: 339: } - 7: 340: else if (DS_FilterTypeCmd->MessageID == DS_UNUSED) - -: 341: { - -: 342: /* - -: 343: ** Invalid packet messageID... - -: 344: */ - 1: 345: DS_AppData.CmdRejectedCounter++; - -: 346: - 1: 347: CFE_EVS_SendEvent(DS_FTYPE_CMD_ERR_EID, CFE_EVS_ERROR, - -: 348: "Invalid FILTER TYPE command arg: invalid messageID = 0x%04X", - 1: 349: DS_FilterTypeCmd->MessageID); - -: 350: } - 6: 351: else if (DS_FilterTypeCmd->FilterParmsIndex >= DS_FILTERS_PER_PACKET) - -: 352: { - -: 353: /* - -: 354: ** Invalid packet filter parameters index... - -: 355: */ - 1: 356: DS_AppData.CmdRejectedCounter++; - -: 357: - 1: 358: CFE_EVS_SendEvent(DS_FTYPE_CMD_ERR_EID, CFE_EVS_ERROR, - -: 359: "Invalid FILTER TYPE command arg: filter parameters index = %d", - 1: 360: DS_FilterTypeCmd->FilterParmsIndex); - -: 361: } - 5: 362: else if (DS_TableVerifyType(DS_FilterTypeCmd->FilterType) == FALSE) - -: 363: { - -: 364: /* - -: 365: ** Invalid packet filter filename type... - -: 366: */ - 2: 367: DS_AppData.CmdRejectedCounter++; - -: 368: - 2: 369: CFE_EVS_SendEvent(DS_FTYPE_CMD_ERR_EID, CFE_EVS_ERROR, - -: 370: "Invalid FILTER TYPE command arg: filter type = %d", - 2: 371: DS_FilterTypeCmd->FilterType); - -: 372: } - 3: 373: else if (DS_AppData.FilterTblPtr == (DS_FilterTable_t *) NULL) - -: 374: { - -: 375: /* - -: 376: ** Must have a valid packet filter table loaded... - -: 377: */ - 1: 378: DS_AppData.CmdRejectedCounter++; - -: 379: - 1: 380: CFE_EVS_SendEvent(DS_FTYPE_CMD_ERR_EID, CFE_EVS_ERROR, - -: 381: "Invalid FILTER TYPE command: packet filter table is not loaded"); - -: 382: } - -: 383: else - -: 384: { - -: 385: /* - -: 386: ** Get the index of the filter table entry for this message ID... - -: 387: */ - 2: 388: FilterTableIndex = DS_TableFindMsgID(DS_FilterTypeCmd->MessageID); - -: 389: - 2: 390: if (FilterTableIndex == DS_INDEX_NONE) - -: 391: { - -: 392: /* - -: 393: ** Must not create - may only modify existing packet filter... - -: 394: */ - 1: 395: DS_AppData.CmdRejectedCounter++; - -: 396: - 1: 397: CFE_EVS_SendEvent(DS_FTYPE_CMD_ERR_EID, CFE_EVS_ERROR, - -: 398: "Invalid FILTER TYPE command: Message ID 0x%04X is not in filter table", - 1: 399: DS_FilterTypeCmd->MessageID); - -: 400: } - -: 401: else - -: 402: { - -: 403: /* - -: 404: ** Set new packet filter value (filter type)... - -: 405: */ - 1: 406: pPacketEntry = &DS_AppData.FilterTblPtr->Packet[FilterTableIndex]; - 1: 407: pFilterParms = &pPacketEntry->Filter[DS_FilterTypeCmd->FilterParmsIndex]; - -: 408: - 1: 409: pFilterParms->FilterType = DS_FilterTypeCmd->FilterType; - -: 410: - -: 411: /* - -: 412: ** Notify cFE that we have modified the table data... - -: 413: */ - 1: 414: CFE_TBL_Modified(DS_AppData.FilterTblHandle); - -: 415: - 1: 416: DS_AppData.CmdAcceptedCounter++; - -: 417: - 3: 418: CFE_EVS_SendEvent(DS_FTYPE_CMD_EID, CFE_EVS_DEBUG, - -: 419: "FILTER TYPE command: MID = 0x%04X, index = %d, filter = %d, type = %d", - 1: 420: DS_FilterTypeCmd->MessageID, (int)FilterTableIndex, - 1: 421: DS_FilterTypeCmd->FilterParmsIndex, - 1: 422: DS_FilterTypeCmd->FilterType); - -: 423: } - -: 424: } - -: 425: - 8: 426: return; - -: 427: - -: 428:} /* End of DS_CmdSetFilterType() */ - -: 429: - -: 430: - -: 431:/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ - -: 432:/* */ - -: 433:/* DS_CmdSetFilterParms() - set packet filter parameters */ - -: 434:/* */ - -: 435:/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ - -: 436: - 8: 437:void DS_CmdSetFilterParms(CFE_SB_MsgPtr_t MessagePtr) - -: 438:{ - 8: 439: DS_FilterParmsCmd_t *DS_FilterParmsCmd = (DS_FilterParmsCmd_t *) MessagePtr; - 8: 440: uint16 ActualLength = CFE_SB_GetTotalMsgLength(MessagePtr); - 8: 441: uint16 ExpectedLength = sizeof(DS_FilterParmsCmd_t); - -: 442: DS_PacketEntry_t *pPacketEntry; - -: 443: DS_FilterParms_t *pFilterParms; - -: 444: int32 FilterTableIndex; - -: 445: - 8: 446: if (ExpectedLength != ActualLength) - -: 447: { - -: 448: /* - -: 449: ** Invalid command packet length... - -: 450: */ - 1: 451: DS_AppData.CmdRejectedCounter++; - -: 452: - 1: 453: CFE_EVS_SendEvent(DS_PARMS_CMD_ERR_EID, CFE_EVS_ERROR, - -: 454: "Invalid FILTER PARMS command length: expected = %d, actual = %d", - -: 455: ExpectedLength, ActualLength); - -: 456: } - 7: 457: else if (DS_FilterParmsCmd->MessageID == DS_UNUSED) - -: 458: { - -: 459: /* - -: 460: ** Invalid packet messageID... - -: 461: */ - 2: 462: DS_AppData.CmdRejectedCounter++; - -: 463: - 2: 464: CFE_EVS_SendEvent(DS_PARMS_CMD_ERR_EID, CFE_EVS_ERROR, - -: 465: "Invalid FILTER PARMS command arg: invalid messageID = 0x%04X", - 2: 466: DS_FilterParmsCmd->MessageID); - -: 467: } - 5: 468: else if (DS_FilterParmsCmd->FilterParmsIndex >= DS_FILTERS_PER_PACKET) - -: 469: { - -: 470: /* - -: 471: ** Invalid packet filter parameters index... - -: 472: */ - 1: 473: DS_AppData.CmdRejectedCounter++; - -: 474: - 1: 475: CFE_EVS_SendEvent(DS_PARMS_CMD_ERR_EID, CFE_EVS_ERROR, - -: 476: "Invalid FILTER PARMS command arg: filter parameters index = %d", - 1: 477: DS_FilterParmsCmd->FilterParmsIndex); - -: 478: } - 8: 479: else if (DS_TableVerifyParms(DS_FilterParmsCmd->Algorithm_N, - 4: 480: DS_FilterParmsCmd->Algorithm_X, - 4: 481: DS_FilterParmsCmd->Algorithm_O) == FALSE) - -: 482: { - -: 483: /* - -: 484: ** Invalid packet filter algorithm parameters... - -: 485: */ - 1: 486: DS_AppData.CmdRejectedCounter++; - -: 487: - 3: 488: CFE_EVS_SendEvent(DS_PARMS_CMD_ERR_EID, CFE_EVS_ERROR, - -: 489: "Invalid FILTER PARMS command arg: N = %d, X = %d, O = %d", - 1: 490: DS_FilterParmsCmd->Algorithm_N, - 1: 491: DS_FilterParmsCmd->Algorithm_X, - 1: 492: DS_FilterParmsCmd->Algorithm_O); - -: 493: } - 3: 494: else if (DS_AppData.FilterTblPtr == (DS_FilterTable_t *) NULL) - -: 495: { - -: 496: /* - -: 497: ** Must have a valid packet filter table loaded... - -: 498: */ - 1: 499: DS_AppData.CmdRejectedCounter++; - -: 500: - 1: 501: CFE_EVS_SendEvent(DS_PARMS_CMD_ERR_EID, CFE_EVS_ERROR, - -: 502: "Invalid FILTER PARMS command: packet filter table is not loaded"); - -: 503: } - -: 504: else - -: 505: { - -: 506: /* - -: 507: ** Get the index of the filter table entry for this message ID... - -: 508: */ - 2: 509: FilterTableIndex = DS_TableFindMsgID(DS_FilterParmsCmd->MessageID); - -: 510: - 2: 511: if (FilterTableIndex == DS_INDEX_NONE) - -: 512: { - -: 513: /* - -: 514: ** Must not create - may only modify existing packet filter... - -: 515: */ - 1: 516: DS_AppData.CmdRejectedCounter++; - -: 517: - 1: 518: CFE_EVS_SendEvent(DS_PARMS_CMD_ERR_EID, CFE_EVS_ERROR, - -: 519: "Invalid FILTER PARMS command: Message ID 0x%04X is not in filter table", - 1: 520: DS_FilterParmsCmd->MessageID); - -: 521: } - -: 522: else - -: 523: { - -: 524: /* - -: 525: ** Set new packet filter values (algorithm)... - -: 526: */ - 1: 527: pPacketEntry = &DS_AppData.FilterTblPtr->Packet[FilterTableIndex]; - 1: 528: pFilterParms = &pPacketEntry->Filter[DS_FilterParmsCmd->FilterParmsIndex]; - -: 529: - 1: 530: pFilterParms->Algorithm_N = DS_FilterParmsCmd->Algorithm_N; - 1: 531: pFilterParms->Algorithm_X = DS_FilterParmsCmd->Algorithm_X; - 1: 532: pFilterParms->Algorithm_O = DS_FilterParmsCmd->Algorithm_O; - -: 533: - -: 534: /* - -: 535: ** Notify cFE that we have modified the table data... - -: 536: */ - 1: 537: CFE_TBL_Modified(DS_AppData.FilterTblHandle); - -: 538: - 1: 539: DS_AppData.CmdAcceptedCounter++; - -: 540: - 5: 541: CFE_EVS_SendEvent(DS_PARMS_CMD_EID, CFE_EVS_DEBUG, - -: 542: "FILTER PARMS command: MID = 0x%04X, index = %d, filter = %d, N = %d, X = %d, O = %d", - 2: 543: DS_FilterParmsCmd->MessageID, (int)FilterTableIndex, DS_FilterParmsCmd->FilterParmsIndex, - 3: 544: pFilterParms->Algorithm_N, pFilterParms->Algorithm_X, pFilterParms->Algorithm_O); - -: 545: } - -: 546: } - -: 547: - 8: 548: return; - -: 549: - -: 550:} /* End of DS_CmdSetFilterParms() */ - -: 551: - -: 552: - -: 553:/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ - -: 554:/* */ - -: 555:/* DS_CmdSetDestType() - set destination filename type */ - -: 556:/* */ - -: 557:/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ - -: 558: - 6: 559:void DS_CmdSetDestType(CFE_SB_MsgPtr_t MessagePtr) - -: 560:{ - 6: 561: DS_DestTypeCmd_t *DS_DestTypeCmd = (DS_DestTypeCmd_t *) MessagePtr; - 6: 562: uint16 ActualLength = CFE_SB_GetTotalMsgLength(MessagePtr); - 6: 563: uint16 ExpectedLength = sizeof(DS_DestTypeCmd_t); - -: 564: DS_DestFileEntry_t *pDest; - -: 565: - 6: 566: if (ExpectedLength != ActualLength) - -: 567: { - -: 568: /* - -: 569: ** Invalid command packet length... - -: 570: */ - 1: 571: DS_AppData.CmdRejectedCounter++; - -: 572: - 1: 573: CFE_EVS_SendEvent(DS_NTYPE_CMD_ERR_EID, CFE_EVS_ERROR, - -: 574: "Invalid DEST TYPE command length: expected = %d, actual = %d", - -: 575: ExpectedLength, ActualLength); - -: 576: } - 5: 577: else if (DS_TableVerifyFileIndex(DS_DestTypeCmd->FileTableIndex) == FALSE) - -: 578: { - -: 579: /* - -: 580: ** Invalid destination file table index... - -: 581: */ - 1: 582: DS_AppData.CmdRejectedCounter++; - -: 583: - 1: 584: CFE_EVS_SendEvent(DS_NTYPE_CMD_ERR_EID, CFE_EVS_ERROR, - -: 585: "Invalid DEST TYPE command arg: file table index = %d", - 1: 586: DS_DestTypeCmd->FileTableIndex); - -: 587: } - 4: 588: else if (DS_TableVerifyType(DS_DestTypeCmd->FileNameType) == FALSE) - -: 589: { - -: 590: /* - -: 591: ** Invalid destination filename type... - -: 592: */ - 2: 593: DS_AppData.CmdRejectedCounter++; - -: 594: - 2: 595: CFE_EVS_SendEvent(DS_NTYPE_CMD_ERR_EID, CFE_EVS_ERROR, - -: 596: "Invalid DEST TYPE command arg: filename type = %d", - 2: 597: DS_DestTypeCmd->FileNameType); - -: 598: } - 2: 599: else if (DS_AppData.DestFileTblPtr == (DS_DestFileTable_t *) NULL) - -: 600: { - -: 601: /* - -: 602: ** Must have a valid destination file table loaded... - -: 603: */ - 1: 604: DS_AppData.CmdRejectedCounter++; - -: 605: - 1: 606: CFE_EVS_SendEvent(DS_NTYPE_CMD_ERR_EID, CFE_EVS_ERROR, - -: 607: "Invalid DEST TYPE command: destination file table is not loaded"); - -: 608: } - -: 609: else - -: 610: { - -: 611: /* - -: 612: ** Set new destination table filename type... - -: 613: */ - 1: 614: pDest = &DS_AppData.DestFileTblPtr->File[DS_DestTypeCmd->FileTableIndex]; - 1: 615: pDest->FileNameType = DS_DestTypeCmd->FileNameType; - -: 616: - -: 617: /* - -: 618: ** Notify cFE that we have modified the table data... - -: 619: */ - 1: 620: CFE_TBL_Modified(DS_AppData.DestFileTblHandle); - -: 621: - 1: 622: DS_AppData.CmdAcceptedCounter++; - -: 623: - 2: 624: CFE_EVS_SendEvent(DS_NTYPE_CMD_EID, CFE_EVS_DEBUG, - -: 625: "DEST TYPE command: file table index = %d, filename type = %d", - 2: 626: DS_DestTypeCmd->FileTableIndex, DS_DestTypeCmd->FileNameType); - -: 627: } - -: 628: - 6: 629: return; - -: 630: - -: 631:} /* End of DS_CmdSetDestType() */ - -: 632: - -: 633: - -: 634:/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ - -: 635:/* */ - -: 636:/* DS_CmdSetDestState() - set dest file ena/dis state */ - -: 637:/* */ - -: 638:/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ - -: 639: - 6: 640:void DS_CmdSetDestState(CFE_SB_MsgPtr_t MessagePtr) - -: 641:{ - 6: 642: DS_DestStateCmd_t *DS_DestStateCmd = (DS_DestStateCmd_t *) MessagePtr; - 6: 643: uint16 ActualLength = CFE_SB_GetTotalMsgLength(MessagePtr); - 6: 644: uint16 ExpectedLength = sizeof(DS_DestStateCmd_t); - -: 645: - 6: 646: if (ExpectedLength != ActualLength) - -: 647: { - -: 648: /* - -: 649: ** Invalid command packet length... - -: 650: */ - 1: 651: DS_AppData.CmdRejectedCounter++; - -: 652: - 1: 653: CFE_EVS_SendEvent(DS_STATE_CMD_ERR_EID, CFE_EVS_ERROR, - -: 654: "Invalid DEST STATE command length: expected = %d, actual = %d", - -: 655: ExpectedLength, ActualLength); - -: 656: } - 5: 657: else if (DS_TableVerifyFileIndex(DS_DestStateCmd->FileTableIndex) == FALSE) - -: 658: { - -: 659: /* - -: 660: ** Invalid destination file table index... - -: 661: */ - 1: 662: DS_AppData.CmdRejectedCounter++; - -: 663: - 1: 664: CFE_EVS_SendEvent(DS_STATE_CMD_ERR_EID, CFE_EVS_ERROR, - -: 665: "Invalid DEST STATE command arg: file table index = %d", - 1: 666: DS_DestStateCmd->FileTableIndex); - -: 667: } - 4: 668: else if (DS_TableVerifyState(DS_DestStateCmd->EnableState) == FALSE) - -: 669: { - -: 670: /* - -: 671: ** Invalid destination file state... - -: 672: */ - 1: 673: DS_AppData.CmdRejectedCounter++; - -: 674: - 1: 675: CFE_EVS_SendEvent(DS_STATE_CMD_ERR_EID, CFE_EVS_ERROR, - -: 676: "Invalid DEST STATE command arg: file state = %d", - 1: 677: DS_DestStateCmd->EnableState); - -: 678: } - 3: 679: else if (DS_AppData.DestFileTblPtr == (DS_DestFileTable_t *) NULL) - -: 680: { - -: 681: /* - -: 682: ** Must have a valid destination file table loaded... - -: 683: */ - 2: 684: DS_AppData.CmdRejectedCounter++; - -: 685: - 2: 686: CFE_EVS_SendEvent(DS_STATE_CMD_ERR_EID, CFE_EVS_ERROR, - -: 687: "Invalid DEST STATE command: destination file table is not loaded"); - -: 688: } - -: 689: else - -: 690: { - -: 691: /* - -: 692: ** Set new destination table file state in table and in current status... - -: 693: */ - 1: 694: DS_AppData.DestFileTblPtr->File[DS_DestStateCmd->FileTableIndex].EnableState = DS_DestStateCmd->EnableState; - 1: 695: DS_AppData.FileStatus[DS_DestStateCmd->FileTableIndex].FileState = DS_DestStateCmd->EnableState; - -: 696: - -: 697: /* - -: 698: ** Notify cFE that we have modified the table data... - -: 699: */ - 1: 700: CFE_TBL_Modified(DS_AppData.DestFileTblHandle); - -: 701: - 1: 702: DS_AppData.CmdAcceptedCounter++; - -: 703: - 2: 704: CFE_EVS_SendEvent(DS_STATE_CMD_EID, CFE_EVS_DEBUG, - -: 705: "DEST STATE command: file table index = %d, file state = %d", - 2: 706: DS_DestStateCmd->FileTableIndex, DS_DestStateCmd->EnableState); - -: 707: } - -: 708: - 6: 709: return; - -: 710: - -: 711:} /* End of DS_CmdSetDestState() */ - -: 712: - -: 713: - -: 714:/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ - -: 715:/* */ - -: 716:/* DS_CmdSetDestPath() - set path portion of filename */ - -: 717:/* */ - -: 718:/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ - -: 719: - 6: 720:void DS_CmdSetDestPath(CFE_SB_MsgPtr_t MessagePtr) - -: 721:{ - 6: 722: DS_DestPathCmd_t *DS_DestPathCmd = (DS_DestPathCmd_t *) MessagePtr; - 6: 723: uint16 ActualLength = CFE_SB_GetTotalMsgLength(MessagePtr); - 6: 724: uint16 ExpectedLength = sizeof(DS_DestPathCmd_t); - -: 725: DS_DestFileEntry_t *pDest; - -: 726: - 6: 727: if (ExpectedLength != ActualLength) - -: 728: { - -: 729: /* - -: 730: ** Invalid command packet length... - -: 731: */ - 1: 732: DS_AppData.CmdRejectedCounter++; - -: 733: - 1: 734: CFE_EVS_SendEvent(DS_PATH_CMD_ERR_EID, CFE_EVS_ERROR, - -: 735: "Invalid DEST PATH command length: expected = %d, actual = %d", - -: 736: ExpectedLength, ActualLength); - -: 737: } - 5: 738: else if (DS_TableVerifyFileIndex(DS_DestPathCmd->FileTableIndex) == FALSE) - -: 739: { - -: 740: /* - -: 741: ** Invalid destination file table index... - -: 742: */ - 1: 743: DS_AppData.CmdRejectedCounter++; - -: 744: - 1: 745: CFE_EVS_SendEvent(DS_PATH_CMD_ERR_EID, CFE_EVS_ERROR, - -: 746: "Invalid DEST PATH command arg: file table index = %d", - -: 747: (int)DS_DestPathCmd->FileTableIndex); - -: 748: } - 4: 749: else if (CFS_VerifyString(DS_DestPathCmd->Pathname, DS_PATHNAME_BUFSIZE, - -: 750: DS_STRING_REQUIRED, DS_FILENAME_TEXT) == FALSE) - -: 751: { - -: 752: /* - -: 753: ** Invalid destination pathname... - -: 754: */ - 2: 755: DS_AppData.CmdRejectedCounter++; - -: 756: - 2: 757: CFE_EVS_SendEvent(DS_PATH_CMD_ERR_EID, CFE_EVS_ERROR, - -: 758: "Invalid DEST PATH command arg: pathname"); - -: 759: } - 2: 760: else if (DS_AppData.DestFileTblPtr == (DS_DestFileTable_t *) NULL) - -: 761: { - -: 762: /* - -: 763: ** Must have a valid destination file table loaded... - -: 764: */ - 1: 765: DS_AppData.CmdRejectedCounter++; - -: 766: - 1: 767: CFE_EVS_SendEvent(DS_PATH_CMD_ERR_EID, CFE_EVS_ERROR, - -: 768: "Invalid DEST PATH command: destination file table is not loaded"); - -: 769: } - -: 770: else - -: 771: { - -: 772: /* - -: 773: ** Set path portion of destination table filename... - -: 774: */ - 1: 775: pDest = &DS_AppData.DestFileTblPtr->File[DS_DestPathCmd->FileTableIndex]; - 1: 776: strcpy(pDest->Pathname, DS_DestPathCmd->Pathname); - -: 777: - -: 778: /* - -: 779: ** Notify cFE that we have modified the table data... - -: 780: */ - 1: 781: CFE_TBL_Modified(DS_AppData.DestFileTblHandle); - -: 782: - 1: 783: DS_AppData.CmdAcceptedCounter++; - -: 784: - 1: 785: CFE_EVS_SendEvent(DS_PATH_CMD_EID, CFE_EVS_DEBUG, - -: 786: "DEST PATH command: file table index = %d, pathname = '%s'", - -: 787: (int)DS_DestPathCmd->FileTableIndex, DS_DestPathCmd->Pathname); - -: 788: } - -: 789: - 6: 790: return; - -: 791: - -: 792:} /* End of DS_CmdSetDestPath() */ - -: 793: - -: 794: - -: 795:/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ - -: 796:/* */ - -: 797:/* DS_CmdSetDestBase() - set base portion of filename */ - -: 798:/* */ - -: 799:/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ - -: 800: - 6: 801:void DS_CmdSetDestBase(CFE_SB_MsgPtr_t MessagePtr) - -: 802:{ - 6: 803: DS_DestBaseCmd_t *DS_DestBaseCmd = (DS_DestBaseCmd_t *) MessagePtr; - 6: 804: uint16 ActualLength = CFE_SB_GetTotalMsgLength(MessagePtr); - 6: 805: uint16 ExpectedLength = sizeof(DS_DestBaseCmd_t); - -: 806: DS_DestFileEntry_t *pDest; - -: 807: - 6: 808: if (ExpectedLength != ActualLength) - -: 809: { - -: 810: /* - -: 811: ** Invalid command packet length... - -: 812: */ - 1: 813: DS_AppData.CmdRejectedCounter++; - -: 814: - 1: 815: CFE_EVS_SendEvent(DS_BASE_CMD_ERR_EID, CFE_EVS_ERROR, - -: 816: "Invalid DEST BASE command length: expected = %d, actual = %d", - -: 817: ExpectedLength, ActualLength); - -: 818: } - 5: 819: else if (DS_TableVerifyFileIndex(DS_DestBaseCmd->FileTableIndex) == FALSE) - -: 820: { - -: 821: /* - -: 822: ** Invalid destination file table index... - -: 823: */ - 1: 824: DS_AppData.CmdRejectedCounter++; - -: 825: - 1: 826: CFE_EVS_SendEvent(DS_BASE_CMD_ERR_EID, CFE_EVS_ERROR, - -: 827: "Invalid DEST BASE command arg: file table index = %d", - -: 828: (int)DS_DestBaseCmd->FileTableIndex); - -: 829: } - 4: 830: else if (CFS_VerifyString(DS_DestBaseCmd->Basename, DS_BASENAME_BUFSIZE, - -: 831: DS_STRING_OPTIONAL, DS_FILENAME_TEXT) == FALSE) - -: 832: { - -: 833: /* - -: 834: ** Invalid destination base filename... - -: 835: */ - 1: 836: DS_AppData.CmdRejectedCounter++; - -: 837: - 1: 838: CFE_EVS_SendEvent(DS_BASE_CMD_ERR_EID, CFE_EVS_ERROR, - -: 839: "Invalid DEST BASE command arg: base filename"); - -: 840: } - 3: 841: else if (DS_AppData.DestFileTblPtr == (DS_DestFileTable_t *) NULL) - -: 842: { - -: 843: /* - -: 844: ** Must have a valid destination file table loaded... - -: 845: */ - 2: 846: DS_AppData.CmdRejectedCounter++; - -: 847: - 2: 848: CFE_EVS_SendEvent(DS_BASE_CMD_ERR_EID, CFE_EVS_ERROR, - -: 849: "Invalid DEST BASE command: destination file table is not loaded"); - -: 850: } - -: 851: else - -: 852: { - -: 853: /* - -: 854: ** Set base portion of destination table filename... - -: 855: */ - 1: 856: pDest = &DS_AppData.DestFileTblPtr->File[DS_DestBaseCmd->FileTableIndex]; - 1: 857: strcpy(pDest->Basename, DS_DestBaseCmd->Basename); - -: 858: - -: 859: /* - -: 860: ** Notify cFE that we have modified the table data... - -: 861: */ - 1: 862: CFE_TBL_Modified(DS_AppData.DestFileTblHandle); - -: 863: - 1: 864: DS_AppData.CmdAcceptedCounter++; - -: 865: - 1: 866: CFE_EVS_SendEvent(DS_BASE_CMD_EID, CFE_EVS_DEBUG, - -: 867: "DEST BASE command: file table index = %d, base filename = '%s'", - -: 868: (int)DS_DestBaseCmd->FileTableIndex, DS_DestBaseCmd->Basename); - -: 869: } - -: 870: - 6: 871: return; - -: 872: - -: 873:} /* End of DS_CmdSetDestBase() */ - -: 874: - -: 875: - -: 876:/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ - -: 877:/* */ - -: 878:/* DS_CmdSetDestExt() - set extension portion of filename */ - -: 879:/* */ - -: 880:/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ - -: 881: - 6: 882:void DS_CmdSetDestExt(CFE_SB_MsgPtr_t MessagePtr) - -: 883:{ - 6: 884: DS_DestExtCmd_t *DS_DestExtCmd = (DS_DestExtCmd_t *) MessagePtr; - 6: 885: uint16 ActualLength = CFE_SB_GetTotalMsgLength(MessagePtr); - 6: 886: uint16 ExpectedLength = sizeof(DS_DestExtCmd_t); - -: 887: DS_DestFileEntry_t *pDest; - -: 888: - 6: 889: if (ExpectedLength != ActualLength) - -: 890: { - -: 891: /* - -: 892: ** Invalid command packet length... - -: 893: */ - 1: 894: DS_AppData.CmdRejectedCounter++; - -: 895: - 1: 896: CFE_EVS_SendEvent(DS_EXT_CMD_ERR_EID, CFE_EVS_ERROR, - -: 897: "Invalid DEST EXT command length: expected = %d, actual = %d", - -: 898: ExpectedLength, ActualLength); - -: 899: } - 5: 900: else if (DS_TableVerifyFileIndex(DS_DestExtCmd->FileTableIndex) == FALSE) - -: 901: { - -: 902: /* - -: 903: ** Invalid destination file table index... - -: 904: */ - 1: 905: DS_AppData.CmdRejectedCounter++; - -: 906: - 1: 907: CFE_EVS_SendEvent(DS_EXT_CMD_ERR_EID, CFE_EVS_ERROR, - -: 908: "Invalid DEST EXT command arg: file table index = %d", - -: 909: (int)DS_DestExtCmd->FileTableIndex); - -: 910: } - 4: 911: else if (CFS_VerifyString(DS_DestExtCmd->Extension, DS_EXTENSION_BUFSIZE, - -: 912: DS_STRING_OPTIONAL, DS_FILENAME_TEXT) == FALSE) - -: 913: { - -: 914: /* - -: 915: ** Invalid destination filename extension... - -: 916: */ - 1: 917: DS_AppData.CmdRejectedCounter++; - -: 918: - 1: 919: CFE_EVS_SendEvent(DS_EXT_CMD_ERR_EID, CFE_EVS_ERROR, - -: 920: "Invalid DEST EXT command arg: extension"); - -: 921: } - 3: 922: else if (DS_AppData.DestFileTblPtr == (DS_DestFileTable_t *) NULL) - -: 923: { - -: 924: /* - -: 925: ** Must have a valid destination file table loaded... - -: 926: */ - 2: 927: DS_AppData.CmdRejectedCounter++; - -: 928: - 2: 929: CFE_EVS_SendEvent(DS_EXT_CMD_ERR_EID, CFE_EVS_ERROR, - -: 930: "Invalid DEST EXT command: destination file table is not loaded"); - -: 931: } - -: 932: else - -: 933: { - -: 934: /* - -: 935: ** Set extension portion of destination table filename... - -: 936: */ - 1: 937: pDest = &DS_AppData.DestFileTblPtr->File[DS_DestExtCmd->FileTableIndex]; - 1: 938: strcpy(pDest->Extension, DS_DestExtCmd->Extension); - -: 939: - -: 940: /* - -: 941: ** Notify cFE that we have modified the table data... - -: 942: */ - 1: 943: CFE_TBL_Modified(DS_AppData.DestFileTblHandle); - -: 944: - 1: 945: DS_AppData.CmdAcceptedCounter++; - -: 946: - 1: 947: CFE_EVS_SendEvent(DS_EXT_CMD_EID, CFE_EVS_DEBUG, - -: 948: "DEST EXT command: file table index = %d, extension = '%s'", - -: 949: (int)DS_DestExtCmd->FileTableIndex, DS_DestExtCmd->Extension); - -: 950: } - -: 951: - 6: 952: return; - -: 953: - -: 954:} /* End of DS_CmdSetDestExt() */ - -: 955: - -: 956: - -: 957:/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ - -: 958:/* */ - -: 959:/* DS_CmdSetDestSize() - set maximum file size limit */ - -: 960:/* */ - -: 961:/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ - -: 962: - 6: 963:void DS_CmdSetDestSize(CFE_SB_MsgPtr_t MessagePtr) - -: 964:{ - 6: 965: DS_DestSizeCmd_t *DS_DestSizeCmd = (DS_DestSizeCmd_t *) MessagePtr; - 6: 966: uint16 ActualLength = CFE_SB_GetTotalMsgLength(MessagePtr); - 6: 967: uint16 ExpectedLength = sizeof(DS_DestSizeCmd_t); - -: 968: DS_DestFileEntry_t *pDest; - -: 969: - 6: 970: if (ExpectedLength != ActualLength) - -: 971: { - -: 972: /* - -: 973: ** Invalid command packet length... - -: 974: */ - 1: 975: DS_AppData.CmdRejectedCounter++; - -: 976: - 1: 977: CFE_EVS_SendEvent(DS_SIZE_CMD_ERR_EID, CFE_EVS_ERROR, - -: 978: "Invalid DEST SIZE command length: expected = %d, actual = %d", - -: 979: ExpectedLength, ActualLength); - -: 980: } - 5: 981: else if (DS_TableVerifyFileIndex(DS_DestSizeCmd->FileTableIndex) == FALSE) - -: 982: { - -: 983: /* - -: 984: ** Invalid destination file table index... - -: 985: */ - 1: 986: DS_AppData.CmdRejectedCounter++; - -: 987: - 1: 988: CFE_EVS_SendEvent(DS_SIZE_CMD_ERR_EID, CFE_EVS_ERROR, - -: 989: "Invalid DEST SIZE command arg: file table index = %d", - -: 990: (int)DS_DestSizeCmd->FileTableIndex); - -: 991: } - 4: 992: else if (DS_TableVerifySize(DS_DestSizeCmd->MaxFileSize) == FALSE) - -: 993: { - -: 994: /* - -: 995: ** Invalid destination file size limit... - -: 996: */ - 2: 997: DS_AppData.CmdRejectedCounter++; - -: 998: - 2: 999: CFE_EVS_SendEvent(DS_SIZE_CMD_ERR_EID, CFE_EVS_ERROR, - -: 1000: "Invalid DEST SIZE command arg: size limit = %d", - -: 1001: (int)DS_DestSizeCmd->MaxFileSize); - -: 1002: } - 2: 1003: else if (DS_AppData.DestFileTblPtr == (DS_DestFileTable_t *) NULL) - -: 1004: { - -: 1005: /* - -: 1006: ** Must have a valid destination file table loaded... - -: 1007: */ - 1: 1008: DS_AppData.CmdRejectedCounter++; - -: 1009: - 1: 1010: CFE_EVS_SendEvent(DS_SIZE_CMD_ERR_EID, CFE_EVS_ERROR, - -: 1011: "Invalid DEST SIZE command: destination file table is not loaded"); - -: 1012: } - -: 1013: else - -: 1014: { - -: 1015: /* - -: 1016: ** Set size limit for destination file... - -: 1017: */ - 1: 1018: pDest = &DS_AppData.DestFileTblPtr->File[DS_DestSizeCmd->FileTableIndex]; - 1: 1019: pDest->MaxFileSize = DS_DestSizeCmd->MaxFileSize; - -: 1020: - -: 1021: /* - -: 1022: ** Notify cFE that we have modified the table data... - -: 1023: */ - 1: 1024: CFE_TBL_Modified(DS_AppData.DestFileTblHandle); - -: 1025: - 1: 1026: DS_AppData.CmdAcceptedCounter++; - -: 1027: - 1: 1028: CFE_EVS_SendEvent(DS_SIZE_CMD_EID, CFE_EVS_DEBUG, - -: 1029: "DEST SIZE command: file table index = %d, size limit = %d", - -: 1030: (int)DS_DestSizeCmd->FileTableIndex, (int)DS_DestSizeCmd->MaxFileSize); - -: 1031: } - -: 1032: - 6: 1033: return; - -: 1034: - -: 1035:} /* End of DS_CmdSetDestSize() */ - -: 1036: - -: 1037: - -: 1038:/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ - -: 1039:/* */ - -: 1040:/* DS_CmdSetDestAge() - set maximum file age limit */ - -: 1041:/* */ - -: 1042:/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ - -: 1043: - 6: 1044:void DS_CmdSetDestAge(CFE_SB_MsgPtr_t MessagePtr) - -: 1045:{ - 6: 1046: DS_DestAgeCmd_t *DS_DestAgeCmd = (DS_DestAgeCmd_t *) MessagePtr; - 6: 1047: uint16 ActualLength = CFE_SB_GetTotalMsgLength(MessagePtr); - 6: 1048: uint16 ExpectedLength = sizeof(DS_DestAgeCmd_t); - -: 1049: DS_DestFileEntry_t *pDest; - -: 1050: - 6: 1051: if (ExpectedLength != ActualLength) - -: 1052: { - -: 1053: /* - -: 1054: ** Invalid command packet length... - -: 1055: */ - 1: 1056: DS_AppData.CmdRejectedCounter++; - -: 1057: - 1: 1058: CFE_EVS_SendEvent(DS_AGE_CMD_ERR_EID, CFE_EVS_ERROR, - -: 1059: "Invalid DEST AGE command length: expected = %d, actual = %d", - -: 1060: ExpectedLength, ActualLength); - -: 1061: } - 5: 1062: else if (DS_TableVerifyFileIndex(DS_DestAgeCmd->FileTableIndex) == FALSE) - -: 1063: { - -: 1064: /* - -: 1065: ** Invalid destination file table index... - -: 1066: */ - 1: 1067: DS_AppData.CmdRejectedCounter++; - -: 1068: - 1: 1069: CFE_EVS_SendEvent(DS_AGE_CMD_ERR_EID, CFE_EVS_ERROR, - -: 1070: "Invalid DEST AGE command arg: file table index = %d", - -: 1071: (int)DS_DestAgeCmd->FileTableIndex); - -: 1072: } - 4: 1073: else if (DS_TableVerifyAge(DS_DestAgeCmd->MaxFileAge) == FALSE) - -: 1074: { - -: 1075: /* - -: 1076: ** Invalid destination file age limit... - -: 1077: */ - 2: 1078: DS_AppData.CmdRejectedCounter++; - -: 1079: - 2: 1080: CFE_EVS_SendEvent(DS_AGE_CMD_ERR_EID, CFE_EVS_ERROR, - -: 1081: "Invalid DEST AGE command arg: age limit = %d", - -: 1082: (int)DS_DestAgeCmd->MaxFileAge); - -: 1083: } - 2: 1084: else if (DS_AppData.DestFileTblPtr == (DS_DestFileTable_t *) NULL) - -: 1085: { - -: 1086: /* - -: 1087: ** Must have a valid destination file table loaded... - -: 1088: */ - 1: 1089: DS_AppData.CmdRejectedCounter++; - -: 1090: - 1: 1091: CFE_EVS_SendEvent(DS_AGE_CMD_ERR_EID, CFE_EVS_ERROR, - -: 1092: "Invalid DEST AGE command: destination file table is not loaded"); - -: 1093: } - -: 1094: else - -: 1095: { - -: 1096: /* - -: 1097: ** Set age limit for destination file... - -: 1098: */ - 1: 1099: pDest = &DS_AppData.DestFileTblPtr->File[DS_DestAgeCmd->FileTableIndex]; - 1: 1100: pDest->MaxFileAge = DS_DestAgeCmd->MaxFileAge; - -: 1101: - -: 1102: /* - -: 1103: ** Notify cFE that we have modified the table data... - -: 1104: */ - 1: 1105: CFE_TBL_Modified(DS_AppData.DestFileTblHandle); - -: 1106: - 1: 1107: DS_AppData.CmdAcceptedCounter++; - -: 1108: - 1: 1109: CFE_EVS_SendEvent(DS_AGE_CMD_EID, CFE_EVS_DEBUG, - -: 1110: "DEST AGE command: file table index = %d, age limit = %d", - -: 1111: (int)DS_DestAgeCmd->FileTableIndex, (int)DS_DestAgeCmd->MaxFileAge); - -: 1112: } - -: 1113: - 6: 1114: return; - -: 1115: - -: 1116:} /* End of DS_CmdSetDestAge() */ - -: 1117: - -: 1118: - -: 1119:/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ - -: 1120:/* */ - -: 1121:/* DS_CmdSetDestCount() - set seq cnt portion of filename */ - -: 1122:/* */ - -: 1123:/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ - -: 1124: - 6: 1125:void DS_CmdSetDestCount(CFE_SB_MsgPtr_t MessagePtr) - -: 1126:{ - 6: 1127: DS_DestCountCmd_t *DS_DestCountCmd = (DS_DestCountCmd_t *) MessagePtr; - 6: 1128: uint16 ActualLength = CFE_SB_GetTotalMsgLength(MessagePtr); - 6: 1129: uint16 ExpectedLength = sizeof(DS_DestCountCmd_t); - -: 1130: DS_AppFileStatus_t *FileStatus; - -: 1131: DS_DestFileEntry_t *DestFile; - -: 1132: - 6: 1133: if (ExpectedLength != ActualLength) - -: 1134: { - -: 1135: /* - -: 1136: ** Invalid command packet length... - -: 1137: */ - 1: 1138: DS_AppData.CmdRejectedCounter++; - -: 1139: - 1: 1140: CFE_EVS_SendEvent(DS_SEQ_CMD_ERR_EID, CFE_EVS_ERROR, - -: 1141: "Invalid DEST COUNT command length: expected = %d, actual = %d", - -: 1142: ExpectedLength, ActualLength); - -: 1143: } - 5: 1144: else if (DS_TableVerifyFileIndex(DS_DestCountCmd->FileTableIndex) == FALSE) - -: 1145: { - -: 1146: /* - -: 1147: ** Invalid destination file table index... - -: 1148: */ - 1: 1149: DS_AppData.CmdRejectedCounter++; - -: 1150: - 1: 1151: CFE_EVS_SendEvent(DS_SEQ_CMD_ERR_EID, CFE_EVS_ERROR, - -: 1152: "Invalid DEST COUNT command arg: file table index = %d", - -: 1153: (int)DS_DestCountCmd->FileTableIndex); - -: 1154: } - 4: 1155: else if (DS_TableVerifyCount(DS_DestCountCmd->SequenceCount) == FALSE) - -: 1156: { - -: 1157: /* - -: 1158: ** Invalid destination file sequence count... - -: 1159: */ - 1: 1160: DS_AppData.CmdRejectedCounter++; - -: 1161: - 1: 1162: CFE_EVS_SendEvent(DS_SEQ_CMD_ERR_EID, CFE_EVS_ERROR, - -: 1163: "Invalid DEST COUNT command arg: sequence count = %d", - -: 1164: (int)DS_DestCountCmd->SequenceCount); - -: 1165: } - 3: 1166: else if (DS_AppData.DestFileTblPtr == (DS_DestFileTable_t *) NULL) - -: 1167: { - -: 1168: /* - -: 1169: ** Must have a valid destination file table loaded... - -: 1170: */ - 2: 1171: DS_AppData.CmdRejectedCounter++; - -: 1172: - 2: 1173: CFE_EVS_SendEvent(DS_SEQ_CMD_ERR_EID, CFE_EVS_ERROR, - -: 1174: "Invalid DEST COUNT command: destination file table is not loaded"); - -: 1175: } - -: 1176: else - -: 1177: { - -: 1178: /* - -: 1179: ** Set next sequence count for destination file... - -: 1180: */ - 1: 1181: DestFile = &DS_AppData.DestFileTblPtr->File[DS_DestCountCmd->FileTableIndex]; - 1: 1182: FileStatus = &DS_AppData.FileStatus[DS_DestCountCmd->FileTableIndex]; - -: 1183: - -: 1184: /* - -: 1185: ** Update both destination file table and current status... - -: 1186: */ - 1: 1187: DestFile->SequenceCount = DS_DestCountCmd->SequenceCount; - 1: 1188: FileStatus->FileCount = DS_DestCountCmd->SequenceCount; - -: 1189: - -: 1190: /* - -: 1191: ** Notify cFE that we have modified the table data... - -: 1192: */ - 1: 1193: CFE_TBL_Modified(DS_AppData.DestFileTblHandle); - -: 1194: - -: 1195: /* - -: 1196: ** Update the Critical Data Store (CDS)... - -: 1197: */ - 1: 1198: DS_TableUpdateCDS(); - -: 1199: - 1: 1200: DS_AppData.CmdAcceptedCounter++; - -: 1201: - 1: 1202: CFE_EVS_SendEvent(DS_SEQ_CMD_EID, CFE_EVS_DEBUG, - -: 1203: "DEST COUNT command: file table index = %d, sequence count = %d", - -: 1204: (int)DS_DestCountCmd->FileTableIndex, (int)DS_DestCountCmd->SequenceCount); - -: 1205: } - -: 1206: - 6: 1207: return; - -: 1208: - -: 1209:} /* End of DS_CmdSetDestCount() */ - -: 1210: - -: 1211: - -: 1212:/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ - -: 1213:/* */ - -: 1214:/* DS_CmdCloseFile() - close destination file */ - -: 1215:/* */ - -: 1216:/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ - -: 1217: - 4: 1218:void DS_CmdCloseFile(CFE_SB_MsgPtr_t MessagePtr) - -: 1219:{ - 4: 1220: DS_CloseFileCmd_t *DS_CloseFileCmd = (DS_CloseFileCmd_t *) MessagePtr; - 4: 1221: uint16 ActualLength = CFE_SB_GetTotalMsgLength(MessagePtr); - 4: 1222: uint16 ExpectedLength = sizeof(DS_CloseFileCmd_t); - -: 1223: - 4: 1224: if (ExpectedLength != ActualLength) - -: 1225: { - -: 1226: /* - -: 1227: ** Invalid command packet length... - -: 1228: */ - 1: 1229: DS_AppData.CmdRejectedCounter++; - -: 1230: - 1: 1231: CFE_EVS_SendEvent(DS_CLOSE_CMD_ERR_EID, CFE_EVS_ERROR, - -: 1232: "Invalid DEST CLOSE command length: expected = %d, actual = %d", - -: 1233: ExpectedLength, ActualLength); - -: 1234: } - 3: 1235: else if (DS_TableVerifyFileIndex(DS_CloseFileCmd->FileTableIndex) == FALSE) - -: 1236: { - -: 1237: /* - -: 1238: ** Invalid destination file table index... - -: 1239: */ - 1: 1240: DS_AppData.CmdRejectedCounter++; - -: 1241: - 1: 1242: CFE_EVS_SendEvent(DS_CLOSE_CMD_ERR_EID, CFE_EVS_ERROR, - -: 1243: "Invalid DEST CLOSE command arg: file table index = %d", - -: 1244: (int)DS_CloseFileCmd->FileTableIndex); - -: 1245: } - -: 1246: else - -: 1247: { - -: 1248: /* - -: 1249: ** Close destination file (if the file was open)... - -: 1250: */ - 2: 1251: if (DS_AppData.FileStatus[DS_CloseFileCmd->FileTableIndex].FileHandle != DS_CLOSED_FILE_HANDLE) - -: 1252: { - 1: 1253: DS_FileUpdateHeader(DS_CloseFileCmd->FileTableIndex); - 1: 1254: DS_FileCloseDest(DS_CloseFileCmd->FileTableIndex); - -: 1255: } - -: 1256: - 2: 1257: DS_AppData.CmdAcceptedCounter++; - -: 1258: - 2: 1259: CFE_EVS_SendEvent(DS_CLOSE_CMD_EID, CFE_EVS_DEBUG, - -: 1260: "DEST CLOSE command: file table index = %d", - -: 1261: (int)DS_CloseFileCmd->FileTableIndex); - -: 1262: } - -: 1263: - 4: 1264: return; - -: 1265: - -: 1266:} /* End of DS_CmdCloseFile() */ - -: 1267: - -: 1268: - -: 1269:/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ - -: 1270:/* */ - -: 1271:/* DS_CmdCloseAll() - close all open destination files */ - -: 1272:/* */ - -: 1273:/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ - -: 1274: - 3: 1275:void DS_CmdCloseAll(CFE_SB_MsgPtr_t MessagePtr) - -: 1276:{ - 3: 1277: uint16 ActualLength = CFE_SB_GetTotalMsgLength(MessagePtr); - 3: 1278: uint16 ExpectedLength = sizeof(DS_CloseAllCmd_t); - -: 1279: int32 i; - -: 1280: - 3: 1281: if (ExpectedLength != ActualLength) - -: 1282: { - -: 1283: /* - -: 1284: ** Invalid command packet length... - -: 1285: */ - 1: 1286: DS_AppData.CmdRejectedCounter++; - -: 1287: - 1: 1288: CFE_EVS_SendEvent(DS_CLOSE_ALL_CMD_ERR_EID, CFE_EVS_ERROR, - -: 1289: "Invalid DEST CLOSE ALL command length: expected = %d, actual = %d", - -: 1290: ExpectedLength, ActualLength); - -: 1291: } - -: 1292: else - -: 1293: { - -: 1294: /* - -: 1295: ** Close all open destination files... - -: 1296: */ - 34: 1297: for (i = 0; i < DS_DEST_FILE_CNT; i++) - -: 1298: { - 32: 1299: if (DS_AppData.FileStatus[i].FileHandle != DS_CLOSED_FILE_HANDLE) - -: 1300: { - 1: 1301: DS_FileUpdateHeader(i); - 1: 1302: DS_FileCloseDest(i); - -: 1303: } - -: 1304: } - -: 1305: - 2: 1306: DS_AppData.CmdAcceptedCounter++; - -: 1307: - 2: 1308: CFE_EVS_SendEvent(DS_CLOSE_ALL_CMD_EID, CFE_EVS_DEBUG, - -: 1309: "DEST CLOSE ALL command"); - -: 1310: } - -: 1311: - 3: 1312: return; - -: 1313: - -: 1314:} /* End of DS_CmdCloseAll() */ - -: 1315: - -: 1316: - -: 1317:/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ - -: 1318:/* */ - -: 1319:/* DS_CmdGetFileInfo() - get file info packet */ - -: 1320:/* */ - -: 1321:/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ - -: 1322: - 4: 1323:void DS_CmdGetFileInfo(CFE_SB_MsgPtr_t MessagePtr) - -: 1324:{ - -: 1325: DS_FileInfoPkt_t DS_FileInfoPkt; - 4: 1326: uint16 ActualLength = CFE_SB_GetTotalMsgLength(MessagePtr); - 4: 1327: uint16 ExpectedLength = sizeof(DS_GetFileInfoCmd_t); - -: 1328: int32 i; - -: 1329: - 4: 1330: if (ExpectedLength != ActualLength) - -: 1331: { - -: 1332: /* - -: 1333: ** Invalid command packet length... - -: 1334: */ - 1: 1335: DS_AppData.CmdRejectedCounter++; - -: 1336: - 1: 1337: CFE_EVS_SendEvent(DS_GET_FILE_INFO_CMD_ERR_EID, CFE_EVS_ERROR, - -: 1338: "Invalid GET FILE INFO command length: expected = %d, actual = %d", - -: 1339: ExpectedLength, ActualLength); - -: 1340: } - -: 1341: else - -: 1342: { - -: 1343: /* - -: 1344: ** Create and send a file info packet... - -: 1345: */ - 3: 1346: DS_AppData.CmdAcceptedCounter++; - -: 1347: - 3: 1348: CFE_EVS_SendEvent(DS_GET_FILE_INFO_CMD_EID, CFE_EVS_DEBUG, "GET FILE INFO command"); - -: 1349: - -: 1350: /* - -: 1351: ** Initialize file info telemetry packet... - -: 1352: */ - 3: 1353: CFE_SB_InitMsg(&DS_FileInfoPkt, DS_DIAG_TLM_MID, sizeof(DS_FileInfoPkt_t), TRUE); - -: 1354: - -: 1355: /* - -: 1356: ** Process array of destination file info data... - -: 1357: */ - 51: 1358: for (i = 0; i < DS_DEST_FILE_CNT; i++) - -: 1359: { - -: 1360: /* - -: 1361: ** Set file age and size... - -: 1362: */ - 48: 1363: DS_FileInfoPkt.FileInfo[i].FileAge = DS_AppData.FileStatus[i].FileAge; - 48: 1364: DS_FileInfoPkt.FileInfo[i].FileSize = DS_AppData.FileStatus[i].FileSize; - -: 1365: - -: 1366: /* - -: 1367: ** Set file growth rate (computed when process last HK request)... - -: 1368: */ - 48: 1369: DS_FileInfoPkt.FileInfo[i].FileRate = DS_AppData.FileStatus[i].FileRate; - -: 1370: - -: 1371: /* - -: 1372: ** Set current filename sequence count... - -: 1373: */ - 48: 1374: DS_FileInfoPkt.FileInfo[i].SequenceCount = DS_AppData.FileStatus[i].FileCount; - -: 1375: - -: 1376: /* - -: 1377: ** Set file enable/disable state... - -: 1378: */ - 48: 1379: if (DS_AppData.DestFileTblPtr == (DS_DestFileTable_t *) NULL) - -: 1380: { - 32: 1381: DS_FileInfoPkt.FileInfo[i].EnableState = DS_DISABLED; - -: 1382: } - -: 1383: else - -: 1384: { - 16: 1385: DS_FileInfoPkt.FileInfo[i].EnableState = DS_AppData.FileStatus[i].FileState; - -: 1386: } - -: 1387: - -: 1388: /* - -: 1389: ** Set file open/closed state... - -: 1390: */ - 48: 1391: if (DS_AppData.FileStatus[i].FileHandle == DS_CLOSED_FILE_HANDLE) - -: 1392: { - 16: 1393: DS_FileInfoPkt.FileInfo[i].OpenState = DS_CLOSED; - -: 1394: } - -: 1395: else - -: 1396: { - 32: 1397: DS_FileInfoPkt.FileInfo[i].OpenState = DS_OPEN; - -: 1398: - -: 1399: /* - -: 1400: ** Set current open filename... - -: 1401: */ - 32: 1402: strcpy(DS_FileInfoPkt.FileInfo[i].FileName, DS_AppData.FileStatus[i].FileName); - -: 1403: } - -: 1404: } - -: 1405: - -: 1406: /* - -: 1407: ** Timestamp and send file info telemetry packet... - -: 1408: */ - 3: 1409: CFE_SB_TimeStampMsg((CFE_SB_Msg_t *) &DS_FileInfoPkt); - 3: 1410: CFE_SB_SendMsg((CFE_SB_Msg_t *) &DS_FileInfoPkt); - -: 1411: } - -: 1412: - 4: 1413: return; - -: 1414: - -: 1415:} /* End of DS_CmdGetFileInfo() */ - -: 1416: - -: 1417: - -: 1418:/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ - -: 1419:/* */ - -: 1420:/* DS_CmdAddMID() - add message ID to packet filter table */ - -: 1421:/* */ - -: 1422:/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ - -: 1423: - 7: 1424:void DS_CmdAddMID(CFE_SB_MsgPtr_t MessagePtr) - -: 1425:{ - 7: 1426: DS_AddMidCmd_t *DS_AddMidCmd = (DS_AddMidCmd_t *) MessagePtr; - 7: 1427: uint16 ActualLength = CFE_SB_GetTotalMsgLength(MessagePtr); - 7: 1428: uint16 ExpectedLength = sizeof(DS_AddMidCmd_t); - -: 1429: DS_PacketEntry_t *pPacketEntry; - -: 1430: DS_FilterParms_t *pFilterParms; - -: 1431: int32 FilterTableIndex; - -: 1432: int32 HashTableIndex; - -: 1433: int32 i; - -: 1434: - 7: 1435: if (ExpectedLength != ActualLength) - -: 1436: { - -: 1437: /* - -: 1438: ** Invalid command packet length... - -: 1439: */ - 1: 1440: DS_AppData.CmdRejectedCounter++; - -: 1441: - 1: 1442: CFE_EVS_SendEvent(DS_ADD_MID_CMD_ERR_EID, CFE_EVS_ERROR, - -: 1443: "Invalid ADD MID command length: expected = %d, actual = %d", - -: 1444: ExpectedLength, ActualLength); - -: 1445: } - 6: 1446: else if (DS_AddMidCmd->MessageID == DS_UNUSED) - -: 1447: { - -: 1448: /* - -: 1449: ** Invalid packet message ID - can be anything but unused... - -: 1450: */ - 1: 1451: DS_AppData.CmdRejectedCounter++; - -: 1452: - 1: 1453: CFE_EVS_SendEvent(DS_ADD_MID_CMD_ERR_EID, CFE_EVS_ERROR, - -: 1454: "Invalid ADD MID command arg: invalid MID = 0x%4X", - 1: 1455: DS_AddMidCmd->MessageID); - -: 1456: } - 5: 1457: else if (DS_AppData.FilterTblPtr == (DS_FilterTable_t *) NULL) - -: 1458: { - -: 1459: /* - -: 1460: ** Must have a valid packet filter table loaded... - -: 1461: */ - 2: 1462: DS_AppData.CmdRejectedCounter++; - -: 1463: - 2: 1464: CFE_EVS_SendEvent(DS_ADD_MID_CMD_ERR_EID, CFE_EVS_ERROR, - -: 1465: "Invalid ADD MID command: filter table is not loaded"); - -: 1466: } - 3: 1467: else if ((FilterTableIndex = DS_TableFindMsgID(DS_AddMidCmd->MessageID)) != DS_INDEX_NONE) - -: 1468: { - -: 1469: /* - -: 1470: ** New message ID is already in packet filter table... - -: 1471: */ - 1: 1472: DS_AppData.CmdRejectedCounter++; - -: 1473: - 1: 1474: CFE_EVS_SendEvent(DS_ADD_MID_CMD_ERR_EID, CFE_EVS_ERROR, - -: 1475: "Invalid ADD MID command: MID = 0x%4X is already in filter table at index = %d", - 1: 1476: DS_AddMidCmd->MessageID, (int)FilterTableIndex); - -: 1477: } - 2: 1478: else if ((FilterTableIndex = DS_TableFindMsgID(DS_UNUSED)) == DS_INDEX_NONE) - -: 1479: { - -: 1480: /* - -: 1481: ** Packet filter table has no unused entries... - -: 1482: */ - 1: 1483: DS_AppData.CmdRejectedCounter++; - -: 1484: - 1: 1485: CFE_EVS_SendEvent(DS_ADD_MID_CMD_ERR_EID, CFE_EVS_ERROR, - -: 1486: "Invalid ADD MID command: filter table is full"); - -: 1487: } - -: 1488: else - -: 1489: { - -: 1490: /* - -: 1491: ** Initialize unused packet filter entry for new message ID... - -: 1492: */ - 1: 1493: pPacketEntry = &DS_AppData.FilterTblPtr->Packet[FilterTableIndex]; - -: 1494: - 1: 1495: pPacketEntry->MessageID = DS_AddMidCmd->MessageID; - -: 1496: - -: 1497: /* Add the message ID to the hash table as well */ - 1: 1498: HashTableIndex = DS_TableAddMsgID(DS_AddMidCmd->MessageID, FilterTableIndex); - -: 1499: - 5: 1500: for (i = 0; i < DS_FILTERS_PER_PACKET; i++) - -: 1501: { - 4: 1502: pFilterParms = &pPacketEntry->Filter[i]; - -: 1503: - 4: 1504: pFilterParms->FileTableIndex = 0; - 4: 1505: pFilterParms->FilterType = DS_BY_COUNT; - -: 1506: - 4: 1507: pFilterParms->Algorithm_N = 0; - 4: 1508: pFilterParms->Algorithm_X = 0; - 4: 1509: pFilterParms->Algorithm_O = 0; - -: 1510: } - -: 1511: - 1: 1512: CFE_SB_SubscribeEx(DS_AddMidCmd->MessageID, DS_AppData.InputPipe, - -: 1513: CFE_SB_Default_Qos, DS_PER_PACKET_PIPE_LIMIT); - -: 1514: /* - -: 1515: ** Notify cFE that we have modified the table data... - -: 1516: */ - 1: 1517: CFE_TBL_Modified(DS_AppData.FilterTblHandle); - -: 1518: - 1: 1519: DS_AppData.CmdAcceptedCounter++; - -: 1520: - 1: 1521: CFE_EVS_SendEvent(DS_ADD_MID_CMD_EID, CFE_EVS_DEBUG, - -: 1522: "ADD MID command: MID = 0x%04X, index = %d", - 1: 1523: DS_AddMidCmd->MessageID, (int)FilterTableIndex); - -: 1524: } - -: 1525: - 7: 1526: return; - -: 1527: - -: 1528:} /* End of DS_CmdAddMID() */ - -: 1529: - -: 1530: - -: 1531:/************************/ - -: 1532:/* End of File Comment */ - -: 1533:/************************/ diff --git a/fsw/unit_test/ds_cmds_test.c b/fsw/unit_test/ds_cmds_test.c deleted file mode 100644 index 6b05313..0000000 --- a/fsw/unit_test/ds_cmds_test.c +++ /dev/null @@ -1,2430 +0,0 @@ - /************************************************************************* - ** File: ds_cmds_test.c - ** - ** NASA Docket No. GSC-16,126-1, and identified as "Core Flight Software System - ** (CFS) Data Storage Application Version 2” - ** - ** Copyright © 2007-2014 United States Government as represented by the - ** Administrator of the National Aeronautics and Space Administration. All Rights - ** Reserved. - ** - ** Licensed under the Apache License, Version 2.0 (the "License"); - ** you may not use this file except in compliance with the License. - ** You may obtain a copy of the License at - ** http://www.apache.org/licenses/LICENSE-2.0 - ** - ** Unless required by applicable law or agreed to in writing, software - ** distributed under the License is distributed on an "AS IS" BASIS, - ** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - ** See the License for the specific language governing permissions and - ** limitations under the License. - ** - ** Purpose: - ** This file contains unit test cases for the functions contained in the file ds_cmds.c - ** - ** References: - ** Flight Software Branch C Coding Standard Version 1.2 - ** CFS Development Standards Document - ** - ** Notes: - ** - *************************************************************************/ - -/* - * Includes - */ - -#include "ds_cmds_test.h" -#include "ds_app.h" -#include "ds_appdefs.h" -#include "ds_cmds.h" -#include "ds_msg.h" -#include "ds_msgdefs.h" -#include "ds_msgids.h" -#include "ds_events.h" -#include "ds_version.h" -#include "ds_test_utils.h" -#include "ut_osapi_stubs.h" -#include "ut_cfe_sb_stubs.h" -#include "ut_cfe_es_stubs.h" -#include "ut_cfe_es_hooks.h" -#include "ut_cfe_evs_stubs.h" -#include "ut_cfe_evs_hooks.h" -#include "ut_cfe_time_stubs.h" -#include "ut_cfe_psp_memutils_stubs.h" -#include "ut_cfe_tbl_stubs.h" -#include "ut_cfe_fs_stubs.h" -#include "ut_cfe_time_stubs.h" -#include -#include -#include - - -#define CMD_STRUCT_DATA_IS_32_ALIGNED(x) ((sizeof(x) - CFE_SB_CMD_HDR_SIZE) % 4) == 0 -#define TLM_STRUCT_DATA_IS_32_ALIGNED(x) ((sizeof(x) - CFE_SB_TLM_HDR_SIZE) % 4) == 0 - -/* - * Function Definitions - */ - -void DS_CmdNoop_Test_Nominal(void) -{ - DS_NoopCmd_t CmdPacket; - char Message[125]; - - CFE_SB_InitMsg (&CmdPacket, DS_CMD_MID, sizeof(DS_NoopCmd_t), TRUE); - CFE_SB_SetCmdCode((CFE_SB_MsgPtr_t)&CmdPacket, DS_NOOP_CC); - - /* Execute the function being tested */ - DS_CmdNoop((CFE_SB_MsgPtr_t)&CmdPacket); - - /* Verify results */ - UtAssert_True (DS_AppData.CmdAcceptedCounter == 1, "DS_AppData.CmdAcceptedCounter == 1"); - - sprintf(Message, "NOOP command, Version %d.%d.%d.%d", DS_MAJOR_VERSION, DS_MINOR_VERSION, DS_REVISION, DS_MISSION_REV); - UtAssert_True (Ut_CFE_EVS_EventSent(DS_NOOP_CMD_EID, CFE_EVS_INFORMATION, Message), Message); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 1, "Ut_CFE_EVS_GetEventQueueDepth() == 1"); - - /* Verify command struct size minus header is at least explicitly padded to 32-bit boundaries */ - UtAssert_True (CMD_STRUCT_DATA_IS_32_ALIGNED(DS_NoopCmd_t), "DS_NoopCmd_t is 32-bit aligned"); - -} /* end DS_CmdNoop_Test_Nominal */ - -void DS_CmdNoop_Test_InvalidCommandLength(void) -{ - DS_NoopCmd_t CmdPacket; - - CFE_SB_InitMsg (&CmdPacket, DS_CMD_MID, 1, TRUE); - CFE_SB_SetCmdCode((CFE_SB_MsgPtr_t)&CmdPacket, DS_NOOP_CC); - - /* Execute the function being tested */ - DS_CmdNoop((CFE_SB_MsgPtr_t)&CmdPacket); - - /* Verify results */ - UtAssert_True (DS_AppData.CmdRejectedCounter == 1, "DS_AppData.CmdRejectedCounter == 1"); - - UtAssert_True - (Ut_CFE_EVS_EventSent(DS_NOOP_CMD_ERR_EID, CFE_EVS_ERROR, "Invalid NOOP command length: expected = 8, actual = 1"), - "Invalid NOOP command length: expected = 8, actual = 1"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 1, "Ut_CFE_EVS_GetEventQueueDepth() == 1"); -} /* end DS_CmdNoop_Test_InvalidCommandLength */ - -void DS_CmdReset_Test_Nominal(void) -{ - DS_ResetCmd_t CmdPacket; - - CFE_SB_InitMsg (&CmdPacket, DS_CMD_MID, sizeof(DS_ResetCmd_t), TRUE); - CFE_SB_SetCmdCode((CFE_SB_MsgPtr_t)&CmdPacket, DS_RESET_CC); - - /* Execute the function being tested */ - DS_CmdReset((CFE_SB_MsgPtr_t)&CmdPacket); - - /* Verify results */ - UtAssert_True (DS_AppData.CmdAcceptedCounter == 0, "DS_AppData.CmdAcceptedCounter == 0"); - UtAssert_True (DS_AppData.CmdRejectedCounter == 0, "DS_AppData.CmdRejectedCounter == 0"); - UtAssert_True (DS_AppData.DisabledPktCounter == 0, "DS_AppData.DisabledPktCounter == 0"); - UtAssert_True (DS_AppData.IgnoredPktCounter == 0, "DS_AppData.IgnoredPktCounter == 0"); - UtAssert_True (DS_AppData.FilteredPktCounter == 0, "DS_AppData.FilteredPktCounter == 0"); - UtAssert_True (DS_AppData.PassedPktCounter == 0, "DS_AppData.PassedPktCounter == 0"); - UtAssert_True (DS_AppData.FileWriteCounter == 0, "DS_AppData.FileWriteCounter == 0"); - UtAssert_True (DS_AppData.FileWriteErrCounter == 0, "DS_AppData.FileWriteErrCounter == 0"); - UtAssert_True (DS_AppData.FileUpdateCounter == 0, "DS_AppData.FileUpdateCounter == 0"); - UtAssert_True (DS_AppData.FileUpdateErrCounter == 0, "DS_AppData.FileUpdateErrCounter == 0"); - UtAssert_True (DS_AppData.DestTblLoadCounter == 0, "DS_AppData.DestTblLoadCounter == 0"); - UtAssert_True (DS_AppData.DestTblErrCounter == 0, "DS_AppData.DestTblErrCounter == 0"); - UtAssert_True (DS_AppData.FilterTblLoadCounter == 0, "DS_AppData.FilterTblLoadCounter == 0"); - UtAssert_True (DS_AppData.FilterTblErrCounter == 0, "DS_AppData.FilterTblErrCounter == 0"); - - UtAssert_True - (Ut_CFE_EVS_EventSent(DS_RESET_CMD_EID, CFE_EVS_DEBUG, "Reset counters command"), - "Reset counters command"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 1, "Ut_CFE_EVS_GetEventQueueDepth() == 1"); - - /* Verify command struct size minus header is at least explicitly padded to 32-bit boundaries */ - UtAssert_True (CMD_STRUCT_DATA_IS_32_ALIGNED(DS_ResetCmd_t), "DS_ResetCmd_t is 32-bit aligned"); - - -} /* end DS_CmdReset_Test_Nominal */ - -void DS_CmdReset_Test_InvalidCommandLength(void) -{ - DS_ResetCmd_t CmdPacket; - - CFE_SB_InitMsg (&CmdPacket, DS_CMD_MID, 1, TRUE); - CFE_SB_SetCmdCode((CFE_SB_MsgPtr_t)&CmdPacket, DS_RESET_CC); - - /* Execute the function being tested */ - DS_CmdReset((CFE_SB_MsgPtr_t)&CmdPacket); - - /* Verify results */ - UtAssert_True (DS_AppData.CmdRejectedCounter == 1, "DS_AppData.CmdRejectedCounter == 1"); - - UtAssert_True - (Ut_CFE_EVS_EventSent(DS_RESET_CMD_ERR_EID, CFE_EVS_ERROR, "Invalid RESET command length: expected = 8, actual = 1"), - "Invalid RESET command length: expected = 8, actual = 1"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 1, "Ut_CFE_EVS_GetEventQueueDepth() == 1"); - -} /* end DS_CmdReset_Test_InvalidCommandLength */ - -void DS_CmdSetAppState_Test_Nominal(void) -{ - DS_AppStateCmd_t CmdPacket; - - CFE_SB_InitMsg (&CmdPacket, DS_CMD_MID, sizeof(DS_AppStateCmd_t), TRUE); - CFE_SB_SetCmdCode((CFE_SB_MsgPtr_t)&CmdPacket, DS_SET_APP_STATE_CC); - - CmdPacket.EnableState = TRUE; - - /* Execute the function being tested */ - DS_CmdSetAppState((CFE_SB_MsgPtr_t)&CmdPacket); - - /* Verify results */ - UtAssert_True (DS_AppData.CmdAcceptedCounter == 1, "DS_AppData.CmdAcceptedCounter == 1"); - UtAssert_True (DS_AppData.AppEnableState == TRUE, "DS_AppData.AppEnableState == TRUE"); - - UtAssert_True - (Ut_CFE_EVS_EventSent(DS_ENADIS_CMD_EID, CFE_EVS_DEBUG, "APP STATE command: state = 1"), - "APP STATE command: state = 1"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 1, "Ut_CFE_EVS_GetEventQueueDepth() == 1"); - - /* Verify command struct size minus header is at least explicitly padded to 32-bit boundaries */ - UtAssert_True (CMD_STRUCT_DATA_IS_32_ALIGNED(DS_AppStateCmd_t), "DS_AppStateCmd_t is 32-bit aligned"); - -} /* end DS_CmdSetAppState_Test_Nominal */ - -void DS_CmdSetAppState_Test_InvalidCommandLength(void) -{ - DS_AppStateCmd_t CmdPacket; - - CFE_SB_InitMsg (&CmdPacket, DS_CMD_MID, 1, TRUE); - CFE_SB_SetCmdCode((CFE_SB_MsgPtr_t)&CmdPacket, DS_SET_APP_STATE_CC); - - CmdPacket.EnableState = TRUE; - - /* Execute the function being tested */ - DS_CmdSetAppState((CFE_SB_MsgPtr_t)&CmdPacket); - - /* Verify results */ - UtAssert_True (DS_AppData.CmdRejectedCounter == 1, "DS_AppData.CmdRejectedCounter == 1"); - - UtAssert_True - (Ut_CFE_EVS_EventSent(DS_ENADIS_CMD_ERR_EID, CFE_EVS_ERROR, "Invalid APP STATE command length: expected = 12, actual = 1"), - "Invalid APP STATE command length: expected = 12, actual = 1"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 1, "Ut_CFE_EVS_GetEventQueueDepth() == 1"); - -} /* end DS_CmdSetAppState_Test_InvalidCommandLength */ - -void DS_CmdSetAppState_Test_InvalidAppState(void) -{ - DS_AppStateCmd_t CmdPacket; - - CFE_SB_InitMsg (&CmdPacket, DS_CMD_MID, sizeof(DS_AppStateCmd_t), TRUE); - CFE_SB_SetCmdCode((CFE_SB_MsgPtr_t)&CmdPacket, DS_SET_APP_STATE_CC); - - CmdPacket.EnableState = 99; - - /* Execute the function being tested */ - DS_CmdSetAppState((CFE_SB_MsgPtr_t)&CmdPacket); - - /* Verify results */ - UtAssert_True (DS_AppData.CmdRejectedCounter == 1, "DS_AppData.CmdRejectedCounter == 1"); - - UtAssert_True - (Ut_CFE_EVS_EventSent(DS_ENADIS_CMD_ERR_EID, CFE_EVS_ERROR, "Invalid APP STATE command arg: app state = 99"), - "Invalid APP STATE command arg: app state = 99"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 1, "Ut_CFE_EVS_GetEventQueueDepth() == 1"); - -} /* end DS_CmdSetAppState_Test_InvalidAppState */ - -void DS_CmdSetFilterFile_Test_Nominal(void) -{ - DS_FilterFileCmd_t CmdPacket; - DS_HashLink_t HashLink; - DS_FilterTable_t FilterTable; - - CFE_SB_InitMsg (&CmdPacket, DS_CMD_MID, sizeof(DS_FilterFileCmd_t), TRUE); - CFE_SB_SetCmdCode((CFE_SB_MsgPtr_t)&CmdPacket, DS_SET_FILTER_FILE_CC); - - CmdPacket.FilterParmsIndex = 2; - CmdPacket.MessageID = 0x18BB; - CmdPacket.FileTableIndex = 4; - - DS_AppData.HashTable[187] = &HashLink; - HashLink.Index = 0; - DS_AppData.FilterTblPtr = &FilterTable; - DS_AppData.FilterTblPtr->Packet->MessageID = 0x18BB; - - /* Execute the function being tested */ - DS_CmdSetFilterFile((CFE_SB_MsgPtr_t)&CmdPacket); - - /* Verify results */ - UtAssert_True (DS_AppData.CmdAcceptedCounter == 1, "DS_AppData.CmdAcceptedCounter == 1"); - - UtAssert_True - (DS_AppData.FilterTblPtr->Packet[CmdPacket.FileTableIndex].Filter[CmdPacket.FilterParmsIndex].FileTableIndex == 0, - "DS_AppData.FilterTblPtr->Packet[CmdPacket.FileTableIndex].Filter[CmdPacket.FilterParmsIndex].FileTableIndex == 0"); - - UtAssert_True - (Ut_CFE_EVS_EventSent(DS_FILE_CMD_EID, CFE_EVS_DEBUG, "FILTER FILE command: MID = 0x18BB, index = 0, filter = 2, file = 4"), - "FILTER FILE command: MID = 0x18BB, index = 0, filter = 2, file = 4"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 1, "Ut_CFE_EVS_GetEventQueueDepth() == 1"); - - /* Verify command struct size minus header is at least explicitly padded to 32-bit boundaries */ - UtAssert_True (CMD_STRUCT_DATA_IS_32_ALIGNED(DS_FilterFileCmd_t), "DS_FilterFileCmd_t is 32-bit aligned"); -} /* end DS_CmdSetFilterFile_Test_Nominal */ - -void DS_CmdSetFilterFile_Test_InvalidCommandLength(void) -{ - DS_FilterFileCmd_t CmdPacket; - - CFE_SB_InitMsg (&CmdPacket, DS_CMD_MID, 1, TRUE); - CFE_SB_SetCmdCode((CFE_SB_MsgPtr_t)&CmdPacket, DS_SET_FILTER_FILE_CC); - - /* Execute the function being tested */ - DS_CmdSetFilterFile((CFE_SB_MsgPtr_t)&CmdPacket); - - /* Verify results */ - UtAssert_True (DS_AppData.CmdRejectedCounter == 1, "DS_AppData.CmdRejectedCounter == 1"); - - UtAssert_True - (Ut_CFE_EVS_EventSent(DS_FILE_CMD_ERR_EID, CFE_EVS_ERROR, "Invalid FILTER FILE command length: expected = 16, actual = 1"), - "Invalid FILTER FILE command length: expected = 16, actual = 1"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 1, "Ut_CFE_EVS_GetEventQueueDepth() == 1"); - -} /* end DS_CmdSetFilterFile_Test_InvalidCommandLength */ - -void DS_CmdSetFilterFile_Test_InvalidMessageID(void) -{ - DS_FilterFileCmd_t CmdPacket; - - CFE_SB_InitMsg (&CmdPacket, DS_CMD_MID, sizeof(DS_FilterFileCmd_t), TRUE); - CFE_SB_SetCmdCode((CFE_SB_MsgPtr_t)&CmdPacket, DS_SET_FILTER_FILE_CC); - - CmdPacket.MessageID = DS_UNUSED; - - /* Execute the function being tested */ - DS_CmdSetFilterFile((CFE_SB_MsgPtr_t)&CmdPacket); - - /* Verify results */ - UtAssert_True (DS_AppData.CmdRejectedCounter == 1, "DS_AppData.CmdRejectedCounter == 1"); - - UtAssert_True - (Ut_CFE_EVS_EventSent(DS_FILE_CMD_ERR_EID, CFE_EVS_ERROR, "Invalid FILTER FILE command arg: invalid messageID = 0x 0"), - "Invalid FILTER FILE command arg: invalid messageID = 0x 0"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 1, "Ut_CFE_EVS_GetEventQueueDepth() == 1"); - -} /* end DS_CmdSetFilterFile_Test_InvalidMessageID */ - -void DS_CmdSetFilterFile_Test_InvalidFilterParametersIndex(void) -{ - DS_FilterFileCmd_t CmdPacket; - - CFE_SB_InitMsg (&CmdPacket, DS_CMD_MID, sizeof(DS_FilterFileCmd_t), TRUE); - CFE_SB_SetCmdCode((CFE_SB_MsgPtr_t)&CmdPacket, DS_SET_FILTER_FILE_CC); - - CmdPacket.MessageID = 0x18BB; - CmdPacket.FilterParmsIndex = DS_FILTERS_PER_PACKET; - - /* Execute the function being tested */ - DS_CmdSetFilterFile((CFE_SB_MsgPtr_t)&CmdPacket); - - /* Verify results */ - UtAssert_True (DS_AppData.CmdRejectedCounter == 1, "DS_AppData.CmdRejectedCounter == 1"); - - UtAssert_True - (Ut_CFE_EVS_EventSent(DS_FILE_CMD_ERR_EID, CFE_EVS_ERROR, "Invalid FILTER FILE command arg: filter parameters index = 4"), - "Invalid FILTER FILE command arg: filter parameters index = 4"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 1, "Ut_CFE_EVS_GetEventQueueDepth() == 1"); - -} /* end DS_CmdSetFilterFile_Test_InvalidFilterParametersIndex */ - -void DS_CmdSetFilterFile_Test_InvalidFileTableIndex(void) -{ - DS_FilterFileCmd_t CmdPacket; - - CFE_SB_InitMsg (&CmdPacket, DS_CMD_MID, sizeof(DS_FilterFileCmd_t), TRUE); - CFE_SB_SetCmdCode((CFE_SB_MsgPtr_t)&CmdPacket, DS_SET_FILTER_FILE_CC); - - CmdPacket.MessageID = 0x18BB; - CmdPacket.FilterParmsIndex = 1; - CmdPacket.FileTableIndex = 99; - - /* Execute the function being tested */ - DS_CmdSetFilterFile((CFE_SB_MsgPtr_t)&CmdPacket); - - /* Verify results */ - UtAssert_True (DS_AppData.CmdRejectedCounter == 1, "DS_AppData.CmdRejectedCounter == 1"); - - UtAssert_True - (Ut_CFE_EVS_EventSent(DS_FILE_CMD_ERR_EID, CFE_EVS_ERROR, "Invalid FILTER FILE command arg: file table index = 99"), - "Invalid FILTER FILE command arg: file table index = 99"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 1, "Ut_CFE_EVS_GetEventQueueDepth() == 1"); - -} /* end DS_CmdSetFilterFile_Test_InvalidFileTableIndex */ - -void DS_CmdSetFilterFile_Test_FilterTableNotLoaded(void) -{ - DS_FilterFileCmd_t CmdPacket; - - CFE_SB_InitMsg (&CmdPacket, DS_CMD_MID, sizeof(DS_FilterFileCmd_t), TRUE); - CFE_SB_SetCmdCode((CFE_SB_MsgPtr_t)&CmdPacket, DS_SET_FILTER_FILE_CC); - - CmdPacket.MessageID = 0x18BB; - CmdPacket.FilterParmsIndex = 1; - CmdPacket.FileTableIndex = 1; - - /* Execute the function being tested */ - DS_CmdSetFilterFile((CFE_SB_MsgPtr_t)&CmdPacket); - - /* Verify results */ - UtAssert_True (DS_AppData.CmdRejectedCounter == 1, "DS_AppData.CmdRejectedCounter == 1"); - - UtAssert_True - (Ut_CFE_EVS_EventSent(DS_FILE_CMD_ERR_EID, CFE_EVS_ERROR, "Invalid FILTER FILE command: packet filter table is not loaded"), - "Invalid FILTER FILE command: packet filter table is not loaded"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 1, "Ut_CFE_EVS_GetEventQueueDepth() == 1"); - -} /* end DS_CmdSetFilterFile_Test_FilterTableNotLoaded */ - -void DS_CmdSetFilterFile_Test_MessageIDNotInFilterTable(void) -{ - DS_FilterFileCmd_t CmdPacket; - DS_HashLink_t HashLink; - DS_FilterTable_t FilterTable; - - CFE_SB_InitMsg (&CmdPacket, DS_CMD_MID, sizeof(DS_FilterFileCmd_t), TRUE); - CFE_SB_SetCmdCode((CFE_SB_MsgPtr_t)&CmdPacket, DS_SET_FILTER_FILE_CC); - - CmdPacket.FilterParmsIndex = 2; - CmdPacket.MessageID = 0x9999; - CmdPacket.FileTableIndex = 4; - - DS_AppData.HashTable[187] = &HashLink; - HashLink.Index = 0; - DS_AppData.FilterTblPtr = &FilterTable; - DS_AppData.FilterTblPtr->Packet->MessageID = 0x18BB; - - /* Execute the function being tested */ - DS_CmdSetFilterFile((CFE_SB_MsgPtr_t)&CmdPacket); - - /* Verify results */ - UtAssert_True (DS_AppData.CmdRejectedCounter == 1, "DS_AppData.CmdRejectedCounter == 1"); - - UtAssert_True - (Ut_CFE_EVS_EventSent(DS_FILE_CMD_ERR_EID, CFE_EVS_ERROR, "Invalid FILTER FILE command: Message ID 0x9999 is not in filter table"), - "Invalid FILTER FILE command: Message ID 0x9999 is not in filter table"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 1, "Ut_CFE_EVS_GetEventQueueDepth() == 1"); - -} /* end DS_CmdSetFilterFile_Test_MessageIDNotInFilterTable */ - -void DS_CmdSetFilterType_Test_Nominal(void) -{ - DS_FilterTypeCmd_t CmdPacket; - DS_HashLink_t HashLink; - DS_FilterTable_t FilterTable; - - CFE_SB_InitMsg (&CmdPacket, DS_CMD_MID, sizeof(DS_FilterTypeCmd_t), TRUE); - CFE_SB_SetCmdCode((CFE_SB_MsgPtr_t)&CmdPacket, DS_SET_FILTER_TYPE_CC); - - CmdPacket.FilterParmsIndex = 2; - CmdPacket.MessageID = 0x18BB; - CmdPacket.FilterType = 1; - - DS_AppData.HashTable[187] = &HashLink; - HashLink.Index = 0; - DS_AppData.FilterTblPtr = &FilterTable; - DS_AppData.FilterTblPtr->Packet->MessageID = 0x18BB; - - /* Execute the function being tested */ - DS_CmdSetFilterType((CFE_SB_MsgPtr_t)&CmdPacket); - - /* Verify results */ - UtAssert_True (DS_AppData.CmdAcceptedCounter == 1, "DS_AppData.CmdAcceptedCounter == 1"); - - UtAssert_True - (DS_AppData.FilterTblPtr->Packet[0].Filter[CmdPacket.FilterParmsIndex].FilterType == 1, - "DS_AppData.FilterTblPtr->Packet[0].Filter[CmdPacket.FilterParmsIndex].FilterType == 1"); - - UtAssert_True - (Ut_CFE_EVS_EventSent(DS_FTYPE_CMD_EID, CFE_EVS_DEBUG, "FILTER TYPE command: MID = 0x18BB, index = 0, filter = 2, type = 1"), - "FILTER TYPE command: MID = 0x18BB, index = 0, filter = 2, type = 1"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 1, "Ut_CFE_EVS_GetEventQueueDepth() == 1"); - - /* Verify command struct size minus header is at least explicitly padded to 32-bit boundaries */ - UtAssert_True (CMD_STRUCT_DATA_IS_32_ALIGNED(DS_FilterTypeCmd_t), "DS_FilterTypeCmd_t is 32-bit aligned"); -} /* end DS_CmdSetFilterType_Test_Nominal */ - -void DS_CmdSetFilterType_Test_InvalidCommandLength(void) -{ - DS_FilterTypeCmd_t CmdPacket; - - CFE_SB_InitMsg (&CmdPacket, DS_CMD_MID, 1, TRUE); - CFE_SB_SetCmdCode((CFE_SB_MsgPtr_t)&CmdPacket, DS_SET_FILTER_TYPE_CC); - - /* Execute the function being tested */ - DS_CmdSetFilterType((CFE_SB_MsgPtr_t)&CmdPacket); - - /* Verify results */ - UtAssert_True (DS_AppData.CmdRejectedCounter == 1, "DS_AppData.CmdRejectedCounter == 1"); - - UtAssert_True - (Ut_CFE_EVS_EventSent(DS_FTYPE_CMD_ERR_EID, CFE_EVS_ERROR, "Invalid FILTER TYPE command length: expected = 16, actual = 1"), - "Invalid FILTER TYPE command length: expected = 16, actual = 1"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 1, "Ut_CFE_EVS_GetEventQueueDepth() == 1"); - -} /* end DS_CmdSetFilterType_Test_InvalidCommandLength */ - -void DS_CmdSetFilterType_Test_InvalidMessageID(void) -{ - DS_FilterTypeCmd_t CmdPacket; - - CFE_SB_InitMsg (&CmdPacket, DS_CMD_MID, sizeof(DS_FilterTypeCmd_t), TRUE); - CFE_SB_SetCmdCode((CFE_SB_MsgPtr_t)&CmdPacket, DS_SET_FILTER_TYPE_CC); - - CmdPacket.MessageID = DS_UNUSED; - - /* Execute the function being tested */ - DS_CmdSetFilterType((CFE_SB_MsgPtr_t)&CmdPacket); - - /* Verify results */ - UtAssert_True (DS_AppData.CmdRejectedCounter == 1, "DS_AppData.CmdRejectedCounter == 1"); - - UtAssert_True - (Ut_CFE_EVS_EventSent(DS_FTYPE_CMD_ERR_EID, CFE_EVS_ERROR, "Invalid FILTER TYPE command arg: invalid messageID = 0x0000"), - "Invalid FILTER TYPE command arg: invalid messageID = 0x0000"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 1, "Ut_CFE_EVS_GetEventQueueDepth() == 1"); - -} /* end DS_CmdSetFilterType_Test_InvalidMessageID */ - -void DS_CmdSetFilterType_Test_InvalidFilterParametersIndex(void) -{ - DS_FilterTypeCmd_t CmdPacket; - - CFE_SB_InitMsg (&CmdPacket, DS_CMD_MID, sizeof(DS_FilterTypeCmd_t), TRUE); - CFE_SB_SetCmdCode((CFE_SB_MsgPtr_t)&CmdPacket, DS_SET_FILTER_TYPE_CC); - - CmdPacket.MessageID = 0x18BB; - CmdPacket.FilterParmsIndex = DS_FILTERS_PER_PACKET; - - /* Execute the function being tested */ - DS_CmdSetFilterType((CFE_SB_MsgPtr_t)&CmdPacket); - - /* Verify results */ - UtAssert_True (DS_AppData.CmdRejectedCounter == 1, "DS_AppData.CmdRejectedCounter == 1"); - - UtAssert_True - (Ut_CFE_EVS_EventSent(DS_FTYPE_CMD_ERR_EID, CFE_EVS_ERROR, "Invalid FILTER TYPE command arg: filter parameters index = 4"), - "Invalid FILTER TYPE command arg: filter parameters index = 4"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 1, "Ut_CFE_EVS_GetEventQueueDepth() == 1"); - -} /* end DS_CmdSetFilterType_Test_InvalidFilterParametersIndex */ - -void DS_CmdSetFilterType_Test_InvalidFilterType(void) -{ - DS_FilterTypeCmd_t CmdPacket; - - CFE_SB_InitMsg (&CmdPacket, DS_CMD_MID, sizeof(DS_FilterTypeCmd_t), TRUE); - CFE_SB_SetCmdCode((CFE_SB_MsgPtr_t)&CmdPacket, DS_SET_FILTER_TYPE_CC); - - CmdPacket.MessageID = 0x18BB; - CmdPacket.FilterParmsIndex = 1; - CmdPacket.FilterType = FALSE; - - /* Execute the function being tested */ - DS_CmdSetFilterType((CFE_SB_MsgPtr_t)&CmdPacket); - - /* Verify results */ - UtAssert_True (DS_AppData.CmdRejectedCounter == 1, "DS_AppData.CmdRejectedCounter == 1"); - - UtAssert_True - (Ut_CFE_EVS_EventSent(DS_FTYPE_CMD_ERR_EID, CFE_EVS_ERROR, "Invalid FILTER TYPE command arg: filter type = 0"), - "Invalid FILTER TYPE command arg: filter type = 0"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 1, "Ut_CFE_EVS_GetEventQueueDepth() == 1"); - -} /* end DS_CmdSetFilterType_Test_InvalidFilterType */ - -void DS_CmdSetFilterType_Test_FilterTableNotLoaded(void) -{ - DS_FilterTypeCmd_t CmdPacket; - - CFE_SB_InitMsg (&CmdPacket, DS_CMD_MID, sizeof(DS_FilterTypeCmd_t), TRUE); - CFE_SB_SetCmdCode((CFE_SB_MsgPtr_t)&CmdPacket, DS_SET_FILTER_TYPE_CC); - - CmdPacket.MessageID = 0x18BB; - CmdPacket.FilterParmsIndex = 1; - CmdPacket.FilterType = 1; - - /* Execute the function being tested */ - DS_CmdSetFilterType((CFE_SB_MsgPtr_t)&CmdPacket); - - /* Verify results */ - UtAssert_True (DS_AppData.CmdRejectedCounter == 1, "DS_AppData.CmdRejectedCounter == 1"); - - UtAssert_True - (Ut_CFE_EVS_EventSent(DS_FTYPE_CMD_ERR_EID, CFE_EVS_ERROR, "Invalid FILTER TYPE command: packet filter table is not loaded"), - "Invalid FILTER TYPE command: packet filter table is not loaded"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 1, "Ut_CFE_EVS_GetEventQueueDepth() == 1"); - -} /* end DS_CmdSetFilterType_Test_FilterTableNotLoaded */ - -void DS_CmdSetFilterType_Test_MessageIDNotInFilterTable(void) -{ - DS_FilterTypeCmd_t CmdPacket; - DS_HashLink_t HashLink; - DS_FilterTable_t FilterTable; - - CFE_SB_InitMsg (&CmdPacket, DS_CMD_MID, sizeof(DS_FilterTypeCmd_t), TRUE); - CFE_SB_SetCmdCode((CFE_SB_MsgPtr_t)&CmdPacket, DS_SET_FILTER_TYPE_CC); - - CmdPacket.MessageID = 0x9999; - CmdPacket.FilterParmsIndex = 1; - CmdPacket.FilterType = 1; - - DS_AppData.HashTable[187] = &HashLink; - HashLink.Index = 0; - DS_AppData.FilterTblPtr = &FilterTable; - DS_AppData.FilterTblPtr->Packet->MessageID = 0x18BB; - - /* Execute the function being tested */ - DS_CmdSetFilterType((CFE_SB_MsgPtr_t)&CmdPacket); - - /* Verify results */ - UtAssert_True (DS_AppData.CmdRejectedCounter == 1, "DS_AppData.CmdRejectedCounter == 1"); - - UtAssert_True - (Ut_CFE_EVS_EventSent(DS_FTYPE_CMD_ERR_EID, CFE_EVS_ERROR, "Invalid FILTER TYPE command: Message ID 0x9999 is not in filter table"), - "Invalid FILTER TYPE command: Message ID 0x9999 is not in filter table"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 1, "Ut_CFE_EVS_GetEventQueueDepth() == 1"); - -} /* end DS_CmdSetFilterType_Test_MessageIDNotInFilterTable */ - -void DS_CmdSetFilterParms_Test_Nominal(void) -{ - DS_FilterParmsCmd_t CmdPacket; - DS_HashLink_t HashLink; - DS_FilterTable_t FilterTable; - - - CFE_SB_InitMsg (&CmdPacket, DS_CMD_MID, sizeof(DS_FilterParmsCmd_t), TRUE); - CFE_SB_SetCmdCode((CFE_SB_MsgPtr_t)&CmdPacket, DS_SET_FILTER_PARMS_CC); - - CmdPacket.FilterParmsIndex = 2; - CmdPacket.MessageID = 0x18BB; - CmdPacket.Algorithm_N = 0; - CmdPacket.Algorithm_X = 0; - CmdPacket.Algorithm_O = 0; - - DS_AppData.HashTable[187] = &HashLink; - HashLink.Index = 0; - DS_AppData.FilterTblPtr = &FilterTable; - DS_AppData.FilterTblPtr->Packet->MessageID = 0x18BB; - - /* Execute the function being tested */ - DS_CmdSetFilterParms((CFE_SB_MsgPtr_t)&CmdPacket); - - /* Verify results */ - UtAssert_True (DS_AppData.CmdAcceptedCounter == 1, "DS_AppData.CmdAcceptedCounter == 1"); - - UtAssert_True - (DS_AppData.FilterTblPtr->Packet[0].Filter[CmdPacket.FilterParmsIndex].Algorithm_N == 0, - "DS_AppData.FilterTblPtr->Packet[0].Filter[CmdPacket.FilterParmsIndex].Algorithm_N == 0"); - - UtAssert_True - (DS_AppData.FilterTblPtr->Packet[0].Filter[CmdPacket.FilterParmsIndex].Algorithm_X == 0, - "DS_AppData.FilterTblPtr->Packet[0].Filter[CmdPacket.FilterParmsIndex].Algorithm_X == 0"); - - UtAssert_True - (DS_AppData.FilterTblPtr->Packet[0].Filter[CmdPacket.FilterParmsIndex].Algorithm_O == 0, - "DS_AppData.FilterTblPtr->Packet[0].Filter[CmdPacket.FilterParmsIndex].Algorithm_O == 0"); - - UtAssert_True - (Ut_CFE_EVS_EventSent(DS_PARMS_CMD_EID, CFE_EVS_DEBUG, "FILTER PARMS command: MID = 0x18BB, index = 0, filter = 2, N = 0, X = 0, O = 0"), - "FILTER PARMS command: MID = 0x18BB, index = 0, filter = 2, N = 0, X = 0, O = 0"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 1, "Ut_CFE_EVS_GetEventQueueDepth() == 1"); - - /* Verify command struct size minus header is at least explicitly padded to 32-bit boundaries */ - UtAssert_True (CMD_STRUCT_DATA_IS_32_ALIGNED(DS_FilterParmsCmd_t), "DS_FilterParmsCmd_t is 32-bit aligned"); - -} /* end DS_CmdSetFilterParms_Test_Nominal */ - -void DS_CmdSetFilterParms_Test_InvalidCommandLength(void) -{ - DS_FilterParmsCmd_t CmdPacket; - - CFE_SB_InitMsg (&CmdPacket, DS_CMD_MID, 1, TRUE); - CFE_SB_SetCmdCode((CFE_SB_MsgPtr_t)&CmdPacket, DS_SET_FILTER_PARMS_CC); - - /* Execute the function being tested */ - DS_CmdSetFilterParms((CFE_SB_MsgPtr_t)&CmdPacket); - - /* Verify results */ - UtAssert_True (DS_AppData.CmdRejectedCounter == 1, "DS_AppData.CmdRejectedCounter == 1"); - - UtAssert_True - (Ut_CFE_EVS_EventSent(DS_PARMS_CMD_ERR_EID, CFE_EVS_ERROR, "Invalid FILTER PARMS command length: expected = 20, actual = 1"), - "Invalid FILTER PARMS command length: expected = 20, actual = 1"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 1, "Ut_CFE_EVS_GetEventQueueDepth() == 1"); - -} /* end DS_CmdSetFilterParms_Test_InvalidCommandLength */ - -void DS_CmdSetFilterParms_Test_InvalidMessageID(void) -{ - DS_FilterParmsCmd_t CmdPacket; - - CFE_SB_InitMsg (&CmdPacket, DS_CMD_MID, sizeof(DS_FilterParmsCmd_t), TRUE); - CFE_SB_SetCmdCode((CFE_SB_MsgPtr_t)&CmdPacket, DS_SET_FILTER_PARMS_CC); - - CmdPacket.MessageID = DS_UNUSED; - - /* Execute the function being tested */ - DS_CmdSetFilterParms((CFE_SB_MsgPtr_t)&CmdPacket); - - /* Verify results */ - UtAssert_True (DS_AppData.CmdRejectedCounter == 1, "DS_AppData.CmdRejectedCounter == 1"); - - UtAssert_True - (Ut_CFE_EVS_EventSent(DS_PARMS_CMD_ERR_EID, CFE_EVS_ERROR, "Invalid FILTER PARMS command arg: invalid messageID = 0x0000"), - "Invalid FILTER PARMS command arg: invalid messageID = 0x0000"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 1, "Ut_CFE_EVS_GetEventQueueDepth() == 1"); - -} /* end DS_CmdSetFilterParms_Test_InvalidMessageID */ - -void DS_CmdSetFilterParms_Test_InvalidFilterParametersIndex(void) -{ - DS_FilterParmsCmd_t CmdPacket; - - CFE_SB_InitMsg (&CmdPacket, DS_CMD_MID, sizeof(DS_FilterParmsCmd_t), TRUE); - CFE_SB_SetCmdCode((CFE_SB_MsgPtr_t)&CmdPacket, DS_SET_FILTER_PARMS_CC); - - CmdPacket.MessageID = 0x18BB; - CmdPacket.FilterParmsIndex = DS_FILTERS_PER_PACKET; - - /* Execute the function being tested */ - DS_CmdSetFilterParms((CFE_SB_MsgPtr_t)&CmdPacket); - - /* Verify results */ - UtAssert_True (DS_AppData.CmdRejectedCounter == 1, "DS_AppData.CmdRejectedCounter == 1"); - - UtAssert_True - (Ut_CFE_EVS_EventSent(DS_PARMS_CMD_ERR_EID, CFE_EVS_ERROR, "Invalid FILTER PARMS command arg: filter parameters index = 4"), - "Invalid FILTER PARMS command arg: filter parameters index = 4"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 1, "Ut_CFE_EVS_GetEventQueueDepth() == 1"); - -} /* end DS_CmdSetFilterParms_Test_InvalidFilterParametersIndex */ - -void DS_CmdSetFilterParms_Test_InvalidFilterAlgorithm(void) -{ - DS_FilterParmsCmd_t CmdPacket; - DS_HashLink_t HashLink; - DS_FilterTable_t FilterTable; - - CFE_SB_InitMsg (&CmdPacket, DS_CMD_MID, sizeof(DS_FilterParmsCmd_t), TRUE); - CFE_SB_SetCmdCode((CFE_SB_MsgPtr_t)&CmdPacket, DS_SET_FILTER_PARMS_CC); - - CmdPacket.FilterParmsIndex = 2; - CmdPacket.MessageID = 0x18BB; - CmdPacket.Algorithm_N = 1; - CmdPacket.Algorithm_X = 1; - CmdPacket.Algorithm_O = 1; - - DS_AppData.HashTable[187] = &HashLink; - HashLink.Index = 0; - DS_AppData.FilterTblPtr = &FilterTable; - DS_AppData.FilterTblPtr->Packet->MessageID = 0x18BB; - - /* Execute the function being tested */ - DS_CmdSetFilterParms((CFE_SB_MsgPtr_t)&CmdPacket); - - /* Verify results */ - UtAssert_True (DS_AppData.CmdRejectedCounter == 1, "DS_AppData.CmdRejectedCounter == 1"); - - UtAssert_True - (Ut_CFE_EVS_EventSent(DS_PARMS_CMD_ERR_EID, CFE_EVS_ERROR, "Invalid FILTER PARMS command arg: N = 1, X = 1, O = 1"), - "Invalid FILTER PARMS command arg: N = 1, X = 1, O = 1"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 1, "Ut_CFE_EVS_GetEventQueueDepth() == 1"); - -} /* end DS_CmdSetFilterParms_Test_InvalidFilterAlgorithm */ - -void DS_CmdSetFilterParms_Test_FilterTableNotLoaded(void) -{ - DS_FilterParmsCmd_t CmdPacket; - - CFE_SB_InitMsg (&CmdPacket, DS_CMD_MID, sizeof(DS_FilterParmsCmd_t), TRUE); - CFE_SB_SetCmdCode((CFE_SB_MsgPtr_t)&CmdPacket, DS_SET_FILTER_PARMS_CC); - - CmdPacket.MessageID = 0x18BB; - CmdPacket.FilterParmsIndex = 1; - - /* Execute the function being tested */ - DS_CmdSetFilterParms((CFE_SB_MsgPtr_t)&CmdPacket); - - /* Verify results */ - UtAssert_True (DS_AppData.CmdRejectedCounter == 1, "DS_AppData.CmdRejectedCounter == 1"); - - UtAssert_True - (Ut_CFE_EVS_EventSent(DS_PARMS_CMD_ERR_EID, CFE_EVS_ERROR, "Invalid FILTER PARMS command: packet filter table is not loaded"), - "Invalid FILTER PARMS command: packet filter table is not loaded"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 1, "Ut_CFE_EVS_GetEventQueueDepth() == 1"); - -} /* end DS_CmdSetFilterParms_Test_FilterTableNotLoaded */ - -void DS_CmdSetFilterParms_Test_MessageIDNotInFilterTable(void) -{ - DS_FilterParmsCmd_t CmdPacket; - DS_HashLink_t HashLink; - DS_FilterTable_t FilterTable; - - CFE_SB_InitMsg (&CmdPacket, DS_CMD_MID, sizeof(DS_FilterParmsCmd_t), TRUE); - CFE_SB_SetCmdCode((CFE_SB_MsgPtr_t)&CmdPacket, DS_SET_FILTER_PARMS_CC); - - CmdPacket.FilterParmsIndex = 2; - CmdPacket.MessageID = 0x9999; - - DS_AppData.HashTable[187] = &HashLink; - HashLink.Index = 0; - DS_AppData.FilterTblPtr = &FilterTable; - DS_AppData.FilterTblPtr->Packet->MessageID = 0x18BB; - - /* Execute the function being tested */ - DS_CmdSetFilterParms((CFE_SB_MsgPtr_t)&CmdPacket); - - /* Verify results */ - UtAssert_True (DS_AppData.CmdRejectedCounter == 1, "DS_AppData.CmdRejectedCounter == 1"); - - UtAssert_True - (Ut_CFE_EVS_EventSent(DS_PARMS_CMD_ERR_EID, CFE_EVS_ERROR, "Invalid FILTER PARMS command: Message ID 0x9999 is not in filter table"), - "Invalid FILTER PARMS command: Message ID 0x9999 is not in filter table"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 1, "Ut_CFE_EVS_GetEventQueueDepth() == 1"); - -} /* end DS_CmdSetFilterParms_Test_MessageIDNotInFilterTable */ - -void DS_CmdSetDestType_Test_Nominal(void) -{ - DS_DestTypeCmd_t CmdPacket; - DS_DestFileTable_t DestFileTable; - - CFE_SB_InitMsg (&CmdPacket, DS_CMD_MID, sizeof(DS_DestTypeCmd_t), TRUE); - CFE_SB_SetCmdCode((CFE_SB_MsgPtr_t)&CmdPacket, DS_SET_DEST_TYPE_CC); - - CmdPacket.FileTableIndex = 1; - CmdPacket.FileNameType = 2; - - DS_AppData.DestFileTblPtr = &DestFileTable; - - /* Execute the function being tested */ - DS_CmdSetDestType((CFE_SB_MsgPtr_t)&CmdPacket); - - /* Verify results */ - UtAssert_True (DS_AppData.CmdAcceptedCounter == 1, "DS_AppData.CmdAcceptedCounter == 1"); - - UtAssert_True - (DS_AppData.DestFileTblPtr->File[CmdPacket.FileTableIndex].FileNameType == 2, - "DS_AppData.DestFileTblPtr->File[CmdPacket.FileTableIndex].FileNameType == 2"); - - UtAssert_True - (Ut_CFE_EVS_EventSent(DS_NTYPE_CMD_EID, CFE_EVS_DEBUG, "DEST TYPE command: file table index = 1, filename type = 2"), - "DEST TYPE command: file table index = 1, filename type = 2"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 1, "Ut_CFE_EVS_GetEventQueueDepth() == 1"); - - /* Verify command struct size minus header is at least explicitly padded to 32-bit boundaries */ - UtAssert_True (CMD_STRUCT_DATA_IS_32_ALIGNED(DS_DestTypeCmd_t), "DS_DestTypeCmd_t is 32-bit aligned"); -} /* end DS_CmdSetDestType_Test_Nominal */ - -void DS_CmdSetDestType_Test_InvalidCommandLength(void) -{ - DS_DestTypeCmd_t CmdPacket; - - CFE_SB_InitMsg (&CmdPacket, DS_CMD_MID, 1, TRUE); - CFE_SB_SetCmdCode((CFE_SB_MsgPtr_t)&CmdPacket, DS_SET_DEST_TYPE_CC); - - /* Execute the function being tested */ - DS_CmdSetDestType((CFE_SB_MsgPtr_t)&CmdPacket); - - /* Verify results */ - UtAssert_True (DS_AppData.CmdRejectedCounter == 1, "DS_AppData.CmdRejectedCounter == 1"); - - UtAssert_True - (Ut_CFE_EVS_EventSent(DS_NTYPE_CMD_ERR_EID, CFE_EVS_ERROR, "Invalid DEST TYPE command length: expected = 12, actual = 1"), - "Invalid DEST TYPE command length: expected = 12, actual = 1"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 1, "Ut_CFE_EVS_GetEventQueueDepth() == 1"); - -} /* end DS_CmdSetDestType_Test_InvalidCommandLength */ - -void DS_CmdSetDestType_Test_InvalidFileTableIndex(void) -{ - DS_DestTypeCmd_t CmdPacket; - - CFE_SB_InitMsg (&CmdPacket, DS_CMD_MID, sizeof(DS_DestTypeCmd_t), TRUE); - CFE_SB_SetCmdCode((CFE_SB_MsgPtr_t)&CmdPacket, DS_SET_DEST_TYPE_CC); - - CmdPacket.FileTableIndex = 99; - - /* Execute the function being tested */ - DS_CmdSetDestType((CFE_SB_MsgPtr_t)&CmdPacket); - - /* Verify results */ - UtAssert_True (DS_AppData.CmdRejectedCounter == 1, "DS_AppData.CmdRejectedCounter == 1"); - - UtAssert_True - (Ut_CFE_EVS_EventSent(DS_NTYPE_CMD_ERR_EID, CFE_EVS_ERROR, "Invalid DEST TYPE command arg: file table index = 99"), - "Invalid DEST TYPE command arg: file table index = 99"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 1, "Ut_CFE_EVS_GetEventQueueDepth() == 1"); - -} /* end DS_CmdSetDestType_Test_InvalidFileTableIndex */ - -void DS_CmdSetDestType_Test_InvalidFilenameType(void) -{ - DS_DestTypeCmd_t CmdPacket; - - CFE_SB_InitMsg (&CmdPacket, DS_CMD_MID, sizeof(DS_DestTypeCmd_t), TRUE); - CFE_SB_SetCmdCode((CFE_SB_MsgPtr_t)&CmdPacket, DS_SET_DEST_TYPE_CC); - - CmdPacket.FileTableIndex = 1; - CmdPacket.FileNameType = 99; - - /* Execute the function being tested */ - DS_CmdSetDestType((CFE_SB_MsgPtr_t)&CmdPacket); - - /* Verify results */ - UtAssert_True (DS_AppData.CmdRejectedCounter == 1, "DS_AppData.CmdRejectedCounter == 1"); - - UtAssert_True - (Ut_CFE_EVS_EventSent(DS_NTYPE_CMD_ERR_EID, CFE_EVS_ERROR, "Invalid DEST TYPE command arg: filename type = 99"), - "Invalid DEST TYPE command arg: filename type = 99"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 1, "Ut_CFE_EVS_GetEventQueueDepth() == 1"); - -} /* end DS_CmdSetDestType_Test_InvalidFilenameType */ - -void DS_CmdSetDestType_Test_FileTableNotLoaded(void) -{ - DS_DestTypeCmd_t CmdPacket; - - CFE_SB_InitMsg (&CmdPacket, DS_CMD_MID, sizeof(DS_DestTypeCmd_t), TRUE); - CFE_SB_SetCmdCode((CFE_SB_MsgPtr_t)&CmdPacket, DS_SET_DEST_TYPE_CC); - - CmdPacket.FileTableIndex = 1; - CmdPacket.FileNameType = 2; - - DS_AppData.DestFileTblPtr = 0; - - /* Execute the function being tested */ - DS_CmdSetDestType((CFE_SB_MsgPtr_t)&CmdPacket); - - /* Verify results */ - UtAssert_True (DS_AppData.CmdRejectedCounter == 1, "DS_AppData.CmdRejectedCounter == 1"); - - UtAssert_True - (Ut_CFE_EVS_EventSent(DS_NTYPE_CMD_ERR_EID, CFE_EVS_ERROR, "Invalid DEST TYPE command: destination file table is not loaded"), - "Invalid DEST TYPE command: destination file table is not loaded"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 1, "Ut_CFE_EVS_GetEventQueueDepth() == 1"); - -} /* end DS_CmdSetDestType_Test_FileTableNotLoaded */ - -void DS_CmdSetDestState_Test_Nominal(void) -{ - DS_DestStateCmd_t CmdPacket; - DS_DestFileTable_t DestFileTable; - - CFE_SB_InitMsg (&CmdPacket, DS_CMD_MID, sizeof(DS_DestStateCmd_t), TRUE); - CFE_SB_SetCmdCode((CFE_SB_MsgPtr_t)&CmdPacket, DS_SET_DEST_STATE_CC); - - CmdPacket.FileTableIndex = 1; - CmdPacket.EnableState = 1; - - DS_AppData.DestFileTblPtr = &DestFileTable; - - /* Execute the function being tested */ - DS_CmdSetDestState((CFE_SB_MsgPtr_t)&CmdPacket); - - /* Verify results */ - UtAssert_True (DS_AppData.CmdAcceptedCounter == 1, "DS_AppData.CmdAcceptedCounter == 1"); - - UtAssert_True - (DS_AppData.DestFileTblPtr->File[CmdPacket.FileTableIndex].EnableState == CmdPacket.EnableState, - "DS_AppData.DestFileTblPtr->File[CmdPacket.FileTableIndex].EnableState == CmdPacket.EnableState"); - - UtAssert_True - (Ut_CFE_EVS_EventSent(DS_STATE_CMD_EID, CFE_EVS_DEBUG, "DEST STATE command: file table index = 1, file state = 1"), - "DEST STATE command: file table index = 1, file state = 1"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 1, "Ut_CFE_EVS_GetEventQueueDepth() == 1"); - - /* Verify command struct size minus header is at least explicitly padded to 32-bit boundaries */ - UtAssert_True (CMD_STRUCT_DATA_IS_32_ALIGNED(DS_DestStateCmd_t), "DS_DestStateCmd_t is 32-bit aligned"); -} /* end DS_CmdSetDestState_Test_Nominal */ - -void DS_CmdSetDestState_Test_InvalidCommandLength(void) -{ - DS_DestStateCmd_t CmdPacket; - - CFE_SB_InitMsg (&CmdPacket, DS_CMD_MID, 1, TRUE); - CFE_SB_SetCmdCode((CFE_SB_MsgPtr_t)&CmdPacket, DS_SET_DEST_STATE_CC); - - /* Execute the function being tested */ - DS_CmdSetDestState((CFE_SB_MsgPtr_t)&CmdPacket); - - /* Verify results */ - UtAssert_True (DS_AppData.CmdRejectedCounter == 1, "DS_AppData.CmdRejectedCounter == 1"); - - UtAssert_True - (Ut_CFE_EVS_EventSent(DS_STATE_CMD_ERR_EID, CFE_EVS_ERROR, "Invalid DEST STATE command length: expected = 12, actual = 1"), - "Invalid DEST STATE command length: expected = 12, actual = 1"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 1, "Ut_CFE_EVS_GetEventQueueDepth() == 1"); - -} /* end DS_CmdSetDestState_Test_InvalidCommandLength */ - -void DS_CmdSetDestState_Test_InvalidFileTableIndex(void) -{ - DS_DestStateCmd_t CmdPacket; - - CFE_SB_InitMsg (&CmdPacket, DS_CMD_MID, sizeof(DS_DestStateCmd_t), TRUE); - CFE_SB_SetCmdCode((CFE_SB_MsgPtr_t)&CmdPacket, DS_SET_DEST_STATE_CC); - - CmdPacket.FileTableIndex = 99; - - /* Execute the function being tested */ - DS_CmdSetDestState((CFE_SB_MsgPtr_t)&CmdPacket); - - /* Verify results */ - UtAssert_True (DS_AppData.CmdRejectedCounter == 1, "DS_AppData.CmdRejectedCounter == 1"); - - UtAssert_True - (Ut_CFE_EVS_EventSent(DS_STATE_CMD_ERR_EID, CFE_EVS_ERROR, "Invalid DEST STATE command arg: file table index = 99"), - "Invalid DEST STATE command arg: file table index = 99"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 1, "Ut_CFE_EVS_GetEventQueueDepth() == 1"); - -} /* end DS_CmdSetDestState_Test_InvalidFileTableIndex */ - -void DS_CmdSetDestState_Test_InvalidFileState(void) -{ - DS_DestStateCmd_t CmdPacket; - - CFE_SB_InitMsg (&CmdPacket, DS_CMD_MID, sizeof(DS_DestStateCmd_t), TRUE); - CFE_SB_SetCmdCode((CFE_SB_MsgPtr_t)&CmdPacket, DS_SET_DEST_STATE_CC); - - CmdPacket.FileTableIndex = 1; - CmdPacket.EnableState = 99; - - /* Execute the function being tested */ - DS_CmdSetDestState((CFE_SB_MsgPtr_t)&CmdPacket); - - /* Verify results */ - UtAssert_True (DS_AppData.CmdRejectedCounter == 1, "DS_AppData.CmdRejectedCounter == 1"); - - UtAssert_True - (Ut_CFE_EVS_EventSent(DS_STATE_CMD_ERR_EID, CFE_EVS_ERROR, "Invalid DEST STATE command arg: file state = 99"), - "Invalid DEST STATE command arg: file state = 99"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 1, "Ut_CFE_EVS_GetEventQueueDepth() == 1"); - -} /* end DS_CmdSetDestState_Test_InvalidFileState */ - -void DS_CmdSetDestState_Test_FileTableNotLoaded(void) -{ - DS_DestStateCmd_t CmdPacket; - - CFE_SB_InitMsg (&CmdPacket, DS_CMD_MID, sizeof(DS_DestStateCmd_t), TRUE); - CFE_SB_SetCmdCode((CFE_SB_MsgPtr_t)&CmdPacket, DS_SET_DEST_STATE_CC); - - CmdPacket.FileTableIndex = 1; - - DS_AppData.DestFileTblPtr = 0; - - /* Execute the function being tested */ - DS_CmdSetDestState((CFE_SB_MsgPtr_t)&CmdPacket); - - /* Verify results */ - UtAssert_True (DS_AppData.CmdRejectedCounter == 1, "DS_AppData.CmdRejectedCounter == 1"); - - UtAssert_True - (Ut_CFE_EVS_EventSent(DS_STATE_CMD_ERR_EID, CFE_EVS_ERROR, "Invalid DEST STATE command: destination file table is not loaded"), - "Invalid DEST STATE command: destination file table is not loaded"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 1, "Ut_CFE_EVS_GetEventQueueDepth() == 1"); - -} /* end DS_CmdSetDestState_Test_FileTableNotLoaded */ - -void DS_CmdSetDestPath_Test_Nominal(void) -{ - DS_DestPathCmd_t CmdPacket; - DS_DestFileTable_t DestFileTable; - - CFE_SB_InitMsg (&CmdPacket, DS_CMD_MID, sizeof(DS_DestPathCmd_t), TRUE); - CFE_SB_SetCmdCode((CFE_SB_MsgPtr_t)&CmdPacket, DS_SET_DEST_PATH_CC); - - CmdPacket.FileTableIndex = 1; - strncpy (CmdPacket.Pathname, "pathname", OS_MAX_PATH_LEN); - - DS_AppData.DestFileTblPtr = &DestFileTable; - - /* Execute the function being tested */ - DS_CmdSetDestPath((CFE_SB_MsgPtr_t)&CmdPacket); - - /* Verify results */ - UtAssert_True (DS_AppData.CmdAcceptedCounter == 1, "DS_AppData.CmdAcceptedCounter == 1"); - - UtAssert_True - (strncmp (DS_AppData.DestFileTblPtr->File[CmdPacket.FileTableIndex].Pathname, "pathname", OS_MAX_PATH_LEN) == 0, - "strncmp (DS_AppData.DestFileTblPtr->File[CmdPacket.FileTableIndex].Pathname, 'pathname', OS_MAX_PATH_LEN) == 0"); - - UtAssert_True - (Ut_CFE_EVS_EventSent(DS_PATH_CMD_EID, CFE_EVS_DEBUG, "DEST PATH command: file table index = 1, pathname = 'pathname'"), - "DEST PATH command: file table index = 1, pathname = 'pathname'"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 1, "Ut_CFE_EVS_GetEventQueueDepth() == 1"); - - /* Verify command struct size minus header is at least explicitly padded to 32-bit boundaries */ - UtAssert_True (CMD_STRUCT_DATA_IS_32_ALIGNED(DS_DestPathCmd_t), "DS_DestPathCmd_t is 32-bit aligned"); -} /* end DS_CmdSetDestPath_Test_Nominal */ - -void DS_CmdSetDestPath_Test_InvalidCommandLength(void) -{ - DS_DestPathCmd_t CmdPacket; - char ErrorMessage[150]; - - CFE_SB_InitMsg (&CmdPacket, DS_CMD_MID, 1, TRUE); - CFE_SB_SetCmdCode((CFE_SB_MsgPtr_t)&CmdPacket, DS_SET_DEST_STATE_CC); - - /* Execute the function being tested */ - DS_CmdSetDestPath((CFE_SB_MsgPtr_t)&CmdPacket); - - /* Verify results */ - UtAssert_True (DS_AppData.CmdRejectedCounter == 1, "DS_AppData.CmdRejectedCounter == 1"); - - sprintf(ErrorMessage, "Invalid DEST PATH command length: expected = %d, actual = 1", sizeof(DS_DestPathCmd_t)); - UtAssert_True - (Ut_CFE_EVS_EventSent(DS_PATH_CMD_ERR_EID, CFE_EVS_ERROR, ErrorMessage), - ErrorMessage); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 1, "Ut_CFE_EVS_GetEventQueueDepth() == 1"); - -} /* end DS_CmdSetDestPath_Test_InvalidCommandLength */ - -void DS_CmdSetDestPath_Test_InvalidFileTableIndex(void) -{ - DS_DestPathCmd_t CmdPacket; - - CFE_SB_InitMsg (&CmdPacket, DS_CMD_MID, sizeof(DS_DestPathCmd_t), TRUE); - CFE_SB_SetCmdCode((CFE_SB_MsgPtr_t)&CmdPacket, DS_SET_DEST_STATE_CC); - - CmdPacket.FileTableIndex = 99; - - /* Execute the function being tested */ - DS_CmdSetDestPath((CFE_SB_MsgPtr_t)&CmdPacket); - - /* Verify results */ - UtAssert_True (DS_AppData.CmdRejectedCounter == 1, "DS_AppData.CmdRejectedCounter == 1"); - - UtAssert_True - (Ut_CFE_EVS_EventSent(DS_PATH_CMD_ERR_EID, CFE_EVS_ERROR, "Invalid DEST PATH command arg: file table index = 99"), - "Invalid DEST PATH command arg: file table index = 99"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 1, "Ut_CFE_EVS_GetEventQueueDepth() == 1"); - -} /* end DS_CmdSetDestPath_Test_InvalidFileTableIndex */ - -void DS_CmdSetDestPath_Test_InvalidPathname(void) -{ - DS_DestPathCmd_t CmdPacket; - - CFE_SB_InitMsg (&CmdPacket, DS_CMD_MID, sizeof(DS_DestPathCmd_t), TRUE); - CFE_SB_SetCmdCode((CFE_SB_MsgPtr_t)&CmdPacket, DS_SET_DEST_STATE_CC); - - CmdPacket.FileTableIndex = 1; - strncpy (CmdPacket.Pathname, "***", OS_MAX_PATH_LEN); - - DS_AppData.DestFileTblPtr = 0; - - /* Execute the function being tested */ - DS_CmdSetDestPath((CFE_SB_MsgPtr_t)&CmdPacket); - - /* Verify results */ - UtAssert_True (DS_AppData.CmdRejectedCounter == 1, "DS_AppData.CmdRejectedCounter == 1"); - - UtAssert_True - (Ut_CFE_EVS_EventSent(DS_PATH_CMD_ERR_EID, CFE_EVS_ERROR, "Invalid DEST PATH command arg: pathname"), - "Invalid DEST PATH command arg: pathname"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 1, "Ut_CFE_EVS_GetEventQueueDepth() == 1"); - -} /* end DS_CmdSetDestPath_Test_InvalidPathname */ - -void DS_CmdSetDestPath_Test_FileTableNotLoaded(void) -{ - DS_DestPathCmd_t CmdPacket; - - CFE_SB_InitMsg (&CmdPacket, DS_CMD_MID, sizeof(DS_DestPathCmd_t), TRUE); - CFE_SB_SetCmdCode((CFE_SB_MsgPtr_t)&CmdPacket, DS_SET_DEST_STATE_CC); - - CmdPacket.FileTableIndex = 1; - strncpy (CmdPacket.Pathname, "pathname", OS_MAX_PATH_LEN); - - DS_AppData.DestFileTblPtr = 0; - - /* Execute the function being tested */ - DS_CmdSetDestPath((CFE_SB_MsgPtr_t)&CmdPacket); - - /* Verify results */ - UtAssert_True (DS_AppData.CmdRejectedCounter == 1, "DS_AppData.CmdRejectedCounter == 1"); - - UtAssert_True - (Ut_CFE_EVS_EventSent(DS_PATH_CMD_ERR_EID, CFE_EVS_ERROR, "Invalid DEST PATH command: destination file table is not loaded"), - "Invalid DEST PATH command: destination file table is not loaded"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 1, "Ut_CFE_EVS_GetEventQueueDepth() == 1"); - -} /* end DS_CmdSetDestPath_Test_FileTableNotLoaded */ - -void DS_CmdSetDestBase_Test_Nominal(void) -{ - DS_DestBaseCmd_t CmdPacket; - DS_DestFileTable_t DestFileTable; - - CFE_SB_InitMsg (&CmdPacket, DS_CMD_MID, sizeof(DS_DestBaseCmd_t), TRUE); - CFE_SB_SetCmdCode((CFE_SB_MsgPtr_t)&CmdPacket, DS_SET_DEST_PATH_CC); - - CmdPacket.FileTableIndex = 1; - strncpy (CmdPacket.Basename, "base", OS_MAX_PATH_LEN); - - DS_AppData.DestFileTblPtr = &DestFileTable; - - /* Execute the function being tested */ - DS_CmdSetDestBase((CFE_SB_MsgPtr_t)&CmdPacket); - - /* Verify results */ - UtAssert_True (DS_AppData.CmdAcceptedCounter == 1, "DS_AppData.CmdAcceptedCounter == 1"); - - UtAssert_True - (strncmp (DS_AppData.DestFileTblPtr->File[CmdPacket.FileTableIndex].Basename, "base", OS_MAX_PATH_LEN) == 0, - "strncmp (DS_AppData.DestFileTblPtr->File[CmdPacket.FileTableIndex].Basename, 'base', OS_MAX_PATH_LEN) == 0"); - - UtAssert_True - (Ut_CFE_EVS_EventSent(DS_BASE_CMD_EID, CFE_EVS_DEBUG, "DEST BASE command: file table index = 1, base filename = 'base'"), - "DEST BASE command: file table index = 1, base filename = 'base'"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 1, "Ut_CFE_EVS_GetEventQueueDepth() == 1"); - - /* Verify command struct size minus header is at least explicitly padded to 32-bit boundaries */ - UtAssert_True (CMD_STRUCT_DATA_IS_32_ALIGNED(DS_DestBaseCmd_t), "DS_DestBaseCmd_t is 32-bit aligned"); -} /* end DS_CmdSetDestBase_Test_Nominal */ - -void DS_CmdSetDestBase_Test_InvalidCommandLength(void) -{ - DS_DestBaseCmd_t CmdPacket; - char ErrorMessage[150]; - - CFE_SB_InitMsg (&CmdPacket, DS_CMD_MID, 1, TRUE); - CFE_SB_SetCmdCode((CFE_SB_MsgPtr_t)&CmdPacket, DS_SET_DEST_STATE_CC); - - /* Execute the function being tested */ - DS_CmdSetDestBase((CFE_SB_MsgPtr_t)&CmdPacket); - - /* Verify results */ - UtAssert_True (DS_AppData.CmdRejectedCounter == 1, "DS_AppData.CmdRejectedCounter == 1"); - - sprintf(ErrorMessage, "Invalid DEST BASE command length: expected = %d, actual = 1", sizeof(DS_DestPathCmd_t)); - UtAssert_True - (Ut_CFE_EVS_EventSent(DS_BASE_CMD_ERR_EID, CFE_EVS_ERROR, ErrorMessage), - ErrorMessage); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 1, "Ut_CFE_EVS_GetEventQueueDepth() == 1"); - -} /* end DS_CmdSetDestBase_Test_InvalidCommandLength */ - -void DS_CmdSetDestBase_Test_InvalidFileTableIndex(void) -{ - DS_DestBaseCmd_t CmdPacket; - - CFE_SB_InitMsg (&CmdPacket, DS_CMD_MID, sizeof(DS_DestBaseCmd_t), TRUE); - CFE_SB_SetCmdCode((CFE_SB_MsgPtr_t)&CmdPacket, DS_SET_DEST_STATE_CC); - - CmdPacket.FileTableIndex = 99; - - /* Execute the function being tested */ - DS_CmdSetDestBase((CFE_SB_MsgPtr_t)&CmdPacket); - - /* Verify results */ - UtAssert_True (DS_AppData.CmdRejectedCounter == 1, "DS_AppData.CmdRejectedCounter == 1"); - - UtAssert_True - (Ut_CFE_EVS_EventSent(DS_BASE_CMD_ERR_EID, CFE_EVS_ERROR, "Invalid DEST BASE command arg: file table index = 99"), - "Invalid DEST BASE command arg: file table index = 99"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 1, "Ut_CFE_EVS_GetEventQueueDepth() == 1"); - -} /* end DS_CmdSetDestBase_Test_InvalidFileTableIndex */ - -void DS_CmdSetDestBase_Test_InvalidBaseFilename(void) -{ - DS_DestBaseCmd_t CmdPacket; - - CFE_SB_InitMsg (&CmdPacket, DS_CMD_MID, sizeof(DS_DestBaseCmd_t), TRUE); - CFE_SB_SetCmdCode((CFE_SB_MsgPtr_t)&CmdPacket, DS_SET_DEST_STATE_CC); - - CmdPacket.FileTableIndex = 1; - strncpy (CmdPacket.Basename, "***", OS_MAX_PATH_LEN); - - DS_AppData.DestFileTblPtr = 0; - - /* Execute the function being tested */ - DS_CmdSetDestBase((CFE_SB_MsgPtr_t)&CmdPacket); - - /* Verify results */ - UtAssert_True (DS_AppData.CmdRejectedCounter == 1, "DS_AppData.CmdRejectedCounter == 1"); - - UtAssert_True - (Ut_CFE_EVS_EventSent(DS_BASE_CMD_ERR_EID, CFE_EVS_ERROR, "Invalid DEST BASE command arg: base filename"), - "Invalid DEST BASE command arg: base filename"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 1, "Ut_CFE_EVS_GetEventQueueDepth() == 1"); - -} /* end DS_CmdSetDestBase_Test_InvalidBaseFilename */ - -void DS_CmdSetDestBase_Test_FileTableNotLoaded(void) -{ - DS_DestPathCmd_t CmdPacket; - - CFE_SB_InitMsg (&CmdPacket, DS_CMD_MID, sizeof(DS_DestBaseCmd_t), TRUE); - CFE_SB_SetCmdCode((CFE_SB_MsgPtr_t)&CmdPacket, DS_SET_DEST_STATE_CC); - - CmdPacket.FileTableIndex = 1; - strncpy (CmdPacket.Pathname, "pathname", OS_MAX_PATH_LEN); - - DS_AppData.DestFileTblPtr = 0; - - /* Execute the function being tested */ - DS_CmdSetDestBase((CFE_SB_MsgPtr_t)&CmdPacket); - - /* Verify results */ - UtAssert_True (DS_AppData.CmdRejectedCounter == 1, "DS_AppData.CmdRejectedCounter == 1"); - - UtAssert_True - (Ut_CFE_EVS_EventSent(DS_BASE_CMD_ERR_EID, CFE_EVS_ERROR, "Invalid DEST BASE command: destination file table is not loaded"), - "Invalid DEST BASE command: destination file table is not loaded"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 1, "Ut_CFE_EVS_GetEventQueueDepth() == 1"); - -} /* end DS_CmdSetDestBase_Test_FileTableNotLoaded */ - -void DS_CmdSetDestExt_Test_Nominal(void) -{ - DS_DestExtCmd_t CmdPacket; - DS_DestFileTable_t DestFileTable; - - CFE_SB_InitMsg (&CmdPacket, DS_CMD_MID, sizeof(DS_DestExtCmd_t), TRUE); - CFE_SB_SetCmdCode((CFE_SB_MsgPtr_t)&CmdPacket, DS_SET_DEST_EXT_CC); - - CmdPacket.FileTableIndex = 1; - strncpy (CmdPacket.Extension, "txt", DS_EXTENSION_BUFSIZE); - - DS_AppData.DestFileTblPtr = &DestFileTable; - - /* Execute the function being tested */ - DS_CmdSetDestExt((CFE_SB_MsgPtr_t)&CmdPacket); - - /* Verify results */ - UtAssert_True (DS_AppData.CmdAcceptedCounter == 1, "DS_AppData.CmdAcceptedCounter == 1"); - - UtAssert_True - (strncmp (DS_AppData.DestFileTblPtr->File[CmdPacket.FileTableIndex].Extension, "txt", DS_EXTENSION_BUFSIZE) == 0, - "strncmp (DS_AppData.DestFileTblPtr->File[CmdPacket.FileTableIndex].Extension, 'txt', DS_EXTENSION_BUFSIZE) == 0"); - - UtAssert_True - (Ut_CFE_EVS_EventSent(DS_EXT_CMD_EID, CFE_EVS_DEBUG, "DEST EXT command: file table index = 1, extension = 'txt'"), - "DEST EXT command: file table index = 1, extension = 'txt'"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 1, "Ut_CFE_EVS_GetEventQueueDepth() == 1"); - - /* Verify command struct size minus header is at least explicitly padded to 32-bit boundaries */ - UtAssert_True (CMD_STRUCT_DATA_IS_32_ALIGNED(DS_DestExtCmd_t), "DS_DestExtCmd_t is 32-bit aligned"); -} /* end DS_CmdSetDestExt_Test_Nominal */ - -void DS_CmdSetDestExt_Test_InvalidCommandLength(void) -{ - DS_DestExtCmd_t CmdPacket; - - CFE_SB_InitMsg (&CmdPacket, DS_CMD_MID, 1, TRUE); - CFE_SB_SetCmdCode((CFE_SB_MsgPtr_t)&CmdPacket, DS_SET_DEST_EXT_CC); - - /* Execute the function being tested */ - DS_CmdSetDestExt((CFE_SB_MsgPtr_t)&CmdPacket); - - /* Verify results */ - UtAssert_True (DS_AppData.CmdRejectedCounter == 1, "DS_AppData.CmdRejectedCounter == 1"); - - UtAssert_True - (Ut_CFE_EVS_EventSent(DS_EXT_CMD_ERR_EID, CFE_EVS_ERROR, "Invalid DEST EXT command length: expected = 20, actual = 1"), - "Invalid DEST EXT command length: expected = 20, actual = 1"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 1, "Ut_CFE_EVS_GetEventQueueDepth() == 1"); - -} /* end DS_CmdSetDestExt_Test_InvalidCommandLength */ - -void DS_CmdSetDestExt_Test_InvalidFileTableIndex(void) -{ - DS_DestExtCmd_t CmdPacket; - - CFE_SB_InitMsg (&CmdPacket, DS_CMD_MID, sizeof(DS_DestExtCmd_t), TRUE); - CFE_SB_SetCmdCode((CFE_SB_MsgPtr_t)&CmdPacket, DS_SET_DEST_EXT_CC); - - CmdPacket.FileTableIndex = 99; - - /* Execute the function being tested */ - DS_CmdSetDestExt((CFE_SB_MsgPtr_t)&CmdPacket); - - /* Verify results */ - UtAssert_True (DS_AppData.CmdRejectedCounter == 1, "DS_AppData.CmdRejectedCounter == 1"); - - UtAssert_True - (Ut_CFE_EVS_EventSent(DS_EXT_CMD_ERR_EID, CFE_EVS_ERROR, "Invalid DEST EXT command arg: file table index = 99"), - "Invalid DEST EXT command arg: file table index = 99"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 1, "Ut_CFE_EVS_GetEventQueueDepth() == 1"); - -} /* end DS_CmdSetDestExt_Test_InvalidFileTableIndex */ - -void DS_CmdSetDestExt_Test_InvalidFilenameExtension(void) -{ - DS_DestExtCmd_t CmdPacket; - - CFE_SB_InitMsg (&CmdPacket, DS_CMD_MID, sizeof(DS_DestExtCmd_t), TRUE); - CFE_SB_SetCmdCode((CFE_SB_MsgPtr_t)&CmdPacket, DS_SET_DEST_EXT_CC); - - CmdPacket.FileTableIndex = 1; - strncpy (CmdPacket.Extension, "***", DS_EXTENSION_BUFSIZE); - - DS_AppData.DestFileTblPtr = 0; - - /* Execute the function being tested */ - DS_CmdSetDestExt((CFE_SB_MsgPtr_t)&CmdPacket); - - /* Verify results */ - UtAssert_True (DS_AppData.CmdRejectedCounter == 1, "DS_AppData.CmdRejectedCounter == 1"); - - UtAssert_True - (Ut_CFE_EVS_EventSent(DS_EXT_CMD_ERR_EID, CFE_EVS_ERROR, "Invalid DEST EXT command arg: extension"), - "Invalid DEST EXT command arg: extension"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 1, "Ut_CFE_EVS_GetEventQueueDepth() == 1"); - -} /* end DS_CmdSetDestExt_Test_InvalidFilenameExtension */ - -void DS_CmdSetDestExt_Test_FileTableNotLoaded(void) -{ - DS_DestExtCmd_t CmdPacket; - - CFE_SB_InitMsg (&CmdPacket, DS_CMD_MID, sizeof(DS_DestExtCmd_t), TRUE); - CFE_SB_SetCmdCode((CFE_SB_MsgPtr_t)&CmdPacket, DS_SET_DEST_EXT_CC); - - CmdPacket.FileTableIndex = 1; - strncpy (CmdPacket.Extension, "txt", DS_EXTENSION_BUFSIZE); - - DS_AppData.DestFileTblPtr = 0; - - /* Execute the function being tested */ - DS_CmdSetDestExt((CFE_SB_MsgPtr_t)&CmdPacket); - - /* Verify results */ - UtAssert_True (DS_AppData.CmdRejectedCounter == 1, "DS_AppData.CmdRejectedCounter == 1"); - - UtAssert_True - (Ut_CFE_EVS_EventSent(DS_EXT_CMD_ERR_EID, CFE_EVS_ERROR, "Invalid DEST EXT command: destination file table is not loaded"), - "Invalid DEST EXT command: destination file table is not loaded"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 1, "Ut_CFE_EVS_GetEventQueueDepth() == 1"); - -} /* end DS_CmdSetDestExt_Test_FileTableNotLoaded */ - -void DS_CmdSetDestSize_Test_Nominal(void) -{ - DS_DestSizeCmd_t CmdPacket; - DS_DestFileTable_t DestFileTable; - - CFE_SB_InitMsg (&CmdPacket, DS_CMD_MID, sizeof(DS_DestSizeCmd_t), TRUE); - CFE_SB_SetCmdCode((CFE_SB_MsgPtr_t)&CmdPacket, DS_SET_DEST_EXT_CC); - - CmdPacket.FileTableIndex = 1; - CmdPacket.MaxFileSize = 100000000; - - DS_AppData.DestFileTblPtr = &DestFileTable; - - /* Execute the function being tested */ - DS_CmdSetDestSize((CFE_SB_MsgPtr_t)&CmdPacket); - - /* Verify results */ - UtAssert_True (DS_AppData.CmdAcceptedCounter == 1, "DS_AppData.CmdAcceptedCounter == 1"); - - UtAssert_True - (DS_AppData.DestFileTblPtr->File[CmdPacket.FileTableIndex].MaxFileSize == 100000000, - "DS_AppData.DestFileTblPtr->File[CmdPacket.FileTableIndex].MaxFileSize == 100000000"); - - UtAssert_True - (Ut_CFE_EVS_EventSent(DS_SIZE_CMD_EID, CFE_EVS_DEBUG, "DEST SIZE command: file table index = 1, size limit = 100000000"), - "DEST SIZE command: file table index = 1, size limit = 100000000"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 1, "Ut_CFE_EVS_GetEventQueueDepth() == 1"); - - /* Verify command struct size minus header is at least explicitly padded to 32-bit boundaries */ - UtAssert_True (CMD_STRUCT_DATA_IS_32_ALIGNED(DS_DestSizeCmd_t), "DS_DestSizeCmd_t is 32-bit aligned"); -} /* end DS_CmdSetDestSize_Test_Nominal */ - -void DS_CmdSetDestSize_Test_InvalidCommandLength(void) -{ - DS_DestSizeCmd_t CmdPacket; - - CFE_SB_InitMsg (&CmdPacket, DS_CMD_MID, 1, TRUE); - CFE_SB_SetCmdCode((CFE_SB_MsgPtr_t)&CmdPacket, DS_SET_DEST_EXT_CC); - - CmdPacket.FileTableIndex = 1; - CmdPacket.MaxFileSize = 100000000; - - /* Execute the function being tested */ - DS_CmdSetDestSize((CFE_SB_MsgPtr_t)&CmdPacket); - - /* Verify results */ - UtAssert_True (DS_AppData.CmdRejectedCounter == 1, "DS_AppData.CmdRejectedCounter == 1"); - - UtAssert_True - (Ut_CFE_EVS_EventSent(DS_SIZE_CMD_ERR_EID, CFE_EVS_ERROR, "Invalid DEST SIZE command length: expected = 16, actual = 1"), - "Invalid DEST SIZE command length: expected = 16, actual = 1"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 1, "Ut_CFE_EVS_GetEventQueueDepth() == 1"); - -} /* end DS_CmdSetDestSize_Test_InvalidCommandLength */ - -void DS_CmdSetDestSize_Test_InvalidFileTableIndex(void) -{ - DS_DestSizeCmd_t CmdPacket; - - CFE_SB_InitMsg (&CmdPacket, DS_CMD_MID, sizeof(DS_DestSizeCmd_t), TRUE); - CFE_SB_SetCmdCode((CFE_SB_MsgPtr_t)&CmdPacket, DS_SET_DEST_EXT_CC); - - CmdPacket.FileTableIndex = 99; - CmdPacket.MaxFileSize = 100000000; - - /* Execute the function being tested */ - DS_CmdSetDestSize((CFE_SB_MsgPtr_t)&CmdPacket); - - /* Verify results */ - UtAssert_True (DS_AppData.CmdRejectedCounter == 1, "DS_AppData.CmdRejectedCounter == 1"); - - UtAssert_True - (Ut_CFE_EVS_EventSent(DS_SIZE_CMD_ERR_EID, CFE_EVS_ERROR, "Invalid DEST SIZE command arg: file table index = 99"), - "Invalid DEST SIZE command arg: file table index = 99"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 1, "Ut_CFE_EVS_GetEventQueueDepth() == 1"); - -} /* end DS_CmdSetDestSize_Test_InvalidFileTableIndex */ - -void DS_CmdSetDestSize_Test_InvalidFileSizeLimit(void) -{ - DS_DestSizeCmd_t CmdPacket; - - CFE_SB_InitMsg (&CmdPacket, DS_CMD_MID, sizeof(DS_DestSizeCmd_t), TRUE); - CFE_SB_SetCmdCode((CFE_SB_MsgPtr_t)&CmdPacket, DS_SET_DEST_EXT_CC); - - CmdPacket.FileTableIndex = 1; - CmdPacket.MaxFileSize = 1; - - DS_AppData.DestFileTblPtr = 0; - - /* Execute the function being tested */ - DS_CmdSetDestSize((CFE_SB_MsgPtr_t)&CmdPacket); - - /* Verify results */ - UtAssert_True (DS_AppData.CmdRejectedCounter == 1, "DS_AppData.CmdRejectedCounter == 1"); - - UtAssert_True - (Ut_CFE_EVS_EventSent(DS_SIZE_CMD_ERR_EID, CFE_EVS_ERROR, "Invalid DEST SIZE command arg: size limit = 1"), - "Invalid DEST SIZE command arg: size limit = 1"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 1, "Ut_CFE_EVS_GetEventQueueDepth() == 1"); - -} /* end DS_CmdSetDestSize_Test_InvalidFileSizeLimit */ - -void DS_CmdSetDestSize_Test_FileTableNotLoaded(void) -{ - DS_DestSizeCmd_t CmdPacket; - - CFE_SB_InitMsg (&CmdPacket, DS_CMD_MID, sizeof(DS_DestSizeCmd_t), TRUE); - CFE_SB_SetCmdCode((CFE_SB_MsgPtr_t)&CmdPacket, DS_SET_DEST_EXT_CC); - - CmdPacket.FileTableIndex = 1; - CmdPacket.MaxFileSize = 100000000; - - DS_AppData.DestFileTblPtr = 0; - - /* Execute the function being tested */ - DS_CmdSetDestSize((CFE_SB_MsgPtr_t)&CmdPacket); - - /* Verify results */ - UtAssert_True (DS_AppData.CmdRejectedCounter == 1, "DS_AppData.CmdRejectedCounter == 1"); - - UtAssert_True - (Ut_CFE_EVS_EventSent(DS_SIZE_CMD_ERR_EID, CFE_EVS_ERROR, "Invalid DEST SIZE command: destination file table is not loaded"), - "Invalid DEST SIZE command: destination file table is not loaded"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 1, "Ut_CFE_EVS_GetEventQueueDepth() == 1"); - -} /* end DS_CmdSetDestSize_Test_FileTableNotLoaded */ - -void DS_CmdSetDestAge_Test_Nominal(void) -{ - DS_DestAgeCmd_t CmdPacket; - DS_DestFileTable_t DestFileTable; - - CFE_SB_InitMsg (&CmdPacket, DS_CMD_MID, sizeof(DS_DestAgeCmd_t), TRUE); - CFE_SB_SetCmdCode((CFE_SB_MsgPtr_t)&CmdPacket, DS_SET_DEST_AGE_CC); - - CmdPacket.FileTableIndex = 1; - CmdPacket.MaxFileAge = 1000; - - DS_AppData.DestFileTblPtr = &DestFileTable; - - /* Execute the function being tested */ - DS_CmdSetDestAge((CFE_SB_MsgPtr_t)&CmdPacket); - - /* Verify results */ - UtAssert_True (DS_AppData.CmdAcceptedCounter == 1, "DS_AppData.CmdAcceptedCounter == 1"); - - UtAssert_True - (DS_AppData.DestFileTblPtr->File[CmdPacket.FileTableIndex].MaxFileAge == 1000, - "DS_AppData.DestFileTblPtr->File[CmdPacket.FileTableIndex].MaxFileAge == 1000"); - - UtAssert_True - (Ut_CFE_EVS_EventSent(DS_AGE_CMD_EID, CFE_EVS_DEBUG, "DEST AGE command: file table index = 1, age limit = 1000"), - "DEST AGE command: file table index = 1, age limit = 1000"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 1, "Ut_CFE_EVS_GetEventQueueDepth() == 1"); - - /* Verify command struct size minus header is at least explicitly padded to 32-bit boundaries */ - UtAssert_True (CMD_STRUCT_DATA_IS_32_ALIGNED(DS_DestAgeCmd_t), "DS_DestAgeCmd_t is 32-bit aligned"); -} /* end DS_CmdSetDestAge_Test_Nominal */ - -void DS_CmdSetDestAge_Test_InvalidCommandLength(void) -{ - DS_DestAgeCmd_t CmdPacket; - - CFE_SB_InitMsg (&CmdPacket, DS_CMD_MID, 1, TRUE); - CFE_SB_SetCmdCode((CFE_SB_MsgPtr_t)&CmdPacket, DS_SET_DEST_AGE_CC); - - CmdPacket.FileTableIndex = 1; - CmdPacket.MaxFileAge = 1000; - - /* Execute the function being tested */ - DS_CmdSetDestAge((CFE_SB_MsgPtr_t)&CmdPacket); - - /* Verify results */ - UtAssert_True (DS_AppData.CmdRejectedCounter == 1, "DS_AppData.CmdRejectedCounter == 1"); - - UtAssert_True - (Ut_CFE_EVS_EventSent(DS_AGE_CMD_ERR_EID, CFE_EVS_ERROR, "Invalid DEST AGE command length: expected = 16, actual = 1"), - "Invalid DEST AGE command length: expected = 16, actual = 1"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 1, "Ut_CFE_EVS_GetEventQueueDepth() == 1"); - -} /* end DS_CmdSetDestAge_Test_InvalidCommandLength */ - -void DS_CmdSetDestAge_Test_InvalidFileTableIndex(void) -{ - DS_DestAgeCmd_t CmdPacket; - - CFE_SB_InitMsg (&CmdPacket, DS_CMD_MID, sizeof(DS_DestAgeCmd_t), TRUE); - CFE_SB_SetCmdCode((CFE_SB_MsgPtr_t)&CmdPacket, DS_SET_DEST_AGE_CC); - - CmdPacket.FileTableIndex = 99; - CmdPacket.MaxFileAge = 1000; - - /* Execute the function being tested */ - DS_CmdSetDestAge((CFE_SB_MsgPtr_t)&CmdPacket); - - /* Verify results */ - UtAssert_True (DS_AppData.CmdRejectedCounter == 1, "DS_AppData.CmdRejectedCounter == 1"); - - UtAssert_True - (Ut_CFE_EVS_EventSent(DS_AGE_CMD_ERR_EID, CFE_EVS_ERROR, "Invalid DEST AGE command arg: file table index = 99"), - "Invalid DEST AGE command arg: file table index = 99"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 1, "Ut_CFE_EVS_GetEventQueueDepth() == 1"); - -} /* end DS_CmdSetDestAge_Test_InvalidFileTableIndex */ - -void DS_CmdSetDestAge_Test_InvalidFileAgeLimit(void) -{ - DS_DestAgeCmd_t CmdPacket; - - CFE_SB_InitMsg (&CmdPacket, DS_CMD_MID, sizeof(DS_DestAgeCmd_t), TRUE); - CFE_SB_SetCmdCode((CFE_SB_MsgPtr_t)&CmdPacket, DS_SET_DEST_AGE_CC); - - CmdPacket.FileTableIndex = 1; - CmdPacket.MaxFileAge = 1; - - DS_AppData.DestFileTblPtr = 0; - - /* Execute the function being tested */ - DS_CmdSetDestAge((CFE_SB_MsgPtr_t)&CmdPacket); - - /* Verify results */ - UtAssert_True (DS_AppData.CmdRejectedCounter == 1, "DS_AppData.CmdRejectedCounter == 1"); - - UtAssert_True - (Ut_CFE_EVS_EventSent(DS_AGE_CMD_ERR_EID, CFE_EVS_ERROR, "Invalid DEST AGE command arg: age limit = 1"), - "Invalid DEST AGE command arg: age limit = 1"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 1, "Ut_CFE_EVS_GetEventQueueDepth() == 1"); - -} /* end DS_CmdSetDestAge_Test_InvalidFileAgeLimit */ - -void DS_CmdSetDestAge_Test_FileTableNotLoaded(void) -{ - DS_DestAgeCmd_t CmdPacket; - - CFE_SB_InitMsg (&CmdPacket, DS_CMD_MID, sizeof(DS_DestAgeCmd_t), TRUE); - CFE_SB_SetCmdCode((CFE_SB_MsgPtr_t)&CmdPacket, DS_SET_DEST_AGE_CC); - - CmdPacket.FileTableIndex = 1; - CmdPacket.MaxFileAge = 1000; - - DS_AppData.DestFileTblPtr = 0; - - /* Execute the function being tested */ - DS_CmdSetDestAge((CFE_SB_MsgPtr_t)&CmdPacket); - - /* Verify results */ - UtAssert_True (DS_AppData.CmdRejectedCounter == 1, "DS_AppData.CmdRejectedCounter == 1"); - - UtAssert_True - (Ut_CFE_EVS_EventSent(DS_AGE_CMD_ERR_EID, CFE_EVS_ERROR, "Invalid DEST AGE command: destination file table is not loaded"), - "Invalid DEST AGE command: destination file table is not loaded"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 1, "Ut_CFE_EVS_GetEventQueueDepth() == 1"); - -} /* end DS_CmdSetDestAge_Test_FileTableNotLoaded */ - -void DS_CmdSetDestCount_Test_Nominal(void) -{ - DS_DestCountCmd_t CmdPacket; - DS_DestFileTable_t DestFileTable; - - CFE_SB_InitMsg (&CmdPacket, DS_CMD_MID, sizeof(DS_DestCountCmd_t), TRUE); - CFE_SB_SetCmdCode((CFE_SB_MsgPtr_t)&CmdPacket, DS_SET_DEST_COUNT_CC); - - CmdPacket.FileTableIndex = 1; - CmdPacket.SequenceCount = 1; - - DS_AppData.DestFileTblPtr = &DestFileTable; - - /* Execute the function being tested */ - DS_CmdSetDestCount((CFE_SB_MsgPtr_t)&CmdPacket); - - /* Verify results */ - UtAssert_True (DS_AppData.CmdAcceptedCounter == 1, "DS_AppData.CmdAcceptedCounter == 1"); - - UtAssert_True - (DS_AppData.DestFileTblPtr->File[CmdPacket.FileTableIndex].SequenceCount == 1, - "DS_AppData.DestFileTblPtr->File[CmdPacket.FileTableIndex].SequenceCount == 1"); - - UtAssert_True - (DS_AppData.FileStatus[CmdPacket.FileTableIndex].FileCount == 1, - "DS_AppData.FileStatus[CmdPacket.FileTableIndex].FileCount == 1"); - - UtAssert_True - (Ut_CFE_EVS_EventSent(DS_SEQ_CMD_EID, CFE_EVS_DEBUG, "DEST COUNT command: file table index = 1, sequence count = 1"), - "DEST COUNT command: file table index = 1, sequence count = 1"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 1, "Ut_CFE_EVS_GetEventQueueDepth() == 1"); - - /* Verify command struct size minus header is at least explicitly padded to 32-bit boundaries */ - UtAssert_True (CMD_STRUCT_DATA_IS_32_ALIGNED(DS_DestCountCmd_t), "DS_DestCountCmd_t is 32-bit aligned"); -} /* end DS_CmdSetDestCount_Test_Nominal */ - -void DS_CmdSetDestCount_Test_InvalidCommandLength(void) -{ - DS_DestCountCmd_t CmdPacket; - - CFE_SB_InitMsg (&CmdPacket, DS_CMD_MID, 1, TRUE); - CFE_SB_SetCmdCode((CFE_SB_MsgPtr_t)&CmdPacket, DS_SET_DEST_COUNT_CC); - - CmdPacket.FileTableIndex = 1; - CmdPacket.SequenceCount = 1; - - /* Execute the function being tested */ - DS_CmdSetDestCount((CFE_SB_MsgPtr_t)&CmdPacket); - - /* Verify results */ - UtAssert_True (DS_AppData.CmdRejectedCounter == 1, "DS_AppData.CmdRejectedCounter == 1"); - - UtAssert_True - (Ut_CFE_EVS_EventSent(DS_SEQ_CMD_ERR_EID, CFE_EVS_ERROR, "Invalid DEST COUNT command length: expected = 16, actual = 1"), - "Invalid DEST COUNT command length: expected = 16, actual = 1"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 1, "Ut_CFE_EVS_GetEventQueueDepth() == 1"); - -} /* end DS_CmdSetDestCount_Test_InvalidCommandLength */ - -void DS_CmdSetDestCount_Test_InvalidFileTableIndex(void) -{ - DS_DestCountCmd_t CmdPacket; - - CFE_SB_InitMsg (&CmdPacket, DS_CMD_MID, sizeof(DS_DestCountCmd_t), TRUE); - CFE_SB_SetCmdCode((CFE_SB_MsgPtr_t)&CmdPacket, DS_SET_DEST_COUNT_CC); - - CmdPacket.FileTableIndex = 99; - CmdPacket.SequenceCount = 1; - - /* Execute the function being tested */ - DS_CmdSetDestCount((CFE_SB_MsgPtr_t)&CmdPacket); - - /* Verify results */ - UtAssert_True (DS_AppData.CmdRejectedCounter == 1, "DS_AppData.CmdRejectedCounter == 1"); - - UtAssert_True - (Ut_CFE_EVS_EventSent(DS_SEQ_CMD_ERR_EID, CFE_EVS_ERROR, "Invalid DEST COUNT command arg: file table index = 99"), - "Invalid DEST COUNT command arg: file table index = 99"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 1, "Ut_CFE_EVS_GetEventQueueDepth() == 1"); - -} /* end DS_CmdSetDestCount_Test_InvalidFileTableIndex */ - -void DS_CmdSetDestCount_Test_InvalidFileSequenceCount(void) -{ - DS_DestCountCmd_t CmdPacket; - - CFE_SB_InitMsg (&CmdPacket, DS_CMD_MID, sizeof(DS_DestCountCmd_t), TRUE); - CFE_SB_SetCmdCode((CFE_SB_MsgPtr_t)&CmdPacket, DS_SET_DEST_COUNT_CC); - - CmdPacket.FileTableIndex = 1; - CmdPacket.SequenceCount = -1; - - DS_AppData.DestFileTblPtr = 0; - - /* Execute the function being tested */ - DS_CmdSetDestCount((CFE_SB_MsgPtr_t)&CmdPacket); - - /* Verify results */ - UtAssert_True (DS_AppData.CmdRejectedCounter == 1, "DS_AppData.CmdRejectedCounter == 1"); - - UtAssert_True - (Ut_CFE_EVS_EventSent(DS_SEQ_CMD_ERR_EID, CFE_EVS_ERROR, "Invalid DEST COUNT command arg: sequence count = -1"), - "Invalid DEST COUNT command arg: sequence count = -1"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 1, "Ut_CFE_EVS_GetEventQueueDepth() == 1"); - -} /* end DS_CmdSetDestCount_Test_InvalidFileSequenceCount */ - -void DS_CmdSetDestCount_Test_FileTableNotLoaded(void) -{ - DS_DestCountCmd_t CmdPacket; - - CFE_SB_InitMsg (&CmdPacket, DS_CMD_MID, sizeof(DS_DestCountCmd_t), TRUE); - CFE_SB_SetCmdCode((CFE_SB_MsgPtr_t)&CmdPacket, DS_SET_DEST_COUNT_CC); - - CmdPacket.FileTableIndex = 1; - CmdPacket.SequenceCount = 1; - - DS_AppData.DestFileTblPtr = 0; - - /* Execute the function being tested */ - DS_CmdSetDestCount((CFE_SB_MsgPtr_t)&CmdPacket); - - /* Verify results */ - UtAssert_True (DS_AppData.CmdRejectedCounter == 1, "DS_AppData.CmdRejectedCounter == 1"); - - UtAssert_True - (Ut_CFE_EVS_EventSent(DS_SEQ_CMD_ERR_EID, CFE_EVS_ERROR, "Invalid DEST COUNT command: destination file table is not loaded"), - "Invalid DEST COUNT command: destination file table is not loaded"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 1, "Ut_CFE_EVS_GetEventQueueDepth() == 1"); - -} /* end DS_CmdSetDestCount_Test_FileTableNotLoaded */ - -#if (DS_MOVE_FILES == FALSE) -void DS_CmdCloseFile_Test_Nominal(void) -{ - DS_CloseFileCmd_t CmdPacket; - DS_DestFileTable_t DestFileTable; - uint32 i; - - CFE_SB_InitMsg (&CmdPacket, DS_CMD_MID, sizeof(DS_CloseFileCmd_t), TRUE); - CFE_SB_SetCmdCode((CFE_SB_MsgPtr_t)&CmdPacket, DS_CLOSE_FILE_CC); - - CmdPacket.FileTableIndex = 0; - - DS_AppData.DestFileTblPtr = &DestFileTable; - - DS_AppData.FileStatus[CmdPacket.FileTableIndex].FileHandle = 99; - - for (i = 1; i < DS_DEST_FILE_CNT; i++) - { - DS_AppData.FileStatus[i].FileHandle = DS_CLOSED_FILE_HANDLE; - } - - /* Execute the function being tested */ - DS_CmdCloseFile((CFE_SB_MsgPtr_t)&CmdPacket); - - /* Verify results */ - UtAssert_True (DS_AppData.CmdAcceptedCounter == 1, "DS_AppData.CmdAcceptedCounter == 1"); - - UtAssert_True - (Ut_CFE_EVS_EventSent(DS_CLOSE_CMD_EID, CFE_EVS_DEBUG, "DEST CLOSE command: file table index = 0"), - "DEST CLOSE command: file table index = 0"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 1, "Ut_CFE_EVS_GetEventQueueDepth() == 1"); - - /* Verify command struct size minus header is at least explicitly padded to 32-bit boundaries */ - UtAssert_True (CMD_STRUCT_DATA_IS_32_ALIGNED(DS_CloseFileCmd_t), "DS_CloseFileCmd_t is 32-bit aligned"); -} /* end DS_CmdCloseFile_Test_Nominal */ -#endif - -void DS_CmdCloseFile_Test_InvalidCommandLength(void) -{ - DS_CloseFileCmd_t CmdPacket; - - CFE_SB_InitMsg (&CmdPacket, DS_CMD_MID, 1, TRUE); - CFE_SB_SetCmdCode((CFE_SB_MsgPtr_t)&CmdPacket, DS_CLOSE_FILE_CC); - - CmdPacket.FileTableIndex = 0; - - /* Execute the function being tested */ - DS_CmdCloseFile((CFE_SB_MsgPtr_t)&CmdPacket); - - /* Verify results */ - UtAssert_True (DS_AppData.CmdRejectedCounter == 1, "DS_AppData.CmdRejectedCounter == 1"); - - UtAssert_True - (Ut_CFE_EVS_EventSent(DS_CLOSE_CMD_ERR_EID, CFE_EVS_ERROR, "Invalid DEST CLOSE command length: expected = 12, actual = 1"), - "Invalid DEST CLOSE command length: expected = 12, actual = 1"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 1, "Ut_CFE_EVS_GetEventQueueDepth() == 1"); - -} /* end DS_CmdCloseFile_Test_InvalidCommandLength */ - -void DS_CmdCloseFile_Test_InvalidFileTableIndex(void) -{ - DS_CloseFileCmd_t CmdPacket; - - CFE_SB_InitMsg (&CmdPacket, DS_CMD_MID, sizeof(DS_CloseFileCmd_t), TRUE); - CFE_SB_SetCmdCode((CFE_SB_MsgPtr_t)&CmdPacket, DS_CLOSE_FILE_CC); - - CmdPacket.FileTableIndex = 99; - - /* Execute the function being tested */ - DS_CmdCloseFile((CFE_SB_MsgPtr_t)&CmdPacket); - - /* Verify results */ - UtAssert_True (DS_AppData.CmdRejectedCounter == 1, "DS_AppData.CmdRejectedCounter == 1"); - - UtAssert_True - (Ut_CFE_EVS_EventSent(DS_CLOSE_CMD_ERR_EID, CFE_EVS_ERROR, "Invalid DEST CLOSE command arg: file table index = 99"), - "Invalid DEST CLOSE command arg: file table index = 99"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 1, "Ut_CFE_EVS_GetEventQueueDepth() == 1"); - -} /* end DS_CmdCloseFile_Test_InvalidFileTableIndex */ - -void DS_CmdCloseAll_Test_Nominal(void) -{ - DS_CloseAllCmd_t CmdPacket; - DS_DestFileTable_t DestFileTable; - uint32 i; - - DS_AppData.DestFileTblPtr = &DestFileTable; - - CFE_SB_InitMsg (&CmdPacket, DS_CMD_MID, sizeof(DS_CloseAllCmd_t), TRUE); - CFE_SB_SetCmdCode((CFE_SB_MsgPtr_t)&CmdPacket, DS_CLOSE_ALL_CC); - - for (i = 1; i < DS_DEST_FILE_CNT; i++) - { - DS_AppData.FileStatus[i].FileHandle = DS_CLOSED_FILE_HANDLE; - } - -#if (DS_MOVE_FILES == TRUE) - strncpy (DS_AppData.DestFileTblPtr->File[0].Movename, "", DS_PATHNAME_BUFSIZE); -#endif - - /* Execute the function being tested */ - DS_CmdCloseAll((CFE_SB_MsgPtr_t)&CmdPacket); - - /* Verify results */ - UtAssert_True (DS_AppData.CmdAcceptedCounter == 1, "DS_AppData.CmdAcceptedCounter == 1"); - - UtAssert_True - (Ut_CFE_EVS_EventSent(DS_CLOSE_ALL_CMD_EID, CFE_EVS_DEBUG, "DEST CLOSE ALL command"), - "DEST CLOSE ALL command"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 1, "Ut_CFE_EVS_GetEventQueueDepth() == 1"); - - /* Verify command struct size minus header is at least explicitly padded to 32-bit boundaries */ - UtAssert_True (CMD_STRUCT_DATA_IS_32_ALIGNED(DS_CloseAllCmd_t), "DS_CloseAllCmd_t is 32-bit aligned"); -} /* end DS_CmdCloseAll_Test_Nominal */ - -void DS_CmdCloseAll_Test_InvalidCommandLength(void) -{ - DS_CloseAllCmd_t CmdPacket; - - CFE_SB_InitMsg (&CmdPacket, DS_CMD_MID, 1, TRUE); - CFE_SB_SetCmdCode((CFE_SB_MsgPtr_t)&CmdPacket, DS_CLOSE_ALL_CC); - - /* Execute the function being tested */ - DS_CmdCloseAll((CFE_SB_MsgPtr_t)&CmdPacket); - - /* Verify results */ - UtAssert_True (DS_AppData.CmdRejectedCounter == 1, "DS_AppData.CmdRejectedCounter == 1"); - - UtAssert_True - (Ut_CFE_EVS_EventSent(DS_CLOSE_ALL_CMD_ERR_EID, CFE_EVS_ERROR, "Invalid DEST CLOSE ALL command length: expected = 8, actual = 1"), - "Invalid DEST CLOSE ALL command length: expected = 8, actual = 1"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 1, "Ut_CFE_EVS_GetEventQueueDepth() == 1"); - -} /* end DS_CmdCloseAll_Test_InvalidCommandLength */ - -void DS_CmdGetFileInfo_Test_EnabledOpen(void) -{ - DS_GetFileInfoCmd_t CmdPacket; - DS_DestFileTable_t DestFileTable; - uint32 i; - - CFE_SB_InitMsg (&CmdPacket, DS_CMD_MID, sizeof(DS_GetFileInfoCmd_t), TRUE); - CFE_SB_SetCmdCode((CFE_SB_MsgPtr_t)&CmdPacket, DS_GET_FILE_INFO_CC); - - DS_AppData.DestFileTblPtr = &DestFileTable; - - for (i = 0; i < DS_DEST_FILE_CNT; i++) - { - DS_AppData.FileStatus[i].FileAge = 1; - DS_AppData.FileStatus[i].FileSize = 2; - DS_AppData.FileStatus[i].FileRate = 3; - DS_AppData.FileStatus[i].FileCount = 4; - DS_AppData.FileStatus[i].FileState = 5; - DS_AppData.FileStatus[i].FileHandle = 6; - strncpy (DS_AppData.FileStatus[i].FileName, "filename", OS_MAX_PATH_LEN); - } - - /* Execute the function being tested */ - DS_CmdGetFileInfo((CFE_SB_MsgPtr_t)&CmdPacket); - - /* Verify results */ - UtAssert_True (DS_AppData.CmdAcceptedCounter == 1, "DS_AppData.CmdAcceptedCounter == 1"); - /* Changes to DS_FileInfoPkt cannot easily be verified because DS_FileInfoPkt is a local variable */ - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 1, "Ut_CFE_EVS_GetEventQueueDepth() == 1"); - /* Generates 1 event message we don't care about in this test */ - - /* Verify command struct size minus header is at least explicitly padded to 32-bit boundaries */ - UtAssert_True (TLM_STRUCT_DATA_IS_32_ALIGNED(DS_FileInfoPkt_t), "DS_FileInfoPkt_t is 32-bit aligned"); - -} /* end DS_CmdGetFileInfo_Test_EnabledOpen */ - -void DS_CmdGetFileInfo_Test_DisabledClosed(void) -{ - DS_GetFileInfoCmd_t CmdPacket; - uint32 i; - - CFE_SB_InitMsg (&CmdPacket, DS_CMD_MID, sizeof(DS_GetFileInfoCmd_t), TRUE); - CFE_SB_SetCmdCode((CFE_SB_MsgPtr_t)&CmdPacket, DS_GET_FILE_INFO_CC); - - for (i = 0; i < DS_DEST_FILE_CNT; i++) - { - DS_AppData.FileStatus[i].FileAge = 1; - DS_AppData.FileStatus[i].FileSize = 2; - DS_AppData.FileStatus[i].FileRate = 3; - DS_AppData.FileStatus[i].FileCount = 4; - DS_AppData.FileStatus[i].FileState = 5; - DS_AppData.FileStatus[i].FileHandle = DS_CLOSED_FILE_HANDLE; - strncpy (DS_AppData.FileStatus[i].FileName, "filename", OS_MAX_PATH_LEN); - } - - /* Execute the function being tested */ - DS_CmdGetFileInfo((CFE_SB_MsgPtr_t)&CmdPacket); - - /* Verify results */ - UtAssert_True (DS_AppData.CmdAcceptedCounter == 1, "DS_AppData.CmdAcceptedCounter == 1"); - /* Changes to DS_FileInfoPkt cannot easily be verified because DS_FileInfoPkt is a local variable */ - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 1, "Ut_CFE_EVS_GetEventQueueDepth() == 1"); - /* Generates 1 event message we don't care about in this test */ - -} /* end DS_CmdGetFileInfo_Test_DisabledClosed */ - -void DS_CmdGetFileInfo_Test_InvalidCommandLength(void) -{ - DS_GetFileInfoCmd_t CmdPacket; - DS_DestFileTable_t DestFileTable; - - CFE_SB_InitMsg (&CmdPacket, DS_CMD_MID, 1, TRUE); - CFE_SB_SetCmdCode((CFE_SB_MsgPtr_t)&CmdPacket, DS_GET_FILE_INFO_CC); - - DS_AppData.DestFileTblPtr = &DestFileTable; - - /* Execute the function being tested */ - DS_CmdGetFileInfo((CFE_SB_MsgPtr_t)&CmdPacket); - - /* Verify results */ - UtAssert_True (DS_AppData.CmdRejectedCounter == 1, "DS_AppData.CmdRejectedCounter == 1"); - - UtAssert_True - (Ut_CFE_EVS_EventSent(DS_GET_FILE_INFO_CMD_ERR_EID, CFE_EVS_ERROR, "Invalid GET FILE INFO command length: expected = 8, actual = 1"), - "Invalid GET FILE INFO command length: expected = 8, actual = 1"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 1, "Ut_CFE_EVS_GetEventQueueDepth() == 1"); - -} /* end DS_CmdGetFileInfo_Test_InvalidCommandLength */ - -void DS_CmdAddMID_Test_Nominal(void) -{ - DS_AddMidCmd_t CmdPacket; - DS_FilterTable_t FilterTable; - int32 FilterTableIndex; - DS_HashLink_t HashLink; - uint32 ExpHashIdx; - char message[100]; - - /* Verify command struct size minus header is at least explicitly padded to 32-bit boundaries */ - UtAssert_True (CMD_STRUCT_DATA_IS_32_ALIGNED(DS_AddMidCmd_t), "DS_AddMidCmd_t is 32-bit aligned"); - - CFE_SB_InitMsg (&CmdPacket, DS_CMD_MID, sizeof(DS_AddMidCmd_t), TRUE); - CFE_SB_SetCmdCode((CFE_SB_MsgPtr_t)&CmdPacket, DS_ADD_MID_CC); - - CmdPacket.MessageID = 0x18BB; - - /* This is the hash done in DS_TableHashFunction */ - ExpHashIdx = (CmdPacket.MessageID & DS_HASH_TABLE_MASK); - snprintf(message, 100, "ADD MID command: MID = 0x%04X, filter index = 0, hash index = %d", CmdPacket.MessageID, ExpHashIdx); - - DS_AppData.FilterTblPtr = &FilterTable; - - DS_AppData.HashTable[0] = &HashLink; - HashLink.Index = 0; - DS_AppData.FilterTblPtr->Packet[HashLink.Index].MessageID = DS_UNUSED; - HashLink.Next = (struct DS_HashTag *)&DS_AppData.HashTable[1]; - - DS_AppData.HashTable[1] = &HashLink; - HashLink.Index = 1; - HashLink.Next = (struct DS_HashTag *)&DS_AppData.HashTable[2]; - - DS_AppData.FilterTblPtr->Packet[HashLink.Index].MessageID = 0x0005; - - FilterTableIndex = 0; - - /* Execute the function being tested */ - DS_CmdAddMID((CFE_SB_MsgPtr_t)&CmdPacket); - - /* Verify results */ - UtAssert_True (DS_AppData.CmdAcceptedCounter == 1, "DS_AppData.CmdAcceptedCounter == 1"); - - UtAssert_True - (DS_AppData.FilterTblPtr->Packet[FilterTableIndex].MessageID == 0x18BB, - "DS_AppData.FilterTblPtr->Packet[FilterTableIndex].MessageID == 0x18BB"); - - /* Check first elements */ - UtAssert_True (DS_AppData.FilterTblPtr->Packet[FilterTableIndex].Filter[0].FileTableIndex == 0, "DS_AppData.FilterTblPtr->Packet[FilterTableIndex].Filter[0].FileTableIndex == 0"); - UtAssert_True (DS_AppData.FilterTblPtr->Packet[FilterTableIndex].Filter[0].FilterType == DS_BY_COUNT, "DS_AppData.FilterTblPtr->Packet[FilterTableIndex].Filter[0].FilterType == DS_BY_COUNT"); - UtAssert_True (DS_AppData.FilterTblPtr->Packet[FilterTableIndex].Filter[0].Algorithm_N == 0, "DS_AppData.FilterTblPtr->Packet[FilterTableIndex].Filter[0].Algorithm_N == 0"); - UtAssert_True (DS_AppData.FilterTblPtr->Packet[FilterTableIndex].Filter[0].Algorithm_X == 0, "DS_AppData.FilterTblPtr->Packet[FilterTableIndex].Filter[0].Algorithm_X == 0"); - UtAssert_True (DS_AppData.FilterTblPtr->Packet[FilterTableIndex].Filter[0].Algorithm_O == 0, "DS_AppData.FilterTblPtr->Packet[FilterTableIndex].Filter[0].Algorithm_O == 0"); - - /* Check middle elements */ - UtAssert_True - (DS_AppData.FilterTblPtr->Packet[FilterTableIndex].Filter[DS_FILTERS_PER_PACKET/2].FileTableIndex == 0, - "DS_AppData.FilterTblPtr->Packet[FilterTableIndex].Filter[DS_FILTERS_PER_PACKET/2].FileTableIndex == 0"); - - UtAssert_True - (DS_AppData.FilterTblPtr->Packet[FilterTableIndex].Filter[DS_FILTERS_PER_PACKET/2].FilterType == DS_BY_COUNT, - "DS_AppData.FilterTblPtr->Packet[FilterTableIndex].Filter[DS_FILTERS_PER_PACKET/2].FilterType == DS_BY_COUNT"); - - UtAssert_True (DS_AppData.FilterTblPtr->Packet[FilterTableIndex].Filter[DS_FILTERS_PER_PACKET/2].Algorithm_N == 0, "DS_AppData.FilterTblPtr->Packet[FilterTableIndex].Filter[DS_FILTERS_PER_PACKET/2].Algorithm_N == 0"); - UtAssert_True (DS_AppData.FilterTblPtr->Packet[FilterTableIndex].Filter[DS_FILTERS_PER_PACKET/2].Algorithm_X == 0, "DS_AppData.FilterTblPtr->Packet[FilterTableIndex].Filter[DS_FILTERS_PER_PACKET/2].Algorithm_X == 0"); - UtAssert_True (DS_AppData.FilterTblPtr->Packet[FilterTableIndex].Filter[DS_FILTERS_PER_PACKET/2].Algorithm_O == 0, "DS_AppData.FilterTblPtr->Packet[FilterTableIndex].Filter[DS_FILTERS_PER_PACKET/2].Algorithm_O == 0"); - - /* Check last elements */ - UtAssert_True (DS_AppData.FilterTblPtr->Packet[FilterTableIndex].Filter[DS_FILTERS_PER_PACKET-1].FileTableIndex == 0, "DS_AppData.FilterTblPtr->Packet[FilterTableIndex].Filter[DS_FILTERS_PER_PACKET-1].FileTableIndex == 0"); - - UtAssert_True - (DS_AppData.FilterTblPtr->Packet[FilterTableIndex].Filter[DS_FILTERS_PER_PACKET-1].FilterType == DS_BY_COUNT, - "DS_AppData.FilterTblPtr->Packet[FilterTableIndex].Filter[DS_FILTERS_PER_PACKET-1].FilterType == DS_BY_COUNT"); - - UtAssert_True (DS_AppData.FilterTblPtr->Packet[FilterTableIndex].Filter[DS_FILTERS_PER_PACKET-1].Algorithm_N == 0, "DS_AppData.FilterTblPtr->Packet[FilterTableIndex].Filter[DS_FILTERS_PER_PACKET-1].Algorithm_N == 0"); - UtAssert_True (DS_AppData.FilterTblPtr->Packet[FilterTableIndex].Filter[DS_FILTERS_PER_PACKET-1].Algorithm_X == 0, "DS_AppData.FilterTblPtr->Packet[FilterTableIndex].Filter[DS_FILTERS_PER_PACKET-1].Algorithm_X == 0"); - UtAssert_True (DS_AppData.FilterTblPtr->Packet[FilterTableIndex].Filter[DS_FILTERS_PER_PACKET-1].Algorithm_O == 0, "DS_AppData.FilterTblPtr->Packet[FilterTableIndex].Filter[DS_FILTERS_PER_PACKET-1].Algorithm_O == 0"); - - UtAssert_True (DS_AppData.HashLinks[0].Index == 0, "DS_AppData.HashLinks[0].Index == 0"); - UtAssert_True (DS_AppData.HashLinks[0].MessageID == 0x18BB, "DS_AppData.HashLinks[0].MessageID == 0x18BB"); - - UtAssert_True - (Ut_CFE_EVS_EventSent(DS_ADD_MID_CMD_EID, CFE_EVS_DEBUG, message), - message); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 1, "Ut_CFE_EVS_GetEventQueueDepth() == 1"); - -} /* end DS_CmdAddMID_Test_Nominal */ - -void DS_CmdAddMID_Test_InvalidCommandLength(void) -{ - DS_AddMidCmd_t CmdPacket; - - CFE_SB_InitMsg (&CmdPacket, DS_CMD_MID, 1, TRUE); - CFE_SB_SetCmdCode((CFE_SB_MsgPtr_t)&CmdPacket, DS_ADD_MID_CC); - - CmdPacket.MessageID = 0x18BB; - - /* Execute the function being tested */ - DS_CmdAddMID((CFE_SB_MsgPtr_t)&CmdPacket); - - /* Verify results */ - UtAssert_True (DS_AppData.CmdRejectedCounter == 1, "DS_AppData.CmdRejectedCounter == 1"); - - UtAssert_True - (Ut_CFE_EVS_EventSent(DS_ADD_MID_CMD_ERR_EID, CFE_EVS_ERROR, "Invalid ADD MID command length: expected = 12, actual = 1"), - "Invalid ADD MID command length: expected = 12, actual = 1"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 1, "Ut_CFE_EVS_GetEventQueueDepth() == 1"); - -} /* end DS_CmdAddMID_Test_InvalidCommandLength */ - -void DS_CmdAddMID_Test_InvalidMessageID(void) -{ - DS_AddMidCmd_t CmdPacket; - - CFE_SB_InitMsg (&CmdPacket, DS_CMD_MID, sizeof(DS_AddMidCmd_t), TRUE); - CFE_SB_SetCmdCode((CFE_SB_MsgPtr_t)&CmdPacket, DS_ADD_MID_CC); - - CmdPacket.MessageID = DS_UNUSED; - - /* Execute the function being tested */ - DS_CmdAddMID((CFE_SB_MsgPtr_t)&CmdPacket); - - /* Verify results */ - UtAssert_True (DS_AppData.CmdRejectedCounter == 1, "DS_AppData.CmdRejectedCounter == 1"); - - UtAssert_True - (Ut_CFE_EVS_EventSent(DS_ADD_MID_CMD_ERR_EID, CFE_EVS_ERROR, "Invalid ADD MID command arg: invalid MID = 0x 0"), - "Invalid ADD MID command arg: invalid MID = 0x 0"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 1, "Ut_CFE_EVS_GetEventQueueDepth() == 1"); - -} /* end DS_CmdAddMID_Test_InvalidMessageID */ - -void DS_CmdAddMID_Test_FilterTableNotLoaded(void) -{ - DS_AddMidCmd_t CmdPacket; - - CFE_SB_InitMsg (&CmdPacket, DS_CMD_MID, sizeof(DS_AddMidCmd_t), TRUE); - CFE_SB_SetCmdCode((CFE_SB_MsgPtr_t)&CmdPacket, DS_ADD_MID_CC); - - CmdPacket.MessageID = 0x18BB; - - /* Execute the function being tested */ - DS_CmdAddMID((CFE_SB_MsgPtr_t)&CmdPacket); - - /* Verify results */ - UtAssert_True (DS_AppData.CmdRejectedCounter == 1, "DS_AppData.CmdRejectedCounter == 1"); - - UtAssert_True - (Ut_CFE_EVS_EventSent(DS_ADD_MID_CMD_ERR_EID, CFE_EVS_ERROR, "Invalid ADD MID command: filter table is not loaded"), - "Invalid ADD MID command: filter table is not loaded"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 1, "Ut_CFE_EVS_GetEventQueueDepth() == 1"); - -} /* end DS_CmdAddMID_Test_FilterTableNotLoaded */ - -void DS_CmdAddMID_Test_MIDAlreadyInFilterTable(void) -{ - DS_AddMidCmd_t CmdPacket; - DS_FilterTable_t FilterTable; - DS_HashLink_t HashLink; - - CFE_SB_InitMsg (&CmdPacket, DS_CMD_MID, sizeof(DS_AddMidCmd_t), TRUE); - CFE_SB_SetCmdCode((CFE_SB_MsgPtr_t)&CmdPacket, DS_ADD_MID_CC); - - CmdPacket.MessageID = 0x18BB; - - DS_AppData.HashTable[187] = &HashLink; - HashLink.Index = 0; - DS_AppData.FilterTblPtr = &FilterTable; - DS_AppData.FilterTblPtr->Packet->MessageID = 0x18BB; - - /* Execute the function being tested */ - DS_CmdAddMID((CFE_SB_MsgPtr_t)&CmdPacket); - - /* Verify results */ - UtAssert_True (DS_AppData.CmdRejectedCounter == 1, "DS_AppData.CmdRejectedCounter == 1"); - - UtAssert_True - (Ut_CFE_EVS_EventSent(DS_ADD_MID_CMD_ERR_EID, CFE_EVS_ERROR, "Invalid ADD MID command: MID = 0x18BB is already in filter table at index = 0"), - "Invalid ADD MID command: MID = 0x18BB is already in filter table at index = 0"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 1, "Ut_CFE_EVS_GetEventQueueDepth() == 1"); - -} /* end DS_CmdAddMID_Test_MIDAlreadyInFilterTable */ - -void DS_CmdAddMID_Test_FilterTableFull(void) -{ - DS_AddMidCmd_t CmdPacket; - DS_FilterTable_t FilterTable; - - CFE_SB_InitMsg (&CmdPacket, DS_CMD_MID, sizeof(DS_AddMidCmd_t), TRUE); - CFE_SB_SetCmdCode((CFE_SB_MsgPtr_t)&CmdPacket, DS_ADD_MID_CC); - - CmdPacket.MessageID = 0x18BB; - - DS_AppData.FilterTblPtr = &FilterTable; - - /* Execute the function being tested */ - DS_CmdAddMID((CFE_SB_MsgPtr_t)&CmdPacket); - - /* Verify results */ - UtAssert_True (DS_AppData.CmdRejectedCounter == 1, "DS_AppData.CmdRejectedCounter == 1"); - - UtAssert_True - (Ut_CFE_EVS_EventSent(DS_ADD_MID_CMD_ERR_EID, CFE_EVS_ERROR, "Invalid ADD MID command: filter table is full"), - "Invalid ADD MID command: filter table is full"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 1, "Ut_CFE_EVS_GetEventQueueDepth() == 1"); - -} /* end DS_CmdAddMID_Test_FilterTableFull */ - -void DS_Cmds_Test_AddTestCases(void) -{ - UtTest_Add(DS_CmdNoop_Test_Nominal, DS_Test_Setup, DS_Test_TearDown, "DS_CmdNoop_Test_Nominal"); - UtTest_Add(DS_CmdNoop_Test_InvalidCommandLength, DS_Test_Setup, DS_Test_TearDown, "DS_CmdNoop_Test_InvalidCommandLength"); - - UtTest_Add(DS_CmdReset_Test_Nominal, DS_Test_Setup, DS_Test_TearDown, "DS_CmdReset_Test_Nominal"); - UtTest_Add(DS_CmdReset_Test_InvalidCommandLength, DS_Test_Setup, DS_Test_TearDown, "DS_CmdReset_Test_InvalidCommandLength"); - - UtTest_Add(DS_CmdSetAppState_Test_Nominal, DS_Test_Setup, DS_Test_TearDown, "DS_CmdSetAppState_Test_Nominal"); - UtTest_Add(DS_CmdSetAppState_Test_InvalidCommandLength, DS_Test_Setup, DS_Test_TearDown, "DS_CmdSetAppState_Test_InvalidCommandLength"); - UtTest_Add(DS_CmdSetAppState_Test_InvalidAppState, DS_Test_Setup, DS_Test_TearDown, "DS_CmdSetAppState_Test_InvalidAppState"); - - UtTest_Add(DS_CmdSetFilterFile_Test_Nominal, DS_Test_Setup, DS_Test_TearDown, "DS_CmdSetFilterFile_Test_Nominal"); - UtTest_Add(DS_CmdSetFilterFile_Test_InvalidCommandLength, DS_Test_Setup, DS_Test_TearDown, "DS_CmdSetFilterFile_Test_InvalidCommandLength"); - UtTest_Add(DS_CmdSetFilterFile_Test_InvalidMessageID, DS_Test_Setup, DS_Test_TearDown, "DS_CmdSetFilterFile_Test_InvalidMessageID"); - UtTest_Add(DS_CmdSetFilterFile_Test_InvalidFilterParametersIndex, DS_Test_Setup, DS_Test_TearDown, "DS_CmdSetFilterFile_Test_InvalidFilterParametersIndex"); - UtTest_Add(DS_CmdSetFilterFile_Test_InvalidFileTableIndex, DS_Test_Setup, DS_Test_TearDown, "DS_CmdSetFilterFile_Test_InvalidFileTableIndex"); - UtTest_Add(DS_CmdSetFilterFile_Test_FilterTableNotLoaded, DS_Test_Setup, DS_Test_TearDown, "DS_CmdSetFilterFile_Test_FilterTableNotLoaded"); - UtTest_Add(DS_CmdSetFilterFile_Test_MessageIDNotInFilterTable, DS_Test_Setup, DS_Test_TearDown, "DS_CmdSetFilterFile_Test_MessageIDNotInFilterTable"); - - UtTest_Add(DS_CmdSetFilterType_Test_Nominal, DS_Test_Setup, DS_Test_TearDown, "DS_CmdSetFilterType_Test_Nominal"); - UtTest_Add(DS_CmdSetFilterType_Test_InvalidCommandLength, DS_Test_Setup, DS_Test_TearDown, "DS_CmdSetFilterType_Test_InvalidCommandLength"); - UtTest_Add(DS_CmdSetFilterType_Test_InvalidMessageID, DS_Test_Setup, DS_Test_TearDown, "DS_CmdSetFilterType_Test_InvalidMessageID"); - UtTest_Add(DS_CmdSetFilterType_Test_InvalidFilterParametersIndex, DS_Test_Setup, DS_Test_TearDown, "DS_CmdSetFilterType_Test_InvalidFilterParametersIndex"); - UtTest_Add(DS_CmdSetFilterType_Test_InvalidFilterType, DS_Test_Setup, DS_Test_TearDown, "DS_CmdSetFilterType_Test_InvalidFilterType"); - UtTest_Add(DS_CmdSetFilterType_Test_FilterTableNotLoaded, DS_Test_Setup, DS_Test_TearDown, "DS_CmdSetFilterType_Test_FilterTableNotLoaded"); - UtTest_Add(DS_CmdSetFilterType_Test_MessageIDNotInFilterTable, DS_Test_Setup, DS_Test_TearDown, "DS_CmdSetFilterType_Test_MessageIDNotInFilterTable"); - - UtTest_Add(DS_CmdSetFilterParms_Test_Nominal, DS_Test_Setup, DS_Test_TearDown, "DS_CmdSetFilterParms_Test_Nominal"); - UtTest_Add(DS_CmdSetFilterParms_Test_InvalidCommandLength, DS_Test_Setup, DS_Test_TearDown, "DS_CmdSetFilterParms_Test_InvalidCommandLength"); - UtTest_Add(DS_CmdSetFilterParms_Test_InvalidMessageID, DS_Test_Setup, DS_Test_TearDown, "DS_CmdSetFilterParms_Test_InvalidMessageID"); - UtTest_Add(DS_CmdSetFilterParms_Test_InvalidFilterParametersIndex, DS_Test_Setup, DS_Test_TearDown, "DS_CmdSetFilterParms_Test_InvalidFilterParametersIndex"); - UtTest_Add(DS_CmdSetFilterParms_Test_InvalidFilterAlgorithm, DS_Test_Setup, DS_Test_TearDown, "DS_CmdSetFilterParms_Test_InvalidFilterAlgorithm"); - UtTest_Add(DS_CmdSetFilterParms_Test_FilterTableNotLoaded, DS_Test_Setup, DS_Test_TearDown, "DS_CmdSetFilterParms_Test_FilterTableNotLoaded"); - UtTest_Add(DS_CmdSetFilterParms_Test_MessageIDNotInFilterTable, DS_Test_Setup, DS_Test_TearDown, "DS_CmdSetFilterParms_Test_MessageIDNotInFilterTable"); - - UtTest_Add(DS_CmdSetDestType_Test_Nominal, DS_Test_Setup, DS_Test_TearDown, "DS_CmdSetDestType_Test_Nominal"); - UtTest_Add(DS_CmdSetDestType_Test_InvalidCommandLength, DS_Test_Setup, DS_Test_TearDown, "DS_CmdSetDestType_Test_InvalidCommandLength"); - UtTest_Add(DS_CmdSetDestType_Test_InvalidFileTableIndex, DS_Test_Setup, DS_Test_TearDown, "DS_CmdSetDestType_Test_InvalidFileTableIndex"); - UtTest_Add(DS_CmdSetDestType_Test_InvalidFilenameType, DS_Test_Setup, DS_Test_TearDown, "DS_CmdSetDestType_Test_InvalidFilenameType"); - UtTest_Add(DS_CmdSetDestType_Test_FileTableNotLoaded, DS_Test_Setup, DS_Test_TearDown, "DS_CmdSetDestType_Test_FileTableNotLoaded"); - - UtTest_Add(DS_CmdSetDestState_Test_Nominal, DS_Test_Setup, DS_Test_TearDown, "DS_CmdSetDestState_Test_Nominal"); - UtTest_Add(DS_CmdSetDestState_Test_InvalidCommandLength, DS_Test_Setup, DS_Test_TearDown, "DS_CmdSetDestState_Test_InvalidCommandLength"); - UtTest_Add(DS_CmdSetDestState_Test_InvalidFileTableIndex, DS_Test_Setup, DS_Test_TearDown, "DS_CmdSetDestState_Test_InvalidFileTableIndex"); - UtTest_Add(DS_CmdSetDestState_Test_InvalidFileState, DS_Test_Setup, DS_Test_TearDown, "DS_CmdSetDestState_Test_InvalidFileState"); - UtTest_Add(DS_CmdSetDestState_Test_FileTableNotLoaded, DS_Test_Setup, DS_Test_TearDown, "DS_CmdSetDestState_Test_FileTableNotLoaded"); - - UtTest_Add(DS_CmdSetDestPath_Test_Nominal, DS_Test_Setup, DS_Test_TearDown, "DS_CmdSetDestPath_Test_Nominal"); - UtTest_Add(DS_CmdSetDestPath_Test_InvalidCommandLength, DS_Test_Setup, DS_Test_TearDown, "DS_CmdSetDestPath_Test_InvalidCommandLength"); - UtTest_Add(DS_CmdSetDestPath_Test_InvalidFileTableIndex, DS_Test_Setup, DS_Test_TearDown, "DS_CmdSetDestPath_Test_InvalidFileTableIndex"); - UtTest_Add(DS_CmdSetDestPath_Test_InvalidPathname, DS_Test_Setup, DS_Test_TearDown, "DS_CmdSetDestPath_Test_InvalidPathname"); - UtTest_Add(DS_CmdSetDestPath_Test_FileTableNotLoaded, DS_Test_Setup, DS_Test_TearDown, "DS_CmdSetDestPath_Test_FileTableNotLoaded"); - - UtTest_Add(DS_CmdSetDestBase_Test_Nominal, DS_Test_Setup, DS_Test_TearDown, "DS_CmdSetDestBase_Test_Nominal"); - UtTest_Add(DS_CmdSetDestBase_Test_InvalidCommandLength, DS_Test_Setup, DS_Test_TearDown, "DS_CmdSetDestBase_Test_InvalidCommandLength"); - UtTest_Add(DS_CmdSetDestBase_Test_InvalidFileTableIndex, DS_Test_Setup, DS_Test_TearDown, "DS_CmdSetDestBase_Test_InvalidFileTableIndex"); - UtTest_Add(DS_CmdSetDestBase_Test_InvalidBaseFilename, DS_Test_Setup, DS_Test_TearDown, "DS_CmdSetDestBase_Test_InvalidBaseFilename"); - UtTest_Add(DS_CmdSetDestBase_Test_FileTableNotLoaded, DS_Test_Setup, DS_Test_TearDown, "DS_CmdSetDestBase_Test_FileTableNotLoaded"); - - UtTest_Add(DS_CmdSetDestExt_Test_Nominal, DS_Test_Setup, DS_Test_TearDown, "DS_CmdSetDestExt_Test_Nominal"); - UtTest_Add(DS_CmdSetDestExt_Test_InvalidCommandLength, DS_Test_Setup, DS_Test_TearDown, "DS_CmdSetDestExt_Test_InvalidCommandLength"); - UtTest_Add(DS_CmdSetDestExt_Test_InvalidFileTableIndex, DS_Test_Setup, DS_Test_TearDown, "DS_CmdSetDestExt_Test_InvalidFileTableIndex"); - UtTest_Add(DS_CmdSetDestExt_Test_InvalidFilenameExtension, DS_Test_Setup, DS_Test_TearDown, "DS_CmdSetDestExt_Test_InvalidFilenameExtension"); - UtTest_Add(DS_CmdSetDestExt_Test_FileTableNotLoaded, DS_Test_Setup, DS_Test_TearDown, "DS_CmdSetDestExt_Test_FileTableNotLoaded"); - - UtTest_Add(DS_CmdSetDestSize_Test_Nominal, DS_Test_Setup, DS_Test_TearDown, "DS_CmdSetDestSize_Test_Nominal"); - UtTest_Add(DS_CmdSetDestSize_Test_InvalidCommandLength, DS_Test_Setup, DS_Test_TearDown, "DS_CmdSetDestSize_Test_InvalidCommandLength"); - UtTest_Add(DS_CmdSetDestSize_Test_InvalidFileTableIndex, DS_Test_Setup, DS_Test_TearDown, "DS_CmdSetDestSize_Test_InvalidFileTableIndex"); - UtTest_Add(DS_CmdSetDestSize_Test_InvalidFileSizeLimit, DS_Test_Setup, DS_Test_TearDown, "DS_CmdSetDestSize_Test_InvalidFileSizeLimit"); - UtTest_Add(DS_CmdSetDestSize_Test_FileTableNotLoaded, DS_Test_Setup, DS_Test_TearDown, "DS_CmdSetDestSize_Test_FileTableNotLoaded"); - - UtTest_Add(DS_CmdSetDestAge_Test_Nominal, DS_Test_Setup, DS_Test_TearDown, "DS_CmdSetDestAge_Test_Nominal"); - UtTest_Add(DS_CmdSetDestAge_Test_InvalidCommandLength, DS_Test_Setup, DS_Test_TearDown, "DS_CmdSetDestAge_Test_InvalidCommandLength"); - UtTest_Add(DS_CmdSetDestAge_Test_InvalidFileTableIndex, DS_Test_Setup, DS_Test_TearDown, "DS_CmdSetDestAge_Test_InvalidFileTableIndex"); - UtTest_Add(DS_CmdSetDestAge_Test_InvalidFileAgeLimit, DS_Test_Setup, DS_Test_TearDown, "DS_CmdSetDestAge_Test_InvalidFileAgeLimit"); - UtTest_Add(DS_CmdSetDestAge_Test_FileTableNotLoaded, DS_Test_Setup, DS_Test_TearDown, "DS_CmdSetDestAge_Test_FileTableNotLoaded"); - - UtTest_Add(DS_CmdSetDestCount_Test_Nominal, DS_Test_Setup, DS_Test_TearDown, "DS_CmdSetDestCount_Test_Nominal"); - UtTest_Add(DS_CmdSetDestCount_Test_InvalidCommandLength, DS_Test_Setup, DS_Test_TearDown, "DS_CmdSetDestCount_Test_InvalidCommandLength"); - UtTest_Add(DS_CmdSetDestCount_Test_InvalidFileTableIndex, DS_Test_Setup, DS_Test_TearDown, "DS_CmdSetDestCount_Test_InvalidFileTableIndex"); - UtTest_Add(DS_CmdSetDestCount_Test_InvalidFileSequenceCount, DS_Test_Setup, DS_Test_TearDown, "DS_CmdSetDestCount_Test_InvalidFileSequenceCount"); - UtTest_Add(DS_CmdSetDestCount_Test_FileTableNotLoaded, DS_Test_Setup, DS_Test_TearDown, "DS_CmdSetDestCount_Test_FileTableNotLoaded"); - -#if (DS_MOVE_FILES == FALSE) - UtTest_Add(DS_CmdCloseFile_Test_Nominal, DS_Test_Setup, DS_Test_TearDown, "DS_CmdCloseFile_Test_Nominal"); -#endif - UtTest_Add(DS_CmdCloseFile_Test_InvalidCommandLength, DS_Test_Setup, DS_Test_TearDown, "DS_CmdCloseFile_Test_InvalidCommandLength"); - UtTest_Add(DS_CmdCloseFile_Test_InvalidFileTableIndex, DS_Test_Setup, DS_Test_TearDown, "DS_CmdCloseFile_Test_InvalidFileTableIndex"); - - UtTest_Add(DS_CmdCloseAll_Test_Nominal, DS_Test_Setup, DS_Test_TearDown, "DS_CmdCloseAll_Test_Nominal"); - UtTest_Add(DS_CmdCloseAll_Test_InvalidCommandLength, DS_Test_Setup, DS_Test_TearDown, "DS_CmdCloseAll_Test_InvalidCommandLength"); - - UtTest_Add(DS_CmdGetFileInfo_Test_EnabledOpen, DS_Test_Setup, DS_Test_TearDown, "DS_CmdGetFileInfo_Test_EnabledOpen"); - UtTest_Add(DS_CmdGetFileInfo_Test_DisabledClosed, DS_Test_Setup, DS_Test_TearDown, "DS_CmdGetFileInfo_Test_DisabledClosed"); - UtTest_Add(DS_CmdGetFileInfo_Test_InvalidCommandLength, DS_Test_Setup, DS_Test_TearDown, "DS_CmdGetFileInfo_Test_InvalidCommandLength"); - - UtTest_Add(DS_CmdAddMID_Test_Nominal, DS_Test_Setup, DS_Test_TearDown, "DS_CmdAddMID_Test_Nominal"); - UtTest_Add(DS_CmdAddMID_Test_InvalidCommandLength, DS_Test_Setup, DS_Test_TearDown, "DS_CmdAddMID_Test_InvalidCommandLength"); - UtTest_Add(DS_CmdAddMID_Test_InvalidMessageID, DS_Test_Setup, DS_Test_TearDown, "DS_CmdAddMID_Test_InvalidMessageID"); - UtTest_Add(DS_CmdAddMID_Test_FilterTableNotLoaded, DS_Test_Setup, DS_Test_TearDown, "DS_CmdAddMID_Test_FilterTableNotLoaded"); - UtTest_Add(DS_CmdAddMID_Test_MIDAlreadyInFilterTable, DS_Test_Setup, DS_Test_TearDown, "DS_CmdAddMID_Test_MIDAlreadyInFilterTable"); - UtTest_Add(DS_CmdAddMID_Test_FilterTableFull, DS_Test_Setup, DS_Test_TearDown, "DS_CmdAddMID_Test_FilterTableFull"); -} /* end DS_Cmds_Test_AddTestCases */ - - -/************************/ -/* End of File Comment */ -/************************/ diff --git a/fsw/unit_test/ds_cmds_test.h b/fsw/unit_test/ds_cmds_test.h deleted file mode 100644 index 4c1e85e..0000000 --- a/fsw/unit_test/ds_cmds_test.h +++ /dev/null @@ -1,50 +0,0 @@ - /************************************************************************* - ** File: ds_cmds_test.h - ** - ** NASA Docket No. GSC-16,126-1, and identified as "Core Flight Software System - ** (CFS) Data Storage Application Version 2” - ** - ** Copyright © 2007-2014 United States Government as represented by the - ** Administrator of the National Aeronautics and Space Administration. All Rights - ** Reserved. - ** - ** Licensed under the Apache License, Version 2.0 (the "License"); - ** you may not use this file except in compliance with the License. - ** You may obtain a copy of the License at - ** http://www.apache.org/licenses/LICENSE-2.0 - ** - ** Unless required by applicable law or agreed to in writing, software - ** distributed under the License is distributed on an "AS IS" BASIS, - ** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - ** See the License for the specific language governing permissions and - ** limitations under the License. - ** - ** Purpose: - ** This file contains the function prototypes for the unit test cases - ** for the functions contained in the file ds_cmds.c - ** - ** References: - ** Flight Software Branch C Coding Standard Version 1.2 - ** CFS Development Standards Document - ** - ** Notes: - ** - *************************************************************************/ - -/* - * Includes - */ - -#include "utassert.h" -#include "uttest.h" - -/* - * Function Prototypes - */ - -void DS_Cmds_Test_AddTestCases(void); - - -/************************/ -/* End of File Comment */ -/************************/ diff --git a/fsw/unit_test/ds_file.c.gcov b/fsw/unit_test/ds_file.c.gcov deleted file mode 100644 index b150da1..0000000 --- a/fsw/unit_test/ds_file.c.gcov +++ /dev/null @@ -1,1020 +0,0 @@ - -: 0:Source:../src/ds_file.c - -: 0:Programs:4 - -: 1:/************************************************************************ - -: 2:** $Id: ds_file.c.gcov 1.4.1.1 2017/02/03 12:21:32EST mdeschu Exp $ - -: 3:** - -: 4:** Copyright (c) 2007-2014 United States Government as represented by the - -: 5:** Administrator of the National Aeronautics and Space Administration. - -: 6:** All Other Rights Reserved. - -: 7:** - -: 8:** This software was created at NASA's Goddard Space Flight Center. - -: 9:** This software is governed by the NASA Open Source Agreement and may be - -: 10:** used, distributed and modified only pursuant to the terms of that - -: 11:** agreement. - -: 12:** - -: 13:** CFS Data Storage (DS) file functions - -: 14:** - -: 15:*************************************************************************/ - -: 16: - -: 17:#include "cfe.h" - -: 18:#include "cfe_fs.h" - -: 19: - -: 20:#include "cfs_utils.h" - -: 21: - -: 22:#include "ds_platform_cfg.h" - -: 23:#include "ds_verify.h" - -: 24: - -: 25:#include "ds_appdefs.h" - -: 26: - -: 27:#include "ds_msg.h" - -: 28:#include "ds_app.h" - -: 29:#include "ds_file.h" - -: 30:#include "ds_table.h" - -: 31:#include "ds_events.h" - -: 32: - -: 33:#include "string.h" - -: 34: - -: 35:/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ - -: 36:/* */ - -: 37:/* DS_FileStorePacket() - store packet in file(s) */ - -: 38:/* */ - -: 39:/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ - -: 40: - 4: 41:void DS_FileStorePacket(CFE_SB_MsgId_t MessageID, CFE_SB_MsgPtr_t MessagePtr) - -: 42:{ - -: 43: DS_PacketEntry_t *PacketEntry; - -: 44: DS_FilterParms_t *FilterParms; - -: 45: boolean PassedFilter; - -: 46: boolean FilterResult; - -: 47: int32 FilterIndex; - -: 48: int32 FileIndex; - -: 49: int32 i; - -: 50: - -: 51: /* - -: 52: ** Convert packet MessageID to packet filter table index... - -: 53: */ - 4: 54: FilterIndex = DS_TableFindMsgID(MessageID); - -: 55: - -: 56: /* - -: 57: ** Ignore packets not listed in the packet filter table... - -: 58: */ - 4: 59: if (FilterIndex == DS_INDEX_NONE) - -: 60: { - 2: 61: DS_AppData.IgnoredPktCounter++; - -: 62: } - -: 63: else - -: 64: { - 2: 65: PacketEntry = &DS_AppData.FilterTblPtr->Packet[FilterIndex]; - 2: 66: PassedFilter = FALSE; - -: 67: - -: 68: /* - -: 69: ** Each packet has multiple filters for multiple files... - -: 70: */ - 10: 71: for (i = 0; i < DS_FILTERS_PER_PACKET; i++) - -: 72: { - 8: 73: FilterParms = &PacketEntry->Filter[i]; - -: 74: - -: 75: /* - -: 76: ** Ignore unused and invalid filters... - -: 77: */ - 16: 78: if ((FilterParms->Algorithm_N != DS_UNUSED) && - 8: 79: (FilterParms->FileTableIndex < DS_DEST_FILE_CNT)) - -: 80: { - 8: 81: FileIndex = FilterParms->FileTableIndex; - -: 82: - -: 83: /* - -: 84: ** Ignore disabled destination files... - -: 85: */ - 8: 86: if (DS_AppData.FileStatus[FileIndex].FileState == DS_ENABLED) - -: 87: { - -: 88: /* - -: 89: ** Apply filter algorithm to the packet... - -: 90: */ - 32: 91: FilterResult = CFS_IsPacketFiltered(MessagePtr, - 8: 92: FilterParms->FilterType, - 8: 93: FilterParms->Algorithm_N, - 8: 94: FilterParms->Algorithm_X, - 8: 95: FilterParms->Algorithm_O); - 8: 96: if (FilterResult == FALSE) - -: 97: { - -: 98: /* - -: 99: ** Write unfiltered packets to destination file... - -: 100: */ - 1: 101: DS_FileSetupWrite(FileIndex, MessagePtr); - 1: 102: PassedFilter = TRUE; - -: 103: } - -: 104: } - -: 105: } - -: 106: } - -: 107: - -: 108: /* - -: 109: ** Count packet as passed if any filters passed... - -: 110: */ - 2: 111: if (PassedFilter) - -: 112: { - 1: 113: DS_AppData.PassedPktCounter++; - -: 114: } - -: 115: else - -: 116: { - 1: 117: DS_AppData.FilteredPktCounter++; - -: 118: } - -: 119: } - -: 120: - -: 121: - 4: 122: return; - -: 123: - -: 124:} /* End of DS_FileStorePacket() */ - -: 125: - -: 126: - -: 127:/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ - -: 128:/* */ - -: 129:/* DS_FileSetupWrite() - prepare to write packet data to file */ - -: 130:/* */ - -: 131:/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ - -: 132: - 4: 133:void DS_FileSetupWrite(int32 FileIndex, CFE_SB_MsgPtr_t MessagePtr) - -: 134:{ - 4: 135: DS_DestFileEntry_t *DestFile = &DS_AppData.DestFileTblPtr->File[FileIndex]; - 4: 136: DS_AppFileStatus_t *FileStatus = &DS_AppData.FileStatus[FileIndex]; - 4: 137: boolean OpenNewFile = FALSE; - -: 138: uint16 PacketLength; - -: 139: - -: 140: #if (DS_FILE_HEADER_TYPE == DS_FILE_HEADER_GPM) - -: 141: /* - -: 142: ** Store packet time for GPM style file headers... - -: 143: */ - -: 144: CFE_TIME_SysTime_t PacketTime = CFE_SB_GetMsgTime(MessagePtr); - -: 145: DS_AppData.CurrentPktTime = PacketTime.Seconds; - -: 146: #endif - -: 147: - -: 148: /* - -: 149: ** Create local pointers for array indexed data... - -: 150: */ - 4: 151: PacketLength = CFE_SB_GetTotalMsgLength(MessagePtr); - -: 152: - 4: 153: if (FileStatus->FileHandle == DS_CLOSED_FILE_HANDLE) - -: 154: { - -: 155: /* - -: 156: ** 1st packet since destination enabled or file closed... - -: 157: */ - 1: 158: OpenNewFile = TRUE; - -: 159: } - -: 160: else - -: 161: { - -: 162: /* - -: 163: ** Test size of existing destination file... - -: 164: */ - 3: 165: if ((FileStatus->FileSize + PacketLength) > DestFile->MaxFileSize) - -: 166: { - -: 167: /* - -: 168: ** This packet would cause file to exceed max size limit... - -: 169: */ - 1: 170: DS_FileUpdateHeader(FileIndex); - 1: 171: DS_FileCloseDest(FileIndex); - 1: 172: OpenNewFile = TRUE; - -: 173: } - -: 174: else - -: 175: { - -: 176: /* - -: 177: ** File size is OK - write packet data to file... - -: 178: */ - 2: 179: DS_FileWriteData(FileIndex, MessagePtr, PacketLength); - -: 180: } - -: 181: } - -: 182: - 4: 183: if (OpenNewFile) - -: 184: { - -: 185: /* - -: 186: ** Either the file did not exist or we closed it because - -: 187: ** of the size limit test above... - -: 188: */ - 2: 189: DS_FileCreateDest(FileIndex); - -: 190: - 2: 191: if (FileStatus->FileHandle != DS_CLOSED_FILE_HANDLE) - -: 192: { - -: 193: /* - -: 194: ** By writing the first packet without first performing a size - -: 195: ** limit test, we avoid issues resulting from having the max - -: 196: ** file size set less than the size of one packet... - -: 197: */ - 1: 198: DS_FileWriteData(FileIndex, MessagePtr, PacketLength); - -: 199: } - -: 200: } - -: 201: - -: 202: /* - -: 203: ** If the write did not occur due to I/O error (create or write) - -: 204: ** then current state = file closed and destination disabled... - -: 205: */ - 4: 206: return; - -: 207: - -: 208:} /* End of DS_FileSetupWrite() */ - -: 209: - -: 210: - -: 211:/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ - -: 212:/* */ - -: 213:/* DS_FileWriteData() - write data to destination file */ - -: 214:/* */ - -: 215:/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ - -: 216: - 5: 217:void DS_FileWriteData(int32 FileIndex, void *FileData, uint32 DataLength) - -: 218:{ - 5: 219: DS_AppFileStatus_t *FileStatus = &DS_AppData.FileStatus[FileIndex]; - -: 220: int32 Result; - -: 221: - -: 222: /* - -: 223: ** Let cFE manage the file I/O... - -: 224: */ - 5: 225: Result = OS_write(FileStatus->FileHandle, FileData, DataLength); - -: 226: - 5: 227: if (Result == DataLength) - -: 228: { - -: 229: /* - -: 230: ** Success - update file size and data rate counters... - -: 231: */ - 4: 232: DS_AppData.FileWriteCounter++; - -: 233: - 4: 234: FileStatus->FileSize += DataLength; - 4: 235: FileStatus->FileGrowth += DataLength; - -: 236: - -: 237: #if (DS_FILE_HEADER_TYPE == DS_FILE_HEADER_GPM) - -: 238: /* - -: 239: ** Current pkt time is now last pkt time for this file... - -: 240: */ - -: 241: DS_AppData.LastPktTime[FileIndex] = DS_AppData.CurrentPktTime; - -: 242: #endif - -: 243: } - -: 244: else - -: 245: { - -: 246: /* - -: 247: ** Error - send event, close file and disable destination... - -: 248: */ - 1: 249: DS_FileWriteError(FileIndex, DataLength, Result); - -: 250: } - -: 251: - 5: 252: return; - -: 253: - -: 254:} /* End of DS_FileWriteData() */ - -: 255: - -: 256: - -: 257:/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ - -: 258:/* */ - -: 259:/* DS_FileWriteHeader() - write header to destination file */ - -: 260:/* */ - -: 261:/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ - -: 262: - 6: 263:void DS_FileWriteHeader(int32 FileIndex) - -: 264:{ - -: 265: #if (DS_FILE_HEADER_TYPE == DS_FILE_HEADER_CFE) - -: 266: - 6: 267: DS_DestFileEntry_t *DestFile = &DS_AppData.DestFileTblPtr->File[FileIndex]; - 6: 268: DS_AppFileStatus_t *FileStatus = &DS_AppData.FileStatus[FileIndex]; - -: 269: CFE_FS_Header_t CFE_FS_Header; - -: 270: DS_FileHeader_t DS_FileHeader; - -: 271: int32 Result; - -: 272: - -: 273: /* - -: 274: ** Initialize selected parts of the cFE file header... - -: 275: */ - 6: 276: CFE_PSP_MemSet(&CFE_FS_Header, 0, sizeof(CFE_FS_Header_t)); - 6: 277: CFE_FS_Header.SubType = DS_FILE_HDR_SUBTYPE; - 6: 278: strcpy(CFE_FS_Header.Description, DS_FILE_HDR_DESCRIPTION); - -: 279: - -: 280: /* - -: 281: ** Let cFE finish the init and write the primary header... - -: 282: */ - 6: 283: Result = CFE_FS_WriteHeader(FileStatus->FileHandle, &CFE_FS_Header); - -: 284: - 6: 285: if (Result == sizeof(CFE_FS_Header_t)) - -: 286: { - -: 287: /* - -: 288: ** Success - update file size and data rate counters... - -: 289: */ - 4: 290: DS_AppData.FileWriteCounter++; - -: 291: - 4: 292: FileStatus->FileSize += sizeof(CFE_FS_Header_t); - 4: 293: FileStatus->FileGrowth += sizeof(CFE_FS_Header_t); - -: 294: - -: 295: /* - -: 296: ** Initialize the DS file header... - -: 297: */ - 4: 298: CFE_PSP_MemSet(&DS_FileHeader, 0, sizeof(DS_FileHeader_t)); - 4: 299: DS_FileHeader.FileTableIndex = FileIndex; - 4: 300: DS_FileHeader.FileNameType = DestFile->FileNameType; - 4: 301: strcpy(DS_FileHeader.FileName, FileStatus->FileName); - -: 302: - -: 303: /* - -: 304: ** Manually write the secondary header... - -: 305: */ - 4: 306: Result = OS_write(FileStatus->FileHandle, &DS_FileHeader, sizeof(DS_FileHeader_t)); - -: 307: - 4: 308: if (Result == sizeof(DS_FileHeader_t)) - -: 309: { - -: 310: /* - -: 311: ** Success - update file size and data rate counters... - -: 312: */ - 3: 313: DS_AppData.FileWriteCounter++; - -: 314: - 3: 315: FileStatus->FileSize += sizeof(DS_FileHeader_t); - 3: 316: FileStatus->FileGrowth += sizeof(DS_FileHeader_t); - -: 317: } - -: 318: else - -: 319: { - -: 320: /* - -: 321: ** Error - send event, close file and disable destination... - -: 322: */ - 1: 323: DS_FileWriteError(FileIndex, sizeof(DS_FileHeader_t), Result); - -: 324: } - -: 325: } - -: 326: else - -: 327: { - -: 328: /* - -: 329: ** Error - send event, close file and disable destination... - -: 330: */ - 2: 331: DS_FileWriteError(FileIndex, sizeof(CFE_FS_Header_t), Result); - -: 332: } - -: 333: - -: 334: #elif (DS_FILE_HEADER_TYPE == DS_FILE_HEADER_GPM) - -: 335: - -: 336: DS_AppFileStatus_t *FileStatus = &DS_AppData.FileStatus[FileIndex]; - -: 337: DS_FileHeaderGPM_t DS_FileHeaderGPM; - -: 338: int32 Result; - -: 339: - -: 340: /* - -: 341: ** Initialize GPM file header... - -: 342: */ - -: 343: CFE_PSP_MemSet(&DS_FileHeaderGPM, ' ', sizeof(DS_FileHeaderGPM_t)); - -: 344: - -: 345: DS_FileHeaderGPM.SourceID[0] = 'S'; - -: 346: DS_FileHeaderGPM.SourceID[1] = 'C'; - -: 347: DS_FileHeaderGPM.SourceID[2] = 'H'; - -: 348: DS_FileHeaderGPM.SourceID[3] = 'K'; - -: 349: - -: 350: DS_FileConvertGPM(DS_FileHeaderGPM.SequenceID, FileStatus->FileCount); - -: 351: - -: 352: DS_FileHeaderGPM.StartTime = DS_AppData.CurrentPktTime; - -: 353: - -: 354: /* - -: 355: ** Write GPM file header to the file... - -: 356: */ - -: 357: Result = OS_write(FileStatus->FileHandle, &DS_FileHeaderGPM, sizeof(DS_FileHeaderGPM_t)); - -: 358: - -: 359: if (Result == sizeof(DS_FileHeaderGPM_t)) - -: 360: { - -: 361: /* - -: 362: ** Success - update file size and data rate counters... - -: 363: */ - -: 364: DS_AppData.FileWriteCounter++; - -: 365: - -: 366: FileStatus->FileSize += sizeof(DS_FileHeaderGPM_t); - -: 367: FileStatus->FileGrowth += sizeof(DS_FileHeaderGPM_t); - -: 368: } - -: 369: else - -: 370: { - -: 371: /* - -: 372: ** Error - send event, close file and disable destination... - -: 373: */ - -: 374: DS_FileWriteError(FileIndex, sizeof(DS_FileHeaderGPM_t), Result); - -: 375: } - -: 376: #endif - -: 377: - 6: 378: return; - -: 379: - -: 380:} /* End of DS_FileWriteHeader() */ - -: 381: - -: 382: - -: 383:/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ - -: 384:/* */ - -: 385:/* DS_FileWriteError() - file write error handler */ - -: 386:/* */ - -: 387:/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ - 5: 388:void DS_FileWriteError(uint32 FileIndex, uint32 DataLength, int32 WriteResult) - -: 389:{ - 5: 390: DS_AppFileStatus_t *FileStatus = &DS_AppData.FileStatus[FileIndex]; - -: 391: - -: 392: /* - -: 393: ** Send event, close file and disable destination... - -: 394: */ - 5: 395: DS_AppData.FileWriteErrCounter++; - -: 396: - 5: 397: CFE_EVS_SendEvent(DS_WRITE_FILE_ERR_EID, CFE_EVS_ERROR, - -: 398: "FILE WRITE error: result = %d, length = %d, dest = %d, name = '%s'", - -: 399: (int)WriteResult, (int)DataLength, (int)FileIndex, FileStatus->FileName); - -: 400: - 5: 401: DS_FileCloseDest(FileIndex); - -: 402: - 5: 403: FileStatus->FileState = DS_DISABLED; - -: 404: - 5: 405: return; - -: 406: - -: 407:} /* End of DS_FileWriteError() */ - -: 408: - -: 409: - -: 410:/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ - -: 411:/* */ - -: 412:/* DS_FileCreateDest() - create destination file */ - -: 413:/* */ - -: 414:/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ - 4: 415:void DS_FileCreateDest(uint32 FileIndex) - -: 416:{ - 4: 417: DS_DestFileEntry_t *DestFile = &DS_AppData.DestFileTblPtr->File[FileIndex]; - 4: 418: DS_AppFileStatus_t *FileStatus = &DS_AppData.FileStatus[FileIndex]; - -: 419: int32 Result; - -: 420: - -: 421: /* - -: 422: ** Create filename from "path + base + sequence count + extension"... - -: 423: */ - 4: 424: DS_FileCreateName(FileIndex); - -: 425: - 4: 426: if (FileStatus->FileName[0] != DS_STRING_TERMINATOR) - -: 427: { - -: 428: /* - -: 429: ** Success - create a new destination file... - -: 430: */ - 4: 431: Result = OS_creat(FileStatus->FileName, OS_READ_WRITE); - -: 432: - 4: 433: if (Result < 0) - -: 434: { - -: 435: /* - -: 436: ** Error - send event, disable destination and reset filename... - -: 437: */ - 1: 438: DS_AppData.FileWriteErrCounter++; - -: 439: - 1: 440: CFE_EVS_SendEvent(DS_CREATE_FILE_ERR_EID, CFE_EVS_ERROR, - -: 441: "FILE CREATE error: result = %d, dest = %d, name = '%s'", - -: 442: (int)Result, (int)FileIndex, FileStatus->FileName); - -: 443: - 1: 444: CFE_PSP_MemSet(FileStatus->FileName, 0, DS_TOTAL_FNAME_BUFSIZE); - -: 445: - -: 446: /* - -: 447: ** Something needs to get fixed before we try again... - -: 448: */ - 1: 449: FileStatus->FileState = DS_DISABLED; - -: 450: } - -: 451: else - -: 452: { - -: 453: /* - -: 454: ** Success - store the file handle... - -: 455: */ - 3: 456: DS_AppData.FileWriteCounter++; - -: 457: - 3: 458: FileStatus->FileHandle = Result; - -: 459: - -: 460: /* - -: 461: ** Initialize and write config specific file header... - -: 462: */ - 3: 463: DS_FileWriteHeader(FileIndex); - -: 464: - -: 465: /* - -: 466: ** Update sequence count if have one and write successful... - -: 467: */ - 5: 468: if ((FileStatus->FileHandle != DS_CLOSED_FILE_HANDLE) && - 2: 469: (DestFile->FileNameType == DS_BY_COUNT)) - -: 470: { - 1: 471: FileStatus->FileCount++; - 1: 472: if (FileStatus->FileCount > DS_MAX_SEQUENCE_COUNT) - -: 473: { - 1: 474: FileStatus->FileCount = DestFile->SequenceCount; - -: 475: } - -: 476: - -: 477: /* - -: 478: ** Update Critical Data Store (CDS)... - -: 479: */ - 1: 480: DS_TableUpdateCDS(); - -: 481: } - -: 482: } - -: 483: } - -: 484: - 4: 485: return; - -: 486: - -: 487:} /* End of DS_FileCreateDest() */ - -: 488: - -: 489: - -: 490:/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ - -: 491:/* */ - -: 492:/* Create destination filename */ - -: 493:/* */ - -: 494:/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ - 6: 495:void DS_FileCreateName(uint32 FileIndex) - -: 496:{ - 6: 497: DS_DestFileEntry_t *DestFile = &DS_AppData.DestFileTblPtr->File[FileIndex]; - 6: 498: DS_AppFileStatus_t *FileStatus = &DS_AppData.FileStatus[FileIndex]; - -: 499: int32 TotalLength; - -: 500: - -: 501: char Workname[2 * DS_TOTAL_FNAME_BUFSIZE]; - -: 502: char Sequence[DS_TOTAL_FNAME_BUFSIZE]; - -: 503: - 6: 504: Workname[0] = DS_STRING_TERMINATOR; - 6: 505: Sequence[0] = DS_STRING_TERMINATOR; - -: 506: - -: 507: /* - -: 508: ** Start with the path portion of the filename... - -: 509: */ - 6: 510: strcpy(Workname, DestFile->Pathname); - 6: 511: TotalLength = strlen(Workname); - -: 512: - -: 513: /* - -: 514: ** Add a path separator (if needed) before appending the base name... - -: 515: */ - -: 516: - 6: 517: if (Workname[TotalLength - 1] != DS_PATH_SEPARATOR) - -: 518: { - 6: 519: Workname[TotalLength] = DS_PATH_SEPARATOR; - 6: 520: Workname[TotalLength + 1] = DS_STRING_TERMINATOR; - -: 521: } - -: 522: - -: 523: /* - -: 524: ** Verify that the path plus the base portion is not too large... - -: 525: */ - 6: 526: if ((strlen(Workname) + strlen(DestFile->Basename)) < DS_TOTAL_FNAME_BUFSIZE) - -: 527: { - -: 528: /* - -: 529: ** Append the base portion to the path portion... - -: 530: */ - 5: 531: strcat(Workname, DestFile->Basename); - -: 532: - -: 533: /* - -: 534: ** Create the sequence portion of the filename... - -: 535: */ - 5: 536: DS_FileCreateSequence(Sequence, DestFile->FileNameType, FileStatus->FileCount); - -: 537: - -: 538: /* - -: 539: ** Verify that the path/base plus the sequence portion is not too large... - -: 540: */ - 5: 541: if ((strlen(Workname) + strlen(Sequence)) < DS_TOTAL_FNAME_BUFSIZE) - -: 542: { - -: 543: /* - -: 544: ** Append the sequence portion to the path/base portion... - -: 545: */ - 5: 546: strcat(Workname, Sequence); - -: 547: - -: 548: /* - -: 549: ** Check for an optional file extension... - -: 550: */ - 5: 551: if (strlen(DestFile->Extension) > 0) - -: 552: { - -: 553: /* - -: 554: ** Add a "." character (if needed) before appending the extension... - -: 555: */ - 5: 556: if (DestFile->Extension[0] != '.') - -: 557: { - 5: 558: strcat(Workname, "."); - -: 559: } - -: 560: - -: 561: /* - -: 562: ** Append the extension portion to the path/base+sequence portion... - -: 563: */ - 5: 564: strcat(Workname, DestFile->Extension); - -: 565: } - -: 566: - -: 567: /* - -: 568: ** Final test - is "path/base+sequence.extension" length valid?... - -: 569: */ - 5: 570: if (strlen(Workname) < DS_TOTAL_FNAME_BUFSIZE) - -: 571: { - -: 572: /* - -: 573: ** Success - copy workname to filename buffer... - -: 574: */ - 5: 575: strcpy(FileStatus->FileName, Workname); - -: 576: } - -: 577: } - -: 578: } - -: 579: - 6: 580: if (FileStatus->FileName[0] == DS_STRING_TERMINATOR) - -: 581: { - -: 582: /* - -: 583: ** Error - send event and disable destination... - -: 584: */ - 1: 585: CFE_EVS_SendEvent(DS_FILE_NAME_ERR_EID, CFE_EVS_ERROR, - -: 586: "FILE NAME error: dest = %d, path = '%s', base = '%s', seq = '%s', ext = '%s'", - -: 587: (int)FileIndex, DestFile->Pathname, DestFile->Basename, - -: 588: Sequence, DestFile->Extension); - -: 589: - -: 590: /* - -: 591: ** Something needs to get fixed before we try again... - -: 592: */ - 1: 593: DS_AppData.FileStatus[FileIndex].FileState = DS_DISABLED; - -: 594: } - -: 595: - 6: 596: return; - -: 597: - -: 598:} /* End of DS_FileCreateName() */ - -: 599: - -: 600: - -: 601:/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ - -: 602:/* */ - -: 603:/* DS_FileCreateSequence() - set text from count or time */ - -: 604:/* */ - -: 605:/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ - 8: 606:void DS_FileCreateSequence(char *Buffer, uint32 Type, uint32 Count) - -: 607:{ - -: 608: CFE_TIME_SysTime_t TimeToPrint; - -: 609: - -: 610: uint32 SequenceCount; - -: 611: uint32 NumericDigit; - -: 612: - -: 613: int32 BufferIndex; - -: 614: - -: 615: /* - -: 616: ** Build the sequence portion of the filename (time or count)... - -: 617: */ - 8: 618: if (Type == DS_BY_COUNT) - -: 619: { - -: 620: /* - -: 621: ** Get copy of sequence count that can be modified... - -: 622: */ - 2: 623: SequenceCount = Count; - -: 624: - -: 625: /* - -: 626: ** Extract each digit (least significant digit first)... - -: 627: */ - 18: 628: for (BufferIndex = DS_SEQUENCE_DIGITS - 1; BufferIndex >= 0; BufferIndex--) - -: 629: { - -: 630: /* - -: 631: ** Extract this digit and prepare for next digit... - -: 632: */ - 16: 633: NumericDigit = SequenceCount % 10; - 16: 634: SequenceCount = SequenceCount / 10; - -: 635: - -: 636: /* - -: 637: ** Store this digit as ASCII in sequence string buffer... - -: 638: */ - 16: 639: Buffer[BufferIndex] = '0' + NumericDigit; - -: 640: } - -: 641: - -: 642: /* - -: 643: ** Add string terminator... - -: 644: */ - 2: 645: Buffer[DS_SEQUENCE_DIGITS] = DS_STRING_TERMINATOR; - -: 646: } - 6: 647: else if (Type == DS_BY_TIME) - -: 648: { - -: 649: - -: 650: #if (DS_FILE_HEADER_TYPE == DS_FILE_HEADER_GPM) - -: 651: /* - -: 652: ** Filename is based on seconds from current packet timestamp... - -: 653: */ - -: 654: TimeToPrint.Seconds = DS_AppData.CurrentPktTime; - -: 655: TimeToPrint.Subseconds = 0; - -: 656: #else - -: 657: /* - -: 658: ** Filename is based on seconds from current time... - -: 659: */ - 1: 660: TimeToPrint = CFE_TIME_GetTime(); - -: 661: #endif - -: 662: - -: 663: /* - -: 664: ** Convert time value to cFE format text string... - -: 665: */ - 1: 666: CFE_TIME_Print(Buffer, TimeToPrint); - -: 667: - -: 668: /* - -: 669: ** cFE time string has format: "YYYY-DDD-HH:MM:SS.sssss"... - -: 670: */ - -: 671: #define CFE_YYYY_INDEX 0 - -: 672: #define CFE_DDD_INDEX 5 - -: 673: #define CFE_HH_INDEX 9 - -: 674: #define CFE_MM_INDEX 12 - -: 675: #define CFE_SS_INDEX 15 - -: 676: #define CFE_ssss_INDEX 18 - -: 677: - -: 678: /* - -: 679: ** DS time string has format: "YYYYDDDHHMMSS"... - -: 680: */ - -: 681: #define DS_YYYY_INDEX 0 - -: 682: #define DS_DDD_INDEX 4 - -: 683: #define DS_HH_INDEX 7 - -: 684: #define DS_MM_INDEX 9 - -: 685: #define DS_SS_INDEX 11 - -: 686: #define DS_TERM_INDEX 13 - -: 687: - -: 688: /* - -: 689: ** Convert cFE time string to DS time string by moving - -: 690: ** the cFE chars to the left to remove extra stuff... - -: 691: */ - -: 692: - -: 693: /* - -: 694: ** Step 1: Leave "year" (YYYY) alone - it is already OK... - -: 695: */ - -: 696: - -: 697: /* - -: 698: ** Step 2: Move "day of year" (DDD) next to (YYYY)... - -: 699: */ - 1: 700: Buffer[DS_DDD_INDEX + 0] = Buffer[CFE_DDD_INDEX + 0]; - 1: 701: Buffer[DS_DDD_INDEX + 1] = Buffer[CFE_DDD_INDEX + 1]; - 1: 702: Buffer[DS_DDD_INDEX + 2] = Buffer[CFE_DDD_INDEX + 2]; - -: 703: - -: 704: /* - -: 705: ** Step 3: Move "hour of day" (HH) next to (DDD)... - -: 706: */ - 1: 707: Buffer[DS_HH_INDEX + 0] = Buffer[CFE_HH_INDEX + 0]; - 1: 708: Buffer[DS_HH_INDEX + 1] = Buffer[CFE_HH_INDEX + 1]; - -: 709: - -: 710: /* - -: 711: ** Step 4: Move "minutes" (MM) next to (HH)... - -: 712: */ - 1: 713: Buffer[DS_MM_INDEX + 0] = Buffer[CFE_MM_INDEX + 0]; - 1: 714: Buffer[DS_MM_INDEX + 1] = Buffer[CFE_MM_INDEX + 1]; - -: 715: - -: 716: /* - -: 717: ** Step 5: Move "seconds" (SS) next to (MM)... - -: 718: */ - 1: 719: Buffer[DS_SS_INDEX + 0] = Buffer[CFE_SS_INDEX + 0]; - 1: 720: Buffer[DS_SS_INDEX + 1] = Buffer[CFE_SS_INDEX + 1]; - -: 721: - -: 722: /* - -: 723: ** Step 6: Skip "subsecs" (ssss) - not in DS format... - -: 724: */ - -: 725: - -: 726: /* - -: 727: ** Step 7: Add string terminator... - -: 728: */ - 1: 729: Buffer[DS_TERM_INDEX] = DS_STRING_TERMINATOR; - -: 730: } - -: 731: else - -: 732: { - -: 733: /* - -: 734: ** Bad filename type, init buffer as empty... - -: 735: */ - 5: 736: Buffer[0] = DS_STRING_TERMINATOR; - -: 737: } - -: 738: - 8: 739: return; - -: 740: - -: 741:} /* End of DS_FileCreateSequence() */ - -: 742: - -: 743: - -: 744:/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ - -: 745:/* */ - -: 746:/* DS_FileUpdateHeader() - update destination file header */ - -: 747:/* */ - -: 748:/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ - -: 749: - 21: 750:void DS_FileUpdateHeader(int32 FileIndex) - -: 751:{ - -: 752: #if (DS_FILE_HEADER_TYPE == DS_FILE_HEADER_CFE) - -: 753: - -: 754: /* - -: 755: ** Update CFE specific header fields... - -: 756: */ - 21: 757: DS_AppFileStatus_t *FileStatus = &DS_AppData.FileStatus[FileIndex]; - 21: 758: CFE_TIME_SysTime_t CurrentTime = CFE_TIME_GetTime(); - -: 759: int32 Result; - -: 760: - 21: 761: Result = OS_lseek(FileStatus->FileHandle, sizeof(CFE_FS_Header_t), SEEK_SET); - -: 762: - 21: 763: if (Result == sizeof(CFE_FS_Header_t)) - -: 764: { - -: 765: /* update file close time */ - 2: 766: Result = OS_write(FileStatus->FileHandle, &CurrentTime, sizeof(CFE_TIME_SysTime_t)); - -: 767: - 2: 768: if (Result == sizeof(CFE_TIME_SysTime_t)) - -: 769: { - 1: 770: DS_AppData.FileUpdateCounter++; - -: 771: } - -: 772: else - -: 773: { - 1: 774: DS_AppData.FileUpdateErrCounter++; - -: 775: } - -: 776: } - -: 777: else - -: 778: { - 19: 779: DS_AppData.FileUpdateErrCounter++; - -: 780: } - -: 781: - -: 782: #elif (DS_FILE_HEADER_TYPE == DS_FILE_HEADER_GPM) - -: 783: - -: 784: /* - -: 785: ** Update GPM specific header fields... - -: 786: */ - -: 787: DS_AppFileStatus_t *FileStatus = &DS_AppData.FileStatus[FileIndex]; - -: 788: char Buf8[8]; - -: 789: int32 Result; - -: 790: - -: 791: Result = OS_lseek(FileStatus->FileHandle, 16, SEEK_SET); - -: 792: - -: 793: if (Result == 16) - -: 794: { - -: 795: /* update last pkt time in file header */ - -: 796: Result = OS_write(FileStatus->FileHandle, &DS_AppData.LastPktTime[FileIndex], sizeof(uint32)); - -: 797: - -: 798: if (Result == sizeof(uint32)) - -: 799: { - -: 800: /* update file size in file header */ - -: 801: CFE_PSP_MemSet(Buf8, ' ', sizeof(Buf8)); - -: 802: DS_FileConvertGPM(Buf8, FileStatus->FileSize); - -: 803: Result = OS_write(FileStatus->FileHandle, Buf8, sizeof(Buf8)); - -: 804: - -: 805: if (Result == sizeof(Buf8)) - -: 806: { - -: 807: DS_AppData.FileUpdateCounter++; - -: 808: } - -: 809: else - -: 810: { - -: 811: DS_AppData.FileUpdateErrCounter++; - -: 812: } - -: 813: } - -: 814: else - -: 815: { - -: 816: DS_AppData.FileUpdateErrCounter++; - -: 817: } - -: 818: } - -: 819: else - -: 820: { - -: 821: DS_AppData.FileUpdateErrCounter++; - -: 822: } - -: 823: - -: 824: #endif - -: 825: - 21: 826: return; - -: 827: - -: 828:} /* End of DS_FileUpdateHeader() */ - -: 829: - -: 830: - -: 831:/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ - -: 832:/* */ - -: 833:/* DS_FileCloseDest() - close destination file */ - -: 834:/* */ - -: 835:/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ - 24: 836:void DS_FileCloseDest(int32 FileIndex) - -: 837:{ - 24: 838: DS_AppFileStatus_t *FileStatus = &DS_AppData.FileStatus[FileIndex]; - -: 839: - -: 840: #if (DS_MOVE_FILES == TRUE) - -: 841: /* - -: 842: ** Move file from working directory to downlink directory... - -: 843: */ - -: 844: int32 OS_result; - -: 845: int32 PathLength; - -: 846: char *FileName; - -: 847: char PathName[DS_TOTAL_FNAME_BUFSIZE]; - -: 848: - -: 849: /* - -: 850: ** First, close the file... - -: 851: */ - -: 852: OS_close(FileStatus->FileHandle); - -: 853: - -: 854: /* - -: 855: ** Move file only if table has a downlink directory name... - -: 856: */ - -: 857: if (DS_AppData.DestFileTblPtr->File[FileIndex].Movename[0] != '\0') - -: 858: { - -: 859: /* - -: 860: ** Make sure directory name does not end with slash character... - -: 861: */ - -: 862: strcpy(PathName, DS_AppData.DestFileTblPtr->File[FileIndex].Movename); - -: 863: PathLength = strlen(PathName); - -: 864: if (PathName[PathLength - 1] == '/') - -: 865: { - -: 866: PathName[PathLength - 1] = '\0'; - -: 867: PathLength--; - -: 868: } - -: 869: - -: 870: /* - -: 871: ** Get a pointer to slash character before the filename... - -: 872: */ - -: 873: FileName = strrchr(FileStatus->FileName, '/'); - -: 874: - -: 875: /* - -: 876: ** Verify that directory name plus filename is not too large... - -: 877: */ - -: 878: if ((PathLength + strlen(FileName)) < DS_TOTAL_FNAME_BUFSIZE) - -: 879: { - -: 880: /* - -: 881: ** Append the filename (with slash) to the directory name... - -: 882: */ - -: 883: strcat(PathName, FileName); - -: 884: - -: 885: /* - -: 886: ** Use OS function to move/rename the file... - -: 887: */ - -: 888: OS_result = OS_mv(FileStatus->FileName, PathName); - -: 889: /* OS_result = OS_rename(FileStatus->FileName, PathName); */ - -: 890: - -: 891: if (OS_result != OS_SUCCESS) - -: 892: { - -: 893: /* - -: 894: ** Error - send event but leave destination enabled... - -: 895: */ - -: 896: CFE_EVS_SendEvent(DS_MOVE_FILE_ERR_EID, CFE_EVS_ERROR, - -: 897: "FILE MOVE error: src = '%s', tgt = '%s', result = %d", - -: 898: FileStatus->FileName, PathName, OS_result); - -: 899: } - -: 900: } - -: 901: else - -: 902: { - -: 903: /* - -: 904: ** Error - send event but leave destination enabled... - -: 905: */ - -: 906: CFE_EVS_SendEvent(DS_MOVE_FILE_ERR_EID, CFE_EVS_ERROR, - -: 907: "FILE MOVE error: dir name = '%s', filename = '%s'", - -: 908: PathName, FileName); - -: 909: } - -: 910: } - -: 911: #else - -: 912: /* - -: 913: ** Close the file... - -: 914: */ - 24: 915: OS_close(FileStatus->FileHandle); - -: 916: #endif - -: 917: - -: 918: /* - -: 919: ** Reset status for this destination file... - -: 920: */ - 24: 921: FileStatus->FileHandle = DS_CLOSED_FILE_HANDLE; - 24: 922: FileStatus->FileAge = 0; - 24: 923: FileStatus->FileSize = 0; - -: 924: - -: 925: /* - -: 926: ** Remove previous filename from status data... - -: 927: */ - 24: 928: CFE_PSP_MemSet(FileStatus->FileName, 0, DS_TOTAL_FNAME_BUFSIZE); - -: 929: - 24: 930: return; - -: 931: - -: 932:} /* End of DS_FileCloseDest() */ - -: 933: - -: 934: - -: 935:/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ - -: 936:/* */ - -: 937:/* DS_FileTestAge() -- file age processor */ - -: 938:/* */ - -: 939:/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ - 4: 940:void DS_FileTestAge(uint32 ElapsedSeconds) - -: 941:{ - -: 942: uint32 FileIndex; - -: 943: - -: 944: /* - -: 945: ** Called from HK request command handler (elapsed = platform config) - -: 946: */ - 4: 947: if (DS_AppData.DestFileTblPtr != (DS_DestFileTable_t *) NULL) - -: 948: { - -: 949: /* - -: 950: ** Cannot test file age without destination file table... - -: 951: */ - 34: 952: for (FileIndex = 0; FileIndex < DS_DEST_FILE_CNT; FileIndex++) - -: 953: { - -: 954: /* - -: 955: ** Update age of open files... - -: 956: */ - 32: 957: if (DS_AppData.FileStatus[FileIndex].FileHandle != DS_CLOSED_FILE_HANDLE) - -: 958: { - 32: 959: DS_AppData.FileStatus[FileIndex].FileAge += ElapsedSeconds; - -: 960: - 64: 961: if (DS_AppData.FileStatus[FileIndex].FileAge >= - 32: 962: DS_AppData.DestFileTblPtr->File[FileIndex].MaxFileAge) - -: 963: { - -: 964: /* - -: 965: ** Close files that exceed maximum file age... - -: 966: */ - 15: 967: DS_FileUpdateHeader(FileIndex); - 15: 968: DS_FileCloseDest(FileIndex); - -: 969: } - -: 970: } - -: 971: } - -: 972: } - -: 973: - 4: 974: return; - -: 975: - -: 976:} /* End of DS_FileTestAge() */ - -: 977: - -: 978: - -: 979:#if (DS_FILE_HEADER_TYPE == DS_FILE_HEADER_GPM) - -: 980: - -: 981:/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ - -: 982:/* */ - -: 983:/* DS_FileConvertGPM() - convert GPM file header value to ASCII */ - -: 984:/* */ - -: 985:/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ - -: 986: - -: 987:void DS_FileConvertGPM(char *Buffer, uint32 Value) - -: 988:{ - -: 989: uint32 LocalValue = Value; - -: 990: int i; - -: 991: - -: 992: /* limit value to max of 8 characters */ - -: 993: if (LocalValue > 99999999) - -: 994: { - -: 995: LocalValue = 99999999; - -: 996: } - -: 997: - -: 998: /* start with low order digits */ - -: 999: for (i = 7; i >= 0; i--) - -: 1000: { - -: 1001: /* save lowest digit as ASCII */ - -: 1002: Buffer[i] = '0' + (LocalValue % 10); - -: 1003: - -: 1004: /* remove lowest digit from value */ - -: 1005: LocalValue = LocalValue / 10; - -: 1006: } - -: 1007: - -: 1008: return; - -: 1009: - -: 1010:} /* End of DS_FileConvertGPM() */ - -: 1011: - -: 1012:#endif - -: 1013: - -: 1014: - -: 1015:/************************/ - -: 1016:/* End of File Comment */ - -: 1017:/************************/ - -: 1018: diff --git a/fsw/unit_test/ds_file_test.c b/fsw/unit_test/ds_file_test.c deleted file mode 100644 index 7269df5..0000000 --- a/fsw/unit_test/ds_file_test.c +++ /dev/null @@ -1,1154 +0,0 @@ - /************************************************************************* - ** File: ds_file_test.c - ** - ** NASA Docket No. GSC-16,126-1, and identified as "Core Flight Software System - ** (CFS) Data Storage Application Version 2” - ** - ** Copyright © 2007-2014 United States Government as represented by the - ** Administrator of the National Aeronautics and Space Administration. All Rights - ** Reserved. - ** - ** Licensed under the Apache License, Version 2.0 (the "License"); - ** you may not use this file except in compliance with the License. - ** You may obtain a copy of the License at - ** http://www.apache.org/licenses/LICENSE-2.0 - ** - ** Unless required by applicable law or agreed to in writing, software - ** distributed under the License is distributed on an "AS IS" BASIS, - ** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - ** See the License for the specific language governing permissions and - ** limitations under the License. - ** - ** Purpose: - ** This file contains unit test cases for the functions contained in the file ds_file.c - ** - ** References: - ** Flight Software Branch C Coding Standard Version 1.2 - ** CFS Development Standards Document - ** - ** Notes: - ** - *************************************************************************/ - -/* - * Includes - */ - -#include "ds_file_test.h" -#include "ds_app.h" -#include "ds_appdefs.h" -#include "ds_file.h" -#include "ds_msg.h" -#include "ds_msgdefs.h" -#include "ds_msgids.h" -#include "ds_events.h" -#include "ds_version.h" -#include "ds_test_utils.h" -#include "ut_osapi_stubs.h" -#include "ut_cfe_sb_stubs.h" -#include "ut_cfe_es_stubs.h" -#include "ut_cfe_es_hooks.h" -#include "ut_cfe_evs_stubs.h" -#include "ut_cfe_evs_hooks.h" -#include "ut_cfe_time_stubs.h" -#include "ut_cfe_psp_memutils_stubs.h" -#include "ut_cfe_tbl_stubs.h" -#include "ut_cfe_fs_stubs.h" -#include "ut_cfe_time_stubs.h" -#include -#include -#include - -/* - * Function Definitions - */ - -uint8 UT_DS_FILE_TEST_CFE_OSFILEAPI_WriteHookRunCount; -int32 UT_DS_FILE_TEST_CFE_OSFILEAPI_WriteHook (int32 filedes, void *buffer, uint32 nbytes) -{ - char Buf8[8]; - - UT_DS_FILE_TEST_CFE_OSFILEAPI_WriteHookRunCount++; - - if (UT_DS_FILE_TEST_CFE_OSFILEAPI_WriteHookRunCount == 1) - { - return sizeof(uint32); - } - else - { - return sizeof(Buf8); - } -} /* end UT_DS_FILE_TEST_CFE_OSFILEAPI_WriteHook */ - -void DS_FileStorePacket_Test_Nominal(void) -{ - DS_NoopCmd_t CmdPacket; - CFE_SB_MsgId_t MessageID = 0x18BB; - DS_FilterTable_t FilterTable; - DS_DestFileTable_t DestFileTable; - DS_HashLink_t HashLink; - - CFE_SB_InitMsg (&CmdPacket, DS_CMD_MID, sizeof(DS_NoopCmd_t), TRUE); - CFE_SB_SetCmdCode((CFE_SB_MsgPtr_t)&CmdPacket, DS_NOOP_CC); - - DS_AppData.FilterTblPtr = &FilterTable; - DS_AppData.DestFileTblPtr = &DestFileTable; - - DS_AppData.DestFileTblPtr->File[0].MaxFileSize = 10; - - DS_AppData.HashTable[187] = &HashLink; - HashLink.Index = 0; - DS_AppData.FilterTblPtr->Packet[0].MessageID = 0x18BB; - DS_AppData.FilterTblPtr->Packet[0].Filter[0].Algorithm_N = 1; - DS_AppData.FilterTblPtr->Packet[0].Filter[0].Algorithm_X = 3; - DS_AppData.FilterTblPtr->Packet[0].Filter[0].Algorithm_O = 0; - DS_AppData.FilterTblPtr->Packet[0].Filter[0].FilterType = 1; - DS_AppData.FileStatus[0].FileState = DS_ENABLED; - - /* Execute the function being tested */ - DS_FileStorePacket(MessageID, (CFE_SB_MsgPtr_t)&CmdPacket); - - /* Verify results */ - UtAssert_True (DS_AppData.PassedPktCounter == 1, "DS_AppData.PassedPktCounter == 1"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 0, "Ut_CFE_EVS_GetEventQueueDepth() == 0"); -} /* end DS_FileStorePacket_Test_Nominal */ - -void DS_FileStorePacket_Test_PacketNotInTable(void) -{ - DS_NoopCmd_t CmdPacket; - CFE_SB_MsgId_t MessageID = 0x0001; - - CFE_SB_InitMsg (&CmdPacket, DS_CMD_MID, sizeof(DS_NoopCmd_t), TRUE); - CFE_SB_SetCmdCode((CFE_SB_MsgPtr_t)&CmdPacket, DS_NOOP_CC); - - /* Execute the function being tested */ - DS_FileStorePacket(MessageID, (CFE_SB_MsgPtr_t)&CmdPacket); - - /* Verify results */ - UtAssert_True (DS_AppData.IgnoredPktCounter == 1, "DS_AppData.IgnoredPktCounter == 1"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 0, "Ut_CFE_EVS_GetEventQueueDepth() == 0"); -} /* end DS_FileStorePacket_Test_PacketNotInTable */ - -void DS_FileStorePacket_Test_PassedFilterFalse(void) -{ - DS_NoopCmd_t CmdPacket; - CFE_SB_MsgId_t MessageID = 0x18BB; - DS_FilterTable_t FilterTable; - DS_DestFileTable_t DestFileTable; - DS_HashLink_t HashLink; - - CFE_SB_InitMsg (&CmdPacket, DS_CMD_MID, sizeof(DS_NoopCmd_t), TRUE); - CFE_SB_SetCmdCode((CFE_SB_MsgPtr_t)&CmdPacket, DS_NOOP_CC); - - DS_AppData.FilterTblPtr = &FilterTable; - DS_AppData.DestFileTblPtr = &DestFileTable; - - DS_AppData.DestFileTblPtr->File[0].MaxFileSize = 10; - - DS_AppData.HashTable[187] = &HashLink; - HashLink.Index = 0; - DS_AppData.FilterTblPtr->Packet[0].MessageID = 0x18BB; - DS_AppData.FilterTblPtr->Packet[0].Filter[0].Algorithm_N = 1; - DS_AppData.FilterTblPtr->Packet[0].Filter[0].Algorithm_X = 3; - DS_AppData.FilterTblPtr->Packet[0].Filter[0].Algorithm_O = 1; - DS_AppData.FilterTblPtr->Packet[0].Filter[0].FilterType = 1; - DS_AppData.FileStatus[0].FileState = DS_ENABLED; - - /* Execute the function being tested */ - DS_FileStorePacket(MessageID, (CFE_SB_MsgPtr_t)&CmdPacket); - - /* Verify results */ - UtAssert_True (DS_AppData.FilteredPktCounter == 1, "DS_AppData.FilteredPktCounter == 1"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 0, "Ut_CFE_EVS_GetEventQueueDepth() == 0"); -} /* end DS_FileStorePacket_Test_PassedFilterFalse */ - -void DS_FileSetupWrite_Test_Nominal(void) -{ - DS_NoopCmd_t CmdPacket; - CFE_SB_MsgId_t FileIndex = 0; - DS_DestFileTable_t DestFileTable; - - CFE_SB_InitMsg (&CmdPacket, DS_CMD_MID, sizeof(DS_NoopCmd_t), TRUE); - CFE_SB_SetCmdCode((CFE_SB_MsgPtr_t)&CmdPacket, DS_NOOP_CC); - - DS_AppData.FileStatus[FileIndex].FileHandle = 99; - - DS_AppData.DestFileTblPtr = &DestFileTable; - - DS_AppData.DestFileTblPtr->File[FileIndex].MaxFileSize = 100; - DS_AppData.FileStatus[FileIndex].FileSize = 3; - - /* Execute the function being tested */ - DS_FileSetupWrite(FileIndex, (CFE_SB_MsgPtr_t)&CmdPacket); - - /* Verify results */ -#if (DS_FILE_HEADER_TYPE == DS_FILE_HEADER_GPM) - UtAssert_True (DS_AppData.CurrentPktTime == 0, "DS_AppData.CurrentPktTime == 0"); -#endif - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 0, "Ut_CFE_EVS_GetEventQueueDepth() == 0"); -} /* end DS_FileSetupWrite_Test_Nominal */ - -void DS_FileSetupWrite_Test_FileHandleClosed(void) -{ - DS_NoopCmd_t CmdPacket; - CFE_SB_MsgId_t FileIndex = 0; - DS_DestFileTable_t DestFileTable; - - CFE_SB_InitMsg (&CmdPacket, DS_CMD_MID, sizeof(DS_NoopCmd_t), TRUE); - CFE_SB_SetCmdCode((CFE_SB_MsgPtr_t)&CmdPacket, DS_NOOP_CC); - - DS_AppData.FileStatus[FileIndex].FileHandle = DS_CLOSED_FILE_HANDLE; - - DS_AppData.DestFileTblPtr = &DestFileTable; - - DS_AppData.DestFileTblPtr->File[FileIndex].MaxFileSize = 100; - DS_AppData.FileStatus[FileIndex].FileSize = 3; - - /* Execute the function being tested */ - DS_FileSetupWrite(FileIndex, (CFE_SB_MsgPtr_t)&CmdPacket); - - /* Verify results */ -#if (DS_FILE_HEADER_TYPE == DS_FILE_HEADER_GPM) - UtAssert_True (DS_AppData.CurrentPktTime == 0, "DS_AppData.CurrentPktTime == 0"); - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 0, "Ut_CFE_EVS_GetEventQueueDepth() == 0"); -#else - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 1, "Ut_CFE_EVS_GetEventQueueDepth() == 1"); - /* Generates 1 event message we don't care about in this test */ -#endif -} /* end DS_FileSetupWrite_Test_FileHandleClosed */ - -void DS_FileSetupWrite_Test_MaxFileSizeExceeded(void) -{ - DS_NoopCmd_t CmdPacket; - CFE_SB_MsgId_t FileIndex = 0; - DS_DestFileTable_t DestFileTable; - - CFE_SB_InitMsg (&CmdPacket, DS_CMD_MID, sizeof(DS_NoopCmd_t), TRUE); - CFE_SB_SetCmdCode((CFE_SB_MsgPtr_t)&CmdPacket, DS_NOOP_CC); - - DS_AppData.FileStatus[FileIndex].FileHandle = 99; - DS_AppData.DestFileTblPtr = &DestFileTable; - - DS_AppData.DestFileTblPtr->File[FileIndex].MaxFileSize = 5; - DS_AppData.FileStatus[FileIndex].FileSize = 10; - - strncpy (DS_AppData.DestFileTblPtr->File[FileIndex].Pathname, "path", OS_MAX_PATH_LEN); - strncpy (DS_AppData.FileStatus[FileIndex].FileName, "directory1/", DS_TOTAL_FNAME_BUFSIZE); - - /* Set to prevent an error message that we don't care about in this test */ - Ut_CFE_FS_SetReturnCode(UT_CFE_FS_WRITEHDR_INDEX, sizeof(CFE_FS_Header_t), 1); - -#if (DS_MOVE_FILES == TRUE) - strncpy (DS_AppData.DestFileTblPtr->File[FileIndex].Movename, "directory2/movename/", DS_PATHNAME_BUFSIZE); -#endif - - /* Execute the function being tested */ - DS_FileSetupWrite(FileIndex, (CFE_SB_MsgPtr_t)&CmdPacket); - - /* Verify results */ -#if DS_FILE_HEADER_TYPE == DS_FILE_HEADER_GPM - UtAssert_True (DS_AppData.CurrentPktTime == 0, "DS_AppData.CurrentPktTime == 0"); -#endif - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 0, "Ut_CFE_EVS_GetEventQueueDepth() == 0"); -} /* end DS_FileSetupWrite_Test_MaxFileSizeExceeded */ - -void DS_FileWriteData_Test_Nominal(void) -{ - DS_NoopCmd_t CmdPacket; - CFE_SB_MsgId_t FileIndex = 0; - uint32 DataLength = 10; - - CFE_SB_InitMsg (&CmdPacket, DS_CMD_MID, sizeof(DS_NoopCmd_t), TRUE); - CFE_SB_SetCmdCode((CFE_SB_MsgPtr_t)&CmdPacket, DS_NOOP_CC); - - /* Set to return DataLength to satisfy condition "if (Result == DataLength)" */ - Ut_OSFILEAPI_SetReturnCode(UT_OSFILEAPI_WRITE_INDEX, DataLength, 1); - - /* Execute the function being tested */ - DS_FileWriteData(FileIndex, (CFE_SB_MsgPtr_t)&CmdPacket, DataLength); - - /* Verify results */ - UtAssert_True (DS_AppData.FileWriteCounter == 1, "DS_AppData.FileWriteCounter == 1"); - UtAssert_True (DS_AppData.FileStatus[FileIndex].FileSize == 10, "DS_AppData.FileStatus[FileIndex].FileSize == 10"); - UtAssert_True (DS_AppData.FileStatus[FileIndex].FileGrowth == 10, "DS_AppData.FileStatus[FileIndex].FileGrowth == 10"); - -#if DS_FILE_HEADER_TYPE == DS_FILE_HEADER_GPM - UtAssert_True (DS_AppData.LastPktTime[FileIndex] == 0, "DS_AppData.LastPktTime[FileIndex] == 0"); -#endif - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 0, "Ut_CFE_EVS_GetEventQueueDepth() == 0"); - -} /* end DS_FileWriteData_Test_Nominal */ - -void DS_FileWriteData_Test_Error(void) -{ - DS_NoopCmd_t CmdPacket; - CFE_SB_MsgId_t FileIndex = 0; - uint32 DataLength = 10; - DS_DestFileTable_t DestFileTable; - - DS_AppData.DestFileTblPtr = &DestFileTable; - - CFE_SB_InitMsg (&CmdPacket, DS_CMD_MID, sizeof(DS_NoopCmd_t), TRUE); - CFE_SB_SetCmdCode((CFE_SB_MsgPtr_t)&CmdPacket, DS_NOOP_CC); - - /* Set to reach error case being tested (DS_FileWriteError) */ - Ut_OSFILEAPI_SetReturnCode(UT_OSFILEAPI_WRITE_INDEX, -1, 1); - - strncpy (DS_AppData.FileStatus[FileIndex].FileName, "directory1/", DS_TOTAL_FNAME_BUFSIZE); - - /* Execute the function being tested */ - DS_FileWriteData(FileIndex, (CFE_SB_MsgPtr_t)&CmdPacket, DataLength); - - /* Verify results */ - UtAssert_True - (Ut_CFE_EVS_EventSent(DS_WRITE_FILE_ERR_EID, CFE_EVS_ERROR, "FILE WRITE error: result = -1, length = 10, dest = 0, name = 'directory1/'"), - "FILE WRITE error: result = -1, length = 10, dest = 0, name = 'directory1/'"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 1, "Ut_CFE_EVS_GetEventQueueDepth() == 1"); - -} /* end DS_FileWriteData_Test_Error */ - -#if DS_FILE_HEADER_TYPE == DS_FILE_HEADER_CFE -void DS_FileWriteHeader_Test_PlatformConfigCFE_Nominal(void) -{ - CFE_SB_MsgId_t FileIndex = 0; - DS_DestFileTable_t DestFileTable; - - DS_AppData.DestFileTblPtr = &DestFileTable; - - DS_AppData.DestFileTblPtr->File[FileIndex].FileNameType = 1; - - /* Set to satisfy condition "if (Result == sizeof(CFE_FS_Header_t))" */ - Ut_CFE_FS_SetReturnCode(UT_CFE_FS_WRITEHDR_INDEX, sizeof(CFE_FS_Header_t), 1); - - /* Set to satisfy condition "if (Result == sizeof(DS_FileHeader_t))" */ - Ut_OSFILEAPI_SetReturnCode(UT_OSFILEAPI_WRITE_INDEX, sizeof(DS_FileHeader_t), 1); - - /* Execute the function being tested */ - DS_FileWriteHeader(FileIndex); - - /* Verify results */ - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 0, "Ut_CFE_EVS_GetEventQueueDepth() == 0"); - UtAssert_True (DS_AppData.FileWriteCounter == 2, "DS_AppData.FileWriteCounter == 2"); - UtAssert_True (DS_AppData.FileStatus[FileIndex].FileSize == sizeof(CFE_FS_Header_t) + sizeof(DS_FileHeader_t), "sizeof(CFE_FS_Header_t) + sizeof(DS_FileHeader_t)"); - UtAssert_True (DS_AppData.FileStatus[FileIndex].FileGrowth == sizeof(CFE_FS_Header_t) + sizeof(DS_FileHeader_t), "sizeof(CFE_FS_Header_t) + sizeof(DS_FileHeader_t)"); - -} /* end DS_FileWriteHeader_Test_PlatformConfigCFE_Nominal */ -#endif - -#if DS_FILE_HEADER_TYPE == DS_FILE_HEADER_CFE -void DS_FileWriteHeader_Test_PrimaryHeaderError(void) -{ - CFE_SB_MsgId_t FileIndex = 0; - DS_DestFileTable_t DestFileTable; - - DS_AppData.DestFileTblPtr = &DestFileTable; - - DS_AppData.DestFileTblPtr->File[FileIndex].FileNameType = 1; - - /* Set to generate primary header error */ - Ut_CFE_FS_SetReturnCode(UT_CFE_FS_WRITEHDR_INDEX, -1, 1); - - /* Execute the function being tested */ - DS_FileWriteHeader(FileIndex); - - /* Verify results */ - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 1, "Ut_CFE_EVS_GetEventQueueDepth() == 1"); - /* Generates 1 event message we don't care about in this test */ - -} /* end DS_FileWriteHeader_Test_PrimaryHeaderError */ -#endif - -#if DS_FILE_HEADER_TYPE == DS_FILE_HEADER_CFE -void DS_FileWriteHeader_Test_SecondaryHeaderError(void) -{ - CFE_SB_MsgId_t FileIndex = 0; - DS_DestFileTable_t DestFileTable; - - DS_AppData.DestFileTblPtr = &DestFileTable; - - DS_AppData.DestFileTblPtr->File[FileIndex].FileNameType = 1; - - /* Set to satisfy condition "if (Result == sizeof(CFE_FS_Header_t))" */ - Ut_CFE_FS_SetReturnCode(UT_CFE_FS_WRITEHDR_INDEX, sizeof(CFE_FS_Header_t), 1); - - /* Set to generate secondary header error */ - Ut_OSFILEAPI_SetReturnCode(UT_OSFILEAPI_WRITE_INDEX, -1, 1); - - /* Execute the function being tested */ - DS_FileWriteHeader(FileIndex); - - /* Verify results */ - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 1, "Ut_CFE_EVS_GetEventQueueDepth() == 1"); - /* Generates 1 event message we don't care about in this test */ - -} /* end DS_FileWriteHeader_Test_SecondaryHeaderError */ -#endif - -#if DS_FILE_HEADER_TYPE == DS_FILE_HEADER_GPM -void DS_FileWriteHeader_Test_PlatformConfigGPM_Nominal(void) -{ - CFE_SB_MsgId_t FileIndex = 0; - - /* Set to satisfy condition "if (Result == sizeof(DS_FileHeaderGPM_t))" */ - Ut_OSFILEAPI_SetReturnCode(UT_OSFILEAPI_WRITE_INDEX, sizeof(DS_FileHeaderGPM_t), 1); - - /* Execute the function being tested */ - DS_FileWriteHeader(FileIndex); - - /* Verify results */ - UtAssert_True (DS_AppData.FileWriteCounter == 1, "DS_AppData.FileWriteCounter == 1"); - UtAssert_True (DS_AppData.FileStatus[FileIndex].FileSize == sizeof(DS_FileHeaderGPM_t), "DS_AppData.FileStatus[FileIndex].FileSize == sizeof(DS_FileHeaderGPM_t)"); - UtAssert_True (DS_AppData.FileStatus[FileIndex].FileGrowth == sizeof(DS_FileHeaderGPM_t), "DS_AppData.FileStatus[FileIndex].FileGrowth == sizeof(DS_FileHeaderGPM_t)"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 0, "Ut_CFE_EVS_GetEventQueueDepth() == 0"); - -} /* end DS_FileWriteHeader_Test_PlatformConfigGPM_Nominal */ -#endif - -#if DS_FILE_HEADER_TYPE == DS_FILE_HEADER_GPM -void DS_FileWriteHeader_Test_PlatformConfigGPM_HeaderError(void) -{ - CFE_SB_MsgId_t FileIndex = 0; - DS_DestFileTable_t DestFileTable; - - DS_AppData.DestFileTblPtr = &DestFileTable; - - strncpy (DS_AppData.FileStatus[FileIndex].FileName, "directory1/filename", DS_TOTAL_FNAME_BUFSIZE); - -#if (DS_MOVE_FILES == TRUE) - strncpy (DS_AppData.DestFileTblPtr->File[FileIndex].Movename, "directory2/movename/", DS_PATHNAME_BUFSIZE); -#endif - - /* Set to generate error */ - Ut_OSFILEAPI_SetReturnCode(UT_OSFILEAPI_WRITE_INDEX, -1, 1); - - /* Execute the function being tested */ - DS_FileWriteHeader(FileIndex); - - /* Verify results */ - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 1, "Ut_CFE_EVS_GetEventQueueDepth() == 1"); - /* Generates 1 event message we don't care about in this test */ - -} /* end DS_FileWriteHeader_Test_PlatformConfigGPM_HeaderError */ -#endif - -#if DS_FILE_HEADER_TYPE == DS_FILE_HEADER_CFE -void DS_FileWriteError_Test(void) -{ - CFE_SB_MsgId_t FileIndex = 0; - uint32 DataLength = 10; - int32 WriteResult = -1; - DS_DestFileTable_t DestFileTable; - - DS_AppData.DestFileTblPtr = &DestFileTable; - - DS_AppData.DestFileTblPtr->File[FileIndex].FileNameType = 1; - - strncpy (DS_AppData.FileStatus[FileIndex].FileName, "filename", OS_MAX_PATH_LEN); - - /* Execute the function being tested */ - DS_FileWriteError(FileIndex, DataLength, WriteResult); - - /* Verify results */ - UtAssert_True (DS_AppData.FileWriteErrCounter == 1, "DS_AppData.FileWriteErrCounter == 1"); - - UtAssert_True - (Ut_CFE_EVS_EventSent(DS_WRITE_FILE_ERR_EID, CFE_EVS_ERROR, "FILE WRITE error: result = -1, length = 10, dest = 0, name = 'filename'"), - "FILE WRITE error: result = -1, length = 10, dest = 0, name = 'filename'"); - - UtAssert_True (DS_AppData.FileStatus[FileIndex].FileState == DS_DISABLED, "DS_AppData.FileStatus[FileIndex].FileState == DS_DISABLED"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 1, "Ut_CFE_EVS_GetEventQueueDepth() == 1"); - -} /* end DS_FileWriteError_Test */ -#endif - -void DS_FileCreateDest_Test_Nominal(void) -{ - CFE_SB_MsgId_t FileIndex = 0; - DS_DestFileTable_t DestFileTable; - - DS_AppData.DestFileTblPtr = &DestFileTable; - - DS_AppData.DestFileTblPtr->File[FileIndex].FileNameType = DS_BY_COUNT; - DS_AppData.DestFileTblPtr->File[FileIndex].SequenceCount = 5; - - strncpy (DS_AppData.DestFileTblPtr->File[FileIndex].Pathname, "path", OS_MAX_PATH_LEN); - strncpy (DS_AppData.FileStatus[FileIndex].FileName, "filename", OS_MAX_PATH_LEN); - - DS_AppData.FileStatus[FileIndex].FileHandle = 99; - DS_AppData.FileStatus[FileIndex].FileCount = DS_MAX_SEQUENCE_COUNT + 1; - - /* Set to fail the condition "if (Result < 0)" */ - Ut_OSFILEAPI_SetReturnCode(UT_OSFILEAPI_CREAT_INDEX, 5, 1); - - /* Set to prevent error messages in subfunction DS_FileWriteHeader that we don't care about in this test */ - Ut_CFE_FS_SetReturnCode(UT_CFE_FS_WRITEHDR_INDEX, sizeof(CFE_FS_Header_t), 1); - -#if DS_FILE_HEADER_TYPE == DS_FILE_HEADER_CFE - /* Set to prevent error messages in subfunction DS_FileWriteHeader that we don't care about in this test */ - Ut_OSFILEAPI_SetReturnCode(UT_OSFILEAPI_WRITE_INDEX, sizeof(DS_FileHeader_t), 1); -#endif - - /* Execute the function being tested */ - DS_FileCreateDest(FileIndex); - - /* Verify results */ -#if DS_FILE_HEADER_TYPE == DS_FILE_HEADER_CFE - UtAssert_True (DS_AppData.FileWriteCounter == 3, "DS_AppData.FileWriteCounter == 3"); -#elif DS_FILE_HEADER_TYPE == DS_FILE_HEADER_GPM - UtAssert_True (DS_AppData.FileWriteCounter == 2, "DS_AppData.FileWriteCounter == 2"); -#endif - UtAssert_True (DS_AppData.FileStatus[FileIndex].FileHandle == 5, "DS_AppData.FileStatus[FileIndex].FileHandle == 5"); - UtAssert_True (DS_AppData.FileStatus[FileIndex].FileCount == 5, "DS_AppData.FileStatus[FileIndex].FileCount == 5"); - - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 0, "Ut_CFE_EVS_GetEventQueueDepth() == 0"); - -} /* end DS_FileCreateDest_Test_Nominal */ - -void DS_FileCreateDest_Test_Error(void) -{ - CFE_SB_MsgId_t FileIndex = 0; - DS_DestFileTable_t DestFileTable; - - DS_AppData.DestFileTblPtr = &DestFileTable; - - DS_AppData.DestFileTblPtr->File[FileIndex].FileNameType = DS_BY_COUNT; - strncpy (DS_AppData.DestFileTblPtr->File[FileIndex].Pathname, "path", OS_MAX_PATH_LEN); - strncpy (DS_AppData.DestFileTblPtr->File[FileIndex].Basename, "basename", OS_MAX_PATH_LEN); - strncpy (DS_AppData.DestFileTblPtr->File[FileIndex].Extension, "extension", OS_MAX_PATH_LEN); - - DS_AppData.FileStatus[FileIndex].FileHandle = 99; - DS_AppData.FileStatus[FileIndex].FileCount = DS_MAX_SEQUENCE_COUNT + 1; - - /* Set to generate error message DS_CREATE_FILE_ERR_EID */ - Ut_OSFILEAPI_SetReturnCode(UT_OSFILEAPI_CREAT_INDEX, -1, 1); - - /* Execute the function being tested */ - DS_FileCreateDest(FileIndex); - - /* Verify results */ - UtAssert_True (DS_AppData.FileWriteErrCounter == 1, "DS_AppData.FileWriteErrCounter == 1"); - - /* For this test it doesn't matter what filename results from the call to DS_FileCreateName. */ - UtAssert_True - (Ut_CFE_EVS_EventSent(DS_CREATE_FILE_ERR_EID, CFE_EVS_ERROR, "FILE CREATE error: result = -1, dest = 0, name = 'path/basename.extension'"), - "FILE CREATE error: result = -1, dest = 0, name = 'path/basename.extension'"); - - UtAssert_True - (strncmp (DS_AppData.FileStatus[FileIndex].FileName, "", DS_TOTAL_FNAME_BUFSIZE) == 0, - "strncmp (DS_AppData.FileStatus[FileIndex].FileName, "", DS_TOTAL_FNAME_BUFSIZE) == 0"); - - UtAssert_True (DS_AppData.FileStatus[FileIndex].FileState == DS_DISABLED, "DS_AppData.FileStatus[FileIndex].FileState == DS_DISABLED"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 1, "Ut_CFE_EVS_GetEventQueueDepth() == 1"); - -} /* end DS_FileCreateDest_Test_Error */ - -void DS_FileCreateName_Test_Nominal(void) -{ - CFE_SB_MsgId_t FileIndex = 0; - DS_DestFileTable_t DestFileTable; - - DS_AppData.DestFileTblPtr = &DestFileTable; - - DS_AppData.DestFileTblPtr->File[FileIndex].FileNameType = DS_BY_COUNT; - strncpy (DS_AppData.DestFileTblPtr->File[FileIndex].Pathname, "path", OS_MAX_PATH_LEN); - strncpy (DS_AppData.DestFileTblPtr->File[FileIndex].Basename, "basename", OS_MAX_PATH_LEN); - strncpy (DS_AppData.DestFileTblPtr->File[FileIndex].Extension, "extension", OS_MAX_PATH_LEN); - - DS_AppData.FileStatus[FileIndex].FileCount = 1; - - - /* Execute the function being tested */ - DS_FileCreateName(FileIndex); - - /* Verify results */ - UtAssert_True - (strncmp (DS_AppData.FileStatus[FileIndex].FileName, "path/basename.extension", DS_TOTAL_FNAME_BUFSIZE) == 0, - "strncmp (DS_AppData.FileStatus[FileIndex].FileName, 'path/basename.extension', DS_TOTAL_FNAME_BUFSIZE) == 0"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 0, "Ut_CFE_EVS_GetEventQueueDepth() == 0"); - -} /* end DS_FileCreateName_Test_Nominal */ - -void DS_FileCreateName_Test_EmptyPath(void) -{ - CFE_SB_MsgId_t FileIndex = 0; - DS_DestFileTable_t DestFileTable; - DS_AppData.DestFileTblPtr = &DestFileTable; - - DS_AppData.DestFileTblPtr->File[FileIndex].FileNameType = DS_BY_COUNT; - strncpy (DS_AppData.DestFileTblPtr->File[FileIndex].Pathname, "", OS_MAX_PATH_LEN); - strncpy (DS_AppData.DestFileTblPtr->File[FileIndex].Basename, "basename", OS_MAX_PATH_LEN); - strncpy (DS_AppData.DestFileTblPtr->File[FileIndex].Extension, "extension", OS_MAX_PATH_LEN); - - DS_AppData.FileStatus[FileIndex].FileCount = 1; - - - /* Execute the function being tested */ - DS_FileCreateName(FileIndex); - - - /* Verify results */ - UtAssert_True - (Ut_CFE_EVS_EventSent(DS_FILE_CREATE_EMPTY_PATH_ERR_EID, CFE_EVS_ERROR, "FILE NAME error: Path empty. dest = 0, path = ''"), - "FILE NAME error: Path empty. dest = 0, path = ''"); - - UtAssert_True (DS_AppData.FileStatus[FileIndex].FileState == DS_DISABLED, "DS_AppData.FileStatus[FileIndex].FileState == DS_DISABLED"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 1, "Ut_CFE_EVS_GetEventQueueDepth() == 1"); - -} /* end DS_FileCreateName_Test_EmptyPath */ - - - -void DS_FileCreateName_Test_Error(void) -{ - CFE_SB_MsgId_t FileIndex = 0; - DS_DestFileTable_t DestFileTable; - int32 i; - char EventMessage[300]; - - DS_AppData.DestFileTblPtr = &DestFileTable; - - DS_AppData.DestFileTblPtr->File[FileIndex].FileNameType = DS_BY_COUNT; - strncpy (DS_AppData.DestFileTblPtr->File[FileIndex].Pathname, "path", OS_MAX_PATH_LEN); - strncpy (DS_AppData.DestFileTblPtr->File[FileIndex].Extension, "extension", OS_MAX_PATH_LEN); - - for (i = 0; i < DS_TOTAL_FNAME_BUFSIZE - 2; i++) - { - DS_AppData.DestFileTblPtr->File[FileIndex].Basename[i] = 'a'; - } - - DS_AppData.DestFileTblPtr->File[FileIndex].Basename[DS_TOTAL_FNAME_BUFSIZE - 1] = DS_STRING_TERMINATOR; - - /* Execute the function being tested */ - DS_FileCreateName(FileIndex); - - /* Verify results */ - sprintf(EventMessage, "FILE NAME error: dest = 0, path = 'path', base = '%s', seq = ", DS_AppData.DestFileTblPtr->File[FileIndex].Basename); - UtAssert_True - (Ut_CFE_EVS_EventSent(DS_FILE_NAME_ERR_EID, CFE_EVS_ERROR, EventMessage), - EventMessage); - - UtAssert_True (DS_AppData.FileStatus[FileIndex].FileState == DS_DISABLED, "DS_AppData.FileStatus[FileIndex].FileState == DS_DISABLED"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 1, "Ut_CFE_EVS_GetEventQueueDepth() == 1"); - -} /* end DS_FileCreateName_Test_Error */ - -#if DS_FILE_HEADER_TYPE == DS_FILE_HEADER_CFE -void DS_FileCreateSequence_Test_ByCount(void) -{ - CFE_SB_MsgId_t FileIndex = 0; - DS_DestFileTable_t DestFileTable; - - char Sequence[DS_TOTAL_FNAME_BUFSIZE]; - - DS_AppData.DestFileTblPtr = &DestFileTable; - - DS_AppData.DestFileTblPtr->File[FileIndex].FileNameType = DS_BY_COUNT; - - DS_AppData.FileStatus[FileIndex].FileCount = 1; - - - /* Execute the function being tested */ - DS_FileCreateSequence(Sequence, DS_AppData.DestFileTblPtr->File[FileIndex].FileNameType, DS_AppData.FileStatus[FileIndex].FileCount); - - /* Verify results */ - UtAssert_True (strncmp(Sequence, "00000001", DS_TOTAL_FNAME_BUFSIZE) == 0, "strncmp(Sequence, '00000001', DS_TOTAL_FNAME_BUFSIZE) == 0"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 0, "Ut_CFE_EVS_GetEventQueueDepth() == 0"); - -} /* end DS_FileCreateSequence_Test_ByCount */ -#endif - -#if DS_FILE_HEADER_TYPE == DS_FILE_HEADER_CFE -void DS_FileCreateSequence_Test_ByTime(void) -{ - CFE_SB_MsgId_t FileIndex = 0; - DS_DestFileTable_t DestFileTable; - - char Sequence[DS_TOTAL_FNAME_BUFSIZE]; - - DS_AppData.DestFileTblPtr = &DestFileTable; - - DS_AppData.DestFileTblPtr->File[FileIndex].FileNameType = DS_BY_TIME; - - DS_AppData.FileStatus[FileIndex].FileCount = 1; - - - /* Execute the function being tested */ - DS_FileCreateSequence(Sequence, DS_AppData.DestFileTblPtr->File[FileIndex].FileNameType, DS_AppData.FileStatus[FileIndex].FileCount); - - /* Verify results */ - UtAssert_True (strncmp(Sequence, "1980001000000", DS_TOTAL_FNAME_BUFSIZE) == 0, "strncmp(Sequence, '1980001000000', DS_TOTAL_FNAME_BUFSIZE) == 0"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 0, "Ut_CFE_EVS_GetEventQueueDepth() == 0"); - -} /* end DS_FileCreateSequence_Test_ByTime */ -#endif - -#if DS_FILE_HEADER_TYPE == DS_FILE_HEADER_CFE -void DS_FileCreateSequence_Test_BadFilenameType(void) -{ - CFE_SB_MsgId_t FileIndex = 0; - DS_DestFileTable_t DestFileTable; - - char Sequence[DS_TOTAL_FNAME_BUFSIZE]; - - DS_AppData.DestFileTblPtr = &DestFileTable; - - DS_AppData.DestFileTblPtr->File[FileIndex].FileNameType = DS_BY_TIME; - - DS_AppData.FileStatus[FileIndex].FileCount = 1; - - /* Execute the function being tested */ - DS_FileCreateSequence(Sequence, 99, DS_AppData.FileStatus[FileIndex].FileCount); - - /* Verify results */ - UtAssert_True (strncmp(Sequence, "", DS_TOTAL_FNAME_BUFSIZE) == 0, "strncmp(Sequence, '', DS_TOTAL_FNAME_BUFSIZE) == 0"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 0, "Ut_CFE_EVS_GetEventQueueDepth() == 0"); - -} /* end DS_FileCreateSequence_Test_BadFilenameType */ -#endif - -#if DS_FILE_HEADER_TYPE == DS_FILE_HEADER_GPM -void DS_FileCreateSequence_Test_PlatformConfigGPM_ByTime(void) -{ - CFE_SB_MsgId_t FileIndex = 0; - DS_DestFileTable_t DestFileTable; - - char Sequence[DS_TOTAL_FNAME_BUFSIZE]; - - DS_AppData.DestFileTblPtr = &DestFileTable; - - DS_AppData.DestFileTblPtr->File[FileIndex].FileNameType = DS_BY_TIME; - - DS_AppData.FileStatus[FileIndex].FileCount = 1; - - DS_AppData.CurrentPktTime = 1; - - /* Execute the function being tested */ - DS_FileCreateSequence(Sequence, DS_AppData.DestFileTblPtr->File[FileIndex].FileNameType, DS_AppData.FileStatus[FileIndex].FileCount); - - /* Verify results */ - UtAssert_True (strncmp(Sequence, "1980001000001", DS_TOTAL_FNAME_BUFSIZE) == 0, "strncmp(Sequence, '1980001000000', DS_TOTAL_FNAME_BUFSIZE) == 0"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 0, "Ut_CFE_EVS_GetEventQueueDepth() == 0"); - -} /* end DS_FileCreateSequence_Test_PlatformConfigGPM_ByTime */ -#endif - -#if DS_FILE_HEADER_TYPE == DS_FILE_HEADER_CFE -void DS_FileUpdateHeader_Test_PlatformConfigCFE_Nominal(void) -{ - CFE_SB_MsgId_t FileIndex = 0; - - /* Set to satisfy condition "if (Result == sizeof(CFE_FS_Header_t))" */ - Ut_OSFILEAPI_SetReturnCode(UT_OSFILEAPI_LSEEK_INDEX, sizeof(CFE_FS_Header_t), 1); - - /* Set to satisfy condition "if (Result == sizeof(CFE_TIME_SysTime_t))" */ - Ut_OSFILEAPI_SetReturnCode(UT_OSFILEAPI_WRITE_INDEX, sizeof(CFE_TIME_SysTime_t), 1); - - /* Execute the function being tested */ - DS_FileUpdateHeader(FileIndex); - - /* Verify results */ - UtAssert_True (DS_AppData.FileUpdateCounter == 1, "DS_AppData.FileUpdateCounter == 1"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 0, "Ut_CFE_EVS_GetEventQueueDepth() == 0"); - -} /* end DS_FileUpdateHeader_Test_PlatformConfigCFE_Nominal */ -#endif - -#if DS_FILE_HEADER_TYPE == DS_FILE_HEADER_CFE -void DS_FileUpdateHeader_Test_WriteError(void) -{ - CFE_SB_MsgId_t FileIndex = 0; - - /* Set to satisfy condition "if (Result == sizeof(CFE_FS_Header_t))" */ - Ut_OSFILEAPI_SetReturnCode(UT_OSFILEAPI_LSEEK_INDEX, sizeof(CFE_FS_Header_t), 1); - - /* Set to fail condition "if (Result == sizeof(CFE_TIME_SysTime_t))" */ - Ut_OSFILEAPI_SetReturnCode(UT_OSFILEAPI_WRITE_INDEX, -1, 1); - - /* Execute the function being tested */ - DS_FileUpdateHeader(FileIndex); - - /* Verify results */ - UtAssert_True (DS_AppData.FileUpdateErrCounter == 1, "DS_AppData.FileUpdateErrCounter == 1"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 0, "Ut_CFE_EVS_GetEventQueueDepth() == 0"); - -} /* end DS_FileUpdateHeader_Test_WriteError */ -#endif - -#if DS_FILE_HEADER_TYPE == DS_FILE_HEADER_CFE -void DS_FileUpdateHeader_Test_PlatformConfigCFE_SeekError(void) -{ - CFE_SB_MsgId_t FileIndex = 0; - - /* Set to fail condition "if (Result == sizeof(CFE_FS_Header_t))" */ - Ut_OSFILEAPI_SetReturnCode(UT_OSFILEAPI_LSEEK_INDEX, -1, 1); - - /* Execute the function being tested */ - DS_FileUpdateHeader(FileIndex); - - /* Verify results */ - UtAssert_True (DS_AppData.FileUpdateErrCounter == 1, "DS_AppData.FileUpdateErrCounter == 1"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 0, "Ut_CFE_EVS_GetEventQueueDepth() == 0"); - -} /* end DS_FileUpdateHeader_Test_PlatformConfigCFE_SeekError */ -#endif - -#if DS_FILE_HEADER_TYPE == DS_FILE_HEADER_GPM -void DS_FileUpdateHeader_Test_PlatformConfigGPM_Nominal(void) -{ - CFE_SB_MsgId_t FileIndex = 0; - - UT_DS_FILE_TEST_CFE_OSFILEAPI_WriteHookRunCount = 0; - - /* Set to satisfy condition "if (Result == 16)" */ - Ut_OSFILEAPI_SetReturnCode(UT_OSFILEAPI_LSEEK_INDEX, 16, 1); - - /* Causes function to return sizeof(uint32) on first run and sizeof(Buf8) on second run, to satisfy both - * if-statements that check result of OS_write */ - Ut_OSFILEAPI_SetFunctionHook(UT_OSFILEAPI_WRITE_INDEX, &UT_DS_FILE_TEST_CFE_OSFILEAPI_WriteHook); - - /* Execute the function being tested */ - DS_FileUpdateHeader(FileIndex); - - /* Verify results */ - UtAssert_True (DS_AppData.FileUpdateCounter == 1, "DS_AppData.FileUpdateCounter == 1"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 0, "Ut_CFE_EVS_GetEventQueueDepth() == 0"); - -} /* end DS_FileUpdateHeader_Test_PlatformConfigGPM_Nominal */ -#endif - -#if DS_FILE_HEADER_TYPE == DS_FILE_HEADER_GPM -void DS_FileUpdateHeader_Test_PlatformConfigGPM_WriteBufError(void) -{ - CFE_SB_MsgId_t FileIndex = 0; - - UT_DS_FILE_TEST_CFE_OSFILEAPI_WriteHookRunCount = 0; - - /* Set to satisfy condition "if (Result == 16)" */ - Ut_OSFILEAPI_SetReturnCode(UT_OSFILEAPI_LSEEK_INDEX, 16, 1); - - /* Set to fail condition "if (Result == sizeof(Buf8))" */ - Ut_OSFILEAPI_SetReturnCode(UT_OSFILEAPI_WRITE_INDEX, sizeof(uint32), 1); - Ut_OSFILEAPI_ContinueReturnCodeAfterCountZero(UT_OSFILEAPI_WRITE_INDEX); - - /* Execute the function being tested */ - DS_FileUpdateHeader(FileIndex); - - /* Verify results */ - UtAssert_True (DS_AppData.FileUpdateErrCounter == 1, "DS_AppData.FileUpdateErrCounter == 1"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 0, "Ut_CFE_EVS_GetEventQueueDepth() == 0"); - -} /* end DS_FileUpdateHeader_Test_PlatformConfigGPM_WriteBufError */ -#endif - -#if DS_FILE_HEADER_TYPE == DS_FILE_HEADER_GPM -void DS_FileUpdateHeader_Test_PlatformConfigGPM_WriteLastPktTimeError(void) -{ - CFE_SB_MsgId_t FileIndex = 0; - - UT_DS_FILE_TEST_CFE_OSFILEAPI_WriteHookRunCount = 0; - - /* Set to satisfy condition "if (Result == 16)" */ - Ut_OSFILEAPI_SetReturnCode(UT_OSFILEAPI_LSEEK_INDEX, 16, 1); - - /* Set to fail condition "if (Result == sizeof(uint32))" */ - Ut_OSFILEAPI_SetReturnCode(UT_OSFILEAPI_WRITE_INDEX, 0, 1); - - /* Execute the function being tested */ - DS_FileUpdateHeader(FileIndex); - - /* Verify results */ - UtAssert_True (DS_AppData.FileUpdateErrCounter == 1, "DS_AppData.FileUpdateErrCounter == 1"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 0, "Ut_CFE_EVS_GetEventQueueDepth() == 0"); - -} /* end DS_FileUpdateHeader_Test_PlatformConfigGPM_WriteLastPktTimeError */ -#endif - -#if DS_FILE_HEADER_TYPE == DS_FILE_HEADER_GPM -void DS_FileUpdateHeader_Test_PlatformConfigGPM_SeekError(void) -{ - CFE_SB_MsgId_t FileIndex = 0; - - UT_DS_FILE_TEST_CFE_OSFILEAPI_WriteHookRunCount = 0; - - /* Set to fail condition "if (Result == 16)" */ - Ut_OSFILEAPI_SetReturnCode(UT_OSFILEAPI_LSEEK_INDEX, 0, 1); - - /* Execute the function being tested */ - DS_FileUpdateHeader(FileIndex); - - /* Verify results */ - UtAssert_True (DS_AppData.FileUpdateErrCounter == 1, "DS_AppData.FileUpdateErrCounter == 1"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 0, "Ut_CFE_EVS_GetEventQueueDepth() == 0"); - -} /* end DS_FileUpdateHeader_Test_PlatformConfigGPM_SeekError */ -#endif - -#if (DS_MOVE_FILES == TRUE) -void DS_FileCloseDest_Test_PlatformConfigMoveFiles_Nominal(void) -{ - CFE_SB_MsgId_t FileIndex = 0; - DS_DestFileTable_t DestFileTable; - - DS_AppData.DestFileTblPtr = &DestFileTable; - - strncpy (DS_AppData.FileStatus[FileIndex].FileName, "directory1/filename", DS_TOTAL_FNAME_BUFSIZE); - strncpy (DS_AppData.DestFileTblPtr->File[FileIndex].Movename, "directory2/movename/", DS_PATHNAME_BUFSIZE); - - /* Execute the function being tested */ - DS_FileCloseDest(FileIndex); - - /* Verify results */ - UtAssert_True (DS_AppData.FileStatus[FileIndex].FileHandle == DS_CLOSED_FILE_HANDLE, "DS_AppData.FileStatus[FileIndex].FileHandle == DS_CLOSED_FILE_HANDLE"); - UtAssert_True (DS_AppData.FileStatus[FileIndex].FileAge == 0, "DS_AppData.FileStatus[FileIndex].FileAge == 0"); - UtAssert_True (DS_AppData.FileStatus[FileIndex].FileSize == 0, "DS_AppData.FileStatus[FileIndex].FileSize == 0"); - UtAssert_True (DS_AppData.FileStatus[FileIndex].FileName[0] == 0, "DS_AppData.FileStatus[FileIndex].FileName[0] == 0"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 0, "Ut_CFE_EVS_GetEventQueueDepth() == 0"); - -} /* end DS_FileCloseDest_Test_PlatformConfigMoveFiles_Nominal */ -#endif - -#if (DS_MOVE_FILES == TRUE) -void DS_FileCloseDest_Test_PlatformConfigMoveFiles_MoveError(void) -{ - CFE_SB_MsgId_t FileIndex = 0; - DS_DestFileTable_t DestFileTable; - - DS_AppData.DestFileTblPtr = &DestFileTable; - - strncpy (DS_AppData.FileStatus[FileIndex].FileName, "directory1/filename", DS_TOTAL_FNAME_BUFSIZE); - strncpy (DS_AppData.DestFileTblPtr->File[FileIndex].Movename, "directory2/movename/", DS_PATHNAME_BUFSIZE); - - /* Set to generate error message DS_MOVE_FILE_ERR_EID */ - Ut_OSFILEAPI_SetReturnCode(UT_OSFILEAPI_MV_INDEX, -1, 1); - - /* Execute the function being tested */ - DS_FileCloseDest(FileIndex); - - /* Verify results */ - UtAssert_True - (Ut_CFE_EVS_EventSent(DS_MOVE_FILE_ERR_EID, CFE_EVS_ERROR, "FILE MOVE error: src = 'directory1/filename', tgt = 'directory2/movename/filename', result = -1"), - "FILE MOVE error: src = 'directory1/filename', tgt = 'directory2/movename/filename', result = -1"); - - UtAssert_True (DS_AppData.FileStatus[FileIndex].FileHandle == DS_CLOSED_FILE_HANDLE, "DS_AppData.FileStatus[FileIndex].FileHandle == DS_CLOSED_FILE_HANDLE"); - UtAssert_True (DS_AppData.FileStatus[FileIndex].FileAge == 0, "DS_AppData.FileStatus[FileIndex].FileAge == 0"); - UtAssert_True (DS_AppData.FileStatus[FileIndex].FileSize == 0, "DS_AppData.FileStatus[FileIndex].FileSize == 0"); - UtAssert_True (DS_AppData.FileStatus[FileIndex].FileName[0] == 0, "DS_AppData.FileStatus[FileIndex].FileName[0] == 0"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 1, "Ut_CFE_EVS_GetEventQueueDepth() == 1"); - -} /* end DS_FileCloseDest_Test_PlatformConfigMoveFiles_MoveError */ -#endif - -#if (DS_MOVE_FILES == TRUE) -void DS_FileCloseDest_Test_PlatformConfigMoveFiles_FilenameTooLarge(void) -{ - CFE_SB_MsgId_t FileIndex = 0; - DS_DestFileTable_t DestFileTable; - - DS_AppData.DestFileTblPtr = &DestFileTable; - - strncpy (DS_AppData.FileStatus[FileIndex].FileName, "directory1/filenamefilenamefilenamefilenamefilenamefilename", DS_TOTAL_FNAME_BUFSIZE); - strncpy (DS_AppData.DestFileTblPtr->File[FileIndex].Movename, "directory2/movename/", DS_PATHNAME_BUFSIZE); - - /* Execute the function being tested */ - DS_FileCloseDest(FileIndex); - - /* Verify results */ - UtAssert_True - (Ut_CFE_EVS_EventSent(DS_MOVE_FILE_ERR_EID, CFE_EVS_ERROR, "FILE MOVE error: dir name = 'directory2/movename', filename = '/filenamefilenamefilenamefilenamefilenamefilename'"), - "FILE MOVE error: dir name = 'directory2/movename', filename = '/filenamefilenamefilen'"); - - UtAssert_True (DS_AppData.FileStatus[FileIndex].FileHandle == DS_CLOSED_FILE_HANDLE, "DS_AppData.FileStatus[FileIndex].FileHandle == DS_CLOSED_FILE_HANDLE"); - UtAssert_True (DS_AppData.FileStatus[FileIndex].FileAge == 0, "DS_AppData.FileStatus[FileIndex].FileAge == 0"); - UtAssert_True (DS_AppData.FileStatus[FileIndex].FileSize == 0, "DS_AppData.FileStatus[FileIndex].FileSize == 0"); - UtAssert_True (DS_AppData.FileStatus[FileIndex].FileName[0] == 0, "DS_AppData.FileStatus[FileIndex].FileName[0] == 0"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 1, "Ut_CFE_EVS_GetEventQueueDepth() == 1"); - -} /* end DS_FileCloseDest_Test_PlatformConfigMoveFiles_FilenameTooLarge */ -#endif - -#if (DS_MOVE_FILES == FALSE) -void DS_FileCloseDest_Test_MoveFilesFalse(void) -{ - CFE_SB_MsgId_t FileIndex = 0; - - /* Execute the function being tested */ - DS_FileCloseDest(FileIndex); - - /* Verify results */ - UtAssert_True (DS_AppData.FileStatus[FileIndex].FileHandle == DS_CLOSED_FILE_HANDLE, "DS_AppData.FileStatus[FileIndex].FileHandle == DS_CLOSED_FILE_HANDLE"); - UtAssert_True (DS_AppData.FileStatus[FileIndex].FileAge == 0, "DS_AppData.FileStatus[FileIndex].FileAge == 0"); - UtAssert_True (DS_AppData.FileStatus[FileIndex].FileSize == 0, "DS_AppData.FileStatus[FileIndex].FileSize == 0"); - UtAssert_True (DS_AppData.FileStatus[FileIndex].FileName[0] == 0, "DS_AppData.FileStatus[FileIndex].FileName[0] == 0"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 0, "Ut_CFE_EVS_GetEventQueueDepth() == 0"); - -} /* end DS_FileCloseDest_Test_MoveFilesFalse */ -#endif - -void DS_FileTestAge_Test_Nominal(void) -{ - CFE_SB_MsgId_t FileIndex = 0; - uint32 ElapsedSeconds = 2; - DS_DestFileTable_t DestFileTable; - uint32 i; - - DS_AppData.DestFileTblPtr = &DestFileTable; - - for (i = 0; i < DS_DEST_FILE_CNT; i++) - { - strncpy (DS_AppData.FileStatus[i].FileName, "directory1/filename", DS_TOTAL_FNAME_BUFSIZE); -#if (DS_MOVE_FILES == TRUE) - strncpy (DS_AppData.DestFileTblPtr->File[i].Movename, "", DS_PATHNAME_BUFSIZE); -#endif - } - - DS_AppData.FileStatus[FileIndex].FileHandle = 99; - DS_AppData.DestFileTblPtr->File[FileIndex].MaxFileAge = 3; - - /* Execute the function being tested */ - DS_FileTestAge(ElapsedSeconds); - - /* Verify results */ - UtAssert_True (DS_AppData.FileStatus[FileIndex].FileAge == 2, "DS_AppData.FileStatus[FileIndex].FileAge == 2"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 0, "Ut_CFE_EVS_GetEventQueueDepth() == 0"); - -} /* end DS_FileTestAge_Test_Nominal */ - -void DS_FileTestAge_Test_ExceedMaxAge(void) -{ - CFE_SB_MsgId_t FileIndex = 0; - uint32 ElapsedSeconds = 2; - DS_DestFileTable_t DestFileTable; - - DS_AppData.DestFileTblPtr = &DestFileTable; - - DS_AppData.FileStatus[FileIndex].FileHandle = 99; - DS_AppData.DestFileTblPtr->File[FileIndex].MaxFileAge = 1; - - /* Execute the function being tested */ - DS_FileTestAge(ElapsedSeconds); - - /* Verify results */ - UtAssert_True (DS_AppData.FileStatus[FileIndex].FileAge == 0, "DS_AppData.FileStatus[FileIndex].FileAge == 0"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 0, "Ut_CFE_EVS_GetEventQueueDepth() == 0"); - -} /* end DS_FileTestAge_Test_ExceedMaxAge */ - -#if DS_FILE_HEADER_TYPE == DS_FILE_HEADER_GPM -void DS_FileConvertGPM_Test(void) -{ - char Buffer[8]; - - /* Execute the function being tested */ - DS_FileConvertGPM(Buffer, 100000000); - - /* Verify results */ - UtAssert_True (strncmp(Buffer, "99999999", 8) == 0, "strncmp(Buffer, '99999999', 8) == 0"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 0, "Ut_CFE_EVS_GetEventQueueDepth() == 0"); - -} /* end DS_FileConvertGPM_Test */ -#endif - -void DS_File_Test_AddTestCases(void) -{ - UtTest_Add(DS_FileStorePacket_Test_Nominal, DS_Test_Setup, DS_Test_TearDown, "DS_FileStorePacket_Test_Nominal"); - UtTest_Add(DS_FileStorePacket_Test_PacketNotInTable, DS_Test_Setup, DS_Test_TearDown, "DS_FileStorePacket_Test_PacketNotInTable"); - UtTest_Add(DS_FileStorePacket_Test_PassedFilterFalse, DS_Test_Setup, DS_Test_TearDown, "DS_FileStorePacket_Test_PassedFilterFalse"); - - UtTest_Add(DS_FileSetupWrite_Test_Nominal, DS_Test_Setup, DS_Test_TearDown, "DS_FileSetupWrite_Test_Nominal"); - UtTest_Add(DS_FileSetupWrite_Test_FileHandleClosed, DS_Test_Setup, DS_Test_TearDown, "DS_FileSetupWrite_Test_FileHandleClosed"); - UtTest_Add(DS_FileSetupWrite_Test_MaxFileSizeExceeded, DS_Test_Setup, DS_Test_TearDown, "DS_FileSetupWrite_Test_MaxFileSizeExceeded"); - - UtTest_Add(DS_FileWriteData_Test_Nominal, DS_Test_Setup, DS_Test_TearDown, "DS_FileWriteData_Test_Nominal"); - UtTest_Add(DS_FileWriteData_Test_Error, DS_Test_Setup, DS_Test_TearDown, "DS_FileWriteData_Test_Error"); - -#if DS_FILE_HEADER_TYPE == DS_FILE_HEADER_CFE - UtTest_Add(DS_FileWriteHeader_Test_PlatformConfigCFE_Nominal, DS_Test_Setup, DS_Test_TearDown, "DS_FileWriteHeader_Test_PlatformConfigCFE_Nominal"); - UtTest_Add(DS_FileWriteHeader_Test_PrimaryHeaderError, DS_Test_Setup, DS_Test_TearDown, "DS_FileWriteHeader_Test_PrimaryHeaderError"); - UtTest_Add(DS_FileWriteHeader_Test_SecondaryHeaderError, DS_Test_Setup, DS_Test_TearDown, "DS_FileWriteHeader_Test_SecondaryHeaderError"); -#elif DS_FILE_HEADER_TYPE == DS_FILE_HEADER_GPM - UtTest_Add(DS_FileWriteHeader_Test_PlatformConfigGPM_Nominal, DS_Test_Setup, DS_Test_TearDown, "DS_FileWriteHeader_Test_PlatformConfigGPM_Nominal"); - UtTest_Add(DS_FileWriteHeader_Test_PlatformConfigGPM_HeaderError, DS_Test_Setup, DS_Test_TearDown, "DS_FileWriteHeader_Test_PlatformConfigGPM_HeaderError"); -#endif - -#if DS_FILE_HEADER_TYPE == DS_FILE_HEADER_CFE - UtTest_Add(DS_FileWriteError_Test, DS_Test_Setup, DS_Test_TearDown, "DS_FileWriteError_Test"); -#endif - - UtTest_Add(DS_FileCreateDest_Test_Nominal, DS_Test_Setup, DS_Test_TearDown, "DS_FileCreateDest_Test_Nominal"); - UtTest_Add(DS_FileCreateDest_Test_Error, DS_Test_Setup, DS_Test_TearDown, "DS_FileCreateDest_Test_Error"); - - UtTest_Add(DS_FileCreateName_Test_Nominal, DS_Test_Setup, DS_Test_TearDown, "DS_FileCreateName_Test_Nominal"); - UtTest_Add(DS_FileCreateName_Test_EmptyPath, DS_Test_Setup,DS_Test_TearDown, "DS_FileCreateName_Test_EmptyPath"); - UtTest_Add(DS_FileCreateName_Test_Error, DS_Test_Setup, DS_Test_TearDown, "DS_FileCreateName_Test_Error"); - -#if DS_FILE_HEADER_TYPE == DS_FILE_HEADER_CFE - UtTest_Add(DS_FileCreateSequence_Test_ByCount, DS_Test_Setup, DS_Test_TearDown, "DS_FileCreateSequence_Test_ByCount"); - UtTest_Add(DS_FileCreateSequence_Test_ByTime, DS_Test_Setup, DS_Test_TearDown, "DS_FileCreateSequence_Test_ByTime"); - UtTest_Add(DS_FileCreateSequence_Test_BadFilenameType, DS_Test_Setup, DS_Test_TearDown, "DS_FileCreateSequence_Test_BadFilenameType"); -#elif DS_FILE_HEADER_TYPE == DS_FILE_HEADER_GPM - UtTest_Add(DS_FileCreateSequence_Test_PlatformConfigGPM_ByTime, DS_Test_Setup, DS_Test_TearDown, "DS_FileCreateSequence_Test_PlatformConfigGPM_ByTime"); -#endif - -#if DS_FILE_HEADER_TYPE == DS_FILE_HEADER_CFE - UtTest_Add(DS_FileUpdateHeader_Test_PlatformConfigCFE_Nominal, DS_Test_Setup, DS_Test_TearDown, "DS_FileUpdateHeader_Test_PlatformConfigCFE_Nominal"); - UtTest_Add(DS_FileUpdateHeader_Test_WriteError, DS_Test_Setup, DS_Test_TearDown, "DS_FileUpdateHeader_Test_WriteError"); - UtTest_Add(DS_FileUpdateHeader_Test_PlatformConfigCFE_SeekError, DS_Test_Setup, DS_Test_TearDown, "DS_FileUpdateHeader_Test_PlatformConfigCFE_SeekError"); -#elif DS_FILE_HEADER_TYPE == DS_FILE_HEADER_GPM - UtTest_Add(DS_FileUpdateHeader_Test_PlatformConfigGPM_Nominal, DS_Test_Setup, DS_Test_TearDown, "DS_FileUpdateHeader_Test_PlatformConfigGPM_Nominal"); - UtTest_Add(DS_FileUpdateHeader_Test_PlatformConfigGPM_WriteBufError, DS_Test_Setup, DS_Test_TearDown, "DS_FileUpdateHeader_Test_PlatformConfigGPM_WriteBufError"); - UtTest_Add(DS_FileUpdateHeader_Test_PlatformConfigGPM_WriteLastPktTimeError, DS_Test_Setup, DS_Test_TearDown, "DS_FileUpdateHeader_Test_PlatformConfigGPM_WriteLastPktTimeError"); - UtTest_Add(DS_FileUpdateHeader_Test_PlatformConfigGPM_SeekError, DS_Test_Setup, DS_Test_TearDown, "DS_FileUpdateHeader_Test_PlatformConfigGPM_SeekError"); -#endif - -#if (DS_MOVE_FILES == TRUE) - UtTest_Add(DS_FileCloseDest_Test_PlatformConfigMoveFiles_Nominal, DS_Test_Setup, DS_Test_TearDown, "DS_FileCloseDest_Test_PlatformConfigMoveFiles_Nominal"); - UtTest_Add(DS_FileCloseDest_Test_PlatformConfigMoveFiles_MoveError, DS_Test_Setup, DS_Test_TearDown, "DS_FileCloseDest_Test_PlatformConfigMoveFiles_MoveError"); - UtTest_Add(DS_FileCloseDest_Test_PlatformConfigMoveFiles_FilenameTooLarge, DS_Test_Setup, DS_Test_TearDown, "DS_FileCloseDest_Test_PlatformConfigMoveFiles_FilenameTooLarge"); -#else - UtTest_Add(DS_FileCloseDest_Test_MoveFilesFalse, DS_Test_Setup, DS_Test_TearDown, "DS_FileCloseDest_Test_MoveFilesFalse"); -#endif - - UtTest_Add(DS_FileTestAge_Test_Nominal, DS_Test_Setup, DS_Test_TearDown, "DS_FileTestAge_Test_Nominal"); - UtTest_Add(DS_FileTestAge_Test_ExceedMaxAge, DS_Test_Setup, DS_Test_TearDown, "DS_FileTestAge_Test_ExceedMaxAge"); - -#if DS_FILE_HEADER_TYPE == DS_FILE_HEADER_GPM - UtTest_Add(DS_FileConvertGPM_Test, DS_Test_Setup, DS_Test_TearDown, "DS_FileConvertGPM_Test"); -#endif -} /* end DS_File_Test_AddTestCases */ - - -/************************/ -/* End of File Comment */ -/************************/ diff --git a/fsw/unit_test/ds_file_test.h b/fsw/unit_test/ds_file_test.h deleted file mode 100644 index 399612c..0000000 --- a/fsw/unit_test/ds_file_test.h +++ /dev/null @@ -1,50 +0,0 @@ -/************************************************************************* - ** File: ds_file_test.h - ** - ** NASA Docket No. GSC-16,126-1, and identified as "Core Flight Software System - ** (CFS) Data Storage Application Version 2” - ** - ** Copyright © 2007-2014 United States Government as represented by the - ** Administrator of the National Aeronautics and Space Administration. All Rights - ** Reserved. - ** - ** Licensed under the Apache License, Version 2.0 (the "License"); - ** you may not use this file except in compliance with the License. - ** You may obtain a copy of the License at - ** http://www.apache.org/licenses/LICENSE-2.0 - ** - ** Unless required by applicable law or agreed to in writing, software - ** distributed under the License is distributed on an "AS IS" BASIS, - ** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - ** See the License for the specific language governing permissions and - ** limitations under the License. - ** - ** Purpose: - ** This file contains the function prototypes for the unit test cases for - ** the functions contained in the file ds_file.c - ** - ** References: - ** Flight Software Branch C Coding Standard Version 1.2 - ** CFS Development Standards Document - ** - ** Notes: - ** - *************************************************************************/ - -/* - * Includes - */ - -#include "utassert.h" -#include "uttest.h" - -/* - * Function Prototypes - */ - -void DS_File_Test_AddTestCases(void); - - -/************************/ -/* End of File Comment */ -/************************/ diff --git a/fsw/unit_test/ds_msgids.h b/fsw/unit_test/ds_msgids.h deleted file mode 100644 index ce2c3da..0000000 --- a/fsw/unit_test/ds_msgids.h +++ /dev/null @@ -1,50 +0,0 @@ -/************************************************************************ -** File: ds_msgids.h -** -** NASA Docket No. GSC-18448-1, and identified as "cFS Data Storage (DS) -** application version 2.5.2” -** -** Copyright © 2019 United States Government as represented by the Administrator -** of the National Aeronautics and Space Administration. All Rights Reserved. -** -** Licensed under the Apache License, Version 2.0 (the "License"); -** you may not use this file except in compliance with the License. -** You may obtain a copy of the License at -** http://www.apache.org/licenses/LICENSE-2.0 -** Unless required by applicable law or agreed to in writing, software -** distributed under the License is distributed on an "AS IS" BASIS, -** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -** See the License for the specific language governing permissions and -** limitations under the License. -** -** -** Purpose: -** The CFS Data Storage (DS) Application Message IDs header file -** -** Notes: -** -****************************************************************************/ -#ifndef _ds_msgids_h_ -#define _ds_msgids_h_ - -/************************** -** DS Command Message IDs -***********************/ - -#define DS_CMD_MID 0x18BB /**< \brief DS Ground Commands Message ID */ -#define DS_SEND_HK_MID 0x18BC /**< \brief DS Send Hk Data Cmd Message ID*/ - - -/*************************************** -** DS Telemetry Message IDs -***************************************/ - -#define DS_HK_TLM_MID 0x08B8 /**< \brief DS Hk Telemetry Message ID ****/ -#define DS_DIAG_TLM_MID 0x08B9 /**< \brief DS File Info Telemetry Message ID ****/ - - -#endif /* _ds_msgids_h_ */ - -/************************/ -/* End of File Comment */ -/************************/ diff --git a/fsw/unit_test/ds_output.txt b/fsw/unit_test/ds_output.txt deleted file mode 100644 index 5073b4b..0000000 --- a/fsw/unit_test/ds_output.txt +++ /dev/null @@ -1,1237 +0,0 @@ - -Running Test: DS_AppMain_Test_Nominal -ERROR EVENT ID=8 Unable to load default Destination File Table: Filename = '/cf/apps/ds_file_tbl.tbl', Error = 0xCC000013 -ERROR EVENT ID=8 Unable to load default Filter Table: Filename = '/cf/apps/ds_filter_tbl.tbl', Error = 0xCC000013 -INFO EVENT ID=1 Application initialized, version 2.5.1.0, data at 0x00660520 -PKT: 08 B8 C0 00 00 65 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 C3 D7 B3 1B 7F 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 3 -PASS: Ut_CFE_ES_GetSysLogQueueDepth() == 0 - -Running Test: DS_AppMain_Test_RegisterAppError -CRITICAL EVENT ID=3 Application terminating, err = 0xFFFFFFFF -SYSTEM LOG: DS application terminating, err = 0xFFFFFFFF - -PASS: Application terminating, err = 0xFFFFFFFF -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 -PASS: DS application terminating, err = 0xFFFFFFFF - -PASS: Ut_CFE_ES_GetSysLogQueueDepth() == 1 - -Running Test: DS_AppMain_Test_AppInitializeError -ERROR EVENT ID=2 Unable to register for EVS services, err = 0xFFFFFFFF -CRITICAL EVENT ID=3 Application terminating, err = 0xFFFFFFFF -SYSTEM LOG: DS application terminating, err = 0xFFFFFFFF - -PASS: Application terminating, err = 0xFFFFFFFF -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 2 -PASS: DS application terminating, err = 0xFFFFFFFF - -PASS: Ut_CFE_ES_GetSysLogQueueDepth() == 1 - -Running Test: DS_AppMain_Test_SBError -ERROR EVENT ID=8 Unable to load default Destination File Table: Filename = '/cf/apps/ds_file_tbl.tbl', Error = 0xCC000013 -ERROR EVENT ID=8 Unable to load default Filter Table: Filename = '/cf/apps/ds_filter_tbl.tbl', Error = 0xCC000013 -INFO EVENT ID=1 Application initialized, version 2.5.1.0, data at 0x00660520 -CRITICAL EVENT ID=3 Application terminating, err = 0xFFFFFFFF -SYSTEM LOG: DS application terminating, err = 0xFFFFFFFF - -PASS: Application terminating, err = 0xFFFFFFFF -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 4 -PASS: DS application terminating, err = 0xFFFFFFFF - -PASS: Ut_CFE_ES_GetSysLogQueueDepth() == 1 - -Running Test: DS_AppInitialize_Test_Nominal -ERROR EVENT ID=8 Unable to load default Destination File Table: Filename = '/cf/apps/ds_file_tbl.tbl', Error = 0xCC000013 -ERROR EVENT ID=8 Unable to load default Filter Table: Filename = '/cf/apps/ds_filter_tbl.tbl', Error = 0xCC000013 -INFO EVENT ID=1 Application initialized, version 2.5.1.0, data at 0x00660520 -PASS: DS_AppData.AppEnableState == DS_DEF_ENABLE_STATE -PASS: DS_AppData.FileStatus[0].FileHandle == DS_CLOSED_FILE_HANDLE -PASS: DS_AppData.FileStatus[DS_DEST_FILE_CNT/2].FileHandle == DS_CLOSED_FILE_HANDLE -PASS: DS_AppData.FileStatus[DS_DEST_FILE_CNT-1].FileHandle == DS_CLOSED_FILE_HANDLE -PASS: Application initialized, version 2.5.1.0, data at 0x00660520 -PASS: Result == CFE_SUCCESS -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 3 - -Running Test: DS_AppInitialize_Test_EVSRegisterError -ERROR EVENT ID=2 Unable to register for EVS services, err = 0xFFFFFFFF -PASS: DS_AppData.AppEnableState == DS_DEF_ENABLE_STATE -PASS: DS_AppData.FileStatus[0].FileHandle == DS_CLOSED_FILE_HANDLE -PASS: DS_AppData.FileStatus[DS_DEST_FILE_CNT/2].FileHandle == DS_CLOSED_FILE_HANDLE -PASS: DS_AppData.FileStatus[DS_DEST_FILE_CNT-1].FileHandle == DS_CLOSED_FILE_HANDLE -PASS: Unable to register for EVS services, err = 0xFFFFFFFF -PASS: Result == -1 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_AppInitialize_Test_SBCreatePipeError -ERROR EVENT ID=2 Unable to create input pipe, err = 0xFFFFFFFF -PASS: DS_AppData.AppEnableState == DS_DEF_ENABLE_STATE -PASS: DS_AppData.FileStatus[0].FileHandle == DS_CLOSED_FILE_HANDLE -PASS: DS_AppData.FileStatus[DS_DEST_FILE_CNT/2].FileHandle == DS_CLOSED_FILE_HANDLE -PASS: DS_AppData.FileStatus[DS_DEST_FILE_CNT-1].FileHandle == DS_CLOSED_FILE_HANDLE -PASS: Unable to create input pipe, err = 0xFFFFFFFF -PASS: Result == -1 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_AppInitialize_Test_SBSubscribeHKError -ERROR EVENT ID=2 Unable to subscribe to HK request, err = 0xFFFFFFFF -PASS: DS_AppData.AppEnableState == DS_DEF_ENABLE_STATE -PASS: DS_AppData.FileStatus[0].FileHandle == DS_CLOSED_FILE_HANDLE -PASS: DS_AppData.FileStatus[DS_DEST_FILE_CNT/2].FileHandle == DS_CLOSED_FILE_HANDLE -PASS: DS_AppData.FileStatus[DS_DEST_FILE_CNT-1].FileHandle == DS_CLOSED_FILE_HANDLE -PASS: Unable to subscribe to HK request, err = 0xFFFFFFFF -PASS: Result == -1 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_AppInitialize_Test_SBSubscribeDSError -ERROR EVENT ID=2 Unable to subscribe to DS commands, err = 0xFFFFFFFF -PASS: DS_AppData.AppEnableState == DS_DEF_ENABLE_STATE -PASS: DS_AppData.FileStatus[0].FileHandle == DS_CLOSED_FILE_HANDLE -PASS: DS_AppData.FileStatus[DS_DEST_FILE_CNT/2].FileHandle == DS_CLOSED_FILE_HANDLE -PASS: DS_AppData.FileStatus[DS_DEST_FILE_CNT-1].FileHandle == DS_CLOSED_FILE_HANDLE -PASS: Unable to subscribe to DS commands, err = 0xFFFFFFFF -PASS: Result == -1 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_AppProcessMsg_Test_Cmd -INFO EVENT ID=31 NOOP command, Version 2.5.1.0 -PASS: NOOP command, Version 2.5.1.0 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_AppProcessMsg_Test_HK -PKT: 08 B8 C0 00 00 65 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 C1 1A 6D FC 7F 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_AppProcessMsg_Test_HKInvalidRequest -ERROR EVENT ID=22 Invalid HK request length: expected = 8, actual = 0 -PASS: Invalid HK request length: expected = 8, actual = 0 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_AppProcessMsg_Test_UnknownMID -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_AppProcessCmd_Test_Noop -INFO EVENT ID=31 NOOP command, Version 2.5.1.0 -PASS: NOOP command, Version 2.5.1.0 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_AppProcessCmd_Test_Reset -DEBUG EVENT ID=33 Reset counters command -PASS: Reset counters command -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_AppProcessCmd_Test_SetAppState -DEBUG EVENT ID=35 APP STATE command: state = 0 -PASS: APP STATE command: state = 0 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_AppProcessCmd_Test_SetFilterFile -ERROR EVENT ID=38 Invalid FILTER FILE command: packet filter table is not loaded -PASS: Invalid FILTER FILE command: packet filter table is not loaded -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_AppProcessCmd_Test_SetFilterType -ERROR EVENT ID=40 Invalid FILTER TYPE command arg: filter type = 0 -PASS: Invalid FILTER TYPE command arg: filter type = 0 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_AppProcessCmd_Test_SetFilterParms -ERROR EVENT ID=42 Invalid FILTER PARMS command arg: invalid messageID = 0x0000 -PASS: Invalid FILTER PARMS command arg: invalid messageID = 0x0000 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_AppProcessCmd_Test_SetDestType -ERROR EVENT ID=44 Invalid DEST TYPE command arg: filename type = 0 -PASS: Invalid DEST TYPE command arg: filename type = 0 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_AppProcessCmd_Test_SetDestState -ERROR EVENT ID=46 Invalid DEST STATE command: destination file table is not loaded -PASS: Invalid DEST STATE command: destination file table is not loaded -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_AppProcessCmd_Test_SetDestPath -ERROR EVENT ID=48 Invalid DEST PATH command arg: pathname -PASS: Invalid DEST PATH command arg: pathname -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_AppProcessCmd_Test_SetDestBase -ERROR EVENT ID=50 Invalid DEST BASE command: destination file table is not loaded -PASS: Invalid DEST BASE command: destination file table is not loaded -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_AppProcessCmd_Test_SetDestExt -ERROR EVENT ID=52 Invalid DEST EXT command: destination file table is not loaded -PASS: Invalid DEST EXT command: destination file table is not loaded -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_AppProcessCmd_Test_SetDestSize -ERROR EVENT ID=54 Invalid DEST SIZE command arg: size limit = 0 -PASS: Invalid DEST SIZE command arg: size limit = 0 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_AppProcessCmd_Test_SetDestAge -ERROR EVENT ID=56 Invalid DEST AGE command arg: age limit = 0 -PASS: Invalid DEST AGE command arg: age limit = 0 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_AppProcessCmd_Test_SetDestCount -ERROR EVENT ID=58 Invalid DEST COUNT command: destination file table is not loaded -PASS: Invalid DEST COUNT command: destination file table is not loaded -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_AppProcessCmd_Test_CloseFile -DEBUG EVENT ID=59 DEST CLOSE command: file table index = 0 -PASS: DEST CLOSE command: file table index = 0 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_AppProcessCmd_Test_GetFileInfo -DEBUG EVENT ID=62 GET FILE INFO command -PKT: 08 B9 C0 00 05 45 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -PASS: GET FILE INFO command -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_AppProcessCmd_Test_AddMID -ERROR EVENT ID=65 Invalid ADD MID command: filter table is not loaded -PASS: Invalid ADD MID command: filter table is not loaded -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_AppProcessCmd_Test_CloseAll -DEBUG EVENT ID=66 DEST CLOSE ALL command -PASS: DEST CLOSE ALL command -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_AppProcessCmd_Test_InvalidCommandCode -ERROR EVENT ID=21 Invalid command code: MID = 0x18BB, CC = 99 -PASS: Invalid command code: MID = 0x18BB, CC = 99 -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_AppProcessHK_Test -PKT: 08 B8 C0 00 00 65 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 E4 1A 6D FC 7F 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -PASS: DS_AppData.FileStatus[0].FileRate == 99 / DS_SECS_PER_HK_CYCLE -PASS: DS_AppData.FileStatus[0].FileGrowth == 0 -PASS: DS_AppData.FileStatus[DS_DEST_FILE_CNT/2].FileRate == 99 / DS_SECS_PER_HK_CYCLE -PASS: DS_AppData.FileStatus[DS_DEST_FILE_CNT/2].FileGrowth == 0 -PASS: DS_AppData.FileStatus[DS_DEST_FILE_CNT - 1].FileRate == 99 / DS_SECS_PER_HK_CYCLE -PASS: DS_AppData.FileStatus[DS_DEST_FILE_CNT - 1].FileGrowth == 0 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 -PASS: DS_HkPacket_t is 32-bit aligned - -Running Test: DS_AppStorePacket_Test_Nominal -PASS: DS_AppData.IgnoredPktCounter == 1 -PASS: DS_AppData.DisabledPktCounter == 0 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_AppStorePacket_Test_DSDisabled -PASS: DS_AppData.DisabledPktCounter == 1 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_AppStorePacket_Test_FilterTableNotLoaded -PASS: DS_AppData.IgnoredPktCounter == 1 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_AppStorePacket_Test_DestFileTableNotLoaded -PASS: DS_AppData.IgnoredPktCounter == 1 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_CmdNoop_Test_Nominal -INFO EVENT ID=31 NOOP command, Version 2.5.1.0 -PASS: DS_AppData.CmdAcceptedCounter == 1 -PASS: NOOP command, Version 2.5.1.0 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 -PASS: DS_NoopCmd_t is 32-bit aligned - -Running Test: DS_CmdNoop_Test_InvalidCommandLength -ERROR EVENT ID=32 Invalid NOOP command length: expected = 8, actual = 1 -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid NOOP command length: expected = 8, actual = 1 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdReset_Test_Nominal -DEBUG EVENT ID=33 Reset counters command -PASS: DS_AppData.CmdAcceptedCounter == 0 -PASS: DS_AppData.CmdRejectedCounter == 0 -PASS: DS_AppData.DisabledPktCounter == 0 -PASS: DS_AppData.IgnoredPktCounter == 0 -PASS: DS_AppData.FilteredPktCounter == 0 -PASS: DS_AppData.PassedPktCounter == 0 -PASS: DS_AppData.FileWriteCounter == 0 -PASS: DS_AppData.FileWriteErrCounter == 0 -PASS: DS_AppData.FileUpdateCounter == 0 -PASS: DS_AppData.FileUpdateErrCounter == 0 -PASS: DS_AppData.DestTblLoadCounter == 0 -PASS: DS_AppData.DestTblErrCounter == 0 -PASS: DS_AppData.FilterTblLoadCounter == 0 -PASS: DS_AppData.FilterTblErrCounter == 0 -PASS: Reset counters command -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 -PASS: DS_ResetCmd_t is 32-bit aligned - -Running Test: DS_CmdReset_Test_InvalidCommandLength -ERROR EVENT ID=34 Invalid RESET command length: expected = 8, actual = 1 -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid RESET command length: expected = 8, actual = 1 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdSetAppState_Test_Nominal -DEBUG EVENT ID=35 APP STATE command: state = 1 -PASS: DS_AppData.CmdAcceptedCounter == 1 -PASS: DS_AppData.AppEnableState == TRUE -PASS: APP STATE command: state = 1 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 -PASS: DS_AppStateCmd_t is 32-bit aligned - -Running Test: DS_CmdSetAppState_Test_InvalidCommandLength -ERROR EVENT ID=36 Invalid APP STATE command length: expected = 12, actual = 1 -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid APP STATE command length: expected = 12, actual = 1 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdSetAppState_Test_InvalidAppState -ERROR EVENT ID=36 Invalid APP STATE command arg: app state = 99 -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid APP STATE command arg: app state = 99 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdSetFilterFile_Test_Nominal -DEBUG EVENT ID=37 FILTER FILE command: MID = 0x18BB, index = 0, filter = 2, file = 4 -PASS: DS_AppData.CmdAcceptedCounter == 1 -PASS: DS_AppData.FilterTblPtr->Packet[CmdPacket.FileTableIndex].Filter[CmdPacket.FilterParmsIndex].FileTableIndex == 0 -PASS: FILTER FILE command: MID = 0x18BB, index = 0, filter = 2, file = 4 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 -PASS: DS_FilterFileCmd_t is 32-bit aligned - -Running Test: DS_CmdSetFilterFile_Test_InvalidCommandLength -ERROR EVENT ID=38 Invalid FILTER FILE command length: expected = 16, actual = 1 -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid FILTER FILE command length: expected = 16, actual = 1 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdSetFilterFile_Test_InvalidMessageID -ERROR EVENT ID=38 Invalid FILTER FILE command arg: invalid messageID = 0x 0 -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid FILTER FILE command arg: invalid messageID = 0x 0 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdSetFilterFile_Test_InvalidFilterParametersIndex -ERROR EVENT ID=38 Invalid FILTER FILE command arg: filter parameters index = 4 -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid FILTER FILE command arg: filter parameters index = 4 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdSetFilterFile_Test_InvalidFileTableIndex -ERROR EVENT ID=38 Invalid FILTER FILE command arg: file table index = 99 -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid FILTER FILE command arg: file table index = 99 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdSetFilterFile_Test_FilterTableNotLoaded -ERROR EVENT ID=38 Invalid FILTER FILE command: packet filter table is not loaded -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid FILTER FILE command: packet filter table is not loaded -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdSetFilterFile_Test_MessageIDNotInFilterTable -ERROR EVENT ID=38 Invalid FILTER FILE command: Message ID 0x9999 is not in filter table -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid FILTER FILE command: Message ID 0x9999 is not in filter table -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdSetFilterType_Test_Nominal -DEBUG EVENT ID=39 FILTER TYPE command: MID = 0x18BB, index = 0, filter = 2, type = 1 -PASS: DS_AppData.CmdAcceptedCounter == 1 -PASS: DS_AppData.FilterTblPtr->Packet[0].Filter[CmdPacket.FilterParmsIndex].FilterType == 1 -PASS: FILTER TYPE command: MID = 0x18BB, index = 0, filter = 2, type = 1 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 -PASS: DS_FilterTypeCmd_t is 32-bit aligned - -Running Test: DS_CmdSetFilterType_Test_InvalidCommandLength -ERROR EVENT ID=40 Invalid FILTER TYPE command length: expected = 16, actual = 1 -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid FILTER TYPE command length: expected = 16, actual = 1 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdSetFilterType_Test_InvalidMessageID -ERROR EVENT ID=40 Invalid FILTER TYPE command arg: invalid messageID = 0x0000 -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid FILTER TYPE command arg: invalid messageID = 0x0000 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdSetFilterType_Test_InvalidFilterParametersIndex -ERROR EVENT ID=40 Invalid FILTER TYPE command arg: filter parameters index = 4 -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid FILTER TYPE command arg: filter parameters index = 4 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdSetFilterType_Test_InvalidFilterType -ERROR EVENT ID=40 Invalid FILTER TYPE command arg: filter type = 0 -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid FILTER TYPE command arg: filter type = 0 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdSetFilterType_Test_FilterTableNotLoaded -ERROR EVENT ID=40 Invalid FILTER TYPE command: packet filter table is not loaded -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid FILTER TYPE command: packet filter table is not loaded -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdSetFilterType_Test_MessageIDNotInFilterTable -ERROR EVENT ID=40 Invalid FILTER TYPE command: Message ID 0x9999 is not in filter table -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid FILTER TYPE command: Message ID 0x9999 is not in filter table -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdSetFilterParms_Test_Nominal -DEBUG EVENT ID=41 FILTER PARMS command: MID = 0x18BB, index = 0, filter = 2, N = 0, X = 0, O = 0 -PASS: DS_AppData.CmdAcceptedCounter == 1 -PASS: DS_AppData.FilterTblPtr->Packet[0].Filter[CmdPacket.FilterParmsIndex].Algorithm_N == 0 -PASS: DS_AppData.FilterTblPtr->Packet[0].Filter[CmdPacket.FilterParmsIndex].Algorithm_X == 0 -PASS: DS_AppData.FilterTblPtr->Packet[0].Filter[CmdPacket.FilterParmsIndex].Algorithm_O == 0 -PASS: FILTER PARMS command: MID = 0x18BB, index = 0, filter = 2, N = 0, X = 0, O = 0 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 -PASS: DS_FilterParmsCmd_t is 32-bit aligned - -Running Test: DS_CmdSetFilterParms_Test_InvalidCommandLength -ERROR EVENT ID=42 Invalid FILTER PARMS command length: expected = 20, actual = 1 -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid FILTER PARMS command length: expected = 20, actual = 1 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdSetFilterParms_Test_InvalidMessageID -ERROR EVENT ID=42 Invalid FILTER PARMS command arg: invalid messageID = 0x0000 -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid FILTER PARMS command arg: invalid messageID = 0x0000 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdSetFilterParms_Test_InvalidFilterParametersIndex -ERROR EVENT ID=42 Invalid FILTER PARMS command arg: filter parameters index = 4 -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid FILTER PARMS command arg: filter parameters index = 4 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdSetFilterParms_Test_InvalidFilterAlgorithm -ERROR EVENT ID=42 Invalid FILTER PARMS command arg: N = 1, X = 1, O = 1 -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid FILTER PARMS command arg: N = 1, X = 1, O = 1 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdSetFilterParms_Test_FilterTableNotLoaded -ERROR EVENT ID=42 Invalid FILTER PARMS command: packet filter table is not loaded -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid FILTER PARMS command: packet filter table is not loaded -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdSetFilterParms_Test_MessageIDNotInFilterTable -ERROR EVENT ID=42 Invalid FILTER PARMS command: Message ID 0x9999 is not in filter table -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid FILTER PARMS command: Message ID 0x9999 is not in filter table -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdSetDestType_Test_Nominal -DEBUG EVENT ID=43 DEST TYPE command: file table index = 1, filename type = 2 -PASS: DS_AppData.CmdAcceptedCounter == 1 -PASS: DS_AppData.DestFileTblPtr->File[CmdPacket.FileTableIndex].FileNameType == 2 -PASS: DEST TYPE command: file table index = 1, filename type = 2 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 -PASS: DS_DestTypeCmd_t is 32-bit aligned - -Running Test: DS_CmdSetDestType_Test_InvalidCommandLength -ERROR EVENT ID=44 Invalid DEST TYPE command length: expected = 12, actual = 1 -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid DEST TYPE command length: expected = 12, actual = 1 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdSetDestType_Test_InvalidFileTableIndex -ERROR EVENT ID=44 Invalid DEST TYPE command arg: file table index = 99 -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid DEST TYPE command arg: file table index = 99 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdSetDestType_Test_InvalidFilenameType -ERROR EVENT ID=44 Invalid DEST TYPE command arg: filename type = 99 -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid DEST TYPE command arg: filename type = 99 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdSetDestType_Test_FileTableNotLoaded -ERROR EVENT ID=44 Invalid DEST TYPE command: destination file table is not loaded -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid DEST TYPE command: destination file table is not loaded -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdSetDestState_Test_Nominal -DEBUG EVENT ID=45 DEST STATE command: file table index = 1, file state = 1 -PASS: DS_AppData.CmdAcceptedCounter == 1 -PASS: DS_AppData.DestFileTblPtr->File[CmdPacket.FileTableIndex].EnableState == CmdPacket.EnableState -PASS: DEST STATE command: file table index = 1, file state = 1 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 -PASS: DS_DestStateCmd_t is 32-bit aligned - -Running Test: DS_CmdSetDestState_Test_InvalidCommandLength -ERROR EVENT ID=46 Invalid DEST STATE command length: expected = 12, actual = 1 -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid DEST STATE command length: expected = 12, actual = 1 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdSetDestState_Test_InvalidFileTableIndex -ERROR EVENT ID=46 Invalid DEST STATE command arg: file table index = 99 -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid DEST STATE command arg: file table index = 99 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdSetDestState_Test_InvalidFileState -ERROR EVENT ID=46 Invalid DEST STATE command arg: file state = 99 -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid DEST STATE command arg: file state = 99 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdSetDestState_Test_FileTableNotLoaded -ERROR EVENT ID=46 Invalid DEST STATE command: destination file table is not loaded -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid DEST STATE command: destination file table is not loaded -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdSetDestPath_Test_Nominal -DEBUG EVENT ID=47 DEST PATH command: file table index = 1, pathname = 'pathname' -PASS: DS_AppData.CmdAcceptedCounter == 1 -PASS: strncmp (DS_AppData.DestFileTblPtr->File[CmdPacket.FileTableIndex].Pathname, 'pathname', OS_MAX_PATH_LEN) == 0 -PASS: DEST PATH command: file table index = 1, pathname = 'pathname' -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 -PASS: DS_DestPathCmd_t is 32-bit aligned - -Running Test: DS_CmdSetDestPath_Test_InvalidCommandLength -ERROR EVENT ID=48 Invalid DEST PATH command length: expected = 76, actual = 1 -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid DEST PATH command length: expected = 76, actual = 1 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdSetDestPath_Test_InvalidFileTableIndex -ERROR EVENT ID=48 Invalid DEST PATH command arg: file table index = 99 -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid DEST PATH command arg: file table index = 99 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdSetDestPath_Test_InvalidPathname -ERROR EVENT ID=48 Invalid DEST PATH command arg: pathname -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid DEST PATH command arg: pathname -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdSetDestPath_Test_FileTableNotLoaded -ERROR EVENT ID=48 Invalid DEST PATH command: destination file table is not loaded -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid DEST PATH command: destination file table is not loaded -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdSetDestBase_Test_Nominal -DEBUG EVENT ID=49 DEST BASE command: file table index = 1, base filename = 'base' -PASS: DS_AppData.CmdAcceptedCounter == 1 -PASS: strncmp (DS_AppData.DestFileTblPtr->File[CmdPacket.FileTableIndex].Basename, 'base', OS_MAX_PATH_LEN) == 0 -PASS: DEST BASE command: file table index = 1, base filename = 'base' -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 -PASS: DS_DestBaseCmd_t is 32-bit aligned - -Running Test: DS_CmdSetDestBase_Test_InvalidCommandLength -ERROR EVENT ID=50 Invalid DEST BASE command length: expected = 76, actual = 1 -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid DEST BASE command length: expected = 76, actual = 1 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdSetDestBase_Test_InvalidFileTableIndex -ERROR EVENT ID=50 Invalid DEST BASE command arg: file table index = 99 -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid DEST BASE command arg: file table index = 99 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdSetDestBase_Test_InvalidBaseFilename -ERROR EVENT ID=50 Invalid DEST BASE command arg: base filename -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid DEST BASE command arg: base filename -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdSetDestBase_Test_FileTableNotLoaded -ERROR EVENT ID=50 Invalid DEST BASE command: destination file table is not loaded -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid DEST BASE command: destination file table is not loaded -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdSetDestExt_Test_Nominal -DEBUG EVENT ID=51 DEST EXT command: file table index = 1, extension = 'txt' -PASS: DS_AppData.CmdAcceptedCounter == 1 -PASS: strncmp (DS_AppData.DestFileTblPtr->File[CmdPacket.FileTableIndex].Extension, 'txt', DS_EXTENSION_BUFSIZE) == 0 -PASS: DEST EXT command: file table index = 1, extension = 'txt' -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 -PASS: DS_DestExtCmd_t is 32-bit aligned - -Running Test: DS_CmdSetDestExt_Test_InvalidCommandLength -ERROR EVENT ID=52 Invalid DEST EXT command length: expected = 20, actual = 1 -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid DEST EXT command length: expected = 20, actual = 1 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdSetDestExt_Test_InvalidFileTableIndex -ERROR EVENT ID=52 Invalid DEST EXT command arg: file table index = 99 -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid DEST EXT command arg: file table index = 99 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdSetDestExt_Test_InvalidFilenameExtension -ERROR EVENT ID=52 Invalid DEST EXT command arg: extension -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid DEST EXT command arg: extension -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdSetDestExt_Test_FileTableNotLoaded -ERROR EVENT ID=52 Invalid DEST EXT command: destination file table is not loaded -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid DEST EXT command: destination file table is not loaded -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdSetDestSize_Test_Nominal -DEBUG EVENT ID=53 DEST SIZE command: file table index = 1, size limit = 100000000 -PASS: DS_AppData.CmdAcceptedCounter == 1 -PASS: DS_AppData.DestFileTblPtr->File[CmdPacket.FileTableIndex].MaxFileSize == 100000000 -PASS: DEST SIZE command: file table index = 1, size limit = 100000000 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 -PASS: DS_DestSizeCmd_t is 32-bit aligned - -Running Test: DS_CmdSetDestSize_Test_InvalidCommandLength -ERROR EVENT ID=54 Invalid DEST SIZE command length: expected = 16, actual = 1 -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid DEST SIZE command length: expected = 16, actual = 1 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdSetDestSize_Test_InvalidFileTableIndex -ERROR EVENT ID=54 Invalid DEST SIZE command arg: file table index = 99 -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid DEST SIZE command arg: file table index = 99 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdSetDestSize_Test_InvalidFileSizeLimit -ERROR EVENT ID=54 Invalid DEST SIZE command arg: size limit = 1 -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid DEST SIZE command arg: size limit = 1 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdSetDestSize_Test_FileTableNotLoaded -ERROR EVENT ID=54 Invalid DEST SIZE command: destination file table is not loaded -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid DEST SIZE command: destination file table is not loaded -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdSetDestAge_Test_Nominal -DEBUG EVENT ID=55 DEST AGE command: file table index = 1, age limit = 1000 -PASS: DS_AppData.CmdAcceptedCounter == 1 -PASS: DS_AppData.DestFileTblPtr->File[CmdPacket.FileTableIndex].MaxFileAge == 1000 -PASS: DEST AGE command: file table index = 1, age limit = 1000 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 -PASS: DS_DestAgeCmd_t is 32-bit aligned - -Running Test: DS_CmdSetDestAge_Test_InvalidCommandLength -ERROR EVENT ID=56 Invalid DEST AGE command length: expected = 16, actual = 1 -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid DEST AGE command length: expected = 16, actual = 1 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdSetDestAge_Test_InvalidFileTableIndex -ERROR EVENT ID=56 Invalid DEST AGE command arg: file table index = 99 -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid DEST AGE command arg: file table index = 99 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdSetDestAge_Test_InvalidFileAgeLimit -ERROR EVENT ID=56 Invalid DEST AGE command arg: age limit = 1 -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid DEST AGE command arg: age limit = 1 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdSetDestAge_Test_FileTableNotLoaded -ERROR EVENT ID=56 Invalid DEST AGE command: destination file table is not loaded -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid DEST AGE command: destination file table is not loaded -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdSetDestCount_Test_Nominal -DEBUG EVENT ID=57 DEST COUNT command: file table index = 1, sequence count = 1 -PASS: DS_AppData.CmdAcceptedCounter == 1 -PASS: DS_AppData.DestFileTblPtr->File[CmdPacket.FileTableIndex].SequenceCount == 1 -PASS: DS_AppData.FileStatus[CmdPacket.FileTableIndex].FileCount == 1 -PASS: DEST COUNT command: file table index = 1, sequence count = 1 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 -PASS: DS_DestCountCmd_t is 32-bit aligned - -Running Test: DS_CmdSetDestCount_Test_InvalidCommandLength -ERROR EVENT ID=58 Invalid DEST COUNT command length: expected = 16, actual = 1 -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid DEST COUNT command length: expected = 16, actual = 1 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdSetDestCount_Test_InvalidFileTableIndex -ERROR EVENT ID=58 Invalid DEST COUNT command arg: file table index = 99 -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid DEST COUNT command arg: file table index = 99 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdSetDestCount_Test_InvalidFileSequenceCount -ERROR EVENT ID=58 Invalid DEST COUNT command arg: sequence count = -1 -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid DEST COUNT command arg: sequence count = -1 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdSetDestCount_Test_FileTableNotLoaded -ERROR EVENT ID=58 Invalid DEST COUNT command: destination file table is not loaded -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid DEST COUNT command: destination file table is not loaded -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdCloseFile_Test_Nominal -DEBUG EVENT ID=59 DEST CLOSE command: file table index = 0 -PASS: DS_AppData.CmdAcceptedCounter == 1 -PASS: DEST CLOSE command: file table index = 0 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 -PASS: DS_CloseFileCmd_t is 32-bit aligned - -Running Test: DS_CmdCloseFile_Test_InvalidCommandLength -ERROR EVENT ID=60 Invalid DEST CLOSE command length: expected = 12, actual = 1 -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid DEST CLOSE command length: expected = 12, actual = 1 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdCloseFile_Test_InvalidFileTableIndex -ERROR EVENT ID=60 Invalid DEST CLOSE command arg: file table index = 99 -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid DEST CLOSE command arg: file table index = 99 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdCloseAll_Test_Nominal -DEBUG EVENT ID=66 DEST CLOSE ALL command -PASS: DS_AppData.CmdAcceptedCounter == 1 -PASS: DEST CLOSE ALL command -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 -PASS: DS_CloseAllCmd_t is 32-bit aligned - -Running Test: DS_CmdCloseAll_Test_InvalidCommandLength -ERROR EVENT ID=67 Invalid DEST CLOSE ALL command length: expected = 8, actual = 1 -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid DEST CLOSE ALL command length: expected = 8, actual = 1 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdGetFileInfo_Test_EnabledOpen -DEBUG EVENT ID=62 GET FILE INFO command -PKT: 08 B9 C0 00 05 45 00 00 00 00 00 00 01 00 00 00 02 00 00 00 03 00 00 00 04 00 00 00 05 00 01 00 66 69 6C 65 6E 61 6D 65 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 02 00 00 00 03 00 00 00 04 00 00 00 05 00 01 00 66 69 6C 65 6E 61 6D 65 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 02 00 00 00 03 00 00 00 04 00 00 00 05 00 01 00 66 69 6C 65 6E 61 6D 65 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 02 00 00 00 03 00 00 00 04 00 00 00 05 00 01 00 66 69 6C 65 6E 61 6D 65 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 02 00 00 00 03 00 00 00 04 00 00 00 05 00 01 00 66 69 6C 65 6E 61 6D 65 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 02 00 00 00 03 00 00 00 04 00 00 00 05 00 01 00 66 69 6C 65 6E 61 6D 65 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 02 00 00 00 03 00 00 00 04 00 00 00 05 00 01 00 66 69 6C 65 6E 61 6D 65 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 02 00 00 00 03 00 00 00 04 00 00 00 05 00 01 00 66 69 6C 65 6E 61 6D 65 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 02 00 00 00 03 00 00 00 04 00 00 00 05 00 01 00 66 69 6C 65 6E 61 6D 65 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 02 00 00 00 03 00 00 00 04 00 00 00 05 00 01 00 66 69 6C 65 6E 61 6D 65 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 02 00 00 00 03 00 00 00 04 00 00 00 05 00 01 00 66 69 6C 65 6E 61 6D 65 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 02 00 00 00 03 00 00 00 04 00 00 00 05 00 01 00 66 69 6C 65 6E 61 6D 65 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 02 00 00 00 03 00 00 00 04 00 00 00 05 00 01 00 66 69 6C 65 6E 61 6D 65 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 02 00 00 00 03 00 00 00 04 00 00 00 05 00 01 00 66 69 6C 65 6E 61 6D 65 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 02 00 00 00 03 00 00 00 04 00 00 00 05 00 01 00 66 69 6C 65 6E 61 6D 65 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 02 00 00 00 03 00 00 00 04 00 00 00 05 00 01 00 66 69 6C 65 6E 61 6D 65 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -PASS: DS_AppData.CmdAcceptedCounter == 1 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 -PASS: DS_FileInfoPkt_t is 32-bit aligned - -Running Test: DS_CmdGetFileInfo_Test_DisabledClosed -DEBUG EVENT ID=62 GET FILE INFO command -PKT: 08 B9 C0 00 05 45 00 00 00 00 00 00 01 00 00 00 02 00 00 00 03 00 00 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 02 00 00 00 03 00 00 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 02 00 00 00 03 00 00 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 02 00 00 00 03 00 00 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 02 00 00 00 03 00 00 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 02 00 00 00 03 00 00 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 02 00 00 00 03 00 00 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 02 00 00 00 03 00 00 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 02 00 00 00 03 00 00 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 02 00 00 00 03 00 00 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 02 00 00 00 03 00 00 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 02 00 00 00 03 00 00 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 02 00 00 00 03 00 00 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 02 00 00 00 03 00 00 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 02 00 00 00 03 00 00 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 02 00 00 00 03 00 00 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -PASS: DS_AppData.CmdAcceptedCounter == 1 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdGetFileInfo_Test_InvalidCommandLength -ERROR EVENT ID=63 Invalid GET FILE INFO command length: expected = 8, actual = 1 -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid GET FILE INFO command length: expected = 8, actual = 1 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdAddMID_Test_Nominal -PASS: DS_AddMidCmd_t is 32-bit aligned -DEBUG EVENT ID=64 ADD MID command: MID = 0x18BB, filter index = 0, hash index = 187 -PASS: DS_AppData.CmdAcceptedCounter == 1 -PASS: DS_AppData.FilterTblPtr->Packet[FilterTableIndex].MessageID == 0x18BB -PASS: DS_AppData.FilterTblPtr->Packet[FilterTableIndex].Filter[0].FileTableIndex == 0 -PASS: DS_AppData.FilterTblPtr->Packet[FilterTableIndex].Filter[0].FilterType == DS_BY_COUNT -PASS: DS_AppData.FilterTblPtr->Packet[FilterTableIndex].Filter[0].Algorithm_N == 0 -PASS: DS_AppData.FilterTblPtr->Packet[FilterTableIndex].Filter[0].Algorithm_X == 0 -PASS: DS_AppData.FilterTblPtr->Packet[FilterTableIndex].Filter[0].Algorithm_O == 0 -PASS: DS_AppData.FilterTblPtr->Packet[FilterTableIndex].Filter[DS_FILTERS_PER_PACKET/2].FileTableIndex == 0 -PASS: DS_AppData.FilterTblPtr->Packet[FilterTableIndex].Filter[DS_FILTERS_PER_PACKET/2].FilterType == DS_BY_COUNT -PASS: DS_AppData.FilterTblPtr->Packet[FilterTableIndex].Filter[DS_FILTERS_PER_PACKET/2].Algorithm_N == 0 -PASS: DS_AppData.FilterTblPtr->Packet[FilterTableIndex].Filter[DS_FILTERS_PER_PACKET/2].Algorithm_X == 0 -PASS: DS_AppData.FilterTblPtr->Packet[FilterTableIndex].Filter[DS_FILTERS_PER_PACKET/2].Algorithm_O == 0 -PASS: DS_AppData.FilterTblPtr->Packet[FilterTableIndex].Filter[DS_FILTERS_PER_PACKET-1].FileTableIndex == 0 -PASS: DS_AppData.FilterTblPtr->Packet[FilterTableIndex].Filter[DS_FILTERS_PER_PACKET-1].FilterType == DS_BY_COUNT -PASS: DS_AppData.FilterTblPtr->Packet[FilterTableIndex].Filter[DS_FILTERS_PER_PACKET-1].Algorithm_N == 0 -PASS: DS_AppData.FilterTblPtr->Packet[FilterTableIndex].Filter[DS_FILTERS_PER_PACKET-1].Algorithm_X == 0 -PASS: DS_AppData.FilterTblPtr->Packet[FilterTableIndex].Filter[DS_FILTERS_PER_PACKET-1].Algorithm_O == 0 -PASS: DS_AppData.HashLinks[0].Index == 0 -PASS: DS_AppData.HashLinks[0].MessageID == 0x18BB -PASS: ADD MID command: MID = 0x18BB, filter index = 0, hash index = 187 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdAddMID_Test_InvalidCommandLength -ERROR EVENT ID=65 Invalid ADD MID command length: expected = 12, actual = 1 -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid ADD MID command length: expected = 12, actual = 1 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdAddMID_Test_InvalidMessageID -ERROR EVENT ID=65 Invalid ADD MID command arg: invalid MID = 0x 0 -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid ADD MID command arg: invalid MID = 0x 0 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdAddMID_Test_FilterTableNotLoaded -ERROR EVENT ID=65 Invalid ADD MID command: filter table is not loaded -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid ADD MID command: filter table is not loaded -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdAddMID_Test_MIDAlreadyInFilterTable -ERROR EVENT ID=65 Invalid ADD MID command: MID = 0x18BB is already in filter table at index = 0 -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid ADD MID command: MID = 0x18BB is already in filter table at index = 0 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdAddMID_Test_FilterTableFull -ERROR EVENT ID=65 Invalid ADD MID command: filter table is full -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid ADD MID command: filter table is full -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_FileStorePacket_Test_Nominal -PASS: DS_AppData.PassedPktCounter == 1 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_FileStorePacket_Test_PacketNotInTable -PASS: DS_AppData.IgnoredPktCounter == 1 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_FileStorePacket_Test_PassedFilterFalse -PASS: DS_AppData.FilteredPktCounter == 1 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_FileSetupWrite_Test_Nominal -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_FileSetupWrite_Test_FileHandleClosed -ERROR EVENT ID=16 FILE WRITE error: result = 0, length = 64, dest = 0, name = '/KC.m' -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_FileSetupWrite_Test_MaxFileSizeExceeded -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_FileWriteData_Test_Nominal -PASS: DS_AppData.FileWriteCounter == 1 -PASS: DS_AppData.FileStatus[FileIndex].FileSize == 10 -PASS: DS_AppData.FileStatus[FileIndex].FileGrowth == 10 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_FileWriteData_Test_Error -ERROR EVENT ID=16 FILE WRITE error: result = -1, length = 10, dest = 0, name = 'directory1/' -PASS: FILE WRITE error: result = -1, length = 10, dest = 0, name = 'directory1/' -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_FileWriteHeader_Test_PlatformConfigCFE_Nominal -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 -PASS: DS_AppData.FileWriteCounter == 2 -PASS: sizeof(CFE_FS_Header_t) + sizeof(DS_FileHeader_t) -PASS: sizeof(CFE_FS_Header_t) + sizeof(DS_FileHeader_t) - -Running Test: DS_FileWriteHeader_Test_PrimaryHeaderError -ERROR EVENT ID=16 FILE WRITE error: result = -1, length = 64, dest = 0, name = '' -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_FileWriteHeader_Test_SecondaryHeaderError -ERROR EVENT ID=16 FILE WRITE error: result = -1, length = 76, dest = 0, name = '' -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_FileWriteError_Test -ERROR EVENT ID=16 FILE WRITE error: result = -1, length = 10, dest = 0, name = 'filename' -PASS: DS_AppData.FileWriteErrCounter == 1 -PASS: FILE WRITE error: result = -1, length = 10, dest = 0, name = 'filename' -PASS: DS_AppData.FileStatus[FileIndex].FileState == DS_DISABLED -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_FileCreateDest_Test_Nominal -PASS: DS_AppData.FileWriteCounter == 3 -PASS: DS_AppData.FileStatus[FileIndex].FileHandle == 5 -PASS: DS_AppData.FileStatus[FileIndex].FileCount == 5 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_FileCreateDest_Test_Error -ERROR EVENT ID=15 FILE CREATE error: result = -1, dest = 0, name = 'path/basename.extension' -PASS: DS_AppData.FileWriteErrCounter == 1 -PASS: FILE CREATE error: result = -1, dest = 0, name = 'path/basename.extension' -PASS: strncmp (DS_AppData.FileStatus[FileIndex].FileName, , DS_TOTAL_FNAME_BUFSIZE) == 0 -PASS: DS_AppData.FileStatus[FileIndex].FileState == DS_DISABLED -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_FileCreateName_Test_Nominal -PASS: strncmp (DS_AppData.FileStatus[FileIndex].FileName, 'path/basename.extension', DS_TOTAL_FNAME_BUFSIZE) == 0 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_FileCreateName_Test_Error -ERROR EVENT ID=14 FILE NAME error: dest = 0, path = 'path', base = 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa', seq = -PASS: FILE NAME error: dest = 0, path = 'path', base = 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa', seq = -PASS: DS_AppData.FileStatus[FileIndex].FileState == DS_DISABLED -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_FileCreateSequence_Test_ByCount -PASS: strncmp(Sequence, '00000001', DS_TOTAL_FNAME_BUFSIZE) == 0 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_FileCreateSequence_Test_ByTime -PASS: strncmp(Sequence, '1980001000000', DS_TOTAL_FNAME_BUFSIZE) == 0 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_FileCreateSequence_Test_BadFilenameType -PASS: strncmp(Sequence, '', DS_TOTAL_FNAME_BUFSIZE) == 0 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_FileUpdateHeader_Test_PlatformConfigCFE_Nominal -PASS: DS_AppData.FileUpdateCounter == 1 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_FileUpdateHeader_Test_WriteError -PASS: DS_AppData.FileUpdateErrCounter == 1 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_FileUpdateHeader_Test_PlatformConfigCFE_SeekError -PASS: DS_AppData.FileUpdateErrCounter == 1 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_FileCloseDest_Test_MoveFilesFalse -PASS: DS_AppData.FileStatus[FileIndex].FileHandle == DS_CLOSED_FILE_HANDLE -PASS: DS_AppData.FileStatus[FileIndex].FileAge == 0 -PASS: DS_AppData.FileStatus[FileIndex].FileSize == 0 -PASS: DS_AppData.FileStatus[FileIndex].FileName[0] == 0 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_FileTestAge_Test_Nominal -PASS: DS_AppData.FileStatus[FileIndex].FileAge == 2 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_FileTestAge_Test_ExceedMaxAge -PASS: DS_AppData.FileStatus[FileIndex].FileAge == 0 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_TableInit_Test_Nominal -PASS: Result == CFE_SUCCESS -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_TableInit_Test_TableInfoRecovered -DEBUG EVENT ID=7 Destination File Table data restored from CDS -DEBUG EVENT ID=7 Filter Table data restored from CDS -PASS: Result == CFE_SUCCESS -PASS: Destination File Table data restored from CDS -PASS: Filter Table data restored from CDS -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 2 - -Running Test: DS_TableInit_Test_RegisterDestTableError -ERROR EVENT ID=8 Unable to register Destination File Table: Error = 0x00000099 -PASS: Result == 0x99 -PASS: Unable to register Destination File Table: Error = 0x00000099 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_TableInit_Test_RegisterFilterTableError -ERROR EVENT ID=8 Unable to register Filter Table: Error = 0x00000099 -PASS: Result == 0x99 -PASS: Unable to register Filter Table: Error = 0x00000099 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_TableInit_Test_LoadDestTableError -ERROR EVENT ID=8 Unable to load default Destination File Table: Filename = '/cf/apps/ds_file_tbl.tbl', Error = 0xCC000013 -PASS: Result == CFE_SUCCESS -PASS: Unable to load default Destination File Table: Filename = '/cf/apps/ds_file_tbl.tbl', Error = 0xCC000013 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_TableInit_Test_LoadFilterTableError -ERROR EVENT ID=8 Unable to load default Filter Table: Filename = '/cf/apps/ds_filter_tbl.tbl', Error = 0xCC000013 -PASS: Result == CFE_SUCCESS -PASS: Unable to load default Filter Table: Filename = '/cf/apps/ds_filter_tbl.tbl', Error = 0xCC000013 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_TableManageDestFile_Test_TableInfoUpdated -PASS: DS_AppData.DestTblLoadCounter == 1 -PASS: DS_AppData.FileStatus[0].FileState == 0 -PASS: DS_AppData.FileStatus[0].FileCount == 0 -PASS: DS_AppData.FileStatus[DS_DEST_FILE_CNT/2].FileState == DS_DEST_FILE_CNT/2 -PASS: DS_AppData.FileStatus[DS_DEST_FILE_CNT/2].FileCount == DS_DEST_FILE_CNT/2 -PASS: DS_AppData.FileStatus[DS_DEST_FILE_CNT-1].FileState == DS_DEST_FILE_CNT-1 -PASS: DS_AppData.FileStatus[DS_DEST_FILE_CNT-1].FileCount == DS_DEST_FILE_CNT-1 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_TableManageDestFile_Test_TableNeverLoaded -PASS: DS_AppData.DestTblErrCounter == 1 -PASS: DS_AppData.DestFileTblPtr == (DS_DestFileTable_t *) NULL -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_TableManageDestFile_Test_TableInfoDumpPending -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_TableManageDestFile_Test_TableInfoValidationPending -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_TableManageDestFile_Test_TableInfoUpdatePending -PASS: DS_AppData.DestTblLoadCounter == 1 -PASS: DS_AppData.FileStatus[0].FileState == 0 -PASS: DS_AppData.FileStatus[0].FileCount == 0 -PASS: DS_AppData.FileStatus[DS_DEST_FILE_CNT/2].FileState == DS_DEST_FILE_CNT/2 -PASS: DS_AppData.FileStatus[DS_DEST_FILE_CNT/2].FileCount == DS_DEST_FILE_CNT/2 -PASS: DS_AppData.FileStatus[DS_DEST_FILE_CNT-1].FileState == DS_DEST_FILE_CNT-1 -PASS: DS_AppData.FileStatus[DS_DEST_FILE_CNT-1].FileCount == DS_DEST_FILE_CNT-1 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_TableManageFilter_Test_TableInfoUpdated -PASS: DS_AppData.FilterTblLoadCounter == 1 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_TableManageFilter_Test_TableNeverLoaded -PASS: DS_AppData.FilterTblErrCounter == 1 -PASS: DS_AppData.FilterTblPtr == (DS_FilterTable_t *) NULL -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_TableManageFilter_Test_TableInfoDumpPending -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_TableManageFilter_Test_TableInfoValidationPending -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_TableManageFilter_Test_TableInfoUpdatePending -PASS: DS_AppData.FilterTblLoadCounter == 1 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_TableVerifyDestFile_Test_Nominal -INFO EVENT ID=10 Destination file table verify results: desc text = OK, good entries = 1, bad = 0, unused = 15 -PASS: Result == CFE_SUCCESS -PASS: Destination file table verify results: desc text = OK, good entries = 1, bad = 0, unused = 15 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_TableVerifyDestFile_Test_DestFileTableVerificationError -ERROR EVENT ID=11 Destination file table verify err: invalid descriptor text -INFO EVENT ID=10 Destination file table verify results: desc text = bad, good entries = 1, bad = 0, unused = 15 -PASS: Result == DS_TABLE_VERIFY_ERR -PASS: Destination file table verify err: invalid descriptor text -PASS: Destination file table verify results: desc text = bad, good entries = 1, bad = 0, unused = 15 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 2 - -Running Test: DS_TableVerifyDestFile_Test_CountBad -ERROR EVENT ID=11 Destination file table verify err: index = 0, invalid extension text -INFO EVENT ID=10 Destination file table verify results: desc text = OK, good entries = 0, bad = 1, unused = 15 -PASS: Result == DS_TABLE_VERIFY_ERR -PASS: Destination file table verify err: index = 0, invalid extension text -PASS: Destination file table verify results: desc text = OK, good entries = 0, bad = 1, unused = 15 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 2 - -Running Test: DS_TableVerifyDestFileEntry_Test_Nominal -PASS: Result == TRUE -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_TableVerifyDestFileEntry_Test_InvalidPathname -ERROR EVENT ID=11 Destination file table verify err: index = 0, invalid pathname text -PASS: Result == FALSE -PASS: Destination file table verify err: index = 0, invalid pathname text -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_TableVerifyDestFileEntry_Test_InvalidBasename -ERROR EVENT ID=11 Destination file table verify err: index = 0, invalid basename text -PASS: Result == FALSE -PASS: Destination file table verify err: index = 0, invalid basename text -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_TableVerifyDestFileEntry_Test_InvalidExtension -ERROR EVENT ID=11 Destination file table verify err: index = 0, invalid extension text -PASS: Result == FALSE -PASS: Destination file table verify err: index = 0, invalid extension text -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_TableVerifyDestFileEntry_Test_InvalidFilenameType -ERROR EVENT ID=11 Destination file table verify err: index = 0, filename type = 99 -PASS: Result == FALSE -PASS: Destination file table verify err: index = 0, filename type = 99 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_TableVerifyDestFileEntry_Test_InvalidFileEnableState -ERROR EVENT ID=11 Destination file table verify err: index = 0, file enable state = 99 -PASS: Result == FALSE -PASS: Destination file table verify err: index = 0, file enable state = 99 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_TableVerifyDestFileEntry_Test_InvalidSize -ERROR EVENT ID=11 Destination file table verify err: index = 0, max file size = 1023 -PASS: Result == FALSE -PASS: Destination file table verify err: index = 0, max file size = 1023 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_TableVerifyDestFileEntry_Test_InvalidAge -ERROR EVENT ID=11 Destination file table verify err: index = 0, max file age = 59 -PASS: Result == FALSE -PASS: Destination file table verify err: index = 0, max file age = 59 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_TableVerifyDestFileEntry_Test_InvalidSequenceCount -ERROR EVENT ID=11 Destination file table verify err: index = 0, sequence count = 100000000 -PASS: Result == FALSE -PASS: Destination file table verify err: index = 0, sequence count = 100000000 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_TableVerifyFilter_Test_Nominal -INFO EVENT ID=12 Filter table verify results: desc text = OK, good entries = 1, bad = 0, unused = 255 -PASS: Result == CFE_SUCCESS -PASS: Filter table verify results: desc text = OK, good entries = 1, bad = 0, unused = 255 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_TableVerifyFilter_Test_FilterTableVerificationError -ERROR EVENT ID=13 Filter table verify err: invalid descriptor text -INFO EVENT ID=12 Filter table verify results: desc text = bad, good entries = 1, bad = 0, unused = 255 -PASS: Result == DS_TABLE_VERIFY_ERR -PASS: Filter table verify err: invalid descriptor text -PASS: Filter table verify results: desc text = bad, good entries = 1, bad = 0, unused = 255 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 2 - -Running Test: DS_TableVerifyFilter_Test_CountBad -ERROR EVENT ID=13 Filter table verify err: MID = 0x18BB, index = 0, filter = 0, filter type = 4 -INFO EVENT ID=12 Filter table verify results: desc text = OK, good entries = 0, bad = 1, unused = 255 -PASS: Result == DS_TABLE_VERIFY_ERR -PASS: Filter table verify err: MID = 0x18BB, index = 0, filter = 0, filter type = 4 -PASS: Filter table verify results: desc text = OK, good entries = 0, bad = 1, unused = 255 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 2 - -Running Test: DS_TableVerifyFilterEntry_Test_Nominal -PASS: Result == TRUE -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_TableVerifyFilterEntry_Test_InvalidFileTableIndex -ERROR EVENT ID=13 Filter table verify err: MID = 0x18BB, index = 0, filter = 0, file table index = 17 -PASS: Result == FALSE -PASS: Filter table verify err: MID = 0x18BB, index = 0, filter = 0, file table index = 17 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_TableVerifyFilterEntry_Test_InvalidFilterType -ERROR EVENT ID=13 Filter table verify err: MID = 0x18BB, index = 0, filter = 0, filter type = 99 -PASS: Result == FALSE -PASS: Filter table verify err: MID = 0x18BB, index = 0, filter = 0, filter type = 99 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_TableVerifyFilterEntry_Test_InvalidFilterParms -ERROR EVENT ID=13 Filter table verify err: MID = 0x18BB, index = 0, filter = 0, filter parms N = 1, X = 3, O = 99 -PASS: Result == FALSE -PASS: Filter table verify err: MID = 0x18BB, index = 0, filter = 0, filter parms N = 1, X = 3, O = 99 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_TableEntryUnused_Test_Nominal -PASS: Result == TRUE -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_TableEntryUnused_Test_Fail -PASS: Result == FALSE -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_TableVerifyFileIndex_Test_Nominal -PASS: Result == TRUE -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_TableVerifyFileIndex_Test_Fail -PASS: Result == FALSE -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_TableVerifyParms_Test_NominalOnlyXNonZero -PASS: Result == TRUE -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_TableVerifyParms_Test_NGreaterThanXOnlyNNonZero -PASS: Result == FALSE -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_TableVerifyParms_Test_OGreaterThanXOnlyONonZero -PASS: Result == FALSE -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_TableVerifyType_Test_Nominal -PASS: Result == TRUE -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_TableVerifyType_Test_Fail -PASS: Result == FALSE -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_TableVerifyState_Test_Nominal -PASS: Result == TRUE -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_TableVerifyState_Test_Fail -PASS: Result == FALSE -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_TableVerifySize_Test_Nominal -PASS: Result == TRUE -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_TableVerifySize_Test_Fail -PASS: Result == FALSE -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_TableVerifyAge_Test_Nominal -PASS: Result == TRUE -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_TableVerifyAge_Test_Fail -PASS: Result == FALSE -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_TableVerifyCount_Test_Nominal -PASS: Result == TRUE -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_TableVerifyCount_Test_Fail -PASS: Result == FALSE -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_TableSubscribe_Test -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_TableUnsubscribe_Test -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_TableCreateCDS_Test_NewCDSArea -PASS: Result == CFE_SUCCESS -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_TableCreateCDS_Test_PreExistingCDSArea -PASS: Result == CFE_SUCCESS -PASS: DS_AppData.FileStatus[0].FileCount == 0 -PASS: DS_AppData.FileStatus[DS_DEST_FILE_CNT/2].FileCount == 0 -PASS: DS_AppData.FileStatus[DS_DEST_FILE_CNT-1].FileCount == 0 -PASS: DS_AppData.AppEnableState == 0 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_TableCreateCDS_Test_Error -ERROR EVENT ID=6 Critical Data Store access error = 0xFFFFFFFF -PASS: DS_AppData.DataStoreHandle == 0 -PASS: Critical Data Store access error = 0xFFFFFFFF -PASS: Result == CFE_SUCCESS -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_TableUpdateCDS_Test_Nominal -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_TableUpdateCDS_Test_Error -ERROR EVENT ID=6 Critical Data Store access error = 0xFFFFFFFF -PASS: Critical Data Store access error = 0xFFFFFFFF -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_TableHashFunction_Test -PASS: Result == 187 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_TableCreateHash_Test_Nominal -PASS: DS_AppData.HashLinks[0].Index == 0 -PASS: DS_AppData.HashLinks[0].MessageID == 0x18BB -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_TableCreateHash_Test_NullTable -PASS: DS_AppData.HashLinks[0].Index == 0 -PASS: DS_AppData.HashLinks[0].MessageID == 0x18BB -PASS: DS_AppData.HashTable[187] == &DS_AppData.HashLinks[0] -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_TableFindMsgID_Test -PASS: Result == 1 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Tests Executed: 207 -Assert Pass Count: 648 -Assert Fail Count: 0 diff --git a/fsw/unit_test/ds_platform_cfg.h b/fsw/unit_test/ds_platform_cfg.h deleted file mode 100644 index ca61402..0000000 --- a/fsw/unit_test/ds_platform_cfg.h +++ /dev/null @@ -1,497 +0,0 @@ -/************************************************************************ -** File: ds_platform_cfg.h -** -** NASA Docket No. GSC-18448-1, and identified as "cFS Data Storage (DS) -** application version 2.5.2” -** -** Copyright © 2019 United States Government as represented by the Administrator -** of the National Aeronautics and Space Administration. All Rights Reserved. -** -** Licensed under the Apache License, Version 2.0 (the "License"); -** you may not use this file except in compliance with the License. -** You may obtain a copy of the License at -** http://www.apache.org/licenses/LICENSE-2.0 -** Unless required by applicable law or agreed to in writing, software -** distributed under the License is distributed on an "AS IS" BASIS, -** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -** See the License for the specific language governing permissions and -** limitations under the License. -** -** -** Purpose: -** The CFS Data Storage (DS) Application platform configuration header file -** -** Notes: -** -*************************************************************************/ -#ifndef _ds_platform_cfg_h_ -#define _ds_platform_cfg_h_ - - -/** -** \dscfg Destination File Table -- logical table name -** -** \par Description: -** This parameter defines the name of the DS Destination File -** Table when referenced via cFE Table Services. Note that this -** parameter is not a filename, it is the table specific portion -** of the logical name. The entire logical name for this table -** is "DS.FILE_TBL". -** -** \par Limits: -** The string length (including string terminator) cannot exceed -** #CFE_TBL_MAX_NAME_LENGTH. (limit is not verified) -*/ -#define DS_DESTINATION_TBL_NAME "FILE_TBL" - - -/** -** \dscfg Destination File Table -- default table filename -** -** \par Description: -** This parameter defines the default filename for the -** Destination File Table. -** -** \par Limits: -** The string length (including string terminator) cannot exceed -** #OS_MAX_PATH_LEN. (limit is not verified) -*/ -#define DS_DEF_DEST_FILENAME "/cf/apps/ds_file_tbl.tbl" - - -/** -** \dscfg Destination File Table -- number of files -** -** \par Description: -** This parameter defines the size of the DS Destination File -** Table by setting the number of file entries in the table. The -** number should be large enough to provide an entry for all the -** destination files defined for the project. Maintenance will -** be simplified if file index 'n' always describes the same -** file - even if that file is not in use at the present time. -** -** \par Limits: -** The number must be greater than zero but there is no upper -** enforced limit for this parameter. -*/ -#define DS_DEST_FILE_CNT 16 - - -/** -** \dscfg Destination File Table -- pathname buffer size -** -** \par Description: -** This parameter further defines the size of the Destination -** File Table by setting the size of the pathname buffer for -** each file entry. Note that the buffer must contain both -** the string and the string terminator - so the max string -** length is one less than the buffer size. -** -** \par Limits: -** The buffer size must be greater than zero and a multiple -** of four bytes for alignment. The value cannot exceed the -** maximum filename size allowed by the OS (#OS_MAX_PATH_LEN). -*/ -#define DS_PATHNAME_BUFSIZE OS_MAX_PATH_LEN - - -/** -** \dscfg Destination File Table -- basename buffer size -** -** \par Description: -** This parameter further defines the size of the Destination -** File Table by setting the size of the basename buffer for -** each file entry. Note that the buffer must contain both -** the string and the string terminator - so the max string -** length is one less than the buffer size. -** -** \par Limits: -** The buffer size must be greater than zero and a multiple -** of four bytes for alignment. The value cannot exceed the -** maximum filename size allowed by the OS (#OS_MAX_PATH_LEN). -*/ -#define DS_BASENAME_BUFSIZE OS_MAX_PATH_LEN - - -/** -** \dscfg Destination File Table -- extension buffer size -** -** \par Description: -** This parameter further defines the size of the Destination -** File Table by setting the size of the extension buffer for -** each file entry. Note that the buffer must contain both -** the string and the string terminator - so the max string -** length is one less than the buffer size. -** -** \par Limits: -** The buffer size must be greater than zero and a multiple -** of four bytes for alignment. The value cannot exceed the -** maximum filename size allowed by the OS (#OS_MAX_PATH_LEN). -*/ -#define DS_EXTENSION_BUFSIZE 8 - - -/** -** \dscfg Packet Filter Table -- logical table name -** -** \par Description: -** This parameter defines the name of the DS Packet Filter Table -** when referenced via cFE Table Services. Note that this -** parameter is not a filename, it is the table specific portion -** of the logical name. The entire logical name for this table -** is "DS.FILTER_TBL". -** -** \par Limits: -** The string length (including string terminator) cannot exceed -** #CFE_TBL_MAX_NAME_LENGTH. (limit is not verified) -*/ -#define DS_FILTER_TBL_NAME "FILTER_TBL" - - -/** -** \dscfg Packet Filter Table -- default table filename -** -** \par Description: -** This parameter defines the default filename for the -** Packet Filter Table. -** -** \par Limits: -** The string length (including string terminator) cannot exceed -** #OS_MAX_PATH_LEN. (limit is not verified) -*/ -#define DS_DEF_FILTER_FILENAME "/cf/apps/ds_filter_tbl.tbl" - - -/** -** \dscfg Packet Filter Table -- number of packets -** -** \par Description: -** This parameter defines the size of the DS Packet Filter Table -** by setting the number of packet entries in the table. The -** number should be large enough to provide an entry for each -** command and telemetry packet subject to data storage. -** -** \par Limits: -** The number must be greater than zero but there is no upper -** enforced limit for this parameter. However, setting the -** size equal to the number of packets that might be subject -** to data storage, rather than the total number of packets -** defined for this project, will reduce the table file size, -** possibly significantly. -*/ -#define DS_PACKETS_IN_FILTER_TABLE 256 - - -/** -** \dscfg Packet Filter Table -- filters per packet -** -** \par Description: -** This parameter further defines the size of the DS Packet -** Filter Table by setting the number of filters per packet -** entry. This is the maximum number of destination files -** to which a single packet can be written (at one time). -** -** \par Limits: -** The number of filters per packet must be greater than zero -** and not greater than #DS_DEST_FILE_CNT. -*/ -#define DS_FILTERS_PER_PACKET 4 - - -/** -** \dscfg Common Table File -- descriptor text buffer size -** -** \par Description: -** This parameter defines the size of the Descriptor Text -** fields in both the Destination File Table and the Packet -** Filter Table. The buffer includes the string terminator. -** -** \par Limits: -** The buffer size must be greater than zero and a multiple -** of four bytes for alignment. There is no upper limit. -*/ -#define DS_DESCRIPTOR_BUFSIZE 32 - - -/** -** \dscfg Filename Sequence Count -- number of digits -** -** \par Description: -** This parameter defines the number of filename sequence -** count digits used when the filename type has been set to -** "count" rather than "time". Sequence counts are padded -** with leading zero's to create fixed length strings. -** -** \par Limits: -** The number of sequence count digits must be greater than -** zero - even if there is no intention of later setting -** the filename type to "count". This value should match -** the definition for #DS_MAX_SEQUENCE_COUNT, below. -*/ -#define DS_SEQUENCE_DIGITS 8 - - -/** -** \dscfg Filename Sequence Count -- max counter value -** -** \par Description: -** This parameter defines the maximum value a file sequence -** count will reach before rollover. -** -** \par Limits: -** The value must be greater than zero and should not have -** more digits than the number of sequence count digits -** defined for #DS_SEQUENCE_DIGITS, above. -*/ -#define DS_MAX_SEQUENCE_COUNT 99999999 - - -/** -** \dscfg Data Storage File -- total filename size -** -** \par Description: -** This parameter defines the maximum size of a filename after -** combining the pathname, basename, sequence and extension. -** -** \par Limits: -** The buffer size must be greater than zero and a multiple -** of four bytes for alignment. The buffer size (including -** string terminator) cannot exceed #OS_MAX_PATH_LEN. -*/ -#define DS_TOTAL_FNAME_BUFSIZE OS_MAX_PATH_LEN - - -/** -** \dscfg Data Storage File -- cFE file header sub-type -** -** \par Description: -** This parameter defines a mission-specific value that is used -** to identify a Data Storage file. -** -** \par Limits: -** The file header data type for the value is 32 bits unsigned, -** thus the value can be anything from zero to 4,294,967,295. -** (limit is not verified) -*/ -#define DS_FILE_HDR_SUBTYPE 12345 - - -/** -** \dscfg Data Storage File -- cFE file header description -** -** \par Description: -** This parameter defines a mission-specific text string that -** may be used to identify Data Storage files. -** -** \par Limits: -** The string length (including string terminator) cannot exceed -** #CFE_FS_HDR_DESC_MAX_LEN. (limit is not verified) -*/ -#define DS_FILE_HDR_DESCRIPTION "DS data storage file" - - -/** -** \dscfg Data Storage File -- minimum size limit -** -** \par Description: -** This parameter defines the lower limit for commands and -** table entries that define the size (in bytes) when a data -** storage file is automatically closed. -** -** \par Limits: -** None -- however, the user should be cautioned that a very -** small value will allow an size limit that closes files too -** frequently, while a very large value will effectively -** prevent files from ever being closed due to size. -*/ -#define DS_FILE_MIN_SIZE_LIMIT 1024 - - -/** -** \dscfg Data Storage File -- minimum age limit -** -** \par Description: -** This parameter defines the lower limit for commands and -** table entries that define the age (in seconds) when a data -** storage file is automatically closed. -** -** \par Limits: -** None -- however, the user should be cautioned that a very -** small value will allow an age limit that closes files too -** frequently, while a very large value will effectively -** prevent files from ever being closed due to age. -*/ -#define DS_FILE_MIN_AGE_LIMIT 60 - - -/** -** \dscfg Application Pipe Name -** -** \par Description: -** This parameter defines a portion of the logical name used -** during the creation of the DS input pipe. The logical name -** may also be used as an identifier when accessing status for -** the pipe via cFE Software Bus Services. The entire logical -** name is "DS.DS_CMD_PIPE". -** -** \par Limits: -** The string length (including string terminator) cannot -** exceed #OS_MAX_API_NAME. (limit is not verified) -*/ -#define DS_APP_PIPE_NAME "DS_CMD_PIPE" - - -/** -** \dscfg Application Pipe Depth -** -** \par Description: -** This parameter defines the depth of the DS input pipe. The -** depth should be deep enough to accommodate all of the DS -** command packets and all of the subscribed telemetry packets -** that might be generated by applications with a priority -** higher than the DS application. -** -** \par Limits: -** The value must be greater than zero and cannot exceed the -** definition of #CFE_SB_MAX_PIPE_DEPTH. -*/ -#define DS_APP_PIPE_DEPTH 256 - - -/** -** \dscfg Make DS Tables Critical -** -** \par Description: -** Set this parameter to a value of one to make the DS tables critical, -** otherwise set to zero. -** -** \par Limits -** This parameter must be set to zero or one. -*/ -#define DS_MAKE_TABLES_CRITICAL 1 - - -/** -** \dscfg Housekeeping Request Frequency -** -** \par Description: -** Set this parameter equal to the number of seconds between -** housekeeping request commands. This number is mission -** specific and must match the frequency used by the source -** of the command - often the scheduler task. The value is -** used by the DS application to measure file age and also -** as a factor in the calculation of file growth rates. -** -** \par Limits -** This parameter must be greater than zero. -*/ -#define DS_SECS_PER_HK_CYCLE 4 - - -/** -** \dscfg Default DS Packet Processor State -** -** \par Description: -** Set this parameter to a value of one and DS will begin to -** process packets immediately on startup. Set the value to -** zero and DS will ignore data storage packets until receipt -** of a valid #DS_ENABLE command. -** -** \par Limits -** This parameter must be set to zero or one. -*/ -#define DS_DEF_ENABLE_STATE 1 - - -/** -** \dscfg Save DS Packet Processor State in Critical Data Store -** -** \par Description: -** Set this parameter to a value of one and DS will restore -** the previous Packet Processor enable/disable state after -** a processor reset. This setting does not affect the -** Packet Processor enable/disable state set at power-on -** which is controlled by #DS_DEF_ENABLE_STATE. Set the -** value to zero and DS will set the enable/disable state -** as described for #DS_DEF_ENABLE_STATE following any reset. -** -** \par Limits -** This parameter must be set to zero or one. -*/ -#define DS_CDS_ENABLE_STATE 1 - - -/** \dscfg Mission specific version number for DS application -** -** \par Description: -** An application version number consists of four parts: -** major version number, minor version number, revision -** number and mission specific revision number. The mission -** specific revision number is defined here and the other -** parts are defined in "ds_version.h". -** -** \par Limits: -** Must be defined as a numeric value that is greater than -** or equal to zero. -*/ -#define DS_MISSION_REV 0 - - -/** -** \dscfg File Header Type Selection -** -** \par Description: -** Set this parameter to select the type of file header that -** will be the first record written to each Data Storage File. -** -** \par Limits -** This parameter must be set to one of the following: -** 0 = none -- set this value to have no file header -** 1 = CFE -- set this value to use CFE file headers -** 2 = GPM -- set this value to use GPM file headers -*/ -#define DS_FILE_HEADER_TYPE 1 - - -/** -** \dscfg Move Files to Downlink Directory After Close Selection -** -** \par Description: -** Set this parameter to enable the code and structures to -** automatically move DS files to another directory after -** closing the files. The intended use for this setting is -** to move files from a working directory into a directory -** from which the files can be downlinked. Note that even -** after enabling this feature, files will not be moved if -** the move pathname in the Destination File Table is null. -** -** \par Limits -** This parameter must be set to one of the following: -** TRUE = add move pathname field to Destination File Table -** FALSE = do not add move pathname to Destination File Table -*/ -#define DS_MOVE_FILES FALSE - - -/** -** \dscfg Application Per Packet Pipe Limit -** -** \par Description: -** This parameter defines the per packet pipe limit. This is -** the max number of packets with the same Message ID that may -** be in the DS input pipe at any one time. This value should -** be large enough to accommodate a burst of packets (usually -** event packets) plus a suitable margin. -** -** \par Limits: -** The value must be greater than zero and cannot exceed the -** definition of #DS_APP_PIPE_DEPTH. -*/ -#define DS_PER_PACKET_PIPE_LIMIT 50 - - -#endif /* _ds_platform_cfg_h_ */ - -/************************/ -/* End of File Comment */ -/************************/ diff --git a/fsw/unit_test/ds_table.c.gcov b/fsw/unit_test/ds_table.c.gcov deleted file mode 100644 index 3fc3f8b..0000000 --- a/fsw/unit_test/ds_table.c.gcov +++ /dev/null @@ -1,1282 +0,0 @@ - -: 0:Source:../src/ds_table.c - -: 0:Programs:4 - -: 1:/************************************************************************ - -: 2:** $Id: ds_table.c.gcov 1.4.1.2 2017/02/06 01:43:34EST mdeschu Exp $ - -: 3:** - -: 4:** Copyright (c) 2007-2014 United States Government as represented by the - -: 5:** Administrator of the National Aeronautics and Space Administration. - -: 6:** All Other Rights Reserved. - -: 7:** - -: 8:** This software was created at NASA's Goddard Space Flight Center. - -: 9:** This software is governed by the NASA Open Source Agreement and may be - -: 10:** used, distributed and modified only pursuant to the terms of that - -: 11:** agreement. - -: 12:** - -: 13:** CFS Data Storage (DS) table management functions - -: 14:** - -: 15:*************************************************************************/ - -: 16: - -: 17:#include "cfe.h" - -: 18: - -: 19:#include "cfs_utils.h" - -: 20: - -: 21:#include "ds_msgids.h" - -: 22: - -: 23:#include "ds_platform_cfg.h" - -: 24:#include "ds_verify.h" - -: 25: - -: 26:#include "ds_appdefs.h" - -: 27: - -: 28:#include "ds_app.h" - -: 29:#include "ds_table.h" - -: 30:#include "ds_msg.h" - -: 31:#include "ds_events.h" - -: 32: - -: 33: - -: 34:#define DS_CDS_NAME "DS_CDS" - -: 35: - -: 36: - -: 37:/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ - -: 38:/* */ - -: 39:/* DS_TableInit() - DS application table initialization */ - -: 40:/* */ - -: 41:/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ - -: 42: - 9: 43:int32 DS_TableInit(void) - -: 44:{ - -: 45: int32 Result1; - -: 46: int32 Result2; - 9: 47: boolean NeedToLoadDestTable = FALSE; - 9: 48: boolean NeedToLoadFilterTable = FALSE; - 9: 49: uint16 TableRegisterFlags = CFE_TBL_OPT_SNGL_BUFFER | CFE_TBL_OPT_LOAD_DUMP; - -: 50: - -: 51: #if (DS_MAKE_TABLES_CRITICAL == 1) - 9: 52: TableRegisterFlags |= CFE_TBL_OPT_CRITICAL; - -: 53: #endif - -: 54: - -: 55: /* - -: 56: ** If registration fails for either table then the DS app will - -: 57: ** terminate immediately. Without valid table handles, the DS - -: 58: ** app will never be able to load table data. - -: 59: ** - -: 60: ** However, as long as both tables were successfully registered, - -: 61: ** it doesn't matter that one or both table loads fail. The - -: 62: ** DS app can still continue - or at least the DS app can limp - -: 63: ** along until an external influence (ground or RTS) can manage - -: 64: ** to get both tables loaded. - -: 65: */ - 9: 66: Result1 = CFE_TBL_Register(&DS_AppData.DestFileTblHandle, DS_DESTINATION_TBL_NAME, - -: 67: sizeof (DS_DestFileTable_t), TableRegisterFlags, - -: 68: (CFE_TBL_CallbackFuncPtr_t) DS_TableVerifyDestFile); - -: 69: - 9: 70: if (Result1 == CFE_TBL_INFO_RECOVERED_TBL) - -: 71: { - -: 72: /* - -: 73: ** cFE registered the table and restored the table data - -: 74: */ - 1: 75: NeedToLoadDestTable = FALSE; - -: 76: - 1: 77: CFE_EVS_SendEvent(DS_INIT_TBL_CDS_EID, CFE_EVS_DEBUG, - -: 78: "Destination File Table data restored from CDS"); - -: 79: /* - -: 80: ** This is not an error so clear the result value for later tests - -: 81: */ - 1: 82: Result1 = CFE_SUCCESS; - -: 83: } - 8: 84: else if (Result1 == CFE_SUCCESS) - -: 85: { - -: 86: /* - -: 87: ** cFE registered the table - we need to load the table data - -: 88: */ - 7: 89: NeedToLoadDestTable = TRUE; - -: 90: } - -: 91: else - -: 92: { - -: 93: /* - -: 94: ** cFE did not register the table - we cannot continue - -: 95: */ - 1: 96: CFE_EVS_SendEvent(DS_INIT_TBL_ERR_EID, CFE_EVS_ERROR, - -: 97: "Unable to register Destination File Table: Error = 0x%08X", - -: 98: (unsigned int)Result1); - -: 99: } - -: 100: - 9: 101: if (Result1 == CFE_SUCCESS) - -: 102: { - 8: 103: Result1 = CFE_TBL_Register(&DS_AppData.FilterTblHandle, DS_FILTER_TBL_NAME, - -: 104: sizeof (DS_FilterTable_t), TableRegisterFlags, - -: 105: (CFE_TBL_CallbackFuncPtr_t) DS_TableVerifyFilter); - -: 106: - 8: 107: if (Result1 == CFE_TBL_INFO_RECOVERED_TBL) - -: 108: { - -: 109: /* - -: 110: ** cFE registered the table and restored the table data - -: 111: */ - 1: 112: NeedToLoadFilterTable = FALSE; - -: 113: - 1: 114: CFE_EVS_SendEvent(DS_INIT_TBL_CDS_EID, CFE_EVS_DEBUG, - -: 115: "Filter Table data restored from CDS"); - -: 116: /* - -: 117: ** This is not an error so clear the result value for later tests - -: 118: */ - 1: 119: Result1 = CFE_SUCCESS; - -: 120: } - 7: 121: else if (Result1 == CFE_SUCCESS) - -: 122: { - -: 123: /* - -: 124: ** cFE registered the table - we need to load the table data - -: 125: */ - 6: 126: NeedToLoadFilterTable = TRUE; - -: 127: } - -: 128: else - -: 129: { - -: 130: /* - -: 131: ** cFE did not register the table - we cannot continue - -: 132: */ - 1: 133: CFE_EVS_SendEvent(DS_INIT_TBL_ERR_EID, CFE_EVS_ERROR, - -: 134: "Unable to register Filter Table: Error = 0x%08X", - -: 135: (unsigned int)Result1); - -: 136: } - -: 137: } - -: 138: - -: 139: /* - -: 140: ** Now load the tables - but only if the registration succeeded - -: 141: ** and the table data has not already been restored from the - -: 142: ** Critical Data Store. - -: 143: */ - 9: 144: if (Result1 == CFE_SUCCESS) - -: 145: { - 7: 146: if (NeedToLoadDestTable) - -: 147: { - 6: 148: Result2 = CFE_TBL_Load(DS_AppData.DestFileTblHandle, - -: 149: CFE_TBL_SRC_FILE, DS_DEF_DEST_FILENAME); - -: 150: - 6: 151: if (Result2 != CFE_SUCCESS) - -: 152: { - 4: 153: CFE_EVS_SendEvent(DS_INIT_TBL_ERR_EID, CFE_EVS_ERROR, - -: 154: "Unable to load default Destination File Table: Filename = '%s', Error = 0x%08X", - -: 155: DS_DEF_DEST_FILENAME, (unsigned int)Result2); - -: 156: } - -: 157: } - -: 158: - 7: 159: if (NeedToLoadFilterTable) - -: 160: { - 6: 161: Result2 = CFE_TBL_Load(DS_AppData.FilterTblHandle, - -: 162: CFE_TBL_SRC_FILE, DS_DEF_FILTER_FILENAME); - -: 163: - 6: 164: if (Result2 != CFE_SUCCESS) - -: 165: { - 4: 166: CFE_EVS_SendEvent(DS_INIT_TBL_ERR_EID, CFE_EVS_ERROR, - -: 167: "Unable to load default Filter Table: Filename = '%s', Error = 0x%08X", - -: 168: DS_DEF_FILTER_FILENAME, (unsigned int)Result2); - -: 169: } - -: 170: } - -: 171: - -: 172: /* - -: 173: ** Get initial table data pointers... - -: 174: */ - 7: 175: DS_TableManageDestFile(); - 7: 176: DS_TableManageFilter(); - -: 177: } - -: 178: - 9: 179: return(Result1); - -: 180: - -: 181:} /* End of DS_TableInit() */ - -: 182: - -: 183: - -: 184:/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ - -: 185:/* */ - -: 186:/* DS_TableManageDestFile() - manage table data updates */ - -: 187:/* */ - -: 188:/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ - -: 189: - 14: 190:void DS_TableManageDestFile(void) - -: 191:{ - -: 192: int32 i, Result; - -: 193: - -: 194: /* - -: 195: ** Pointer will be NULL until first successful table load... - -: 196: */ - 14: 197: if (DS_AppData.DestFileTblPtr == (DS_DestFileTable_t *) NULL) - -: 198: { - -: 199: /* - -: 200: ** Still waiting for the first table load... - -: 201: */ - 11: 202: CFE_TBL_ReleaseAddress(DS_AppData.DestFileTblHandle); - 11: 203: CFE_TBL_Manage(DS_AppData.DestFileTblHandle); - 11: 204: Result = CFE_TBL_GetAddress((void *)&DS_AppData.DestFileTblPtr, - 11: 205: DS_AppData.DestFileTblHandle); - -: 206: - 11: 207: if (Result == CFE_TBL_INFO_UPDATED) - -: 208: { - -: 209: /* - -: 210: ** Got a pointer to initial table data... - -: 211: */ - 1: 212: DS_AppData.DestTblLoadCounter++; - -: 213: - -: 214: /* - -: 215: ** Keep local copies of table values that software will modify... - -: 216: */ - 17: 217: for (i = 0; i < DS_DEST_FILE_CNT; i++) - -: 218: { - 16: 219: DS_AppData.FileStatus[i].FileState = DS_AppData.DestFileTblPtr->File[i].EnableState; - 16: 220: DS_AppData.FileStatus[i].FileCount = DS_AppData.DestFileTblPtr->File[i].SequenceCount; - -: 221: } - -: 222: - -: 223: /* - -: 224: ** Store local values in the Critical Data Store (CDS)... - -: 225: */ - 1: 226: DS_TableUpdateCDS(); - -: 227: } - 10: 228: else if (Result == CFE_TBL_ERR_NEVER_LOADED) - -: 229: { - -: 230: /* - -: 231: ** Still waiting for the first table load... - -: 232: */ - 1: 233: DS_AppData.DestTblErrCounter++; - -: 234: - -: 235: /* - -: 236: ** Make sure we don't try to use the empty table buffer... - -: 237: */ - 1: 238: DS_AppData.DestFileTblPtr = (DS_DestFileTable_t *) NULL; - -: 239: } - -: 240: } - -: 241: else - -: 242: { - -: 243: /* - -: 244: ** Already have initial table data... - -: 245: */ - 3: 246: Result = CFE_TBL_GetStatus(DS_AppData.DestFileTblHandle); - -: 247: - 3: 248: if (Result == CFE_TBL_INFO_DUMP_PENDING) - -: 249: { - -: 250: /* - -: 251: ** Dump the current table data... - -: 252: */ - 1: 253: CFE_TBL_DumpToBuffer(DS_AppData.DestFileTblHandle); - -: 254: } - 2: 255: else if (Result == CFE_TBL_INFO_VALIDATION_PENDING) - -: 256: { - -: 257: /* - -: 258: ** Validate the pending table data... - -: 259: */ - 1: 260: CFE_TBL_Validate(DS_AppData.DestFileTblHandle); - -: 261: } - 1: 262: else if (Result == CFE_TBL_INFO_UPDATE_PENDING) - -: 263: { - -: 264: /* - -: 265: ** Update the current table with new data... - -: 266: */ - 1: 267: DS_AppData.DestTblLoadCounter++; - -: 268: - -: 269: /* - -: 270: ** Allow cFE to update the table data... - -: 271: */ - 1: 272: CFE_TBL_ReleaseAddress(DS_AppData.DestFileTblHandle); - 1: 273: CFE_TBL_Update(DS_AppData.DestFileTblHandle); - 1: 274: CFE_TBL_GetAddress((void *)&DS_AppData.DestFileTblPtr, - 1: 275: DS_AppData.DestFileTblHandle); - -: 276: /* - -: 277: ** Keep local copies of table values that software will modify... - -: 278: */ - 17: 279: for (i = 0; i < DS_DEST_FILE_CNT; i++) - -: 280: { - 16: 281: DS_AppData.FileStatus[i].FileState = DS_AppData.DestFileTblPtr->File[i].EnableState; - 16: 282: DS_AppData.FileStatus[i].FileCount = DS_AppData.DestFileTblPtr->File[i].SequenceCount; - -: 283: } - -: 284: - -: 285: /* - -: 286: ** Store local values in the Critical Data Store (CDS)... - -: 287: */ - 1: 288: DS_TableUpdateCDS(); - -: 289: } - -: 290: } - -: 291: - 14: 292: return; - -: 293: - -: 294:} /* End of DS_TableManageDestFile() */ - -: 295: - -: 296: - -: 297:/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ - -: 298:/* */ - -: 299:/* DS_TableManageFilter() - manage table data updates */ - -: 300:/* */ - -: 301:/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ - -: 302: - 14: 303:void DS_TableManageFilter(void) - -: 304:{ - -: 305: int32 Result; - -: 306: - -: 307: /* - -: 308: ** Pointer will be NULL until first successful filter table load... - -: 309: */ - 14: 310: if (DS_AppData.FilterTblPtr == (DS_FilterTable_t *) NULL) - -: 311: { - -: 312: /* - -: 313: ** Still waiting for the first filter table load... - -: 314: */ - 10: 315: CFE_TBL_ReleaseAddress(DS_AppData.FilterTblHandle); - 10: 316: CFE_TBL_Manage(DS_AppData.FilterTblHandle); - 10: 317: Result = CFE_TBL_GetAddress((void *)&DS_AppData.FilterTblPtr, - 10: 318: DS_AppData.FilterTblHandle); - -: 319: - 10: 320: if (Result == CFE_TBL_INFO_UPDATED) - -: 321: { - -: 322: /* - -: 323: ** Got a pointer to initial filter table data... - -: 324: */ - 1: 325: DS_AppData.FilterTblLoadCounter++; - -: 326: - -: 327: /* - -: 328: ** Subscribe to the packets in the new filter table... - -: 329: */ - 1: 330: DS_TableSubscribe(); - -: 331: - -: 332: /* - -: 333: ** Create hash table for messageID's in new filter table... - -: 334: */ - 1: 335: DS_TableCreateHash(); - -: 336: } - 9: 337: else if (Result == CFE_TBL_ERR_NEVER_LOADED) - -: 338: { - -: 339: /* - -: 340: ** Still waiting for the first filter table load... - -: 341: */ - 1: 342: DS_AppData.FilterTblErrCounter++; - -: 343: - -: 344: /* - -: 345: ** Make sure we don't try to use the empty table buffer... - -: 346: */ - 1: 347: DS_AppData.FilterTblPtr = (DS_FilterTable_t *) NULL; - -: 348: } - -: 349: } - -: 350: else - -: 351: { - -: 352: /* - -: 353: ** Already have initial filter table data... - -: 354: */ - 4: 355: Result = CFE_TBL_GetStatus(DS_AppData.FilterTblHandle); - -: 356: - 4: 357: if (Result == CFE_TBL_INFO_DUMP_PENDING) - -: 358: { - -: 359: /* - -: 360: ** Dump the current filter table data... - -: 361: */ - 1: 362: CFE_TBL_DumpToBuffer(DS_AppData.FilterTblHandle); - -: 363: } - 3: 364: else if (Result == CFE_TBL_INFO_VALIDATION_PENDING) - -: 365: { - -: 366: /* - -: 367: ** Validate the pending filter table data... - -: 368: */ - 1: 369: CFE_TBL_Validate(DS_AppData.FilterTblHandle); - -: 370: } - 2: 371: else if (Result == CFE_TBL_INFO_UPDATE_PENDING) - -: 372: { - -: 373: /* - -: 374: ** Update the current filter table with new data... - -: 375: */ - 1: 376: DS_AppData.FilterTblLoadCounter++; - -: 377: - -: 378: /* - -: 379: ** Un-subscribe to the packets in the old filter table... - -: 380: */ - 1: 381: DS_TableUnsubscribe(); - -: 382: - -: 383: /* - -: 384: ** Allow cFE to update the filter table data... - -: 385: */ - 1: 386: CFE_TBL_ReleaseAddress(DS_AppData.FilterTblHandle); - 1: 387: CFE_TBL_Update(DS_AppData.FilterTblHandle); - 1: 388: CFE_TBL_GetAddress((void *)&DS_AppData.FilterTblPtr, - 1: 389: DS_AppData.FilterTblHandle); - -: 390: /* - -: 391: ** Subscribe to the packets in the new filter table... - -: 392: */ - 1: 393: DS_TableSubscribe(); - -: 394: - -: 395: /* - -: 396: ** Create hash table for messageID's in new filter table... - -: 397: */ - 1: 398: DS_TableCreateHash(); - -: 399: } - -: 400: } - -: 401: - 14: 402: return; - -: 403: - -: 404:} /* End of DS_TableManageFilter() */ - -: 405: - -: 406: - -: 407:/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ - -: 408:/* */ - -: 409:/* DS_TableVerifyDestFile() - validate table data */ - -: 410:/* */ - -: 411:/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ - -: 412: - 3: 413:int32 DS_TableVerifyDestFile(void *TableData) - -: 414:{ - 3: 415: DS_DestFileTable_t *DestFileTable = (DS_DestFileTable_t *) TableData; - 3: 416: char *DescResult = "OK"; - 3: 417: int32 Result = CFE_SUCCESS; - -: 418: int32 i; - -: 419: - 3: 420: int32 CountGood = 0; - 3: 421: int32 CountBad = 0; - 3: 422: int32 CountUnused = 0; - -: 423: - -: 424: /* - -: 425: ** Perform the following "per table" validation: - -: 426: ** - -: 427: ** Descriptor = zero terminated text string (optional) - -: 428: */ - 3: 429: if (CFS_VerifyString(DestFileTable->Descriptor, DS_DESCRIPTOR_BUFSIZE, - -: 430: DS_STRING_OPTIONAL, DS_DESCRIPTIVE_TEXT) == FALSE) - -: 431: { - 1: 432: CFE_EVS_SendEvent(DS_FIL_TBL_ERR_EID, CFE_EVS_ERROR, - -: 433: "Destination file table verify err: invalid descriptor text"); - -: 434: - 1: 435: DescResult = "bad"; - 1: 436: Result = DS_TABLE_VERIFY_ERR; - -: 437: } - -: 438: - -: 439: /* - -: 440: ** Each entry in table will be unused, good or bad - -: 441: */ - 51: 442: for (i = 0; i < DS_DEST_FILE_CNT; i++) - -: 443: { - 48: 444: if (DS_TableEntryUnused(&DestFileTable->File[i], sizeof(DS_DestFileEntry_t)) == TRUE) - -: 445: { - 45: 446: CountUnused++; - -: 447: } - 3: 448: else if (DS_TableVerifyDestFileEntry(&DestFileTable->File[i], (uint8) i, CountBad) == TRUE) - -: 449: { - 2: 450: CountGood++; - -: 451: } - -: 452: else - -: 453: { - 1: 454: CountBad++; - 1: 455: Result = DS_TABLE_VERIFY_ERR; - -: 456: } - -: 457: } - -: 458: - -: 459: /* - -: 460: ** Note that totals include each table entry plus the descriptor - -: 461: */ - 3: 462: CFE_EVS_SendEvent(DS_FIL_TBL_EID, CFE_EVS_INFORMATION, - -: 463: "Destination file table verify results: desc text = %s, good entries = %d, bad = %d, unused = %d", - -: 464: DescResult, (int)CountGood, (int)CountBad, (int)CountUnused); - -: 465: - 3: 466: return(Result); - -: 467: - -: 468:} /* End of DS_TableVerifyDestFile() */ - -: 469: - -: 470: - -: 471:/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ - -: 472:/* */ - -: 473:/* DS_TableVerifyDestFileEntry() - verify dest table entry */ - -: 474:/* */ - -: 475:/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ - -: 476: - 12: 477:boolean DS_TableVerifyDestFileEntry(DS_DestFileEntry_t *DestFileEntry, - -: 478: uint8 TableIndex, int32 ErrorCount) - -: 479:{ - 12: 480: char *CommonErrorText = "Destination file table verify err:"; - 12: 481: boolean Result = TRUE; - -: 482: - -: 483: /* - -: 484: ** Perform the following "per table entry" validation: - -: 485: ** - -: 486: ** Pathname = zero terminated text string (required) - -: 487: ** Basename = zero terminated text string (optional) - -: 488: ** Extension = zero terminated text string (optional) - -: 489: ** - -: 490: ** FileNameType = DS_BY_COUNT or DS_BY_TIME - -: 491: ** EnableState = DS_ENABLED or DS_DISABLED - -: 492: ** - -: 493: ** MaxFileSize = cannot be less than DS_FILE_MIN_SIZE_LIMIT - -: 494: ** MaxFileAge = cannot be less than DS_FILE_MIN_AGE_LIMIT - -: 495: ** SequenceCount = may be zero, cannot exceed DS_MAX_SEQUENCE_COUNT - -: 496: */ - 12: 497: if (CFS_VerifyString(DestFileEntry->Pathname, DS_PATHNAME_BUFSIZE, - -: 498: DS_STRING_REQUIRED, DS_FILENAME_TEXT) == FALSE) - -: 499: { - 1: 500: if (ErrorCount == 0) - -: 501: { - 1: 502: CFE_EVS_SendEvent(DS_FIL_TBL_ERR_EID, CFE_EVS_ERROR, - -: 503: "%s index = %d, invalid pathname text", - -: 504: CommonErrorText, TableIndex); - -: 505: } - 1: 506: Result = FALSE; - -: 507: } - 11: 508: else if (CFS_VerifyString(DestFileEntry->Basename, DS_BASENAME_BUFSIZE, - -: 509: DS_STRING_OPTIONAL, DS_FILENAME_TEXT) == FALSE) - -: 510: { - 1: 511: if (ErrorCount == 0) - -: 512: { - 1: 513: CFE_EVS_SendEvent(DS_FIL_TBL_ERR_EID, CFE_EVS_ERROR, - -: 514: "%s index = %d, invalid basename text", - -: 515: CommonErrorText, TableIndex); - -: 516: } - 1: 517: Result = FALSE; - -: 518: } - 10: 519: else if (CFS_VerifyString(DestFileEntry->Extension, DS_EXTENSION_BUFSIZE, - -: 520: DS_STRING_OPTIONAL, DS_FILENAME_TEXT) == FALSE) - -: 521: { - 2: 522: if (ErrorCount == 0) - -: 523: { - 2: 524: CFE_EVS_SendEvent(DS_FIL_TBL_ERR_EID, CFE_EVS_ERROR, - -: 525: "%s index = %d, invalid extension text", - -: 526: CommonErrorText, TableIndex); - -: 527: } - 2: 528: Result = FALSE; - -: 529: } - 8: 530: else if (DS_TableVerifyType(DestFileEntry->FileNameType) == FALSE) - -: 531: { - 1: 532: if (ErrorCount == 0) - -: 533: { - 1: 534: CFE_EVS_SendEvent(DS_FIL_TBL_ERR_EID, CFE_EVS_ERROR, - -: 535: "%s index = %d, filename type = %d", - 1: 536: CommonErrorText, TableIndex, DestFileEntry->FileNameType); - -: 537: } - 1: 538: Result = FALSE; - -: 539: } - 7: 540: else if (DS_TableVerifyState(DestFileEntry->EnableState) == FALSE) - -: 541: { - 1: 542: if (ErrorCount == 0) - -: 543: { - 1: 544: CFE_EVS_SendEvent(DS_FIL_TBL_ERR_EID, CFE_EVS_ERROR, - -: 545: "%s index = %d, file enable state = %d", - 1: 546: CommonErrorText, TableIndex, DestFileEntry->EnableState); - -: 547: } - 1: 548: Result = FALSE; - -: 549: } - 6: 550: else if (DS_TableVerifySize(DestFileEntry->MaxFileSize) == FALSE) - -: 551: { - 1: 552: if (ErrorCount == 0) - -: 553: { - 1: 554: CFE_EVS_SendEvent(DS_FIL_TBL_ERR_EID, CFE_EVS_ERROR, - -: 555: "%s index = %d, max file size = %d", - -: 556: CommonErrorText, (int)TableIndex, (int)DestFileEntry->MaxFileSize); - -: 557: } - 1: 558: Result = FALSE; - -: 559: } - 5: 560: else if (DS_TableVerifyAge(DestFileEntry->MaxFileAge) == FALSE) - -: 561: { - 1: 562: if (ErrorCount == 0) - -: 563: { - 1: 564: CFE_EVS_SendEvent(DS_FIL_TBL_ERR_EID, CFE_EVS_ERROR, - -: 565: "%s index = %d, max file age = %d", - -: 566: CommonErrorText, (int)TableIndex, (int)DestFileEntry->MaxFileAge); - -: 567: } - 1: 568: Result = FALSE; - -: 569: } - 4: 570: else if (DS_TableVerifyCount(DestFileEntry->SequenceCount) == FALSE) - -: 571: { - 1: 572: if (ErrorCount == 0) - -: 573: { - 1: 574: CFE_EVS_SendEvent(DS_FIL_TBL_ERR_EID, CFE_EVS_ERROR, - -: 575: "%s index = %d, sequence count = %d", - -: 576: CommonErrorText, (int)TableIndex, (int)DestFileEntry->SequenceCount); - -: 577: } - 1: 578: Result = FALSE; - -: 579: } - -: 580: - 12: 581: return(Result); - -: 582: - -: 583:} /* End of DS_TableVerifyDestFileEntry() */ - -: 584: - -: 585: - -: 586:/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ - -: 587:/* */ - -: 588:/* DS_TableVerifyFilter() - validate table data */ - -: 589:/* */ - -: 590:/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ - -: 591: - 3: 592:int32 DS_TableVerifyFilter(void *TableData) - -: 593:{ - 3: 594: DS_FilterTable_t *FilterTable = (DS_FilterTable_t *) TableData; - 3: 595: char *DescResult = "OK"; - 3: 596: int32 Result = CFE_SUCCESS; - -: 597: int32 i; - -: 598: - 3: 599: int32 CountGood = 0; - 3: 600: int32 CountBad = 0; - 3: 601: int32 CountUnused = 0; - -: 602: - -: 603: /* - -: 604: ** Perform the following validation: - -: 605: ** - -: 606: ** Descriptor = zero terminated text string (may be empty) - -: 607: ** - -: 608: ** MessageID = unlimited, zero means unused - -: 609: */ - 3: 610: if (CFS_VerifyString(FilterTable->Descriptor, DS_DESCRIPTOR_BUFSIZE, - -: 611: DS_STRING_OPTIONAL, DS_DESCRIPTIVE_TEXT) == FALSE) - -: 612: { - 1: 613: CFE_EVS_SendEvent(DS_FLT_TBL_ERR_EID, CFE_EVS_ERROR, - -: 614: "Filter table verify err: invalid descriptor text"); - -: 615: - 1: 616: DescResult = "bad"; - 1: 617: Result = DS_TABLE_VERIFY_ERR; - -: 618: } - -: 619: - -: 620: /* - -: 621: ** Each entry in table will be unused, good or bad - -: 622: */ - 771: 623: for (i = 0; i < DS_PACKETS_IN_FILTER_TABLE; i++) - -: 624: { - 768: 625: if (FilterTable->Packet[i].MessageID == DS_UNUSED) - -: 626: { - 765: 627: CountUnused++; - -: 628: } - 3: 629: else if (DS_TableVerifyFilterEntry(&FilterTable->Packet[i], (uint8) i, CountBad) == TRUE) - -: 630: { - 2: 631: CountGood++; - -: 632: } - -: 633: else - -: 634: { - 1: 635: CountBad++; - 1: 636: Result = DS_TABLE_VERIFY_ERR; - -: 637: } - -: 638: } - -: 639: - -: 640: /* - -: 641: ** Note that totals include each table entry plus the descriptor - -: 642: */ - 3: 643: CFE_EVS_SendEvent(DS_FLT_TBL_EID, CFE_EVS_INFORMATION, - -: 644: "Filter table verify results: desc text = %s, good entries = %d, bad = %d, unused = %d", - -: 645: DescResult, (int)CountGood, (int)CountBad, (int)CountUnused); - -: 646: - 3: 647: return(Result); - -: 648: - -: 649:} /* End of DS_TableVerifyFilter() */ - -: 650: - -: 651: - -: 652:/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ - -: 653:/* */ - -: 654:/* DS_TableVerifyFilterEntry() - verify filter table entry */ - -: 655:/* */ - -: 656:/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ - -: 657: - 7: 658:boolean DS_TableVerifyFilterEntry(DS_PacketEntry_t *PacketEntry, - -: 659: int32 TableIndex, int32 ErrorCount) - -: 660:{ - 7: 661: char *CommonErrorText = "Filter table verify err:"; - -: 662: DS_FilterParms_t *FilterParms; - 7: 663: boolean Result = TRUE; - -: 664: int32 i; - -: 665: - -: 666: /* - -: 667: ** Each packet filter table entry has multiple filters per packet - -: 668: ** - -: 669: ** Perform the following validation (per filter): - -: 670: ** - -: 671: ** FileTableIndex = must be less than DS_DEST_FILE_CNT - -: 672: ** FilterType = must be DS_BY_COUNT or DS_BY_TIME - -: 673: ** - -: 674: ** Algorithm_N = cannot exceed Algorithm_X, zero means filter ALL - -: 675: ** Algorithm_X = unlimited - -: 676: ** Algorithm_O = must be less than Algorithm_X - -: 677: ** - -: 678: ** Note: unused filters (all zero's) are valid - -: 679: */ - 23: 680: for (i = 0; (i < DS_FILTERS_PER_PACKET) && (Result == TRUE); i++) - -: 681: { - 16: 682: FilterParms = &PacketEntry->Filter[i]; - -: 683: - 16: 684: if (DS_TableEntryUnused(FilterParms, sizeof(DS_FilterParms_t)) == FALSE) - -: 685: { - -: 686: /* - -: 687: ** If any filter field is non-zero then all filter fields must be valid - -: 688: */ - 4: 689: if (DS_TableVerifyFileIndex((uint32) FilterParms->FileTableIndex) == FALSE) - -: 690: { - 1: 691: if (ErrorCount == 0) - -: 692: { - 2: 693: CFE_EVS_SendEvent(DS_FLT_TBL_ERR_EID, CFE_EVS_ERROR, - -: 694: "%s MID = 0x%04X, index = %d, filter = %d, file table index = %d", - 1: 695: CommonErrorText, PacketEntry->MessageID, - 1: 696: (int)TableIndex, (int)i, FilterParms->FileTableIndex); - -: 697: } - 1: 698: Result = FALSE; - -: 699: } - 3: 700: else if (DS_TableVerifyType((uint16) FilterParms->FilterType) == FALSE) - -: 701: { - 2: 702: if (ErrorCount == 0) - -: 703: { - 4: 704: CFE_EVS_SendEvent(DS_FLT_TBL_ERR_EID, CFE_EVS_ERROR, - -: 705: "%s MID = 0x%04X, index = %d, filter = %d, filter type = %d", - 2: 706: CommonErrorText, PacketEntry->MessageID, - 2: 707: (int)TableIndex, (int)i, FilterParms->FilterType); - -: 708: } - 2: 709: Result = FALSE; - -: 710: } - 2: 711: else if (DS_TableVerifyParms(FilterParms->Algorithm_N, - 1: 712: FilterParms->Algorithm_X, - 1: 713: FilterParms->Algorithm_O) == FALSE) - -: 714: { - 1: 715: if (ErrorCount == 0) - -: 716: { - 4: 717: CFE_EVS_SendEvent(DS_FLT_TBL_ERR_EID, CFE_EVS_ERROR, - -: 718: "%s MID = 0x%04X, index = %d, filter = %d, filter parms N = %d, X = %d, O = %d", - 1: 719: CommonErrorText, PacketEntry->MessageID, (int)TableIndex, (int)i, - 1: 720: FilterParms->Algorithm_N, - 1: 721: FilterParms->Algorithm_X, - 1: 722: FilterParms->Algorithm_O); - -: 723: } - 1: 724: Result = FALSE; - -: 725: } - -: 726: } - -: 727: } - -: 728: - 7: 729: return(Result); - -: 730: - -: 731:} /* End of DS_TableVerifyFilterEntry() */ - -: 732: - -: 733: - -: 734:/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ - -: 735:/* */ - -: 736:/* DS_TableEntryUnused() - find unused table entries */ - -: 737:/* */ - -: 738:/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ - -: 739: - 66: 740:boolean DS_TableEntryUnused(void *TableEntry, int32 BufferSize) - -: 741:{ - 66: 742: char *Buffer = (char *) TableEntry; - 66: 743: boolean Result = TRUE; - -: 744: int32 i; - -: 745: - 7157: 746: for (i = 0; i < BufferSize; i++) - -: 747: { - 7099: 748: if (Buffer[i] != DS_UNUSED) - -: 749: { - 8: 750: Result = FALSE; - 8: 751: break; - -: 752: } - -: 753: } - -: 754: - 66: 755: return(Result); - -: 756: - -: 757:} /* End of DS_TableEntryUnused() */ - -: 758: - -: 759: - -: 760:/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ - -: 761:/* */ - -: 762:/* DS_TableVerifyFileIndex() - verify dest file index */ - -: 763:/* */ - -: 764:/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ - -: 765: - 54: 766:boolean DS_TableVerifyFileIndex(uint16 FileTableIndex) - -: 767:{ - 54: 768: boolean Result = TRUE; - -: 769: - 54: 770: if (FileTableIndex >= DS_DEST_FILE_CNT) - -: 771: { - 12: 772: Result = FALSE; - -: 773: } - -: 774: - 54: 775: return(Result); - -: 776: - -: 777:} /* End of DS_TableVerifyFileIndex() */ - -: 778: - -: 779: - -: 780:/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ - -: 781:/* */ - -: 782:/* DS_TableVerifyParms() - verify algorithm parameters */ - -: 783:/* */ - -: 784:/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ - -: 785: - 8: 786:boolean DS_TableVerifyParms(uint16 Algorithm_N, uint16 Algorithm_X, uint16 Algorithm_O) - -: 787:{ - 8: 788: boolean Result = TRUE; - -: 789: - -: 790: /* - -: 791: ** Unused entries (all zero's) are valid - -: 792: */ - 8: 793: if ((Algorithm_N != 0) || (Algorithm_X != 0) || (Algorithm_O != 0)) - -: 794: { - 5: 795: if (Algorithm_N > Algorithm_X) - -: 796: { - -: 797: /* - -: 798: ** "pass this many" cannot exceed "out of this many" - -: 799: */ - 1: 800: Result = FALSE; - -: 801: } - 4: 802: else if (Algorithm_O >= Algorithm_X) - -: 803: { - -: 804: /* - -: 805: ** "at this offset" must be less than "out of this many" - -: 806: */ - 3: 807: Result = FALSE; - -: 808: } - -: 809: } - -: 810: - 8: 811: return(Result); - -: 812: - -: 813:} /* End of DS_TableVerifyParms() */ - -: 814: - -: 815: - -: 816:/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ - -: 817:/* */ - -: 818:/* DS_TableVerifyType() - verify filter or filename type */ - -: 819:/* */ - -: 820:/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ - -: 821: - 22: 822:boolean DS_TableVerifyType(uint16 TimeVsCount) - -: 823:{ - 22: 824: boolean Result = TRUE; - -: 825: - 22: 826: if ((TimeVsCount != DS_BY_COUNT) && (TimeVsCount != DS_BY_TIME)) - -: 827: { - 8: 828: Result = FALSE; - -: 829: } - -: 830: - 22: 831: return(Result); - -: 832: - -: 833:} /* End of DS_TableVerifyType() */ - -: 834: - -: 835: - -: 836:/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ - -: 837:/* */ - -: 838:/* DS_TableVerifyState() - verify file ena/dis state */ - -: 839:/* */ - -: 840:/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ - -: 841: - 16: 842:boolean DS_TableVerifyState(uint16 EnableState) - -: 843:{ - 16: 844: boolean Result = TRUE; - -: 845: - 16: 846: if ((EnableState != DS_ENABLED) && (EnableState != DS_DISABLED)) - -: 847: { - 4: 848: Result = FALSE; - -: 849: } - -: 850: - 16: 851: return(Result); - -: 852: - -: 853:} /* End of DS_TableVerifyState() */ - -: 854: - -: 855: - -: 856:/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ - -: 857:/* */ - -: 858:/* DS_TableVerifySize() - verify file size limit */ - -: 859:/* */ - -: 860:/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ - -: 861: - 12: 862:boolean DS_TableVerifySize(uint32 MaxFileSize) - -: 863:{ - 12: 864: boolean Result = TRUE; - -: 865: - 12: 866: if (MaxFileSize < DS_FILE_MIN_SIZE_LIMIT) - -: 867: { - 4: 868: Result = FALSE; - -: 869: } - -: 870: - 12: 871: return(Result); - -: 872: - -: 873:} /* End of DS_TableVerifySize() */ - -: 874: - -: 875: - -: 876:/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ - -: 877:/* */ - -: 878:/* DS_TableVerifyAge() - verify file age limit */ - -: 879:/* */ - -: 880:/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ - -: 881: - 11: 882:boolean DS_TableVerifyAge(uint32 MaxFileAge) - -: 883:{ - 11: 884: boolean Result = TRUE; - -: 885: - 11: 886: if (MaxFileAge < DS_FILE_MIN_AGE_LIMIT) - -: 887: { - 4: 888: Result = FALSE; - -: 889: } - -: 890: - 11: 891: return(Result); - -: 892: - -: 893:} /* End of DS_TableVerifyAge() */ - -: 894: - -: 895: - -: 896:/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ - -: 897:/* */ - -: 898:/* DS_TableVerifyCount() - verify sequence count */ - -: 899:/* */ - -: 900:/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ - -: 901: - 10: 902:boolean DS_TableVerifyCount(uint32 SequenceCount) - -: 903:{ - 10: 904: boolean Result = TRUE; - -: 905: - 10: 906: if (SequenceCount > DS_MAX_SEQUENCE_COUNT) - -: 907: { - 3: 908: Result = FALSE; - -: 909: } - -: 910: - 10: 911: return(Result); - -: 912: - -: 913:} /* End of DS_TableVerifyCount() */ - -: 914: - -: 915: - -: 916:/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ - -: 917:/* */ - -: 918:/* DS_TableSubscribe() - process new filter table */ - -: 919:/* */ - -: 920:/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ - -: 921: - 3: 922:void DS_TableSubscribe(void) - -: 923:{ - -: 924: DS_PacketEntry_t *FilterPackets; - -: 925: CFE_SB_MsgId_t MessageID; - -: 926: int32 i; - -: 927: - 3: 928: FilterPackets = DS_AppData.FilterTblPtr->Packet; - -: 929: - -: 930: /* - -: 931: ** Check each entry in "new" packet filter table... - -: 932: */ - 771: 933: for (i = 0; i < DS_PACKETS_IN_FILTER_TABLE; i++) - -: 934: { - 768: 935: MessageID = FilterPackets[i].MessageID; - -: 936: - -: 937: /* - -: 938: ** Already subscribe to DS command packets... - -: 939: */ - 768: 940: if ((MessageID != DS_UNUSED) && - -: 941: (MessageID != DS_CMD_MID) && - -: 942: (MessageID != DS_SEND_HK_MID)) - -: 943: { - 108: 944: CFE_SB_SubscribeEx(MessageID, DS_AppData.InputPipe, - -: 945: CFE_SB_Default_Qos, DS_PER_PACKET_PIPE_LIMIT); - -: 946: } - -: 947: } - -: 948: - 3: 949: return; - -: 950: - -: 951:} /* End of DS_TableSubscribe() */ - -: 952: - -: 953: - -: 954:/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ - -: 955:/* */ - -: 956:/* DS_TableUnsubscribe() - process old filter table */ - -: 957:/* */ - -: 958:/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ - -: 959: - 2: 960:void DS_TableUnsubscribe(void) - -: 961:{ - -: 962: DS_PacketEntry_t *FilterPackets; - -: 963: CFE_SB_MsgId_t MessageID; - -: 964: int32 i; - -: 965: - 2: 966: FilterPackets = DS_AppData.FilterTblPtr->Packet; - -: 967: - -: 968: /* - -: 969: ** Check each entry in "old" packet filter table... - -: 970: */ - 514: 971: for (i = 0; i < DS_PACKETS_IN_FILTER_TABLE; i++) - -: 972: { - 512: 973: MessageID = FilterPackets[i].MessageID; - -: 974: - -: 975: /* - -: 976: ** Do not un-subscribe to unused or DS command packets... - -: 977: */ - 512: 978: if ((MessageID != DS_UNUSED) && - -: 979: (MessageID != DS_CMD_MID) && - -: 980: (MessageID != DS_SEND_HK_MID)) - -: 981: { - 108: 982: CFE_SB_Unsubscribe(MessageID, DS_AppData.InputPipe); - -: 983: } - -: 984: } - -: 985: - 2: 986: return; - -: 987: - -: 988:} /* End of DS_TableUnsubscribe() */ - -: 989: - -: 990: - -: 991:/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ - -: 992:/* */ - -: 993:/* DS_TableCreateCDS() - create DS storage area in CDS */ - -: 994:/* */ - -: 995:/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ - -: 996: - 6: 997:int32 DS_TableCreateCDS(void) - -: 998:{ - -: 999: /* Store file sequence counts and task ena/dis state in CDS */ - -: 1000: uint32 DataStoreBuffer[DS_DEST_FILE_CNT + 1]; - -: 1001: int32 Result; - -: 1002: int32 i; - -: 1003: - -: 1004: /* - -: 1005: ** Request for CDS area from cFE Executive Services... - -: 1006: */ - 6: 1007: Result = CFE_ES_RegisterCDS(&DS_AppData.DataStoreHandle, - -: 1008: sizeof(DataStoreBuffer), DS_CDS_NAME); - -: 1009: - 6: 1010: if (Result == CFE_SUCCESS) - -: 1011: { - -: 1012: /* - -: 1013: ** New CDS area - write to Critical Data Store... - -: 1014: */ - 68: 1015: for (i = 0; i < DS_DEST_FILE_CNT; i++) - -: 1016: { - 64: 1017: DataStoreBuffer[i] = DS_AppData.FileStatus[i].FileCount; - -: 1018: } - -: 1019: - 4: 1020: DataStoreBuffer[DS_DEST_FILE_CNT] = DS_AppData.AppEnableState; - -: 1021: - 4: 1022: Result = CFE_ES_CopyToCDS(DS_AppData.DataStoreHandle, DataStoreBuffer); - -: 1023: } - 2: 1024: else if (Result == CFE_ES_CDS_ALREADY_EXISTS) - -: 1025: { - -: 1026: /* - -: 1027: ** Pre-existing CDS area - read from Critical Data Store... - -: 1028: */ - 1: 1029: Result = CFE_ES_RestoreFromCDS(DataStoreBuffer, DS_AppData.DataStoreHandle); - -: 1030: - 1: 1031: if (Result == CFE_SUCCESS) - -: 1032: { - 17: 1033: for (i = 0; i < DS_DEST_FILE_CNT; i++) - -: 1034: { - 16: 1035: DS_AppData.FileStatus[i].FileCount = DataStoreBuffer[i]; - -: 1036: } - -: 1037: - -: 1038: #if (DS_CDS_ENABLE_STATE == 1) - -: 1039: /* Only restore enable/disable state if configured */ - 1: 1040: DS_AppData.AppEnableState = (uint8) DataStoreBuffer[DS_DEST_FILE_CNT]; - -: 1041: #endif - -: 1042: } - -: 1043: } - -: 1044: - 6: 1045: if (Result != CFE_SUCCESS) - -: 1046: { - -: 1047: /* - -: 1048: ** CDS is broken - prevent further errors... - -: 1049: */ - 1: 1050: DS_AppData.DataStoreHandle = 0; - -: 1051: - 1: 1052: CFE_EVS_SendEvent(DS_INIT_CDS_ERR_EID, CFE_EVS_ERROR, - -: 1053: "Critical Data Store access error = 0x%08X", (unsigned int)Result); - -: 1054: /* - -: 1055: ** CDS errors are not fatal - DS can still run... - -: 1056: */ - 1: 1057: Result = CFE_SUCCESS; - -: 1058: } - -: 1059: - 6: 1060: return(Result); - -: 1061: - -: 1062:} /* End of DS_TableCreateCDS() */ - -: 1063: - -: 1064: - -: 1065:/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ - -: 1066:/* */ - -: 1067:/* DS_TableUpdateCDS() - update DS storage area in CDS */ - -: 1068:/* */ - -: 1069:/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ - -: 1070: - 8: 1071:void DS_TableUpdateCDS(void) - -: 1072:{ - -: 1073: /* Store file sequence counts and task ena/dis state in CDS */ - -: 1074: uint32 DataStoreBuffer[DS_DEST_FILE_CNT + 1]; - -: 1075: int32 Result; - -: 1076: int32 i; - -: 1077: - -: 1078: /* - -: 1079: ** Handle is non-zero when CDS is active... - -: 1080: */ - 8: 1081: if (DS_AppData.DataStoreHandle != 0) - -: 1082: { - -: 1083: /* - -: 1084: ** Copy file sequence counts values to the data array... - -: 1085: */ - 34: 1086: for (i = 0; i < DS_DEST_FILE_CNT; i++) - -: 1087: { - 32: 1088: DataStoreBuffer[i] = DS_AppData.FileStatus[i].FileCount; - -: 1089: } - -: 1090: - -: 1091: /* - -: 1092: ** Always save the DS enable/disable state in the CDS... - -: 1093: ** (DS_CDS_ENABLE_STATE controls restoring the state) - -: 1094: */ - 2: 1095: DataStoreBuffer[DS_DEST_FILE_CNT] = DS_AppData.AppEnableState; - -: 1096: - -: 1097: /* - -: 1098: ** Update DS portion of Critical Data Store... - -: 1099: */ - 2: 1100: Result = CFE_ES_CopyToCDS(DS_AppData.DataStoreHandle, DataStoreBuffer); - -: 1101: - 2: 1102: if (Result != CFE_SUCCESS) - -: 1103: { - 1: 1104: CFE_EVS_SendEvent(DS_INIT_CDS_ERR_EID, CFE_EVS_ERROR, - -: 1105: "Critical Data Store access error = 0x%08X", (unsigned int)Result); - -: 1106: /* - -: 1107: ** CDS is broken - prevent further errors... - -: 1108: */ - 1: 1109: DS_AppData.DataStoreHandle = 0; - -: 1110: } - -: 1111: } - -: 1112: - 8: 1113: return; - -: 1114: - -: 1115:} /* End of DS_TableUpdateCDS() */ - -: 1116: - -: 1117: - -: 1118:/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ - -: 1119:/* */ - -: 1120:/* DS_TableHashFunction() - convert messageID to hash table index */ - -: 1121:/* */ - -: 1122:/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ - -: 1123: - 1044: 1124:uint32 DS_TableHashFunction(CFE_SB_MsgId_t MessageID) - -: 1125:{ - -: 1126: /* - -: 1127: ** The purpose of a hash function is to take the input value - -: 1128: ** and convert it to an index into the hash table. Assume that - -: 1129: ** the range of input values is much different (larger) than - -: 1130: ** the number of entries in the hash table. Then multiple input - -: 1131: ** values must resolve to the same output table index. This is ok - -: 1132: ** because each entry in the hash table is a linked list of all - -: 1133: ** the inputs with the same hash function result. - -: 1134: ** - -: 1135: ** This particular hash function takes advantage of knowledge - -: 1136: ** regarding the format of the input values (cFE MessageID). By - -: 1137: ** ignoring the bits that define version number, packet type and - -: 1138: ** secondary header (high 5 bits of 16) we are left with the bits - -: 1139: ** (mask = 0x7FF) that can identify 2048 unique input telemetry - -: 1140: ** packets. Also, by using a fixed hash table size of 256 entries - -: 1141: ** and using only the lower 8 bits of the bitmask as the result - -: 1142: ** of the hash function, no single hash table entry will have more - -: 1143: ** than 8 elements in its linked list. - -: 1144: ** - -: 1145: ** To look up a MessageID in the DS packet filter table, rather - -: 1146: ** than search the entire filter table, DS does the following: - -: 1147: ** - -: 1148: ** - call the hash function - -: 1149: ** (input = MessageID, output = hash table index) - -: 1150: ** - -: 1151: ** - search hash table entry linked list for matching MessageID - -: 1152: ** (each linked list contains, at most, 8 linked list elements) - -: 1153: ** - -: 1154: ** - matching linked list element has index into filter table - -: 1155: ** (can now go directly to the correct filter table entry) - -: 1156: */ - 1044: 1157: return((uint32) (MessageID & DS_HASH_TABLE_MASK)); - -: 1158: - -: 1159:} /* End of DS_TableHashFunction() */ - -: 1160: - -: 1161: - -: 1162:/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ - -: 1163:/* */ - -: 1164:/* DS_TableCreateHash() - create and populate hash table */ - -: 1165:/* */ - -: 1166:/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ - -: 1167: - 4: 1168:void DS_TableCreateHash(void) - -: 1169:{ - -: 1170: int32 FilterIndex; - -: 1171: - -: 1172: /* - -: 1173: ** Initialize global hash table structures... - -: 1174: */ - 4: 1175: CFE_PSP_MemSet(DS_AppData.HashLinks, 0, (sizeof(DS_HashLink_t) * DS_PACKETS_IN_FILTER_TABLE)); - 4: 1176: CFE_PSP_MemSet(DS_AppData.HashTable, 0, (sizeof(DS_HashLink_t *) * DS_HASH_TABLE_ENTRIES)); - -: 1177: - 1028: 1178: for (FilterIndex = 0; FilterIndex < DS_PACKETS_IN_FILTER_TABLE; FilterIndex++) - -: 1179: { - 1024: 1180: DS_TableAddMsgID(DS_AppData.FilterTblPtr->Packet[FilterIndex].MessageID, FilterIndex); - -: 1181: } - -: 1182: - 4: 1183: return; - -: 1184: - -: 1185:} /* End of DS_TableCreateHash() */ - -: 1186: - -: 1187:/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ - -: 1188:/* */ - -: 1189:/* DS_TableFindMsgID() - get filter table index for MID */ - -: 1190:/* */ - -: 1191:/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ - -: 1192: - 1025: 1193:int32 DS_TableAddMsgID(CFE_SB_MsgId_t MessageID, int32 FilterIndex) - -: 1194:{ - -: 1195: int32 HashIndex; - -: 1196: DS_HashLink_t *NewLink; - -: 1197: DS_HashLink_t *LinkList; - -: 1198: - -: 1199: /* Get unused linked list entry (one link entry per filter table entry) */ - 1025: 1200: NewLink = &DS_AppData.HashLinks[FilterIndex]; - -: 1201: - -: 1202: /* Set filter table data values for new linked list entry */ - 1025: 1203: NewLink->Index = FilterIndex; - 1025: 1204: NewLink->MessageID = MessageID; - -: 1205: - -: 1206: /* Hash table function converts MID into hash table index */ - 1025: 1207: HashIndex = DS_TableHashFunction(NewLink->MessageID); - -: 1208: - 1025: 1209: if (DS_AppData.HashTable[HashIndex] == (DS_HashLink_t *) NULL) - -: 1210: { - -: 1211: /* Set first link in this hash table entry linked list */ - 106: 1212: DS_AppData.HashTable[HashIndex] = NewLink; - -: 1213: } - -: 1214: else - -: 1215: { - -: 1216: /* Get start of linked list (all MID's with same hash result) */ - 919: 1217: LinkList = DS_AppData.HashTable[HashIndex]; - -: 1218: - -: 1219: /* Find last link */ - 90237: 1220: while (LinkList->Next != (DS_HashLink_t *) NULL) - -: 1221: { - 88399: 1222: LinkList = LinkList->Next; - -: 1223: } - -: 1224: - -: 1225: /* Add new link */ - 919: 1226: LinkList->Next = NewLink; - -: 1227: } - -: 1228: - 1025: 1229: return(HashIndex); - -: 1230: - -: 1231:} /* End of DS_TableAddMsgID() */ - -: 1232: - -: 1233:/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ - -: 1234:/* */ - -: 1235:/* DS_TableFindMsgID() - get filter table index for MID */ - -: 1236:/* */ - -: 1237:/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ - -: 1238: - 18: 1239:int32 DS_TableFindMsgID(CFE_SB_MsgId_t MessageID) - -: 1240:{ - -: 1241: DS_PacketEntry_t *FilterPackets; - -: 1242: DS_HashLink_t *HashLink; - -: 1243: int32 HashTableIndex; - -: 1244: int32 FilterTableIndex; - -: 1245: - -: 1246: /* De-reference filter table packet array */ - 18: 1247: FilterPackets = DS_AppData.FilterTblPtr->Packet; - -: 1248: - -: 1249: /* Set search result to "not found" */ - 18: 1250: FilterTableIndex = DS_INDEX_NONE; - -: 1251: - -: 1252: /* Hash table function converts MID into hash table index */ - 18: 1253: HashTableIndex = DS_TableHashFunction(MessageID); - -: 1254: - -: 1255: /* Get start of linked list (all MID's with same hash result) */ - 18: 1256: HashLink = DS_AppData.HashTable[HashTableIndex]; - -: 1257: - -: 1258: /* NULL when list is empty or end of list */ - 37: 1259: while (HashLink != (DS_HashLink_t *) NULL) - -: 1260: { - -: 1261: /* Compare this linked list entry for matching MessageID */ - 11: 1262: if (FilterPackets[HashLink->Index].MessageID == MessageID) - -: 1263: { - -: 1264: /* Stop the search - we found it */ - 10: 1265: FilterTableIndex = HashLink->Index; - 10: 1266: break; - -: 1267: } - -: 1268: - -: 1269: /* Max of 8 links per design */ - 1: 1270: HashLink = HashLink->Next; - -: 1271: } - -: 1272: - 18: 1273: return(FilterTableIndex); - -: 1274: - -: 1275:} /* End of DS_TableFindMsgID() */ - -: 1276: - -: 1277: - -: 1278:/************************/ - -: 1279:/* End of File Comment */ - -: 1280:/************************/ diff --git a/fsw/unit_test/ds_table_test.c b/fsw/unit_test/ds_table_test.c deleted file mode 100644 index 533d67e..0000000 --- a/fsw/unit_test/ds_table_test.c +++ /dev/null @@ -1,1635 +0,0 @@ - /************************************************************************* - ** File: ds_table_test.c - ** - ** NASA Docket No. GSC-16,126-1, and identified as "Core Flight Software System - ** (CFS) Data Storage Application Version 2” - ** - ** Copyright © 2007-2014 United States Government as represented by the - ** Administrator of the National Aeronautics and Space Administration. All Rights - ** Reserved. - ** - ** Licensed under the Apache License, Version 2.0 (the "License"); - ** you may not use this file except in compliance with the License. - ** You may obtain a copy of the License at - ** http://www.apache.org/licenses/LICENSE-2.0 - ** - ** Unless required by applicable law or agreed to in writing, software - ** distributed under the License is distributed on an "AS IS" BASIS, - ** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - ** See the License for the specific language governing permissions and - ** limitations under the License. - ** - ** Purpose: - ** This file contains unit test cases for the functions contained in the file ds_table.c - ** - ** References: - ** Flight Software Branch C Coding Standard Version 1.2 - ** CFS Development Standards Document - ** - ** Notes: - ** - *************************************************************************/ - -/* - * Includes - */ - -#include "ds_table_test.h" -#include "ds_app.h" -#include "ds_appdefs.h" -#include "ds_table.h" -#include "ds_msg.h" -#include "ds_msgdefs.h" -#include "ds_msgids.h" -#include "ds_events.h" -#include "ds_version.h" -#include "ds_test_utils.h" -#include "ut_osapi_stubs.h" -#include "ut_cfe_sb_stubs.h" -#include "ut_cfe_es_stubs.h" -#include "ut_cfe_es_hooks.h" -#include "ut_cfe_evs_stubs.h" -#include "ut_cfe_evs_hooks.h" -#include "ut_cfe_time_stubs.h" -#include "ut_cfe_psp_memutils_stubs.h" -#include "ut_cfe_tbl_stubs.h" -#include "ut_cfe_fs_stubs.h" -#include "ut_cfe_time_stubs.h" -#include -#include -#include - -DS_DestFileTable_t UT_DS_TABLE_TEST_DestFileTable; -int32 UT_DS_TABLE_TEST_CFE_TBL_GetAddressHook1 (void **TblPtr, CFE_TBL_Handle_t TblHandle) -{ - DS_AppData.DestFileTblPtr = &UT_DS_TABLE_TEST_DestFileTable; - - return CFE_TBL_INFO_UPDATED; -} /* end UT_DS_TABLE_TEST_CFE_TBL_GetAddressHook1 */ - -int32 UT_DS_TABLE_TEST_CFE_TBL_GetAddressHook2 (void **TblPtr, CFE_TBL_Handle_t TblHandle) -{ - DS_AppData.DestFileTblPtr = &UT_DS_TABLE_TEST_DestFileTable; - - return CFE_TBL_ERR_NEVER_LOADED; -} /* end UT_DS_TABLE_TEST_CFE_TBL_GetAddressHook2 */ - -DS_FilterTable_t UT_DS_TABLE_TEST_FilterTable; -int32 UT_DS_TABLE_TEST_CFE_TBL_GetAddressHook3 (void **TblPtr, CFE_TBL_Handle_t TblHandle) -{ - DS_AppData.FilterTblPtr = &UT_DS_TABLE_TEST_FilterTable; - - return CFE_TBL_INFO_UPDATED; -} /* end UT_DS_TABLE_TEST_CFE_TBL_GetAddressHook3 */ - -int32 UT_DS_TABLE_TEST_CFE_TBL_GetStatusHook (CFE_TBL_Handle_t TblHandle) -{ - DS_AppData.DestFileTblPtr = &UT_DS_TABLE_TEST_DestFileTable; - - return CFE_TBL_INFO_UPDATE_PENDING; -} /* end UT_DS_TABLE_TEST_CFE_TBL_GetStatusHook */ - -int32 UT_DS_TABLE_TEST_CFE_ES_RestoreFromCDSHook (void *RestoreToMemory, CFE_ES_CDSHandle_t Handle) -{ - memset(RestoreToMemory, 0, (DS_DEST_FILE_CNT + 1) * 4); - - return CFE_SUCCESS; -} /* end UT_DS_TABLE_TEST_CFE_ES_RestoreFromCDSHook */ - -/* - * Function Definitions - */ - -void DS_TableInit_Test_Nominal(void) -{ - int32 Result; - - /* Set to prevent unintended error messages */ - Ut_CFE_TBL_SetReturnCode(UT_CFE_TBL_LOAD_INDEX, CFE_SUCCESS, 1); - Ut_CFE_TBL_ContinueReturnCodeAfterCountZero(UT_CFE_TBL_LOAD_INDEX); - - /* Execute the function being tested */ - Result = DS_TableInit(); - - /* Verify results */ - UtAssert_True (Result == CFE_SUCCESS, "Result == CFE_SUCCESS"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 0, "Ut_CFE_EVS_GetEventQueueDepth() == 0"); -} /* end DS_TableInit_Test_Nominal */ - -void DS_TableInit_Test_TableInfoRecovered(void) -{ - int32 Result; - - /* Set to generate both of the two error messages DS_INIT_TBL_CDS_EID */ - Ut_CFE_TBL_SetReturnCode(UT_CFE_TBL_REGISTER_INDEX, CFE_TBL_INFO_RECOVERED_TBL, 1); - Ut_CFE_TBL_ContinueReturnCodeAfterCountZero(UT_CFE_TBL_REGISTER_INDEX); - - /* Set to prevent unintended error messages */ - Ut_CFE_TBL_SetReturnCode(UT_CFE_TBL_LOAD_INDEX, CFE_SUCCESS, 1); - Ut_CFE_TBL_ContinueReturnCodeAfterCountZero(UT_CFE_TBL_LOAD_INDEX); - - /* Execute the function being tested */ - Result = DS_TableInit(); - - /* Verify results */ - UtAssert_True (Result == CFE_SUCCESS, "Result == CFE_SUCCESS"); - - UtAssert_True - (Ut_CFE_EVS_EventSent(DS_INIT_TBL_CDS_EID, CFE_EVS_DEBUG, "Destination File Table data restored from CDS"), - "Destination File Table data restored from CDS"); - - UtAssert_True - (Ut_CFE_EVS_EventSent(DS_INIT_TBL_CDS_EID, CFE_EVS_DEBUG, "Filter Table data restored from CDS"), - "Filter Table data restored from CDS"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 2, "Ut_CFE_EVS_GetEventQueueDepth() == 2"); -} /* end DS_TableInit_Test_TableInfoRecovered */ - -void DS_TableInit_Test_RegisterDestTableError(void) -{ - int32 Result; - - /* Set to generate first instance of error message DS_INIT_TBL_ERR_EID */ - Ut_CFE_TBL_SetReturnCode(UT_CFE_TBL_REGISTER_INDEX, 0x99, 1); - Ut_CFE_TBL_ContinueReturnCodeAfterCountZero(UT_CFE_TBL_REGISTER_INDEX); - - /* Set to prevent unintended error messages */ - Ut_CFE_TBL_SetReturnCode(UT_CFE_TBL_LOAD_INDEX, CFE_SUCCESS, 1); - Ut_CFE_TBL_ContinueReturnCodeAfterCountZero(UT_CFE_TBL_LOAD_INDEX); - - /* Execute the function being tested */ - Result = DS_TableInit(); - - /* Verify results */ - UtAssert_True (Result == 0x99, "Result == 0x99"); - - UtAssert_True - (Ut_CFE_EVS_EventSent(DS_INIT_TBL_ERR_EID, CFE_EVS_ERROR, "Unable to register Destination File Table: Error = 0x00000099"), - "Unable to register Destination File Table: Error = 0x00000099"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 1, "Ut_CFE_EVS_GetEventQueueDepth() == 1"); -} /* end DS_TableInit_Test_RegisterDestTableError */ - -void DS_TableInit_Test_RegisterFilterTableError(void) -{ - int32 Result; - - /* Set to generate second instance of error message DS_INIT_TBL_ERR_EID */ - Ut_CFE_TBL_SetReturnCode(UT_CFE_TBL_REGISTER_INDEX, 0x99, 2); - - /* Set to prevent unintended error messages */ - Ut_CFE_TBL_SetReturnCode(UT_CFE_TBL_LOAD_INDEX, CFE_SUCCESS, 1); - Ut_CFE_TBL_ContinueReturnCodeAfterCountZero(UT_CFE_TBL_LOAD_INDEX); - - /* Execute the function being tested */ - Result = DS_TableInit(); - - /* Verify results */ - UtAssert_True (Result == 0x99, "Result == 0x99"); - - UtAssert_True - (Ut_CFE_EVS_EventSent(DS_INIT_TBL_ERR_EID, CFE_EVS_ERROR, "Unable to register Filter Table: Error = 0x00000099"), - "Unable to register Filter Table: Error = 0x00000099"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 1, "Ut_CFE_EVS_GetEventQueueDepth() == 1"); -} /* end DS_TableInit_Test_RegisterFilterTableError */ - -void DS_TableInit_Test_LoadDestTableError(void) -{ - int32 Result; - - /* Set to generate error message DS_INIT_TBL_ERR_EID on 1st call (but not 2nd) */ - Ut_CFE_TBL_SetReturnCode(UT_CFE_TBL_LOAD_INDEX, CFE_SUCCESS, 2); - - /* Execute the function being tested */ - Result = DS_TableInit(); - - /* Verify results */ - UtAssert_True (Result == CFE_SUCCESS, "Result == CFE_SUCCESS"); - - UtAssert_True - (Ut_CFE_EVS_EventSent(DS_INIT_TBL_ERR_EID, CFE_EVS_ERROR, "Unable to load default Destination File Table: Filename = '/cf/apps/ds_file_tbl.tbl', Error = 0xCC000013"), - "Unable to load default Destination File Table: Filename = '/cf/apps/ds_file_tbl.tbl', Error = 0xCC000013"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 1, "Ut_CFE_EVS_GetEventQueueDepth() == 1"); -} /* end DS_TableInit_Test_LoadDestTableError */ - -void DS_TableInit_Test_LoadFilterTableError(void) -{ - int32 Result; - - /* Set to generate error message DS_INIT_TBL_ERR_EID on 2nd call (but not 1st) */ - Ut_CFE_TBL_SetReturnCode(UT_CFE_TBL_LOAD_INDEX, CFE_SUCCESS, 1); - - /* Execute the function being tested */ - Result = DS_TableInit(); - - /* Verify results */ - UtAssert_True (Result == CFE_SUCCESS, "Result == CFE_SUCCESS"); - - UtAssert_True - (Ut_CFE_EVS_EventSent(DS_INIT_TBL_ERR_EID, CFE_EVS_ERROR, "Unable to load default Filter Table: Filename = '/cf/apps/ds_filter_tbl.tbl', Error = 0xCC000013"), - "Unable to load default Filter Table: Filename = '/cf/apps/ds_filter_tbl.tbl', Error = 0xCC000013"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 1, "Ut_CFE_EVS_GetEventQueueDepth() == 1"); -} /* end DS_TableInit_Test_LoadFilterTableError */ - -void DS_TableManageDestFile_Test_TableInfoUpdated(void) -{ - uint32 i; - - DS_AppData.DestFileTblPtr = &UT_DS_TABLE_TEST_DestFileTable; - - for (i = 0; i < DS_DEST_FILE_CNT; i++) - { - DS_AppData.DestFileTblPtr->File[i].EnableState = i; - DS_AppData.DestFileTblPtr->File[i].SequenceCount = i; - } - - DS_AppData.DestFileTblPtr = (DS_DestFileTable_t *) NULL; - - /* Returns CFE_TBL_INFO_UPDATED to satisfy condition "if (Result == CFE_TBL_INFO_UPDATED)", and sets - * DS_AppData.DestFileTblPtr to the address of a local table defined globally in this file, to prevent segmentation fault */ - Ut_CFE_TBL_SetFunctionHook(UT_CFE_TBL_GETADDRESS_INDEX, &UT_DS_TABLE_TEST_CFE_TBL_GetAddressHook1); - - /* Execute the function being tested */ - DS_TableManageDestFile(); - - /* Verify results */ - UtAssert_True (DS_AppData.DestTblLoadCounter == 1, "DS_AppData.DestTblLoadCounter == 1"); - - UtAssert_True (DS_AppData.FileStatus[0].FileState == 0, "DS_AppData.FileStatus[0].FileState == 0"); - UtAssert_True (DS_AppData.FileStatus[0].FileCount == 0, "DS_AppData.FileStatus[0].FileCount == 0"); - - UtAssert_True (DS_AppData.FileStatus[DS_DEST_FILE_CNT/2].FileState == DS_DEST_FILE_CNT/2, "DS_AppData.FileStatus[DS_DEST_FILE_CNT/2].FileState == DS_DEST_FILE_CNT/2"); - UtAssert_True (DS_AppData.FileStatus[DS_DEST_FILE_CNT/2].FileCount == DS_DEST_FILE_CNT/2, "DS_AppData.FileStatus[DS_DEST_FILE_CNT/2].FileCount == DS_DEST_FILE_CNT/2"); - - UtAssert_True (DS_AppData.FileStatus[DS_DEST_FILE_CNT-1].FileState == DS_DEST_FILE_CNT-1, "DS_AppData.FileStatus[DS_DEST_FILE_CNT-1].FileState == DS_DEST_FILE_CNT-1"); - UtAssert_True (DS_AppData.FileStatus[DS_DEST_FILE_CNT-1].FileCount == DS_DEST_FILE_CNT-1, "DS_AppData.FileStatus[DS_DEST_FILE_CNT-1].FileCount == DS_DEST_FILE_CNT-1"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 0, "Ut_CFE_EVS_GetEventQueueDepth() == 0"); -} /* end DS_TableManageDestFile_Test_TableInfoUpdated */ - -void DS_TableManageDestFile_Test_TableNeverLoaded(void) -{ - /* Returns CFE_TBL_INFO_UPDATED to satisfy condition "if (Result == CFE_TBL_ERR_NEVER_LOADED)", and sets - * DS_AppData.DestFileTblPtr to the address of a local table defined globally in this file, to prevent segmentation fault */ - Ut_CFE_TBL_SetFunctionHook(UT_CFE_TBL_GETADDRESS_INDEX, &UT_DS_TABLE_TEST_CFE_TBL_GetAddressHook2); - - /* Execute the function being tested */ - DS_TableManageDestFile(); - - /* Verify results */ - UtAssert_True (DS_AppData.DestTblErrCounter == 1, "DS_AppData.DestTblErrCounter == 1"); - UtAssert_True (DS_AppData.DestFileTblPtr == (DS_DestFileTable_t *) NULL, "DS_AppData.DestFileTblPtr == (DS_DestFileTable_t *) NULL"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 0, "Ut_CFE_EVS_GetEventQueueDepth() == 0"); -} /* end DS_TableManageDestFile_Test_TableNeverLoaded */ - -void DS_TableManageDestFile_Test_TableInfoDumpPending(void) -{ - DS_DestFileTable_t DestFileTable; - - DS_AppData.DestFileTblPtr = &DestFileTable; - - /* Set to satisfy condition "if (Result == CFE_TBL_INFO_DUMP_PENDING)" */ - Ut_CFE_TBL_SetReturnCode(UT_CFE_TBL_GETSTATUS_INDEX, CFE_TBL_INFO_DUMP_PENDING, 1); - - /* Execute the function being tested */ - DS_TableManageDestFile(); - - /* Verify results */ - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 0, "Ut_CFE_EVS_GetEventQueueDepth() == 0"); -} /* end DS_TableManageDestFile_Test_TableInfoDumpPending */ - -void DS_TableManageDestFile_Test_TableInfoValidationPending(void) -{ - DS_DestFileTable_t DestFileTable; - - DS_AppData.DestFileTblPtr = &DestFileTable; - - /* Set to satisfy condition "if (Result == CFE_TBL_INFO_VALIDATION_PENDING)" */ - Ut_CFE_TBL_SetReturnCode(UT_CFE_TBL_GETSTATUS_INDEX, CFE_TBL_INFO_VALIDATION_PENDING, 1); - - /* Execute the function being tested */ - DS_TableManageDestFile(); - - /* Verify results */ - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 0, "Ut_CFE_EVS_GetEventQueueDepth() == 0"); -} /* end DS_TableManageDestFile_Test_TableInfoValidationPending */ - -void DS_TableManageDestFile_Test_TableInfoUpdatePending(void) -{ - uint32 i; - - DS_AppData.DestFileTblPtr = &UT_DS_TABLE_TEST_DestFileTable; - - for (i = 0; i < DS_DEST_FILE_CNT; i++) - { - DS_AppData.DestFileTblPtr->File[i].EnableState = i; - DS_AppData.DestFileTblPtr->File[i].SequenceCount = i; - } - - /* Returns CFE_TBL_INFO_UPDATED to satisfy condition "if (Result == CFE_TBL_INFO_UPDATE_PENDING)", and sets - * DS_AppData.DestFileTblPtr to the address of a local table defined globally in this file, to prevent segmentation fault */ - Ut_CFE_TBL_SetFunctionHook(UT_CFE_TBL_GETSTATUS_INDEX, &UT_DS_TABLE_TEST_CFE_TBL_GetStatusHook); - - /* Prevents segmentation fault */ - Ut_CFE_TBL_SetFunctionHook(UT_CFE_TBL_GETADDRESS_INDEX, &UT_DS_TABLE_TEST_CFE_TBL_GetAddressHook1); - - /* Execute the function being tested */ - DS_TableManageDestFile(); - - /* Verify results */ - UtAssert_True (DS_AppData.DestTblLoadCounter == 1, "DS_AppData.DestTblLoadCounter == 1"); - - UtAssert_True (DS_AppData.FileStatus[0].FileState == 0, "DS_AppData.FileStatus[0].FileState == 0"); - UtAssert_True (DS_AppData.FileStatus[0].FileCount == 0, "DS_AppData.FileStatus[0].FileCount == 0"); - - UtAssert_True (DS_AppData.FileStatus[DS_DEST_FILE_CNT/2].FileState == DS_DEST_FILE_CNT/2, "DS_AppData.FileStatus[DS_DEST_FILE_CNT/2].FileState == DS_DEST_FILE_CNT/2"); - UtAssert_True (DS_AppData.FileStatus[DS_DEST_FILE_CNT/2].FileCount == DS_DEST_FILE_CNT/2, "DS_AppData.FileStatus[DS_DEST_FILE_CNT/2].FileCount == DS_DEST_FILE_CNT/2"); - - UtAssert_True (DS_AppData.FileStatus[DS_DEST_FILE_CNT-1].FileState == DS_DEST_FILE_CNT-1, "DS_AppData.FileStatus[DS_DEST_FILE_CNT-1].FileState == DS_DEST_FILE_CNT-1"); - UtAssert_True (DS_AppData.FileStatus[DS_DEST_FILE_CNT-1].FileCount == DS_DEST_FILE_CNT-1, "DS_AppData.FileStatus[DS_DEST_FILE_CNT-1].FileCount == DS_DEST_FILE_CNT-1"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 0, "Ut_CFE_EVS_GetEventQueueDepth() == 0"); -} /* end DS_TableManageDestFile_Test_TableInfoUpdatePending */ - -void DS_TableManageFilter_Test_TableInfoUpdated(void) -{ - /* Returns CFE_TBL_INFO_UPDATED to satisfy condition "if (Result == CFE_TBL_INFO_UPDATED)", and sets - * DS_AppData.FilterTblPtr to the address of a table defined globally in this file, to prevent segmentation fault */ - Ut_CFE_TBL_SetFunctionHook(UT_CFE_TBL_GETADDRESS_INDEX, &UT_DS_TABLE_TEST_CFE_TBL_GetAddressHook3); - - /* Execute the function being tested */ - DS_TableManageFilter(); - - /* Verify results */ - UtAssert_True (DS_AppData.FilterTblLoadCounter == 1, "DS_AppData.FilterTblLoadCounter == 1"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 0, "Ut_CFE_EVS_GetEventQueueDepth() == 0"); -} /* end DS_TableManageFilter_Test_TableInfoUpdated */ - -void DS_TableManageFilter_Test_TableNeverLoaded(void) -{ - /* Set to satisfy condition "if (Result == CFE_TBL_ERR_NEVER_LOADED)" */ - Ut_CFE_TBL_SetReturnCode(UT_CFE_TBL_GETADDRESS_INDEX, CFE_TBL_ERR_NEVER_LOADED, 1); - - /* Execute the function being tested */ - DS_TableManageFilter(); - - /* Verify results */ - UtAssert_True (DS_AppData.FilterTblErrCounter == 1, "DS_AppData.FilterTblErrCounter == 1"); - UtAssert_True (DS_AppData.FilterTblPtr == (DS_FilterTable_t *) NULL, "DS_AppData.FilterTblPtr == (DS_FilterTable_t *) NULL"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 0, "Ut_CFE_EVS_GetEventQueueDepth() == 0"); -} /* end DS_TableManageFilter_Test_TableNeverLoaded */ - -void DS_TableManageFilter_Test_TableInfoDumpPending(void) -{ - DS_FilterTable_t FilterTable; - - DS_AppData.FilterTblPtr = &FilterTable; - - /* Set to satisfy condition "if (Result == CFE_TBL_INFO_DUMP_PENDING)" */ - Ut_CFE_TBL_SetReturnCode(UT_CFE_TBL_GETSTATUS_INDEX, CFE_TBL_INFO_DUMP_PENDING, 1); - - /* Execute the function being tested */ - DS_TableManageFilter(); - - /* Verify results */ - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 0, "Ut_CFE_EVS_GetEventQueueDepth() == 0"); -} /* end DS_TableManageFilter_Test_TableInfoDumpPending */ - -void DS_TableManageFilter_Test_TableInfoValidationPending(void) -{ - DS_FilterTable_t FilterTable; - - DS_AppData.FilterTblPtr = &FilterTable; - - /* Set to satisfy condition "CFE_TBL_INFO_VALIDATION_PENDING" */ - Ut_CFE_TBL_SetReturnCode(UT_CFE_TBL_GETSTATUS_INDEX, CFE_TBL_INFO_VALIDATION_PENDING, 1); - - /* Execute the function being tested */ - DS_TableManageFilter(); - - /* Verify results */ - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 0, "Ut_CFE_EVS_GetEventQueueDepth() == 0"); -} /* end DS_TableManageFilter_Test_TableInfoValidationPending */ - -void DS_TableManageFilter_Test_TableInfoUpdatePending(void) -{ - DS_AppData.FilterTblPtr = &UT_DS_TABLE_TEST_FilterTable; - - /* Returns CFE_TBL_INFO_UPDATED to satisfy condition "if (Result == CFE_TBL_INFO_UPDATE_PENDING)", and sets - * DS_AppData.DestFileTblPtr to the address of a local table defined globally in this file, to prevent segmentation fault */ - Ut_CFE_TBL_SetFunctionHook(UT_CFE_TBL_GETSTATUS_INDEX, &UT_DS_TABLE_TEST_CFE_TBL_GetStatusHook); - - /* Prevents segmentation fault */ - Ut_CFE_TBL_SetFunctionHook(UT_CFE_TBL_GETADDRESS_INDEX, &UT_DS_TABLE_TEST_CFE_TBL_GetAddressHook1); - - /* Execute the function being tested */ - DS_TableManageFilter(); - - /* Verify results */ - UtAssert_True (DS_AppData.FilterTblLoadCounter == 1, "DS_AppData.FilterTblLoadCounter == 1"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 0, "Ut_CFE_EVS_GetEventQueueDepth() == 0"); -} /* end DS_TableManageFilter_Test_TableInfoUpdatePending */ - -void DS_TableVerifyDestFile_Test_Nominal(void) -{ - int32 Result; - DS_DestFileTable_t DestFileTable; - uint32 FileIndex = 0; - uint32 i; - - DestFileTable.File[FileIndex].FileNameType = DS_BY_TIME; - DestFileTable.File[FileIndex].EnableState = DS_ENABLED; - DestFileTable.File[FileIndex].MaxFileSize = 2048; - DestFileTable.File[FileIndex].MaxFileAge = 100; - DestFileTable.File[FileIndex].SequenceCount = 1; - - strncpy (DestFileTable.File[FileIndex].Pathname, "path", DS_PATHNAME_BUFSIZE); - strncpy (DestFileTable.File[FileIndex].Basename, "basename", DS_BASENAME_BUFSIZE); - strncpy (DestFileTable.File[FileIndex].Extension, "ext", DS_EXTENSION_BUFSIZE); - - for (i = 1; i < DS_DEST_FILE_CNT; i++) - { - memset(&DestFileTable.File[i], DS_UNUSED, sizeof(DS_DestFileEntry_t)); - } - - /* Execute the function being tested */ - Result = DS_TableVerifyDestFile(&DestFileTable); - - /* Verify results */ - UtAssert_True (Result == CFE_SUCCESS, "Result == CFE_SUCCESS"); - - UtAssert_True - (Ut_CFE_EVS_EventSent(DS_FIL_TBL_EID, CFE_EVS_INFORMATION, "Destination file table verify results: desc text = OK, good entries = 1, bad = 0, unused = 15"), - "Destination file table verify results: desc text = OK, good entries = 1, bad = 0, unused = 15"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 1, "Ut_CFE_EVS_GetEventQueueDepth() == 1"); -} /* end DS_TableVerifyDestFile_Test_Nominal */ - -void DS_TableVerifyDestFile_Test_DestFileTableVerificationError(void) -{ - int32 Result; - DS_DestFileTable_t DestFileTable; - uint32 FileIndex = 0; - uint32 i; - - DestFileTable.File[FileIndex].FileNameType = DS_BY_TIME; - DestFileTable.File[FileIndex].EnableState = DS_ENABLED; - DestFileTable.File[FileIndex].MaxFileSize = 2048; - DestFileTable.File[FileIndex].MaxFileAge = 100; - DestFileTable.File[FileIndex].SequenceCount = 1; - - strncpy (DestFileTable.File[FileIndex].Pathname, "path", DS_PATHNAME_BUFSIZE); - strncpy (DestFileTable.File[FileIndex].Basename, "basename", DS_BASENAME_BUFSIZE); - strncpy (DestFileTable.File[FileIndex].Extension, "ext", DS_EXTENSION_BUFSIZE); - - for (i = 1; i < DS_DEST_FILE_CNT; i++) - { - memset(&DestFileTable.File[i], DS_UNUSED, sizeof(DS_DestFileEntry_t)); - } - - for (i = 0; i < DS_DESCRIPTOR_BUFSIZE; i++) - { - DestFileTable.Descriptor[i] = '*'; - } - - /* Execute the function being tested */ - Result = DS_TableVerifyDestFile(&DestFileTable); - - /* Verify results */ - UtAssert_True (Result == DS_TABLE_VERIFY_ERR, "Result == DS_TABLE_VERIFY_ERR"); - - UtAssert_True - (Ut_CFE_EVS_EventSent(DS_FIL_TBL_ERR_EID, CFE_EVS_ERROR, "Destination file table verify err: invalid descriptor text"), - "Destination file table verify err: invalid descriptor text"); - - UtAssert_True - (Ut_CFE_EVS_EventSent(DS_FIL_TBL_EID, CFE_EVS_INFORMATION, "Destination file table verify results: desc text = bad, good entries = 1, bad = 0, unused = 15"), - "Destination file table verify results: desc text = bad, good entries = 1, bad = 0, unused = 15"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 2, "Ut_CFE_EVS_GetEventQueueDepth() == 2"); -} /* end DS_TableVerifyDestFile_Test_DestFileTableVerificationError */ - -void DS_TableVerifyDestFile_Test_CountBad(void) -{ - int32 Result; - DS_DestFileTable_t DestFileTable; - uint32 FileIndex = 0; - uint32 i; - - strncpy (DestFileTable.Descriptor, "descriptor", DS_DESCRIPTOR_BUFSIZE); - - DestFileTable.File[FileIndex].FileNameType = DS_BY_TIME; - DestFileTable.File[FileIndex].EnableState = DS_ENABLED; - DestFileTable.File[FileIndex].MaxFileSize = 2048; - DestFileTable.File[FileIndex].MaxFileAge = 100; - DestFileTable.File[FileIndex].SequenceCount = 1; - - strncpy (DestFileTable.File[FileIndex].Pathname, "path", DS_PATHNAME_BUFSIZE); - strncpy (DestFileTable.File[FileIndex].Basename, "basename", DS_BASENAME_BUFSIZE); - strncpy (DestFileTable.File[FileIndex].Extension, "123456789", DS_EXTENSION_BUFSIZE); - - for (i = 1; i < DS_DEST_FILE_CNT; i++) - { - memset(&DestFileTable.File[i], DS_UNUSED, sizeof(DS_DestFileEntry_t)); - } - - /* Execute the function being tested */ - Result = DS_TableVerifyDestFile(&DestFileTable); - - /* Verify results */ - UtAssert_True (Result == DS_TABLE_VERIFY_ERR, "Result == DS_TABLE_VERIFY_ERR"); - - UtAssert_True - (Ut_CFE_EVS_EventSent(DS_FIL_TBL_ERR_EID, CFE_EVS_ERROR, "Destination file table verify err: index = 0, invalid extension text"), - "Destination file table verify err: index = 0, invalid extension text"); - - UtAssert_True - (Ut_CFE_EVS_EventSent(DS_FIL_TBL_EID, CFE_EVS_INFORMATION, "Destination file table verify results: desc text = OK, good entries = 0, bad = 1, unused = 15"), - "Destination file table verify results: desc text = OK, good entries = 0, bad = 1, unused = 15"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 2, "Ut_CFE_EVS_GetEventQueueDepth() == 2"); -} /* end DS_TableVerifyDestFile_Test_CountBad */ - -void DS_TableVerifyDestFileEntry_Test_Nominal(void) -{ - int32 Result; - DS_DestFileEntry_t DestFileEntry; - uint32 TableIndex = 0; - uint32 ErrorCount = 0; - - DestFileEntry.FileNameType = DS_BY_TIME; - DestFileEntry.EnableState = DS_ENABLED; - DestFileEntry.MaxFileSize = 2048; - DestFileEntry.MaxFileAge = 100; - DestFileEntry.SequenceCount = 1; - - strncpy (DestFileEntry.Pathname, "path", DS_PATHNAME_BUFSIZE); - strncpy (DestFileEntry.Basename, "basename", DS_BASENAME_BUFSIZE); - strncpy (DestFileEntry.Extension, "ext", DS_EXTENSION_BUFSIZE); - - /* Execute the function being tested */ - Result = DS_TableVerifyDestFileEntry(&DestFileEntry, TableIndex, ErrorCount); - - /* Verify results */ - UtAssert_True (Result == TRUE, "Result == TRUE"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 0, "Ut_CFE_EVS_GetEventQueueDepth() == 0"); -} /* end DS_TableVerifyDestFileEntry_Test_Nominal */ - -void DS_TableVerifyDestFileEntry_Test_InvalidPathname(void) -{ - int32 Result; - DS_DestFileEntry_t DestFileEntry; - uint32 TableIndex = 0; - uint32 ErrorCount = 0; - - DestFileEntry.FileNameType = DS_BY_TIME; - DestFileEntry.EnableState = DS_ENABLED; - DestFileEntry.MaxFileSize = 2048; - DestFileEntry.MaxFileAge = 100; - DestFileEntry.SequenceCount = 1; - - strncpy (DestFileEntry.Pathname, "***", DS_PATHNAME_BUFSIZE); - strncpy (DestFileEntry.Basename, "basename", DS_BASENAME_BUFSIZE); - strncpy (DestFileEntry.Extension, "ext", DS_EXTENSION_BUFSIZE); - - /* Execute the function being tested */ - Result = DS_TableVerifyDestFileEntry(&DestFileEntry, TableIndex, ErrorCount); - - /* Verify results */ - UtAssert_True (Result == FALSE, "Result == FALSE"); - - UtAssert_True - (Ut_CFE_EVS_EventSent(DS_FIL_TBL_ERR_EID, CFE_EVS_ERROR, "Destination file table verify err: index = 0, invalid pathname text"), - "Destination file table verify err: index = 0, invalid pathname text"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 1, "Ut_CFE_EVS_GetEventQueueDepth() == 1"); -} /* end DS_TableVerifyDestFileEntry_Test_InvalidPathname */ - -void DS_TableVerifyDestFileEntry_Test_InvalidBasename(void) -{ - int32 Result; - DS_DestFileEntry_t DestFileEntry; - uint32 TableIndex = 0; - uint32 ErrorCount = 0; - - DestFileEntry.FileNameType = DS_BY_TIME; - DestFileEntry.EnableState = DS_ENABLED; - DestFileEntry.MaxFileSize = 2048; - DestFileEntry.MaxFileAge = 100; - DestFileEntry.SequenceCount = 1; - - strncpy (DestFileEntry.Pathname, "path", DS_PATHNAME_BUFSIZE); - strncpy (DestFileEntry.Basename, "***", DS_BASENAME_BUFSIZE); - strncpy (DestFileEntry.Extension, "ext", DS_EXTENSION_BUFSIZE); - - /* Execute the function being tested */ - Result = DS_TableVerifyDestFileEntry(&DestFileEntry, TableIndex, ErrorCount); - - /* Verify results */ - UtAssert_True (Result == FALSE, "Result == FALSE"); - - UtAssert_True - (Ut_CFE_EVS_EventSent(DS_FIL_TBL_ERR_EID, CFE_EVS_ERROR, "Destination file table verify err: index = 0, invalid basename text"), - "Destination file table verify err: index = 0, invalid basename text"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 1, "Ut_CFE_EVS_GetEventQueueDepth() == 1"); -} /* end DS_TableVerifyDestFileEntry_Test_InvalidBasename */ - -void DS_TableVerifyDestFileEntry_Test_InvalidExtension(void) -{ - int32 Result; - DS_DestFileEntry_t DestFileEntry; - uint32 TableIndex = 0; - uint32 ErrorCount = 0; - - DestFileEntry.FileNameType = DS_BY_TIME; - DestFileEntry.EnableState = DS_ENABLED; - DestFileEntry.MaxFileSize = 2048; - DestFileEntry.MaxFileAge = 100; - DestFileEntry.SequenceCount = 1; - - strncpy (DestFileEntry.Pathname, "path", DS_PATHNAME_BUFSIZE); - strncpy (DestFileEntry.Basename, "pathname", DS_BASENAME_BUFSIZE); - strncpy (DestFileEntry.Extension, "123456789", DS_EXTENSION_BUFSIZE); - - /* Execute the function being tested */ - Result = DS_TableVerifyDestFileEntry(&DestFileEntry, TableIndex, ErrorCount); - - /* Verify results */ - UtAssert_True (Result == FALSE, "Result == FALSE"); - - UtAssert_True - (Ut_CFE_EVS_EventSent(DS_FIL_TBL_ERR_EID, CFE_EVS_ERROR, "Destination file table verify err: index = 0, invalid extension text"), - "Destination file table verify err: index = 0, invalid extension text"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 1, "Ut_CFE_EVS_GetEventQueueDepth() == 1"); -} /* end DS_TableVerifyDestFileEntry_Test_InvalidExtension */ - -void DS_TableVerifyDestFileEntry_Test_InvalidFilenameType(void) -{ - int32 Result; - DS_DestFileEntry_t DestFileEntry; - uint32 TableIndex = 0; - uint32 ErrorCount = 0; - - DestFileEntry.FileNameType = 99; - DestFileEntry.EnableState = DS_ENABLED; - DestFileEntry.MaxFileSize = 2048; - DestFileEntry.MaxFileAge = 100; - DestFileEntry.SequenceCount = 1; - - strncpy (DestFileEntry.Pathname, "path", DS_PATHNAME_BUFSIZE); - strncpy (DestFileEntry.Basename, "pathname", DS_BASENAME_BUFSIZE); - strncpy (DestFileEntry.Extension, "ext", DS_EXTENSION_BUFSIZE); - - /* Execute the function being tested */ - Result = DS_TableVerifyDestFileEntry(&DestFileEntry, TableIndex, ErrorCount); - - /* Verify results */ - UtAssert_True (Result == FALSE, "Result == FALSE"); - - UtAssert_True - (Ut_CFE_EVS_EventSent(DS_FIL_TBL_ERR_EID, CFE_EVS_ERROR, "Destination file table verify err: index = 0, filename type = 99"), - "Destination file table verify err: index = 0, filename type = 99"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 1, "Ut_CFE_EVS_GetEventQueueDepth() == 1"); -} /* end DS_TableVerifyDestFileEntry_Test_InvalidFilenameType */ - -void DS_TableVerifyDestFileEntry_Test_InvalidFileEnableState(void) -{ - int32 Result; - DS_DestFileEntry_t DestFileEntry; - uint32 TableIndex = 0; - uint32 ErrorCount = 0; - - DestFileEntry.FileNameType = DS_BY_TIME; - DestFileEntry.EnableState = 99; - DestFileEntry.MaxFileSize = 2048; - DestFileEntry.MaxFileAge = 100; - DestFileEntry.SequenceCount = 1; - - strncpy (DestFileEntry.Pathname, "path", DS_PATHNAME_BUFSIZE); - strncpy (DestFileEntry.Basename, "pathname", DS_BASENAME_BUFSIZE); - strncpy (DestFileEntry.Extension, "ext", DS_EXTENSION_BUFSIZE); - - /* Execute the function being tested */ - Result = DS_TableVerifyDestFileEntry(&DestFileEntry, TableIndex, ErrorCount); - - /* Verify results */ - UtAssert_True (Result == FALSE, "Result == FALSE"); - - UtAssert_True - (Ut_CFE_EVS_EventSent(DS_FIL_TBL_ERR_EID, CFE_EVS_ERROR, "Destination file table verify err: index = 0, file enable state = 99"), - "Destination file table verify err: index = 0, file enable state = 99"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 1, "Ut_CFE_EVS_GetEventQueueDepth() == 1"); -} /* end DS_TableVerifyDestFileEntry_Test_InvalidFileEnableState */ - -void DS_TableVerifyDestFileEntry_Test_InvalidSize(void) -{ - int32 Result; - DS_DestFileEntry_t DestFileEntry; - uint32 TableIndex = 0; - uint32 ErrorCount = 0; - - DestFileEntry.FileNameType = DS_BY_TIME; - DestFileEntry.EnableState = DS_ENABLED; - DestFileEntry.MaxFileSize = DS_FILE_MIN_SIZE_LIMIT - 1; - DestFileEntry.MaxFileAge = 100; - DestFileEntry.SequenceCount = 1; - - strncpy (DestFileEntry.Pathname, "path", DS_PATHNAME_BUFSIZE); - strncpy (DestFileEntry.Basename, "pathname", DS_BASENAME_BUFSIZE); - strncpy (DestFileEntry.Extension, "ext", DS_EXTENSION_BUFSIZE); - - /* Execute the function being tested */ - Result = DS_TableVerifyDestFileEntry(&DestFileEntry, TableIndex, ErrorCount); - - /* Verify results */ - UtAssert_True (Result == FALSE, "Result == FALSE"); - - UtAssert_True - (Ut_CFE_EVS_EventSent(DS_FIL_TBL_ERR_EID, CFE_EVS_ERROR, "Destination file table verify err: index = 0, max file size = 1023"), - "Destination file table verify err: index = 0, max file size = 1023"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 1, "Ut_CFE_EVS_GetEventQueueDepth() == 1"); -} /* end DS_TableVerifyDestFileEntry_Test_InvalidSize */ - -void DS_TableVerifyDestFileEntry_Test_InvalidAge(void) -{ - int32 Result; - DS_DestFileEntry_t DestFileEntry; - uint32 TableIndex = 0; - uint32 ErrorCount = 0; - - DestFileEntry.FileNameType = DS_BY_TIME; - DestFileEntry.EnableState = DS_ENABLED; - DestFileEntry.MaxFileSize = 2048; - DestFileEntry.MaxFileAge = DS_FILE_MIN_AGE_LIMIT - 1; - DestFileEntry.SequenceCount = 1; - - strncpy (DestFileEntry.Pathname, "path", DS_PATHNAME_BUFSIZE); - strncpy (DestFileEntry.Basename, "pathname", DS_BASENAME_BUFSIZE); - strncpy (DestFileEntry.Extension, "ext", DS_EXTENSION_BUFSIZE); - - /* Execute the function being tested */ - Result = DS_TableVerifyDestFileEntry(&DestFileEntry, TableIndex, ErrorCount); - - /* Verify results */ - UtAssert_True (Result == FALSE, "Result == FALSE"); - - UtAssert_True - (Ut_CFE_EVS_EventSent(DS_FIL_TBL_ERR_EID, CFE_EVS_ERROR, "Destination file table verify err: index = 0, max file age = 59"), - "Destination file table verify err: index = 0, max file age = 59"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 1, "Ut_CFE_EVS_GetEventQueueDepth() == 1"); -} /* end DS_TableVerifyDestFileEntry_Test_InvalidAge */ - -void DS_TableVerifyDestFileEntry_Test_InvalidSequenceCount(void) -{ - int32 Result; - DS_DestFileEntry_t DestFileEntry; - uint32 TableIndex = 0; - uint32 ErrorCount = 0; - - DestFileEntry.FileNameType = DS_BY_TIME; - DestFileEntry.EnableState = DS_ENABLED; - DestFileEntry.MaxFileSize = 2048; - DestFileEntry.MaxFileAge = 100; - DestFileEntry.SequenceCount = DS_MAX_SEQUENCE_COUNT + 1; - - strncpy (DestFileEntry.Pathname, "path", DS_PATHNAME_BUFSIZE); - strncpy (DestFileEntry.Basename, "pathname", DS_BASENAME_BUFSIZE); - strncpy (DestFileEntry.Extension, "ext", DS_EXTENSION_BUFSIZE); - - /* Execute the function being tested */ - Result = DS_TableVerifyDestFileEntry(&DestFileEntry, TableIndex, ErrorCount); - - /* Verify results */ - UtAssert_True (Result == FALSE, "Result == FALSE"); - - UtAssert_True - (Ut_CFE_EVS_EventSent(DS_FIL_TBL_ERR_EID, CFE_EVS_ERROR, "Destination file table verify err: index = 0, sequence count = 100000000"), - "Destination file table verify err: index = 0, sequence count = 100000000"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 1, "Ut_CFE_EVS_GetEventQueueDepth() == 1"); -} /* end DS_TableVerifyDestFileEntry_Test_InvalidSequenceCount */ - -void DS_TableVerifyFilter_Test_Nominal(void) -{ - int32 Result; - DS_FilterTable_t FilterTable; - uint32 i; - - FilterTable.Packet[0].MessageID = 0x18BB; - FilterTable.Packet[0].Filter[0].FileTableIndex = 0; - FilterTable.Packet[0].Filter[0].Algorithm_N = 1; - FilterTable.Packet[0].Filter[0].Algorithm_X = 3; - FilterTable.Packet[0].Filter[0].Algorithm_O = 0; - FilterTable.Packet[0].Filter[0].FilterType = 1; - DS_AppData.FileStatus[0].FileState = DS_ENABLED; - - strncpy (FilterTable.Descriptor, "descriptor", DS_DESCRIPTOR_BUFSIZE); - - for (i = 0; i < DS_FILTERS_PER_PACKET; i++) - { - memset(&FilterTable.Packet[0].Filter[i], DS_UNUSED, sizeof(DS_FilterParms_t)); - } - - for (i = 1; i < 256; i++) - { - FilterTable.Packet[i].MessageID = DS_UNUSED; - } - - /* Execute the function being tested */ - Result = DS_TableVerifyFilter(&FilterTable); - - /* Verify results */ - UtAssert_True (Result == CFE_SUCCESS, "Result == CFE_SUCCESS"); - - UtAssert_True - (Ut_CFE_EVS_EventSent(DS_FLT_TBL_EID, CFE_EVS_INFORMATION, "Filter table verify results: desc text = OK, good entries = 1, bad = 0, unused = 255"), - "Filter table verify results: desc text = OK, good entries = 1, bad = 0, unused = 255"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 1, "Ut_CFE_EVS_GetEventQueueDepth() == 1"); -} /* end DS_TableVerifyFilter_Test_Nominal */ - -void DS_TableVerifyFilter_Test_FilterTableVerificationError(void) -{ - int32 Result; - DS_FilterTable_t FilterTable; - uint32 i; - - FilterTable.Packet[0].MessageID = 0x18BB; - FilterTable.Packet[0].Filter[0].FileTableIndex = 0; - FilterTable.Packet[0].Filter[0].Algorithm_N = 1; - FilterTable.Packet[0].Filter[0].Algorithm_X = 3; - FilterTable.Packet[0].Filter[0].Algorithm_O = 0; - FilterTable.Packet[0].Filter[0].FilterType = 1; - DS_AppData.FileStatus[0].FileState = DS_ENABLED; - - for (i = 0; i < DS_DESCRIPTOR_BUFSIZE; i++) - { - FilterTable.Descriptor[i] = '*'; - } - - for (i = 0; i < DS_FILTERS_PER_PACKET; i++) - { - memset(&FilterTable.Packet[0].Filter[i], DS_UNUSED, sizeof(DS_FilterParms_t)); - } - - for (i = 1; i < 256; i++) - { - FilterTable.Packet[i].MessageID = DS_UNUSED; - } - - /* Execute the function being tested */ - Result = DS_TableVerifyFilter(&FilterTable); - - /* Verify results */ - UtAssert_True (Result == DS_TABLE_VERIFY_ERR, "Result == DS_TABLE_VERIFY_ERR"); - - UtAssert_True - (Ut_CFE_EVS_EventSent(DS_FLT_TBL_ERR_EID, CFE_EVS_ERROR, "Filter table verify err: invalid descriptor text"), - "Filter table verify err: invalid descriptor text"); - - UtAssert_True - (Ut_CFE_EVS_EventSent(DS_FLT_TBL_EID, CFE_EVS_INFORMATION, "Filter table verify results: desc text = bad, good entries = 1, bad = 0, unused = 255"), - "Filter table verify results: desc text = bad, good entries = 1, bad = 0, unused = 255"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 2, "Ut_CFE_EVS_GetEventQueueDepth() == 2"); -} /* end DS_TableVerifyFilter_Test_FilterTableVerificationError */ - -void DS_TableVerifyFilter_Test_CountBad(void) -{ - int32 Result; - DS_FilterTable_t FilterTable; - uint32 i; - - FilterTable.Packet[0].MessageID = 0x18BB; - FilterTable.Packet[0].Filter[0].FileTableIndex = 0; - FilterTable.Packet[0].Filter[0].Algorithm_N = 1; - FilterTable.Packet[0].Filter[0].Algorithm_X = 3; - FilterTable.Packet[0].Filter[0].Algorithm_O = 0; - FilterTable.Packet[0].Filter[0].FilterType = DS_BY_TIME * 2; - DS_AppData.FileStatus[0].FileState = DS_ENABLED; - - strncpy (FilterTable.Descriptor, "descriptor", DS_DESCRIPTOR_BUFSIZE); - - for (i = 1; i < DS_FILTERS_PER_PACKET; i++) - { - memset(&FilterTable.Packet[0].Filter[i], DS_UNUSED, sizeof(DS_FilterParms_t)); - } - - for (i = 1; i < 256; i++) - { - FilterTable.Packet[i].MessageID = DS_UNUSED; - } - - /* Execute the function being tested */ - Result = DS_TableVerifyFilter(&FilterTable); - - /* Verify results */ - UtAssert_True (Result == DS_TABLE_VERIFY_ERR, "Result == DS_TABLE_VERIFY_ERR"); - - UtAssert_True - (Ut_CFE_EVS_EventSent(DS_FLT_TBL_ERR_EID, CFE_EVS_ERROR, "Filter table verify err: MID = 0x18BB, index = 0, filter = 0, filter type = 4"), - "Filter table verify err: MID = 0x18BB, index = 0, filter = 0, filter type = 4"); - - UtAssert_True - (Ut_CFE_EVS_EventSent(DS_FLT_TBL_EID, CFE_EVS_INFORMATION, "Filter table verify results: desc text = OK, good entries = 0, bad = 1, unused = 255"), - "Filter table verify results: desc text = OK, good entries = 0, bad = 1, unused = 255"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 2, "Ut_CFE_EVS_GetEventQueueDepth() == 2"); -} /* end DS_TableVerifyFilter_Test_CountBad */ - -void DS_TableVerifyFilterEntry_Test_Nominal(void) -{ - int32 Result; - DS_PacketEntry_t PacketEntry; - uint32 TableIndex = 0; - uint32 ErrorCount = 0; - uint32 i; - - PacketEntry.MessageID = 0x18BB; - PacketEntry.Filter[0].FileTableIndex = 0; - PacketEntry.Filter[0].Algorithm_N = 1; - PacketEntry.Filter[0].Algorithm_X = 3; - PacketEntry.Filter[0].Algorithm_O = 0; - PacketEntry.Filter[0].FilterType = 1; - DS_AppData.FileStatus[0].FileState = DS_ENABLED; - - for (i = 0; i < DS_FILTERS_PER_PACKET; i++) - { - memset(&PacketEntry.Filter[i], DS_UNUSED, sizeof(DS_FilterParms_t)); - } - - /* Execute the function being tested */ - Result = DS_TableVerifyFilterEntry(&PacketEntry, TableIndex, ErrorCount); - - /* Verify results */ - UtAssert_True (Result == TRUE, "Result == TRUE"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 0, "Ut_CFE_EVS_GetEventQueueDepth() == 0"); -} /* end DS_TableVerifyFilterEntry_Test_Nominal */ - -void DS_TableVerifyFilterEntry_Test_InvalidFileTableIndex(void) -{ - int32 Result; - DS_PacketEntry_t PacketEntry; - uint32 TableIndex = 0; - uint32 ErrorCount = 0; - uint32 i; - - PacketEntry.MessageID = 0x18BB; - PacketEntry.Filter[0].FileTableIndex = DS_DEST_FILE_CNT + 1; - PacketEntry.Filter[0].Algorithm_N = 1; - PacketEntry.Filter[0].Algorithm_X = 3; - PacketEntry.Filter[0].Algorithm_O = 0; - PacketEntry.Filter[0].FilterType = 1; - DS_AppData.FileStatus[0].FileState = DS_ENABLED; - - for (i = 1; i < DS_FILTERS_PER_PACKET; i++) - { - memset(&PacketEntry.Filter[i], DS_UNUSED, sizeof(DS_FilterParms_t)); - } - - /* Execute the function being tested */ - Result = DS_TableVerifyFilterEntry(&PacketEntry, TableIndex, ErrorCount); - - /* Verify results */ - UtAssert_True (Result == FALSE, "Result == FALSE"); - - UtAssert_True - (Ut_CFE_EVS_EventSent(DS_FLT_TBL_ERR_EID, CFE_EVS_ERROR, "Filter table verify err: MID = 0x18BB, index = 0, filter = 0, file table index = 17"), - "Filter table verify err: MID = 0x18BB, index = 0, filter = 0, file table index = 17"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 1, "Ut_CFE_EVS_GetEventQueueDepth() == 1"); -} /* end DS_TableVerifyFilterEntry_Test_InvalidFileTableIndex */ - -void DS_TableVerifyFilterEntry_Test_InvalidFilterType(void) -{ - int32 Result; - DS_PacketEntry_t PacketEntry; - uint32 TableIndex = 0; - uint32 ErrorCount = 0; - uint32 i; - - PacketEntry.MessageID = 0x18BB; - PacketEntry.Filter[0].FileTableIndex = 0; - PacketEntry.Filter[0].Algorithm_N = 1; - PacketEntry.Filter[0].Algorithm_X = 3; - PacketEntry.Filter[0].Algorithm_O = 0; - PacketEntry.Filter[0].FilterType = 99; - DS_AppData.FileStatus[0].FileState = DS_ENABLED; - - for (i = 1; i < DS_FILTERS_PER_PACKET; i++) - { - memset(&PacketEntry.Filter[i], DS_UNUSED, sizeof(DS_FilterParms_t)); - } - - /* Execute the function being tested */ - Result = DS_TableVerifyFilterEntry(&PacketEntry, TableIndex, ErrorCount); - - /* Verify results */ - UtAssert_True (Result == FALSE, "Result == FALSE"); - - UtAssert_True - (Ut_CFE_EVS_EventSent(DS_FLT_TBL_ERR_EID, CFE_EVS_ERROR, "Filter table verify err: MID = 0x18BB, index = 0, filter = 0, filter type = 99"), - "Filter table verify err: MID = 0x18BB, index = 0, filter = 0, filter type = 99"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 1, "Ut_CFE_EVS_GetEventQueueDepth() == 1"); -} /* end DS_TableVerifyFilterEntry_Test_InvalidFilterType */ - -void DS_TableVerifyFilterEntry_Test_InvalidFilterParms(void) -{ - int32 Result; - DS_PacketEntry_t PacketEntry; - uint32 TableIndex = 0; - uint32 ErrorCount = 0; - uint32 i; - - PacketEntry.MessageID = 0x18BB; - PacketEntry.Filter[0].FileTableIndex = 0; - PacketEntry.Filter[0].Algorithm_N = 1; - PacketEntry.Filter[0].Algorithm_X = 3; - PacketEntry.Filter[0].Algorithm_O = 99; - PacketEntry.Filter[0].FilterType = 1; - DS_AppData.FileStatus[0].FileState = DS_ENABLED; - - for (i = 1; i < DS_FILTERS_PER_PACKET; i++) - { - memset(&PacketEntry.Filter[i], DS_UNUSED, sizeof(DS_FilterParms_t)); - } - - /* Execute the function being tested */ - Result = DS_TableVerifyFilterEntry(&PacketEntry, TableIndex, ErrorCount); - - /* Verify results */ - UtAssert_True (Result == FALSE, "Result == FALSE"); - - UtAssert_True - (Ut_CFE_EVS_EventSent(DS_FLT_TBL_ERR_EID, CFE_EVS_ERROR, "Filter table verify err: MID = 0x18BB, index = 0, filter = 0, filter parms N = 1, X = 3, O = 99"), - "Filter table verify err: MID = 0x18BB, index = 0, filter = 0, filter parms N = 1, X = 3, O = 99"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 1, "Ut_CFE_EVS_GetEventQueueDepth() == 1"); -} /* end DS_TableVerifyFilterEntry_Test_InvalidFilterParms */ - -void DS_TableEntryUnused_Test_Nominal(void) -{ - int32 Result; - DS_DestFileEntry_t DestFileEntry; - - memset(&DestFileEntry, DS_UNUSED, sizeof(DS_DestFileEntry_t)); - - /* Execute the function being tested */ - Result = DS_TableEntryUnused(&DestFileEntry, sizeof(DS_DestFileEntry_t)); - - /* Verify results */ - UtAssert_True (Result == TRUE, "Result == TRUE"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 0, "Ut_CFE_EVS_GetEventQueueDepth() == 0"); -} /* end DS_TableEntryUnused_Test_Nominal */ - -void DS_TableEntryUnused_Test_Fail(void) -{ - int32 Result; - DS_DestFileEntry_t DestFileEntry; - - memset(&DestFileEntry, 99, sizeof(DS_DestFileEntry_t)); - - /* Execute the function being tested */ - Result = DS_TableEntryUnused(&DestFileEntry, sizeof(DS_DestFileEntry_t)); - - /* Verify results */ - UtAssert_True (Result == FALSE, "Result == FALSE"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 0, "Ut_CFE_EVS_GetEventQueueDepth() == 0"); -} /* end DS_TableEntryUnused_Test_Fail */ - -void DS_TableVerifyFileIndex_Test_Nominal(void) -{ - int32 Result; - uint16 FileTableIndex = 0; - - /* Execute the function being tested */ - Result = DS_TableVerifyFileIndex(FileTableIndex); - - /* Verify results */ - UtAssert_True (Result == TRUE, "Result == TRUE"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 0, "Ut_CFE_EVS_GetEventQueueDepth() == 0"); -} /* end DS_TableVerifyFileIndex_Test_Nominal */ - -void DS_TableVerifyFileIndex_Test_Fail(void) -{ - int32 Result; - uint16 FileTableIndex = DS_DEST_FILE_CNT; - - /* Execute the function being tested */ - Result = DS_TableVerifyFileIndex(FileTableIndex); - - /* Verify results */ - UtAssert_True (Result == FALSE, "Result == FALSE"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 0, "Ut_CFE_EVS_GetEventQueueDepth() == 0"); -} /* end DS_TableVerifyFileIndex_Test_Fail */ - -void DS_TableVerifyParms_Test_NominalOnlyXNonZero(void) -{ - int32 Result; - uint16 Algorithm_N = 0; - uint16 Algorithm_X = 1; - uint16 Algorithm_O = 0; - - /* Execute the function being tested */ - Result = DS_TableVerifyParms(Algorithm_N, Algorithm_X, Algorithm_O); - - /* Verify results */ - UtAssert_True (Result == TRUE, "Result == TRUE"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 0, "Ut_CFE_EVS_GetEventQueueDepth() == 0"); -} /* end DS_TableVerifyParms_Test_NominalOnlyXNonZero */ - -void DS_TableVerifyParms_Test_NGreaterThanXOnlyNNonZero(void) -{ - int32 Result; - uint16 Algorithm_N = 1; - uint16 Algorithm_X = 0; - uint16 Algorithm_O = 0; - - /* Execute the function being tested */ - Result = DS_TableVerifyParms(Algorithm_N, Algorithm_X, Algorithm_O); - - /* Verify results */ - UtAssert_True (Result == FALSE, "Result == FALSE"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 0, "Ut_CFE_EVS_GetEventQueueDepth() == 0"); -} /* end DS_TableVerifyParms_Test_NGreaterThanXOnlyNNonZero */ - -void DS_TableVerifyParms_Test_OGreaterThanXOnlyONonZero(void) -{ - int32 Result; - uint16 Algorithm_N = 0; - uint16 Algorithm_X = 0; - uint16 Algorithm_O = 1; - - /* Execute the function being tested */ - Result = DS_TableVerifyParms(Algorithm_N, Algorithm_X, Algorithm_O); - - /* Verify results */ - UtAssert_True (Result == FALSE, "Result == FALSE"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 0, "Ut_CFE_EVS_GetEventQueueDepth() == 0"); -} /* end DS_TableVerifyParms_Test_OGreaterThanXOnlyONonZero */ - -void DS_TableVerifyType_Test_Nominal(void) -{ - int32 Result; - uint16 TimeVsCount = DS_BY_TIME; - - /* Execute the function being tested */ - Result = DS_TableVerifyType(TimeVsCount); - - /* Verify results */ - UtAssert_True (Result == TRUE, "Result == TRUE"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 0, "Ut_CFE_EVS_GetEventQueueDepth() == 0"); -} /* end DS_TableVerifyType_Test_Nominal */ - -void DS_TableVerifyType_Test_Fail(void) -{ - int32 Result; - uint16 TimeVsCount = 99; - - /* Execute the function being tested */ - Result = DS_TableVerifyType(TimeVsCount); - - /* Verify results */ - UtAssert_True (Result == FALSE, "Result == FALSE"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 0, "Ut_CFE_EVS_GetEventQueueDepth() == 0"); -} /* end DS_TableVerifyType_Test_Fail */ - -void DS_TableVerifyState_Test_Nominal(void) -{ - int32 Result; - uint16 EnableState = DS_ENABLED; - - /* Execute the function being tested */ - Result = DS_TableVerifyState(EnableState); - - /* Verify results */ - UtAssert_True (Result == TRUE, "Result == TRUE"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 0, "Ut_CFE_EVS_GetEventQueueDepth() == 0"); -} /* end DS_TableVerifyState_Test_Nominal */ - -void DS_TableVerifyState_Test_Fail(void) -{ - int32 Result; - uint16 EnableState = 99; - - /* Execute the function being tested */ - Result = DS_TableVerifyState(EnableState); - - /* Verify results */ - UtAssert_True (Result == FALSE, "Result == FALSE"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 0, "Ut_CFE_EVS_GetEventQueueDepth() == 0"); -} /* end DS_TableVerifyState_Test_Fail */ - -void DS_TableVerifySize_Test_Nominal(void) -{ - int32 Result; - uint32 MaxFileSize = DS_FILE_MIN_SIZE_LIMIT; - - /* Execute the function being tested */ - Result = DS_TableVerifySize(MaxFileSize); - - /* Verify results */ - UtAssert_True (Result == TRUE, "Result == TRUE"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 0, "Ut_CFE_EVS_GetEventQueueDepth() == 0"); -} /* end DS_TableVerifySize_Test_Nominal */ - -void DS_TableVerifySize_Test_Fail(void) -{ - int32 Result; - uint32 MaxFileSize = DS_FILE_MIN_SIZE_LIMIT - 1; - - /* Execute the function being tested */ - Result = DS_TableVerifySize(MaxFileSize); - - /* Verify results */ - UtAssert_True (Result == FALSE, "Result == FALSE"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 0, "Ut_CFE_EVS_GetEventQueueDepth() == 0"); -} /* end DS_TableVerifySize_Test_Fail */ - -void DS_TableVerifyAge_Test_Nominal(void) -{ - int32 Result; - uint32 MaxFileAge = DS_FILE_MIN_AGE_LIMIT; - - /* Execute the function being tested */ - Result = DS_TableVerifyAge(MaxFileAge); - - /* Verify results */ - UtAssert_True (Result == TRUE, "Result == TRUE"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 0, "Ut_CFE_EVS_GetEventQueueDepth() == 0"); -} /* end DS_TableVerifyAge_Test_Nominal */ - -void DS_TableVerifyAge_Test_Fail(void) -{ - int32 Result; - uint32 MaxFileAge = DS_FILE_MIN_AGE_LIMIT - 1; - - /* Execute the function being tested */ - Result = DS_TableVerifyAge(MaxFileAge); - - /* Verify results */ - UtAssert_True (Result == FALSE, "Result == FALSE"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 0, "Ut_CFE_EVS_GetEventQueueDepth() == 0"); -} /* end DS_TableVerifyAge_Test_Fail */ - -void DS_TableVerifyCount_Test_Nominal(void) -{ - int32 Result; - uint32 SequenceCount = DS_MAX_SEQUENCE_COUNT; - - /* Execute the function being tested */ - Result = DS_TableVerifyCount(SequenceCount); - - /* Verify results */ - UtAssert_True (Result == TRUE, "Result == TRUE"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 0, "Ut_CFE_EVS_GetEventQueueDepth() == 0"); -} /* end DS_TableVerifyCount_Test_Nominal */ - -void DS_TableVerifyCount_Test_Fail(void) -{ - int32 Result; - uint32 SequenceCount = DS_MAX_SEQUENCE_COUNT + 1; - - /* Execute the function being tested */ - Result = DS_TableVerifyCount(SequenceCount); - - /* Verify results */ - UtAssert_True (Result == FALSE, "Result == FALSE"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 0, "Ut_CFE_EVS_GetEventQueueDepth() == 0"); -} /* end DS_TableVerifyCount_Test_Fail */ - -void DS_TableSubscribe_Test(void) -{ - DS_FilterTable_t FilterTable; - - DS_AppData.FilterTblPtr = &FilterTable; - - FilterTable.Packet[0].MessageID = 0x18BB; - - /* Execute the function being tested */ - DS_TableSubscribe(); - - /* Verify results */ - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 0, "Ut_CFE_EVS_GetEventQueueDepth() == 0"); -} /* end DS_TableSubscribe_Test */ - -void DS_TableUnsubscribe_Test(void) -{ - DS_FilterTable_t FilterTable; - - DS_AppData.FilterTblPtr = &FilterTable; - - FilterTable.Packet[0].MessageID = 0x18BB; - - /* Execute the function being tested */ - DS_TableUnsubscribe(); - - /* Verify results */ - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 0, "Ut_CFE_EVS_GetEventQueueDepth() == 0"); -} /* end DS_TableUnsubscribe_Test */ - -void DS_TableCreateCDS_Test_NewCDSArea(void) -{ - int32 Result; - - /* Execute the function being tested */ - Result = DS_TableCreateCDS(); - - /* Verify results */ - UtAssert_True (Result == CFE_SUCCESS, "Result == CFE_SUCCESS"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 0, "Ut_CFE_EVS_GetEventQueueDepth() == 0"); -} /* end DS_TableCreateCDS_Test_NewCDSArea */ - -void DS_TableCreateCDS_Test_PreExistingCDSArea(void) -{ - int32 Result; - - /* Set to satisfy condition "if (Result == CFE_ES_CDS_ALREADY_EXISTS)", which is the main thing we're testing here */ - Ut_CFE_ES_SetReturnCode(UT_CFE_ES_REGISTERCDS_INDEX, CFE_ES_CDS_ALREADY_EXISTS, 1); - - /* Gives values to array DataStoreBuffer, which is used in the function under test - * to set values for DS_AppData.FileStatus[i].FileCount. Also returns CFE_SUCCESS, in order - * to reach line that sets DS_AppData.AppEnableState */ - Ut_CFE_ES_SetFunctionHook(UT_CFE_ES_RESTOREFROMCDS_INDEX, &UT_DS_TABLE_TEST_CFE_ES_RestoreFromCDSHook); - - /* Execute the function being tested */ - Result = DS_TableCreateCDS(); - - /* Verify results */ - UtAssert_True (Result == CFE_SUCCESS, "Result == CFE_SUCCESS"); - - UtAssert_True (DS_AppData.FileStatus[0].FileCount == 0, "DS_AppData.FileStatus[0].FileCount == 0"); - - UtAssert_True (DS_AppData.FileStatus[DS_DEST_FILE_CNT/2].FileCount == 0, "DS_AppData.FileStatus[DS_DEST_FILE_CNT/2].FileCount == 0"); - - UtAssert_True (DS_AppData.FileStatus[DS_DEST_FILE_CNT-1].FileCount == 0, "DS_AppData.FileStatus[DS_DEST_FILE_CNT-1].FileCount == 0"); - - #if (DS_CDS_ENABLE_STATE == 1) - /* only test if configured */ - UtAssert_True (DS_AppData.AppEnableState == 0, "DS_AppData.AppEnableState == 0"); - #endif - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 0, "Ut_CFE_EVS_GetEventQueueDepth() == 0"); -} /* end DS_TableCreateCDS_Test_PreExistingCDSArea */ - -void DS_TableCreateCDS_Test_Error(void) -{ - int32 Result; - - /* Set to generate error message DS_INIT_CDS_ERR_EID */ - Ut_CFE_ES_SetReturnCode(UT_CFE_ES_REGISTERCDS_INDEX, -1, 1); - - /* Execute the function being tested */ - Result = DS_TableCreateCDS(); - - /* Verify results */ - UtAssert_True (DS_AppData.DataStoreHandle == 0, "DS_AppData.DataStoreHandle == 0"); - - UtAssert_True - (Ut_CFE_EVS_EventSent(DS_INIT_CDS_ERR_EID, CFE_EVS_ERROR, "Critical Data Store access error = 0xFFFFFFFF"), - "Critical Data Store access error = 0xFFFFFFFF"); - - UtAssert_True (Result == CFE_SUCCESS, "Result == CFE_SUCCESS"); /* CFE_SUCCESS because error is not fatal */ - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 1, "Ut_CFE_EVS_GetEventQueueDepth() == 1"); -} /* end DS_TableCreateCDS_Test_Error */ - -void DS_TableUpdateCDS_Test_Nominal(void) -{ - DS_AppData.DataStoreHandle = 1; - - /* Execute the function being tested */ - DS_TableUpdateCDS(); - - /* Verify results */ - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 0, "Ut_CFE_EVS_GetEventQueueDepth() == 0"); -} /* end DS_TableUpdateCDS_Test_Nominal */ - -void DS_TableUpdateCDS_Test_Error(void) -{ - DS_AppData.DataStoreHandle = 1; - - /* Set to generate error message DS_INIT_CDS_ERR_EID */ - Ut_CFE_ES_SetReturnCode(UT_CFE_ES_COPYTOCDS_INDEX, -1, 1); - - /* Execute the function being tested */ - DS_TableUpdateCDS(); - - /* Verify results */ - UtAssert_True - (Ut_CFE_EVS_EventSent(DS_INIT_CDS_ERR_EID, CFE_EVS_ERROR, "Critical Data Store access error = 0xFFFFFFFF"), - "Critical Data Store access error = 0xFFFFFFFF"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 1, "Ut_CFE_EVS_GetEventQueueDepth() == 1"); -} /* end DS_TableUpdateCDS_Test_Error */ - -void DS_TableHashFunction_Test(void) -{ - uint32 Result; - CFE_SB_MsgId_t MessageID = 0x18BB; - - /* Execute the function being tested */ - Result = DS_TableHashFunction(MessageID); - - /* Verify results */ - UtAssert_True (Result == 187, "Result == 187"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 0, "Ut_CFE_EVS_GetEventQueueDepth() == 0"); -} /* end DS_TableHashFunction_Test */ - -void DS_TableCreateHash_Test_Nominal(void) -{ - DS_HashLink_t HashLink1; - DS_HashLink_t HashLink2; - DS_FilterTable_t FilterTable; - - DS_AppData.FilterTblPtr = &FilterTable; - - FilterTable.Packet[0].MessageID = 0x18BB; - - DS_AppData.HashTable[187] = &HashLink1; - - DS_AppData.HashLinks[0].Index = 0; - DS_AppData.HashLinks[0].MessageID = 0x18BB; - DS_AppData.HashTable[187]->Next = &HashLink2; - - /* Execute the function being tested */ - DS_TableCreateHash(); - - /* Verify results */ - UtAssert_True (DS_AppData.HashLinks[0].Index == 0, "DS_AppData.HashLinks[0].Index == 0"); - UtAssert_True (DS_AppData.HashLinks[0].MessageID == 0x18BB, "DS_AppData.HashLinks[0].MessageID == 0x18BB"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 0, "Ut_CFE_EVS_GetEventQueueDepth() == 0"); -} /* end DS_TableCreateHash_Test_Nominal */ - -void DS_TableCreateHash_Test_NullTable(void) -{ - DS_FilterTable_t FilterTable; - - DS_AppData.FilterTblPtr = &FilterTable; - - FilterTable.Packet[0].MessageID = 0x18BB; - - /* Execute the function being tested */ - DS_TableCreateHash(); - - /* Verify results */ - UtAssert_True (DS_AppData.HashLinks[0].Index == 0, "DS_AppData.HashLinks[0].Index == 0"); - UtAssert_True (DS_AppData.HashLinks[0].MessageID == 0x18BB, "DS_AppData.HashLinks[0].MessageID == 0x18BB"); - UtAssert_True (DS_AppData.HashTable[187] == &DS_AppData.HashLinks[0], "DS_AppData.HashTable[187] == &DS_AppData.HashLinks[0]"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 0, "Ut_CFE_EVS_GetEventQueueDepth() == 0"); -} /* end DS_TableCreateHash_Test_NullTable */ - -void DS_TableFindMsgID_Test(void) -{ - int32 Result; - CFE_SB_MsgId_t MessageID = 0x18BB; - DS_HashLink_t HashLink; - DS_FilterTable_t FilterTable; - - DS_AppData.FilterTblPtr = &FilterTable; - - DS_AppData.HashTable[187] = &HashLink; - - HashLink.Index = 1; - - DS_AppData.FilterTblPtr->Packet[HashLink.Index].MessageID = MessageID; - - /* Execute the function being tested */ - Result = DS_TableFindMsgID(MessageID); - - /* Verify results */ - UtAssert_True (Result == 1, "Result == 1"); - - UtAssert_True (Ut_CFE_EVS_GetEventQueueDepth() == 0, "Ut_CFE_EVS_GetEventQueueDepth() == 0"); -} /* end DS_TableFindMsgID_Test */ - -void DS_Table_Test_AddTestCases(void) -{ - UtTest_Add(DS_TableInit_Test_Nominal, DS_Test_Setup, DS_Test_TearDown, "DS_TableInit_Test_Nominal"); - UtTest_Add(DS_TableInit_Test_TableInfoRecovered, DS_Test_Setup, DS_Test_TearDown, "DS_TableInit_Test_TableInfoRecovered"); - UtTest_Add(DS_TableInit_Test_RegisterDestTableError, DS_Test_Setup, DS_Test_TearDown, "DS_TableInit_Test_RegisterDestTableError"); - UtTest_Add(DS_TableInit_Test_RegisterFilterTableError, DS_Test_Setup, DS_Test_TearDown, "DS_TableInit_Test_RegisterFilterTableError"); - UtTest_Add(DS_TableInit_Test_LoadDestTableError, DS_Test_Setup, DS_Test_TearDown, "DS_TableInit_Test_LoadDestTableError"); - UtTest_Add(DS_TableInit_Test_LoadFilterTableError, DS_Test_Setup, DS_Test_TearDown, "DS_TableInit_Test_LoadFilterTableError"); - - UtTest_Add(DS_TableManageDestFile_Test_TableInfoUpdated, DS_Test_Setup, DS_Test_TearDown, "DS_TableManageDestFile_Test_TableInfoUpdated"); - UtTest_Add(DS_TableManageDestFile_Test_TableNeverLoaded, DS_Test_Setup, DS_Test_TearDown, "DS_TableManageDestFile_Test_TableNeverLoaded"); - UtTest_Add(DS_TableManageDestFile_Test_TableInfoDumpPending, DS_Test_Setup, DS_Test_TearDown, "DS_TableManageDestFile_Test_TableInfoDumpPending"); - UtTest_Add(DS_TableManageDestFile_Test_TableInfoValidationPending, DS_Test_Setup, DS_Test_TearDown, "DS_TableManageDestFile_Test_TableInfoValidationPending"); - UtTest_Add(DS_TableManageDestFile_Test_TableInfoUpdatePending, DS_Test_Setup, DS_Test_TearDown, "DS_TableManageDestFile_Test_TableInfoUpdatePending"); - - UtTest_Add(DS_TableManageFilter_Test_TableInfoUpdated, DS_Test_Setup, DS_Test_TearDown, "DS_TableManageFilter_Test_TableInfoUpdated"); - UtTest_Add(DS_TableManageFilter_Test_TableNeverLoaded, DS_Test_Setup, DS_Test_TearDown, "DS_TableManageFilter_Test_TableNeverLoaded"); - UtTest_Add(DS_TableManageFilter_Test_TableInfoDumpPending, DS_Test_Setup, DS_Test_TearDown, "DS_TableManageFilter_Test_TableInfoDumpPending"); - UtTest_Add(DS_TableManageFilter_Test_TableInfoValidationPending, DS_Test_Setup, DS_Test_TearDown, "DS_TableManageFilter_Test_TableInfoValidationPending"); - UtTest_Add(DS_TableManageFilter_Test_TableInfoUpdatePending, DS_Test_Setup, DS_Test_TearDown, "DS_TableManageFilter_Test_TableInfoUpdatePending"); - - UtTest_Add(DS_TableVerifyDestFile_Test_Nominal, DS_Test_Setup, DS_Test_TearDown, "DS_TableVerifyDestFile_Test_Nominal"); - UtTest_Add(DS_TableVerifyDestFile_Test_DestFileTableVerificationError, DS_Test_Setup, DS_Test_TearDown, "DS_TableVerifyDestFile_Test_DestFileTableVerificationError"); - UtTest_Add(DS_TableVerifyDestFile_Test_CountBad, DS_Test_Setup, DS_Test_TearDown, "DS_TableVerifyDestFile_Test_CountBad"); - - UtTest_Add(DS_TableVerifyDestFileEntry_Test_Nominal, DS_Test_Setup, DS_Test_TearDown, "DS_TableVerifyDestFileEntry_Test_Nominal"); - UtTest_Add(DS_TableVerifyDestFileEntry_Test_InvalidPathname, DS_Test_Setup, DS_Test_TearDown, "DS_TableVerifyDestFileEntry_Test_InvalidPathname"); - UtTest_Add(DS_TableVerifyDestFileEntry_Test_InvalidBasename, DS_Test_Setup, DS_Test_TearDown, "DS_TableVerifyDestFileEntry_Test_InvalidBasename"); - UtTest_Add(DS_TableVerifyDestFileEntry_Test_InvalidExtension, DS_Test_Setup, DS_Test_TearDown, "DS_TableVerifyDestFileEntry_Test_InvalidExtension"); - UtTest_Add(DS_TableVerifyDestFileEntry_Test_InvalidFilenameType, DS_Test_Setup, DS_Test_TearDown, "DS_TableVerifyDestFileEntry_Test_InvalidFilenameType"); - UtTest_Add(DS_TableVerifyDestFileEntry_Test_InvalidFileEnableState, DS_Test_Setup, DS_Test_TearDown, "DS_TableVerifyDestFileEntry_Test_InvalidFileEnableState"); - UtTest_Add(DS_TableVerifyDestFileEntry_Test_InvalidSize, DS_Test_Setup, DS_Test_TearDown, "DS_TableVerifyDestFileEntry_Test_InvalidSize"); - UtTest_Add(DS_TableVerifyDestFileEntry_Test_InvalidAge, DS_Test_Setup, DS_Test_TearDown, "DS_TableVerifyDestFileEntry_Test_InvalidAge"); - UtTest_Add(DS_TableVerifyDestFileEntry_Test_InvalidSequenceCount, DS_Test_Setup, DS_Test_TearDown, "DS_TableVerifyDestFileEntry_Test_InvalidSequenceCount"); - - UtTest_Add(DS_TableVerifyFilter_Test_Nominal, DS_Test_Setup, DS_Test_TearDown, "DS_TableVerifyFilter_Test_Nominal"); - UtTest_Add(DS_TableVerifyFilter_Test_FilterTableVerificationError, DS_Test_Setup, DS_Test_TearDown, "DS_TableVerifyFilter_Test_FilterTableVerificationError"); - UtTest_Add(DS_TableVerifyFilter_Test_CountBad, DS_Test_Setup, DS_Test_TearDown, "DS_TableVerifyFilter_Test_CountBad"); - - UtTest_Add(DS_TableVerifyFilterEntry_Test_Nominal, DS_Test_Setup, DS_Test_TearDown, "DS_TableVerifyFilterEntry_Test_Nominal"); - UtTest_Add(DS_TableVerifyFilterEntry_Test_InvalidFileTableIndex, DS_Test_Setup, DS_Test_TearDown, "DS_TableVerifyFilterEntry_Test_InvalidFileTableIndex"); - UtTest_Add(DS_TableVerifyFilterEntry_Test_InvalidFilterType, DS_Test_Setup, DS_Test_TearDown, "DS_TableVerifyFilterEntry_Test_InvalidFilterType"); - UtTest_Add(DS_TableVerifyFilterEntry_Test_InvalidFilterParms, DS_Test_Setup, DS_Test_TearDown, "DS_TableVerifyFilterEntry_Test_InvalidFilterParms"); - - UtTest_Add(DS_TableEntryUnused_Test_Nominal, DS_Test_Setup, DS_Test_TearDown, "DS_TableEntryUnused_Test_Nominal"); - UtTest_Add(DS_TableEntryUnused_Test_Fail, DS_Test_Setup, DS_Test_TearDown, "DS_TableEntryUnused_Test_Fail"); - - UtTest_Add(DS_TableVerifyFileIndex_Test_Nominal, DS_Test_Setup, DS_Test_TearDown, "DS_TableVerifyFileIndex_Test_Nominal"); - UtTest_Add(DS_TableVerifyFileIndex_Test_Fail, DS_Test_Setup, DS_Test_TearDown, "DS_TableVerifyFileIndex_Test_Fail"); - - UtTest_Add(DS_TableVerifyParms_Test_NominalOnlyXNonZero, DS_Test_Setup, DS_Test_TearDown, "DS_TableVerifyParms_Test_NominalOnlyXNonZero"); - UtTest_Add(DS_TableVerifyParms_Test_NGreaterThanXOnlyNNonZero, DS_Test_Setup, DS_Test_TearDown, "DS_TableVerifyParms_Test_NGreaterThanXOnlyNNonZero"); - UtTest_Add(DS_TableVerifyParms_Test_OGreaterThanXOnlyONonZero, DS_Test_Setup, DS_Test_TearDown, "DS_TableVerifyParms_Test_OGreaterThanXOnlyONonZero"); - - UtTest_Add(DS_TableVerifyType_Test_Nominal, DS_Test_Setup, DS_Test_TearDown, "DS_TableVerifyType_Test_Nominal"); - UtTest_Add(DS_TableVerifyType_Test_Fail, DS_Test_Setup, DS_Test_TearDown, "DS_TableVerifyType_Test_Fail"); - - UtTest_Add(DS_TableVerifyState_Test_Nominal, DS_Test_Setup, DS_Test_TearDown, "DS_TableVerifyState_Test_Nominal"); - UtTest_Add(DS_TableVerifyState_Test_Fail, DS_Test_Setup, DS_Test_TearDown, "DS_TableVerifyState_Test_Fail"); - - UtTest_Add(DS_TableVerifySize_Test_Nominal, DS_Test_Setup, DS_Test_TearDown, "DS_TableVerifySize_Test_Nominal"); - UtTest_Add(DS_TableVerifySize_Test_Fail, DS_Test_Setup, DS_Test_TearDown, "DS_TableVerifySize_Test_Fail"); - - UtTest_Add(DS_TableVerifyAge_Test_Nominal, DS_Test_Setup, DS_Test_TearDown, "DS_TableVerifyAge_Test_Nominal"); - UtTest_Add(DS_TableVerifyAge_Test_Fail, DS_Test_Setup, DS_Test_TearDown, "DS_TableVerifyAge_Test_Fail"); - - UtTest_Add(DS_TableVerifyCount_Test_Nominal, DS_Test_Setup, DS_Test_TearDown, "DS_TableVerifyCount_Test_Nominal"); - UtTest_Add(DS_TableVerifyCount_Test_Fail, DS_Test_Setup, DS_Test_TearDown, "DS_TableVerifyCount_Test_Fail"); - - UtTest_Add(DS_TableSubscribe_Test, DS_Test_Setup, DS_Test_TearDown, "DS_TableSubscribe_Test"); - - UtTest_Add(DS_TableUnsubscribe_Test, DS_Test_Setup, DS_Test_TearDown, "DS_TableUnsubscribe_Test"); - - UtTest_Add(DS_TableCreateCDS_Test_NewCDSArea, DS_Test_Setup, DS_Test_TearDown, "DS_TableCreateCDS_Test_NewCDSArea"); - UtTest_Add(DS_TableCreateCDS_Test_PreExistingCDSArea, DS_Test_Setup, DS_Test_TearDown, "DS_TableCreateCDS_Test_PreExistingCDSArea"); - UtTest_Add(DS_TableCreateCDS_Test_Error, DS_Test_Setup, DS_Test_TearDown, "DS_TableCreateCDS_Test_Error"); - - UtTest_Add(DS_TableUpdateCDS_Test_Nominal, DS_Test_Setup, DS_Test_TearDown, "DS_TableUpdateCDS_Test_Nominal"); - UtTest_Add(DS_TableUpdateCDS_Test_Error, DS_Test_Setup, DS_Test_TearDown, "DS_TableUpdateCDS_Test_Error"); - - UtTest_Add(DS_TableHashFunction_Test, DS_Test_Setup, DS_Test_TearDown, "DS_TableHashFunction_Test"); - - UtTest_Add(DS_TableCreateHash_Test_Nominal, DS_Test_Setup, DS_Test_TearDown, "DS_TableCreateHash_Test_Nominal"); - UtTest_Add(DS_TableCreateHash_Test_NullTable, DS_Test_Setup, DS_Test_TearDown, "DS_TableCreateHash_Test_NullTable"); - - UtTest_Add(DS_TableFindMsgID_Test, DS_Test_Setup, DS_Test_TearDown, "DS_TableFindMsgID_Test"); -} /* end DS_Table_Test_AddTestCases */ - - -/************************/ -/* End of File Comment */ -/************************/ diff --git a/fsw/unit_test/ds_table_test.h b/fsw/unit_test/ds_table_test.h deleted file mode 100644 index a74e53a..0000000 --- a/fsw/unit_test/ds_table_test.h +++ /dev/null @@ -1,50 +0,0 @@ - /************************************************************************* - ** File: ds_table_test.h - ** - ** NASA Docket No. GSC-16,126-1, and identified as "Core Flight Software System - ** (CFS) Data Storage Application Version 2” - ** - ** Copyright © 2007-2014 United States Government as represented by the - ** Administrator of the National Aeronautics and Space Administration. All Rights - ** Reserved. - ** - ** Licensed under the Apache License, Version 2.0 (the "License"); - ** you may not use this file except in compliance with the License. - ** You may obtain a copy of the License at - ** http://www.apache.org/licenses/LICENSE-2.0 - ** - ** Unless required by applicable law or agreed to in writing, software - ** distributed under the License is distributed on an "AS IS" BASIS, - ** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - ** See the License for the specific language governing permissions and - ** limitations under the License. - ** - ** Purpose: - ** This file contains the function prototypes for the unit test cases for - ** the functions contained in the file ds_table.c - ** - ** References: - ** Flight Software Branch C Coding Standard Version 1.2 - ** CFS Development Standards Document - ** - ** Notes: - ** - *************************************************************************/ - -/* - * Includes - */ - -#include "utassert.h" -#include "uttest.h" - -/* - * Function Prototypes - */ - -void DS_Table_Test_AddTestCases(void); - - -/************************/ -/* End of File Comment */ -/************************/ diff --git a/fsw/unit_test/ds_test_log_altconfig.txt b/fsw/unit_test/ds_test_log_altconfig.txt deleted file mode 100644 index 3949dee..0000000 --- a/fsw/unit_test/ds_test_log_altconfig.txt +++ /dev/null @@ -1,1255 +0,0 @@ -############################################################################## -## $Id: ds_test_log_altconfig.txt 1.5.1.2 2017/02/06 01:43:29EST mdeschu Exp $ -## -## Purpose: CFS DS application unit test baseline output log for alternate -## configuration of ds_platform_cfg.h -## -## Author: Charles Zogby -## -############################################################################## - -DS 2.5.0.0 Unit Test Output (with modified ds_platform_cfg.h: DS_FILE_HEADER_TYPE = 2, DS_MOVE_FILES = TRUE): - -./ds_testrunner.exe - -Running Test: DS_AppMain_Test_Nominal -ERROR EVENT ID=8 Unable to load default Destination File Table: Filename = '/cf/apps/ds_file_tbl.tbl', Error = 0xCC000013 -ERROR EVENT ID=8 Unable to load default Filter Table: Filename = '/cf/apps/ds_filter_tbl.tbl', Error = 0xCC000013 -INFO EVENT ID=1 Application initialized, version 2.5.0.0, data at 0x0809FA80 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 3 - -Running Test: DS_AppMain_Test_RegisterAppError -CRITICAL EVENT ID=3 Application terminating, err = 0xFFFFFFFF -SYSTEM LOG: DS application terminating, err = 0xFFFFFFFF - -PASS: Application terminating, err = 0xFFFFFFFF -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 -PASS: DS application terminating, err = 0xFFFFFFFF - -PASS: Ut_CFE_ES_GetSysLogQueueDepth() == 1 - -Running Test: DS_AppMain_Test_AppInitializeError -ERROR EVENT ID=2 Unable to register for EVS services, err = 0xFFFFFFFF -CRITICAL EVENT ID=3 Application terminating, err = 0xFFFFFFFF -SYSTEM LOG: DS application terminating, err = 0xFFFFFFFF - -PASS: Application terminating, err = 0xFFFFFFFF -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 2 -PASS: DS application terminating, err = 0xFFFFFFFF - -PASS: Ut_CFE_ES_GetSysLogQueueDepth() == 1 - -Running Test: DS_AppMain_Test_SBError -ERROR EVENT ID=8 Unable to load default Destination File Table: Filename = '/cf/apps/ds_file_tbl.tbl', Error = 0xCC000013 -ERROR EVENT ID=8 Unable to load default Filter Table: Filename = '/cf/apps/ds_filter_tbl.tbl', Error = 0xCC000013 -INFO EVENT ID=1 Application initialized, version 2.5.0.0, data at 0x0809FA80 -CRITICAL EVENT ID=3 Application terminating, err = 0xFFFFFFFF -SYSTEM LOG: DS application terminating, err = 0xFFFFFFFF - -PASS: Application terminating, err = 0xFFFFFFFF -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 4 -PASS: DS application terminating, err = 0xFFFFFFFF - -PASS: Ut_CFE_ES_GetSysLogQueueDepth() == 1 - -Running Test: DS_AppInitialize_Test_Nominal -ERROR EVENT ID=8 Unable to load default Destination File Table: Filename = '/cf/apps/ds_file_tbl.tbl', Error = 0xCC000013 -ERROR EVENT ID=8 Unable to load default Filter Table: Filename = '/cf/apps/ds_filter_tbl.tbl', Error = 0xCC000013 -INFO EVENT ID=1 Application initialized, version 2.5.0.0, data at 0x0809FA80 -PASS: DS_AppData.AppEnableState == DS_DEF_ENABLE_STATE -PASS: DS_AppData.FileStatus[0].FileHandle == DS_CLOSED_FILE_HANDLE -PASS: DS_AppData.FileStatus[DS_DEST_FILE_CNT/2].FileHandle == DS_CLOSED_FILE_HANDLE -PASS: DS_AppData.FileStatus[DS_DEST_FILE_CNT-1].FileHandle == DS_CLOSED_FILE_HANDLE -PASS: Application initialized, version 2.5.0.0, data at 0x0809FA80 -PASS: Result == CFE_SUCCESS -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 3 - -Running Test: DS_AppInitialize_Test_EVSRegisterError -ERROR EVENT ID=2 Unable to register for EVS services, err = 0xFFFFFFFF -PASS: DS_AppData.AppEnableState == DS_DEF_ENABLE_STATE -PASS: DS_AppData.FileStatus[0].FileHandle == DS_CLOSED_FILE_HANDLE -PASS: DS_AppData.FileStatus[DS_DEST_FILE_CNT/2].FileHandle == DS_CLOSED_FILE_HANDLE -PASS: DS_AppData.FileStatus[DS_DEST_FILE_CNT-1].FileHandle == DS_CLOSED_FILE_HANDLE -PASS: Unable to register for EVS services, err = 0xFFFFFFFF -PASS: Result == -1 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_AppInitialize_Test_SBCreatePipeError -ERROR EVENT ID=2 Unable to create input pipe, err = 0xFFFFFFFF -PASS: DS_AppData.AppEnableState == DS_DEF_ENABLE_STATE -PASS: DS_AppData.FileStatus[0].FileHandle == DS_CLOSED_FILE_HANDLE -PASS: DS_AppData.FileStatus[DS_DEST_FILE_CNT/2].FileHandle == DS_CLOSED_FILE_HANDLE -PASS: DS_AppData.FileStatus[DS_DEST_FILE_CNT-1].FileHandle == DS_CLOSED_FILE_HANDLE -PASS: Unable to create input pipe, err = 0xFFFFFFFF -PASS: Result == -1 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_AppInitialize_Test_SBSubscribeHKError -ERROR EVENT ID=2 Unable to subscribe to HK request, err = 0xFFFFFFFF -PASS: DS_AppData.AppEnableState == DS_DEF_ENABLE_STATE -PASS: DS_AppData.FileStatus[0].FileHandle == DS_CLOSED_FILE_HANDLE -PASS: DS_AppData.FileStatus[DS_DEST_FILE_CNT/2].FileHandle == DS_CLOSED_FILE_HANDLE -PASS: DS_AppData.FileStatus[DS_DEST_FILE_CNT-1].FileHandle == DS_CLOSED_FILE_HANDLE -PASS: Unable to subscribe to HK request, err = 0xFFFFFFFF -PASS: Result == -1 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_AppInitialize_Test_SBSubscribeDSError -ERROR EVENT ID=2 Unable to subscribe to DS commands, err = 0xFFFFFFFF -PASS: DS_AppData.AppEnableState == DS_DEF_ENABLE_STATE -PASS: DS_AppData.FileStatus[0].FileHandle == DS_CLOSED_FILE_HANDLE -PASS: DS_AppData.FileStatus[DS_DEST_FILE_CNT/2].FileHandle == DS_CLOSED_FILE_HANDLE -PASS: DS_AppData.FileStatus[DS_DEST_FILE_CNT-1].FileHandle == DS_CLOSED_FILE_HANDLE -PASS: Unable to subscribe to DS commands, err = 0xFFFFFFFF -PASS: Result == -1 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_AppProcessMsg_Test_Cmd -INFO EVENT ID=31 NOOP command, Version 2.5.0.0 -PASS: NOOP command, Version 2.5.0.0 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_AppProcessMsg_Test_HK -PKT: 08 B8 C0 00 00 65 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 66 66 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_AppProcessMsg_Test_HKInvalidRequest -ERROR EVENT ID=22 Invalid HK request length: expected = 8, actual = 0 -PASS: Invalid HK request length: expected = 8, actual = 0 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_AppProcessMsg_Test_UnknownMID -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_AppProcessCmd_Test_Noop -INFO EVENT ID=31 NOOP command, Version 2.5.0.0 -PASS: NOOP command, Version 2.5.0.0 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_AppProcessCmd_Test_Reset -DEBUG EVENT ID=33 Reset counters command -PASS: Reset counters command -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_AppProcessCmd_Test_SetAppState -DEBUG EVENT ID=35 APP STATE command: state = 0 -PASS: APP STATE command: state = 0 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_AppProcessCmd_Test_SetFilterFile -ERROR EVENT ID=38 Invalid FILTER FILE command: packet filter table is not loaded -PASS: Invalid FILTER FILE command: packet filter table is not loaded -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_AppProcessCmd_Test_SetFilterType -ERROR EVENT ID=40 Invalid FILTER TYPE command arg: filter type = 0 -PASS: Invalid FILTER TYPE command arg: filter type = 0 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_AppProcessCmd_Test_SetFilterParms -ERROR EVENT ID=42 Invalid FILTER PARMS command arg: invalid messageID = 0x0000 -PASS: Invalid FILTER PARMS command arg: invalid messageID = 0x0000 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_AppProcessCmd_Test_SetDestType -ERROR EVENT ID=44 Invalid DEST TYPE command arg: filename type = 0 -PASS: Invalid DEST TYPE command arg: filename type = 0 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_AppProcessCmd_Test_SetDestState -ERROR EVENT ID=46 Invalid DEST STATE command: destination file table is not loaded -PASS: Invalid DEST STATE command: destination file table is not loaded -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_AppProcessCmd_Test_SetDestPath -ERROR EVENT ID=48 Invalid DEST PATH command arg: pathname -PASS: Invalid DEST PATH command arg: pathname -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_AppProcessCmd_Test_SetDestBase -ERROR EVENT ID=50 Invalid DEST BASE command: destination file table is not loaded -PASS: Invalid DEST BASE command: destination file table is not loaded -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_AppProcessCmd_Test_SetDestExt -ERROR EVENT ID=52 Invalid DEST EXT command: destination file table is not loaded -PASS: Invalid DEST EXT command: destination file table is not loaded -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_AppProcessCmd_Test_SetDestSize -ERROR EVENT ID=54 Invalid DEST SIZE command arg: size limit = 0 -PASS: Invalid DEST SIZE command arg: size limit = 0 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_AppProcessCmd_Test_SetDestAge -ERROR EVENT ID=56 Invalid DEST AGE command arg: age limit = 0 -PASS: Invalid DEST AGE command arg: age limit = 0 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_AppProcessCmd_Test_SetDestCount -ERROR EVENT ID=58 Invalid DEST COUNT command: destination file table is not loaded -PASS: Invalid DEST COUNT command: destination file table is not loaded -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_AppProcessCmd_Test_CloseFile -DEBUG EVENT ID=59 DEST CLOSE command: file table index = 0 -PASS: DEST CLOSE command: file table index = 0 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_AppProcessCmd_Test_GetFileInfo -DEBUG EVENT ID=62 GET FILE INFO command -PKT: 08 B9 C0 00 05 45 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -PASS: GET FILE INFO command -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_AppProcessCmd_Test_AddMID -ERROR EVENT ID=65 Invalid ADD MID command: filter table is not loaded -PASS: Invalid ADD MID command: filter table is not loaded -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_AppProcessCmd_Test_CloseAll -DEBUG EVENT ID=66 DEST CLOSE ALL command -PASS: DEST CLOSE ALL command -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_AppProcessCmd_Test_InvalidCommandCode -ERROR EVENT ID=21 Invalid command code: MID = 0x18BB, CC = 99 -PASS: Invalid command code: MID = 0x18BB, CC = 99 -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_AppProcessHK_Test -PKT: 08 B8 C0 00 00 65 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -PASS: DS_AppData.FileStatus[0].FileRate == 99 / DS_SECS_PER_HK_CYCLE -PASS: DS_AppData.FileStatus[0].FileGrowth == 0 -PASS: DS_AppData.FileStatus[DS_DEST_FILE_CNT/2].FileRate == 99 / DS_SECS_PER_HK_CYCLE -PASS: DS_AppData.FileStatus[DS_DEST_FILE_CNT/2].FileGrowth == 0 -PASS: DS_AppData.FileStatus[DS_DEST_FILE_CNT - 1].FileRate == 99 / DS_SECS_PER_HK_CYCLE -PASS: DS_AppData.FileStatus[DS_DEST_FILE_CNT - 1].FileGrowth == 0 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 -PASS: DS_HkPacket_t is 32-bit aligned - -Running Test: DS_AppStorePacket_Test_Nominal -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_AppStorePacket_Test_DSDisabled -PASS: DS_AppData.DisabledPktCounter == 1 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_AppStorePacket_Test_FilterTableNotLoaded -PASS: DS_AppData.IgnoredPktCounter == 1 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_AppStorePacket_Test_DestFileTableNotLoaded -PASS: DS_AppData.IgnoredPktCounter == 1 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_CmdNoop_Test_Nominal -INFO EVENT ID=31 NOOP command, Version 2.5.0.0 -PASS: DS_AppData.CmdAcceptedCounter == 1 -PASS: NOOP command, Version 2.5.0.0 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 -PASS: DS_NoopCmd_t is 32-bit aligned - -Running Test: DS_CmdNoop_Test_InvalidCommandLength -ERROR EVENT ID=32 Invalid NOOP command length: expected = 8, actual = 1 -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid NOOP command length: expected = 8, actual = 1 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdReset_Test_Nominal -DEBUG EVENT ID=33 Reset counters command -PASS: DS_AppData.CmdAcceptedCounter == 0 -PASS: DS_AppData.CmdRejectedCounter == 0 -PASS: DS_AppData.DisabledPktCounter == 0 -PASS: DS_AppData.IgnoredPktCounter == 0 -PASS: DS_AppData.FilteredPktCounter == 0 -PASS: DS_AppData.PassedPktCounter == 0 -PASS: DS_AppData.FileWriteCounter == 0 -PASS: DS_AppData.FileWriteErrCounter == 0 -PASS: DS_AppData.FileUpdateCounter == 0 -PASS: DS_AppData.FileUpdateErrCounter == 0 -PASS: DS_AppData.DestTblLoadCounter == 0 -PASS: DS_AppData.DestTblErrCounter == 0 -PASS: DS_AppData.FilterTblLoadCounter == 0 -PASS: DS_AppData.FilterTblErrCounter == 0 -PASS: Reset counters command -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 -PASS: DS_ResetCmd_t is 32-bit aligned - -Running Test: DS_CmdReset_Test_InvalidCommandLength -ERROR EVENT ID=34 Invalid RESET command length: expected = 8, actual = 1 -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid RESET command length: expected = 8, actual = 1 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdSetAppState_Test_Nominal -DEBUG EVENT ID=35 APP STATE command: state = 1 -PASS: DS_AppData.CmdAcceptedCounter == 1 -PASS: DS_AppData.AppEnableState == TRUE -PASS: APP STATE command: state = 1 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 -PASS: DS_AppStateCmd_t is 32-bit aligned - -Running Test: DS_CmdSetAppState_Test_InvalidCommandLength -ERROR EVENT ID=36 Invalid APP STATE command length: expected = 12, actual = 1 -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid APP STATE command length: expected = 12, actual = 1 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdSetAppState_Test_InvalidAppState -ERROR EVENT ID=36 Invalid APP STATE command arg: app state = 99 -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid APP STATE command arg: app state = 99 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdSetFilterFile_Test_Nominal -DEBUG EVENT ID=37 FILTER FILE command: MID = 0x18BB, index = 0, filter = 2, file = 4 -PASS: DS_AppData.CmdAcceptedCounter == 1 -PASS: DS_AppData.FilterTblPtr->Packet[CmdPacket.FileTableIndex].Filter[CmdPacket.FilterParmsIndex].FileTableIndex == 0 -PASS: FILTER FILE command: MID = 0x18BB, index = 0, filter = 2, file = 4 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 -PASS: DS_FilterFileCmd_t is 32-bit aligned - -Running Test: DS_CmdSetFilterFile_Test_InvalidCommandLength -ERROR EVENT ID=38 Invalid FILTER FILE command length: expected = 16, actual = 1 -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid FILTER FILE command length: expected = 16, actual = 1 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdSetFilterFile_Test_InvalidMessageID -ERROR EVENT ID=38 Invalid FILTER FILE command arg: invalid messageID = 0x 0 -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid FILTER FILE command arg: invalid messageID = 0x 0 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdSetFilterFile_Test_InvalidFilterParametersIndex -ERROR EVENT ID=38 Invalid FILTER FILE command arg: filter parameters index = 4 -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid FILTER FILE command arg: filter parameters index = 4 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdSetFilterFile_Test_InvalidFileTableIndex -ERROR EVENT ID=38 Invalid FILTER FILE command arg: file table index = 99 -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid FILTER FILE command arg: file table index = 99 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdSetFilterFile_Test_FilterTableNotLoaded -ERROR EVENT ID=38 Invalid FILTER FILE command: packet filter table is not loaded -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid FILTER FILE command: packet filter table is not loaded -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdSetFilterFile_Test_MessageIDNotInFilterTable -ERROR EVENT ID=38 Invalid FILTER FILE command: Message ID 0x9999 is not in filter table -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid FILTER FILE command: Message ID 0x9999 is not in filter table -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdSetFilterType_Test_Nominal -DEBUG EVENT ID=39 FILTER TYPE command: MID = 0x18BB, index = 0, filter = 2, type = 1 -PASS: DS_AppData.CmdAcceptedCounter == 1 -PASS: DS_AppData.FilterTblPtr->Packet[0].Filter[CmdPacket.FilterParmsIndex].FilterType == 1 -PASS: FILTER TYPE command: MID = 0x18BB, index = 0, filter = 2, type = 1 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 -PASS: DS_FilterTypeCmd_t is 32-bit aligned - -Running Test: DS_CmdSetFilterType_Test_InvalidCommandLength -ERROR EVENT ID=40 Invalid FILTER TYPE command length: expected = 16, actual = 1 -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid FILTER TYPE command length: expected = 16, actual = 1 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdSetFilterType_Test_InvalidMessageID -ERROR EVENT ID=40 Invalid FILTER TYPE command arg: invalid messageID = 0x0000 -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid FILTER TYPE command arg: invalid messageID = 0x0000 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdSetFilterType_Test_InvalidFilterParametersIndex -ERROR EVENT ID=40 Invalid FILTER TYPE command arg: filter parameters index = 4 -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid FILTER TYPE command arg: filter parameters index = 4 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdSetFilterType_Test_InvalidFilterType -ERROR EVENT ID=40 Invalid FILTER TYPE command arg: filter type = 0 -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid FILTER TYPE command arg: filter type = 0 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdSetFilterType_Test_FilterTableNotLoaded -ERROR EVENT ID=40 Invalid FILTER TYPE command: packet filter table is not loaded -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid FILTER TYPE command: packet filter table is not loaded -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdSetFilterType_Test_MessageIDNotInFilterTable -ERROR EVENT ID=40 Invalid FILTER TYPE command: Message ID 0x9999 is not in filter table -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid FILTER TYPE command: Message ID 0x9999 is not in filter table -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdSetFilterParms_Test_Nominal -DEBUG EVENT ID=41 FILTER PARMS command: MID = 0x18BB, index = 0, filter = 2, N = 0, X = 0, O = 0 -PASS: DS_AppData.CmdAcceptedCounter == 1 -PASS: DS_AppData.FilterTblPtr->Packet[0].Filter[CmdPacket.FilterParmsIndex].Algorithm_N == 0 -PASS: DS_AppData.FilterTblPtr->Packet[0].Filter[CmdPacket.FilterParmsIndex].Algorithm_X == 0 -PASS: DS_AppData.FilterTblPtr->Packet[0].Filter[CmdPacket.FilterParmsIndex].Algorithm_O == 0 -PASS: FILTER PARMS command: MID = 0x18BB, index = 0, filter = 2, N = 0, X = 0, O = 0 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 -PASS: DS_FilterParmsCmd_t is 32-bit aligned - -Running Test: DS_CmdSetFilterParms_Test_InvalidCommandLength -ERROR EVENT ID=42 Invalid FILTER PARMS command length: expected = 20, actual = 1 -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid FILTER PARMS command length: expected = 20, actual = 1 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdSetFilterParms_Test_InvalidMessageID -ERROR EVENT ID=42 Invalid FILTER PARMS command arg: invalid messageID = 0x0000 -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid FILTER PARMS command arg: invalid messageID = 0x0000 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdSetFilterParms_Test_InvalidFilterParametersIndex -ERROR EVENT ID=42 Invalid FILTER PARMS command arg: filter parameters index = 4 -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid FILTER PARMS command arg: filter parameters index = 4 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdSetFilterParms_Test_InvalidFilterAlgorithm -ERROR EVENT ID=42 Invalid FILTER PARMS command arg: N = 1, X = 1, O = 1 -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid FILTER PARMS command arg: N = 1, X = 1, O = 1 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdSetFilterParms_Test_FilterTableNotLoaded -ERROR EVENT ID=42 Invalid FILTER PARMS command: packet filter table is not loaded -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid FILTER PARMS command: packet filter table is not loaded -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdSetFilterParms_Test_MessageIDNotInFilterTable -ERROR EVENT ID=42 Invalid FILTER PARMS command: Message ID 0x9999 is not in filter table -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid FILTER PARMS command: Message ID 0x9999 is not in filter table -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdSetDestType_Test_Nominal -DEBUG EVENT ID=43 DEST TYPE command: file table index = 1, filename type = 2 -PASS: DS_AppData.CmdAcceptedCounter == 1 -PASS: DS_AppData.DestFileTblPtr->File[CmdPacket.FileTableIndex].FileNameType == 2 -PASS: DEST TYPE command: file table index = 1, filename type = 2 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 -PASS: DS_DestTypeCmd_t is 32-bit aligned - -Running Test: DS_CmdSetDestType_Test_InvalidCommandLength -ERROR EVENT ID=44 Invalid DEST TYPE command length: expected = 12, actual = 1 -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid DEST TYPE command length: expected = 12, actual = 1 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdSetDestType_Test_InvalidFileTableIndex -ERROR EVENT ID=44 Invalid DEST TYPE command arg: file table index = 99 -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid DEST TYPE command arg: file table index = 99 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdSetDestType_Test_InvalidFilenameType -ERROR EVENT ID=44 Invalid DEST TYPE command arg: filename type = 99 -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid DEST TYPE command arg: filename type = 99 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdSetDestType_Test_FileTableNotLoaded -ERROR EVENT ID=44 Invalid DEST TYPE command: destination file table is not loaded -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid DEST TYPE command: destination file table is not loaded -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdSetDestState_Test_Nominal -DEBUG EVENT ID=45 DEST STATE command: file table index = 1, file state = 1 -PASS: DS_AppData.CmdAcceptedCounter == 1 -PASS: DS_AppData.DestFileTblPtr->File[CmdPacket.FileTableIndex].EnableState == CmdPacket.EnableState -PASS: DEST STATE command: file table index = 1, file state = 1 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 -PASS: DS_DestStateCmd_t is 32-bit aligned - -Running Test: DS_CmdSetDestState_Test_InvalidCommandLength -ERROR EVENT ID=46 Invalid DEST STATE command length: expected = 12, actual = 1 -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid DEST STATE command length: expected = 12, actual = 1 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdSetDestState_Test_InvalidFileTableIndex -ERROR EVENT ID=46 Invalid DEST STATE command arg: file table index = 99 -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid DEST STATE command arg: file table index = 99 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdSetDestState_Test_InvalidFileState -ERROR EVENT ID=46 Invalid DEST STATE command arg: file state = 99 -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid DEST STATE command arg: file state = 99 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdSetDestState_Test_FileTableNotLoaded -ERROR EVENT ID=46 Invalid DEST STATE command: destination file table is not loaded -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid DEST STATE command: destination file table is not loaded -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdSetDestPath_Test_Nominal -DEBUG EVENT ID=47 DEST PATH command: file table index = 1, pathname = 'pathname' -PASS: DS_AppData.CmdAcceptedCounter == 1 -PASS: strncmp (DS_AppData.DestFileTblPtr->File[CmdPacket.FileTableIndex].Pathname, 'pathname', OS_MAX_PATH_LEN) == 0 -PASS: DEST PATH command: file table index = 1, pathname = 'pathname' -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 -PASS: DS_DestPathCmd_t is 32-bit aligned - -Running Test: DS_CmdSetDestPath_Test_InvalidCommandLength -ERROR EVENT ID=48 Invalid DEST PATH command length: expected = 76, actual = 1 -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid DEST PATH command length: expected = 76, actual = 1 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdSetDestPath_Test_InvalidFileTableIndex -ERROR EVENT ID=48 Invalid DEST PATH command arg: file table index = 99 -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid DEST PATH command arg: file table index = 99 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdSetDestPath_Test_InvalidPathname -ERROR EVENT ID=48 Invalid DEST PATH command arg: pathname -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid DEST PATH command arg: pathname -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdSetDestPath_Test_FileTableNotLoaded -ERROR EVENT ID=48 Invalid DEST PATH command: destination file table is not loaded -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid DEST PATH command: destination file table is not loaded -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdSetDestBase_Test_Nominal -DEBUG EVENT ID=49 DEST BASE command: file table index = 1, base filename = 'base' -PASS: DS_AppData.CmdAcceptedCounter == 1 -PASS: strncmp (DS_AppData.DestFileTblPtr->File[CmdPacket.FileTableIndex].Basename, 'base', OS_MAX_PATH_LEN) == 0 -PASS: DEST BASE command: file table index = 1, base filename = 'base' -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 -PASS: DS_DestBaseCmd_t is 32-bit aligned - -Running Test: DS_CmdSetDestBase_Test_InvalidCommandLength -ERROR EVENT ID=50 Invalid DEST BASE command length: expected = 76, actual = 1 -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid DEST BASE command length: expected = 76, actual = 1 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdSetDestBase_Test_InvalidFileTableIndex -ERROR EVENT ID=50 Invalid DEST BASE command arg: file table index = 99 -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid DEST BASE command arg: file table index = 99 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdSetDestBase_Test_InvalidBaseFilename -ERROR EVENT ID=50 Invalid DEST BASE command arg: base filename -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid DEST BASE command arg: base filename -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdSetDestBase_Test_FileTableNotLoaded -ERROR EVENT ID=50 Invalid DEST BASE command: destination file table is not loaded -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid DEST BASE command: destination file table is not loaded -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdSetDestExt_Test_Nominal -DEBUG EVENT ID=51 DEST EXT command: file table index = 1, extension = 'txt' -PASS: DS_AppData.CmdAcceptedCounter == 1 -PASS: strncmp (DS_AppData.DestFileTblPtr->File[CmdPacket.FileTableIndex].Extension, 'txt', DS_EXTENSION_BUFSIZE) == 0 -PASS: DEST EXT command: file table index = 1, extension = 'txt' -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 -PASS: DS_DestExtCmd_t is 32-bit aligned - -Running Test: DS_CmdSetDestExt_Test_InvalidCommandLength -ERROR EVENT ID=52 Invalid DEST EXT command length: expected = 20, actual = 1 -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid DEST EXT command length: expected = 20, actual = 1 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdSetDestExt_Test_InvalidFileTableIndex -ERROR EVENT ID=52 Invalid DEST EXT command arg: file table index = 99 -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid DEST EXT command arg: file table index = 99 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdSetDestExt_Test_InvalidFilenameExtension -ERROR EVENT ID=52 Invalid DEST EXT command arg: extension -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid DEST EXT command arg: extension -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdSetDestExt_Test_FileTableNotLoaded -ERROR EVENT ID=52 Invalid DEST EXT command: destination file table is not loaded -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid DEST EXT command: destination file table is not loaded -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdSetDestSize_Test_Nominal -DEBUG EVENT ID=53 DEST SIZE command: file table index = 1, size limit = 100000000 -PASS: DS_AppData.CmdAcceptedCounter == 1 -PASS: DS_AppData.DestFileTblPtr->File[CmdPacket.FileTableIndex].MaxFileSize == 100000000 -PASS: DEST SIZE command: file table index = 1, size limit = 100000000 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 -PASS: DS_DestSizeCmd_t is 32-bit aligned - -Running Test: DS_CmdSetDestSize_Test_InvalidCommandLength -ERROR EVENT ID=54 Invalid DEST SIZE command length: expected = 16, actual = 1 -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid DEST SIZE command length: expected = 16, actual = 1 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdSetDestSize_Test_InvalidFileTableIndex -ERROR EVENT ID=54 Invalid DEST SIZE command arg: file table index = 99 -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid DEST SIZE command arg: file table index = 99 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdSetDestSize_Test_InvalidFileSizeLimit -ERROR EVENT ID=54 Invalid DEST SIZE command arg: size limit = 1 -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid DEST SIZE command arg: size limit = 1 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdSetDestSize_Test_FileTableNotLoaded -ERROR EVENT ID=54 Invalid DEST SIZE command: destination file table is not loaded -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid DEST SIZE command: destination file table is not loaded -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdSetDestAge_Test_Nominal -DEBUG EVENT ID=55 DEST AGE command: file table index = 1, age limit = 1000 -PASS: DS_AppData.CmdAcceptedCounter == 1 -PASS: DS_AppData.DestFileTblPtr->File[CmdPacket.FileTableIndex].MaxFileAge == 1000 -PASS: DEST AGE command: file table index = 1, age limit = 1000 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 -PASS: DS_DestAgeCmd_t is 32-bit aligned - -Running Test: DS_CmdSetDestAge_Test_InvalidCommandLength -ERROR EVENT ID=56 Invalid DEST AGE command length: expected = 16, actual = 1 -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid DEST AGE command length: expected = 16, actual = 1 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdSetDestAge_Test_InvalidFileTableIndex -ERROR EVENT ID=56 Invalid DEST AGE command arg: file table index = 99 -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid DEST AGE command arg: file table index = 99 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdSetDestAge_Test_InvalidFileAgeLimit -ERROR EVENT ID=56 Invalid DEST AGE command arg: age limit = 1 -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid DEST AGE command arg: age limit = 1 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdSetDestAge_Test_FileTableNotLoaded -ERROR EVENT ID=56 Invalid DEST AGE command: destination file table is not loaded -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid DEST AGE command: destination file table is not loaded -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdSetDestCount_Test_Nominal -DEBUG EVENT ID=57 DEST COUNT command: file table index = 1, sequence count = 1 -PASS: DS_AppData.CmdAcceptedCounter == 1 -PASS: DS_AppData.DestFileTblPtr->File[CmdPacket.FileTableIndex].SequenceCount == 1 -PASS: DS_AppData.FileStatus[CmdPacket.FileTableIndex].FileCount == 1 -PASS: DEST COUNT command: file table index = 1, sequence count = 1 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 -PASS: DS_DestCountCmd_t is 32-bit aligned - -Running Test: DS_CmdSetDestCount_Test_InvalidCommandLength -ERROR EVENT ID=58 Invalid DEST COUNT command length: expected = 16, actual = 1 -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid DEST COUNT command length: expected = 16, actual = 1 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdSetDestCount_Test_InvalidFileTableIndex -ERROR EVENT ID=58 Invalid DEST COUNT command arg: file table index = 99 -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid DEST COUNT command arg: file table index = 99 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdSetDestCount_Test_InvalidFileSequenceCount -ERROR EVENT ID=58 Invalid DEST COUNT command arg: sequence count = -1 -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid DEST COUNT command arg: sequence count = -1 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdSetDestCount_Test_FileTableNotLoaded -ERROR EVENT ID=58 Invalid DEST COUNT command: destination file table is not loaded -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid DEST COUNT command: destination file table is not loaded -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdCloseFile_Test_InvalidCommandLength -ERROR EVENT ID=60 Invalid DEST CLOSE command length: expected = 12, actual = 1 -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid DEST CLOSE command length: expected = 12, actual = 1 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdCloseFile_Test_InvalidFileTableIndex -ERROR EVENT ID=60 Invalid DEST CLOSE command arg: file table index = 99 -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid DEST CLOSE command arg: file table index = 99 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdCloseAll_Test_Nominal -DEBUG EVENT ID=66 DEST CLOSE ALL command -PASS: DS_AppData.CmdAcceptedCounter == 1 -PASS: DEST CLOSE ALL command -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 -PASS: DS_CloseAllCmd_t is 32-bit aligned - -Running Test: DS_CmdCloseAll_Test_InvalidCommandLength -ERROR EVENT ID=67 Invalid DEST CLOSE ALL command length: expected = 8, actual = 1 -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid DEST CLOSE ALL command length: expected = 8, actual = 1 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdGetFileInfo_Test_EnabledOpen -DEBUG EVENT ID=62 GET FILE INFO command -PKT: 08 B9 C0 00 05 45 00 00 00 00 00 00 01 00 00 00 02 00 00 00 03 00 00 00 04 00 00 00 05 00 01 00 66 69 6C 65 6E 61 6D 65 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 02 00 00 00 03 00 00 00 04 00 00 00 05 00 01 00 66 69 6C 65 6E 61 6D 65 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 02 00 00 00 03 00 00 00 04 00 00 00 05 00 01 00 66 69 6C 65 6E 61 6D 65 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 02 00 00 00 03 00 00 00 04 00 00 00 05 00 01 00 66 69 6C 65 6E 61 6D 65 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 02 00 00 00 03 00 00 00 04 00 00 00 05 00 01 00 66 69 6C 65 6E 61 6D 65 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 02 00 00 00 03 00 00 00 04 00 00 00 05 00 01 00 66 69 6C 65 6E 61 6D 65 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 02 00 00 00 03 00 00 00 04 00 00 00 05 00 01 00 66 69 6C 65 6E 61 6D 65 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 02 00 00 00 03 00 00 00 04 00 00 00 05 00 01 00 66 69 6C 65 6E 61 6D 65 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 02 00 00 00 03 00 00 00 04 00 00 00 05 00 01 00 66 69 6C 65 6E 61 6D 65 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 02 00 00 00 03 00 00 00 04 00 00 00 05 00 01 00 66 69 6C 65 6E 61 6D 65 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 02 00 00 00 03 00 00 00 04 00 00 00 05 00 01 00 66 69 6C 65 6E 61 6D 65 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 02 00 00 00 03 00 00 00 04 00 00 00 05 00 01 00 66 69 6C 65 6E 61 6D 65 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 02 00 00 00 03 00 00 00 04 00 00 00 05 00 01 00 66 69 6C 65 6E 61 6D 65 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 02 00 00 00 03 00 00 00 04 00 00 00 05 00 01 00 66 69 6C 65 6E 61 6D 65 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 02 00 00 00 03 00 00 00 04 00 00 00 05 00 01 00 66 69 6C 65 6E 61 6D 65 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 02 00 00 00 03 00 00 00 04 00 00 00 05 00 01 00 66 69 6C 65 6E 61 6D 65 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -PASS: DS_AppData.CmdAcceptedCounter == 1 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 -PASS: DS_FileInfoPkt_t is 32-bit aligned - -Running Test: DS_CmdGetFileInfo_Test_DisabledClosed -DEBUG EVENT ID=62 GET FILE INFO command -PKT: 08 B9 C0 00 05 45 00 00 00 00 00 00 01 00 00 00 02 00 00 00 03 00 00 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 02 00 00 00 03 00 00 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 02 00 00 00 03 00 00 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 02 00 00 00 03 00 00 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 02 00 00 00 03 00 00 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 02 00 00 00 03 00 00 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 02 00 00 00 03 00 00 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 02 00 00 00 03 00 00 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 02 00 00 00 03 00 00 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 02 00 00 00 03 00 00 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 02 00 00 00 03 00 00 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 02 00 00 00 03 00 00 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 02 00 00 00 03 00 00 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 02 00 00 00 03 00 00 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 02 00 00 00 03 00 00 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 02 00 00 00 03 00 00 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -PASS: DS_AppData.CmdAcceptedCounter == 1 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdGetFileInfo_Test_InvalidCommandLength -ERROR EVENT ID=63 Invalid GET FILE INFO command length: expected = 8, actual = 1 -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid GET FILE INFO command length: expected = 8, actual = 1 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdAddMID_Test_Nominal -PASS: DS_AddMidCmd_t is 32-bit aligned -DEBUG EVENT ID=64 ADD MID command: MID = 0x18BB, index = 0 -PASS: DS_AppData.CmdAcceptedCounter == 1 -PASS: DS_AppData.FilterTblPtr->Packet[FilterTableIndex].MessageID == 0x18BB -PASS: DS_AppData.FilterTblPtr->Packet[FilterTableIndex].Filter[0].FileTableIndex == 0 -PASS: DS_AppData.FilterTblPtr->Packet[FilterTableIndex].Filter[0].FilterType == DS_BY_COUNT -PASS: DS_AppData.FilterTblPtr->Packet[FilterTableIndex].Filter[0].Algorithm_N == 0 -PASS: DS_AppData.FilterTblPtr->Packet[FilterTableIndex].Filter[0].Algorithm_X == 0 -PASS: DS_AppData.FilterTblPtr->Packet[FilterTableIndex].Filter[0].Algorithm_O == 0 -PASS: DS_AppData.FilterTblPtr->Packet[FilterTableIndex].Filter[DS_FILTERS_PER_PACKET/2].FileTableIndex == 0 -PASS: DS_AppData.FilterTblPtr->Packet[FilterTableIndex].Filter[DS_FILTERS_PER_PACKET/2].FilterType == DS_BY_COUNT -PASS: DS_AppData.FilterTblPtr->Packet[FilterTableIndex].Filter[DS_FILTERS_PER_PACKET/2].Algorithm_N == 0 -PASS: DS_AppData.FilterTblPtr->Packet[FilterTableIndex].Filter[DS_FILTERS_PER_PACKET/2].Algorithm_X == 0 -PASS: DS_AppData.FilterTblPtr->Packet[FilterTableIndex].Filter[DS_FILTERS_PER_PACKET/2].Algorithm_O == 0 -PASS: DS_AppData.FilterTblPtr->Packet[FilterTableIndex].Filter[DS_FILTERS_PER_PACKET-1].FileTableIndex == 0 -PASS: DS_AppData.FilterTblPtr->Packet[FilterTableIndex].Filter[DS_FILTERS_PER_PACKET-1].FilterType == DS_BY_COUNT -PASS: DS_AppData.FilterTblPtr->Packet[FilterTableIndex].Filter[DS_FILTERS_PER_PACKET-1].Algorithm_N == 0 -PASS: DS_AppData.FilterTblPtr->Packet[FilterTableIndex].Filter[DS_FILTERS_PER_PACKET-1].Algorithm_X == 0 -PASS: DS_AppData.FilterTblPtr->Packet[FilterTableIndex].Filter[DS_FILTERS_PER_PACKET-1].Algorithm_O == 0 -PASS: DS_AppData.HashLinks[0].Index == 0 -PASS: DS_AppData.HashLinks[0].MessageID == 0x18BB -PASS: ADD MID command: MID = 0x18BB, index = 0 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdAddMID_Test_InvalidCommandLength -ERROR EVENT ID=65 Invalid ADD MID command length: expected = 12, actual = 1 -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid ADD MID command length: expected = 12, actual = 1 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdAddMID_Test_InvalidMessageID -ERROR EVENT ID=65 Invalid ADD MID command arg: invalid MID = 0x 0 -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid ADD MID command arg: invalid MID = 0x 0 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdAddMID_Test_FilterTableNotLoaded -ERROR EVENT ID=65 Invalid ADD MID command: filter table is not loaded -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid ADD MID command: filter table is not loaded -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdAddMID_Test_MIDAlreadyInFilterTable -ERROR EVENT ID=65 Invalid ADD MID command: MID = 0x18BB is already in filter table at index = 0 -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid ADD MID command: MID = 0x18BB is already in filter table at index = 0 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdAddMID_Test_FilterTableFull -ERROR EVENT ID=65 Invalid ADD MID command: filter table is full -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid ADD MID command: filter table is full -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_FileStorePacket_Test_Nominal -PASS: DS_AppData.PassedPktCounter == 1 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_FileStorePacket_Test_PacketNotInTable -PASS: DS_AppData.IgnoredPktCounter == 1 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_FileStorePacket_Test_PassedFilterFalse -PASS: DS_AppData.FilteredPktCounter == 1 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_FileSetupWrite_Test_Nominal -PASS: DS_AppData.CurrentPktTime == 0 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_FileSetupWrite_Test_FileHandleClosed -PASS: DS_AppData.CurrentPktTime == 0 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_FileSetupWrite_Test_MaxFileSizeExceeded -PASS: DS_AppData.CurrentPktTime == 0 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_FileWriteData_Test_Nominal -PASS: DS_AppData.FileWriteCounter == 1 -PASS: DS_AppData.FileStatus[FileIndex].FileSize == 10 -PASS: DS_AppData.FileStatus[FileIndex].FileGrowth == 10 -PASS: DS_AppData.LastPktTime[FileIndex] == 0 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_FileWriteData_Test_Error -ERROR EVENT ID=16 FILE WRITE error: result = -1, length = 10, dest = 0, name = 'directory1/' -PASS: FILE WRITE error: result = -1, length = 10, dest = 0, name = 'directory1/' -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_FileWriteHeader_Test_PlatformConfigGPM_Nominal -PASS: DS_AppData.FileWriteCounter == 1 -PASS: DS_AppData.FileStatus[FileIndex].FileSize == sizeof(DS_FileHeaderGPM_t) -PASS: DS_AppData.FileStatus[FileIndex].FileGrowth == sizeof(DS_FileHeaderGPM_t) -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_FileWriteHeader_Test_PlatformConfigGPM_HeaderError -ERROR EVENT ID=16 FILE WRITE error: result = -1, length = 48, dest = 0, name = 'directory1/filename' -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_FileCreateDest_Test_Nominal -PASS: DS_AppData.FileWriteCounter == 2 -PASS: DS_AppData.FileStatus[FileIndex].FileHandle == 5 -PASS: DS_AppData.FileStatus[FileIndex].FileCount == 5 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_FileCreateDest_Test_Error -ERROR EVENT ID=15 FILE CREATE error: result = -1, dest = 0, name = 'path/basename.extension' -PASS: DS_AppData.FileWriteErrCounter == 1 -PASS: FILE CREATE error: result = -1, dest = 0, name = 'path/basename.extension' -PASS: strncmp (DS_AppData.FileStatus[FileIndex].FileName, , DS_TOTAL_FNAME_BUFSIZE) == 0 -PASS: DS_AppData.FileStatus[FileIndex].FileState == DS_DISABLED -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_FileCreateName_Test_Nominal -PASS: strncmp (DS_AppData.FileStatus[FileIndex].FileName, 'path/basename.extension', DS_TOTAL_FNAME_BUFSIZE) == 0 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_FileCreateName_Test_Error -ERROR EVENT ID=14 FILE NAME error: dest = 0, path = 'path', base = 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa', seq = -PASS: FILE NAME error: dest = 0, path = 'path', base = 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa', seq = -PASS: DS_AppData.FileStatus[FileIndex].FileState == DS_DISABLED -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_FileCreateSequence_Test_PlatformConfigGPM_ByTime -PASS: strncmp(Sequence, '1980001000000', DS_TOTAL_FNAME_BUFSIZE) == 0 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_FileUpdateHeader_Test_PlatformConfigGPM_Nominal -PASS: DS_AppData.FileUpdateCounter == 1 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_FileUpdateHeader_Test_PlatformConfigGPM_WriteBufError -PASS: DS_AppData.FileUpdateErrCounter == 1 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_FileUpdateHeader_Test_PlatformConfigGPM_WriteLastPktTimeError -PASS: DS_AppData.FileUpdateErrCounter == 1 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_FileUpdateHeader_Test_PlatformConfigGPM_SeekError -PASS: DS_AppData.FileUpdateErrCounter == 1 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_FileCloseDest_Test_PlatformConfigMoveFiles_Nominal -PASS: DS_AppData.FileStatus[FileIndex].FileHandle == DS_CLOSED_FILE_HANDLE -PASS: DS_AppData.FileStatus[FileIndex].FileAge == 0 -PASS: DS_AppData.FileStatus[FileIndex].FileSize == 0 -PASS: DS_AppData.FileStatus[FileIndex].FileName[0] == 0 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_FileCloseDest_Test_PlatformConfigMoveFiles_MoveError -ERROR EVENT ID=61 FILE MOVE error: src = 'directory1/filename', tgt = 'directory2/movename/filename', result = -1 -PASS: FILE MOVE error: src = 'directory1/filename', tgt = 'directory2/movename/filename', result = -1 -PASS: DS_AppData.FileStatus[FileIndex].FileHandle == DS_CLOSED_FILE_HANDLE -PASS: DS_AppData.FileStatus[FileIndex].FileAge == 0 -PASS: DS_AppData.FileStatus[FileIndex].FileSize == 0 -PASS: DS_AppData.FileStatus[FileIndex].FileName[0] == 0 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_FileCloseDest_Test_PlatformConfigMoveFiles_FilenameTooLarge -ERROR EVENT ID=61 FILE MOVE error: dir name = 'directory2/movename', filename = '/filenamefilenamefilenamefilenamefilenamefilename' -PASS: FILE MOVE error: dir name = 'directory2/movename', filename = '/filenamefilenamefilen' -PASS: DS_AppData.FileStatus[FileIndex].FileHandle == DS_CLOSED_FILE_HANDLE -PASS: DS_AppData.FileStatus[FileIndex].FileAge == 0 -PASS: DS_AppData.FileStatus[FileIndex].FileSize == 0 -PASS: DS_AppData.FileStatus[FileIndex].FileName[0] == 0 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_FileTestAge_Test_Nominal -PASS: DS_AppData.FileStatus[FileIndex].FileAge == 2 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_FileTestAge_Test_ExceedMaxAge -PASS: DS_AppData.FileStatus[FileIndex].FileAge == 0 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_FileConvertGPM_Test -PASS: strncmp(Buffer, '99999999', 8) == 0 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_TableInit_Test_Nominal -PASS: Result == CFE_SUCCESS -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_TableInit_Test_TableInfoRecovered -DEBUG EVENT ID=7 Destination File Table data restored from CDS -DEBUG EVENT ID=7 Filter Table data restored from CDS -PASS: Result == CFE_SUCCESS -PASS: Destination File Table data restored from CDS -PASS: Filter Table data restored from CDS -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 2 - -Running Test: DS_TableInit_Test_RegisterDestTableError -ERROR EVENT ID=8 Unable to register Destination File Table: Error = 0x00000099 -PASS: Result == 0x99 -PASS: Unable to register Destination File Table: Error = 0x00000099 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_TableInit_Test_RegisterFilterTableError -ERROR EVENT ID=8 Unable to register Filter Table: Error = 0x00000099 -PASS: Result == 0x99 -PASS: Unable to register Filter Table: Error = 0x00000099 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_TableInit_Test_LoadDestTableError -ERROR EVENT ID=8 Unable to load default Destination File Table: Filename = '/cf/apps/ds_file_tbl.tbl', Error = 0xCC000013 -PASS: Result == CFE_SUCCESS -PASS: Unable to load default Destination File Table: Filename = '/cf/apps/ds_file_tbl.tbl', Error = 0xCC000013 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_TableInit_Test_LoadFilterTableError -ERROR EVENT ID=8 Unable to load default Filter Table: Filename = '/cf/apps/ds_filter_tbl.tbl', Error = 0xCC000013 -PASS: Result == CFE_SUCCESS -PASS: Unable to load default Filter Table: Filename = '/cf/apps/ds_filter_tbl.tbl', Error = 0xCC000013 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_TableManageDestFile_Test_TableInfoUpdated -PASS: DS_AppData.DestTblLoadCounter == 1 -PASS: DS_AppData.FileStatus[0].FileState == 0 -PASS: DS_AppData.FileStatus[0].FileCount == 0 -PASS: DS_AppData.FileStatus[DS_DEST_FILE_CNT/2].FileState == DS_DEST_FILE_CNT/2 -PASS: DS_AppData.FileStatus[DS_DEST_FILE_CNT/2].FileCount == DS_DEST_FILE_CNT/2 -PASS: DS_AppData.FileStatus[DS_DEST_FILE_CNT-1].FileState == DS_DEST_FILE_CNT-1 -PASS: DS_AppData.FileStatus[DS_DEST_FILE_CNT-1].FileCount == DS_DEST_FILE_CNT-1 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_TableManageDestFile_Test_TableNeverLoaded -PASS: DS_AppData.DestTblErrCounter == 1 -PASS: DS_AppData.DestFileTblPtr == (DS_DestFileTable_t *) NULL -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_TableManageDestFile_Test_TableInfoDumpPending -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_TableManageDestFile_Test_TableInfoValidationPending -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_TableManageDestFile_Test_TableInfoUpdatePending -PASS: DS_AppData.DestTblLoadCounter == 1 -PASS: DS_AppData.FileStatus[0].FileState == 0 -PASS: DS_AppData.FileStatus[0].FileCount == 0 -PASS: DS_AppData.FileStatus[DS_DEST_FILE_CNT/2].FileState == DS_DEST_FILE_CNT/2 -PASS: DS_AppData.FileStatus[DS_DEST_FILE_CNT/2].FileCount == DS_DEST_FILE_CNT/2 -PASS: DS_AppData.FileStatus[DS_DEST_FILE_CNT-1].FileState == DS_DEST_FILE_CNT-1 -PASS: DS_AppData.FileStatus[DS_DEST_FILE_CNT-1].FileCount == DS_DEST_FILE_CNT-1 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_TableManageFilter_Test_TableInfoUpdated -PASS: DS_AppData.FilterTblLoadCounter == 1 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_TableManageFilter_Test_TableNeverLoaded -PASS: DS_AppData.FilterTblErrCounter == 1 -PASS: DS_AppData.FilterTblPtr == (DS_FilterTable_t *) NULL -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_TableManageFilter_Test_TableInfoDumpPending -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_TableManageFilter_Test_TableInfoValidationPending -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_TableManageFilter_Test_TableInfoUpdatePending -PASS: DS_AppData.FilterTblLoadCounter == 1 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_TableVerifyDestFile_Test_Nominal -INFO EVENT ID=10 Destination file table verify results: desc text = OK, good entries = 1, bad = 0, unused = 15 -PASS: Result == CFE_SUCCESS -PASS: Destination file table verify results: desc text = OK, good entries = 1, bad = 0, unused = 15 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_TableVerifyDestFile_Test_DestFileTableVerificationError -ERROR EVENT ID=11 Destination file table verify err: invalid descriptor text -INFO EVENT ID=10 Destination file table verify results: desc text = bad, good entries = 1, bad = 0, unused = 15 -PASS: Result == DS_TABLE_VERIFY_ERR -PASS: Destination file table verify err: invalid descriptor text -PASS: Destination file table verify results: desc text = bad, good entries = 1, bad = 0, unused = 15 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 2 - -Running Test: DS_TableVerifyDestFile_Test_CountBad -ERROR EVENT ID=11 Destination file table verify err: index = 0, invalid extension text -INFO EVENT ID=10 Destination file table verify results: desc text = OK, good entries = 0, bad = 1, unused = 15 -PASS: Result == DS_TABLE_VERIFY_ERR -PASS: Destination file table verify err: index = 0, invalid extension text -PASS: Destination file table verify results: desc text = OK, good entries = 0, bad = 1, unused = 15 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 2 - -Running Test: DS_TableVerifyDestFileEntry_Test_Nominal -PASS: Result == TRUE -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_TableVerifyDestFileEntry_Test_InvalidPathname -ERROR EVENT ID=11 Destination file table verify err: index = 0, invalid pathname text -PASS: Result == FALSE -PASS: Destination file table verify err: index = 0, invalid pathname text -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_TableVerifyDestFileEntry_Test_InvalidBasename -ERROR EVENT ID=11 Destination file table verify err: index = 0, invalid basename text -PASS: Result == FALSE -PASS: Destination file table verify err: index = 0, invalid basename text -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_TableVerifyDestFileEntry_Test_InvalidExtension -ERROR EVENT ID=11 Destination file table verify err: index = 0, invalid extension text -PASS: Result == FALSE -PASS: Destination file table verify err: index = 0, invalid extension text -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_TableVerifyDestFileEntry_Test_InvalidFilenameType -ERROR EVENT ID=11 Destination file table verify err: index = 0, filename type = 99 -PASS: Result == FALSE -PASS: Destination file table verify err: index = 0, filename type = 99 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_TableVerifyDestFileEntry_Test_InvalidFileEnableState -ERROR EVENT ID=11 Destination file table verify err: index = 0, file enable state = 99 -PASS: Result == FALSE -PASS: Destination file table verify err: index = 0, file enable state = 99 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_TableVerifyDestFileEntry_Test_InvalidSize -ERROR EVENT ID=11 Destination file table verify err: index = 0, max file size = 1023 -PASS: Result == FALSE -PASS: Destination file table verify err: index = 0, max file size = 1023 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_TableVerifyDestFileEntry_Test_InvalidAge -ERROR EVENT ID=11 Destination file table verify err: index = 0, max file age = 59 -PASS: Result == FALSE -PASS: Destination file table verify err: index = 0, max file age = 59 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_TableVerifyDestFileEntry_Test_InvalidSequenceCount -ERROR EVENT ID=11 Destination file table verify err: index = 0, sequence count = 100000000 -PASS: Result == FALSE -PASS: Destination file table verify err: index = 0, sequence count = 100000000 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_TableVerifyFilter_Test_Nominal -INFO EVENT ID=12 Filter table verify results: desc text = OK, good entries = 1, bad = 0, unused = 255 -PASS: Result == CFE_SUCCESS -PASS: Filter table verify results: desc text = OK, good entries = 1, bad = 0, unused = 255 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_TableVerifyFilter_Test_FilterTableVerificationError -ERROR EVENT ID=13 Filter table verify err: invalid descriptor text -INFO EVENT ID=12 Filter table verify results: desc text = bad, good entries = 1, bad = 0, unused = 255 -PASS: Result == DS_TABLE_VERIFY_ERR -PASS: Filter table verify err: invalid descriptor text -PASS: Filter table verify results: desc text = bad, good entries = 1, bad = 0, unused = 255 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 2 - -Running Test: DS_TableVerifyFilter_Test_CountBad -ERROR EVENT ID=13 Filter table verify err: MID = 0x18BB, index = 0, filter = 0, filter type = 4 -INFO EVENT ID=12 Filter table verify results: desc text = OK, good entries = 0, bad = 1, unused = 255 -PASS: Result == DS_TABLE_VERIFY_ERR -PASS: Filter table verify err: MID = 0x18BB, index = 0, filter = 0, filter type = 4 -PASS: Filter table verify results: desc text = OK, good entries = 0, bad = 1, unused = 255 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 2 - -Running Test: DS_TableVerifyFilterEntry_Test_Nominal -PASS: Result == TRUE -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_TableVerifyFilterEntry_Test_InvalidFileTableIndex -ERROR EVENT ID=13 Filter table verify err: MID = 0x18BB, index = 0, filter = 0, file table index = 17 -PASS: Result == FALSE -PASS: Filter table verify err: MID = 0x18BB, index = 0, filter = 0, file table index = 17 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_TableVerifyFilterEntry_Test_InvalidFilterType -ERROR EVENT ID=13 Filter table verify err: MID = 0x18BB, index = 0, filter = 0, filter type = 99 -PASS: Result == FALSE -PASS: Filter table verify err: MID = 0x18BB, index = 0, filter = 0, filter type = 99 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_TableVerifyFilterEntry_Test_InvalidFilterParms -ERROR EVENT ID=13 Filter table verify err: MID = 0x18BB, index = 0, filter = 0, filter parms N = 1, X = 3, O = 99 -PASS: Result == FALSE -PASS: Filter table verify err: MID = 0x18BB, index = 0, filter = 0, filter parms N = 1, X = 3, O = 99 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_TableEntryUnused_Test_Nominal -PASS: Result == TRUE -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_TableEntryUnused_Test_Fail -PASS: Result == FALSE -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_TableVerifyFileIndex_Test_Nominal -PASS: Result == TRUE -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_TableVerifyFileIndex_Test_Fail -PASS: Result == FALSE -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_TableVerifyParms_Test_NominalOnlyXNonZero -PASS: Result == TRUE -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_TableVerifyParms_Test_NGreaterThanXOnlyNNonZero -PASS: Result == FALSE -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_TableVerifyParms_Test_OGreaterThanXOnlyONonZero -PASS: Result == FALSE -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_TableVerifyType_Test_Nominal -PASS: Result == TRUE -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_TableVerifyType_Test_Fail -PASS: Result == FALSE -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_TableVerifyState_Test_Nominal -PASS: Result == TRUE -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_TableVerifyState_Test_Fail -PASS: Result == FALSE -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_TableVerifySize_Test_Nominal -PASS: Result == TRUE -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_TableVerifySize_Test_Fail -PASS: Result == FALSE -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_TableVerifyAge_Test_Nominal -PASS: Result == TRUE -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_TableVerifyAge_Test_Fail -PASS: Result == FALSE -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_TableVerifyCount_Test_Nominal -PASS: Result == TRUE -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_TableVerifyCount_Test_Fail -PASS: Result == FALSE -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_TableSubscribe_Test -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_TableUnsubscribe_Test -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_TableCreateCDS_Test_NewCDSArea -PASS: Result == CFE_SUCCESS -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_TableCreateCDS_Test_PreExistingCDSArea -PASS: Result == CFE_SUCCESS -PASS: DS_AppData.FileStatus[0].FileCount == 0 -PASS: DS_AppData.FileStatus[DS_DEST_FILE_CNT/2].FileCount == 0 -PASS: DS_AppData.FileStatus[DS_DEST_FILE_CNT-1].FileCount == 0 -PASS: DS_AppData.AppEnableState == 0 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_TableCreateCDS_Test_Error -ERROR EVENT ID=6 Critical Data Store access error = 0xFFFFFFFF -PASS: DS_AppData.DataStoreHandle == 0 -PASS: Critical Data Store access error = 0xFFFFFFFF -PASS: Result == CFE_SUCCESS -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_TableUpdateCDS_Test_Nominal -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_TableUpdateCDS_Test_Error -ERROR EVENT ID=6 Critical Data Store access error = 0xFFFFFFFF -PASS: Critical Data Store access error = 0xFFFFFFFF -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_TableHashFunction_Test -PASS: Result == 187 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_TableCreateHash_Test_Nominal -PASS: DS_AppData.HashLinks[0].Index == 0 -PASS: DS_AppData.HashLinks[0].MessageID == 0x18BB -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_TableCreateHash_Test_NullTable -PASS: DS_AppData.HashLinks[0].Index == 0 -PASS: DS_AppData.HashLinks[0].MessageID == 0x18BB -PASS: DS_AppData.HashTable[187] == &DS_AppData.HashLinks[0] -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_TableFindMsgID_Test -PASS: Result == 1 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Tests Executed: 206 -Assert Pass Count: 652 -Assert Fail Count: 0 - -gcov: '../src/ds_file.c' 100.00% 200 -gcov: '../src/ds_app.c' 100.00% 146 -gcov: '../src/ds_cmds.c' 99.54% 439 -gcov: '../src/ds_table.c' 100.00% 319 - diff --git a/fsw/unit_test/ds_test_log_defaultconfig.txt b/fsw/unit_test/ds_test_log_defaultconfig.txt deleted file mode 100644 index a1ba141..0000000 --- a/fsw/unit_test/ds_test_log_defaultconfig.txt +++ /dev/null @@ -1,1253 +0,0 @@ -############################################################################## -## $Id: ds_test_log_defaultconfig.txt 1.5.1.2 2017/02/06 01:43:28EST mdeschu Exp $ -## -## Purpose: CFS DS application unit test baseline output log for default -## configuration of ds_platform_cfg.h -## -## Author: Charles Zogby -## -############################################################################## - -DS 2.5.0.0 Unit Test Output (with default configuration of ds_platform_cfg.h: DS_FILE_HEADER_TYPE = 1, DS_MOVE_FILES = FALSE): - - -./ds_testrunner.exe - -Running Test: DS_AppMain_Test_Nominal -ERROR EVENT ID=8 Unable to load default Destination File Table: Filename = '/cf/apps/ds_file_tbl.tbl', Error = 0xCC000013 -ERROR EVENT ID=8 Unable to load default Filter Table: Filename = '/cf/apps/ds_filter_tbl.tbl', Error = 0xCC000013 -INFO EVENT ID=1 Application initialized, version 2.5.0.0, data at 0x0809ECE0 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 3 - -Running Test: DS_AppMain_Test_RegisterAppError -CRITICAL EVENT ID=3 Application terminating, err = 0xFFFFFFFF -SYSTEM LOG: DS application terminating, err = 0xFFFFFFFF - -PASS: Application terminating, err = 0xFFFFFFFF -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 -PASS: DS application terminating, err = 0xFFFFFFFF - -PASS: Ut_CFE_ES_GetSysLogQueueDepth() == 1 - -Running Test: DS_AppMain_Test_AppInitializeError -ERROR EVENT ID=2 Unable to register for EVS services, err = 0xFFFFFFFF -CRITICAL EVENT ID=3 Application terminating, err = 0xFFFFFFFF -SYSTEM LOG: DS application terminating, err = 0xFFFFFFFF - -PASS: Application terminating, err = 0xFFFFFFFF -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 2 -PASS: DS application terminating, err = 0xFFFFFFFF - -PASS: Ut_CFE_ES_GetSysLogQueueDepth() == 1 - -Running Test: DS_AppMain_Test_SBError -ERROR EVENT ID=8 Unable to load default Destination File Table: Filename = '/cf/apps/ds_file_tbl.tbl', Error = 0xCC000013 -ERROR EVENT ID=8 Unable to load default Filter Table: Filename = '/cf/apps/ds_filter_tbl.tbl', Error = 0xCC000013 -INFO EVENT ID=1 Application initialized, version 2.5.0.0, data at 0x0809ECE0 -CRITICAL EVENT ID=3 Application terminating, err = 0xFFFFFFFF -SYSTEM LOG: DS application terminating, err = 0xFFFFFFFF - -PASS: Application terminating, err = 0xFFFFFFFF -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 4 -PASS: DS application terminating, err = 0xFFFFFFFF - -PASS: Ut_CFE_ES_GetSysLogQueueDepth() == 1 - -Running Test: DS_AppInitialize_Test_Nominal -ERROR EVENT ID=8 Unable to load default Destination File Table: Filename = '/cf/apps/ds_file_tbl.tbl', Error = 0xCC000013 -ERROR EVENT ID=8 Unable to load default Filter Table: Filename = '/cf/apps/ds_filter_tbl.tbl', Error = 0xCC000013 -INFO EVENT ID=1 Application initialized, version 2.5.0.0, data at 0x0809ECE0 -PASS: DS_AppData.AppEnableState == DS_DEF_ENABLE_STATE -PASS: DS_AppData.FileStatus[0].FileHandle == DS_CLOSED_FILE_HANDLE -PASS: DS_AppData.FileStatus[DS_DEST_FILE_CNT/2].FileHandle == DS_CLOSED_FILE_HANDLE -PASS: DS_AppData.FileStatus[DS_DEST_FILE_CNT-1].FileHandle == DS_CLOSED_FILE_HANDLE -PASS: Application initialized, version 2.5.0.0, data at 0x0809ECE0 -PASS: Result == CFE_SUCCESS -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 3 - -Running Test: DS_AppInitialize_Test_EVSRegisterError -ERROR EVENT ID=2 Unable to register for EVS services, err = 0xFFFFFFFF -PASS: DS_AppData.AppEnableState == DS_DEF_ENABLE_STATE -PASS: DS_AppData.FileStatus[0].FileHandle == DS_CLOSED_FILE_HANDLE -PASS: DS_AppData.FileStatus[DS_DEST_FILE_CNT/2].FileHandle == DS_CLOSED_FILE_HANDLE -PASS: DS_AppData.FileStatus[DS_DEST_FILE_CNT-1].FileHandle == DS_CLOSED_FILE_HANDLE -PASS: Unable to register for EVS services, err = 0xFFFFFFFF -PASS: Result == -1 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_AppInitialize_Test_SBCreatePipeError -ERROR EVENT ID=2 Unable to create input pipe, err = 0xFFFFFFFF -PASS: DS_AppData.AppEnableState == DS_DEF_ENABLE_STATE -PASS: DS_AppData.FileStatus[0].FileHandle == DS_CLOSED_FILE_HANDLE -PASS: DS_AppData.FileStatus[DS_DEST_FILE_CNT/2].FileHandle == DS_CLOSED_FILE_HANDLE -PASS: DS_AppData.FileStatus[DS_DEST_FILE_CNT-1].FileHandle == DS_CLOSED_FILE_HANDLE -PASS: Unable to create input pipe, err = 0xFFFFFFFF -PASS: Result == -1 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_AppInitialize_Test_SBSubscribeHKError -ERROR EVENT ID=2 Unable to subscribe to HK request, err = 0xFFFFFFFF -PASS: DS_AppData.AppEnableState == DS_DEF_ENABLE_STATE -PASS: DS_AppData.FileStatus[0].FileHandle == DS_CLOSED_FILE_HANDLE -PASS: DS_AppData.FileStatus[DS_DEST_FILE_CNT/2].FileHandle == DS_CLOSED_FILE_HANDLE -PASS: DS_AppData.FileStatus[DS_DEST_FILE_CNT-1].FileHandle == DS_CLOSED_FILE_HANDLE -PASS: Unable to subscribe to HK request, err = 0xFFFFFFFF -PASS: Result == -1 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_AppInitialize_Test_SBSubscribeDSError -ERROR EVENT ID=2 Unable to subscribe to DS commands, err = 0xFFFFFFFF -PASS: DS_AppData.AppEnableState == DS_DEF_ENABLE_STATE -PASS: DS_AppData.FileStatus[0].FileHandle == DS_CLOSED_FILE_HANDLE -PASS: DS_AppData.FileStatus[DS_DEST_FILE_CNT/2].FileHandle == DS_CLOSED_FILE_HANDLE -PASS: DS_AppData.FileStatus[DS_DEST_FILE_CNT-1].FileHandle == DS_CLOSED_FILE_HANDLE -PASS: Unable to subscribe to DS commands, err = 0xFFFFFFFF -PASS: Result == -1 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_AppProcessMsg_Test_Cmd -INFO EVENT ID=31 NOOP command, Version 2.5.0.0 -PASS: NOOP command, Version 2.5.0.0 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_AppProcessMsg_Test_HK -PKT: 08 B8 C0 00 00 65 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 66 66 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_AppProcessMsg_Test_HKInvalidRequest -ERROR EVENT ID=22 Invalid HK request length: expected = 8, actual = 0 -PASS: Invalid HK request length: expected = 8, actual = 0 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_AppProcessMsg_Test_UnknownMID -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_AppProcessCmd_Test_Noop -INFO EVENT ID=31 NOOP command, Version 2.5.0.0 -PASS: NOOP command, Version 2.5.0.0 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_AppProcessCmd_Test_Reset -DEBUG EVENT ID=33 Reset counters command -PASS: Reset counters command -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_AppProcessCmd_Test_SetAppState -DEBUG EVENT ID=35 APP STATE command: state = 0 -PASS: APP STATE command: state = 0 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_AppProcessCmd_Test_SetFilterFile -ERROR EVENT ID=38 Invalid FILTER FILE command: packet filter table is not loaded -PASS: Invalid FILTER FILE command: packet filter table is not loaded -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_AppProcessCmd_Test_SetFilterType -ERROR EVENT ID=40 Invalid FILTER TYPE command arg: filter type = 0 -PASS: Invalid FILTER TYPE command arg: filter type = 0 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_AppProcessCmd_Test_SetFilterParms -ERROR EVENT ID=42 Invalid FILTER PARMS command arg: invalid messageID = 0x0000 -PASS: Invalid FILTER PARMS command arg: invalid messageID = 0x0000 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_AppProcessCmd_Test_SetDestType -ERROR EVENT ID=44 Invalid DEST TYPE command arg: filename type = 0 -PASS: Invalid DEST TYPE command arg: filename type = 0 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_AppProcessCmd_Test_SetDestState -ERROR EVENT ID=46 Invalid DEST STATE command: destination file table is not loaded -PASS: Invalid DEST STATE command: destination file table is not loaded -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_AppProcessCmd_Test_SetDestPath -ERROR EVENT ID=48 Invalid DEST PATH command arg: pathname -PASS: Invalid DEST PATH command arg: pathname -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_AppProcessCmd_Test_SetDestBase -ERROR EVENT ID=50 Invalid DEST BASE command: destination file table is not loaded -PASS: Invalid DEST BASE command: destination file table is not loaded -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_AppProcessCmd_Test_SetDestExt -ERROR EVENT ID=52 Invalid DEST EXT command: destination file table is not loaded -PASS: Invalid DEST EXT command: destination file table is not loaded -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_AppProcessCmd_Test_SetDestSize -ERROR EVENT ID=54 Invalid DEST SIZE command arg: size limit = 0 -PASS: Invalid DEST SIZE command arg: size limit = 0 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_AppProcessCmd_Test_SetDestAge -ERROR EVENT ID=56 Invalid DEST AGE command arg: age limit = 0 -PASS: Invalid DEST AGE command arg: age limit = 0 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_AppProcessCmd_Test_SetDestCount -ERROR EVENT ID=58 Invalid DEST COUNT command: destination file table is not loaded -PASS: Invalid DEST COUNT command: destination file table is not loaded -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_AppProcessCmd_Test_CloseFile -DEBUG EVENT ID=59 DEST CLOSE command: file table index = 0 -PASS: DEST CLOSE command: file table index = 0 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_AppProcessCmd_Test_GetFileInfo -DEBUG EVENT ID=62 GET FILE INFO command -PKT: 08 B9 C0 00 05 45 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -PASS: GET FILE INFO command -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_AppProcessCmd_Test_AddMID -ERROR EVENT ID=65 Invalid ADD MID command: filter table is not loaded -PASS: Invalid ADD MID command: filter table is not loaded -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_AppProcessCmd_Test_CloseAll -DEBUG EVENT ID=66 DEST CLOSE ALL command -PASS: DEST CLOSE ALL command -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_AppProcessCmd_Test_InvalidCommandCode -ERROR EVENT ID=21 Invalid command code: MID = 0x18BB, CC = 99 -PASS: Invalid command code: MID = 0x18BB, CC = 99 -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_AppProcessHK_Test -PKT: 08 B8 C0 00 00 65 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -PASS: DS_AppData.FileStatus[0].FileRate == 99 / DS_SECS_PER_HK_CYCLE -PASS: DS_AppData.FileStatus[0].FileGrowth == 0 -PASS: DS_AppData.FileStatus[DS_DEST_FILE_CNT/2].FileRate == 99 / DS_SECS_PER_HK_CYCLE -PASS: DS_AppData.FileStatus[DS_DEST_FILE_CNT/2].FileGrowth == 0 -PASS: DS_AppData.FileStatus[DS_DEST_FILE_CNT - 1].FileRate == 99 / DS_SECS_PER_HK_CYCLE -PASS: DS_AppData.FileStatus[DS_DEST_FILE_CNT - 1].FileGrowth == 0 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 -PASS: DS_HkPacket_t is 32-bit aligned - -Running Test: DS_AppStorePacket_Test_Nominal -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_AppStorePacket_Test_DSDisabled -PASS: DS_AppData.DisabledPktCounter == 1 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_AppStorePacket_Test_FilterTableNotLoaded -PASS: DS_AppData.IgnoredPktCounter == 1 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_AppStorePacket_Test_DestFileTableNotLoaded -PASS: DS_AppData.IgnoredPktCounter == 1 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_CmdNoop_Test_Nominal -INFO EVENT ID=31 NOOP command, Version 2.5.0.0 -PASS: DS_AppData.CmdAcceptedCounter == 1 -PASS: NOOP command, Version 2.5.0.0 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 -PASS: DS_NoopCmd_t is 32-bit aligned - -Running Test: DS_CmdNoop_Test_InvalidCommandLength -ERROR EVENT ID=32 Invalid NOOP command length: expected = 8, actual = 1 -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid NOOP command length: expected = 8, actual = 1 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdReset_Test_Nominal -DEBUG EVENT ID=33 Reset counters command -PASS: DS_AppData.CmdAcceptedCounter == 0 -PASS: DS_AppData.CmdRejectedCounter == 0 -PASS: DS_AppData.DisabledPktCounter == 0 -PASS: DS_AppData.IgnoredPktCounter == 0 -PASS: DS_AppData.FilteredPktCounter == 0 -PASS: DS_AppData.PassedPktCounter == 0 -PASS: DS_AppData.FileWriteCounter == 0 -PASS: DS_AppData.FileWriteErrCounter == 0 -PASS: DS_AppData.FileUpdateCounter == 0 -PASS: DS_AppData.FileUpdateErrCounter == 0 -PASS: DS_AppData.DestTblLoadCounter == 0 -PASS: DS_AppData.DestTblErrCounter == 0 -PASS: DS_AppData.FilterTblLoadCounter == 0 -PASS: DS_AppData.FilterTblErrCounter == 0 -PASS: Reset counters command -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 -PASS: DS_ResetCmd_t is 32-bit aligned - -Running Test: DS_CmdReset_Test_InvalidCommandLength -ERROR EVENT ID=34 Invalid RESET command length: expected = 8, actual = 1 -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid RESET command length: expected = 8, actual = 1 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdSetAppState_Test_Nominal -DEBUG EVENT ID=35 APP STATE command: state = 1 -PASS: DS_AppData.CmdAcceptedCounter == 1 -PASS: DS_AppData.AppEnableState == TRUE -PASS: APP STATE command: state = 1 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 -PASS: DS_AppStateCmd_t is 32-bit aligned - -Running Test: DS_CmdSetAppState_Test_InvalidCommandLength -ERROR EVENT ID=36 Invalid APP STATE command length: expected = 12, actual = 1 -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid APP STATE command length: expected = 12, actual = 1 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdSetAppState_Test_InvalidAppState -ERROR EVENT ID=36 Invalid APP STATE command arg: app state = 99 -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid APP STATE command arg: app state = 99 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdSetFilterFile_Test_Nominal -DEBUG EVENT ID=37 FILTER FILE command: MID = 0x18BB, index = 0, filter = 2, file = 4 -PASS: DS_AppData.CmdAcceptedCounter == 1 -PASS: DS_AppData.FilterTblPtr->Packet[CmdPacket.FileTableIndex].Filter[CmdPacket.FilterParmsIndex].FileTableIndex == 0 -PASS: FILTER FILE command: MID = 0x18BB, index = 0, filter = 2, file = 4 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 -PASS: DS_FilterFileCmd_t is 32-bit aligned - -Running Test: DS_CmdSetFilterFile_Test_InvalidCommandLength -ERROR EVENT ID=38 Invalid FILTER FILE command length: expected = 16, actual = 1 -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid FILTER FILE command length: expected = 16, actual = 1 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdSetFilterFile_Test_InvalidMessageID -ERROR EVENT ID=38 Invalid FILTER FILE command arg: invalid messageID = 0x 0 -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid FILTER FILE command arg: invalid messageID = 0x 0 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdSetFilterFile_Test_InvalidFilterParametersIndex -ERROR EVENT ID=38 Invalid FILTER FILE command arg: filter parameters index = 4 -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid FILTER FILE command arg: filter parameters index = 4 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdSetFilterFile_Test_InvalidFileTableIndex -ERROR EVENT ID=38 Invalid FILTER FILE command arg: file table index = 99 -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid FILTER FILE command arg: file table index = 99 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdSetFilterFile_Test_FilterTableNotLoaded -ERROR EVENT ID=38 Invalid FILTER FILE command: packet filter table is not loaded -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid FILTER FILE command: packet filter table is not loaded -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdSetFilterFile_Test_MessageIDNotInFilterTable -ERROR EVENT ID=38 Invalid FILTER FILE command: Message ID 0x9999 is not in filter table -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid FILTER FILE command: Message ID 0x9999 is not in filter table -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdSetFilterType_Test_Nominal -DEBUG EVENT ID=39 FILTER TYPE command: MID = 0x18BB, index = 0, filter = 2, type = 1 -PASS: DS_AppData.CmdAcceptedCounter == 1 -PASS: DS_AppData.FilterTblPtr->Packet[0].Filter[CmdPacket.FilterParmsIndex].FilterType == 1 -PASS: FILTER TYPE command: MID = 0x18BB, index = 0, filter = 2, type = 1 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 -PASS: DS_FilterTypeCmd_t is 32-bit aligned - -Running Test: DS_CmdSetFilterType_Test_InvalidCommandLength -ERROR EVENT ID=40 Invalid FILTER TYPE command length: expected = 16, actual = 1 -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid FILTER TYPE command length: expected = 16, actual = 1 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdSetFilterType_Test_InvalidMessageID -ERROR EVENT ID=40 Invalid FILTER TYPE command arg: invalid messageID = 0x0000 -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid FILTER TYPE command arg: invalid messageID = 0x0000 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdSetFilterType_Test_InvalidFilterParametersIndex -ERROR EVENT ID=40 Invalid FILTER TYPE command arg: filter parameters index = 4 -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid FILTER TYPE command arg: filter parameters index = 4 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdSetFilterType_Test_InvalidFilterType -ERROR EVENT ID=40 Invalid FILTER TYPE command arg: filter type = 0 -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid FILTER TYPE command arg: filter type = 0 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdSetFilterType_Test_FilterTableNotLoaded -ERROR EVENT ID=40 Invalid FILTER TYPE command: packet filter table is not loaded -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid FILTER TYPE command: packet filter table is not loaded -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdSetFilterType_Test_MessageIDNotInFilterTable -ERROR EVENT ID=40 Invalid FILTER TYPE command: Message ID 0x9999 is not in filter table -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid FILTER TYPE command: Message ID 0x9999 is not in filter table -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdSetFilterParms_Test_Nominal -DEBUG EVENT ID=41 FILTER PARMS command: MID = 0x18BB, index = 0, filter = 2, N = 0, X = 0, O = 0 -PASS: DS_AppData.CmdAcceptedCounter == 1 -PASS: DS_AppData.FilterTblPtr->Packet[0].Filter[CmdPacket.FilterParmsIndex].Algorithm_N == 0 -PASS: DS_AppData.FilterTblPtr->Packet[0].Filter[CmdPacket.FilterParmsIndex].Algorithm_X == 0 -PASS: DS_AppData.FilterTblPtr->Packet[0].Filter[CmdPacket.FilterParmsIndex].Algorithm_O == 0 -PASS: FILTER PARMS command: MID = 0x18BB, index = 0, filter = 2, N = 0, X = 0, O = 0 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 -PASS: DS_FilterParmsCmd_t is 32-bit aligned - -Running Test: DS_CmdSetFilterParms_Test_InvalidCommandLength -ERROR EVENT ID=42 Invalid FILTER PARMS command length: expected = 20, actual = 1 -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid FILTER PARMS command length: expected = 20, actual = 1 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdSetFilterParms_Test_InvalidMessageID -ERROR EVENT ID=42 Invalid FILTER PARMS command arg: invalid messageID = 0x0000 -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid FILTER PARMS command arg: invalid messageID = 0x0000 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdSetFilterParms_Test_InvalidFilterParametersIndex -ERROR EVENT ID=42 Invalid FILTER PARMS command arg: filter parameters index = 4 -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid FILTER PARMS command arg: filter parameters index = 4 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdSetFilterParms_Test_InvalidFilterAlgorithm -ERROR EVENT ID=42 Invalid FILTER PARMS command arg: N = 1, X = 1, O = 1 -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid FILTER PARMS command arg: N = 1, X = 1, O = 1 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdSetFilterParms_Test_FilterTableNotLoaded -ERROR EVENT ID=42 Invalid FILTER PARMS command: packet filter table is not loaded -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid FILTER PARMS command: packet filter table is not loaded -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdSetFilterParms_Test_MessageIDNotInFilterTable -ERROR EVENT ID=42 Invalid FILTER PARMS command: Message ID 0x9999 is not in filter table -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid FILTER PARMS command: Message ID 0x9999 is not in filter table -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdSetDestType_Test_Nominal -DEBUG EVENT ID=43 DEST TYPE command: file table index = 1, filename type = 2 -PASS: DS_AppData.CmdAcceptedCounter == 1 -PASS: DS_AppData.DestFileTblPtr->File[CmdPacket.FileTableIndex].FileNameType == 2 -PASS: DEST TYPE command: file table index = 1, filename type = 2 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 -PASS: DS_DestTypeCmd_t is 32-bit aligned - -Running Test: DS_CmdSetDestType_Test_InvalidCommandLength -ERROR EVENT ID=44 Invalid DEST TYPE command length: expected = 12, actual = 1 -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid DEST TYPE command length: expected = 12, actual = 1 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdSetDestType_Test_InvalidFileTableIndex -ERROR EVENT ID=44 Invalid DEST TYPE command arg: file table index = 99 -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid DEST TYPE command arg: file table index = 99 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdSetDestType_Test_InvalidFilenameType -ERROR EVENT ID=44 Invalid DEST TYPE command arg: filename type = 99 -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid DEST TYPE command arg: filename type = 99 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdSetDestType_Test_FileTableNotLoaded -ERROR EVENT ID=44 Invalid DEST TYPE command: destination file table is not loaded -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid DEST TYPE command: destination file table is not loaded -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdSetDestState_Test_Nominal -DEBUG EVENT ID=45 DEST STATE command: file table index = 1, file state = 1 -PASS: DS_AppData.CmdAcceptedCounter == 1 -PASS: DS_AppData.DestFileTblPtr->File[CmdPacket.FileTableIndex].EnableState == CmdPacket.EnableState -PASS: DEST STATE command: file table index = 1, file state = 1 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 -PASS: DS_DestStateCmd_t is 32-bit aligned - -Running Test: DS_CmdSetDestState_Test_InvalidCommandLength -ERROR EVENT ID=46 Invalid DEST STATE command length: expected = 12, actual = 1 -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid DEST STATE command length: expected = 12, actual = 1 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdSetDestState_Test_InvalidFileTableIndex -ERROR EVENT ID=46 Invalid DEST STATE command arg: file table index = 99 -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid DEST STATE command arg: file table index = 99 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdSetDestState_Test_InvalidFileState -ERROR EVENT ID=46 Invalid DEST STATE command arg: file state = 99 -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid DEST STATE command arg: file state = 99 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdSetDestState_Test_FileTableNotLoaded -ERROR EVENT ID=46 Invalid DEST STATE command: destination file table is not loaded -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid DEST STATE command: destination file table is not loaded -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdSetDestPath_Test_Nominal -DEBUG EVENT ID=47 DEST PATH command: file table index = 1, pathname = 'pathname' -PASS: DS_AppData.CmdAcceptedCounter == 1 -PASS: strncmp (DS_AppData.DestFileTblPtr->File[CmdPacket.FileTableIndex].Pathname, 'pathname', OS_MAX_PATH_LEN) == 0 -PASS: DEST PATH command: file table index = 1, pathname = 'pathname' -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 -PASS: DS_DestPathCmd_t is 32-bit aligned - -Running Test: DS_CmdSetDestPath_Test_InvalidCommandLength -ERROR EVENT ID=48 Invalid DEST PATH command length: expected = 76, actual = 1 -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid DEST PATH command length: expected = 76, actual = 1 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdSetDestPath_Test_InvalidFileTableIndex -ERROR EVENT ID=48 Invalid DEST PATH command arg: file table index = 99 -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid DEST PATH command arg: file table index = 99 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdSetDestPath_Test_InvalidPathname -ERROR EVENT ID=48 Invalid DEST PATH command arg: pathname -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid DEST PATH command arg: pathname -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdSetDestPath_Test_FileTableNotLoaded -ERROR EVENT ID=48 Invalid DEST PATH command: destination file table is not loaded -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid DEST PATH command: destination file table is not loaded -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdSetDestBase_Test_Nominal -DEBUG EVENT ID=49 DEST BASE command: file table index = 1, base filename = 'base' -PASS: DS_AppData.CmdAcceptedCounter == 1 -PASS: strncmp (DS_AppData.DestFileTblPtr->File[CmdPacket.FileTableIndex].Basename, 'base', OS_MAX_PATH_LEN) == 0 -PASS: DEST BASE command: file table index = 1, base filename = 'base' -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 -PASS: DS_DestBaseCmd_t is 32-bit aligned - -Running Test: DS_CmdSetDestBase_Test_InvalidCommandLength -ERROR EVENT ID=50 Invalid DEST BASE command length: expected = 76, actual = 1 -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid DEST BASE command length: expected = 76, actual = 1 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdSetDestBase_Test_InvalidFileTableIndex -ERROR EVENT ID=50 Invalid DEST BASE command arg: file table index = 99 -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid DEST BASE command arg: file table index = 99 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdSetDestBase_Test_InvalidBaseFilename -ERROR EVENT ID=50 Invalid DEST BASE command arg: base filename -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid DEST BASE command arg: base filename -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdSetDestBase_Test_FileTableNotLoaded -ERROR EVENT ID=50 Invalid DEST BASE command: destination file table is not loaded -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid DEST BASE command: destination file table is not loaded -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdSetDestExt_Test_Nominal -DEBUG EVENT ID=51 DEST EXT command: file table index = 1, extension = 'txt' -PASS: DS_AppData.CmdAcceptedCounter == 1 -PASS: strncmp (DS_AppData.DestFileTblPtr->File[CmdPacket.FileTableIndex].Extension, 'txt', DS_EXTENSION_BUFSIZE) == 0 -PASS: DEST EXT command: file table index = 1, extension = 'txt' -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 -PASS: DS_DestExtCmd_t is 32-bit aligned - -Running Test: DS_CmdSetDestExt_Test_InvalidCommandLength -ERROR EVENT ID=52 Invalid DEST EXT command length: expected = 20, actual = 1 -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid DEST EXT command length: expected = 20, actual = 1 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdSetDestExt_Test_InvalidFileTableIndex -ERROR EVENT ID=52 Invalid DEST EXT command arg: file table index = 99 -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid DEST EXT command arg: file table index = 99 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdSetDestExt_Test_InvalidFilenameExtension -ERROR EVENT ID=52 Invalid DEST EXT command arg: extension -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid DEST EXT command arg: extension -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdSetDestExt_Test_FileTableNotLoaded -ERROR EVENT ID=52 Invalid DEST EXT command: destination file table is not loaded -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid DEST EXT command: destination file table is not loaded -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdSetDestSize_Test_Nominal -DEBUG EVENT ID=53 DEST SIZE command: file table index = 1, size limit = 100000000 -PASS: DS_AppData.CmdAcceptedCounter == 1 -PASS: DS_AppData.DestFileTblPtr->File[CmdPacket.FileTableIndex].MaxFileSize == 100000000 -PASS: DEST SIZE command: file table index = 1, size limit = 100000000 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 -PASS: DS_DestSizeCmd_t is 32-bit aligned - -Running Test: DS_CmdSetDestSize_Test_InvalidCommandLength -ERROR EVENT ID=54 Invalid DEST SIZE command length: expected = 16, actual = 1 -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid DEST SIZE command length: expected = 16, actual = 1 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdSetDestSize_Test_InvalidFileTableIndex -ERROR EVENT ID=54 Invalid DEST SIZE command arg: file table index = 99 -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid DEST SIZE command arg: file table index = 99 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdSetDestSize_Test_InvalidFileSizeLimit -ERROR EVENT ID=54 Invalid DEST SIZE command arg: size limit = 1 -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid DEST SIZE command arg: size limit = 1 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdSetDestSize_Test_FileTableNotLoaded -ERROR EVENT ID=54 Invalid DEST SIZE command: destination file table is not loaded -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid DEST SIZE command: destination file table is not loaded -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdSetDestAge_Test_Nominal -DEBUG EVENT ID=55 DEST AGE command: file table index = 1, age limit = 1000 -PASS: DS_AppData.CmdAcceptedCounter == 1 -PASS: DS_AppData.DestFileTblPtr->File[CmdPacket.FileTableIndex].MaxFileAge == 1000 -PASS: DEST AGE command: file table index = 1, age limit = 1000 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 -PASS: DS_DestAgeCmd_t is 32-bit aligned - -Running Test: DS_CmdSetDestAge_Test_InvalidCommandLength -ERROR EVENT ID=56 Invalid DEST AGE command length: expected = 16, actual = 1 -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid DEST AGE command length: expected = 16, actual = 1 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdSetDestAge_Test_InvalidFileTableIndex -ERROR EVENT ID=56 Invalid DEST AGE command arg: file table index = 99 -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid DEST AGE command arg: file table index = 99 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdSetDestAge_Test_InvalidFileAgeLimit -ERROR EVENT ID=56 Invalid DEST AGE command arg: age limit = 1 -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid DEST AGE command arg: age limit = 1 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdSetDestAge_Test_FileTableNotLoaded -ERROR EVENT ID=56 Invalid DEST AGE command: destination file table is not loaded -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid DEST AGE command: destination file table is not loaded -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdSetDestCount_Test_Nominal -DEBUG EVENT ID=57 DEST COUNT command: file table index = 1, sequence count = 1 -PASS: DS_AppData.CmdAcceptedCounter == 1 -PASS: DS_AppData.DestFileTblPtr->File[CmdPacket.FileTableIndex].SequenceCount == 1 -PASS: DS_AppData.FileStatus[CmdPacket.FileTableIndex].FileCount == 1 -PASS: DEST COUNT command: file table index = 1, sequence count = 1 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 -PASS: DS_DestCountCmd_t is 32-bit aligned - -Running Test: DS_CmdSetDestCount_Test_InvalidCommandLength -ERROR EVENT ID=58 Invalid DEST COUNT command length: expected = 16, actual = 1 -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid DEST COUNT command length: expected = 16, actual = 1 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdSetDestCount_Test_InvalidFileTableIndex -ERROR EVENT ID=58 Invalid DEST COUNT command arg: file table index = 99 -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid DEST COUNT command arg: file table index = 99 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdSetDestCount_Test_InvalidFileSequenceCount -ERROR EVENT ID=58 Invalid DEST COUNT command arg: sequence count = -1 -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid DEST COUNT command arg: sequence count = -1 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdSetDestCount_Test_FileTableNotLoaded -ERROR EVENT ID=58 Invalid DEST COUNT command: destination file table is not loaded -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid DEST COUNT command: destination file table is not loaded -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdCloseFile_Test_Nominal -DEBUG EVENT ID=59 DEST CLOSE command: file table index = 0 -PASS: DS_AppData.CmdAcceptedCounter == 1 -PASS: DEST CLOSE command: file table index = 0 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 -PASS: DS_CloseFileCmd_t is 32-bit aligned - -Running Test: DS_CmdCloseFile_Test_InvalidCommandLength -ERROR EVENT ID=60 Invalid DEST CLOSE command length: expected = 12, actual = 1 -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid DEST CLOSE command length: expected = 12, actual = 1 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdCloseFile_Test_InvalidFileTableIndex -ERROR EVENT ID=60 Invalid DEST CLOSE command arg: file table index = 99 -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid DEST CLOSE command arg: file table index = 99 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdCloseAll_Test_Nominal -DEBUG EVENT ID=66 DEST CLOSE ALL command -PASS: DS_AppData.CmdAcceptedCounter == 1 -PASS: DEST CLOSE ALL command -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 -PASS: DS_CloseAllCmd_t is 32-bit aligned - -Running Test: DS_CmdCloseAll_Test_InvalidCommandLength -ERROR EVENT ID=67 Invalid DEST CLOSE ALL command length: expected = 8, actual = 1 -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid DEST CLOSE ALL command length: expected = 8, actual = 1 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdGetFileInfo_Test_EnabledOpen -DEBUG EVENT ID=62 GET FILE INFO command -PKT: 08 B9 C0 00 05 45 00 00 00 00 00 00 01 00 00 00 02 00 00 00 03 00 00 00 04 00 00 00 05 00 01 00 66 69 6C 65 6E 61 6D 65 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 02 00 00 00 03 00 00 00 04 00 00 00 05 00 01 00 66 69 6C 65 6E 61 6D 65 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 02 00 00 00 03 00 00 00 04 00 00 00 05 00 01 00 66 69 6C 65 6E 61 6D 65 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 02 00 00 00 03 00 00 00 04 00 00 00 05 00 01 00 66 69 6C 65 6E 61 6D 65 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 02 00 00 00 03 00 00 00 04 00 00 00 05 00 01 00 66 69 6C 65 6E 61 6D 65 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 02 00 00 00 03 00 00 00 04 00 00 00 05 00 01 00 66 69 6C 65 6E 61 6D 65 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 02 00 00 00 03 00 00 00 04 00 00 00 05 00 01 00 66 69 6C 65 6E 61 6D 65 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 02 00 00 00 03 00 00 00 04 00 00 00 05 00 01 00 66 69 6C 65 6E 61 6D 65 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 02 00 00 00 03 00 00 00 04 00 00 00 05 00 01 00 66 69 6C 65 6E 61 6D 65 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 02 00 00 00 03 00 00 00 04 00 00 00 05 00 01 00 66 69 6C 65 6E 61 6D 65 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 02 00 00 00 03 00 00 00 04 00 00 00 05 00 01 00 66 69 6C 65 6E 61 6D 65 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 02 00 00 00 03 00 00 00 04 00 00 00 05 00 01 00 66 69 6C 65 6E 61 6D 65 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 02 00 00 00 03 00 00 00 04 00 00 00 05 00 01 00 66 69 6C 65 6E 61 6D 65 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 02 00 00 00 03 00 00 00 04 00 00 00 05 00 01 00 66 69 6C 65 6E 61 6D 65 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 02 00 00 00 03 00 00 00 04 00 00 00 05 00 01 00 66 69 6C 65 6E 61 6D 65 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 02 00 00 00 03 00 00 00 04 00 00 00 05 00 01 00 66 69 6C 65 6E 61 6D 65 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -PASS: DS_AppData.CmdAcceptedCounter == 1 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 -PASS: DS_FileInfoPkt_t is 32-bit aligned - -Running Test: DS_CmdGetFileInfo_Test_DisabledClosed -DEBUG EVENT ID=62 GET FILE INFO command -PKT: 08 B9 C0 00 05 45 00 00 00 00 00 00 01 00 00 00 02 00 00 00 03 00 00 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 02 00 00 00 03 00 00 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 02 00 00 00 03 00 00 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 02 00 00 00 03 00 00 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 02 00 00 00 03 00 00 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 02 00 00 00 03 00 00 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 02 00 00 00 03 00 00 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 02 00 00 00 03 00 00 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 02 00 00 00 03 00 00 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 02 00 00 00 03 00 00 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 02 00 00 00 03 00 00 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 02 00 00 00 03 00 00 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 02 00 00 00 03 00 00 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 02 00 00 00 03 00 00 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 02 00 00 00 03 00 00 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 02 00 00 00 03 00 00 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -PASS: DS_AppData.CmdAcceptedCounter == 1 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdGetFileInfo_Test_InvalidCommandLength -ERROR EVENT ID=63 Invalid GET FILE INFO command length: expected = 8, actual = 1 -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid GET FILE INFO command length: expected = 8, actual = 1 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdAddMID_Test_Nominal -PASS: DS_AddMidCmd_t is 32-bit aligned -DEBUG EVENT ID=64 ADD MID command: MID = 0x18BB, index = 0 -PASS: DS_AppData.CmdAcceptedCounter == 1 -PASS: DS_AppData.FilterTblPtr->Packet[FilterTableIndex].MessageID == 0x18BB -PASS: DS_AppData.FilterTblPtr->Packet[FilterTableIndex].Filter[0].FileTableIndex == 0 -PASS: DS_AppData.FilterTblPtr->Packet[FilterTableIndex].Filter[0].FilterType == DS_BY_COUNT -PASS: DS_AppData.FilterTblPtr->Packet[FilterTableIndex].Filter[0].Algorithm_N == 0 -PASS: DS_AppData.FilterTblPtr->Packet[FilterTableIndex].Filter[0].Algorithm_X == 0 -PASS: DS_AppData.FilterTblPtr->Packet[FilterTableIndex].Filter[0].Algorithm_O == 0 -PASS: DS_AppData.FilterTblPtr->Packet[FilterTableIndex].Filter[DS_FILTERS_PER_PACKET/2].FileTableIndex == 0 -PASS: DS_AppData.FilterTblPtr->Packet[FilterTableIndex].Filter[DS_FILTERS_PER_PACKET/2].FilterType == DS_BY_COUNT -PASS: DS_AppData.FilterTblPtr->Packet[FilterTableIndex].Filter[DS_FILTERS_PER_PACKET/2].Algorithm_N == 0 -PASS: DS_AppData.FilterTblPtr->Packet[FilterTableIndex].Filter[DS_FILTERS_PER_PACKET/2].Algorithm_X == 0 -PASS: DS_AppData.FilterTblPtr->Packet[FilterTableIndex].Filter[DS_FILTERS_PER_PACKET/2].Algorithm_O == 0 -PASS: DS_AppData.FilterTblPtr->Packet[FilterTableIndex].Filter[DS_FILTERS_PER_PACKET-1].FileTableIndex == 0 -PASS: DS_AppData.FilterTblPtr->Packet[FilterTableIndex].Filter[DS_FILTERS_PER_PACKET-1].FilterType == DS_BY_COUNT -PASS: DS_AppData.FilterTblPtr->Packet[FilterTableIndex].Filter[DS_FILTERS_PER_PACKET-1].Algorithm_N == 0 -PASS: DS_AppData.FilterTblPtr->Packet[FilterTableIndex].Filter[DS_FILTERS_PER_PACKET-1].Algorithm_X == 0 -PASS: DS_AppData.FilterTblPtr->Packet[FilterTableIndex].Filter[DS_FILTERS_PER_PACKET-1].Algorithm_O == 0 -PASS: DS_AppData.HashLinks[0].Index == 0 -PASS: DS_AppData.HashLinks[0].MessageID == 0x18BB -PASS: ADD MID command: MID = 0x18BB, index = 0 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdAddMID_Test_InvalidCommandLength -ERROR EVENT ID=65 Invalid ADD MID command length: expected = 12, actual = 1 -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid ADD MID command length: expected = 12, actual = 1 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdAddMID_Test_InvalidMessageID -ERROR EVENT ID=65 Invalid ADD MID command arg: invalid MID = 0x 0 -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid ADD MID command arg: invalid MID = 0x 0 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdAddMID_Test_FilterTableNotLoaded -ERROR EVENT ID=65 Invalid ADD MID command: filter table is not loaded -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid ADD MID command: filter table is not loaded -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdAddMID_Test_MIDAlreadyInFilterTable -ERROR EVENT ID=65 Invalid ADD MID command: MID = 0x18BB is already in filter table at index = 0 -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid ADD MID command: MID = 0x18BB is already in filter table at index = 0 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_CmdAddMID_Test_FilterTableFull -ERROR EVENT ID=65 Invalid ADD MID command: filter table is full -PASS: DS_AppData.CmdRejectedCounter == 1 -PASS: Invalid ADD MID command: filter table is full -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_FileStorePacket_Test_Nominal -PASS: DS_AppData.PassedPktCounter == 1 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_FileStorePacket_Test_PacketNotInTable -PASS: DS_AppData.IgnoredPktCounter == 1 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_FileStorePacket_Test_PassedFilterFalse -PASS: DS_AppData.FilteredPktCounter == 1 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_FileSetupWrite_Test_Nominal -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_FileSetupWrite_Test_FileHandleClosed -ERROR EVENT ID=16 FILE WRITE error: result = 0, length = 64, dest = 0, name = 'lο/vο.-' -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_FileSetupWrite_Test_MaxFileSizeExceeded -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_FileWriteData_Test_Nominal -PASS: DS_AppData.FileWriteCounter == 1 -PASS: DS_AppData.FileStatus[FileIndex].FileSize == 10 -PASS: DS_AppData.FileStatus[FileIndex].FileGrowth == 10 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_FileWriteData_Test_Error -ERROR EVENT ID=16 FILE WRITE error: result = -1, length = 10, dest = 0, name = 'directory1/' -PASS: FILE WRITE error: result = -1, length = 10, dest = 0, name = 'directory1/' -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_FileWriteHeader_Test_PlatformConfigCFE_Nominal -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 -PASS: DS_AppData.FileWriteCounter == 2 -PASS: sizeof(CFE_FS_Header_t) + sizeof(DS_FileHeader_t) -PASS: sizeof(CFE_FS_Header_t) + sizeof(DS_FileHeader_t) - -Running Test: DS_FileWriteHeader_Test_PrimaryHeaderError -ERROR EVENT ID=16 FILE WRITE error: result = -1, length = 64, dest = 0, name = '' -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_FileWriteHeader_Test_SecondaryHeaderError -ERROR EVENT ID=16 FILE WRITE error: result = -1, length = 76, dest = 0, name = '' -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_FileWriteError_Test -ERROR EVENT ID=16 FILE WRITE error: result = -1, length = 10, dest = 0, name = 'filename' -PASS: DS_AppData.FileWriteErrCounter == 1 -PASS: FILE WRITE error: result = -1, length = 10, dest = 0, name = 'filename' -PASS: DS_AppData.FileStatus[FileIndex].FileState == DS_DISABLED -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_FileCreateDest_Test_Nominal -PASS: DS_AppData.FileWriteCounter == 3 -PASS: DS_AppData.FileStatus[FileIndex].FileHandle == 5 -PASS: DS_AppData.FileStatus[FileIndex].FileCount == 5 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_FileCreateDest_Test_Error -ERROR EVENT ID=15 FILE CREATE error: result = -1, dest = 0, name = 'path/basename.extension' -PASS: DS_AppData.FileWriteErrCounter == 1 -PASS: FILE CREATE error: result = -1, dest = 0, name = 'path/basename.extension' -PASS: strncmp (DS_AppData.FileStatus[FileIndex].FileName, , DS_TOTAL_FNAME_BUFSIZE) == 0 -PASS: DS_AppData.FileStatus[FileIndex].FileState == DS_DISABLED -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_FileCreateName_Test_Nominal -PASS: strncmp (DS_AppData.FileStatus[FileIndex].FileName, 'path/basename.extension', DS_TOTAL_FNAME_BUFSIZE) == 0 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_FileCreateName_Test_Error -ERROR EVENT ID=14 FILE NAME error: dest = 0, path = 'path', base = 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa', seq = -PASS: FILE NAME error: dest = 0, path = 'path', base = 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa', seq = -PASS: DS_AppData.FileStatus[FileIndex].FileState == DS_DISABLED -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_FileCreateSequence_Test_ByCount -PASS: strncmp(Sequence, '00000001', DS_TOTAL_FNAME_BUFSIZE) == 0 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_FileCreateSequence_Test_ByTime -PASS: strncmp(Sequence, '1980001000000', DS_TOTAL_FNAME_BUFSIZE) == 0 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_FileCreateSequence_Test_BadFilenameType -PASS: strncmp(Sequence, '', DS_TOTAL_FNAME_BUFSIZE) == 0 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_FileUpdateHeader_Test_PlatformConfigCFE_Nominal -PASS: DS_AppData.FileUpdateCounter == 1 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_FileUpdateHeader_Test_WriteError -PASS: DS_AppData.FileUpdateErrCounter == 1 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_FileUpdateHeader_Test_PlatformConfigCFE_SeekError -PASS: DS_AppData.FileUpdateErrCounter == 1 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_FileCloseDest_Test_MoveFilesFalse -PASS: DS_AppData.FileStatus[FileIndex].FileHandle == DS_CLOSED_FILE_HANDLE -PASS: DS_AppData.FileStatus[FileIndex].FileAge == 0 -PASS: DS_AppData.FileStatus[FileIndex].FileSize == 0 -PASS: DS_AppData.FileStatus[FileIndex].FileName[0] == 0 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_FileTestAge_Test_Nominal -PASS: DS_AppData.FileStatus[FileIndex].FileAge == 2 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_FileTestAge_Test_ExceedMaxAge -PASS: DS_AppData.FileStatus[FileIndex].FileAge == 0 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_TableInit_Test_Nominal -PASS: Result == CFE_SUCCESS -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_TableInit_Test_TableInfoRecovered -DEBUG EVENT ID=7 Destination File Table data restored from CDS -DEBUG EVENT ID=7 Filter Table data restored from CDS -PASS: Result == CFE_SUCCESS -PASS: Destination File Table data restored from CDS -PASS: Filter Table data restored from CDS -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 2 - -Running Test: DS_TableInit_Test_RegisterDestTableError -ERROR EVENT ID=8 Unable to register Destination File Table: Error = 0x00000099 -PASS: Result == 0x99 -PASS: Unable to register Destination File Table: Error = 0x00000099 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_TableInit_Test_RegisterFilterTableError -ERROR EVENT ID=8 Unable to register Filter Table: Error = 0x00000099 -PASS: Result == 0x99 -PASS: Unable to register Filter Table: Error = 0x00000099 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_TableInit_Test_LoadDestTableError -ERROR EVENT ID=8 Unable to load default Destination File Table: Filename = '/cf/apps/ds_file_tbl.tbl', Error = 0xCC000013 -PASS: Result == CFE_SUCCESS -PASS: Unable to load default Destination File Table: Filename = '/cf/apps/ds_file_tbl.tbl', Error = 0xCC000013 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_TableInit_Test_LoadFilterTableError -ERROR EVENT ID=8 Unable to load default Filter Table: Filename = '/cf/apps/ds_filter_tbl.tbl', Error = 0xCC000013 -PASS: Result == CFE_SUCCESS -PASS: Unable to load default Filter Table: Filename = '/cf/apps/ds_filter_tbl.tbl', Error = 0xCC000013 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_TableManageDestFile_Test_TableInfoUpdated -PASS: DS_AppData.DestTblLoadCounter == 1 -PASS: DS_AppData.FileStatus[0].FileState == 0 -PASS: DS_AppData.FileStatus[0].FileCount == 0 -PASS: DS_AppData.FileStatus[DS_DEST_FILE_CNT/2].FileState == DS_DEST_FILE_CNT/2 -PASS: DS_AppData.FileStatus[DS_DEST_FILE_CNT/2].FileCount == DS_DEST_FILE_CNT/2 -PASS: DS_AppData.FileStatus[DS_DEST_FILE_CNT-1].FileState == DS_DEST_FILE_CNT-1 -PASS: DS_AppData.FileStatus[DS_DEST_FILE_CNT-1].FileCount == DS_DEST_FILE_CNT-1 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_TableManageDestFile_Test_TableNeverLoaded -PASS: DS_AppData.DestTblErrCounter == 1 -PASS: DS_AppData.DestFileTblPtr == (DS_DestFileTable_t *) NULL -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_TableManageDestFile_Test_TableInfoDumpPending -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_TableManageDestFile_Test_TableInfoValidationPending -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_TableManageDestFile_Test_TableInfoUpdatePending -PASS: DS_AppData.DestTblLoadCounter == 1 -PASS: DS_AppData.FileStatus[0].FileState == 0 -PASS: DS_AppData.FileStatus[0].FileCount == 0 -PASS: DS_AppData.FileStatus[DS_DEST_FILE_CNT/2].FileState == DS_DEST_FILE_CNT/2 -PASS: DS_AppData.FileStatus[DS_DEST_FILE_CNT/2].FileCount == DS_DEST_FILE_CNT/2 -PASS: DS_AppData.FileStatus[DS_DEST_FILE_CNT-1].FileState == DS_DEST_FILE_CNT-1 -PASS: DS_AppData.FileStatus[DS_DEST_FILE_CNT-1].FileCount == DS_DEST_FILE_CNT-1 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_TableManageFilter_Test_TableInfoUpdated -PASS: DS_AppData.FilterTblLoadCounter == 1 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_TableManageFilter_Test_TableNeverLoaded -PASS: DS_AppData.FilterTblErrCounter == 1 -PASS: DS_AppData.FilterTblPtr == (DS_FilterTable_t *) NULL -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_TableManageFilter_Test_TableInfoDumpPending -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_TableManageFilter_Test_TableInfoValidationPending -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_TableManageFilter_Test_TableInfoUpdatePending -PASS: DS_AppData.FilterTblLoadCounter == 1 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_TableVerifyDestFile_Test_Nominal -INFO EVENT ID=10 Destination file table verify results: desc text = OK, good entries = 1, bad = 0, unused = 15 -PASS: Result == CFE_SUCCESS -PASS: Destination file table verify results: desc text = OK, good entries = 1, bad = 0, unused = 15 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_TableVerifyDestFile_Test_DestFileTableVerificationError -ERROR EVENT ID=11 Destination file table verify err: invalid descriptor text -INFO EVENT ID=10 Destination file table verify results: desc text = bad, good entries = 1, bad = 0, unused = 15 -PASS: Result == DS_TABLE_VERIFY_ERR -PASS: Destination file table verify err: invalid descriptor text -PASS: Destination file table verify results: desc text = bad, good entries = 1, bad = 0, unused = 15 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 2 - -Running Test: DS_TableVerifyDestFile_Test_CountBad -ERROR EVENT ID=11 Destination file table verify err: index = 0, invalid extension text -INFO EVENT ID=10 Destination file table verify results: desc text = OK, good entries = 0, bad = 1, unused = 15 -PASS: Result == DS_TABLE_VERIFY_ERR -PASS: Destination file table verify err: index = 0, invalid extension text -PASS: Destination file table verify results: desc text = OK, good entries = 0, bad = 1, unused = 15 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 2 - -Running Test: DS_TableVerifyDestFileEntry_Test_Nominal -PASS: Result == TRUE -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_TableVerifyDestFileEntry_Test_InvalidPathname -ERROR EVENT ID=11 Destination file table verify err: index = 0, invalid pathname text -PASS: Result == FALSE -PASS: Destination file table verify err: index = 0, invalid pathname text -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_TableVerifyDestFileEntry_Test_InvalidBasename -ERROR EVENT ID=11 Destination file table verify err: index = 0, invalid basename text -PASS: Result == FALSE -PASS: Destination file table verify err: index = 0, invalid basename text -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_TableVerifyDestFileEntry_Test_InvalidExtension -ERROR EVENT ID=11 Destination file table verify err: index = 0, invalid extension text -PASS: Result == FALSE -PASS: Destination file table verify err: index = 0, invalid extension text -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_TableVerifyDestFileEntry_Test_InvalidFilenameType -ERROR EVENT ID=11 Destination file table verify err: index = 0, filename type = 99 -PASS: Result == FALSE -PASS: Destination file table verify err: index = 0, filename type = 99 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_TableVerifyDestFileEntry_Test_InvalidFileEnableState -ERROR EVENT ID=11 Destination file table verify err: index = 0, file enable state = 99 -PASS: Result == FALSE -PASS: Destination file table verify err: index = 0, file enable state = 99 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_TableVerifyDestFileEntry_Test_InvalidSize -ERROR EVENT ID=11 Destination file table verify err: index = 0, max file size = 1023 -PASS: Result == FALSE -PASS: Destination file table verify err: index = 0, max file size = 1023 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_TableVerifyDestFileEntry_Test_InvalidAge -ERROR EVENT ID=11 Destination file table verify err: index = 0, max file age = 59 -PASS: Result == FALSE -PASS: Destination file table verify err: index = 0, max file age = 59 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_TableVerifyDestFileEntry_Test_InvalidSequenceCount -ERROR EVENT ID=11 Destination file table verify err: index = 0, sequence count = 100000000 -PASS: Result == FALSE -PASS: Destination file table verify err: index = 0, sequence count = 100000000 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_TableVerifyFilter_Test_Nominal -INFO EVENT ID=12 Filter table verify results: desc text = OK, good entries = 1, bad = 0, unused = 255 -PASS: Result == CFE_SUCCESS -PASS: Filter table verify results: desc text = OK, good entries = 1, bad = 0, unused = 255 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_TableVerifyFilter_Test_FilterTableVerificationError -ERROR EVENT ID=13 Filter table verify err: invalid descriptor text -INFO EVENT ID=12 Filter table verify results: desc text = bad, good entries = 1, bad = 0, unused = 255 -PASS: Result == DS_TABLE_VERIFY_ERR -PASS: Filter table verify err: invalid descriptor text -PASS: Filter table verify results: desc text = bad, good entries = 1, bad = 0, unused = 255 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 2 - -Running Test: DS_TableVerifyFilter_Test_CountBad -ERROR EVENT ID=13 Filter table verify err: MID = 0x18BB, index = 0, filter = 0, filter type = 4 -INFO EVENT ID=12 Filter table verify results: desc text = OK, good entries = 0, bad = 1, unused = 255 -PASS: Result == DS_TABLE_VERIFY_ERR -PASS: Filter table verify err: MID = 0x18BB, index = 0, filter = 0, filter type = 4 -PASS: Filter table verify results: desc text = OK, good entries = 0, bad = 1, unused = 255 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 2 - -Running Test: DS_TableVerifyFilterEntry_Test_Nominal -PASS: Result == TRUE -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_TableVerifyFilterEntry_Test_InvalidFileTableIndex -ERROR EVENT ID=13 Filter table verify err: MID = 0x18BB, index = 0, filter = 0, file table index = 17 -PASS: Result == FALSE -PASS: Filter table verify err: MID = 0x18BB, index = 0, filter = 0, file table index = 17 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_TableVerifyFilterEntry_Test_InvalidFilterType -ERROR EVENT ID=13 Filter table verify err: MID = 0x18BB, index = 0, filter = 0, filter type = 99 -PASS: Result == FALSE -PASS: Filter table verify err: MID = 0x18BB, index = 0, filter = 0, filter type = 99 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_TableVerifyFilterEntry_Test_InvalidFilterParms -ERROR EVENT ID=13 Filter table verify err: MID = 0x18BB, index = 0, filter = 0, filter parms N = 1, X = 3, O = 99 -PASS: Result == FALSE -PASS: Filter table verify err: MID = 0x18BB, index = 0, filter = 0, filter parms N = 1, X = 3, O = 99 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_TableEntryUnused_Test_Nominal -PASS: Result == TRUE -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_TableEntryUnused_Test_Fail -PASS: Result == FALSE -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_TableVerifyFileIndex_Test_Nominal -PASS: Result == TRUE -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_TableVerifyFileIndex_Test_Fail -PASS: Result == FALSE -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_TableVerifyParms_Test_NominalOnlyXNonZero -PASS: Result == TRUE -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_TableVerifyParms_Test_NGreaterThanXOnlyNNonZero -PASS: Result == FALSE -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_TableVerifyParms_Test_OGreaterThanXOnlyONonZero -PASS: Result == FALSE -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_TableVerifyType_Test_Nominal -PASS: Result == TRUE -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_TableVerifyType_Test_Fail -PASS: Result == FALSE -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_TableVerifyState_Test_Nominal -PASS: Result == TRUE -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_TableVerifyState_Test_Fail -PASS: Result == FALSE -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_TableVerifySize_Test_Nominal -PASS: Result == TRUE -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_TableVerifySize_Test_Fail -PASS: Result == FALSE -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_TableVerifyAge_Test_Nominal -PASS: Result == TRUE -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_TableVerifyAge_Test_Fail -PASS: Result == FALSE -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_TableVerifyCount_Test_Nominal -PASS: Result == TRUE -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_TableVerifyCount_Test_Fail -PASS: Result == FALSE -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_TableSubscribe_Test -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_TableUnsubscribe_Test -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_TableCreateCDS_Test_NewCDSArea -PASS: Result == CFE_SUCCESS -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_TableCreateCDS_Test_PreExistingCDSArea -PASS: Result == CFE_SUCCESS -PASS: DS_AppData.FileStatus[0].FileCount == 0 -PASS: DS_AppData.FileStatus[DS_DEST_FILE_CNT/2].FileCount == 0 -PASS: DS_AppData.FileStatus[DS_DEST_FILE_CNT-1].FileCount == 0 -PASS: DS_AppData.AppEnableState == 0 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_TableCreateCDS_Test_Error -ERROR EVENT ID=6 Critical Data Store access error = 0xFFFFFFFF -PASS: DS_AppData.DataStoreHandle == 0 -PASS: Critical Data Store access error = 0xFFFFFFFF -PASS: Result == CFE_SUCCESS -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_TableUpdateCDS_Test_Nominal -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_TableUpdateCDS_Test_Error -ERROR EVENT ID=6 Critical Data Store access error = 0xFFFFFFFF -PASS: Critical Data Store access error = 0xFFFFFFFF -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 1 - -Running Test: DS_TableHashFunction_Test -PASS: Result == 187 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_TableCreateHash_Test_Nominal -PASS: DS_AppData.HashLinks[0].Index == 0 -PASS: DS_AppData.HashLinks[0].MessageID == 0x18BB -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_TableCreateHash_Test_NullTable -PASS: DS_AppData.HashLinks[0].Index == 0 -PASS: DS_AppData.HashLinks[0].MessageID == 0x18BB -PASS: DS_AppData.HashTable[187] == &DS_AppData.HashLinks[0] -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Running Test: DS_TableFindMsgID_Test -PASS: Result == 1 -PASS: Ut_CFE_EVS_GetEventQueueDepth() == 0 - -Tests Executed: 207 -Assert Pass Count: 645 -Assert Fail Count: 0 - -gcov: '../src/ds_file.c' 100.00% 178 -gcov: '../src/ds_app.c' 100.00% 146 -gcov: '../src/ds_cmds.c' 100.00% 439 -gcov: '../src/ds_table.c' 100.00% 319 - diff --git a/fsw/unit_test/ds_test_utils.c b/fsw/unit_test/ds_test_utils.c deleted file mode 100644 index 04dc0ea..0000000 --- a/fsw/unit_test/ds_test_utils.c +++ /dev/null @@ -1,70 +0,0 @@ - /************************************************************************* - ** File: ds_test_utils.c - ** - ** NASA Docket No. GSC-16,126-1, and identified as "Core Flight Software System - ** (CFS) Data Storage Application Version 2” - ** - ** Copyright © 2007-2014 United States Government as represented by the - ** Administrator of the National Aeronautics and Space Administration. All Rights - ** Reserved. - ** - ** Licensed under the Apache License, Version 2.0 (the "License"); - ** you may not use this file except in compliance with the License. - ** You may obtain a copy of the License at - ** http://www.apache.org/licenses/LICENSE-2.0 - ** - ** Unless required by applicable law or agreed to in writing, software - ** distributed under the License is distributed on an "AS IS" BASIS, - ** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - ** See the License for the specific language governing permissions and - ** limitations under the License. - ** - ** Purpose: - ** This file contains unit test utilities for the DS application. - ** - ** References: - ** Flight Software Branch C Coding Standard Version 1.2 - ** CFS Development Standards Document - ** - ** Notes: - ** - *************************************************************************/ - -/* - * Includes - */ - -#include "ds_test_utils.h" -#include "ds_app.h" - -extern DS_AppData_t DS_AppData; - -/* - * Function Definitions - */ - -void DS_Test_Setup(void) -{ - /* initialize test environment to default state for every test */ - - CFE_PSP_MemSet(&DS_AppData, 0, sizeof(DS_AppData_t)); - - Ut_CFE_EVS_Reset(); - Ut_CFE_FS_Reset(); - Ut_CFE_TIME_Reset(); - Ut_CFE_TBL_Reset(); - Ut_CFE_SB_Reset(); - Ut_CFE_ES_Reset(); - Ut_OSAPI_Reset(); - Ut_OSFILEAPI_Reset(); -} /* end DS_Test_Setup */ - -void DS_Test_TearDown(void) -{ - /* cleanup test environment */ -} /* end DS_Test_TearDown */ - - -/************************/ -/* End of File Comment */ -/************************/ diff --git a/fsw/unit_test/ds_test_utils.h b/fsw/unit_test/ds_test_utils.h deleted file mode 100644 index 9dbbfc1..0000000 --- a/fsw/unit_test/ds_test_utils.h +++ /dev/null @@ -1,63 +0,0 @@ - /************************************************************************* - ** File: ds_test_utils.h - ** - ** NASA Docket No. GSC-16,126-1, and identified as "Core Flight Software System - ** (CFS) Data Storage Application Version 2” - ** - ** Copyright © 2007-2014 United States Government as represented by the - ** Administrator of the National Aeronautics and Space Administration. All Rights - ** Reserved. - ** - ** Licensed under the Apache License, Version 2.0 (the "License"); - ** you may not use this file except in compliance with the License. - ** You may obtain a copy of the License at - ** http://www.apache.org/licenses/LICENSE-2.0 - ** - ** Unless required by applicable law or agreed to in writing, software - ** distributed under the License is distributed on an "AS IS" BASIS, - ** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - ** See the License for the specific language governing permissions and - ** limitations under the License. - ** - ** Purpose: - ** This file contains the function prototypes and global variables for - ** the unit test utilities for the DS application. - ** - ** References: - ** Flight Software Branch C Coding Standard Version 1.2 - ** CFS Development Standards Document - ** - ** Notes: - ** - *************************************************************************/ - -/* - * Includes - */ - -#include "ds_app.h" -#include "ut_cfe_evs_hooks.h" -#include "ut_cfe_time_stubs.h" -#include "ut_cfe_psp_memutils_stubs.h" -#include "ut_cfe_tbl_stubs.h" -#include "ut_cfe_tbl_hooks.h" -#include "ut_cfe_fs_stubs.h" -#include "ut_cfe_time_stubs.h" -#include "ut_osapi_stubs.h" -#include "ut_osfileapi_stubs.h" -#include "ut_cfe_sb_stubs.h" -#include "ut_cfe_es_stubs.h" -#include "ut_cfe_evs_stubs.h" -#include - -/* - * Function Definitions - */ - -void DS_Test_Setup(void); -void DS_Test_TearDown(void); - - -/************************/ -/* End of File Comment */ -/************************/ diff --git a/fsw/unit_test/ds_testrunner.c b/fsw/unit_test/ds_testrunner.c deleted file mode 100644 index 4a39ae7..0000000 --- a/fsw/unit_test/ds_testrunner.c +++ /dev/null @@ -1,60 +0,0 @@ - /************************************************************************* - ** File: ds_testrunner.c - ** - ** NASA Docket No. GSC-16,126-1, and identified as "Core Flight Software System - ** (CFS) Data Storage Application Version 2” - ** - ** Copyright © 2007-2014 United States Government as represented by the - ** Administrator of the National Aeronautics and Space Administration. All Rights - ** Reserved. - ** - ** Licensed under the Apache License, Version 2.0 (the "License"); - ** you may not use this file except in compliance with the License. - ** You may obtain a copy of the License at - ** http://www.apache.org/licenses/LICENSE-2.0 - ** - ** Unless required by applicable law or agreed to in writing, software - ** distributed under the License is distributed on an "AS IS" BASIS, - ** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - ** See the License for the specific language governing permissions and - ** limitations under the License. - ** - ** Purpose: - ** This file contains the unit test runner for the DS application. - ** - ** References: - ** Flight Software Branch C Coding Standard Version 1.2 - ** CFS Development Standards Document - ** - ** Notes: - ** - *************************************************************************/ - -/* - * Includes - */ - -#include "uttest.h" -#include "ds_app_test.h" -#include "ds_cmds_test.h" -#include "ds_file_test.h" -#include "ds_table_test.h" - -/* - * Function Definitions - */ - -int main(void) -{ - DS_App_Test_AddTestCases(); - DS_Cmds_Test_AddTestCases(); - DS_File_Test_AddTestCases(); - DS_Table_Test_AddTestCases(); - - return(UtTest_Run()); -} /* end main */ - - -/************************/ -/* End of File Comment */ -/************************/ diff --git a/fsw/unit_test/makefile b/fsw/unit_test/makefile deleted file mode 100644 index 61408af..0000000 --- a/fsw/unit_test/makefile +++ /dev/null @@ -1,160 +0,0 @@ -############################################################################## -## File: -## $Id: makefile 1.5 2017/01/25 12:29:20EST sstrege Exp $ -## -## Purpose: -## Makefile for building the CFS Data Storage (DS) UT Assert unit tests -## -############################################################################## -## GNU Makefile for building UT unit tests - -# -# In order to build the DS UT Assert unit tests, the following environment -# variables must be defined: UT_ASSERT_SRC, CFS_MISSION, CFE_DIR, OSAL_DIR, -# PSP_DIR, and APP_DIR. -# -# Supported MAKEFILE targets: -# clean - deletes object files, executables, output files, and gcov files -# all - makes ds_testrunner.exe -# run - runs ds_testrunner.exe -# gcov - prints a GCOV coverage report (make all, make run, make gcov) -# -# GCOV is disabled by default. If you are using the source level debugger you will want to -# disable GCOV. To enable GCOV you can override the ENABLE_GCOV variable on the command line -# by setting it to TRUE. For example "make ENABLE_GCOV=TRUE". -# - -# -# VPATH specifies the search paths for source files outside of the current directory. Note that -# all object files will be created in the current directory even if the source file is not in the -# current directory. -# -VPATH := . -VPATH += $(UT_ASSERT_SRC)/src -VPATH += $(OSAL_DIR)/src/ut-stubs -VPATH += $(CFE_FSW)/cfe-core/unit-test -VPATH += $(CFS_APP_SRC)/cfs_lib/fsw/src -VPATH += ../src -VPATH += ../for_build - -DS_PATH=../.. - -# -# INCLUDES specifies the search paths for include files outside of the current directory. -# Note that the -I is required. -# -INCLUDES := -I. -INCLUDES += -I$(UT_ASSERT_SRC)/inc -INCLUDES += -I$(CFS_MISSION)/build/pc-linux/inc -INCLUDES += -I$(CFS_APP_SRC)/cfs_lib/fsw/public_inc -INCLUDES += -I$(CFE_DIR)/fsw/cfe-core/os/inc -INCLUDES += -I$(CFE_DIR)/fsw/cfe-core/src/inc -INCLUDES += -I$(CFE_DIR)/fsw/cfe-core/src/time -INCLUDES += -I$(CFE_DIR)/fsw/cfe-core/src/sb -INCLUDES += -I$(CFE_DIR)/fsw/cfe-core/src/es -INCLUDES += -I$(CFE_DIR)/fsw/cfe-core/src/evs -INCLUDES += -I$(CFE_DIR)/fsw/cfe-core/src/fs -INCLUDES += -I$(CFE_DIR)/fsw/cfe-core/src/tbl -INCLUDES += -I$(CFE_DIR)/fsw/mission_inc -INCLUDES += -I$(CFE_DIR)/fsw/platform_inc/cpu1 -INCLUDES += -I$(OSAL_DIR)/src/os/inc -INCLUDES += -I$(OSAL_DIR)/build/inc -INCLUDES += -I$(OSAL_DIR)/src/bsp/pc-linux/config -INCLUDES += -I$(PSP_DIR)/fsw/inc -INCLUDES += -I$(PSP_DIR)/fsw/pc-linux/inc -INCLUDES += -I$(PSP_DIR)/fsw/pc-linux/inc -INCLUDES += -I$(DS_PATH)/fsw/src -INCLUDES += -I$(DS_PATH)/fsw/mission_inc - -# -# FLIGHT_OBJS specifies flight software object files. -# -FLIGHT_OBJS := ds_app.o ds_cmds.o ds_file.o ds_table.o - -# -# UT_OBJS specifies unit test object files. -# -UT_OBJS := ut_osapi_stubs.o -UT_OBJS += ut_osfileapi_stubs.o -UT_OBJS += ut_cfe_sb_stubs.o -UT_OBJS += ut_cfe_es_stubs.o -UT_OBJS += ut_cfe_evs_stubs.o -UT_OBJS += ut_cfe_time_stubs.o -UT_OBJS += ut_cfe_fs_stubs.o -UT_OBJS += ut_cfe_psp_memutils_stubs.o -UT_OBJS += ut_cfe_tbl_stubs.o -UT_OBJS += ut_cfe_sb_hooks.o -UT_OBJS += ut_cfe_es_hooks.o -UT_OBJS += ut_cfe_evs_hooks.o -UT_OBJS += ut_cfe_tbl_hooks.o -UT_OBJS += ut_cfe_time_hooks.o -UT_OBJS += utassert.o -UT_OBJS += utlist.o -UT_OBJS += uttest.o -UT_OBJS += uttools.o -UT_OBJS += cfs_utils.o -UT_OBJS += ds_testrunner.o -UT_OBJS += ds_app_test.o -UT_OBJS += ds_test_utils.o -UT_OBJS += ds_cmds_test.o -UT_OBJS += ds_file_test.o -UT_OBJS += ds_table_test.o - -# -# UT_TEST_RUNNER specifies the name of the test runner. -# -UT_TEST_RUNNER = ds_testrunner.exe - -############################################################################### - -COMPILER=gcc -LINKER=gcc - -# -# Compiler and Linker Options -# -GCOV_COPT = -fprofile-arcs -ftest-coverage -pg -p -GCOV_LOPT = -pg -p -fprofile-arcs -ftest-coverage -lgcov -lm - -#WARNINGS = -Wall -W -ansi -Werror -Wstrict-prototypes -Wundef -WARNINGS = -Wall -Wstrict-prototypes -Wundef -DEBUGGER = -g - -COPT = $(WARNINGS) $(DEBUGGER) $(GCOV_COPT) -DSOFTWARE_LITTLE_BIT_ORDER -D_EL -DUT_VERBOSE -DOSAPI_NO_SPECIAL_ATTRIBS - -LOPT = $(GCOV_LOPT) - -############################################################################### -## Rule to make the specified TARGET -## -%.exe: %.o - $(LINKER) $(LOPT) $^ -o $*.exe - -############################################################################### -## "C" COMPILER RULE -## -%.o: %.c - $(COMPILER) -c $(COPT) $(INCLUDES) $< - -############################################################################## -## - -all:$(UT_TEST_RUNNER) - -$(UT_TEST_RUNNER): $(UT_OBJS) $(FLIGHT_OBJS) - -clean :: - rm -f *.o *.exe *.gcda *.gcno *.gcov gmon.out - -run :: - ./$(UT_TEST_RUNNER) - -gcov :: - @echo - @gcov -f -b $(FLIGHT_OBJS:.o=.gcda) | sed 'N;s/\n/ /' | \ - sed -n '/File/p' | sed '/ads/d' | sed -e '/\.h/d' | \ - sed 's/ Lines executed:/ /; s/File/gcov:/; s/of// ' - @rm -f *.gcda *.gcno - @echo - -# end of file diff --git a/test_and_ground/asist/prc/scx_cpu1_ds_enablestate.prc b/test_and_ground/asist/prc/scx_cpu1_ds_enablestate.prc index 2ad33c1..4f82b8f 100644 --- a/test_and_ground/asist/prc/scx_cpu1_ds_enablestate.prc +++ b/test_and_ground/asist/prc/scx_cpu1_ds_enablestate.prc @@ -211,8 +211,8 @@ page SCX_CPU1_TST_DS_HK write ";***********************************************************************" write "; Step 1.4: Start the Data Storage (DS) and Test Applications. " write ";***********************************************************************" -s scx_cpu1_ds_start_apps("1.4") -wait 5 +;s scx_cpu1_ds_start_apps("1.4") +;wait 5 ;; Verify the Housekeeping Packet is being generated local hkPktId = "p0B8" @@ -338,8 +338,8 @@ wait 5 write ";***********************************************************************" write "; Step 2.3: Start the Data Storage (DS) and Test Applications. " write ";***********************************************************************" -s scx_cpu1_ds_start_apps("2.3") -wait 5 +;s scx_cpu1_ds_start_apps("2.3") +;wait 5 ;; Check the DS state based upon the DS_CDS_ENABLE_STATE parameter ;; If this parameter is set to 1, the DS Application State is preserved. @@ -400,9 +400,9 @@ write "; Step 2.5.1: Stop the DS and TST_DS Applications. " write ";*********************************************************************" local cmdCtr = SCX_CPU1_ES_CMDPC + 2 -/SCX_CPU1_ES_DELETEAPP Application="TST_DS" +/SCX_CPU1_ES_RESTARTAPP Application="TST_DS" wait 4 -/SCX_CPU1_ES_DELETEAPP Application=DSAppName +/SCX_CPU1_ES_RESTARTAPP Application=DSAppName wait 4 ut_tlmwait SCX_CPU1_ES_CMDPC, {cmdCtr} @@ -417,8 +417,8 @@ wait 5 write ";*********************************************************************" write "; Step 2.5.2: Start the DS and TST_DS Applications. " write ";*********************************************************************" -s scx_cpu1_ds_start_apps("2.5.2") -wait 5 +;s scx_cpu1_ds_start_apps("2.5.2") +;wait 5 write ";***********************************************************************" write "; Step 2.6: Enable DEBUG Event Messages " diff --git a/test_and_ground/asist/prc/scx_cpu1_ds_filewrite.prc b/test_and_ground/asist/prc/scx_cpu1_ds_filewrite.prc index a568f27..30a2494 100644 --- a/test_and_ground/asist/prc/scx_cpu1_ds_filewrite.prc +++ b/test_and_ground/asist/prc/scx_cpu1_ds_filewrite.prc @@ -306,9 +306,27 @@ enddo write "==> Default Filter Table filename = '",filterFileName,"'" ;; Upload the files to CPU1 -s ftp_file("CF:0", "ds_fwfile.tbl", destFileName, hostCPU, "P") -s ftp_file("CF:0", "ds_fwfilter.tbl", filterFileName, hostCPU, "P") +;s ftp_file("CF:0", "ds_fwfile.tbl", destFileName, hostCPU, "P") +;s ftp_file("CF:0", "ds_fwfilter.tbl", filterFileName, hostCPU, "P") +;wait 5 + +; Load the File table created above +s load_table("ds_fwfile.tbl",hostCPU) +wait 5 + +/SCX_CPU1_TBL_VALIDATE INACTIVE VTABLENAME=fileTblName +wait 5 + +/SCX_CPU1_TBL_ACTIVATE ATableName=fileTblName +wait 5 + +; Load the Filter table created above +s load_table("ds_fwfilter.tbl",hostCPU) +wait 5 +/SCX_CPU1_TBL_VALIDATE INACTIVE VTABLENAME=filterTblName +wait 5 +/SCX_CPU1_TBL_ACTIVATE ATableName=filterTblName wait 5 write ";***********************************************************************" @@ -322,8 +340,7 @@ page SCX_CPU1_DS_FILE_TBL write ";***********************************************************************" write "; Step 1.4: Start the Data Storage (DS) and Test Applications. " write ";***********************************************************************" -s scx_cpu1_ds_start_apps("1.4") -wait 5 +;s scx_cpu1_ds_start_apps("1.4") ;; Verify the Housekeeping Packet is being generated local hkPktId @@ -354,8 +371,8 @@ if (SCX_CPU1_DS_CMDPC = 0) AND (SCX_CPU1_DS_CMDEC = 0) AND ;; (SCX_CPU1_DS_FilteredPktCnt = 0) AND (SCX_CPU1_DS_PassedPktCnt = 0) AND ;; (SCX_CPU1_DS_FileWriteCnt = 0) AND (SCX_CPU1_DS_FileWriteErrCnt = 0) AND ;; (SCX_CPU1_DS_FileUpdCnt = 0) AND (SCX_CPU1_DS_FileUpdErrCnt = 0) AND ;; - (SCX_CPU1_DS_DestLoadCnt = 1) AND (SCX_CPU1_DS_DestPtrErrCnt = 0) AND ;; - (SCX_CPU1_DS_FilterLoadCnt = 1) AND (SCX_CPU1_DS_FilterPtrErrCnt = 0) then + (SCX_CPU1_DS_DestLoadCnt = 2) AND (SCX_CPU1_DS_DestPtrErrCnt = 0) AND ;; + (SCX_CPU1_DS_FilterLoadCnt = 2) AND (SCX_CPU1_DS_FilterPtrErrCnt = 0) then write "<*> Passed (9000) - Housekeeping telemetry initialized properly." ut_setrequirements DS_9000, "P" else @@ -428,11 +445,6 @@ for i = 0 to DS_DEST_FILE_CNT-1 do endif enddo -;; Since the table index is 0-based, subtract 1 -;;if (foundEntry = TRUE) then -;; seqFileEntry = seqFileEntry - 1 -;;endif - ;; Parse the Packet Filter Table to find a MessageID ;; using the Destination File Entry found above local filterEntry = 0 @@ -453,6 +465,7 @@ write "==> Found file entry at ", seqFileEntry write "==> Found filter entry at ", filterEntry local seqMsgID = SCX_CPU1_DS_PF_TBL[filterEntry].MessageID +write "==> Using MID = ", seqMsgID write ";***********************************************************************" write "; Step 2.1.3: Send the TST_DS command to send a message to DS using the" diff --git a/test_and_ground/asist/prc/scx_cpu1_ds_filter.prc b/test_and_ground/asist/prc/scx_cpu1_ds_filter.prc index 6d42870..6113dc3 100644 --- a/test_and_ground/asist/prc/scx_cpu1_ds_filter.prc +++ b/test_and_ground/asist/prc/scx_cpu1_ds_filter.prc @@ -314,9 +314,27 @@ enddo write "==> Default Filter Table filename = '",filterFileName,"'" ;; Upload the files to CPU1 -s ftp_file("CF:0", "ds_filtfile.tbl", destFileName, hostCPU, "P") -s ftp_file("CF:0", "ds_filtfilter.tbl", filterFileName, hostCPU, "P") +;s ftp_file("CF:0", "ds_filtfile.tbl", destFileName, hostCPU, "P") +;s ftp_file("CF:0", "ds_filtfilter.tbl", filterFileName, hostCPU, "P") +; Load the File table created above +s load_table("ds_filtfile.tbl",hostCPU) +wait 5 + +/SCX_CPU1_TBL_VALIDATE INACTIVE VTABLENAME=fileTblName +wait 5 + +/SCX_CPU1_TBL_ACTIVATE ATableName=fileTblName +wait 5 + +; Load the Filter table created above +s load_table("ds_filtfilter.tbl",hostCPU) +wait 5 + +/SCX_CPU1_TBL_VALIDATE INACTIVE VTABLENAME=filterTblName +wait 5 + +/SCX_CPU1_TBL_ACTIVATE ATableName=filterTblName wait 5 write ";***********************************************************************" @@ -330,8 +348,8 @@ page SCX_CPU1_DS_FILE_TBL write ";***********************************************************************" write "; Step 1.4: Start the Data Storage (DS) and Test Applications. " write ";***********************************************************************" -s scx_cpu1_ds_start_apps("1.4") -wait 5 +;s scx_cpu1_ds_start_apps("1.4") +;wait 5 ;; Verify the Housekeeping Packet is being generated local hkPktId @@ -362,8 +380,8 @@ if (SCX_CPU1_DS_CMDPC = 0) AND (SCX_CPU1_DS_CMDEC = 0) AND ;; (SCX_CPU1_DS_FilteredPktCnt = 0) AND (SCX_CPU1_DS_PassedPktCnt = 0) AND ;; (SCX_CPU1_DS_FileWriteCnt = 0) AND (SCX_CPU1_DS_FileWriteErrCnt = 0) AND ;; (SCX_CPU1_DS_FileUpdCnt = 0) AND (SCX_CPU1_DS_FileUpdErrCnt = 0) AND ;; - (SCX_CPU1_DS_DestLoadCnt = 1) AND (SCX_CPU1_DS_DestPtrErrCnt = 0) AND ;; - (SCX_CPU1_DS_FilterLoadCnt = 1) AND (SCX_CPU1_DS_FilterPtrErrCnt = 0) then + (SCX_CPU1_DS_DestLoadCnt = 2) AND (SCX_CPU1_DS_DestPtrErrCnt = 0) AND ;; + (SCX_CPU1_DS_FilterLoadCnt = 2) AND (SCX_CPU1_DS_FilterPtrErrCnt = 0) then write "<*> Passed (9000) - Housekeeping telemetry initialized properly." ut_setrequirements DS_9000, "P" else @@ -3012,14 +3030,17 @@ wait 5 write ";*********************************************************************" write "; Step 4.5.2: Stop and restart the DS and TST_DS apps " write ";*********************************************************************" -/SCX_CPU1_ES_DELETEAPP Application="TST_DS" -wait 2 -/SCX_CPU1_ES_DELETEAPP Application=DSAppName -wait 10 +;/SCX_CPU1_ES_DELETEAPP Application="TST_DS" +;wait 2 +;/SCX_CPU1_ES_DELETEAPP Application=DSAppName +;wait 10 ;; Restart the apps -s scx_cpu1_ds_start_apps("4.5.2") -wait 5 +;s scx_cpu1_ds_start_apps("4.5.2") +;wait 5 + +/SCX_CPU1_ES_RestartApp Application="DS" +wait 20 write ";*********************************************************************" write "; Step 4.5.3: Try to add a Message ID to an unloaded Filter table " @@ -3065,21 +3086,30 @@ write ";*********************************************************************" s scx_cpu1_ds_tbl5 ;; Upload the new filter table -s ftp_file("CF:0", "ds_fullfilter.tbl", filterFileName, hostCPU, "P") +;s ftp_file("CF:0", "ds_fullfilter.tbl", filterFileName, hostCPU, "P") +;wait 5 + +; Load the File table created above +s load_table("ds_fullfilter.tbl",hostCPU) +wait 5 + +/SCX_CPU1_TBL_VALIDATE INACTIVE VTABLENAME=filterTblName +wait 5 +/SCX_CPU1_TBL_ACTIVATE ATableName=filterTblName wait 5 write ";*********************************************************************" write "; Step 4.6.2: Stop and restart the DS and TST_DS apps " write ";*********************************************************************" -/SCX_CPU1_ES_DELETEAPP Application="TST_DS" -wait 2 -/SCX_CPU1_ES_DELETEAPP Application=DSAppName -wait 10 +;/SCX_CPU1_ES_DELETEAPP Application="TST_DS" +;wait 2 +;/SCX_CPU1_ES_DELETEAPP Application=DSAppName +;wait 10 ;; Restart the apps -s scx_cpu1_ds_start_apps("4.6.2") -wait 5 +;s scx_cpu1_ds_start_apps("4.6.2") +;wait 5 write ";*********************************************************************" write "; Step 4.6.3: Try to add a Message ID to a full Packet Filter table " diff --git a/test_and_ground/asist/prc/scx_cpu1_ds_gencmds.prc b/test_and_ground/asist/prc/scx_cpu1_ds_gencmds.prc index 5c5bcb7..fe534cc 100644 --- a/test_and_ground/asist/prc/scx_cpu1_ds_gencmds.prc +++ b/test_and_ground/asist/prc/scx_cpu1_ds_gencmds.prc @@ -222,8 +222,8 @@ write "; Step 1.4: Start the Data Storage (DS) and Test Applications. Verify " write "; that the DS Housekeeping telemetry packet is being generated and the " write "; appropriate items are initialized to zero (0). " write ";***********************************************************************" -s scx_cpu1_ds_start_apps("1.4") -wait 5 +;s scx_cpu1_ds_start_apps("1.4") +;wait 5 ;; Verify the Housekeeping Packet is being generated local hkPktId diff --git a/test_and_ground/asist/prc/scx_cpu1_ds_movefile.prc b/test_and_ground/asist/prc/scx_cpu1_ds_movefile.prc index fdd365c..6453e18 100644 --- a/test_and_ground/asist/prc/scx_cpu1_ds_movefile.prc +++ b/test_and_ground/asist/prc/scx_cpu1_ds_movefile.prc @@ -229,9 +229,27 @@ enddo write "==> Default Filter Table filename = '",filterFileName,"'" ;; Upload the files to CPU1 -s ftp_file("CF:0", "ds_movefile.tbl", destFileName, hostCPU, "P") -s ftp_file("CF:0", "ds_movefilter.tbl", filterFileName, hostCPU, "P") +;s ftp_file("CF:0", "ds_movefile.tbl", destFileName, hostCPU, "P") +;s ftp_file("CF:0", "ds_movefilter.tbl", filterFileName, hostCPU, "P") +; Load the File table created above +s load_table("ds_movefile.tbl",hostCPU) +wait 5 + +/SCX_CPU1_TBL_VALIDATE INACTIVE VTABLENAME=fileTblName +wait 5 + +/SCX_CPU1_TBL_ACTIVATE ATableName=fileTblName +wait 5 + +; Load the Filter table created above +s load_table("ds_movefilter.tbl",hostCPU) +wait 5 + +/SCX_CPU1_TBL_VALIDATE INACTIVE VTABLENAME=filterTblName +wait 5 + +/SCX_CPU1_TBL_ACTIVATE ATableName=filterTblName wait 5 write ";***********************************************************************" @@ -246,8 +264,8 @@ page SCX_CPU1_FM_DIR_LIST write ";***********************************************************************" write "; Step 1.4: Start the Data Storage (DS) and Test Applications. " write ";***********************************************************************" -s scx_cpu1_ds_start_apps("1.4") -wait 5 +;s scx_cpu1_ds_start_apps("1.4") +;wait 5 ;; Verify the Housekeeping Packet is being generated local hkPktId @@ -278,8 +296,8 @@ if (SCX_CPU1_DS_CMDPC = 0) AND (SCX_CPU1_DS_CMDEC = 0) AND ;; (SCX_CPU1_DS_FilteredPktCnt = 0) AND (SCX_CPU1_DS_PassedPktCnt = 0) AND ;; (SCX_CPU1_DS_FileWriteCnt = 0) AND (SCX_CPU1_DS_FileWriteErrCnt = 0) AND ;; (SCX_CPU1_DS_FileUpdCnt = 0) AND (SCX_CPU1_DS_FileUpdErrCnt = 0) AND ;; - (SCX_CPU1_DS_DestLoadCnt = 1) AND (SCX_CPU1_DS_DestPtrErrCnt = 0) AND ;; - (SCX_CPU1_DS_FilterLoadCnt = 1) AND (SCX_CPU1_DS_FilterPtrErrCnt = 0) then + (SCX_CPU1_DS_DestLoadCnt = 2) AND (SCX_CPU1_DS_DestPtrErrCnt = 0) AND ;; + (SCX_CPU1_DS_FilterLoadCnt = 2) AND (SCX_CPU1_DS_FilterPtrErrCnt = 0) then write "<*> Passed (9000) - Housekeeping telemetry initialized properly." ut_setrequirements DS_9000, "P" else diff --git a/test_and_ground/asist/prc/scx_cpu1_ds_resetcds.prc b/test_and_ground/asist/prc/scx_cpu1_ds_resetcds.prc index 723d9e5..e14a294 100644 --- a/test_and_ground/asist/prc/scx_cpu1_ds_resetcds.prc +++ b/test_and_ground/asist/prc/scx_cpu1_ds_resetcds.prc @@ -6,7 +6,7 @@ PROC scx_cpu1_ds_resetcds ; ; Test Description ; This test verifies that the CFS Data Storage (DS) application -; initializesthe appropriate data items based upon the type of +; initializes the appropriate data items based upon the type of ; initialization that occurs (Application Reset, Processor Reset, or ; Power-On Reset). This test also verifies that the proper notifications ; occur if any anomalies exist with the data items stated in the @@ -238,6 +238,24 @@ write "==> Default File Table filename = '",destFileName,"'" s ftp_file("CF:0", "ds_filtfile.tbl", destFileName, hostCPU, "P") s ftp_file("CF:0", "ds_filtfilter.tbl", filterFileName, hostCPU, "P") +; Load the File table created above +s load_table("ds_filtfile.tbl",hostCPU) +wait 5 + +/SCX_CPU1_TBL_VALIDATE INACTIVE VTABLENAME=fileTblName +wait 5 + +/SCX_CPU1_TBL_ACTIVATE ATableName=fileTblName +wait 5 + +; Load the Filter table created above +s load_table("ds_filtfilter.tbl",hostCPU) +wait 5 + +/SCX_CPU1_TBL_VALIDATE INACTIVE VTABLENAME=filterTblName +wait 5 + +/SCX_CPU1_TBL_ACTIVATE ATableName=filterTblName wait 5 write ";***********************************************************************" @@ -251,18 +269,12 @@ page SCX_CPU1_DS_FILE_TBL write ";***********************************************************************" write "; Step 1.4: Start the Data Storage (DS) and Test Applications. " write ";***********************************************************************" -s scx_cpu1_ds_start_apps("1.4") -wait 5 +;s scx_cpu1_ds_start_apps("1.4") +;wait 5 ;; Verify the Housekeeping Packet is being generated local hkPktId = "p0B8" -if ("CPU1" = "CPU2") then - hkPktId = "p1B8" -elseif ("CPU1" = "CPU3") then - hkPktId = "p2B8" -endif - ;; Wait for sequencecount to increment twice local seqTlmItem = hkPktId & "scnt" local currSCnt = {seqTlmItem} @@ -283,8 +295,8 @@ if (SCX_CPU1_DS_CMDPC = 0) AND (SCX_CPU1_DS_CMDEC = 0) AND ;; (SCX_CPU1_DS_FilteredPktCnt = 0) AND (SCX_CPU1_DS_PassedPktCnt = 0) AND ;; (SCX_CPU1_DS_FileWriteCnt = 0) AND (SCX_CPU1_DS_FileWriteErrCnt = 0) AND ;; (SCX_CPU1_DS_FileUpdCnt = 0) AND (SCX_CPU1_DS_FileUpdErrCnt = 0) AND ;; - (SCX_CPU1_DS_DestLoadCnt = 1) AND (SCX_CPU1_DS_DestPtrErrCnt = 0) AND ;; - (SCX_CPU1_DS_FilterLoadCnt = 1) AND (SCX_CPU1_DS_FilterPtrErrCnt = 0) then + (SCX_CPU1_DS_DestLoadCnt = 2) AND (SCX_CPU1_DS_DestPtrErrCnt = 0) AND ;; + (SCX_CPU1_DS_FilterLoadCnt = 2) AND (SCX_CPU1_DS_FilterPtrErrCnt = 0) then write "<*> Passed (9000) - Housekeeping telemetry initialized properly." ut_setrequirements DS_9000, "P" else @@ -642,8 +654,8 @@ wait 5 write ";***********************************************************************" write "; Step 2.5: Start the Data Storage (DS) and Test Applications. " write ";***********************************************************************" -s scx_cpu1_ds_start_apps("2.5") -wait 5 +;s scx_cpu1_ds_start_apps("2.5") +;wait 5 ;; Verify Packet Filter Table changes s get_tbl_to_cvt (ramDir,filterTblName,"A","cpu1_filtertbl25",hostCPU,filterTblPktId) @@ -657,6 +669,9 @@ if (SCX_CPU1_DS_PF_TBL[3].FilterParams[0].N_Value = newNVal) AND ;; else write " Failed (9003) - Expected parameter changes were not set in the Table entry." ut_setrequirements DS_9003, "F" + write " N Val = ",SCX_CPU1_DS_PF_TBL[3].FilterParams[0].N_Value,"; Expected ",newNVal + write " X Val = ",SCX_CPU1_DS_PF_TBL[3].FilterParams[0].X_Value,"; Expected ",newXVal + write " O Val = ",SCX_CPU1_DS_PF_TBL[3].FilterParams[0].O_Value,"; Expected ",newOVal endif ;; Verify the Destination File Table changes @@ -967,9 +982,9 @@ write "; Step 3.3.1: Stop the DS and TST_DS Applications. " write ";*********************************************************************" local cmdCtr = SCX_CPU1_ES_CMDPC + 2 -/SCX_CPU1_ES_DELETEAPP Application="TST_DS" +/SCX_CPU1_ES_RESTARTAPP Application="TST_DS" wait 4 -/SCX_CPU1_ES_DELETEAPP Application=DSAppName +/SCX_CPU1_ES_RESTARTAPP Application=DSAppName wait 4 ut_tlmwait SCX_CPU1_ES_CMDPC, {cmdCtr} @@ -984,8 +999,8 @@ wait 5 write ";***********************************************************************" write "; Step 3.3.2: Start the Data Storage (DS) and Test Applications. " write ";***********************************************************************" -s scx_cpu1_ds_start_apps("3.3.2") -wait 5 +;s scx_cpu1_ds_start_apps("3.3.2") +;wait 5 ;; Verify Packet Filter Table changes s get_tbl_to_cvt (ramDir,filterTblName,"A","cpu1_filtertbl332",hostCPU,filterTblPktId) @@ -999,6 +1014,9 @@ if (SCX_CPU1_DS_PF_TBL[3].FilterParams[1].N_Value = newNVal) AND ;; else write " Failed (9003) - Expected parameter changes were not set in the Table entry." ut_setrequirements DS_9003, "F" + write " N Val = ",SCX_CPU1_DS_PF_TBL[3].FilterParams[1].N_Value,"; Expected ",newNVal + write " X Val = ",SCX_CPU1_DS_PF_TBL[3].FilterParams[1].X_Value,"; Expected ",newXVal + write " O Val = ",SCX_CPU1_DS_PF_TBL[3].FilterParams[1].O_Value,"; Expected ",newOVal endif ;; Verify the Destination File Table changes @@ -1214,16 +1232,18 @@ ut_setupevents "SCX","CPU1","CFE_TBL",CFE_TBL_FILE_ACCESS_ERR_EID, "ERROR", 3 ut_setupevents "SCX","CPU1",{DSAppName},DS_INIT_TBL_ERR_EID, "ERROR", 4 ;; Start the apps -s scx_cpu1_ds_start_apps("4.3") -wait 5 +;s scx_cpu1_ds_start_apps("4.3") +;wait 5 +; NOTE: Since the DS and TST_DS applications are in the startup script +; these messages cannot be captured by ASIST ;; Check for the error events -if (SCX_CPU1_find_event[3].num_found_messages = 1) AND ;; - (SCX_CPU1_find_event[4].num_found_messages = 1) then - write "<*> Passed - Table Load Error messages rcvd." -else - write " Failed - Table Load Error messages were NOT rcvd." -endif +;if (SCX_CPU1_find_event[3].num_found_messages = 1) AND ;; +; (SCX_CPU1_find_event[4].num_found_messages = 1) then +; write "<*> Passed - Table Load Error messages rcvd." +;else +; write " Failed - Table Load Error messages were NOT rcvd." +;endif write ";***********************************************************************" write "; Step 4.4: Remove the default Destination File Table file." @@ -1252,16 +1272,18 @@ ut_setupevents "SCX","CPU1","CFE_TBL",CFE_TBL_FILE_ACCESS_ERR_EID, "ERROR", 3 ut_setupevents "SCX","CPU1",{DSAppName},DS_INIT_TBL_ERR_EID, "ERROR", 4 ;; Start the apps -s scx_cpu1_ds_start_apps("4.6") -wait 5 +;s scx_cpu1_ds_start_apps("4.6") +;wait 5 +; NOTE: Since the DS and TST_DS applications are in the startup script +; these messages cannot be captured by ASIST ;; Check for the error events -if (SCX_CPU1_find_event[3].num_found_messages = 2) AND ;; - (SCX_CPU1_find_event[4].num_found_messages = 2) then - write "<*> Passed - Table Load Error messages rcvd." -else - write " Failed - Table Load Error messages were NOT rcvd." -endif +;if (SCX_CPU1_find_event[3].num_found_messages = 2) AND ;; +; (SCX_CPU1_find_event[4].num_found_messages = 2) then +; write "<*> Passed - Table Load Error messages rcvd." +;else +; write " Failed - Table Load Error messages were NOT rcvd." +;endif write ";***********************************************************************" write "; Step 4.7: Restore the default Packet Filter Table file." @@ -1290,16 +1312,16 @@ ut_setupevents "SCX","CPU1","CFE_TBL",CFE_TBL_FILE_ACCESS_ERR_EID, "ERROR", 3 ut_setupevents "SCX","CPU1",{DSAppName},DS_INIT_TBL_ERR_EID, "ERROR", 4 ;; Start the apps -s scx_cpu1_ds_start_apps("4.9") -wait 5 +;s scx_cpu1_ds_start_apps("4.9") +;wait 5 ;; Check for the error events -if (SCX_CPU1_find_event[3].num_found_messages = 1) AND ;; - (SCX_CPU1_find_event[4].num_found_messages = 1) then - write "<*> Passed - Table Load Error message rcvd." -else - write " Failed - Table Load Error messages were NOT rcvd." -endif +;if (SCX_CPU1_find_event[3].num_found_messages = 1) AND ;; +; (SCX_CPU1_find_event[4].num_found_messages = 1) then +; write "<*> Passed - Table Load Error message rcvd." +;else +; write " Failed - Table Load Error messages were NOT rcvd." +;endif write ";***********************************************************************" write "; Step 4.10: Restore the default Destination File Table file." @@ -1323,9 +1345,10 @@ write ";***********************************************************************" write "; Step 4.12: Start the Data Storage (DS) and Test Applications. " write ";***********************************************************************" ;; Start the apps -s scx_cpu1_ds_start_apps("4.12") -wait 5 +;s scx_cpu1_ds_start_apps("4.12") +;wait 5 +goto step5_8 write ";*********************************************************************" write "; Step 5.0: Table Corruption Tests" write ";*********************************************************************" @@ -1383,8 +1406,8 @@ wait 5 write ";***********************************************************************" write "; Step 5.3: Start the Data Storage (DS) and Test Applications. " write ";***********************************************************************" -s scx_cpu1_ds_start_apps("5.3") -wait 5 +;s scx_cpu1_ds_start_apps("5.3") +;wait 5 ;; Verify that the Packet Filter Table was not restored from the CDS. There ;; will be a message in the UART indicating that the table was not restored. @@ -1446,8 +1469,8 @@ wait 5 write ";***********************************************************************" write "; Step 5.7: Start the Data Storage (DS) and Test Applications. " write ";***********************************************************************" -s scx_cpu1_ds_start_apps("5.7") -wait 5 +;s scx_cpu1_ds_start_apps("5.7") +;wait 5 ;; Verify that the Destination File Table was not restored from the CDS. There ;; will be a message in the UART indicating that the table was not restored. @@ -1463,6 +1486,7 @@ else write " Failed - The Destination File Table was not restored properly after corruption." endif +step5_8: ;; Enable Debug events for Table Services in order to capture the DEBUG event /SCX_CPU1_EVS_EnaAppEVTType Application="CFE_TBL" DEBUG wait 2 diff --git a/test_and_ground/asist/prc/scx_cpu1_ds_resetnocds.prc b/test_and_ground/asist/prc/scx_cpu1_ds_resetnocds.prc index 9fcbca5..d3a51c0 100644 --- a/test_and_ground/asist/prc/scx_cpu1_ds_resetnocds.prc +++ b/test_and_ground/asist/prc/scx_cpu1_ds_resetnocds.prc @@ -233,9 +233,27 @@ enddo write "==> Default Filter Table filename = '",filterFileName,"'" ;; Upload the files to CPU1 -s ftp_file("CF:0", "ds_filtfile.tbl", destFileName, hostCPU, "P") -s ftp_file("CF:0", "ds_filtfilter.tbl", filterFileName, hostCPU, "P") +;s ftp_file("CF:0", "ds_filtfile.tbl", destFileName, hostCPU, "P") +;s ftp_file("CF:0", "ds_filtfilter.tbl", filterFileName, hostCPU, "P") + +; Load the File table created above +s load_table("ds_filtfile.tbl",hostCPU) +wait 5 + +/SCX_CPU1_TBL_VALIDATE INACTIVE VTABLENAME=fileTblName +wait 5 + +/SCX_CPU1_TBL_ACTIVATE ATableName=fileTblName +wait 5 +; Load the Filter table created above +s load_table("ds_filtfilter.tbl",hostCPU) +wait 5 + +/SCX_CPU1_TBL_VALIDATE INACTIVE VTABLENAME=filterTblName +wait 5 + +/SCX_CPU1_TBL_ACTIVATE ATableName=filterTblName wait 5 write ";***********************************************************************" @@ -249,8 +267,8 @@ page SCX_CPU1_DS_FILE_TBL write ";***********************************************************************" write "; Step 1.4: Start the Data Storage (DS) and Test Applications. " write ";***********************************************************************" -s scx_cpu1_ds_start_apps("1.4") -wait 5 +;s scx_cpu1_ds_start_apps("1.4") +;wait 5 ;; Verify the Housekeeping Packet is being generated local hkPktId = "p0B8" @@ -275,8 +293,8 @@ if (SCX_CPU1_DS_CMDPC = 0) AND (SCX_CPU1_DS_CMDEC = 0) AND ;; (SCX_CPU1_DS_FilteredPktCnt = 0) AND (SCX_CPU1_DS_PassedPktCnt = 0) AND ;; (SCX_CPU1_DS_FileWriteCnt = 0) AND (SCX_CPU1_DS_FileWriteErrCnt = 0) AND ;; (SCX_CPU1_DS_FileUpdCnt = 0) AND (SCX_CPU1_DS_FileUpdErrCnt = 0) AND ;; - (SCX_CPU1_DS_DestLoadCnt = 1) AND (SCX_CPU1_DS_DestPtrErrCnt = 0) AND ;; - (SCX_CPU1_DS_FilterLoadCnt = 1) AND (SCX_CPU1_DS_FilterPtrErrCnt = 0) then + (SCX_CPU1_DS_DestLoadCnt = 2) AND (SCX_CPU1_DS_DestPtrErrCnt = 0) AND ;; + (SCX_CPU1_DS_FilterLoadCnt = 2) AND (SCX_CPU1_DS_FilterPtrErrCnt = 0) then write "<*> Passed (9000) - Housekeeping telemetry initialized properly." ut_setrequirements DS_9000, "P" else @@ -298,16 +316,16 @@ else endif ;; Verify 9005, and 9007 -if (SCX_CPU1_DS_DestLoadCnt = 1) AND (SCX_CPU1_DS_FilterLoadCnt = 1) then +if (SCX_CPU1_DS_DestLoadCnt = 2) AND (SCX_CPU1_DS_FilterLoadCnt = 2) then write "<*> Passed (9005;9007) - The tables were validated properly." ut_setrequirements DS_9005, "P" ut_setrequirements DS_9007, "P" else - if (SCX_CPU1_DS_DestLoadCnt = 0) then + if (SCX_CPU1_DS_DestLoadCnt != 2) then write " Failed (9005) - The Destination File table was not validated properly at startup." ut_setrequirements DS_9005, "P" endif - if (SCX_CPU1_DS_FilterLoadCnt = 0) then + if (SCX_CPU1_DS_FilterLoadCnt != 2) then write " Failed (9007) - The Packet Filter table was not validated properly at startup." ut_setrequirements DS_9007, "P" endif @@ -469,16 +487,16 @@ ut_setupevents "SCX","CPU1","CFE_TBL",CFE_TBL_FILE_ACCESS_ERR_EID, "ERROR", 3 ut_setupevents "SCX","CPU1",{DSAppName},DS_INIT_TBL_ERR_EID, "ERROR", 4 ;; Start the apps -s scx_cpu1_ds_start_apps("2.3") -wait 5 +;s scx_cpu1_ds_start_apps("2.3") +;wait 5 ;; Check for the error events -if (SCX_CPU1_find_event[3].num_found_messages = 1) AND ;; - (SCX_CPU1_find_event[4].num_found_messages = 1) then - write "<*> Passed - Table Load Error message rcvd." -else - write " Failed - Table Load Error messages were NOT rcvd." -endif +;if (SCX_CPU1_find_event[3].num_found_messages = 1) AND ;; +; (SCX_CPU1_find_event[4].num_found_messages = 1) then +; write "<*> Passed - Table Load Error message rcvd." +;else +; write " Failed - Table Load Error messages were NOT rcvd." +;endif write ";***********************************************************************" write "; Step 2.4: Enable DEBUG Event Messages " @@ -528,16 +546,16 @@ ut_setupevents "SCX","CPU1","CFE_TBL",CFE_TBL_FILE_ACCESS_ERR_EID, "ERROR", 3 ut_setupevents "SCX","CPU1",{DSAppName},DS_INIT_TBL_ERR_EID, "ERROR", 4 ;; Start the apps -s scx_cpu1_ds_start_apps("2.8") -wait 5 +;s scx_cpu1_ds_start_apps("2.8") +;wait 5 ;; Check for the error events -if (SCX_CPU1_find_event[3].num_found_messages = 1) AND ;; - (SCX_CPU1_find_event[4].num_found_messages = 1) then - write "<*> Passed - Table Load Error message rcvd." -else - write " Failed - Table Load Error messages were NOT rcvd." -endif +;if (SCX_CPU1_find_event[3].num_found_messages = 1) AND ;; +; (SCX_CPU1_find_event[4].num_found_messages = 1) then +; write "<*> Passed - Table Load Error message rcvd." +;else +; write " Failed - Table Load Error messages were NOT rcvd." +;endif write ";***********************************************************************" write "; Step 2.9: Enable DEBUG Event Messages " @@ -581,16 +599,16 @@ ut_setupevents "SCX","CPU1","CFE_TBL",CFE_TBL_FILE_ACCESS_ERR_EID, "ERROR", 3 ut_setupevents "SCX","CPU1",{DSAppName},DS_INIT_TBL_ERR_EID, "ERROR", 4 ;; Start the apps -s scx_cpu1_ds_start_apps("2.12") -wait 5 +;s scx_cpu1_ds_start_apps("2.12") +;wait 5 ;; Check for the error events -if (SCX_CPU1_find_event[3].num_found_messages = 2) AND ;; - (SCX_CPU1_find_event[4].num_found_messages = 2) then - write "<*> Passed - Table Load Error message rcvd." -else - write " Failed - Table Load Error messages were NOT rcvd." -endif +;if (SCX_CPU1_find_event[3].num_found_messages = 2) AND ;; +; (SCX_CPU1_find_event[4].num_found_messages = 2) then +; write "<*> Passed - Table Load Error message rcvd." +;else +; write " Failed - Table Load Error messages were NOT rcvd." +;endif write ";***********************************************************************" write "; Step 2.13: Restore the default Table files." @@ -649,10 +667,11 @@ wait 5 write ";***********************************************************************" write "; Step 2.16: Start the Data Storage (DS) and Test Applications. " write ";***********************************************************************" -s scx_cpu1_ds_start_apps("2.13") -wait 5 +;s scx_cpu1_ds_start_apps("2.13") +;wait 5 ;; Wait until at least 2 Housekeeping packets are rcv'd +currSCnt = {seqTlmItem} expectedSCnt = currSCnt + 2 ut_tlmwait {seqTlmItem}, {expectedSCnt} @@ -833,8 +852,8 @@ wait 5 write ";***********************************************************************" write "; Step 3.4: Start the Data Storage (DS) and Test Applications. " write ";***********************************************************************" -s scx_cpu1_ds_start_apps("3.4") -wait 5 +;s scx_cpu1_ds_start_apps("3.4") +;wait 5 ;; Verify 9005, and 9007 if (SCX_CPU1_DS_DestLoadCnt = 1) AND (SCX_CPU1_DS_FilterLoadCnt = 1) then @@ -1074,16 +1093,16 @@ write "; Step 4.2.1: Stop the DS and TST_DS Applications. " write ";*********************************************************************" local cmdCtr = SCX_CPU1_ES_CMDPC + 2 -/SCX_CPU1_ES_DELETEAPP Application="TST_DS" +/SCX_CPU1_ES_RESTARTAPP Application="TST_DS" wait 4 -/SCX_CPU1_ES_DELETEAPP Application=DSAppName +/SCX_CPU1_ES_RESTARTAPP Application=DSAppName wait 4 ut_tlmwait SCX_CPU1_ES_CMDPC, {cmdCtr} if (UT_TW_Status = UT_Success) then - write "<*> Passed - DS and TST_DS stop app commands sent properly." + write "<*> Passed - DS and TST_DS app commands sent properly." else - write " Failed - Stop App commands did not increment CMDPC." + write " Failed - App commands did not increment CMDPC." endif wait 5 @@ -1091,8 +1110,8 @@ wait 5 write ";*********************************************************************" write "; Step 4.2.2: Start the DS and TST_DS Applications. " write ";*********************************************************************" -s scx_cpu1_ds_start_apps("4.2.2") -wait 5 +;s scx_cpu1_ds_start_apps("4.2.2") +;wait 5 ;; Verify 9005, and 9007 if (SCX_CPU1_DS_DestLoadCnt = 1) AND (SCX_CPU1_DS_FilterLoadCnt = 1) then diff --git a/test_and_ground/asist/rdl/scx_cmd_cpu1_ds_0187.rdl b/test_and_ground/asist/rdl/scx_cmd_cpu1_ds_0187.rdl index 9e10667..f0fbc62 100644 --- a/test_and_ground/asist/rdl/scx_cmd_cpu1_ds_0187.rdl +++ b/test_and_ground/asist/rdl/scx_cmd_cpu1_ds_0187.rdl @@ -43,26 +43,23 @@ CLASS P00BB APID=0187, DESC="SCX CPU1 Data Storage App Commands" END ! CMDS SCX_CPU1_DS_SetFilterFile FCTN=3, DESC="SCX CPU1 DS Set Filter File Selection command" - UI MessageID DESC="The ID of the existing message" + SB_MSGID_T MessageID DESC="The ID of the existing message" UI ParamIndex DESC="The index into Filter Parameter Array" UI FileIndex DESC="The index into Destination File Table" - UI Spare STATIC,DEFAULT=0,INVISIBLE, DESC="" END ! CMDS SCX_CPU1_DS_SetFilterType FCTN=4, DESC="SCX CPU1 DS Set Filter Type command" - UI MessageID DESC="The ID of the existing message" + SB_MSGID_T MessageID DESC="The ID of the existing message" UI ParamIndex DESC="The index into Filter Parameter Array" UI FilterType DESC="The Filter Type to use for the index above" - UI Spare STATIC,DEFAULT=0,INVISIBLE, DESC="" END ! CMDS SCX_CPU1_DS_SetFilterParams FCTN=5, DESC="SCX CPU1 DS Set Filter Paramaters command" - UI MessageID DESC="The ID of the existing message" + SB_MSGID_T MessageID DESC="The ID of the existing message" UI ParamIndex DESC="The index into Filter Parameter Array" UI N_Value DESC="The N value to use in the Filter Algorithm for the index above" UI X_Value DESC="The X value to use in the Filter Algorithm for the index above" UI O_Value DESC="The O value to use in the Filter Algorithm for the index above" - UI Spare STATIC,DEFAULT=0,INVISIBLE, DESC="" END ! CMDS SCX_CPU1_DS_SetFileType FCTN=6, DESC="SCX CPU1 DS Set Destination File Type command" @@ -124,8 +121,7 @@ CLASS P00BB APID=0187, DESC="SCX CPU1 Data Storage App Commands" CMD SCX_CPU1_DS_GetFileInfo FCTN=15, DESC="The Get File Info command" ! CMDS SCX_CPU1_DS_AddMID FCTN=16, DESC="SCX CPU1 DS Add Message ID command" - UI MessageID DESC="The message ID to add to the Packet Filter Table" - UI Spare STATIC,DEFAULT=0,INVISIBLE, DESC="" + SB_MSGID_T MessageID DESC="The ID of the existing message" END ! CMD SCX_CPU1_DS_CloseAllFiles FCTN=17, DESC="The Get File Info command" diff --git a/test_and_ground/asist/tools/ds_file_util.c b/test_and_ground/asist/tools/ds_file_util.c index 0d931ed..ef4a3d9 100644 --- a/test_and_ground/asist/tools/ds_file_util.c +++ b/test_and_ground/asist/tools/ds_file_util.c @@ -6,350 +6,354 @@ #include "stdlib.h" #include "string.h" -#define FOUR_BYTE_FIELD 4 -#define ONE_BYTE_FIELD 1 -#define HDR_BYTES 140 -#define FILE_NAME_BYTES 64 -#define TLM_PRI_HDR_BYTES 6 -#define TLM_SEC_HDR_BYTES 6 -#define MAX_PACKET_BYTES 100000 -#define PRINT_COLUMNS 16 -#define TRUE 1 -#define FALSE 0 -#define MAX_FILE_NAMES 1000 +#define FOUR_BYTE_FIELD 4 +#define ONE_BYTE_FIELD 1 +#define HDR_BYTES 140 +#define FILE_NAME_BYTES 64 +#define TLM_PRI_HDR_BYTES 6 +#define TLM_SEC_HDR_BYTES 6 +#define MAX_PACKET_BYTES 100000 +#define PRINT_COLUMNS 16 +#define TRUE 1 +#define FALSE 0 +#define MAX_FILE_NAMES 1000 int main(int argc, char **argv) { - FILE *infile; - FILE *outfile; - FILE *compare_file; - int i; - int j; - int n; - int print_rows; - int actual_data_length; - size_t number_of_files = 0;; - int file_num; - char headers_only_flag[3]; - unsigned char file_header[HDR_BYTES]; - unsigned char packet_data[MAX_PACKET_BYTES]; - unsigned char infile_names[MAX_FILE_NAMES][FILE_NAME_BYTES]; - unsigned char outfile_name[FILE_NAME_BYTES]; - unsigned char filename[FILE_NAME_BYTES]; - int num_pkt_types = 0; - int end_of_data = FALSE; - int total_bytes = 0; - int verbose = FALSE; - int compare = FALSE; - int write_header = FALSE; - - struct { - int version; - int type; - int sec_hdr_flg; - int app_id; - int seg_flags; - int seq_count; - int pkt_len; - - } ccsds_pri_hdr; - - struct - { - int reserved; - int seconds; - int subseconds; - } ccsds_sec_hdr; - - union { - unsigned char byteStream[4]; - unsigned int value; - } fourByte; - - union { - unsigned char byteStream[2]; - short value; - } twoByte; - - if (sizeof(int) != FOUR_BYTE_FIELD) - { - fprintf(outfile,"Error: integer not 4 bytes.\n"); - exit(1); - } - - if (argc < 2) - { - printf("\n"); - printf(" Usage: fsw_futil [OPTIONS]\n"); - printf("\n"); - printf(" Description:\n"); - printf(" ds_file_util will process the specified input_file(s)\n"); - printf(" wildcards accepted), which will be binary files stored by \n"); - printf(" cFS DS application, and create an ascii breakdown as an \n"); - printf(" output file with '.txt' appended. Also, a raw ascii output\n"); - printf(" file will be created with only packet data (no headers or \n"); - printf(" other text) and will have '_raw.txt' appended.\n\n"); - printf(" Example: >ds_file_util Crater*.sci -h -v\n\n"); - printf(" OPTIONS:\n"); - printf("\n"); - printf(" -h Ouput packet headers only\n"); - printf(" -v Verbose output to screen (debugging)\n\n"); - } - - /* - ** Process command line arguments - */ - for (i = 1; i < argc; i++) - { - if (argv[i][0] != '-') - { - strcpy(infile_names[i-1],argv[i]); - number_of_files++; - } - else if (argv[i][1] == 'h') - { - headers_only_flag[0] = 'y'; - } - else if (argv[i][1] == 'v') - { - verbose = TRUE; - } - } - - if (verbose == TRUE) - { - printf("\nNumber of files: %d\n",number_of_files); - } - - for (file_num = 0; file_num < number_of_files; file_num++) - { - if (verbose == TRUE) - { - printf("\n File %d: %s \n", file_num, infile_names[file_num]); - } - - if (! (infile = fopen((const char *)infile_names[file_num],"rb"))) - { - printf("Cannot open input file: %s\n",infile_names[file_num]); - exit(1); - } - - strcpy(filename,infile_names[file_num]); - - if (! (outfile = fopen((const char *)strcat(filename,".txt"),"w"))) - { - printf("Cannot create output file.\n"); - exit(1); - } - - strcpy(filename,infile_names[file_num]); - - if (! (compare_file = fopen((const char *)strcat(filename,"_raw.txt"),"w"))) - { - printf("Cannot create output file.\n"); - exit(1); - } - - num_pkt_types = 0; - end_of_data = FALSE; - write_header = TRUE; - total_bytes = 0; - - /* - ** Read the cFE and DS file headers - */ - n = fread(file_header, ONE_BYTE_FIELD, HDR_BYTES, infile); - - if (n != HDR_BYTES) - { - fprintf(outfile,"Error reading file header.\n"); - exit(1); - } - - /* - ** Write header to the *_raw.txt file -- WFM - */ - if (write_header == TRUE) - { - for (i = 0; i < HDR_BYTES; i+=2) - { - fprintf(compare_file,"%02X%02X ",file_header[i],file_header[i+1]); + FILE * infile; + FILE * outfile; + FILE * compare_file; + int i; + int j; + int n; + int print_rows; + int actual_data_length; + size_t number_of_files = 0; + ; + int file_num; + char headers_only_flag[3]; + unsigned char file_header[HDR_BYTES]; + unsigned char packet_data[MAX_PACKET_BYTES]; + unsigned char infile_names[MAX_FILE_NAMES][FILE_NAME_BYTES]; + unsigned char outfile_name[FILE_NAME_BYTES]; + unsigned char filename[FILE_NAME_BYTES]; + int num_pkt_types = 0; + int end_of_data = FALSE; + int total_bytes = 0; + int verbose = FALSE; + int compare = FALSE; + int write_header = FALSE; + + struct + { + int version; + int type; + int sec_hdr_flg; + int app_id; + int seg_flags; + int seq_count; + int pkt_len; + + } ccsds_pri_hdr; + + struct + { + int reserved; + int seconds; + int subseconds; + } ccsds_sec_hdr; + + union + { + unsigned char byteStream[4]; + unsigned int value; + } fourByte; + + union + { + unsigned char byteStream[2]; + short value; + } twoByte; + + if (sizeof(int) != FOUR_BYTE_FIELD) + { + fprintf(outfile, "Error: integer not 4 bytes.\n"); + exit(1); + } + + if (argc < 2) + { + printf("\n"); + printf(" Usage: fsw_futil [OPTIONS]\n"); + printf("\n"); + printf(" Description:\n"); + printf(" ds_file_util will process the specified input_file(s)\n"); + printf(" wildcards accepted), which will be binary files stored by \n"); + printf(" cFS DS application, and create an ascii breakdown as an \n"); + printf(" output file with '.txt' appended. Also, a raw ascii output\n"); + printf(" file will be created with only packet data (no headers or \n"); + printf(" other text) and will have '_raw.txt' appended.\n\n"); + printf(" Example: >ds_file_util Crater*.sci -h -v\n\n"); + printf(" OPTIONS:\n"); + printf("\n"); + printf(" -h Ouput packet headers only\n"); + printf(" -v Verbose output to screen (debugging)\n\n"); + } + + /* + ** Process command line arguments + */ + for (i = 1; i < argc; i++) + { + if (argv[i][0] != '-') + { + strcpy(infile_names[i - 1], argv[i]); + number_of_files++; + } + else if (argv[i][1] == 'h') + { + headers_only_flag[0] = 'y'; + } + else if (argv[i][1] == 'v') + { + verbose = TRUE; + } + } + + if (verbose == TRUE) + { + printf("\nNumber of files: %d\n", number_of_files); + } + + for (file_num = 0; file_num < number_of_files; file_num++) + { + if (verbose == TRUE) + { + printf("\n File %d: %s \n", file_num, infile_names[file_num]); + } + + if (!(infile = fopen((const char *)infile_names[file_num], "rb"))) + { + printf("Cannot open input file: %s\n", infile_names[file_num]); + exit(1); } - } - fprintf(outfile,"FILE HEADER: (hex) - (value)\n"); - fprintf(outfile,"----------------------------\n"); + strcpy(filename, infile_names[file_num]); - /* Extract the Content Type */ - unsigned char contentType[5]; - strncpy(&contentType[0],&file_header[0],4); - contentType[4] = '\0'; + if (!(outfile = fopen((const char *)strcat(filename, ".txt"), "w"))) + { + printf("Cannot create output file.\n"); + exit(1); + } - fprintf(outfile,"Content Type: %02X%02X%02X%02X - %s\n",file_header[0],file_header[1],file_header[2],file_header[3],&contentType); + strcpy(filename, infile_names[file_num]); - /* Extract the subtype */ - unsigned char ByteVal4[4]; - int subType=0; - strncpy(&ByteVal4[0],&file_header[6],2); - subType = atoi(&ByteVal4[0]); + if (!(compare_file = fopen((const char *)strcat(filename, "_raw.txt"), "w"))) + { + printf("Cannot create output file.\n"); + exit(1); + } - fprintf(outfile,"SubType: %02X%02X - %d\n",file_header[6],file_header[7],subType); + num_pkt_types = 0; + end_of_data = FALSE; + write_header = TRUE; + total_bytes = 0; - /* Extract the Primary Header Length */ - fourByte.byteStream[0] = file_header[11]; - fourByte.byteStream[1] = file_header[10]; - fourByte.byteStream[2] = file_header[9]; - fourByte.byteStream[3] = file_header[8]; + /* + ** Read the cFE and DS file headers + */ + n = fread(file_header, ONE_BYTE_FIELD, HDR_BYTES, infile); - fprintf(outfile,"Primary Hdr Length: %02X%02X%02X%02X - %d\n",file_header[8],file_header[9],file_header[10],file_header[11],fourByte.value); + if (n != HDR_BYTES) + { + fprintf(outfile, "Error reading file header.\n"); + exit(1); + } - /* Extract the Spacecraft ID */ - fourByte.byteStream[0] = file_header[15]; - fourByte.byteStream[1] = file_header[14]; - fourByte.byteStream[2] = file_header[13]; - fourByte.byteStream[3] = file_header[12]; + /* + ** Write header to the *_raw.txt file -- WFM + */ + if (write_header == TRUE) + { + for (i = 0; i < HDR_BYTES; i += 2) + { + fprintf(compare_file, "%02X%02X ", file_header[i], file_header[i + 1]); + } + } - fprintf(outfile,"Spacecraft ID: %02X%02X%02X%02X - %d\n",file_header[12],file_header[13],file_header[14],file_header[15],fourByte.value); + fprintf(outfile, "FILE HEADER: (hex) - (value)\n"); + fprintf(outfile, "----------------------------\n"); + + /* Extract the Content Type */ + unsigned char contentType[5]; + strncpy(&contentType[0], &file_header[0], 4); + contentType[4] = '\0'; - /* Extract the Processor ID */ - fourByte.byteStream[0] = file_header[19]; - fourByte.byteStream[1] = file_header[18]; - fourByte.byteStream[2] = file_header[17]; - fourByte.byteStream[3] = file_header[16]; + fprintf(outfile, "Content Type: %02X%02X%02X%02X - %s\n", file_header[0], file_header[1], file_header[2], + file_header[3], &contentType); + + /* Extract the subtype */ + unsigned char ByteVal4[4]; + int subType = 0; + strncpy(&ByteVal4[0], &file_header[6], 2); + subType = atoi(&ByteVal4[0]); - fprintf(outfile,"Processor ID: %02X%02X%02X%02X - %d\n",file_header[16],file_header[17],file_header[18],file_header[19],fourByte.value); - - /* Extract the Application ID */ - fourByte.byteStream[0] = file_header[23]; - fourByte.byteStream[1] = file_header[22]; - fourByte.byteStream[2] = file_header[21]; - fourByte.byteStream[3] = file_header[20]; - - fprintf(outfile,"Application ID: %02X%02X%02X%02X - %d\n",file_header[20],file_header[21],file_header[22],file_header[23],fourByte.value); - - /* Extract the Create Time seconds */ - fourByte.byteStream[0] = file_header[27]; - fourByte.byteStream[1] = file_header[26]; - fourByte.byteStream[2] = file_header[25]; - fourByte.byteStream[3] = file_header[24]; - - fprintf(outfile,"Create Time (secs): %02X%02X%02X%02X - %u\n",file_header[24],file_header[25],file_header[26],file_header[27],fourByte.value); - - /* Extract the Create Time sub-seconds */ - fourByte.byteStream[0] = file_header[31]; - fourByte.byteStream[1] = file_header[30]; - fourByte.byteStream[2] = file_header[29]; - fourByte.byteStream[3] = file_header[28]; - - fprintf(outfile,"Create Time (subs): %02X%02X%02X%02X - %u\n",file_header[28],file_header[29],file_header[30],file_header[31],fourByte.value); - - unsigned char description[32]; - strncpy(&description[0],&file_header[32],32); - fprintf(outfile,"Description: %s\n",description); - - /* Extract the Create Time seconds */ - fourByte.byteStream[0] = file_header[67]; - fourByte.byteStream[1] = file_header[66]; - fourByte.byteStream[2] = file_header[65]; - fourByte.byteStream[3] = file_header[64]; - - /* Extract the DS Application File Header */ - fprintf(outfile,"Close Time (secs): %02X%02X%02X%02X - %u\n",file_header[64],file_header[65],file_header[66],file_header[67],fourByte.value); - - /* Extract the Create Time sub-seconds */ - fourByte.byteStream[0] = file_header[71]; - fourByte.byteStream[1] = file_header[70]; - fourByte.byteStream[2] = file_header[69]; - fourByte.byteStream[3] = file_header[68]; - - fprintf(outfile,"Close Time (subs): %02X%02X%02X%02X - %u\n",file_header[68],file_header[69],file_header[70],file_header[71],fourByte.value); - - /* Extract the File Table Index */ - twoByte.byteStream[0] = file_header[73]; - twoByte.byteStream[1] = file_header[72]; - - fprintf(outfile,"File Table Index: %02X%02X - %d\n",file_header[72],file_header[73],twoByte.value); - - /* Extract the File Name Type */ - twoByte.byteStream[0] = file_header[75]; - twoByte.byteStream[1] = file_header[74]; - - fprintf(outfile,"File Name Type: %02X%02X - %d\n",file_header[74],file_header[75],twoByte.value); - - unsigned char dsFileName[64]; - strncpy(&dsFileName[0],&file_header[76],64); - fprintf(outfile,"File Name: %s\n",dsFileName); - - actual_data_length = MAX_PACKET_BYTES; - - /* - ** Header processing finished, now read in the packet data - */ - n = fread(packet_data, ONE_BYTE_FIELD, actual_data_length, infile); - - if (n != actual_data_length) - { - end_of_data = TRUE; - actual_data_length = n; - } - - total_bytes += n; - - /* - ** Write the raw data to the *_raw.txt file - */ - for (i = 0; i < actual_data_length; i+=2) - { - fprintf(compare_file,"%02X%02X ",packet_data[i],packet_data[i+1]); - } - fprintf(compare_file,"\n"); - - /* - ** Write the formatted data fields to the output files - */ - if ((headers_only_flag[0] != 'y') && (headers_only_flag[0] != 'Y')) - { - fprintf(outfile,"\nPACKET DATA: (hex)\n------------------\n\n"); - - print_rows = actual_data_length/PRINT_COLUMNS; - - for (i = 0; i < print_rows; i++) - { - fprintf(outfile,"%02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X\n", - packet_data[i*PRINT_COLUMNS], - packet_data[i*PRINT_COLUMNS+1], - packet_data[i*PRINT_COLUMNS+2], - packet_data[i*PRINT_COLUMNS+3], - packet_data[i*PRINT_COLUMNS+4], - packet_data[i*PRINT_COLUMNS+5], - packet_data[i*PRINT_COLUMNS+6], - packet_data[i*PRINT_COLUMNS+7], - packet_data[i*PRINT_COLUMNS+8], - packet_data[i*PRINT_COLUMNS+9], - packet_data[i*PRINT_COLUMNS+10], - packet_data[i*PRINT_COLUMNS+11], - packet_data[i*PRINT_COLUMNS+12], - packet_data[i*PRINT_COLUMNS+13], - packet_data[i*PRINT_COLUMNS+14], - packet_data[i*PRINT_COLUMNS+15]); - } - - for (i = 0; i < (actual_data_length % PRINT_COLUMNS); i++) - { - fprintf(outfile,"%02X ",packet_data[print_rows*PRINT_COLUMNS+i]); - } - - fprintf(outfile,"\n\n"); - } - - /* Print summary */ - fprintf(outfile,"\n\nFile Summary:\n\n"); - - /* Add file header bytes to byte count */ - total_bytes += HDR_BYTES; - fprintf(outfile,"Total Bytes: %d\n", total_bytes); - } - - return 0; -} + fprintf(outfile, "SubType: %02X%02X - %d\n", file_header[6], file_header[7], subType); + /* Extract the Primary Header Length */ + fourByte.byteStream[0] = file_header[11]; + fourByte.byteStream[1] = file_header[10]; + fourByte.byteStream[2] = file_header[9]; + fourByte.byteStream[3] = file_header[8]; + + fprintf(outfile, "Primary Hdr Length: %02X%02X%02X%02X - %d\n", file_header[8], file_header[9], file_header[10], + file_header[11], fourByte.value); + + /* Extract the Spacecraft ID */ + fourByte.byteStream[0] = file_header[15]; + fourByte.byteStream[1] = file_header[14]; + fourByte.byteStream[2] = file_header[13]; + fourByte.byteStream[3] = file_header[12]; + + fprintf(outfile, "Spacecraft ID: %02X%02X%02X%02X - %d\n", file_header[12], file_header[13], file_header[14], + file_header[15], fourByte.value); + + /* Extract the Processor ID */ + fourByte.byteStream[0] = file_header[19]; + fourByte.byteStream[1] = file_header[18]; + fourByte.byteStream[2] = file_header[17]; + fourByte.byteStream[3] = file_header[16]; + + fprintf(outfile, "Processor ID: %02X%02X%02X%02X - %d\n", file_header[16], file_header[17], file_header[18], + file_header[19], fourByte.value); + + /* Extract the Application ID */ + fourByte.byteStream[0] = file_header[23]; + fourByte.byteStream[1] = file_header[22]; + fourByte.byteStream[2] = file_header[21]; + fourByte.byteStream[3] = file_header[20]; + + fprintf(outfile, "Application ID: %02X%02X%02X%02X - %d\n", file_header[20], file_header[21], file_header[22], + file_header[23], fourByte.value); + + /* Extract the Create Time seconds */ + fourByte.byteStream[0] = file_header[27]; + fourByte.byteStream[1] = file_header[26]; + fourByte.byteStream[2] = file_header[25]; + fourByte.byteStream[3] = file_header[24]; + + fprintf(outfile, "Create Time (secs): %02X%02X%02X%02X - %u\n", file_header[24], file_header[25], + file_header[26], file_header[27], fourByte.value); + + /* Extract the Create Time sub-seconds */ + fourByte.byteStream[0] = file_header[31]; + fourByte.byteStream[1] = file_header[30]; + fourByte.byteStream[2] = file_header[29]; + fourByte.byteStream[3] = file_header[28]; + + fprintf(outfile, "Create Time (subs): %02X%02X%02X%02X - %u\n", file_header[28], file_header[29], + file_header[30], file_header[31], fourByte.value); + + unsigned char description[32]; + strncpy(&description[0], &file_header[32], 32); + fprintf(outfile, "Description: %s\n", description); + + /* Extract the Create Time seconds */ + fourByte.byteStream[0] = file_header[67]; + fourByte.byteStream[1] = file_header[66]; + fourByte.byteStream[2] = file_header[65]; + fourByte.byteStream[3] = file_header[64]; + + /* Extract the DS Application File Header */ + fprintf(outfile, "Close Time (secs): %02X%02X%02X%02X - %u\n", file_header[64], file_header[65], + file_header[66], file_header[67], fourByte.value); + + /* Extract the Create Time sub-seconds */ + fourByte.byteStream[0] = file_header[71]; + fourByte.byteStream[1] = file_header[70]; + fourByte.byteStream[2] = file_header[69]; + fourByte.byteStream[3] = file_header[68]; + + fprintf(outfile, "Close Time (subs): %02X%02X%02X%02X - %u\n", file_header[68], file_header[69], + file_header[70], file_header[71], fourByte.value); + + /* Extract the File Table Index */ + twoByte.byteStream[0] = file_header[73]; + twoByte.byteStream[1] = file_header[72]; + + fprintf(outfile, "File Table Index: %02X%02X - %d\n", file_header[72], file_header[73], twoByte.value); + + /* Extract the File Name Type */ + twoByte.byteStream[0] = file_header[75]; + twoByte.byteStream[1] = file_header[74]; + + fprintf(outfile, "File Name Type: %02X%02X - %d\n", file_header[74], file_header[75], twoByte.value); + + unsigned char dsFileName[64]; + strncpy(&dsFileName[0], &file_header[76], 64); + fprintf(outfile, "File Name: %s\n", dsFileName); + + actual_data_length = MAX_PACKET_BYTES; + + /* + ** Header processing finished, now read in the packet data + */ + n = fread(packet_data, ONE_BYTE_FIELD, actual_data_length, infile); + + if (n != actual_data_length) + { + end_of_data = TRUE; + actual_data_length = n; + } + + total_bytes += n; + + /* + ** Write the raw data to the *_raw.txt file + */ + for (i = 0; i < actual_data_length; i += 2) + { + fprintf(compare_file, "%02X%02X ", packet_data[i], packet_data[i + 1]); + } + fprintf(compare_file, "\n"); + + /* + ** Write the formatted data fields to the output files + */ + if ((headers_only_flag[0] != 'y') && (headers_only_flag[0] != 'Y')) + { + fprintf(outfile, "\nPACKET DATA: (hex)\n------------------\n\n"); + + print_rows = actual_data_length / PRINT_COLUMNS; + + for (i = 0; i < print_rows; i++) + { + fprintf(outfile, "%02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X\n", + packet_data[i * PRINT_COLUMNS], packet_data[i * PRINT_COLUMNS + 1], + packet_data[i * PRINT_COLUMNS + 2], packet_data[i * PRINT_COLUMNS + 3], + packet_data[i * PRINT_COLUMNS + 4], packet_data[i * PRINT_COLUMNS + 5], + packet_data[i * PRINT_COLUMNS + 6], packet_data[i * PRINT_COLUMNS + 7], + packet_data[i * PRINT_COLUMNS + 8], packet_data[i * PRINT_COLUMNS + 9], + packet_data[i * PRINT_COLUMNS + 10], packet_data[i * PRINT_COLUMNS + 11], + packet_data[i * PRINT_COLUMNS + 12], packet_data[i * PRINT_COLUMNS + 13], + packet_data[i * PRINT_COLUMNS + 14], packet_data[i * PRINT_COLUMNS + 15]); + } + + for (i = 0; i < (actual_data_length % PRINT_COLUMNS); i++) + { + fprintf(outfile, "%02X ", packet_data[print_rows * PRINT_COLUMNS + i]); + } + + fprintf(outfile, "\n\n"); + } + + /* Print summary */ + fprintf(outfile, "\n\nFile Summary:\n\n"); + + /* Add file header bytes to byte count */ + total_bytes += HDR_BYTES; + fprintf(outfile, "Total Bytes: %d\n", total_bytes); + } + + return 0; +} diff --git a/test_and_ground/results/Caelum/scx_cpu1_ds_enablestate-2021-236-13h14m03s.loge b/test_and_ground/results/Caelum/scx_cpu1_ds_enablestate-2021-236-13h14m03s.loge new file mode 100644 index 0000000..220638b --- /dev/null +++ b/test_and_ground/results/Caelum/scx_cpu1_ds_enablestate-2021-236-13h14m03s.loge @@ -0,0 +1,14 @@ +21-236-13:15:25.293 00 TLMH-I:STS 58-012-14:03:48.950 INFO CPU=CPU1 APPNAME=TO_LAB_APP EVENT ID=3 TO telemetry output enabled for IP 192.168.1.101 +21-236-13:15:58.791 00 TLMH-I:STS 58-012-14:04:22.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=35 APP STATE command: state = 0 +21-236-13:17:26.876 00 TLMH-I:STS 58-012-14:04:57.033 INFO CPU=CPU1 APPNAME=TO_LAB_APP EVENT ID=3 TO telemetry output enabled for IP 192.168.1.101 +21-236-13:17:43.380 00 TLMH-I:STS 58-012-14:05:14.001 ERROR CPU=CPU1 APPNAME=TST_DS EVENT ID=41 TST_DS_AppMain terminating!, Error = 0x0 +21-236-13:17:48.381 00 TLMH-I:STS 58-012-14:05:19.000 ERROR CPU=CPU1 APPNAME=CFE_SB EVENT ID=17 Msg Limit Err,MsgId 0x1811,pipe TstDSCmdPipe,sender CFE_TIME.TIME_1HZ_TASK +21-236-13:17:49.382 00 TLMH-I:STS 58-012-14:05:19.821 INFO CPU=CPU1 APPNAME=CFE_ES EVENT ID=10 Restart Application TST_DS Completed, AppID=1114124 +21-236-13:17:49.383 00 TLMH-I:STS 58-012-14:05:19.883 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=1 TST_DS Initialized. Version 2.5.1.0 +21-236-13:17:52.376 00 TLMH-I:STS 58-012-14:05:22.863 INFO CPU=CPU1 APPNAME=CFE_ES EVENT ID=10 Restart Application DS Completed, AppID=1114125 +21-236-13:17:52.377 00 TLMH-I:STS 58-012-14:05:22.939 INFO CPU=CPU1 APPNAME=DS EVENT ID=10 Destination file table verify results: desc text = OK, good entries = 8, bad = 0, unused = 8 +21-236-13:17:52.378 00 TLMH-I:STS 58-012-14:05:22.964 INFO CPU=CPU1 APPNAME=DS EVENT ID=12 Filter table verify results: desc text = OK, good entries = 6, bad = 0, unused = 250 +21-236-13:17:52.379 00 TLMH-I:STS 58-012-14:05:22.966 INFO CPU=CPU1 APPNAME=DS EVENT ID=1 Application initialized, version 2.6.0.0, data at 0xa85e50 +21-236-13:17:52.380 00 TLMH-I:STS 58-012-14:05:23.001 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=20 Request Housekeeping command +21-236-13:17:56.379 00 TLMH-I:STS 58-012-14:05:27.001 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=20 Request Housekeeping command +21-236-13:19:27.954 00 TLMH-I:STS 58-012-14:03:48.950 INFO CPU=CPU1 APPNAME=TO_LAB_APP EVENT ID=3 TO telemetry output enabled for IP 192.168.1.101 diff --git a/test_and_ground/results/Caelum/scx_cpu1_ds_enablestate-2021-236-13h14m03s.logf b/test_and_ground/results/Caelum/scx_cpu1_ds_enablestate-2021-236-13h14m03s.logf new file mode 100644 index 0000000..5d5f61b --- /dev/null +++ b/test_and_ground/results/Caelum/scx_cpu1_ds_enablestate-2021-236-13h14m03s.logf @@ -0,0 +1,924 @@ +21-236-13:14:03.892 00 UT_RUNPROC/99 +21-236-13:14:03.892 00 UT_RUNPROC/100 ; Build the database prefix using SC and CPU definitions from cfe_utils.h +21-236-13:14:03.892 00 UT_RUNPROC/101 local db_prefix, cpu_prefix +21-236-13:14:03.892 00 UT_RUNPROC/102 +21-236-13:14:03.892 00 UT_RUNPROC/103 ; If SC is set, use it +21-236-13:14:03.892 00 UT_RUNPROC/104 if (SC <> "") then +21-236-13:14:03.892 00 UT_RUNPROC/105 db_prefix = SC +21-236-13:14:03.892 00 UT_RUNPROC/106 endif +21-236-13:14:03.892 00 UT_RUNPROC/107 +21-236-13:14:03.892 00 UT_RUNPROC/109 db_prefix = db_prefix & CPU_CFG +21-236-13:14:03.892 00 UT_RUNPROC/110 +21-236-13:14:03.892 00 UT_RUNPROC/111 cpu_prefix = db_prefix +21-236-13:14:03.892 00 UT_RUNPROC/112 +21-236-13:14:03.892 00 UT_RUNPROC/113 ; Set the database prefix for CPU1 +21-236-13:14:03.892 00 UT_RUNPROC/114 if (numCPUs > 1) then +21-236-13:14:03.892 00 UT_RUNPROC/116 endif +21-236-13:14:03.892 00 UT_RUNPROC/117 +21-236-13:14:03.909 00 UT_RUNPROC/118 ; setup the database mnemonics for CPU1 +21-236-13:14:03.909 00 UT_RUNPROC/119 local cksumItem = cpu_prefix & "_ES_CKSUM" +21-236-13:14:03.909 00 UT_RUNPROC/120 local cfeMajorVerItem = cpu_prefix & "_ES_CFEMAJORVER" +21-236-13:14:03.909 00 UT_RUNPROC/121 local cfeMinorVerItem = cpu_prefix & "_ES_CFEMINORVER" +21-236-13:14:03.909 00 UT_RUNPROC/122 local cfeRevisionItem = cpu_prefix & "_ES_CFEREVISION" +21-236-13:14:03.910 00 UT_RUNPROC/123 local cfeMissionRevItem = cpu_prefix & "_ES_CFEMSNREV" +21-236-13:14:03.910 00 UT_RUNPROC/124 local osMajorVerItem = cpu_prefix & "_ES_OSMAJORVER" +21-236-13:14:03.910 00 UT_RUNPROC/125 local osMinorVerItem = cpu_prefix & "_ES_OSMINORVER" +21-236-13:14:03.910 00 UT_RUNPROC/126 local osRevisionItem = cpu_prefix & "_ES_OSREVISION" +21-236-13:14:03.910 00 UT_RUNPROC/127 local osMissionRevItem = cpu_prefix & "_ES_OSMISSIONREV" +21-236-13:14:03.910 00 UT_RUNPROC/128 +21-236-13:14:03.910 00 UT_RUNPROC/129 ; +21-236-13:14:03.910 00 UT_RUNPROC/130 ; Output FSW configuration information +21-236-13:14:03.910 00 UT_RUNPROC/131 ; +21-236-13:14:03.910 00 UT_RUNPROC/132 write "****************** FSW Configuration ******************" +21-236-13:14:03.910 00 SPR-I:OPRO ****************** FSW Configuration ****************** +21-236-13:14:03.910 00 UT_RUNPROC/134 if (numCPUs = 1) then +21-236-13:14:03.910 00 UT_RUNPROC/135 write " Checksum: ", {cksumItem} +21-236-13:14:03.910 00 SPR-I:OPRO Checksum: 29237 +21-236-13:14:03.910 00 UT_RUNPROC/136 write " cFE Version: ", {cfeMajorVerItem} & "." & {cfeMinorVerItem} & "." & {cfeRevisionItem} & "." & {cfeMissionRevItem} +21-236-13:14:03.911 00 SPR-I:OPRO cFE Version: 6.7.99.0 +21-236-13:14:03.911 00 UT_RUNPROC/137 write " OS Version: ", {osMajorVerItem} & "." & {osMinorVerItem} & "." & {osRevisionItem} & "." & {osMissionRevItem} +21-236-13:14:03.911 00 SPR-I:OPRO OS Version: 5.0.0.255 +21-236-13:14:03.911 00 UT_RUNPROC/138 write " " +21-236-13:14:03.911 00 SPR-I:OPRO +21-236-13:14:03.911 00 UT_RUNPROC/139 endif +21-236-13:14:03.912 00 UT_RUNPROC/140 +21-236-13:14:03.912 00 UT_RUNPROC/141 if (numCPUs >= 2) then +21-236-13:14:03.912 00 UT_RUNPROC/166 endif +21-236-13:14:03.912 00 UT_RUNPROC/167 +21-236-13:14:03.912 00 UT_RUNPROC/168 ; This proc only supports up to 3 CPUs. +21-236-13:14:03.912 00 UT_RUNPROC/169 ; If there are more than 3, the additional CPUs must be added below +21-236-13:14:03.912 00 UT_RUNPROC/170 if (numCPUs = 3) then +21-236-13:14:03.912 00 UT_RUNPROC/189 endif +21-236-13:14:03.912 00 UT_RUNPROC/190 +21-236-13:14:03.912 00 UT_RUNPROC/191 write " Connection Status" +21-236-13:14:03.912 00 SPR-I:OPRO Connection Status +21-236-13:14:03.912 00 UT_RUNPROC/192 write " -----------------" +21-236-13:14:03.912 00 SPR-I:OPRO ----------------- +21-236-13:14:03.912 00 UT_RUNPROC/193 write " CFDP: ", %select(packet_valid("my_entity_id"),"UP","DOWN") +21-236-13:14:03.912 00 SPR-I:OPRO CFDP: DOWN +21-236-13:14:03.912 00 UT_RUNPROC/194 write " UDP: ", p@GSE_ICHAN +21-236-13:14:03.912 00 SPR-I:OPRO UDP: UP +21-236-13:14:03.912 00 UT_RUNPROC/195 write " SWTS: ", p@GSE_SCHAN +21-236-13:14:03.912 00 SPR-I:OPRO SWTS: UNK +21-236-13:14:03.912 00 UT_RUNPROC/196 ; write " ITOS: ", p@GSE_ZCHAN +21-236-13:14:03.912 00 UT_RUNPROC/197 +21-236-13:14:03.912 00 UT_RUNPROC/199 gds_label = "" +21-236-13:14:03.912 00 UT_RUNPROC/200 gds_version = "N/A" +21-236-13:14:03.912 00 UT_RUNPROC/201 +21-236-13:14:03.913 00 UT_RUNPROC/202 #ifdef GDS_EXISTS +21-236-13:14:03.913 00 UT_RUNPROC/203 write " GDS: ", %select(packet_valid("GDS_EXECUTOR_SIMULATION_TIME"),"UP", "DOWN") +21-236-13:14:03.913 00 UT_RUNPROC/204 if (GSE_HCHAN = 1) then +21-236-13:14:03.913 00 UT_RUNPROC/205 gds_label = "GDS" +21-236-13:14:03.913 00 UT_RUNPROC/206 gds_version = GDS_EXECUTOR_GDS_VERSION_VALUE +21-236-13:14:03.913 00 UT_RUNPROC/207 endif +21-236-13:14:03.913 00 UT_RUNPROC/208 #endif +21-236-13:14:03.913 00 UT_RUNPROC/209 +21-236-13:14:03.913 00 UT_RUNPROC/211 write " CMD / TLM Path" +21-236-13:14:03.913 00 SPR-I:OPRO +21-236-13:14:03.913 00 UT_RUNPROC/211 write " CMD / TLM Path" +21-236-13:14:03.913 00 SPR-I:OPRO CMD / TLM Path +21-236-13:14:03.913 00 UT_RUNPROC/212 write " --------------" +21-236-13:14:03.913 00 SPR-I:OPRO -------------- +21-236-13:14:03.913 00 UT_RUNPROC/213 if (GSE_ICHAN = 1) then +21-236-13:14:03.913 00 UT_RUNPROC/214 cmd_tlm_path = "UDP" +21-236-13:14:03.913 00 UT_RUNPROC/219 endif +21-236-13:14:03.913 00 UT_RUNPROC/220 +21-236-13:14:03.913 00 UT_RUNPROC/221 write " ", cmd_tlm_path +21-236-13:14:03.913 00 SPR-I:OPRO UDP +21-236-13:14:03.913 00 UT_RUNPROC/222 write " ", gds_label +21-236-13:14:03.913 00 SPR-I:OPRO +21-236-13:14:03.913 00 UT_RUNPROC/224 write " ASIST / GDS Configuration" +21-236-13:14:03.913 00 SPR-I:OPRO +21-236-13:14:03.913 00 UT_RUNPROC/224 write " ASIST / GDS Configuration" +21-236-13:14:03.913 00 SPR-I:OPRO ASIST / GDS Configuration +21-236-13:14:03.913 00 UT_RUNPROC/225 write " -------------------------" +21-236-13:14:03.914 00 SPR-I:OPRO ------------------------- +21-236-13:14:03.914 00 UT_RUNPROC/226 write " Workstation: ", %upper(%liv(LOCALHOST)) +21-236-13:14:03.914 00 SPR-I:OPRO Workstation: GS582CFSLAB4 +21-236-13:14:03.914 00 UT_RUNPROC/227 write " Account: ", %env("ACCOUNT") +21-236-13:14:03.914 00 SPR-I:OPRO Account: cfs_test +21-236-13:14:03.914 00 UT_RUNPROC/228 write " Version: ", ASIST_VERSION +21-236-13:14:03.914 00 SPR-I:OPRO Version: 21.0.7 +21-236-13:14:03.914 00 UT_RUNPROC/229 write " Tlm DB: Version: ",vidtlm.version, " Date: ", tlmdbdate, " Time: ", vidtlm.timeof +21-236-13:14:03.914 00 SPR-I:OPRO Tlm DB: Version: 1.985 Date: 08-24-21 Time: 06:37:06 AM. +21-236-13:14:03.914 00 UT_RUNPROC/230 write " Cmd DB: Version: ",%rpad(command_parm_attr("verid_cmd", "version", "description"),4," ")," Date: ",cmddbdate," Time: ",command_parm_attr("verid_cmd", "timeof", "description") +21-236-13:14:03.914 00 SPR-I:OPRO Cmd DB: Version: 1.51 Date: 08-24-21 Time: 06:47:31 AM.EDT +21-236-13:14:03.914 00 UT_RUNPROC/231 +21-236-13:14:03.914 00 UT_RUNPROC/232 #ifdef GDS_EXISTS +21-236-13:14:03.914 00 UT_RUNPROC/233 write " GDS: ", gds_version +21-236-13:14:03.914 00 UT_RUNPROC/234 #endif +21-236-13:14:03.914 00 UT_RUNPROC/235 +21-236-13:14:03.914 00 UT_RUNPROC/237 write " Telemetry Info" +21-236-13:14:03.914 00 SPR-I:OPRO +21-236-13:14:03.914 00 UT_RUNPROC/237 write " Telemetry Info" +21-236-13:14:03.914 00 SPR-I:OPRO Telemetry Info +21-236-13:14:03.914 00 UT_RUNPROC/238 write " --------------" +21-236-13:14:03.914 00 SPR-I:OPRO -------------- +21-236-13:14:03.914 00 UT_RUNPROC/240 write " Pkt Loss Count: N/A" +21-236-13:14:03.914 00 SPR-I:OPRO Pkt Loss Count: N/A +21-236-13:14:03.914 00 UT_RUNPROC/241 write "**************** End FSW Configuration ***************" +21-236-13:14:03.914 00 SPR-I:OPRO **************** End FSW Configuration *************** +21-236-13:14:03.914 00 UT_RUNPROC/242 ; +21-236-13:14:03.914 00 UT_RUNPROC/243 ; Start the procedure +21-236-13:14:03.914 00 UT_RUNPROC/244 ; +21-236-13:14:03.914 00 UT_RUNPROC/245 write "Starting Procedure.... ", proc_to_run +21-236-13:14:03.914 00 SPR-I:OPRO Starting Procedure.... scx_cpu1_ds_enablestate +21-236-13:14:03.914 00 UT_RUNPROC/246 rstol_dir = "rstol 'start " & proc_to_run & "'" +21-236-13:14:03.915 00 UT_RUNPROC/247 stime = %gmt +21-236-13:14:03.915 00 UT_RUNPROC/248 native(rstol_dir) +21-236-13:14:04.027 00 SPR-I:OPRI --> start scx_cpu1_ds_enablestate +21-236-13:14:04.027 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/scx_cpu1_ds_enablestate.i +21-236-13:14:04.031 00 SPR-I:STS Procedure SCX_CPU1_DS_ENABLESTATE started +21-236-13:14:04.031 00 SCX_CPU1_DS_EN/2 ;******************************************************************************* +21-236-13:14:04.031 00 SCX_CPU1_DS_EN/3 ; Test Name: ds_resetnocds +21-236-13:14:04.031 00 SCX_CPU1_DS_EN/4 ; Test Level: Build Verification +21-236-13:14:04.031 00 SCX_CPU1_DS_EN/5 ; Test Type: Functional +21-236-13:14:04.031 00 SCX_CPU1_DS_EN/6 ; +21-236-13:14:04.031 00 SCX_CPU1_DS_EN/7 ; Test Description +21-236-13:14:04.031 00 SCX_CPU1_DS_EN/8 ; This test verifies that the CFS Data Storage (DS) application sets its +21-236-13:14:04.031 00 SCX_CPU1_DS_EN/9 ; its state according to the DS_DEF_ENABLE_STATE and DS_CDS_ENABLE_STATE +21-236-13:14:04.031 00 SCX_CPU1_DS_EN/10 ; configuration settings when any reset occurs (Application Reset, +21-236-13:14:04.031 00 SCX_CPU1_DS_EN/11 ; Processor Reset, or Power-On Reset). +21-236-13:14:04.031 00 SCX_CPU1_DS_EN/12 ; +21-236-13:14:04.031 00 SCX_CPU1_DS_EN/13 ; Requirements Tested +21-236-13:14:04.031 00 SCX_CPU1_DS_EN/14 ; cDS8000 DS shall generate a housekeeping message containing the +21-236-13:14:04.031 00 SCX_CPU1_DS_EN/15 ; following: +21-236-13:14:04.031 00 SCX_CPU1_DS_EN/16 ; a. Valid Ground Command Counter +21-236-13:14:04.031 00 SCX_CPU1_DS_EN/17 ; b. Command Rejected Counter +21-236-13:14:04.031 00 SCX_CPU1_DS_EN/18 ; c. Packets discarded (DS was disabled) Counter +21-236-13:14:04.031 00 SCX_CPU1_DS_EN/19 ; d. Packets discarded (pkt has no filter) Counter +21-236-13:14:04.031 00 SCX_CPU1_DS_EN/20 ; e. Packets discarded (failed filter test) Counter +21-236-13:14:04.032 00 SCX_CPU1_DS_EN/21 ; f. Packets that passed filter test Counter +21-236-13:14:04.032 00 SCX_CPU1_DS_EN/22 ; g. Good destination file I/O Counter +21-236-13:14:04.032 00 SCX_CPU1_DS_EN/23 ; h. Bad destination file I/O Counter +21-236-13:14:04.034 00 SCX_CPU1_DS_EN/24 ; i. Good updates to secondary header Counter +21-236-13:14:04.034 00 SCX_CPU1_DS_EN/25 ; j. Bad updates to secondary header Counter +21-236-13:14:04.034 00 SCX_CPU1_DS_EN/26 ; k. Destination file table loads Counter +21-236-13:14:04.034 00 SCX_CPU1_DS_EN/27 ; l. Failed attempts to get table data pointer Counter +21-236-13:14:04.034 00 SCX_CPU1_DS_EN/28 ; m. Packet filter table loads Counter +21-236-13:14:04.034 00 SCX_CPU1_DS_EN/29 ; n. Failed attempts to get table data pointer Counter +21-236-13:14:04.034 00 SCX_CPU1_DS_EN/30 ; o. Application State +21-236-13:14:04.034 00 SCX_CPU1_DS_EN/31 ; p. Destinatation file(s) state: +21-236-13:14:04.034 00 SCX_CPU1_DS_EN/32 ; 1. File age +21-236-13:14:04.034 00 SCX_CPU1_DS_EN/33 ; 2. File size +21-236-13:14:04.034 00 SCX_CPU1_DS_EN/34 ; 3. File rate +21-236-13:14:04.034 00 SCX_CPU1_DS_EN/35 ; 4. Sequence count +21-236-13:14:04.034 00 SCX_CPU1_DS_EN/36 ; 5. Enable State +21-236-13:14:04.034 00 SCX_CPU1_DS_EN/37 ; 6. Open State +21-236-13:14:04.034 00 SCX_CPU1_DS_EN/38 ; 7. Filename +21-236-13:14:04.034 00 SCX_CPU1_DS_EN/39 ; cDS9000 Upon initialization of the DS Application, DS shall initialize +21-236-13:14:04.034 00 SCX_CPU1_DS_EN/40 ; the following data to Zero: +21-236-13:14:04.035 00 SCX_CPU1_DS_EN/41 ; a. Valid Ground Command Counter +21-236-13:14:04.035 00 SCX_CPU1_DS_EN/42 ; b. Command Rejected Counter +21-236-13:14:04.035 00 SCX_CPU1_DS_EN/43 ; c. Packets discarded (DS was disabled) Counter +21-236-13:14:04.035 00 SCX_CPU1_DS_EN/44 ; d. Packets discarded (pkt has no filter) Counter +21-236-13:14:04.035 00 SCX_CPU1_DS_EN/45 ; e. Packets discarded (failed filter test) Counter +21-236-13:14:04.035 00 SCX_CPU1_DS_EN/46 ; f. Packets that passed filter test Counter +21-236-13:14:04.035 00 SCX_CPU1_DS_EN/47 ; g. Good destination file I/O Counter +21-236-13:14:04.035 00 SCX_CPU1_DS_EN/48 ; h. Bad destination file I/O Counter +21-236-13:14:04.035 00 SCX_CPU1_DS_EN/49 ; i. Good updates to secondary header Counter +21-236-13:14:04.035 00 SCX_CPU1_DS_EN/50 ; j. Bad updates to secondary header Counter +21-236-13:14:04.035 00 SCX_CPU1_DS_EN/51 ; k. Destination file table loads Counter +21-236-13:14:04.035 00 SCX_CPU1_DS_EN/52 ; l. Failed attempts to get table data pointer Counter +21-236-13:14:04.035 00 SCX_CPU1_DS_EN/53 ; m. Packet filter table loads Counter +21-236-13:14:04.035 00 SCX_CPU1_DS_EN/54 ; n. Failed attempts to get table data pointer Counter +21-236-13:14:04.035 00 SCX_CPU1_DS_EN/55 ; cDS9003 Upon a cFE Processor Reset or DS Application Reset, DS shall +21-236-13:14:04.035 00 SCX_CPU1_DS_EN/56 ; restore the following if the associated +21-236-13:14:04.035 00 SCX_CPU1_DS_EN/57 ; Preserve Flag is set to TRUE: +21-236-13:14:04.036 00 SCX_CPU1_DS_EN/58 ; a. Packet Filter Table +21-236-13:14:04.036 00 SCX_CPU1_DS_EN/59 ; b. Destination File Table +21-236-13:14:04.036 00 SCX_CPU1_DS_EN/60 ; c. File Sequence number for all Destination File Sets +21-236-13:14:04.036 00 SCX_CPU1_DS_EN/61 ; d. Packet Processing State (ENABLED or DISABLED) +21-236-13:14:04.036 00 SCX_CPU1_DS_EN/62 ; cDS9004 Upon a cFE Processor Reset or DS Application Reset, DS shall +21-236-13:14:04.036 00 SCX_CPU1_DS_EN/63 ; restore the following if the associated +21-236-13:14:04.036 00 SCX_CPU1_DS_EN/64 ; Preserve State set to FALSE: +21-236-13:14:04.036 00 SCX_CPU1_DS_EN/65 ; a. File Sequence Counters +21-236-13:14:04.036 00 SCX_CPU1_DS_EN/66 ; b. Packet Processing State +21-236-13:14:04.036 00 SCX_CPU1_DS_EN/67 ; cDS9008 Upon cFE Power-On, DS shall set the Packet Processing State to +21-236-13:14:04.036 00 SCX_CPU1_DS_EN/68 ; the state (ENABLED or DISABLED). +21-236-13:14:04.036 00 SCX_CPU1_DS_EN/69 ; +21-236-13:14:04.036 00 SCX_CPU1_DS_EN/70 ; Prerequisite Conditions +21-236-13:14:04.036 00 SCX_CPU1_DS_EN/71 ; The cFE is up and running and ready to accept commands. +21-236-13:14:04.036 00 SCX_CPU1_DS_EN/72 ; The DS commands and telemetry items exist in the GSE database. +21-236-13:14:04.036 00 SCX_CPU1_DS_EN/73 ; The display pages exist for the DS Housekeeping. +21-236-13:14:04.036 00 SCX_CPU1_DS_EN/74 ; A DS Test application (TST_DS) exists in order to fully test the DS +21-236-13:14:04.036 00 SCX_CPU1_DS_EN/75 ; Application. +21-236-13:14:04.037 00 SCX_CPU1_DS_EN/76 ; +21-236-13:14:04.038 00 SCX_CPU1_DS_EN/77 ; Assumptions and Constraints +21-236-13:14:04.038 00 SCX_CPU1_DS_EN/78 ; None. +21-236-13:14:04.038 00 SCX_CPU1_DS_EN/79 ; +21-236-13:14:04.038 00 SCX_CPU1_DS_EN/80 ; Change History +21-236-13:14:04.038 00 SCX_CPU1_DS_EN/81 ; Date Name Description +21-236-13:14:04.038 00 SCX_CPU1_DS_EN/82 ; 02/06/17 Walt Moleski Added this test to verify the settings +21-236-13:14:04.038 00 SCX_CPU1_DS_EN/83 ; of the STATE configuration parameters. +21-236-13:14:04.038 00 SCX_CPU1_DS_EN/84 ; +21-236-13:14:04.038 00 SCX_CPU1_DS_EN/85 ; Arguments +21-236-13:14:04.038 00 SCX_CPU1_DS_EN/86 ; None. +21-236-13:14:04.038 00 SCX_CPU1_DS_EN/87 ; +21-236-13:14:04.038 00 SCX_CPU1_DS_EN/88 ; Procedures Called +21-236-13:14:04.038 00 SCX_CPU1_DS_EN/89 ; Name Description +21-236-13:14:04.038 00 SCX_CPU1_DS_EN/90 ; ut_tlmwait Wait for a specified telemetry point to update to a +21-236-13:14:04.038 00 SCX_CPU1_DS_EN/91 ; specified value. +21-236-13:14:04.038 00 SCX_CPU1_DS_EN/92 ; ut_pfindicate Print the pass fail status of a particular requirement +21-236-13:14:04.038 00 SCX_CPU1_DS_EN/93 ; number. +21-236-13:14:04.038 00 SCX_CPU1_DS_EN/94 ; ut_setupevents Performs setup to verify that a particular event +21-236-13:14:04.038 00 SCX_CPU1_DS_EN/95 ; message was received by ASIST. +21-236-13:14:04.038 00 SCX_CPU1_DS_EN/96 ; ut_setrequirements A directive to set the status of the cFE +21-236-13:14:04.038 00 SCX_CPU1_DS_EN/97 ; requirements array. +21-236-13:14:04.038 00 SCX_CPU1_DS_EN/98 ; +21-236-13:14:04.038 00 SCX_CPU1_DS_EN/99 ; Expected Test Results and Analysis +21-236-13:14:04.038 00 SCX_CPU1_DS_EN/100 ; +21-236-13:14:04.038 00 SCX_CPU1_DS_EN/101 ;********************************************************************** +21-236-13:14:04.038 00 SCX_CPU1_DS_EN/103 local logging = %liv (log_procedure) +21-236-13:14:04.038 00 SCX_CPU1_DS_EN/104 %liv (log_procedure) = FALSE +21-236-13:14:04.106 00 SCX_CPU1_DS_EN/119 +21-236-13:14:04.106 00 SCX_CPU1_DS_EN/120 #define DS_8000 0 +21-236-13:14:04.106 00 SCX_CPU1_DS_EN/121 #define DS_9000 1 +21-236-13:14:04.106 00 SCX_CPU1_DS_EN/122 #define DS_9003 2 +21-236-13:14:04.106 00 SCX_CPU1_DS_EN/123 #define DS_9004 3 +21-236-13:14:04.106 00 SCX_CPU1_DS_EN/124 #define DS_9008 4 +21-236-13:14:04.106 00 SCX_CPU1_DS_EN/125 +21-236-13:14:04.106 00 SCX_CPU1_DS_EN/126 global ut_req_array_size = 4 +21-236-13:14:04.106 00 SCX_CPU1_DS_EN/127 global ut_requirement[0 .. ut_req_array_size] +21-236-13:14:04.106 00 SCX_CPU1_DS_EN/128 +21-236-13:14:04.106 00 SCX_CPU1_DS_EN/129 for i = 0 to ut_req_array_size DO +21-236-13:14:04.106 00 SCX_CPU1_DS_EN/130 ut_requirement[i] = "U" +21-236-13:14:04.106 00 SCX_CPU1_DS_EN/131 enddo +21-236-13:14:04.106 00 SCX_CPU1_DS_EN/129 for i = 0 to ut_req_array_size DO +21-236-13:14:04.107 00 SCX_CPU1_DS_EN/130 ut_requirement[i] = "U" +21-236-13:14:04.107 00 SCX_CPU1_DS_EN/131 enddo +21-236-13:14:04.107 00 SCX_CPU1_DS_EN/129 for i = 0 to ut_req_array_size DO +21-236-13:14:04.107 00 SCX_CPU1_DS_EN/130 ut_requirement[i] = "U" +21-236-13:14:04.107 00 SCX_CPU1_DS_EN/131 enddo +21-236-13:14:04.107 00 SCX_CPU1_DS_EN/129 for i = 0 to ut_req_array_size DO +21-236-13:14:04.107 00 SCX_CPU1_DS_EN/130 ut_requirement[i] = "U" +21-236-13:14:04.107 00 SCX_CPU1_DS_EN/131 enddo +21-236-13:14:04.107 00 SCX_CPU1_DS_EN/129 for i = 0 to ut_req_array_size DO +21-236-13:14:04.107 00 SCX_CPU1_DS_EN/130 ut_requirement[i] = "U" +21-236-13:14:04.107 00 SCX_CPU1_DS_EN/131 enddo +21-236-13:14:04.107 00 SCX_CPU1_DS_EN/129 for i = 0 to ut_req_array_size DO +21-236-13:14:04.107 00 SCX_CPU1_DS_EN/132 +21-236-13:14:04.107 00 SCX_CPU1_DS_EN/133 ;********************************************************************** +21-236-13:14:04.107 00 SCX_CPU1_DS_EN/134 ; Set the local values +21-236-13:14:04.107 00 SCX_CPU1_DS_EN/135 ;********************************************************************** +21-236-13:14:04.107 00 SCX_CPU1_DS_EN/136 local cfe_requirements[0 .. ut_req_array_size] = ["DS_8000", "DS_9000", "DS_9003", "DS_9004", "DS_9008" ] +21-236-13:14:04.107 00 SCX_CPU1_DS_EN/137 +21-236-13:14:04.108 00 SCX_CPU1_DS_EN/138 ;********************************************************************** +21-236-13:14:04.108 00 SCX_CPU1_DS_EN/139 ; Define local variables +21-236-13:14:04.108 00 SCX_CPU1_DS_EN/140 ;********************************************************************** +21-236-13:14:04.108 00 SCX_CPU1_DS_EN/141 LOCAL rawcmd +21-236-13:14:04.108 00 SCX_CPU1_DS_EN/142 LOCAL fileTblPktId, fileTblAppId +21-236-13:14:04.108 00 SCX_CPU1_DS_EN/143 LOCAL filterTblPktId, filterTblAppId +21-236-13:14:04.108 00 SCX_CPU1_DS_EN/144 local DSAppName = "DS" +21-236-13:14:04.108 00 SCX_CPU1_DS_EN/145 local fileTblName = DSAppName & "." & DS_DESTINATION_TBL_NAME +21-236-13:14:04.108 00 SCX_CPU1_DS_EN/146 local filterTblName = DSAppName & "." & DS_FILTER_TBL_NAME +21-236-13:14:04.108 00 SCX_CPU1_DS_EN/147 local ramDir = "RAM:0" +21-236-13:14:04.108 00 SCX_CPU1_DS_EN/148 local hostCPU = "CPU3" +21-236-13:14:04.108 00 SCX_CPU1_DS_EN/149 +21-236-13:14:04.108 00 SCX_CPU1_DS_EN/152 fileTblPktId = "0F76" +21-236-13:14:04.108 00 SCX_CPU1_DS_EN/153 fileTblAppId = 3958 +21-236-13:14:04.108 00 SCX_CPU1_DS_EN/154 filterTblPktId = "0F77" +21-236-13:14:04.108 00 SCX_CPU1_DS_EN/155 filterTblAppId = 3959 +21-236-13:14:04.108 00 SCX_CPU1_DS_EN/156 +21-236-13:14:04.108 00 SCX_CPU1_DS_EN/157 write ";***********************************************************************" +21-236-13:14:04.108 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:14:04.108 00 SCX_CPU1_DS_EN/158 write "; Step 1.0: Data Storage Test Setup." +21-236-13:14:04.108 00 SPR-I:OPRO ; Step 1.0: Data Storage Test Setup. +21-236-13:14:04.108 00 SCX_CPU1_DS_EN/159 write ";***********************************************************************" +21-236-13:14:04.108 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:14:04.108 00 SCX_CPU1_DS_EN/160 write "; Step 1.1: Command a Power-on Reset on CPU1." +21-236-13:14:04.108 00 SPR-I:OPRO ; Step 1.1: Command a Power-on Reset on CPU1. +21-236-13:14:04.108 00 SCX_CPU1_DS_EN/161 write ";***********************************************************************" +21-236-13:14:04.108 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:14:04.108 00 SCX_CPU1_DS_EN/162 /SCX_CPU1_ES_POWERONRESET +21-236-13:14:04.120 00 SCX_CPU1_DS_EN/163 wait 10 +21-236-13:14:04.120 00 SPR-I:STTE Wait mode - waiting 10 seconds ... +21-236-13:14:14.129 00 SCX_CPU1_DS_EN/164 +21-236-13:14:14.129 00 SCX_CPU1_DS_EN/165 close_data_center +21-236-13:14:14.130 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/clear_spacecraft_status.i +21-236-13:14:14.131 00 SPR-I:STS Procedure CLEAR_SPACECRAFT_STATUS started +21-236-13:14:14.131 00 CLEAR_SPACECRA/2 ; +21-236-13:14:14.131 00 CLEAR_SPACECRA/3 local logging = %liv(log_procedure) +21-236-13:14:14.131 00 CLEAR_SPACECRA/4 %liv (log_procedure) = FALSE +21-236-13:14:14.137 00 CLEAR_SPACECRA/135 +21-236-13:14:14.137 00 CLEAR_SPACECRA/136 endproc +21-236-13:14:14.137 00 SPR-I:STS Procedure CLEAR_SPACECRAFT_STATUS completed +21-236-13:14:14.157 00 SCX_CPU1_DS_EN/166 wait 60 +21-236-13:14:14.157 00 SPR-I:STTE Wait mode - waiting 60 seconds ... +21-236-13:15:14.209 00 SCX_CPU1_DS_EN/167 +21-236-13:15:14.210 00 SCX_CPU1_DS_EN/168 cfe_startup {hostCPU} +21-236-13:15:14.222 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:15:24.232 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:15:24.301 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/send_that_to_command.i +21-236-13:15:24.302 00 SPR-I:STS Procedure SEND_THAT_TO_COMMAND started +21-236-13:15:24.302 00 SEND_THAT_TO_C/2 ; +21-236-13:15:24.302 00 SEND_THAT_TO_C/3 local logging = %liv (log_procedure) +21-236-13:15:24.302 00 SEND_THAT_TO_C/4 %liv (log_procedure) = FALSE +21-236-13:15:24.303 00 SPR-I:OPRO Sending: /SCX_CPU1_TO_OUTPUT_ENA gs582cfslab4 +21-236-13:15:24.354 00 SEND_THAT_TO_C/83 +21-236-13:15:24.354 00 SEND_THAT_TO_C/84 endproc +21-236-13:15:24.354 00 SPR-I:STS Procedure SEND_THAT_TO_COMMAND completed +21-236-13:15:24.354 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:15:25.293 00 TLMH-I:STS 58-012-14:03:48.950 INFO CPU=CPU1 APPNAME=TO_LAB_APP EVENT ID=3 TO telemetry output enabled for IP 192.168.1.101 +21-236-13:15:28.358 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:15:28.359 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/fill_in_spacecraft_status.i +21-236-13:15:28.361 00 SPR-I:STS Procedure FILL_IN_SPACECRAFT_STATUS started +21-236-13:15:28.361 00 FILL_IN_SPACEC/2 ; +21-236-13:15:28.361 00 FILL_IN_SPACEC/3 local logging = %liv (log_procedure) +21-236-13:15:28.361 00 FILL_IN_SPACEC/4 %liv (log_procedure) = FALSE +21-236-13:15:28.365 00 FILL_IN_SPACEC/152 +21-236-13:15:28.365 00 FILL_IN_SPACEC/153 endproc +21-236-13:15:28.365 00 SPR-I:STS Procedure FILL_IN_SPACECRAFT_STATUS completed +21-236-13:15:28.365 00 SCX_CPU1_DS_EN/169 wait 5 +21-236-13:15:28.365 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:15:33.370 00 SCX_CPU1_DS_EN/170 +21-236-13:15:33.370 00 SCX_CPU1_DS_EN/171 write ";***********************************************************************" +21-236-13:15:33.370 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:15:33.370 00 SCX_CPU1_DS_EN/172 write "; Step 1.2: Upload the default DS table load images to CPU1." +21-236-13:15:33.370 00 SPR-I:OPRO ; Step 1.2: Upload the default DS table load images to CPU1. +21-236-13:15:33.370 00 SCX_CPU1_DS_EN/173 write ";***********************************************************************" +21-236-13:15:33.370 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:15:33.370 00 SCX_CPU1_DS_EN/175 s scx_cpu1_ds_tbl3 +21-236-13:15:33.371 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/scx_cpu1_ds_tbl3.i +21-236-13:15:33.384 00 SPR-I:STS Procedure SCX_CPU1_DS_TBL3 started +21-236-13:15:33.384 00 SCX_CPU1_DS_TB/2 ;******************************************************************************* +21-236-13:15:33.385 00 SCX_CPU1_DS_TB/3 ; Test Name: ds_tbl3 +21-236-13:15:33.385 00 SCX_CPU1_DS_TB/4 ; Test Level: Build Verification +21-236-13:15:33.385 00 SCX_CPU1_DS_TB/5 ; Test Type: Functional +21-236-13:15:33.385 00 SCX_CPU1_DS_TB/6 ; +21-236-13:15:33.385 00 SCX_CPU1_DS_TB/7 ; Test Description +21-236-13:15:33.385 00 SCX_CPU1_DS_TB/8 ; This procedure creates the initial CFS Data Storage (DS) Destination +21-236-13:15:33.385 00 SCX_CPU1_DS_TB/9 ; File and Packet Filter Table load image files. These files are currently +21-236-13:15:33.385 00 SCX_CPU1_DS_TB/10 ; used by the Filter and Reset No CDS test procedures. +21-236-13:15:33.385 00 SCX_CPU1_DS_TB/11 ; +21-236-13:15:33.385 00 SCX_CPU1_DS_TB/12 ; Prerequisite Conditions +21-236-13:15:33.386 00 SCX_CPU1_DS_TB/13 ; None. +21-236-13:15:33.386 00 SCX_CPU1_DS_TB/14 ; +21-236-13:15:33.386 00 SCX_CPU1_DS_TB/15 ; Assumptions and Constraints +21-236-13:15:33.386 00 SCX_CPU1_DS_TB/16 ; None. +21-236-13:15:33.386 00 SCX_CPU1_DS_TB/17 ; +21-236-13:15:33.386 00 SCX_CPU1_DS_TB/18 ; Change History +21-236-13:15:33.386 00 SCX_CPU1_DS_TB/19 ; Date Name Description +21-236-13:15:33.386 00 SCX_CPU1_DS_TB/20 ; 11/17/09 Walt Moleski Inital implemetation. +21-236-13:15:33.386 00 SCX_CPU1_DS_TB/21 ; 12/08/10 Walt Moleski Modified the procedure to use variables +21-236-13:15:33.386 00 SCX_CPU1_DS_TB/22 ; for the application name and ram disk. +21-236-13:15:33.386 00 SCX_CPU1_DS_TB/23 ; 01/31/17 Walt Moleski Updated for DS 2.5.0.0 using CPU1 for +21-236-13:15:33.391 00 SCX_CPU1_DS_TB/24 ; commanding and added a hostCPU variable +21-236-13:15:33.391 00 SCX_CPU1_DS_TB/25 ; for the utility procs to connect to the +21-236-13:15:33.391 00 SCX_CPU1_DS_TB/26 ; proper host IP address. +21-236-13:15:33.392 00 SCX_CPU1_DS_TB/27 ; +21-236-13:15:33.392 00 SCX_CPU1_DS_TB/28 ; Arguments +21-236-13:15:33.392 00 SCX_CPU1_DS_TB/29 ; None. +21-236-13:15:33.392 00 SCX_CPU1_DS_TB/30 ; +21-236-13:15:33.392 00 SCX_CPU1_DS_TB/31 ; Procedures Called +21-236-13:15:33.392 00 SCX_CPU1_DS_TB/32 ; Name Description +21-236-13:15:33.392 00 SCX_CPU1_DS_TB/33 ; +21-236-13:15:33.392 00 SCX_CPU1_DS_TB/34 ; Expected Test Results and Analysis +21-236-13:15:33.393 00 SCX_CPU1_DS_TB/35 ; +21-236-13:15:33.393 00 SCX_CPU1_DS_TB/36 ;********************************************************************** +21-236-13:15:33.393 00 SCX_CPU1_DS_TB/37 +21-236-13:15:33.393 00 SCX_CPU1_DS_TB/38 local logging = %liv (log_procedure) +21-236-13:15:33.393 00 SCX_CPU1_DS_TB/39 %liv (log_procedure) = FALSE +21-236-13:15:33.447 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:15:33.447 00 SPR-I:OPRO ; Step 1.0: Define DS Destination File And Packet Filter Tables. +21-236-13:15:33.447 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:15:33.451 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/create_tbl_file_from_cvt.i +21-236-13:15:33.451 00 SPR-I:STS Procedure CREATE_TBL_FILE_FROM_CVT started +21-236-13:15:33.453 00 SPR-I:OPRO ********** ds_filtfile.tbl ********** +21-236-13:15:33.453 00 SPR-I:OPRO +21-236-13:15:33.453 00 SPR-I:OPRO Content Type: cFE1 +21-236-13:15:33.453 00 SPR-I:OPRO Sub Type: 8 +21-236-13:15:33.453 00 SPR-I:OPRO Length: 12 +21-236-13:15:33.454 00 SPR-I:OPRO Spacecraft Id: SCX +21-236-13:15:33.454 00 SPR-I:OPRO Processor Id: CPU3 +21-236-13:15:33.454 00 SPR-I:OPRO Application Id: 3958 +21-236-13:15:33.454 00 SPR-I:OPRO Create Time Secs: 1629810933 +21-236-13:15:33.454 00 SPR-I:OPRO Create Time Subsecs: 0 +21-236-13:15:33.454 00 SPR-I:OPRO File Description: File Write Test File Table +21-236-13:15:33.454 00 SPR-I:OPRO +21-236-13:15:33.454 00 SPR-I:OPRO ********** DS.FILE_TBL ********** +21-236-13:15:33.454 00 SPR-I:OPRO +21-236-13:15:33.454 00 SPR-I:OPRO Start Mnemonic: SCX_CPU1_DS_DF_TBL_Description +21-236-13:15:33.454 00 SPR-I:OPRO Byte Offset: 0 +21-236-13:15:33.454 00 SPR-I:OPRO End Mnemonic: SCX_CPU1_DS_DF_TBL[7].SeqCnt +21-236-13:15:33.454 00 SPR-I:OPRO Number of Bytes: 1760 +21-236-13:15:33.454 00 SPR-I:OPRO +21-236-13:15:33.468 00 SPR-I:STS Loading file /s/opr/accounts/global/prc/partial_cvt_to_file_beta.i +21-236-13:15:33.469 00 SPR-I:STS Procedure PARTIAL_CVT_TO_FILE_BETA started +21-236-13:15:33.469 00 SPR-I:OPRO The unix command is cd /s/opr/accounts/cfs_test/image;cvt2file -s 116 -e 1875 P0F76 ds.file_tbl +21-236-13:15:33.473 00 SPR-I:STS Procedure PARTIAL_CVT_TO_FILE_BETA completed +21-236-13:15:33.473 00 SPR-I:OPRO cd /s/opr/accounts/cfs_test/image;cat ds_filtfile.tbl.tmp ds.file_tbl > ds_filtfile.tbl +21-236-13:15:33.477 00 SPR-I:OPRO cd /s/opr/accounts/cfs_test/image;rm ds.file_tbl ds_filtfile.tbl.tmp +21-236-13:15:33.481 00 SPR-I:STS Procedure CREATE_TBL_FILE_FROM_CVT completed +21-236-13:15:33.955 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/create_tbl_file_from_cvt.i +21-236-13:15:33.955 00 SPR-I:STS Procedure CREATE_TBL_FILE_FROM_CVT started +21-236-13:15:33.957 00 SPR-I:OPRO ********** ds_filtfilter.tbl ********** +21-236-13:15:33.957 00 SPR-I:OPRO +21-236-13:15:33.957 00 SPR-I:OPRO Content Type: cFE1 +21-236-13:15:33.957 00 SPR-I:OPRO Sub Type: 8 +21-236-13:15:33.957 00 SPR-I:OPRO Length: 12 +21-236-13:15:33.957 00 SPR-I:OPRO Spacecraft Id: SCX +21-236-13:15:33.957 00 SPR-I:OPRO Processor Id: CPU3 +21-236-13:15:33.957 00 SPR-I:OPRO Application Id: 3959 +21-236-13:15:33.957 00 SPR-I:OPRO Create Time Secs: 1629810933 +21-236-13:15:33.957 00 SPR-I:OPRO Create Time Subsecs: 0 +21-236-13:15:33.958 00 SPR-I:OPRO File Description: Filter Test Filter Table +21-236-13:15:33.958 00 SPR-I:OPRO +21-236-13:15:33.958 00 SPR-I:OPRO ********** DS.FILTER_TBL ********** +21-236-13:15:33.958 00 SPR-I:OPRO +21-236-13:15:33.958 00 SPR-I:OPRO Start Mnemonic: SCX_CPU1_DS_PF_TBL_Description +21-236-13:15:33.958 00 SPR-I:OPRO Byte Offset: 0 +21-236-13:15:33.958 00 SPR-I:OPRO End Mnemonic: SCX_CPU1_DS_PF_TBL[255].FilterParams[3].O_Value +21-236-13:15:33.958 00 SPR-I:OPRO Number of Bytes: 9248 +21-236-13:15:33.958 00 SPR-I:OPRO +21-236-13:15:33.963 00 SPR-I:STS Loading file /s/opr/accounts/global/prc/partial_cvt_to_file_beta.i +21-236-13:15:33.963 00 SPR-I:STS Procedure PARTIAL_CVT_TO_FILE_BETA started +21-236-13:15:33.964 00 SPR-I:OPRO The unix command is cd /s/opr/accounts/cfs_test/image;cvt2file -s 116 -e 9363 P0F77 ds.filter_tbl +21-236-13:15:33.968 00 SPR-I:STS Procedure PARTIAL_CVT_TO_FILE_BETA completed +21-236-13:15:33.968 00 SPR-I:OPRO cd /s/opr/accounts/cfs_test/image;cat ds_filtfilter.tbl.tmp ds.filter_tbl > ds_filtfilter.tbl +21-236-13:15:33.972 00 SPR-I:OPRO cd /s/opr/accounts/cfs_test/image;rm ds.filter_tbl ds_filtfilter.tbl.tmp +21-236-13:15:33.976 00 SPR-I:STS Procedure CREATE_TBL_FILE_FROM_CVT completed +21-236-13:15:33.976 00 SCX_CPU1_DS_TB/309 +21-236-13:15:33.976 00 SCX_CPU1_DS_TB/310 write ";*********************************************************************" +21-236-13:15:33.976 00 SPR-I:OPRO ;********************************************************************* +21-236-13:15:33.976 00 SCX_CPU1_DS_TB/311 write "; End procedure SCX_CPU1_ds_tbl3" +21-236-13:15:33.976 00 SPR-I:OPRO ; End procedure SCX_CPU1_ds_tbl3 +21-236-13:15:33.976 00 SCX_CPU1_DS_TB/312 write ";*********************************************************************" +21-236-13:15:33.977 00 SPR-I:OPRO ;********************************************************************* +21-236-13:15:33.977 00 SCX_CPU1_DS_TB/313 ENDPROC +21-236-13:15:33.977 00 SPR-I:STS Procedure SCX_CPU1_DS_TBL3 completed +21-236-13:15:33.978 00 SCX_CPU1_DS_EN/176 +21-236-13:15:33.978 00 SCX_CPU1_DS_EN/178 local destFileName = DS_DEF_DEST_FILENAME +21-236-13:15:33.978 00 SCX_CPU1_DS_EN/179 local filterFileName = DS_DEF_FILTER_FILENAME +21-236-13:15:33.978 00 SCX_CPU1_DS_EN/180 local slashLoc = %locate(destFileName,"/") +21-236-13:15:33.978 00 SCX_CPU1_DS_EN/181 +21-236-13:15:33.978 00 SCX_CPU1_DS_EN/183 while (slashLoc <> 0) do +21-236-13:15:33.978 00 SCX_CPU1_DS_EN/184 destFileName = %substring(destFileName,slashLoc+1,%length(destFileName)) +21-236-13:15:33.978 00 SCX_CPU1_DS_EN/185 slashLoc = %locate(destFileName,"/") +21-236-13:15:33.978 00 SCX_CPU1_DS_EN/186 enddo +21-236-13:15:33.978 00 SCX_CPU1_DS_EN/184 destFileName = %substring(destFileName,slashLoc+1,%length(destFileName)) +21-236-13:15:33.981 00 SCX_CPU1_DS_EN/185 slashLoc = %locate(destFileName,"/") +21-236-13:15:33.981 00 SCX_CPU1_DS_EN/186 enddo +21-236-13:15:33.981 00 SCX_CPU1_DS_EN/187 +21-236-13:15:33.981 00 SCX_CPU1_DS_EN/188 write "==> Default Destination File Table filename = '",destFileName,"'" +21-236-13:15:33.981 00 SPR-I:OPRO ==> Default Destination File Table filename = 'ds_file_tbl.tbl' +21-236-13:15:33.981 00 SCX_CPU1_DS_EN/189 +21-236-13:15:33.981 00 SCX_CPU1_DS_EN/190 slashLoc = %locate(filterFileName,"/") +21-236-13:15:33.981 00 SCX_CPU1_DS_EN/192 while (slashLoc <> 0) do +21-236-13:15:33.981 00 SCX_CPU1_DS_EN/193 filterFileName = %substring(filterFileName,slashLoc+1,%length(filterFileName)) +21-236-13:15:33.981 00 SCX_CPU1_DS_EN/194 slashLoc = %locate(filterFileName,"/") +21-236-13:15:33.981 00 SCX_CPU1_DS_EN/195 enddo +21-236-13:15:33.981 00 SCX_CPU1_DS_EN/193 filterFileName = %substring(filterFileName,slashLoc+1,%length(filterFileName)) +21-236-13:15:33.981 00 SCX_CPU1_DS_EN/194 slashLoc = %locate(filterFileName,"/") +21-236-13:15:33.981 00 SCX_CPU1_DS_EN/195 enddo +21-236-13:15:33.982 00 SCX_CPU1_DS_EN/196 +21-236-13:15:33.982 00 SCX_CPU1_DS_EN/197 write "==> Default Filter Table filename = '",filterFileName,"'" +21-236-13:15:33.982 00 SPR-I:OPRO ==> Default Filter Table filename = 'ds_filter_tbl.tbl' +21-236-13:15:33.982 00 SCX_CPU1_DS_EN/198 +21-236-13:15:33.982 00 SCX_CPU1_DS_EN/200 s ftp_file("CF:0", "ds_filtfile.tbl", destFileName, hostCPU, "P") +21-236-13:15:33.982 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/ftp_file.i +21-236-13:15:33.982 00 SPR-I:STS Procedure FTP_FILE started +21-236-13:15:33.982 00 FTP_FILE/2 ; +21-236-13:15:33.984 00 FTP_FILE/3 local logging = %liv (log_procedure) +21-236-13:15:33.984 00 FTP_FILE/4 %liv (log_procedure) = FALSE +21-236-13:15:34.296 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-13:15:34.296 00 FTP_FILE/85 ENDPROC +21-236-13:15:34.296 00 SPR-I:STS Procedure FTP_FILE completed +21-236-13:15:34.297 00 SCX_CPU1_DS_EN/201 s ftp_file("CF:0", "ds_filtfilter.tbl", filterFileName, hostCPU, "P") +21-236-13:15:34.298 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/ftp_file.i +21-236-13:15:34.298 00 SPR-I:STS Procedure FTP_FILE started +21-236-13:15:34.299 00 FTP_FILE/2 ; +21-236-13:15:34.299 00 FTP_FILE/3 local logging = %liv (log_procedure) +21-236-13:15:34.299 00 FTP_FILE/4 %liv (log_procedure) = FALSE +21-236-13:15:34.796 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-13:15:34.796 00 FTP_FILE/85 ENDPROC +21-236-13:15:34.796 00 SPR-I:STS Procedure FTP_FILE completed +21-236-13:15:34.797 00 SCX_CPU1_DS_EN/202 +21-236-13:15:34.797 00 SCX_CPU1_DS_EN/203 wait 5 +21-236-13:15:34.797 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:15:39.802 00 SCX_CPU1_DS_EN/204 +21-236-13:15:39.802 00 SCX_CPU1_DS_EN/205 write ";***********************************************************************" +21-236-13:15:39.802 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:15:39.802 00 SCX_CPU1_DS_EN/206 write "; Step 1.3: Display the Housekeeping pages " +21-236-13:15:39.802 00 SPR-I:OPRO ; Step 1.3: Display the Housekeeping pages +21-236-13:15:39.802 00 SCX_CPU1_DS_EN/207 write ";***********************************************************************" +21-236-13:15:39.803 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:15:39.803 00 SCX_CPU1_DS_EN/208 page SCX_CPU1_DS_HK +21-236-13:15:39.905 00 SCX_CPU1_DS_EN/209 page SCX_CPU1_TST_DS_HK +21-236-13:15:39.967 00 SCX_CPU1_DS_EN/210 +21-236-13:15:39.967 00 SCX_CPU1_DS_EN/211 write ";***********************************************************************" +21-236-13:15:39.967 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:15:39.967 00 SCX_CPU1_DS_EN/212 write "; Step 1.4: Start the Data Storage (DS) and Test Applications. " +21-236-13:15:39.967 00 SPR-I:OPRO ; Step 1.4: Start the Data Storage (DS) and Test Applications. +21-236-13:15:39.967 00 SCX_CPU1_DS_EN/213 write ";***********************************************************************" +21-236-13:15:39.968 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:15:39.968 00 SCX_CPU1_DS_EN/214 ;s scx_cpu1_ds_start_apps("1.4") +21-236-13:15:39.968 00 SCX_CPU1_DS_EN/215 ;wait 5 +21-236-13:15:39.968 00 SCX_CPU1_DS_EN/216 +21-236-13:15:39.968 00 SCX_CPU1_DS_EN/218 local hkPktId = "p0B8" +21-236-13:15:39.968 00 SCX_CPU1_DS_EN/219 +21-236-13:15:39.968 00 SCX_CPU1_DS_EN/221 local seqTlmItem = hkPktId & "scnt" +21-236-13:15:39.968 00 SCX_CPU1_DS_EN/222 local currSCnt = {seqTlmItem} +21-236-13:15:39.968 00 SCX_CPU1_DS_EN/223 local expectedSCnt = currSCnt + 2 +21-236-13:15:39.968 00 SCX_CPU1_DS_EN/224 +21-236-13:15:39.968 00 SCX_CPU1_DS_EN/225 ut_tlmwait {seqTlmItem}, {expectedSCnt} +21-236-13:15:39.971 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:15:44.977 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:15:44.978 00 SCX_CPU1_DS_EN/226 if (UT_TW_Status = UT_Success) then +21-236-13:15:44.979 00 SCX_CPU1_DS_EN/227 write "<*> Passed (8000) - Housekeeping packet is being generated." +21-236-13:15:44.979 00 SPR-I:OPRO <*> Passed (8000) - Housekeeping packet is being generated. +21-236-13:15:44.979 00 SCX_CPU1_DS_EN/228 ut_setrequirements DS_8000, "P" +21-236-13:15:44.981 00 SCX_CPU1_DS_EN/232 endif +21-236-13:15:44.981 00 SCX_CPU1_DS_EN/233 +21-236-13:15:44.982 00 SCX_CPU1_DS_EN/235 if (SCX_CPU1_DS_CMDPC = 0) AND (SCX_CPU1_DS_CMDEC = 0) AND ;; +21-236-13:15:44.982 00 SCX_CPU1_DS_EN/236 (SCX_CPU1_DS_DisabledPktCnt = 0) AND ;; +21-236-13:15:44.982 00 SCX_CPU1_DS_EN/237 (SCX_CPU1_DS_FilteredPktCnt = 0) AND (SCX_CPU1_DS_PassedPktCnt = 0) AND ;; +21-236-13:15:44.982 00 SCX_CPU1_DS_EN/238 (SCX_CPU1_DS_FileWriteCnt = 0) AND (SCX_CPU1_DS_FileWriteErrCnt = 0) AND ;; +21-236-13:15:44.982 00 SCX_CPU1_DS_EN/239 (SCX_CPU1_DS_FileUpdCnt = 0) AND (SCX_CPU1_DS_FileUpdErrCnt = 0) AND ;; +21-236-13:15:44.982 00 SCX_CPU1_DS_EN/240 (SCX_CPU1_DS_DestLoadCnt = 1) AND (SCX_CPU1_DS_DestPtrErrCnt = 0) AND ;; +21-236-13:15:44.982 00 SCX_CPU1_DS_EN/241 (SCX_CPU1_DS_FilterLoadCnt = 1) AND (SCX_CPU1_DS_FilterPtrErrCnt = 0) then +21-236-13:15:44.983 00 SCX_CPU1_DS_EN/242 write "<*> Passed (9000) - Housekeeping telemetry initialized properly." +21-236-13:15:44.983 00 SPR-I:OPRO <*> Passed (9000) - Housekeeping telemetry initialized properly. +21-236-13:15:44.983 00 SCX_CPU1_DS_EN/243 ut_setrequirements DS_9000, "P" +21-236-13:15:44.984 00 SCX_CPU1_DS_EN/260 endif +21-236-13:15:44.984 00 SCX_CPU1_DS_EN/261 +21-236-13:15:44.984 00 SCX_CPU1_DS_EN/263 if (DS_DEF_ENABLE_STATE = 1) then +21-236-13:15:44.984 00 SCX_CPU1_DS_EN/264 if (p@SCX_CPU1_DS_AppEnaState = "Enabled") then +21-236-13:15:44.984 00 SCX_CPU1_DS_EN/265 write "<*> Passed (9008) - DS Application State is enabled as expected." +21-236-13:15:44.984 00 SPR-I:OPRO <*> Passed (9008) - DS Application State is enabled as expected. +21-236-13:15:44.984 00 SCX_CPU1_DS_EN/266 ut_setrequirements DS_9008, "P" +21-236-13:15:44.984 00 SCX_CPU1_DS_EN/270 endif +21-236-13:15:44.984 00 SCX_CPU1_DS_EN/279 endif +21-236-13:15:44.984 00 SCX_CPU1_DS_EN/280 +21-236-13:15:44.985 00 SCX_CPU1_DS_EN/281 wait 5 +21-236-13:15:44.985 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:15:49.989 00 SCX_CPU1_DS_EN/282 +21-236-13:15:49.989 00 SCX_CPU1_DS_EN/283 write ";***********************************************************************" +21-236-13:15:49.989 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:15:49.989 00 SCX_CPU1_DS_EN/284 write "; Step 1.5: Enable DEBUG Event Messages " +21-236-13:15:49.989 00 SPR-I:OPRO ; Step 1.5: Enable DEBUG Event Messages +21-236-13:15:49.989 00 SCX_CPU1_DS_EN/285 write ";***********************************************************************" +21-236-13:15:49.990 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:15:49.990 00 SCX_CPU1_DS_EN/286 local cmdCtr = SCX_CPU1_EVS_CMDPC + 1 +21-236-13:15:49.990 00 SCX_CPU1_DS_EN/287 +21-236-13:15:49.990 00 SCX_CPU1_DS_EN/289 /SCX_CPU1_EVS_EnaAppEVTType Application=DSAppName DEBUG +21-236-13:15:50.003 00 SCX_CPU1_DS_EN/290 +21-236-13:15:50.003 00 SCX_CPU1_DS_EN/291 ut_tlmwait SCX_CPU1_EVS_CMDPC, {cmdCtr} +21-236-13:15:50.007 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:15:53.011 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:15:53.012 00 SCX_CPU1_DS_EN/292 if (UT_TW_Status = UT_Success) then +21-236-13:15:53.012 00 SCX_CPU1_DS_EN/293 write "<*> Passed - Enable Debug events command sent properly." +21-236-13:15:53.012 00 SPR-I:OPRO <*> Passed - Enable Debug events command sent properly. +21-236-13:15:53.012 00 SCX_CPU1_DS_EN/296 endif +21-236-13:15:53.012 00 SCX_CPU1_DS_EN/297 +21-236-13:15:53.013 00 SCX_CPU1_DS_EN/298 wait 5 +21-236-13:15:53.013 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:15:58.017 00 SCX_CPU1_DS_EN/299 +21-236-13:15:58.018 00 SCX_CPU1_DS_EN/300 write ";***********************************************************************" +21-236-13:15:58.018 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:15:58.018 00 SCX_CPU1_DS_EN/301 write "; Step 2.0: State Enable Tests." +21-236-13:15:58.018 00 SPR-I:OPRO ; Step 2.0: State Enable Tests. +21-236-13:15:58.018 00 SCX_CPU1_DS_EN/302 write ";***********************************************************************" +21-236-13:15:58.018 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:15:58.018 00 SCX_CPU1_DS_EN/303 write "; Step 2.1: Change the DS application state to the opposite state." +21-236-13:15:58.018 00 SPR-I:OPRO ; Step 2.1: Change the DS application state to the opposite state. +21-236-13:15:58.018 00 SCX_CPU1_DS_EN/304 write ";***********************************************************************" +21-236-13:15:58.018 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:15:58.019 00 SCX_CPU1_DS_EN/305 local expectedState +21-236-13:15:58.019 00 SCX_CPU1_DS_EN/306 cmdCtr = SCX_CPU1_DS_CMDPC + 1 +21-236-13:15:58.019 00 SCX_CPU1_DS_EN/307 if (p@SCX_CPU1_DS_AppEnaState = "Enabled") then +21-236-13:15:58.019 00 SCX_CPU1_DS_EN/308 expectedState = "Disabled" +21-236-13:15:58.019 00 SCX_CPU1_DS_EN/310 /SCX_CPU1_DS_Disable +21-236-13:15:58.033 00 SCX_CPU1_DS_EN/315 endif +21-236-13:15:58.033 00 SCX_CPU1_DS_EN/316 +21-236-13:15:58.033 00 SCX_CPU1_DS_EN/317 ut_tlmwait SCX_CPU1_DS_CMDPC, {cmdCtr} +21-236-13:15:58.039 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:15:58.791 00 TLMH-I:STS 58-012-14:04:22.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=35 APP STATE command: state = 0 +21-236-13:16:01.042 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:16:01.044 00 SCX_CPU1_DS_EN/318 if (UT_TW_Status = UT_Success) then +21-236-13:16:01.044 00 SCX_CPU1_DS_EN/319 write "<*> Passed - DS Application State command sent properly." +21-236-13:16:01.044 00 SPR-I:OPRO <*> Passed - DS Application State command sent properly. +21-236-13:16:01.044 00 SCX_CPU1_DS_EN/322 endif +21-236-13:16:01.044 00 SCX_CPU1_DS_EN/323 +21-236-13:16:01.044 00 SCX_CPU1_DS_EN/324 wait 5 +21-236-13:16:01.044 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:16:06.048 00 SCX_CPU1_DS_EN/325 +21-236-13:16:06.049 00 SCX_CPU1_DS_EN/326 write ";*********************************************************************" +21-236-13:16:06.049 00 SPR-I:OPRO ;********************************************************************* +21-236-13:16:06.049 00 SCX_CPU1_DS_EN/327 write "; Step 2.2: Perform a Processor Reset. " +21-236-13:16:06.049 00 SPR-I:OPRO ; Step 2.2: Perform a Processor Reset. +21-236-13:16:06.049 00 SCX_CPU1_DS_EN/328 write ";*********************************************************************" +21-236-13:16:06.049 00 SPR-I:OPRO ;********************************************************************* +21-236-13:16:06.049 00 SCX_CPU1_DS_EN/329 /SCX_CPU1_ES_PROCESSORRESET +21-236-13:16:06.065 00 SCX_CPU1_DS_EN/330 wait 10 +21-236-13:16:06.065 00 SPR-I:STTE Wait mode - waiting 10 seconds ... +21-236-13:16:16.074 00 SCX_CPU1_DS_EN/331 +21-236-13:16:16.074 00 SCX_CPU1_DS_EN/332 close_data_center +21-236-13:16:16.075 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/clear_spacecraft_status.i +21-236-13:16:16.077 00 SPR-I:STS Procedure CLEAR_SPACECRAFT_STATUS started +21-236-13:16:16.078 00 CLEAR_SPACECRA/2 ; +21-236-13:16:16.078 00 CLEAR_SPACECRA/3 local logging = %liv(log_procedure) +21-236-13:16:16.078 00 CLEAR_SPACECRA/4 %liv (log_procedure) = FALSE +21-236-13:16:16.084 00 CLEAR_SPACECRA/135 +21-236-13:16:16.084 00 CLEAR_SPACECRA/136 endproc +21-236-13:16:16.084 00 SPR-I:STS Procedure CLEAR_SPACECRAFT_STATUS completed +21-236-13:16:16.121 00 SCX_CPU1_DS_EN/333 wait 60 +21-236-13:16:16.121 00 SPR-I:STTE Wait mode - waiting 60 seconds ... +21-236-13:17:16.170 00 SCX_CPU1_DS_EN/334 +21-236-13:17:16.170 00 SCX_CPU1_DS_EN/335 cfe_startup {hostCPU} +21-236-13:17:16.177 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:17:26.188 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:17:26.245 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/send_that_to_command.i +21-236-13:17:26.245 00 SPR-I:STS Procedure SEND_THAT_TO_COMMAND started +21-236-13:17:26.245 00 SEND_THAT_TO_C/2 ; +21-236-13:17:26.245 00 SEND_THAT_TO_C/3 local logging = %liv (log_procedure) +21-236-13:17:26.245 00 SEND_THAT_TO_C/4 %liv (log_procedure) = FALSE +21-236-13:17:26.246 00 SPR-I:OPRO Sending: /SCX_CPU1_TO_OUTPUT_ENA gs582cfslab4 +21-236-13:17:26.298 00 SEND_THAT_TO_C/83 +21-236-13:17:26.298 00 SEND_THAT_TO_C/84 endproc +21-236-13:17:26.298 00 SPR-I:STS Procedure SEND_THAT_TO_COMMAND completed +21-236-13:17:26.298 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:17:26.876 00 TLMH-I:STS 58-012-14:04:57.033 INFO CPU=CPU1 APPNAME=TO_LAB_APP EVENT ID=3 TO telemetry output enabled for IP 192.168.1.101 +21-236-13:17:30.302 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:17:30.303 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/fill_in_spacecraft_status.i +21-236-13:17:30.305 00 SPR-I:STS Procedure FILL_IN_SPACECRAFT_STATUS started +21-236-13:17:30.305 00 FILL_IN_SPACEC/2 ; +21-236-13:17:30.305 00 FILL_IN_SPACEC/3 local logging = %liv (log_procedure) +21-236-13:17:30.305 00 FILL_IN_SPACEC/4 %liv (log_procedure) = FALSE +21-236-13:17:30.310 00 FILL_IN_SPACEC/152 +21-236-13:17:30.310 00 FILL_IN_SPACEC/153 endproc +21-236-13:17:30.310 00 SPR-I:STS Procedure FILL_IN_SPACECRAFT_STATUS completed +21-236-13:17:30.310 00 SCX_CPU1_DS_EN/336 wait 5 +21-236-13:17:30.310 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:17:35.314 00 SCX_CPU1_DS_EN/337 +21-236-13:17:35.315 00 SCX_CPU1_DS_EN/338 write ";***********************************************************************" +21-236-13:17:35.315 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:17:35.315 00 SCX_CPU1_DS_EN/339 write "; Step 2.3: Start the Data Storage (DS) and Test Applications. " +21-236-13:17:35.315 00 SPR-I:OPRO ; Step 2.3: Start the Data Storage (DS) and Test Applications. +21-236-13:17:35.315 00 SCX_CPU1_DS_EN/340 write ";***********************************************************************" +21-236-13:17:35.315 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:17:35.315 00 SCX_CPU1_DS_EN/341 ;s scx_cpu1_ds_start_apps("2.3") +21-236-13:17:35.315 00 SCX_CPU1_DS_EN/342 ;wait 5 +21-236-13:17:35.315 00 SCX_CPU1_DS_EN/343 +21-236-13:17:35.316 00 SCX_CPU1_DS_EN/347 if (DS_CDS_ENABLE_STATE = 1) then +21-236-13:17:35.316 00 SCX_CPU1_DS_EN/348 if (p@SCX_CPU1_DS_AppEnaState = expectedState) then +21-236-13:17:35.316 00 SCX_CPU1_DS_EN/349 write "<*> Passed (9004) - DS Application State is set as expected." +21-236-13:17:35.316 00 SPR-I:OPRO <*> Passed (9004) - DS Application State is set as expected. +21-236-13:17:35.316 00 SCX_CPU1_DS_EN/350 ut_setrequirements DS_9004, "P" +21-236-13:17:35.320 00 SCX_CPU1_DS_EN/354 endif +21-236-13:17:35.320 00 SCX_CPU1_DS_EN/377 endif +21-236-13:17:35.320 00 SCX_CPU1_DS_EN/378 +21-236-13:17:35.320 00 SCX_CPU1_DS_EN/379 wait 5 +21-236-13:17:35.320 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:17:40.324 00 SCX_CPU1_DS_EN/380 +21-236-13:17:40.324 00 SCX_CPU1_DS_EN/381 write ";***********************************************************************" +21-236-13:17:40.325 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:17:40.325 00 SCX_CPU1_DS_EN/382 write "; Step 2.4: Enable DEBUG Event Messages " +21-236-13:17:40.325 00 SPR-I:OPRO ; Step 2.4: Enable DEBUG Event Messages +21-236-13:17:40.325 00 SCX_CPU1_DS_EN/383 write ";***********************************************************************" +21-236-13:17:40.325 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:17:40.325 00 SCX_CPU1_DS_EN/384 local cmdCtr = SCX_CPU1_EVS_CMDPC + 1 +21-236-13:17:40.326 00 SCX_CPU1_DS_EN/385 +21-236-13:17:40.326 00 SCX_CPU1_DS_EN/387 /SCX_CPU1_EVS_EnaAppEVTType Application=DSAppName DEBUG +21-236-13:17:40.340 00 SCX_CPU1_DS_EN/388 +21-236-13:17:40.340 00 SCX_CPU1_DS_EN/389 ut_tlmwait SCX_CPU1_EVS_CMDPC, {cmdCtr} +21-236-13:17:40.344 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:17:42.346 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:17:42.347 00 SCX_CPU1_DS_EN/390 if (UT_TW_Status = UT_Success) then +21-236-13:17:42.348 00 SCX_CPU1_DS_EN/391 write "<*> Passed - Enable Debug events command sent properly." +21-236-13:17:42.348 00 SPR-I:OPRO <*> Passed - Enable Debug events command sent properly. +21-236-13:17:42.348 00 SCX_CPU1_DS_EN/394 endif +21-236-13:17:42.348 00 SCX_CPU1_DS_EN/395 +21-236-13:17:42.348 00 SCX_CPU1_DS_EN/396 write ";*********************************************************************" +21-236-13:17:42.348 00 SPR-I:OPRO ;********************************************************************* +21-236-13:17:42.348 00 SCX_CPU1_DS_EN/397 write "; Step 2.5: Restart the DS and TST_DS Applications. " +21-236-13:17:42.348 00 SPR-I:OPRO ; Step 2.5: Restart the DS and TST_DS Applications. +21-236-13:17:42.348 00 SCX_CPU1_DS_EN/398 write ";*********************************************************************" +21-236-13:17:42.348 00 SPR-I:OPRO ;********************************************************************* +21-236-13:17:42.348 00 SCX_CPU1_DS_EN/399 write "; Step 2.5.1: Stop the DS and TST_DS Applications. " +21-236-13:17:42.349 00 SPR-I:OPRO ; Step 2.5.1: Stop the DS and TST_DS Applications. +21-236-13:17:42.349 00 SCX_CPU1_DS_EN/400 write ";*********************************************************************" +21-236-13:17:42.349 00 SPR-I:OPRO ;********************************************************************* +21-236-13:17:42.349 00 SCX_CPU1_DS_EN/401 local cmdCtr = SCX_CPU1_ES_CMDPC + 2 +21-236-13:17:42.349 00 SCX_CPU1_DS_EN/402 +21-236-13:17:42.349 00 SCX_CPU1_DS_EN/403 /SCX_CPU1_ES_RESTARTAPP Application="TST_DS" +21-236-13:17:42.353 00 SCX_CPU1_DS_EN/404 wait 4 +21-236-13:17:42.353 00 SPR-I:STTE Wait mode - waiting 4 seconds ... +21-236-13:17:43.380 00 TLMH-I:STS 58-012-14:05:14.001 ERROR CPU=CPU1 APPNAME=TST_DS EVENT ID=41 TST_DS_AppMain terminating!, Error = 0x0 +21-236-13:17:46.356 00 SCX_CPU1_DS_EN/405 /SCX_CPU1_ES_RESTARTAPP Application=DSAppName +21-236-13:17:46.371 00 SCX_CPU1_DS_EN/406 wait 4 +21-236-13:17:46.371 00 SPR-I:STTE Wait mode - waiting 4 seconds ... +21-236-13:17:48.381 00 TLMH-I:STS 58-012-14:05:19.000 ERROR CPU=CPU1 APPNAME=CFE_SB EVENT ID=17 Msg Limit Err,MsgId 0x1811,pipe TstDSCmdPipe,sender CFE_TIME.TIME_1HZ_TASK +21-236-13:17:49.382 00 TLMH-I:STS 58-012-14:05:19.821 INFO CPU=CPU1 APPNAME=CFE_ES EVENT ID=10 Restart Application TST_DS Completed, AppID=1114124 +21-236-13:17:49.383 00 TLMH-I:STS 58-012-14:05:19.883 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=1 TST_DS Initialized. Version 2.5.1.0 +21-236-13:17:50.375 00 SCX_CPU1_DS_EN/407 +21-236-13:17:50.375 00 SCX_CPU1_DS_EN/408 ut_tlmwait SCX_CPU1_ES_CMDPC, {cmdCtr} +21-236-13:17:50.387 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:17:50.389 00 SCX_CPU1_DS_EN/409 if (UT_TW_Status = UT_Success) then +21-236-13:17:50.389 00 SCX_CPU1_DS_EN/410 write "<*> Passed - DS and TST_DS stop app commands sent properly." +21-236-13:17:50.389 00 SPR-I:OPRO <*> Passed - DS and TST_DS stop app commands sent properly. +21-236-13:17:50.389 00 SCX_CPU1_DS_EN/413 endif +21-236-13:17:50.389 00 SCX_CPU1_DS_EN/414 +21-236-13:17:50.389 00 SCX_CPU1_DS_EN/415 wait 5 +21-236-13:17:50.389 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:17:52.376 00 TLMH-I:STS 58-012-14:05:22.863 INFO CPU=CPU1 APPNAME=CFE_ES EVENT ID=10 Restart Application DS Completed, AppID=1114125 +21-236-13:17:52.377 00 TLMH-I:STS 58-012-14:05:22.939 INFO CPU=CPU1 APPNAME=DS EVENT ID=10 Destination file table verify results: desc text = OK, good entries = 8, bad = 0, unused = 8 +21-236-13:17:52.378 00 TLMH-I:STS 58-012-14:05:22.964 INFO CPU=CPU1 APPNAME=DS EVENT ID=12 Filter table verify results: desc text = OK, good entries = 6, bad = 0, unused = 250 +21-236-13:17:52.379 00 TLMH-I:STS 58-012-14:05:22.966 INFO CPU=CPU1 APPNAME=DS EVENT ID=1 Application initialized, version 2.6.0.0, data at 0xa85e50 +21-236-13:17:52.380 00 TLMH-I:STS 58-012-14:05:23.001 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=20 Request Housekeeping command +21-236-13:17:55.394 00 SCX_CPU1_DS_EN/416 +21-236-13:17:55.394 00 SCX_CPU1_DS_EN/417 write ";*********************************************************************" +21-236-13:17:55.394 00 SPR-I:OPRO ;********************************************************************* +21-236-13:17:55.394 00 SCX_CPU1_DS_EN/418 write "; Step 2.5.2: Start the DS and TST_DS Applications. " +21-236-13:17:55.394 00 SPR-I:OPRO ; Step 2.5.2: Start the DS and TST_DS Applications. +21-236-13:17:55.394 00 SCX_CPU1_DS_EN/419 write ";*********************************************************************" +21-236-13:17:55.394 00 SPR-I:OPRO ;********************************************************************* +21-236-13:17:55.394 00 SCX_CPU1_DS_EN/420 ;s scx_cpu1_ds_start_apps("2.5.2") +21-236-13:17:55.395 00 SCX_CPU1_DS_EN/421 ;wait 5 +21-236-13:17:55.395 00 SCX_CPU1_DS_EN/422 +21-236-13:17:55.395 00 SCX_CPU1_DS_EN/423 write ";***********************************************************************" +21-236-13:17:55.395 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:17:55.395 00 SCX_CPU1_DS_EN/424 write "; Step 2.6: Enable DEBUG Event Messages " +21-236-13:17:55.395 00 SPR-I:OPRO ; Step 2.6: Enable DEBUG Event Messages +21-236-13:17:55.395 00 SCX_CPU1_DS_EN/425 write ";***********************************************************************" +21-236-13:17:55.395 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:17:55.395 00 SCX_CPU1_DS_EN/426 local cmdCtr = SCX_CPU1_EVS_CMDPC + 2 +21-236-13:17:55.396 00 SCX_CPU1_DS_EN/427 +21-236-13:17:55.396 00 SCX_CPU1_DS_EN/429 /SCX_CPU1_EVS_EnaAppEVTType Application=DSAppName DEBUG +21-236-13:17:55.411 00 SCX_CPU1_DS_EN/430 wait 2 +21-236-13:17:55.411 00 SPR-I:STTE Wait mode - waiting 2 seconds ... +21-236-13:17:56.379 00 TLMH-I:STS 58-012-14:05:27.001 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=20 Request Housekeeping command +21-236-13:17:57.413 00 SCX_CPU1_DS_EN/431 /SCX_CPU1_EVS_EnaAppEVTType Application="CFE_TBL" DEBUG +21-236-13:17:57.428 00 SCX_CPU1_DS_EN/432 +21-236-13:17:57.428 00 SCX_CPU1_DS_EN/433 ut_tlmwait SCX_CPU1_EVS_CMDPC, {cmdCtr} +21-236-13:17:57.442 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:18:01.446 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:18:01.448 00 SCX_CPU1_DS_EN/434 if (UT_TW_Status = UT_Success) then +21-236-13:18:01.448 00 SCX_CPU1_DS_EN/435 write "<*> Passed - Enable Debug events command sent properly." +21-236-13:18:01.448 00 SPR-I:OPRO <*> Passed - Enable Debug events command sent properly. +21-236-13:18:01.448 00 SCX_CPU1_DS_EN/438 endif +21-236-13:18:01.448 00 SCX_CPU1_DS_EN/439 +21-236-13:18:01.448 00 SCX_CPU1_DS_EN/440 wait 5 +21-236-13:18:01.448 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:18:06.452 00 SCX_CPU1_DS_EN/441 +21-236-13:18:06.452 00 SCX_CPU1_DS_EN/442 write ";***********************************************************************" +21-236-13:18:06.452 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:18:06.452 00 SCX_CPU1_DS_EN/443 write "; Step 2.7: Check the Enable State after reset" +21-236-13:18:06.452 00 SPR-I:OPRO ; Step 2.7: Check the Enable State after reset +21-236-13:18:06.452 00 SCX_CPU1_DS_EN/444 write ";***********************************************************************" +21-236-13:18:06.452 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:18:06.452 00 SCX_CPU1_DS_EN/448 if (DS_CDS_ENABLE_STATE = 1) then +21-236-13:18:06.452 00 SCX_CPU1_DS_EN/449 if (p@SCX_CPU1_DS_AppEnaState = expectedState) then +21-236-13:18:06.452 00 SCX_CPU1_DS_EN/450 write "<*> Passed (9004) - DS Application State is set as expected." +21-236-13:18:06.452 00 SPR-I:OPRO <*> Passed (9004) - DS Application State is set as expected. +21-236-13:18:06.453 00 SCX_CPU1_DS_EN/451 ut_setrequirements DS_9004, "P" +21-236-13:18:06.453 00 SCX_CPU1_DS_EN/455 endif +21-236-13:18:06.453 00 SCX_CPU1_DS_EN/478 endif +21-236-13:18:06.453 00 SCX_CPU1_DS_EN/479 +21-236-13:18:06.453 00 SCX_CPU1_DS_EN/480 write ";*********************************************************************" +21-236-13:18:06.453 00 SPR-I:OPRO ;********************************************************************* +21-236-13:18:06.453 00 SCX_CPU1_DS_EN/481 write "; Step 6.0: Clean-up - Send the Reset command. " +21-236-13:18:06.454 00 SPR-I:OPRO ; Step 6.0: Clean-up - Send the Reset command. +21-236-13:18:06.454 00 SCX_CPU1_DS_EN/482 write ";*********************************************************************" +21-236-13:18:06.454 00 SPR-I:OPRO ;********************************************************************* +21-236-13:18:06.454 00 SCX_CPU1_DS_EN/483 /SCX_CPU1_ES_POWERONRESET +21-236-13:18:06.465 00 SCX_CPU1_DS_EN/484 wait 10 +21-236-13:18:06.465 00 SPR-I:STTE Wait mode - waiting 10 seconds ... +21-236-13:18:16.474 00 SCX_CPU1_DS_EN/485 +21-236-13:18:16.474 00 SCX_CPU1_DS_EN/486 close_data_center +21-236-13:18:16.475 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/clear_spacecraft_status.i +21-236-13:18:16.476 00 SPR-I:STS Procedure CLEAR_SPACECRAFT_STATUS started +21-236-13:18:16.477 00 CLEAR_SPACECRA/2 ; +21-236-13:18:16.477 00 CLEAR_SPACECRA/3 local logging = %liv(log_procedure) +21-236-13:18:16.477 00 CLEAR_SPACECRA/4 %liv (log_procedure) = FALSE +21-236-13:18:16.491 00 CLEAR_SPACECRA/135 +21-236-13:18:16.491 00 CLEAR_SPACECRA/136 endproc +21-236-13:18:16.491 00 SPR-I:STS Procedure CLEAR_SPACECRAFT_STATUS completed +21-236-13:18:16.554 00 SCX_CPU1_DS_EN/487 wait 60 +21-236-13:18:16.554 00 SPR-I:STTE Wait mode - waiting 60 seconds ... +21-236-13:19:16.603 00 SCX_CPU1_DS_EN/488 +21-236-13:19:16.603 00 SCX_CPU1_DS_EN/489 cfe_startup {hostCPU} +21-236-13:19:16.615 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:19:26.626 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:19:26.696 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/send_that_to_command.i +21-236-13:19:26.697 00 SPR-I:STS Procedure SEND_THAT_TO_COMMAND started +21-236-13:19:26.697 00 SEND_THAT_TO_C/2 ; +21-236-13:19:26.697 00 SEND_THAT_TO_C/3 local logging = %liv (log_procedure) +21-236-13:19:26.697 00 SEND_THAT_TO_C/4 %liv (log_procedure) = FALSE +21-236-13:19:26.698 00 SPR-I:OPRO Sending: /SCX_CPU1_TO_OUTPUT_ENA gs582cfslab4 +21-236-13:19:26.750 00 SEND_THAT_TO_C/83 +21-236-13:19:26.750 00 SEND_THAT_TO_C/84 endproc +21-236-13:19:26.750 00 SPR-I:STS Procedure SEND_THAT_TO_COMMAND completed +21-236-13:19:26.750 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:19:27.954 00 TLMH-I:STS 58-012-14:03:48.950 INFO CPU=CPU1 APPNAME=TO_LAB_APP EVENT ID=3 TO telemetry output enabled for IP 192.168.1.101 +21-236-13:19:31.756 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:19:31.756 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/fill_in_spacecraft_status.i +21-236-13:19:31.758 00 SPR-I:STS Procedure FILL_IN_SPACECRAFT_STATUS started +21-236-13:19:31.758 00 FILL_IN_SPACEC/2 ; +21-236-13:19:31.759 00 FILL_IN_SPACEC/3 local logging = %liv (log_procedure) +21-236-13:19:31.759 00 FILL_IN_SPACEC/4 %liv (log_procedure) = FALSE +21-236-13:19:31.769 00 FILL_IN_SPACEC/152 +21-236-13:19:31.769 00 FILL_IN_SPACEC/153 endproc +21-236-13:19:31.769 00 SPR-I:STS Procedure FILL_IN_SPACECRAFT_STATUS completed +21-236-13:19:31.770 00 SCX_CPU1_DS_EN/490 wait 5 +21-236-13:19:31.771 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:19:36.774 00 SCX_CPU1_DS_EN/491 +21-236-13:19:36.774 00 SCX_CPU1_DS_EN/492 write "**** Requirements Status Reporting" +21-236-13:19:36.774 00 SPR-I:OPRO **** Requirements Status Reporting +21-236-13:19:36.775 00 SCX_CPU1_DS_EN/493 +21-236-13:19:36.775 00 SCX_CPU1_DS_EN/494 write "--------------------------" +21-236-13:19:36.775 00 SPR-I:OPRO -------------------------- +21-236-13:19:36.775 00 SCX_CPU1_DS_EN/495 write " Requirement(s) Report" +21-236-13:19:36.775 00 SPR-I:OPRO Requirement(s) Report +21-236-13:19:36.775 00 SCX_CPU1_DS_EN/496 write "--------------------------" +21-236-13:19:36.775 00 SPR-I:OPRO -------------------------- +21-236-13:19:36.775 00 SCX_CPU1_DS_EN/497 +21-236-13:19:36.775 00 SCX_CPU1_DS_EN/498 FOR i = 0 to ut_req_array_size DO +21-236-13:19:36.776 00 SCX_CPU1_DS_EN/499 ut_pfindicate {cfe_requirements[i]} {ut_requirement[i]} +21-236-13:19:36.776 00 SPR-I:OPRO FSW Requirement: DS_8000 P/F: P +21-236-13:19:36.777 00 SCX_CPU1_DS_EN/500 ENDDO +21-236-13:19:36.777 00 SCX_CPU1_DS_EN/498 FOR i = 0 to ut_req_array_size DO +21-236-13:19:36.778 00 SCX_CPU1_DS_EN/499 ut_pfindicate {cfe_requirements[i]} {ut_requirement[i]} +21-236-13:19:36.779 00 SPR-I:OPRO FSW Requirement: DS_9000 P/F: P +21-236-13:19:36.779 00 SCX_CPU1_DS_EN/500 ENDDO +21-236-13:19:36.779 00 SCX_CPU1_DS_EN/498 FOR i = 0 to ut_req_array_size DO +21-236-13:19:36.780 00 SCX_CPU1_DS_EN/499 ut_pfindicate {cfe_requirements[i]} {ut_requirement[i]} +21-236-13:19:36.781 00 SPR-I:OPRO FSW Requirement: DS_9003 P/F: U +21-236-13:19:36.781 00 SCX_CPU1_DS_EN/500 ENDDO +21-236-13:19:36.782 00 SCX_CPU1_DS_EN/498 FOR i = 0 to ut_req_array_size DO +21-236-13:19:36.782 00 SCX_CPU1_DS_EN/499 ut_pfindicate {cfe_requirements[i]} {ut_requirement[i]} +21-236-13:19:36.783 00 SPR-I:OPRO FSW Requirement: DS_9004 P/F: P +21-236-13:19:36.783 00 SCX_CPU1_DS_EN/500 ENDDO +21-236-13:19:36.784 00 SCX_CPU1_DS_EN/498 FOR i = 0 to ut_req_array_size DO +21-236-13:19:36.784 00 SCX_CPU1_DS_EN/499 ut_pfindicate {cfe_requirements[i]} {ut_requirement[i]} +21-236-13:19:36.785 00 SPR-I:OPRO FSW Requirement: DS_9008 P/F: P +21-236-13:19:36.786 00 SCX_CPU1_DS_EN/500 ENDDO +21-236-13:19:36.786 00 SCX_CPU1_DS_EN/498 FOR i = 0 to ut_req_array_size DO +21-236-13:19:36.787 00 SCX_CPU1_DS_EN/501 +21-236-13:19:36.801 00 SCX_CPU1_DS_EN/502 drop ut_requirement ; needed to clear global variables +21-236-13:19:36.801 00 SPR-I:STS Variable "UT_REQUIREMENT" deleted +21-236-13:19:36.802 00 SCX_CPU1_DS_EN/503 drop ut_req_array_size ; needed to clear global variables +21-236-13:19:36.802 00 SPR-I:STS Variable "UT_REQ_ARRAY_SIZE" deleted +21-236-13:19:36.802 00 SCX_CPU1_DS_EN/504 +21-236-13:19:36.802 00 SCX_CPU1_DS_EN/505 write ";*********************************************************************" +21-236-13:19:36.802 00 SPR-I:OPRO ;********************************************************************* +21-236-13:19:36.802 00 SCX_CPU1_DS_EN/506 write "; End procedure SCX_CPU1_ds_resetnocds" +21-236-13:19:36.802 00 SPR-I:OPRO ; End procedure SCX_CPU1_ds_resetnocds +21-236-13:19:36.803 00 SCX_CPU1_DS_EN/507 write ";*********************************************************************" +21-236-13:19:36.803 00 SPR-I:OPRO ;********************************************************************* +21-236-13:19:36.803 00 SCX_CPU1_DS_EN/508 ENDPROC +21-236-13:19:36.803 00 SPR-I:STS Procedure SCX_CPU1_DS_ENABLESTATE completed +21-236-13:19:36.805 00 UT_RUNPROC/249 +21-236-13:19:36.805 00 UT_RUNPROC/264 #endif +21-236-13:19:36.806 00 UT_RUNPROC/265 +21-236-13:19:36.806 00 UT_RUNPROC/266 write "*** Telemetry Info ***" +21-236-13:19:36.806 00 SPR-I:OPRO *** Telemetry Info *** +21-236-13:19:36.807 00 UT_RUNPROC/268 ;;; write "Pkt Loss Count: ", TO_PCKTSDISCARD +21-236-13:19:36.807 00 UT_RUNPROC/269 write "Pkt Loss Count: N/A" +21-236-13:19:36.807 00 SPR-I:OPRO +21-236-13:19:36.807 00 UT_RUNPROC/269 write "Pkt Loss Count: N/A" +21-236-13:19:36.807 00 SPR-I:OPRO Pkt Loss Count: N/A +21-236-13:19:36.807 00 UT_RUNPROC/271 write "******************" +21-236-13:19:36.807 00 SPR-I:OPRO +21-236-13:19:36.807 00 UT_RUNPROC/271 write "******************" +21-236-13:19:36.807 00 SPR-I:OPRO ****************** +21-236-13:19:36.807 00 UT_RUNPROC/273 +21-236-13:19:36.807 00 SPR-I:OPRO +21-236-13:19:36.808 00 UT_RUNPROC/273 +21-236-13:19:36.808 00 UT_RUNPROC/274 etime = %gmt +21-236-13:19:36.808 00 UT_RUNPROC/275 write "Elapsed time: ", etime-stime, " seconds" +21-236-13:19:36.808 00 SPR-I:OPRO Elapsed time: 332.893 seconds +21-236-13:19:36.808 00 UT_RUNPROC/276 write "Elapsed time: ", (etime-stime)/60, " minutes" +21-236-13:19:36.808 00 SPR-I:OPRO Elapsed time: 5.54822 minutes +21-236-13:19:36.810 00 UT_RUNPROC/277 ; +21-236-13:19:36.811 00 UT_RUNPROC/278 ; wait for completion of procedure +21-236-13:19:36.811 00 UT_RUNPROC/279 ; +21-236-13:19:36.811 00 UT_RUNPROC/280 wait(10) +21-236-13:19:36.811 00 SPR-I:STTE Wait mode - waiting 10 seconds ... +21-236-13:19:46.820 00 UT_RUNPROC/281 ; +21-236-13:19:46.820 00 UT_RUNPROC/282 ; close the log to procedure log name for archive +21-236-13:19:46.820 00 UT_RUNPROC/283 ; +21-236-13:19:46.820 00 UT_RUNPROC/284 local test_log_string = "/test_logs/" +21-236-13:19:46.820 00 UT_RUNPROC/285 if ((logoff_when_done = 0) and (%length(opt_parm) <> 0)) then +21-236-13:19:46.821 00 UT_RUNPROC/286 test_log_string = test_log_string & opt_parm & "/" +21-236-13:19:46.821 00 UT_RUNPROC/287 endif +21-236-13:19:46.821 00 UT_RUNPROC/288 +21-236-13:19:46.821 00 UT_RUNPROC/289 write "Creating filtered log at " & %env("WORK") & test_log_string ;; +21-236-13:19:46.821 00 UT_RUNPROC/290 & log_name & "f" +21-236-13:19:46.821 00 SPR-I:OPRO Creating filtered log at /s/opr/accounts/cfs_test/test_logs/DS2.6.0/scx_cpu1_ds_enablestate-2021-236-13h14m03s.logf +21-236-13:19:46.822 00 UT_RUNPROC/291 write "Creating filtered output log at " & %env("WORK") & test_log_string ;; +21-236-13:19:46.822 00 UT_RUNPROC/292 & log_name & "p" +21-236-13:19:46.822 00 SPR-I:OPRO Creating filtered output log at /s/opr/accounts/cfs_test/test_logs/DS2.6.0/scx_cpu1_ds_enablestate-2021-236-13h14m03s.logp +21-236-13:19:46.822 00 UT_RUNPROC/293 write "Creating filtered output log (without SFDUs) at " & %env("WORK") ;; +21-236-13:19:46.822 00 UT_RUNPROC/294 & test_log_string & log_name & "s" +21-236-13:19:46.822 00 SPR-I:OPRO Creating filtered output log (without SFDUs) at /s/opr/accounts/cfs_test/test_logs/DS2.6.0/scx_cpu1_ds_enablestate-2021-236-13h14m03s.logs +21-236-13:19:46.822 00 UT_RUNPROC/295 write "Creating filtered event log at " & %env("WORK") & test_log_string ;; +21-236-13:19:46.822 00 UT_RUNPROC/296 & log_name & "e" +21-236-13:19:46.823 00 SPR-I:OPRO Creating filtered event log at /s/opr/accounts/cfs_test/test_logs/DS2.6.0/scx_cpu1_ds_enablestate-2021-236-13h14m03s.loge +21-236-13:19:46.823 00 UT_RUNPROC/297 write "Creating filtered requirements log at " & %env("WORK") ;; +21-236-13:19:46.823 00 UT_RUNPROC/298 & test_log_string & log_name & "r" +21-236-13:19:46.823 00 SPR-I:OPRO Creating filtered requirements log at /s/opr/accounts/cfs_test/test_logs/DS2.6.0/scx_cpu1_ds_enablestate-2021-236-13h14m03s.logr +21-236-13:19:46.823 00 UT_RUNPROC/299 +21-236-13:19:46.824 00 UT_RUNPROC/300 rstol_dir = "rstol 'newlog " & log_name & "'" +21-236-13:19:46.824 00 UT_RUNPROC/301 native(rstol_dir) +21-236-13:19:46.963 00 SPR-I:OPRI --> newlog scx_cpu1_ds_enablestate-2021-236-13h14m03s.log diff --git a/test_and_ground/results/Caelum/scx_cpu1_ds_enablestate-2021-236-13h14m03s.logp b/test_and_ground/results/Caelum/scx_cpu1_ds_enablestate-2021-236-13h14m03s.logp new file mode 100644 index 0000000..e870659 --- /dev/null +++ b/test_and_ground/results/Caelum/scx_cpu1_ds_enablestate-2021-236-13h14m03s.logp @@ -0,0 +1,322 @@ +21-236-13:14:03.910 00 SPR-I:OPRO ****************** FSW Configuration ****************** +21-236-13:14:03.910 00 SPR-I:OPRO Checksum: 29237 +21-236-13:14:03.911 00 SPR-I:OPRO cFE Version: 6.7.99.0 +21-236-13:14:03.911 00 SPR-I:OPRO OS Version: 5.0.0.255 +21-236-13:14:03.911 00 SPR-I:OPRO +21-236-13:14:03.912 00 SPR-I:OPRO Connection Status +21-236-13:14:03.912 00 SPR-I:OPRO ----------------- +21-236-13:14:03.912 00 SPR-I:OPRO CFDP: DOWN +21-236-13:14:03.912 00 SPR-I:OPRO UDP: UP +21-236-13:14:03.912 00 SPR-I:OPRO SWTS: UNK +21-236-13:14:03.913 00 SPR-I:OPRO +21-236-13:14:03.913 00 SPR-I:OPRO CMD / TLM Path +21-236-13:14:03.913 00 SPR-I:OPRO -------------- +21-236-13:14:03.913 00 SPR-I:OPRO UDP +21-236-13:14:03.913 00 SPR-I:OPRO +21-236-13:14:03.913 00 SPR-I:OPRO +21-236-13:14:03.913 00 SPR-I:OPRO ASIST / GDS Configuration +21-236-13:14:03.914 00 SPR-I:OPRO ------------------------- +21-236-13:14:03.914 00 SPR-I:OPRO Workstation: GS582CFSLAB4 +21-236-13:14:03.914 00 SPR-I:OPRO Account: cfs_test +21-236-13:14:03.914 00 SPR-I:OPRO Version: 21.0.7 +21-236-13:14:03.914 00 SPR-I:OPRO Tlm DB: Version: 1.985 Date: 08-24-21 Time: 06:37:06 AM. +21-236-13:14:03.914 00 SPR-I:OPRO Cmd DB: Version: 1.51 Date: 08-24-21 Time: 06:47:31 AM.EDT +21-236-13:14:03.914 00 SPR-I:OPRO +21-236-13:14:03.914 00 SPR-I:OPRO Telemetry Info +21-236-13:14:03.914 00 SPR-I:OPRO -------------- +21-236-13:14:03.914 00 SPR-I:OPRO Pkt Loss Count: N/A +21-236-13:14:03.914 00 SPR-I:OPRO **************** End FSW Configuration *************** +21-236-13:14:03.914 00 SPR-I:OPRO Starting Procedure.... scx_cpu1_ds_enablestate +21-236-13:14:04.027 00 SPR-I:OPRI --> start scx_cpu1_ds_enablestate +21-236-13:14:04.027 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/scx_cpu1_ds_enablestate.i +21-236-13:14:04.031 00 SPR-I:STS Procedure SCX_CPU1_DS_ENABLESTATE started +21-236-13:14:04.108 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:14:04.108 00 SPR-I:OPRO ; Step 1.0: Data Storage Test Setup. +21-236-13:14:04.108 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:14:04.108 00 SPR-I:OPRO ; Step 1.1: Command a Power-on Reset on CPU1. +21-236-13:14:04.108 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:14:04.109 00 CMH-I:CMD Command is /SCX_CPU1_ES_POWERONRESET ;;; (SCX CPU1 ES Power-On Reset command code) +21-236-13:14:04.109 00 CMH-I:CMD Command SFDU received:<1806C000000302220002> from gs582cfslab4:SPR +21-236-13:14:04.120 00 SPR-I:STTE Wait mode - waiting 10 seconds ... +21-236-13:14:14.130 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/clear_spacecraft_status.i +21-236-13:14:14.131 00 SPR-I:STS Procedure CLEAR_SPACECRAFT_STATUS started +21-236-13:14:14.137 00 SPR-I:STS Procedure CLEAR_SPACECRAFT_STATUS completed +21-236-13:14:14.157 00 SPR-I:STTE Wait mode - waiting 60 seconds ... +21-236-13:15:14.222 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:15:20.183 00 CMH-I:STS Connected to FEDS:FEDS for commanding (internal ID 0). +21-236-13:15:24.232 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:15:24.235 00 CMH-I:CMD SFDU is /DDIR DATA="open udp_read C%03X 1235 packet_only" ;;; ( ) +21-236-13:15:24.250 00 CMH-I:CMD SFDU is /DDIR DATA="open udp_write CPKT cpu3 1234 ascii_pkt" ;;; ( ) +21-236-13:15:24.301 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/send_that_to_command.i +21-236-13:15:24.302 00 SPR-I:STS Procedure SEND_THAT_TO_COMMAND started +21-236-13:15:24.303 00 SPR-I:OPRO Sending: /SCX_CPU1_TO_OUTPUT_ENA gs582cfslab4 +21-236-13:15:24.303 00 CMH-I:CMD Command is /SCX_CPU1_TO_OUTPUT_ENA GS582CFSLAB4 ;;; (SCX CPU1 Enables TO output) +21-236-13:15:24.304 00 CMH-I:CMD Command SFDU received:<1880C0000011069A3139322E3136382E312E313031000000> from gs582cfslab4:SPR +21-236-13:15:24.354 00 SPR-I:STS Procedure SEND_THAT_TO_COMMAND completed +21-236-13:15:24.354 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:15:25.293 00 TLMH-I:STS 58-012-14:03:48.950 INFO CPU=CPU1 APPNAME=TO_LAB_APP EVENT ID=3 TO telemetry output enabled for IP 192.168.1.101 +21-236-13:15:28.358 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:15:28.359 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/fill_in_spacecraft_status.i +21-236-13:15:28.361 00 SPR-I:STS Procedure FILL_IN_SPACECRAFT_STATUS started +21-236-13:15:28.365 00 SPR-I:STS Procedure FILL_IN_SPACECRAFT_STATUS completed +21-236-13:15:28.365 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:15:33.370 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:15:33.370 00 SPR-I:OPRO ; Step 1.2: Upload the default DS table load images to CPU1. +21-236-13:15:33.370 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:15:33.371 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/scx_cpu1_ds_tbl3.i +21-236-13:15:33.384 00 SPR-I:STS Procedure SCX_CPU1_DS_TBL3 started +21-236-13:15:33.447 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:15:33.447 00 SPR-I:OPRO ; Step 1.0: Define DS Destination File And Packet Filter Tables. +21-236-13:15:33.447 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:15:33.451 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/create_tbl_file_from_cvt.i +21-236-13:15:33.451 00 SPR-I:STS Procedure CREATE_TBL_FILE_FROM_CVT started +21-236-13:15:33.453 00 SPR-I:OPRO ********** ds_filtfile.tbl ********** +21-236-13:15:33.453 00 SPR-I:OPRO +21-236-13:15:33.453 00 SPR-I:OPRO Content Type: cFE1 +21-236-13:15:33.453 00 SPR-I:OPRO Sub Type: 8 +21-236-13:15:33.453 00 SPR-I:OPRO Length: 12 +21-236-13:15:33.454 00 SPR-I:OPRO Spacecraft Id: SCX +21-236-13:15:33.454 00 SPR-I:OPRO Processor Id: CPU3 +21-236-13:15:33.454 00 SPR-I:OPRO Application Id: 3958 +21-236-13:15:33.454 00 SPR-I:OPRO Create Time Secs: 1629810933 +21-236-13:15:33.454 00 SPR-I:OPRO Create Time Subsecs: 0 +21-236-13:15:33.454 00 SPR-I:OPRO File Description: File Write Test File Table +21-236-13:15:33.454 00 SPR-I:OPRO +21-236-13:15:33.454 00 SPR-I:OPRO ********** DS.FILE_TBL ********** +21-236-13:15:33.454 00 SPR-I:OPRO +21-236-13:15:33.454 00 SPR-I:OPRO Start Mnemonic: SCX_CPU1_DS_DF_TBL_Description +21-236-13:15:33.454 00 SPR-I:OPRO Byte Offset: 0 +21-236-13:15:33.454 00 SPR-I:OPRO End Mnemonic: SCX_CPU1_DS_DF_TBL[7].SeqCnt +21-236-13:15:33.454 00 SPR-I:OPRO Number of Bytes: 1760 +21-236-13:15:33.454 00 SPR-I:OPRO +21-236-13:15:33.468 00 SPR-I:STS Loading file /s/opr/accounts/global/prc/partial_cvt_to_file_beta.i +21-236-13:15:33.469 00 SPR-I:STS Procedure PARTIAL_CVT_TO_FILE_BETA started +21-236-13:15:33.469 00 SPR-I:OPRO The unix command is cd /s/opr/accounts/cfs_test/image;cvt2file -s 116 -e 1875 P0F76 ds.file_tbl +21-236-13:15:33.473 00 SPR-I:STS Procedure PARTIAL_CVT_TO_FILE_BETA completed +21-236-13:15:33.473 00 SPR-I:OPRO cd /s/opr/accounts/cfs_test/image;cat ds_filtfile.tbl.tmp ds.file_tbl > ds_filtfile.tbl +21-236-13:15:33.477 00 SPR-I:OPRO cd /s/opr/accounts/cfs_test/image;rm ds.file_tbl ds_filtfile.tbl.tmp +21-236-13:15:33.481 00 SPR-I:STS Procedure CREATE_TBL_FILE_FROM_CVT completed +21-236-13:15:33.955 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/create_tbl_file_from_cvt.i +21-236-13:15:33.955 00 SPR-I:STS Procedure CREATE_TBL_FILE_FROM_CVT started +21-236-13:15:33.957 00 SPR-I:OPRO ********** ds_filtfilter.tbl ********** +21-236-13:15:33.957 00 SPR-I:OPRO +21-236-13:15:33.957 00 SPR-I:OPRO Content Type: cFE1 +21-236-13:15:33.957 00 SPR-I:OPRO Sub Type: 8 +21-236-13:15:33.957 00 SPR-I:OPRO Length: 12 +21-236-13:15:33.957 00 SPR-I:OPRO Spacecraft Id: SCX +21-236-13:15:33.957 00 SPR-I:OPRO Processor Id: CPU3 +21-236-13:15:33.957 00 SPR-I:OPRO Application Id: 3959 +21-236-13:15:33.957 00 SPR-I:OPRO Create Time Secs: 1629810933 +21-236-13:15:33.957 00 SPR-I:OPRO Create Time Subsecs: 0 +21-236-13:15:33.958 00 SPR-I:OPRO File Description: Filter Test Filter Table +21-236-13:15:33.958 00 SPR-I:OPRO +21-236-13:15:33.958 00 SPR-I:OPRO ********** DS.FILTER_TBL ********** +21-236-13:15:33.958 00 SPR-I:OPRO +21-236-13:15:33.958 00 SPR-I:OPRO Start Mnemonic: SCX_CPU1_DS_PF_TBL_Description +21-236-13:15:33.958 00 SPR-I:OPRO Byte Offset: 0 +21-236-13:15:33.958 00 SPR-I:OPRO End Mnemonic: SCX_CPU1_DS_PF_TBL[255].FilterParams[3].O_Value +21-236-13:15:33.958 00 SPR-I:OPRO Number of Bytes: 9248 +21-236-13:15:33.958 00 SPR-I:OPRO +21-236-13:15:33.963 00 SPR-I:STS Loading file /s/opr/accounts/global/prc/partial_cvt_to_file_beta.i +21-236-13:15:33.963 00 SPR-I:STS Procedure PARTIAL_CVT_TO_FILE_BETA started +21-236-13:15:33.964 00 SPR-I:OPRO The unix command is cd /s/opr/accounts/cfs_test/image;cvt2file -s 116 -e 9363 P0F77 ds.filter_tbl +21-236-13:15:33.968 00 SPR-I:STS Procedure PARTIAL_CVT_TO_FILE_BETA completed +21-236-13:15:33.968 00 SPR-I:OPRO cd /s/opr/accounts/cfs_test/image;cat ds_filtfilter.tbl.tmp ds.filter_tbl > ds_filtfilter.tbl +21-236-13:15:33.972 00 SPR-I:OPRO cd /s/opr/accounts/cfs_test/image;rm ds.filter_tbl ds_filtfilter.tbl.tmp +21-236-13:15:33.976 00 SPR-I:STS Procedure CREATE_TBL_FILE_FROM_CVT completed +21-236-13:15:33.976 00 SPR-I:OPRO ;********************************************************************* +21-236-13:15:33.976 00 SPR-I:OPRO ; End procedure SCX_CPU1_ds_tbl3 +21-236-13:15:33.977 00 SPR-I:OPRO ;********************************************************************* +21-236-13:15:33.977 00 SPR-I:STS Procedure SCX_CPU1_DS_TBL3 completed +21-236-13:15:33.981 00 SPR-I:OPRO ==> Default Destination File Table filename = 'ds_file_tbl.tbl' +21-236-13:15:33.982 00 SPR-I:OPRO ==> Default Filter Table filename = 'ds_filter_tbl.tbl' +21-236-13:15:33.982 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/ftp_file.i +21-236-13:15:33.982 00 SPR-I:STS Procedure FTP_FILE started +21-236-13:15:34.296 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-13:15:34.296 00 SPR-I:STS Procedure FTP_FILE completed +21-236-13:15:34.298 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/ftp_file.i +21-236-13:15:34.298 00 SPR-I:STS Procedure FTP_FILE started +21-236-13:15:34.796 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-13:15:34.796 00 SPR-I:STS Procedure FTP_FILE completed +21-236-13:15:34.797 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:15:39.802 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:15:39.802 00 SPR-I:OPRO ; Step 1.3: Display the Housekeeping pages +21-236-13:15:39.803 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:15:39.901 00 DPD-I:STS Page SCX_CPU1_DS_HK added (cid:1). +21-236-13:15:39.964 00 DPD-I:STS Page SCX_CPU1_TST_DS_HK added (cid:1). +21-236-13:15:39.967 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:15:39.967 00 SPR-I:OPRO ; Step 1.4: Start the Data Storage (DS) and Test Applications. +21-236-13:15:39.968 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:15:39.971 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:15:44.977 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:15:44.979 00 SPR-I:OPRO <*> Passed (8000) - Housekeeping packet is being generated. +21-236-13:15:44.983 00 SPR-I:OPRO <*> Passed (9000) - Housekeeping telemetry initialized properly. +21-236-13:15:44.984 00 SPR-I:OPRO <*> Passed (9008) - DS Application State is enabled as expected. +21-236-13:15:44.985 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:15:49.989 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:15:49.989 00 SPR-I:OPRO ; Step 1.5: Enable DEBUG Event Messages +21-236-13:15:49.990 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:15:49.991 00 CMH-I:CMD Command is /SCX_CPU1_EVS_ENAAPPEVTTYPE APPLICATION="DS" DEBUG ;;; (SCX CPU1 EVS Enable Event Type for the App) +21-236-13:15:49.991 00 CMH-I:CMD Or Command is /SCX_CPU1_EVS_ENAAPPEVTTYPEMASK APPLICATION="DS" BITMASK= 1 (x1) ;;; (SCX CPU1 EVS Enable Event Type for the App (mask)) +21-236-13:15:49.991 00 CMH-I:CMD Command SFDU received:<1801C0000017052244530000000000000000000000000000000000000100> from gs582cfslab4:SPR +21-236-13:15:50.007 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:15:53.011 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:15:53.012 00 SPR-I:OPRO <*> Passed - Enable Debug events command sent properly. +21-236-13:15:53.013 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:15:58.018 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:15:58.018 00 SPR-I:OPRO ; Step 2.0: State Enable Tests. +21-236-13:15:58.018 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:15:58.018 00 SPR-I:OPRO ; Step 2.1: Change the DS application state to the opposite state. +21-236-13:15:58.018 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:15:58.021 00 CMH-I:CMD Command is /SCX_CPU1_DS_DISABLE ;;; (SCX CPU1 DS Disable Application State command) +21-236-13:15:58.021 00 CMH-I:CMD Command SFDU received:<18BBC0000005029B00000000> from gs582cfslab4:SPR +21-236-13:15:58.039 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:15:58.791 00 TLMH-I:STS 58-012-14:04:22.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=35 APP STATE command: state = 0 +21-236-13:16:01.042 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:16:01.044 00 SPR-I:OPRO <*> Passed - DS Application State command sent properly. +21-236-13:16:01.044 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:16:06.049 00 SPR-I:OPRO ;********************************************************************* +21-236-13:16:06.049 00 SPR-I:OPRO ; Step 2.2: Perform a Processor Reset. +21-236-13:16:06.049 00 SPR-I:OPRO ;********************************************************************* +21-236-13:16:06.051 00 CMH-I:CMD Command is /SCX_CPU1_ES_PROCESSORRESET ;;; (SCX CPU1 ES Processor Reset command code) +21-236-13:16:06.051 00 CMH-I:CMD Command SFDU received:<1806C000000302210001> from gs582cfslab4:SPR +21-236-13:16:06.065 00 SPR-I:STTE Wait mode - waiting 10 seconds ... +21-236-13:16:16.075 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/clear_spacecraft_status.i +21-236-13:16:16.077 00 SPR-I:STS Procedure CLEAR_SPACECRAFT_STATUS started +21-236-13:16:16.084 00 SPR-I:STS Procedure CLEAR_SPACECRAFT_STATUS completed +21-236-13:16:16.121 00 SPR-I:STTE Wait mode - waiting 60 seconds ... +21-236-13:17:16.177 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:17:22.144 00 CMH-I:STS Connected to FEDS:FEDS for commanding (internal ID 0). +21-236-13:17:26.188 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:17:26.191 00 CMH-I:CMD SFDU is /DDIR DATA="open udp_read C%03X 1235 packet_only" ;;; ( ) +21-236-13:17:26.205 00 CMH-I:CMD SFDU is /DDIR DATA="open udp_write CPKT cpu3 1234 ascii_pkt" ;;; ( ) +21-236-13:17:26.245 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/send_that_to_command.i +21-236-13:17:26.245 00 SPR-I:STS Procedure SEND_THAT_TO_COMMAND started +21-236-13:17:26.246 00 SPR-I:OPRO Sending: /SCX_CPU1_TO_OUTPUT_ENA gs582cfslab4 +21-236-13:17:26.247 00 CMH-I:CMD Command is /SCX_CPU1_TO_OUTPUT_ENA GS582CFSLAB4 ;;; (SCX CPU1 Enables TO output) +21-236-13:17:26.247 00 CMH-I:CMD Command SFDU received:<1880C0000011069A3139322E3136382E312E313031000000> from gs582cfslab4:SPR +21-236-13:17:26.298 00 SPR-I:STS Procedure SEND_THAT_TO_COMMAND completed +21-236-13:17:26.298 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:17:26.876 00 TLMH-I:STS 58-012-14:04:57.033 INFO CPU=CPU1 APPNAME=TO_LAB_APP EVENT ID=3 TO telemetry output enabled for IP 192.168.1.101 +21-236-13:17:30.302 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:17:30.303 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/fill_in_spacecraft_status.i +21-236-13:17:30.305 00 SPR-I:STS Procedure FILL_IN_SPACECRAFT_STATUS started +21-236-13:17:30.310 00 SPR-I:STS Procedure FILL_IN_SPACECRAFT_STATUS completed +21-236-13:17:30.310 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:17:35.315 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:17:35.315 00 SPR-I:OPRO ; Step 2.3: Start the Data Storage (DS) and Test Applications. +21-236-13:17:35.315 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:17:35.316 00 SPR-I:OPRO <*> Passed (9004) - DS Application State is set as expected. +21-236-13:17:35.320 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:17:40.325 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:17:40.325 00 SPR-I:OPRO ; Step 2.4: Enable DEBUG Event Messages +21-236-13:17:40.325 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:17:40.328 00 CMH-I:CMD Command is /SCX_CPU1_EVS_ENAAPPEVTTYPE APPLICATION="DS" DEBUG ;;; (SCX CPU1 EVS Enable Event Type for the App) +21-236-13:17:40.328 00 CMH-I:CMD Or Command is /SCX_CPU1_EVS_ENAAPPEVTTYPEMASK APPLICATION="DS" BITMASK= 1 (x1) ;;; (SCX CPU1 EVS Enable Event Type for the App (mask)) +21-236-13:17:40.328 00 CMH-I:CMD Command SFDU received:<1801C0000017052244530000000000000000000000000000000000000100> from gs582cfslab4:SPR +21-236-13:17:40.344 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:17:42.346 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:17:42.348 00 SPR-I:OPRO <*> Passed - Enable Debug events command sent properly. +21-236-13:17:42.348 00 SPR-I:OPRO ;********************************************************************* +21-236-13:17:42.348 00 SPR-I:OPRO ; Step 2.5: Restart the DS and TST_DS Applications. +21-236-13:17:42.348 00 SPR-I:OPRO ;********************************************************************* +21-236-13:17:42.349 00 SPR-I:OPRO ; Step 2.5.1: Stop the DS and TST_DS Applications. +21-236-13:17:42.349 00 SPR-I:OPRO ;********************************************************************* +21-236-13:17:42.351 00 CMH-I:CMD Command is /SCX_CPU1_ES_RESTARTAPP APPLICATION="TST_DS" ;;; (SCX CPU1 ES Restart Application command code) +21-236-13:17:42.351 00 CMH-I:CMD Command SFDU received:<1806C000001506295453545F44530000000000000000000000000000> from gs582cfslab4:SPR +21-236-13:17:42.353 00 SPR-I:STTE Wait mode - waiting 4 seconds ... +21-236-13:17:43.380 00 TLMH-I:STS 58-012-14:05:14.001 ERROR CPU=CPU1 APPNAME=TST_DS EVENT ID=41 TST_DS_AppMain terminating!, Error = 0x0 +21-236-13:17:46.358 00 CMH-I:CMD Command is /SCX_CPU1_ES_RESTARTAPP APPLICATION="DS" ;;; (SCX CPU1 ES Restart Application command code) +21-236-13:17:46.358 00 CMH-I:CMD Command SFDU received:<1806C000001506254453000000000000000000000000000000000000> from gs582cfslab4:SPR +21-236-13:17:46.371 00 SPR-I:STTE Wait mode - waiting 4 seconds ... +21-236-13:17:48.381 00 TLMH-I:STS 58-012-14:05:19.000 ERROR CPU=CPU1 APPNAME=CFE_SB EVENT ID=17 Msg Limit Err,MsgId 0x1811,pipe TstDSCmdPipe,sender CFE_TIME.TIME_1HZ_TASK +21-236-13:17:49.382 00 TLMH-I:STS 58-012-14:05:19.821 INFO CPU=CPU1 APPNAME=CFE_ES EVENT ID=10 Restart Application TST_DS Completed, AppID=1114124 +21-236-13:17:49.383 00 TLMH-I:STS 58-012-14:05:19.883 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=1 TST_DS Initialized. Version 2.5.1.0 +21-236-13:17:50.387 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:17:50.389 00 SPR-I:OPRO <*> Passed - DS and TST_DS stop app commands sent properly. +21-236-13:17:50.389 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:17:52.376 00 TLMH-I:STS 58-012-14:05:22.863 INFO CPU=CPU1 APPNAME=CFE_ES EVENT ID=10 Restart Application DS Completed, AppID=1114125 +21-236-13:17:52.377 00 TLMH-I:STS 58-012-14:05:22.939 INFO CPU=CPU1 APPNAME=DS EVENT ID=10 Destination file table verify results: desc text = OK, good entries = 8, bad = 0, unused = 8 +21-236-13:17:52.378 00 TLMH-I:STS 58-012-14:05:22.964 INFO CPU=CPU1 APPNAME=DS EVENT ID=12 Filter table verify results: desc text = OK, good entries = 6, bad = 0, unused = 250 +21-236-13:17:52.379 00 TLMH-I:STS 58-012-14:05:22.966 INFO CPU=CPU1 APPNAME=DS EVENT ID=1 Application initialized, version 2.6.0.0, data at 0xa85e50 +21-236-13:17:52.380 00 TLMH-I:STS 58-012-14:05:23.001 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=20 Request Housekeeping command +21-236-13:17:55.394 00 SPR-I:OPRO ;********************************************************************* +21-236-13:17:55.394 00 SPR-I:OPRO ; Step 2.5.2: Start the DS and TST_DS Applications. +21-236-13:17:55.394 00 SPR-I:OPRO ;********************************************************************* +21-236-13:17:55.395 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:17:55.395 00 SPR-I:OPRO ; Step 2.6: Enable DEBUG Event Messages +21-236-13:17:55.395 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:17:55.398 00 CMH-I:CMD Command is /SCX_CPU1_EVS_ENAAPPEVTTYPE APPLICATION="DS" DEBUG ;;; (SCX CPU1 EVS Enable Event Type for the App) +21-236-13:17:55.398 00 CMH-I:CMD Or Command is /SCX_CPU1_EVS_ENAAPPEVTTYPEMASK APPLICATION="DS" BITMASK= 1 (x1) ;;; (SCX CPU1 EVS Enable Event Type for the App (mask)) +21-236-13:17:55.398 00 CMH-I:CMD Command SFDU received:<1801C0000017052244530000000000000000000000000000000000000100> from gs582cfslab4:SPR +21-236-13:17:55.411 00 SPR-I:STTE Wait mode - waiting 2 seconds ... +21-236-13:17:56.379 00 TLMH-I:STS 58-012-14:05:27.001 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=20 Request Housekeeping command +21-236-13:17:57.414 00 CMH-I:CMD Command is /SCX_CPU1_EVS_ENAAPPEVTTYPE APPLICATION="CFE_TBL" DEBUG ;;; (SCX CPU1 EVS Enable Event Type for the App) +21-236-13:17:57.414 00 CMH-I:CMD Or Command is /SCX_CPU1_EVS_ENAAPPEVTTYPEMASK APPLICATION="CFE_TBL" BITMASK= 1 (x1) ;;; (SCX CPU1 EVS Enable Event Type for the App (mask)) +21-236-13:17:57.415 00 CMH-I:CMD Command SFDU received:<1801C000001705704346455F54424C000000000000000000000000000100> from gs582cfslab4:SPR +21-236-13:17:57.442 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:18:01.446 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:18:01.448 00 SPR-I:OPRO <*> Passed - Enable Debug events command sent properly. +21-236-13:18:01.448 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:18:06.452 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:18:06.452 00 SPR-I:OPRO ; Step 2.7: Check the Enable State after reset +21-236-13:18:06.452 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:18:06.452 00 SPR-I:OPRO <*> Passed (9004) - DS Application State is set as expected. +21-236-13:18:06.453 00 SPR-I:OPRO ;********************************************************************* +21-236-13:18:06.454 00 SPR-I:OPRO ; Step 6.0: Clean-up - Send the Reset command. +21-236-13:18:06.454 00 SPR-I:OPRO ;********************************************************************* +21-236-13:18:06.454 00 CMH-I:CMD Command is /SCX_CPU1_ES_POWERONRESET ;;; (SCX CPU1 ES Power-On Reset command code) +21-236-13:18:06.454 00 CMH-I:CMD Command SFDU received:<1806C000000302220002> from gs582cfslab4:SPR +21-236-13:18:06.465 00 SPR-I:STTE Wait mode - waiting 10 seconds ... +21-236-13:18:16.475 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/clear_spacecraft_status.i +21-236-13:18:16.476 00 SPR-I:STS Procedure CLEAR_SPACECRAFT_STATUS started +21-236-13:18:16.491 00 SPR-I:STS Procedure CLEAR_SPACECRAFT_STATUS completed +21-236-13:18:16.554 00 SPR-I:STTE Wait mode - waiting 60 seconds ... +21-236-13:19:16.615 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:19:22.581 00 CMH-I:STS Connected to FEDS:FEDS for commanding (internal ID 0). +21-236-13:19:26.626 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:19:26.628 00 CMH-I:CMD SFDU is /DDIR DATA="open udp_read C%03X 1235 packet_only" ;;; ( ) +21-236-13:19:26.644 00 CMH-I:CMD SFDU is /DDIR DATA="open udp_write CPKT cpu3 1234 ascii_pkt" ;;; ( ) +21-236-13:19:26.696 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/send_that_to_command.i +21-236-13:19:26.697 00 SPR-I:STS Procedure SEND_THAT_TO_COMMAND started +21-236-13:19:26.698 00 SPR-I:OPRO Sending: /SCX_CPU1_TO_OUTPUT_ENA gs582cfslab4 +21-236-13:19:26.699 00 CMH-I:CMD Command is /SCX_CPU1_TO_OUTPUT_ENA GS582CFSLAB4 ;;; (SCX CPU1 Enables TO output) +21-236-13:19:26.699 00 CMH-I:CMD Command SFDU received:<1880C0000011069A3139322E3136382E312E313031000000> from gs582cfslab4:SPR +21-236-13:19:26.750 00 SPR-I:STS Procedure SEND_THAT_TO_COMMAND completed +21-236-13:19:26.750 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:19:27.954 00 TLMH-I:STS 58-012-14:03:48.950 INFO CPU=CPU1 APPNAME=TO_LAB_APP EVENT ID=3 TO telemetry output enabled for IP 192.168.1.101 +21-236-13:19:31.756 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:19:31.756 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/fill_in_spacecraft_status.i +21-236-13:19:31.758 00 SPR-I:STS Procedure FILL_IN_SPACECRAFT_STATUS started +21-236-13:19:31.769 00 SPR-I:STS Procedure FILL_IN_SPACECRAFT_STATUS completed +21-236-13:19:31.771 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:19:36.774 00 SPR-I:OPRO **** Requirements Status Reporting +21-236-13:19:36.775 00 SPR-I:OPRO -------------------------- +21-236-13:19:36.775 00 SPR-I:OPRO Requirement(s) Report +21-236-13:19:36.775 00 SPR-I:OPRO -------------------------- +21-236-13:19:36.776 00 SPR-I:OPRO FSW Requirement: DS_8000 P/F: P +21-236-13:19:36.779 00 SPR-I:OPRO FSW Requirement: DS_9000 P/F: P +21-236-13:19:36.781 00 SPR-I:OPRO FSW Requirement: DS_9003 P/F: U +21-236-13:19:36.783 00 SPR-I:OPRO FSW Requirement: DS_9004 P/F: P +21-236-13:19:36.785 00 SPR-I:OPRO FSW Requirement: DS_9008 P/F: P +21-236-13:19:36.801 00 SPR-I:STS Variable "UT_REQUIREMENT" deleted +21-236-13:19:36.802 00 SPR-I:STS Variable "UT_REQ_ARRAY_SIZE" deleted +21-236-13:19:36.802 00 SPR-I:OPRO ;********************************************************************* +21-236-13:19:36.802 00 SPR-I:OPRO ; End procedure SCX_CPU1_ds_resetnocds +21-236-13:19:36.803 00 SPR-I:OPRO ;********************************************************************* +21-236-13:19:36.803 00 SPR-I:STS Procedure SCX_CPU1_DS_ENABLESTATE completed +21-236-13:19:36.806 00 SPR-I:OPRO *** Telemetry Info *** +21-236-13:19:36.807 00 SPR-I:OPRO +21-236-13:19:36.807 00 SPR-I:OPRO Pkt Loss Count: N/A +21-236-13:19:36.807 00 SPR-I:OPRO +21-236-13:19:36.807 00 SPR-I:OPRO ****************** +21-236-13:19:36.807 00 SPR-I:OPRO +21-236-13:19:36.808 00 SPR-I:OPRO Elapsed time: 332.893 seconds +21-236-13:19:36.808 00 SPR-I:OPRO Elapsed time: 5.54822 minutes +21-236-13:19:36.811 00 SPR-I:STTE Wait mode - waiting 10 seconds ... +21-236-13:19:46.821 00 SPR-I:OPRO Creating filtered log at /s/opr/accounts/cfs_test/test_logs/DS2.6.0/scx_cpu1_ds_enablestate-2021-236-13h14m03s.logf +21-236-13:19:46.822 00 SPR-I:OPRO Creating filtered output log at /s/opr/accounts/cfs_test/test_logs/DS2.6.0/scx_cpu1_ds_enablestate-2021-236-13h14m03s.logp +21-236-13:19:46.822 00 SPR-I:OPRO Creating filtered output log (without SFDUs) at /s/opr/accounts/cfs_test/test_logs/DS2.6.0/scx_cpu1_ds_enablestate-2021-236-13h14m03s.logs +21-236-13:19:46.823 00 SPR-I:OPRO Creating filtered event log at /s/opr/accounts/cfs_test/test_logs/DS2.6.0/scx_cpu1_ds_enablestate-2021-236-13h14m03s.loge +21-236-13:19:46.823 00 SPR-I:OPRO Creating filtered requirements log at /s/opr/accounts/cfs_test/test_logs/DS2.6.0/scx_cpu1_ds_enablestate-2021-236-13h14m03s.logr +21-236-13:19:46.963 00 SPR-I:OPRI --> newlog scx_cpu1_ds_enablestate-2021-236-13h14m03s.log diff --git a/test_and_ground/results/Caelum/scx_cpu1_ds_enablestate-2021-236-13h14m03s.logr b/test_and_ground/results/Caelum/scx_cpu1_ds_enablestate-2021-236-13h14m03s.logr new file mode 100644 index 0000000..b28220a --- /dev/null +++ b/test_and_ground/results/Caelum/scx_cpu1_ds_enablestate-2021-236-13h14m03s.logr @@ -0,0 +1,5 @@ +21-236-13:19:36.776 00 SPR-I:OPRO FSW Requirement: DS_8000 P/F: P +21-236-13:19:36.779 00 SPR-I:OPRO FSW Requirement: DS_9000 P/F: P +21-236-13:19:36.781 00 SPR-I:OPRO FSW Requirement: DS_9003 P/F: U +21-236-13:19:36.783 00 SPR-I:OPRO FSW Requirement: DS_9004 P/F: P +21-236-13:19:36.785 00 SPR-I:OPRO FSW Requirement: DS_9008 P/F: P diff --git a/test_and_ground/results/Caelum/scx_cpu1_ds_enablestate-2021-236-13h14m03s.logs b/test_and_ground/results/Caelum/scx_cpu1_ds_enablestate-2021-236-13h14m03s.logs new file mode 100644 index 0000000..9244358 --- /dev/null +++ b/test_and_ground/results/Caelum/scx_cpu1_ds_enablestate-2021-236-13h14m03s.logs @@ -0,0 +1,299 @@ +21-236-13:14:03.910 00 SPR-I:OPRO ****************** FSW Configuration ****************** +21-236-13:14:03.910 00 SPR-I:OPRO Checksum: 29237 +21-236-13:14:03.911 00 SPR-I:OPRO cFE Version: 6.7.99.0 +21-236-13:14:03.911 00 SPR-I:OPRO OS Version: 5.0.0.255 +21-236-13:14:03.911 00 SPR-I:OPRO +21-236-13:14:03.912 00 SPR-I:OPRO Connection Status +21-236-13:14:03.912 00 SPR-I:OPRO ----------------- +21-236-13:14:03.912 00 SPR-I:OPRO CFDP: DOWN +21-236-13:14:03.912 00 SPR-I:OPRO UDP: UP +21-236-13:14:03.912 00 SPR-I:OPRO SWTS: UNK +21-236-13:14:03.913 00 SPR-I:OPRO +21-236-13:14:03.913 00 SPR-I:OPRO CMD / TLM Path +21-236-13:14:03.913 00 SPR-I:OPRO -------------- +21-236-13:14:03.913 00 SPR-I:OPRO UDP +21-236-13:14:03.913 00 SPR-I:OPRO +21-236-13:14:03.913 00 SPR-I:OPRO +21-236-13:14:03.913 00 SPR-I:OPRO ASIST / GDS Configuration +21-236-13:14:03.914 00 SPR-I:OPRO ------------------------- +21-236-13:14:03.914 00 SPR-I:OPRO Workstation: GS582CFSLAB4 +21-236-13:14:03.914 00 SPR-I:OPRO Account: cfs_test +21-236-13:14:03.914 00 SPR-I:OPRO Version: 21.0.7 +21-236-13:14:03.914 00 SPR-I:OPRO Tlm DB: Version: 1.985 Date: 08-24-21 Time: 06:37:06 AM. +21-236-13:14:03.914 00 SPR-I:OPRO Cmd DB: Version: 1.51 Date: 08-24-21 Time: 06:47:31 AM.EDT +21-236-13:14:03.914 00 SPR-I:OPRO +21-236-13:14:03.914 00 SPR-I:OPRO Telemetry Info +21-236-13:14:03.914 00 SPR-I:OPRO -------------- +21-236-13:14:03.914 00 SPR-I:OPRO Pkt Loss Count: N/A +21-236-13:14:03.914 00 SPR-I:OPRO **************** End FSW Configuration *************** +21-236-13:14:03.914 00 SPR-I:OPRO Starting Procedure.... scx_cpu1_ds_enablestate +21-236-13:14:04.027 00 SPR-I:OPRI --> start scx_cpu1_ds_enablestate +21-236-13:14:04.027 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/scx_cpu1_ds_enablestate.i +21-236-13:14:04.031 00 SPR-I:STS Procedure SCX_CPU1_DS_ENABLESTATE started +21-236-13:14:04.108 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:14:04.108 00 SPR-I:OPRO ; Step 1.0: Data Storage Test Setup. +21-236-13:14:04.108 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:14:04.108 00 SPR-I:OPRO ; Step 1.1: Command a Power-on Reset on CPU1. +21-236-13:14:04.108 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:14:04.109 00 CMH-I:CMD Command SFDU received:<1806C000000302220002> from gs582cfslab4:SPR +21-236-13:14:04.120 00 SPR-I:STTE Wait mode - waiting 10 seconds ... +21-236-13:14:14.130 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/clear_spacecraft_status.i +21-236-13:14:14.131 00 SPR-I:STS Procedure CLEAR_SPACECRAFT_STATUS started +21-236-13:14:14.137 00 SPR-I:STS Procedure CLEAR_SPACECRAFT_STATUS completed +21-236-13:14:14.157 00 SPR-I:STTE Wait mode - waiting 60 seconds ... +21-236-13:15:14.222 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:15:20.183 00 CMH-I:STS Connected to FEDS:FEDS for commanding (internal ID 0). +21-236-13:15:24.232 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:15:24.301 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/send_that_to_command.i +21-236-13:15:24.302 00 SPR-I:STS Procedure SEND_THAT_TO_COMMAND started +21-236-13:15:24.303 00 SPR-I:OPRO Sending: /SCX_CPU1_TO_OUTPUT_ENA gs582cfslab4 +21-236-13:15:24.304 00 CMH-I:CMD Command SFDU received:<1880C0000011069A3139322E3136382E312E313031000000> from gs582cfslab4:SPR +21-236-13:15:24.354 00 SPR-I:STS Procedure SEND_THAT_TO_COMMAND completed +21-236-13:15:24.354 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:15:25.293 00 TLMH-I:STS 58-012-14:03:48.950 INFO CPU=CPU1 APPNAME=TO_LAB_APP EVENT ID=3 TO telemetry output enabled for IP 192.168.1.101 +21-236-13:15:28.358 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:15:28.359 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/fill_in_spacecraft_status.i +21-236-13:15:28.361 00 SPR-I:STS Procedure FILL_IN_SPACECRAFT_STATUS started +21-236-13:15:28.365 00 SPR-I:STS Procedure FILL_IN_SPACECRAFT_STATUS completed +21-236-13:15:28.365 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:15:33.370 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:15:33.370 00 SPR-I:OPRO ; Step 1.2: Upload the default DS table load images to CPU1. +21-236-13:15:33.370 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:15:33.371 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/scx_cpu1_ds_tbl3.i +21-236-13:15:33.384 00 SPR-I:STS Procedure SCX_CPU1_DS_TBL3 started +21-236-13:15:33.447 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:15:33.447 00 SPR-I:OPRO ; Step 1.0: Define DS Destination File And Packet Filter Tables. +21-236-13:15:33.447 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:15:33.451 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/create_tbl_file_from_cvt.i +21-236-13:15:33.451 00 SPR-I:STS Procedure CREATE_TBL_FILE_FROM_CVT started +21-236-13:15:33.453 00 SPR-I:OPRO ********** ds_filtfile.tbl ********** +21-236-13:15:33.453 00 SPR-I:OPRO +21-236-13:15:33.453 00 SPR-I:OPRO Content Type: cFE1 +21-236-13:15:33.453 00 SPR-I:OPRO Sub Type: 8 +21-236-13:15:33.453 00 SPR-I:OPRO Length: 12 +21-236-13:15:33.454 00 SPR-I:OPRO Spacecraft Id: SCX +21-236-13:15:33.454 00 SPR-I:OPRO Processor Id: CPU3 +21-236-13:15:33.454 00 SPR-I:OPRO Application Id: 3958 +21-236-13:15:33.454 00 SPR-I:OPRO Create Time Secs: 1629810933 +21-236-13:15:33.454 00 SPR-I:OPRO Create Time Subsecs: 0 +21-236-13:15:33.454 00 SPR-I:OPRO File Description: File Write Test File Table +21-236-13:15:33.454 00 SPR-I:OPRO +21-236-13:15:33.454 00 SPR-I:OPRO ********** DS.FILE_TBL ********** +21-236-13:15:33.454 00 SPR-I:OPRO +21-236-13:15:33.454 00 SPR-I:OPRO Start Mnemonic: SCX_CPU1_DS_DF_TBL_Description +21-236-13:15:33.454 00 SPR-I:OPRO Byte Offset: 0 +21-236-13:15:33.454 00 SPR-I:OPRO End Mnemonic: SCX_CPU1_DS_DF_TBL[7].SeqCnt +21-236-13:15:33.454 00 SPR-I:OPRO Number of Bytes: 1760 +21-236-13:15:33.454 00 SPR-I:OPRO +21-236-13:15:33.468 00 SPR-I:STS Loading file /s/opr/accounts/global/prc/partial_cvt_to_file_beta.i +21-236-13:15:33.469 00 SPR-I:STS Procedure PARTIAL_CVT_TO_FILE_BETA started +21-236-13:15:33.469 00 SPR-I:OPRO The unix command is cd /s/opr/accounts/cfs_test/image;cvt2file -s 116 -e 1875 P0F76 ds.file_tbl +21-236-13:15:33.473 00 SPR-I:STS Procedure PARTIAL_CVT_TO_FILE_BETA completed +21-236-13:15:33.473 00 SPR-I:OPRO cd /s/opr/accounts/cfs_test/image;cat ds_filtfile.tbl.tmp ds.file_tbl > ds_filtfile.tbl +21-236-13:15:33.477 00 SPR-I:OPRO cd /s/opr/accounts/cfs_test/image;rm ds.file_tbl ds_filtfile.tbl.tmp +21-236-13:15:33.481 00 SPR-I:STS Procedure CREATE_TBL_FILE_FROM_CVT completed +21-236-13:15:33.955 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/create_tbl_file_from_cvt.i +21-236-13:15:33.955 00 SPR-I:STS Procedure CREATE_TBL_FILE_FROM_CVT started +21-236-13:15:33.957 00 SPR-I:OPRO ********** ds_filtfilter.tbl ********** +21-236-13:15:33.957 00 SPR-I:OPRO +21-236-13:15:33.957 00 SPR-I:OPRO Content Type: cFE1 +21-236-13:15:33.957 00 SPR-I:OPRO Sub Type: 8 +21-236-13:15:33.957 00 SPR-I:OPRO Length: 12 +21-236-13:15:33.957 00 SPR-I:OPRO Spacecraft Id: SCX +21-236-13:15:33.957 00 SPR-I:OPRO Processor Id: CPU3 +21-236-13:15:33.957 00 SPR-I:OPRO Application Id: 3959 +21-236-13:15:33.957 00 SPR-I:OPRO Create Time Secs: 1629810933 +21-236-13:15:33.957 00 SPR-I:OPRO Create Time Subsecs: 0 +21-236-13:15:33.958 00 SPR-I:OPRO File Description: Filter Test Filter Table +21-236-13:15:33.958 00 SPR-I:OPRO +21-236-13:15:33.958 00 SPR-I:OPRO ********** DS.FILTER_TBL ********** +21-236-13:15:33.958 00 SPR-I:OPRO +21-236-13:15:33.958 00 SPR-I:OPRO Start Mnemonic: SCX_CPU1_DS_PF_TBL_Description +21-236-13:15:33.958 00 SPR-I:OPRO Byte Offset: 0 +21-236-13:15:33.958 00 SPR-I:OPRO End Mnemonic: SCX_CPU1_DS_PF_TBL[255].FilterParams[3].O_Value +21-236-13:15:33.958 00 SPR-I:OPRO Number of Bytes: 9248 +21-236-13:15:33.958 00 SPR-I:OPRO +21-236-13:15:33.963 00 SPR-I:STS Loading file /s/opr/accounts/global/prc/partial_cvt_to_file_beta.i +21-236-13:15:33.963 00 SPR-I:STS Procedure PARTIAL_CVT_TO_FILE_BETA started +21-236-13:15:33.964 00 SPR-I:OPRO The unix command is cd /s/opr/accounts/cfs_test/image;cvt2file -s 116 -e 9363 P0F77 ds.filter_tbl +21-236-13:15:33.968 00 SPR-I:STS Procedure PARTIAL_CVT_TO_FILE_BETA completed +21-236-13:15:33.968 00 SPR-I:OPRO cd /s/opr/accounts/cfs_test/image;cat ds_filtfilter.tbl.tmp ds.filter_tbl > ds_filtfilter.tbl +21-236-13:15:33.972 00 SPR-I:OPRO cd /s/opr/accounts/cfs_test/image;rm ds.filter_tbl ds_filtfilter.tbl.tmp +21-236-13:15:33.976 00 SPR-I:STS Procedure CREATE_TBL_FILE_FROM_CVT completed +21-236-13:15:33.976 00 SPR-I:OPRO ;********************************************************************* +21-236-13:15:33.976 00 SPR-I:OPRO ; End procedure SCX_CPU1_ds_tbl3 +21-236-13:15:33.977 00 SPR-I:OPRO ;********************************************************************* +21-236-13:15:33.977 00 SPR-I:STS Procedure SCX_CPU1_DS_TBL3 completed +21-236-13:15:33.981 00 SPR-I:OPRO ==> Default Destination File Table filename = 'ds_file_tbl.tbl' +21-236-13:15:33.982 00 SPR-I:OPRO ==> Default Filter Table filename = 'ds_filter_tbl.tbl' +21-236-13:15:33.982 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/ftp_file.i +21-236-13:15:33.982 00 SPR-I:STS Procedure FTP_FILE started +21-236-13:15:34.296 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-13:15:34.296 00 SPR-I:STS Procedure FTP_FILE completed +21-236-13:15:34.298 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/ftp_file.i +21-236-13:15:34.298 00 SPR-I:STS Procedure FTP_FILE started +21-236-13:15:34.796 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-13:15:34.796 00 SPR-I:STS Procedure FTP_FILE completed +21-236-13:15:34.797 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:15:39.802 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:15:39.802 00 SPR-I:OPRO ; Step 1.3: Display the Housekeeping pages +21-236-13:15:39.803 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:15:39.901 00 DPD-I:STS Page SCX_CPU1_DS_HK added (cid:1). +21-236-13:15:39.964 00 DPD-I:STS Page SCX_CPU1_TST_DS_HK added (cid:1). +21-236-13:15:39.967 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:15:39.967 00 SPR-I:OPRO ; Step 1.4: Start the Data Storage (DS) and Test Applications. +21-236-13:15:39.968 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:15:39.971 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:15:44.977 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:15:44.979 00 SPR-I:OPRO <*> Passed (8000) - Housekeeping packet is being generated. +21-236-13:15:44.983 00 SPR-I:OPRO <*> Passed (9000) - Housekeeping telemetry initialized properly. +21-236-13:15:44.984 00 SPR-I:OPRO <*> Passed (9008) - DS Application State is enabled as expected. +21-236-13:15:44.985 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:15:49.989 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:15:49.989 00 SPR-I:OPRO ; Step 1.5: Enable DEBUG Event Messages +21-236-13:15:49.990 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:15:49.991 00 CMH-I:CMD Command SFDU received:<1801C0000017052244530000000000000000000000000000000000000100> from gs582cfslab4:SPR +21-236-13:15:50.007 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:15:53.011 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:15:53.012 00 SPR-I:OPRO <*> Passed - Enable Debug events command sent properly. +21-236-13:15:53.013 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:15:58.018 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:15:58.018 00 SPR-I:OPRO ; Step 2.0: State Enable Tests. +21-236-13:15:58.018 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:15:58.018 00 SPR-I:OPRO ; Step 2.1: Change the DS application state to the opposite state. +21-236-13:15:58.018 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:15:58.021 00 CMH-I:CMD Command SFDU received:<18BBC0000005029B00000000> from gs582cfslab4:SPR +21-236-13:15:58.039 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:15:58.791 00 TLMH-I:STS 58-012-14:04:22.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=35 APP STATE command: state = 0 +21-236-13:16:01.042 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:16:01.044 00 SPR-I:OPRO <*> Passed - DS Application State command sent properly. +21-236-13:16:01.044 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:16:06.049 00 SPR-I:OPRO ;********************************************************************* +21-236-13:16:06.049 00 SPR-I:OPRO ; Step 2.2: Perform a Processor Reset. +21-236-13:16:06.049 00 SPR-I:OPRO ;********************************************************************* +21-236-13:16:06.051 00 CMH-I:CMD Command SFDU received:<1806C000000302210001> from gs582cfslab4:SPR +21-236-13:16:06.065 00 SPR-I:STTE Wait mode - waiting 10 seconds ... +21-236-13:16:16.075 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/clear_spacecraft_status.i +21-236-13:16:16.077 00 SPR-I:STS Procedure CLEAR_SPACECRAFT_STATUS started +21-236-13:16:16.084 00 SPR-I:STS Procedure CLEAR_SPACECRAFT_STATUS completed +21-236-13:16:16.121 00 SPR-I:STTE Wait mode - waiting 60 seconds ... +21-236-13:17:16.177 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:17:22.144 00 CMH-I:STS Connected to FEDS:FEDS for commanding (internal ID 0). +21-236-13:17:26.188 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:17:26.245 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/send_that_to_command.i +21-236-13:17:26.245 00 SPR-I:STS Procedure SEND_THAT_TO_COMMAND started +21-236-13:17:26.246 00 SPR-I:OPRO Sending: /SCX_CPU1_TO_OUTPUT_ENA gs582cfslab4 +21-236-13:17:26.247 00 CMH-I:CMD Command SFDU received:<1880C0000011069A3139322E3136382E312E313031000000> from gs582cfslab4:SPR +21-236-13:17:26.298 00 SPR-I:STS Procedure SEND_THAT_TO_COMMAND completed +21-236-13:17:26.298 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:17:26.876 00 TLMH-I:STS 58-012-14:04:57.033 INFO CPU=CPU1 APPNAME=TO_LAB_APP EVENT ID=3 TO telemetry output enabled for IP 192.168.1.101 +21-236-13:17:30.302 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:17:30.303 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/fill_in_spacecraft_status.i +21-236-13:17:30.305 00 SPR-I:STS Procedure FILL_IN_SPACECRAFT_STATUS started +21-236-13:17:30.310 00 SPR-I:STS Procedure FILL_IN_SPACECRAFT_STATUS completed +21-236-13:17:30.310 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:17:35.315 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:17:35.315 00 SPR-I:OPRO ; Step 2.3: Start the Data Storage (DS) and Test Applications. +21-236-13:17:35.315 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:17:35.316 00 SPR-I:OPRO <*> Passed (9004) - DS Application State is set as expected. +21-236-13:17:35.320 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:17:40.325 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:17:40.325 00 SPR-I:OPRO ; Step 2.4: Enable DEBUG Event Messages +21-236-13:17:40.325 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:17:40.328 00 CMH-I:CMD Command SFDU received:<1801C0000017052244530000000000000000000000000000000000000100> from gs582cfslab4:SPR +21-236-13:17:40.344 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:17:42.346 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:17:42.348 00 SPR-I:OPRO <*> Passed - Enable Debug events command sent properly. +21-236-13:17:42.348 00 SPR-I:OPRO ;********************************************************************* +21-236-13:17:42.348 00 SPR-I:OPRO ; Step 2.5: Restart the DS and TST_DS Applications. +21-236-13:17:42.348 00 SPR-I:OPRO ;********************************************************************* +21-236-13:17:42.349 00 SPR-I:OPRO ; Step 2.5.1: Stop the DS and TST_DS Applications. +21-236-13:17:42.349 00 SPR-I:OPRO ;********************************************************************* +21-236-13:17:42.351 00 CMH-I:CMD Command SFDU received:<1806C000001506295453545F44530000000000000000000000000000> from gs582cfslab4:SPR +21-236-13:17:42.353 00 SPR-I:STTE Wait mode - waiting 4 seconds ... +21-236-13:17:43.380 00 TLMH-I:STS 58-012-14:05:14.001 ERROR CPU=CPU1 APPNAME=TST_DS EVENT ID=41 TST_DS_AppMain terminating!, Error = 0x0 +21-236-13:17:46.358 00 CMH-I:CMD Command SFDU received:<1806C000001506254453000000000000000000000000000000000000> from gs582cfslab4:SPR +21-236-13:17:46.371 00 SPR-I:STTE Wait mode - waiting 4 seconds ... +21-236-13:17:48.381 00 TLMH-I:STS 58-012-14:05:19.000 ERROR CPU=CPU1 APPNAME=CFE_SB EVENT ID=17 Msg Limit Err,MsgId 0x1811,pipe TstDSCmdPipe,sender CFE_TIME.TIME_1HZ_TASK +21-236-13:17:49.382 00 TLMH-I:STS 58-012-14:05:19.821 INFO CPU=CPU1 APPNAME=CFE_ES EVENT ID=10 Restart Application TST_DS Completed, AppID=1114124 +21-236-13:17:49.383 00 TLMH-I:STS 58-012-14:05:19.883 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=1 TST_DS Initialized. Version 2.5.1.0 +21-236-13:17:50.387 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:17:50.389 00 SPR-I:OPRO <*> Passed - DS and TST_DS stop app commands sent properly. +21-236-13:17:50.389 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:17:52.376 00 TLMH-I:STS 58-012-14:05:22.863 INFO CPU=CPU1 APPNAME=CFE_ES EVENT ID=10 Restart Application DS Completed, AppID=1114125 +21-236-13:17:52.377 00 TLMH-I:STS 58-012-14:05:22.939 INFO CPU=CPU1 APPNAME=DS EVENT ID=10 Destination file table verify results: desc text = OK, good entries = 8, bad = 0, unused = 8 +21-236-13:17:52.378 00 TLMH-I:STS 58-012-14:05:22.964 INFO CPU=CPU1 APPNAME=DS EVENT ID=12 Filter table verify results: desc text = OK, good entries = 6, bad = 0, unused = 250 +21-236-13:17:52.379 00 TLMH-I:STS 58-012-14:05:22.966 INFO CPU=CPU1 APPNAME=DS EVENT ID=1 Application initialized, version 2.6.0.0, data at 0xa85e50 +21-236-13:17:52.380 00 TLMH-I:STS 58-012-14:05:23.001 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=20 Request Housekeeping command +21-236-13:17:55.394 00 SPR-I:OPRO ;********************************************************************* +21-236-13:17:55.394 00 SPR-I:OPRO ; Step 2.5.2: Start the DS and TST_DS Applications. +21-236-13:17:55.394 00 SPR-I:OPRO ;********************************************************************* +21-236-13:17:55.395 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:17:55.395 00 SPR-I:OPRO ; Step 2.6: Enable DEBUG Event Messages +21-236-13:17:55.395 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:17:55.398 00 CMH-I:CMD Command SFDU received:<1801C0000017052244530000000000000000000000000000000000000100> from gs582cfslab4:SPR +21-236-13:17:55.411 00 SPR-I:STTE Wait mode - waiting 2 seconds ... +21-236-13:17:56.379 00 TLMH-I:STS 58-012-14:05:27.001 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=20 Request Housekeeping command +21-236-13:17:57.415 00 CMH-I:CMD Command SFDU received:<1801C000001705704346455F54424C000000000000000000000000000100> from gs582cfslab4:SPR +21-236-13:17:57.442 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:18:01.446 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:18:01.448 00 SPR-I:OPRO <*> Passed - Enable Debug events command sent properly. +21-236-13:18:01.448 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:18:06.452 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:18:06.452 00 SPR-I:OPRO ; Step 2.7: Check the Enable State after reset +21-236-13:18:06.452 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:18:06.452 00 SPR-I:OPRO <*> Passed (9004) - DS Application State is set as expected. +21-236-13:18:06.453 00 SPR-I:OPRO ;********************************************************************* +21-236-13:18:06.454 00 SPR-I:OPRO ; Step 6.0: Clean-up - Send the Reset command. +21-236-13:18:06.454 00 SPR-I:OPRO ;********************************************************************* +21-236-13:18:06.454 00 CMH-I:CMD Command SFDU received:<1806C000000302220002> from gs582cfslab4:SPR +21-236-13:18:06.465 00 SPR-I:STTE Wait mode - waiting 10 seconds ... +21-236-13:18:16.475 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/clear_spacecraft_status.i +21-236-13:18:16.476 00 SPR-I:STS Procedure CLEAR_SPACECRAFT_STATUS started +21-236-13:18:16.491 00 SPR-I:STS Procedure CLEAR_SPACECRAFT_STATUS completed +21-236-13:18:16.554 00 SPR-I:STTE Wait mode - waiting 60 seconds ... +21-236-13:19:16.615 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:19:22.581 00 CMH-I:STS Connected to FEDS:FEDS for commanding (internal ID 0). +21-236-13:19:26.626 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:19:26.696 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/send_that_to_command.i +21-236-13:19:26.697 00 SPR-I:STS Procedure SEND_THAT_TO_COMMAND started +21-236-13:19:26.698 00 SPR-I:OPRO Sending: /SCX_CPU1_TO_OUTPUT_ENA gs582cfslab4 +21-236-13:19:26.699 00 CMH-I:CMD Command SFDU received:<1880C0000011069A3139322E3136382E312E313031000000> from gs582cfslab4:SPR +21-236-13:19:26.750 00 SPR-I:STS Procedure SEND_THAT_TO_COMMAND completed +21-236-13:19:26.750 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:19:27.954 00 TLMH-I:STS 58-012-14:03:48.950 INFO CPU=CPU1 APPNAME=TO_LAB_APP EVENT ID=3 TO telemetry output enabled for IP 192.168.1.101 +21-236-13:19:31.756 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:19:31.756 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/fill_in_spacecraft_status.i +21-236-13:19:31.758 00 SPR-I:STS Procedure FILL_IN_SPACECRAFT_STATUS started +21-236-13:19:31.769 00 SPR-I:STS Procedure FILL_IN_SPACECRAFT_STATUS completed +21-236-13:19:31.771 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:19:36.774 00 SPR-I:OPRO **** Requirements Status Reporting +21-236-13:19:36.775 00 SPR-I:OPRO -------------------------- +21-236-13:19:36.775 00 SPR-I:OPRO Requirement(s) Report +21-236-13:19:36.775 00 SPR-I:OPRO -------------------------- +21-236-13:19:36.776 00 SPR-I:OPRO FSW Requirement: DS_8000 P/F: P +21-236-13:19:36.779 00 SPR-I:OPRO FSW Requirement: DS_9000 P/F: P +21-236-13:19:36.781 00 SPR-I:OPRO FSW Requirement: DS_9003 P/F: U +21-236-13:19:36.783 00 SPR-I:OPRO FSW Requirement: DS_9004 P/F: P +21-236-13:19:36.785 00 SPR-I:OPRO FSW Requirement: DS_9008 P/F: P +21-236-13:19:36.801 00 SPR-I:STS Variable "UT_REQUIREMENT" deleted +21-236-13:19:36.802 00 SPR-I:STS Variable "UT_REQ_ARRAY_SIZE" deleted +21-236-13:19:36.802 00 SPR-I:OPRO ;********************************************************************* +21-236-13:19:36.802 00 SPR-I:OPRO ; End procedure SCX_CPU1_ds_resetnocds +21-236-13:19:36.803 00 SPR-I:OPRO ;********************************************************************* +21-236-13:19:36.803 00 SPR-I:STS Procedure SCX_CPU1_DS_ENABLESTATE completed +21-236-13:19:36.806 00 SPR-I:OPRO *** Telemetry Info *** +21-236-13:19:36.807 00 SPR-I:OPRO +21-236-13:19:36.807 00 SPR-I:OPRO Pkt Loss Count: N/A +21-236-13:19:36.807 00 SPR-I:OPRO +21-236-13:19:36.807 00 SPR-I:OPRO ****************** +21-236-13:19:36.807 00 SPR-I:OPRO +21-236-13:19:36.808 00 SPR-I:OPRO Elapsed time: 332.893 seconds +21-236-13:19:36.808 00 SPR-I:OPRO Elapsed time: 5.54822 minutes +21-236-13:19:36.811 00 SPR-I:STTE Wait mode - waiting 10 seconds ... +21-236-13:19:46.821 00 SPR-I:OPRO Creating filtered log at /s/opr/accounts/cfs_test/test_logs/DS2.6.0/scx_cpu1_ds_enablestate-2021-236-13h14m03s.logf +21-236-13:19:46.822 00 SPR-I:OPRO Creating filtered output log at /s/opr/accounts/cfs_test/test_logs/DS2.6.0/scx_cpu1_ds_enablestate-2021-236-13h14m03s.logp +21-236-13:19:46.822 00 SPR-I:OPRO Creating filtered output log (without SFDUs) at /s/opr/accounts/cfs_test/test_logs/DS2.6.0/scx_cpu1_ds_enablestate-2021-236-13h14m03s.logs +21-236-13:19:46.823 00 SPR-I:OPRO Creating filtered event log at /s/opr/accounts/cfs_test/test_logs/DS2.6.0/scx_cpu1_ds_enablestate-2021-236-13h14m03s.loge +21-236-13:19:46.823 00 SPR-I:OPRO Creating filtered requirements log at /s/opr/accounts/cfs_test/test_logs/DS2.6.0/scx_cpu1_ds_enablestate-2021-236-13h14m03s.logr +21-236-13:19:46.963 00 SPR-I:OPRI --> newlog scx_cpu1_ds_enablestate-2021-236-13h14m03s.log diff --git a/test_and_ground/results/Caelum/scx_cpu1_ds_filewrite-2021-236-13h20m24s.loge b/test_and_ground/results/Caelum/scx_cpu1_ds_filewrite-2021-236-13h20m24s.loge new file mode 100644 index 0000000..d04c52f --- /dev/null +++ b/test_and_ground/results/Caelum/scx_cpu1_ds_filewrite-2021-236-13h20m24s.loge @@ -0,0 +1,194 @@ +21-236-13:21:46.592 00 TLMH-I:STS 58-012-14:03:48.950 INFO CPU=CPU1 APPNAME=TO_LAB_APP EVENT ID=3 TO telemetry output enabled for IP 192.168.1.101 +21-236-13:22:01.591 00 TLMH-I:STS 58-012-14:04:04.001 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=12 Successful load of '/ram/ds_fwfile.tbl' into 'DS.FILE_TBL' working buffer +21-236-13:22:09.589 00 TLMH-I:STS 58-012-14:04:12.004 INFO CPU=CPU1 APPNAME=DS EVENT ID=10 Destination file table verify results: desc text = OK, good entries = 8, bad = 0, unused = 8 +21-236-13:22:09.590 00 TLMH-I:STS 58-012-14:04:12.004 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=36 DS validation successful for Inactive 'DS.FILE_TBL' +21-236-13:22:13.590 00 TLMH-I:STS 58-012-14:04:16.003 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=37 DS Successfully Updated 'DS.FILE_TBL' +21-236-13:22:23.093 00 TLMH-I:STS 58-012-14:04:25.501 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=12 Successful load of '/ram/ds_fwfilter.tbl' into 'DS.FILTER_TBL' working buffer +21-236-13:22:33.595 00 TLMH-I:STS 58-012-14:04:36.004 INFO CPU=CPU1 APPNAME=DS EVENT ID=12 Filter table verify results: desc text = OK, good entries = 2, bad = 0, unused = 254 +21-236-13:22:33.596 00 TLMH-I:STS 58-012-14:04:36.004 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=36 DS validation successful for Inactive 'DS.FILTER_TBL' +21-236-13:22:37.590 00 TLMH-I:STS 58-012-14:04:40.004 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=37 DS Successfully Updated 'DS.FILTER_TBL' +21-236-13:22:58.588 00 TLMH-I:STS 58-012-14:05:01.002 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=14 Successfully dumped Table 'DS.FILTER_TBL' to '/ram/cpu1_filtertbl211' +21-236-13:23:33.590 00 TLMH-I:STS 58-012-14:05:36.002 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=14 Successfully dumped Table 'DS.FILE_TBL' to '/ram/cpu1_filetbl211' +21-236-13:24:09.585 00 TLMH-I:STS 58-012-14:06:12.005 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Message Size 116 to MID 0x00001000 +21-236-13:24:10.587 00 TLMH-I:STS 58-012-14:06:13.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:24:19.588 00 TLMH-I:STS 58-012-14:06:22.003 ERROR CPU=CPU1 APPNAME=DS EVENT ID=61 FILE MOVE error: src = '/ram/seq00000100.dat', tgt = '/ram/movedir/seq00000100.dat', result = -1 +21-236-13:24:19.589 00 TLMH-I:STS 58-012-14:06:22.004 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=7 Sent Message Size 1016 to MID 0x00001000 +21-236-13:24:20.590 00 TLMH-I:STS 58-012-14:06:23.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:24:27.583 00 TLMH-I:STS 58-012-14:06:30.003 ERROR CPU=CPU1 APPNAME=DS EVENT ID=61 FILE MOVE error: src = '/ram/seq00000101.dat', tgt = '/ram/movedir/seq00000101.dat', result = -1 +21-236-13:24:27.585 00 TLMH-I:STS 58-012-14:06:30.003 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=59 DEST CLOSE command: file table index = 0 +21-236-13:24:36.085 00 TLMH-I:STS 58-012-14:06:38.501 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=9 Sent Message Size 1516 to MID 0x00001000 +21-236-13:24:37.087 00 TLMH-I:STS 58-012-14:06:39.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:24:39.587 00 TLMH-I:STS 58-012-14:06:42.002 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Message Size 116 to MID 0x00001001 +21-236-13:24:40.589 00 TLMH-I:STS 58-012-14:06:43.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:24:47.588 00 TLMH-I:STS 58-012-14:06:50.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:24:52.588 00 TLMH-I:STS 58-012-14:06:55.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:24:57.589 00 TLMH-I:STS 58-012-14:07:00.003 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:25:02.587 00 TLMH-I:STS 58-012-14:07:05.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:25:07.590 00 TLMH-I:STS 58-012-14:07:10.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:25:12.588 00 TLMH-I:STS 58-012-14:07:15.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:25:17.589 00 TLMH-I:STS 58-012-14:07:20.003 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:25:22.583 00 TLMH-I:STS 58-012-14:07:25.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:25:27.591 00 TLMH-I:STS 58-012-14:07:30.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:25:32.590 00 TLMH-I:STS 58-012-14:07:35.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:25:37.592 00 TLMH-I:STS 58-012-14:07:40.003 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:25:37.593 00 TLMH-I:STS 58-012-14:07:40.006 ERROR CPU=CPU1 APPNAME=DS EVENT ID=61 FILE MOVE error: src = '/ram/ti1980012140642.txt', tgt = '/ram/movedir/ti1980012140642.txt', result = -1 +21-236-13:25:42.582 00 TLMH-I:STS 58-012-14:07:45.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:25:53.084 00 TLMH-I:STS 58-012-14:07:55.502 ERROR CPU=CPU1 APPNAME=DS EVENT ID=61 FILE MOVE error: src = '/ram/seq00000102.dat', tgt = '/ram/movedir/seq00000102.dat', result = -1 +21-236-13:25:53.084 00 TLMH-I:STS 58-012-14:07:55.503 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=8 Sent Message Size 1040 to MID 0x00001000 +21-236-13:25:54.090 00 TLMH-I:STS 58-012-14:07:56.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:25:59.089 00 TLMH-I:STS 58-012-14:08:01.502 ERROR CPU=CPU1 APPNAME=DS EVENT ID=61 FILE MOVE error: src = '/ram/seq00000103.dat', tgt = '/ram/movedir/seq00000103.dat', result = -1 +21-236-13:25:59.089 00 TLMH-I:STS 58-012-14:08:01.503 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=7 Sent Message Size 1016 to MID 0x00001000 +21-236-13:26:00.090 00 TLMH-I:STS 58-012-14:08:02.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:26:08.588 00 TLMH-I:STS 58-012-14:08:11.002 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=6 Sent Message Size 516 to MID 0x00001001 +21-236-13:26:18.588 00 TLMH-I:STS 58-012-14:08:21.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:26:27.591 00 TLMH-I:STS 58-012-14:08:30.002 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=49 DEST BASE command: file table index = 0, base filename = 'sequenceFile' +21-236-13:26:32.588 00 TLMH-I:STS 58-012-14:08:35.002 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=49 DEST BASE command: file table index = 1, base filename = 'timeFile' +21-236-13:26:37.588 00 TLMH-I:STS 58-012-14:08:40.006 ERROR CPU=CPU1 APPNAME=DS EVENT ID=61 FILE MOVE error: src = '/ram/seq00000104.dat', tgt = '/ram/movedir/seq00000104.dat', result = -1 +21-236-13:26:37.589 00 TLMH-I:STS 58-012-14:08:40.006 ERROR CPU=CPU1 APPNAME=DS EVENT ID=15 FILE CREATE error: result = -104, dest = 0, name = '/ram/sequenceFile00000105.dat' +21-236-13:26:37.590 00 TLMH-I:STS 58-012-14:08:40.006 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Message Size 116 to MID 0x00001000 +21-236-13:26:42.585 00 TLMH-I:STS 58-012-14:08:45.003 ERROR CPU=CPU1 APPNAME=DS EVENT ID=61 FILE MOVE error: src = '/ram/ti1980012140811.txt', tgt = '/ram/movedir/ti1980012140811.txt', result = -1 +21-236-13:26:42.587 00 TLMH-I:STS 58-012-14:08:45.003 ERROR CPU=CPU1 APPNAME=DS EVENT ID=15 FILE CREATE error: result = -104, dest = 1, name = '/ram/timeFile1980012140845.txt' +21-236-13:26:42.588 00 TLMH-I:STS 58-012-14:08:45.004 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=7 Sent Message Size 1016 to MID 0x00001001 +21-236-13:26:47.587 00 TLMH-I:STS 58-012-14:08:50.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:27:06.084 00 TLMH-I:STS 58-012-14:09:08.501 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=12 Successful load of '/ram/ds_fwfile.tbl' into 'DS.FILE_TBL' working buffer +21-236-13:27:16.083 00 TLMH-I:STS 58-012-14:09:18.501 DEBUG CPU=CPU1 APPNAME=CFE_TBL EVENT ID=16 Tbl Services issued validation request for 'DS.FILE_TBL' +21-236-13:27:17.585 00 TLMH-I:STS 58-012-14:09:20.004 INFO CPU=CPU1 APPNAME=DS EVENT ID=10 Destination file table verify results: desc text = OK, good entries = 8, bad = 0, unused = 8 +21-236-13:27:17.586 00 TLMH-I:STS 58-012-14:09:20.004 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=36 DS validation successful for Inactive 'DS.FILE_TBL' +21-236-13:27:38.091 00 TLMH-I:STS 58-012-14:09:40.500 DEBUG CPU=CPU1 APPNAME=CFE_TBL EVENT ID=17 Tbl Services notifying App that 'DS.FILE_TBL' has a load pending +21-236-13:27:41.590 00 TLMH-I:STS 58-012-14:09:44.003 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=37 DS Successfully Updated 'DS.FILE_TBL' +21-236-13:27:57.586 00 TLMH-I:STS 58-012-14:10:00.005 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Message Size 116 to MID 0x00001000 +21-236-13:27:58.587 00 TLMH-I:STS 58-012-14:10:01.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:28:07.589 00 TLMH-I:STS 58-012-14:10:10.003 ERROR CPU=CPU1 APPNAME=DS EVENT ID=61 FILE MOVE error: src = '/ram/seq00000100.dat', tgt = '/ram/movedir/seq00000100.dat', result = -1 +21-236-13:28:07.590 00 TLMH-I:STS 58-012-14:10:10.003 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=59 DEST CLOSE command: file table index = 0 +21-236-13:28:15.587 00 TLMH-I:STS 58-012-14:10:17.983 ERROR CPU=CPU1 APPNAME=DS EVENT ID=60 Invalid DEST CLOSE command length: expected = 12, actual = 13 +21-236-13:28:23.585 00 TLMH-I:STS 58-012-14:10:26.001 ERROR CPU=CPU1 APPNAME=DS EVENT ID=60 Invalid DEST CLOSE command arg: file table index = 16 +21-236-13:28:31.583 00 TLMH-I:STS 58-012-14:10:34.002 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=49 DEST BASE command: file table index = 0, base filename = 'newSeq' +21-236-13:28:41.581 00 TLMH-I:STS 58-012-14:10:44.002 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=14 Successfully dumped Table 'DS.FILE_TBL' to '/ram/cpu1_filetbl35' +21-236-13:29:17.082 00 TLMH-I:STS 58-012-14:11:19.501 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Message Size 116 to MID 0x00001000 +21-236-13:29:18.082 00 TLMH-I:STS 58-012-14:11:20.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:29:28.083 00 TLMH-I:STS 58-012-14:11:30.501 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=49 DEST BASE command: file table index = 0, base filename = '' +21-236-13:29:38.584 00 TLMH-I:STS 58-012-14:11:41.002 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=14 Successfully dumped Table 'DS.FILE_TBL' to '/ram/cpu1_filetbl38' +21-236-13:30:13.584 00 TLMH-I:STS 58-012-14:12:16.006 ERROR CPU=CPU1 APPNAME=DS EVENT ID=61 FILE MOVE error: src = '/ram/newSeq00000101.dat', tgt = '/ram/movedir/newSeq00000101.dat', result = -1 +21-236-13:30:13.585 00 TLMH-I:STS 58-012-14:12:16.007 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=7 Sent Message Size 1016 to MID 0x00001000 +21-236-13:30:14.588 00 TLMH-I:STS 58-012-14:12:17.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:30:24.088 00 TLMH-I:STS 58-012-14:12:26.500 ERROR CPU=CPU1 APPNAME=DS EVENT ID=50 Invalid DEST BASE command length: expected = 76, actual = 77 +21-236-13:30:32.087 00 TLMH-I:STS 58-012-14:12:34.500 ERROR CPU=CPU1 APPNAME=DS EVENT ID=50 Invalid DEST BASE command arg: file table index = 16 +21-236-13:30:42.080 00 TLMH-I:STS 58-012-14:12:44.501 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=57 DEST COUNT command: file table index = 0, sequence count = 99 +21-236-13:30:52.087 00 TLMH-I:STS 58-012-14:12:54.502 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=14 Successfully dumped Table 'DS.FILE_TBL' to '/ram/cpu1_filetbl313' +21-236-13:31:27.580 00 TLMH-I:STS 58-012-14:13:30.003 ERROR CPU=CPU1 APPNAME=DS EVENT ID=61 FILE MOVE error: src = '/ram/00000102.dat', tgt = '/ram/movedir/00000102.dat', result = -1 +21-236-13:31:27.581 00 TLMH-I:STS 58-012-14:13:30.005 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Message Size 116 to MID 0x00001000 +21-236-13:31:28.582 00 TLMH-I:STS 58-012-14:13:31.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:31:35.588 00 TLMH-I:STS 58-012-14:13:38.001 ERROR CPU=CPU1 APPNAME=DS EVENT ID=58 Invalid DEST COUNT command length: expected = 16, actual = 17 +21-236-13:31:43.583 00 TLMH-I:STS 58-012-14:13:46.001 ERROR CPU=CPU1 APPNAME=DS EVENT ID=58 Invalid DEST COUNT command arg: file table index = 16 +21-236-13:31:53.581 00 TLMH-I:STS 58-012-14:13:56.004 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=45 DEST STATE command: file table index = 0, file state = 0 +21-236-13:31:58.579 00 TLMH-I:STS 58-012-14:14:01.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:32:08.080 00 TLMH-I:STS 58-012-14:14:10.502 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=14 Successfully dumped Table 'DS.FILE_TBL' to '/ram/cpu1_filetbl318' +21-236-13:32:43.086 00 TLMH-I:STS 58-012-14:14:45.500 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Message Size 116 to MID 0x00001000 +21-236-13:32:44.088 00 TLMH-I:STS 58-012-14:14:46.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:32:52.082 00 TLMH-I:STS 58-012-14:14:54.500 ERROR CPU=CPU1 APPNAME=DS EVENT ID=46 Invalid DEST STATE command length: expected = 12, actual = 13 +21-236-13:33:00.081 00 TLMH-I:STS 58-012-14:15:02.500 ERROR CPU=CPU1 APPNAME=DS EVENT ID=46 Invalid DEST STATE command arg: file table index = 16 +21-236-13:33:10.579 00 TLMH-I:STS 58-012-14:15:13.001 ERROR CPU=CPU1 APPNAME=DS EVENT ID=46 Invalid DEST STATE command arg: file state = 3 +21-236-13:33:19.577 00 TLMH-I:STS 58-012-14:15:22.002 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=45 DEST STATE command: file table index = 0, file state = 0 +21-236-13:33:29.586 00 TLMH-I:STS 58-012-14:15:32.004 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=45 DEST STATE command: file table index = 0, file state = 1 +21-236-13:33:34.586 00 TLMH-I:STS 58-012-14:15:37.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:33:43.581 00 TLMH-I:STS 58-012-14:15:46.002 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=14 Successfully dumped Table 'DS.FILE_TBL' to '/ram/cpu1_filetbl323' +21-236-13:34:19.083 00 TLMH-I:STS 58-012-14:16:21.500 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Message Size 116 to MID 0x00001000 +21-236-13:34:20.077 00 TLMH-I:STS 58-012-14:16:22.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:34:28.079 00 TLMH-I:STS 58-012-14:16:30.500 ERROR CPU=CPU1 APPNAME=DS EVENT ID=46 Invalid DEST STATE command length: expected = 12, actual = 13 +21-236-13:34:36.083 00 TLMH-I:STS 58-012-14:16:38.500 ERROR CPU=CPU1 APPNAME=DS EVENT ID=46 Invalid DEST STATE command arg: file table index = 16 +21-236-13:34:46.083 00 TLMH-I:STS 58-012-14:16:48.500 ERROR CPU=CPU1 APPNAME=DS EVENT ID=46 Invalid DEST STATE command arg: file state = 3 +21-236-13:34:56.086 00 TLMH-I:STS 58-012-14:16:58.501 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=45 DEST STATE command: file table index = 0, file state = 1 +21-236-13:35:06.086 00 TLMH-I:STS 58-012-14:17:08.501 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=43 DEST TYPE command: file table index = 0, filename type = 2 +21-236-13:35:16.581 00 TLMH-I:STS 58-012-14:17:19.002 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=14 Successfully dumped Table 'DS.FILE_TBL' to '/ram/cpu1_filetbl328' +21-236-13:35:51.576 00 TLMH-I:STS 58-012-14:17:54.004 ERROR CPU=CPU1 APPNAME=DS EVENT ID=61 FILE MOVE error: src = '/ram/00000099.dat', tgt = '/ram/movedir/00000099.dat', result = -1 +21-236-13:35:51.578 00 TLMH-I:STS 58-012-14:17:54.005 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=7 Sent Message Size 1016 to MID 0x00001000 +21-236-13:35:52.577 00 TLMH-I:STS 58-012-14:17:55.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:36:00.076 00 TLMH-I:STS 58-012-14:18:02.500 ERROR CPU=CPU1 APPNAME=DS EVENT ID=44 Invalid DEST TYPE command length: expected = 12, actual = 13 +21-236-13:36:08.076 00 TLMH-I:STS 58-012-14:18:10.500 ERROR CPU=CPU1 APPNAME=DS EVENT ID=44 Invalid DEST TYPE command arg: file table index = 16 +21-236-13:36:18.084 00 TLMH-I:STS 58-012-14:18:20.500 ERROR CPU=CPU1 APPNAME=DS EVENT ID=44 Invalid DEST TYPE command arg: filename type = 3 +21-236-13:36:28.080 00 TLMH-I:STS 58-012-14:18:30.501 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=47 DEST PATH command: file table index = 0, pathname = '/cf/' +21-236-13:36:38.084 00 TLMH-I:STS 58-012-14:18:40.502 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=14 Successfully dumped Table 'DS.FILE_TBL' to '/ram/cpu1_filetbl333' +21-236-13:37:13.582 00 TLMH-I:STS 58-012-14:19:16.006 ERROR CPU=CPU1 APPNAME=DS EVENT ID=61 FILE MOVE error: src = '/ram/1980012141754.dat', tgt = '/ram/movedir/1980012141754.dat', result = -1 +21-236-13:37:13.583 00 TLMH-I:STS 58-012-14:19:16.008 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=7 Sent Message Size 1016 to MID 0x00001000 +21-236-13:37:14.579 00 TLMH-I:STS 58-012-14:19:17.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:37:23.585 00 TLMH-I:STS 58-012-14:19:26.001 ERROR CPU=CPU1 APPNAME=DS EVENT ID=48 Invalid DEST PATH command length: expected = 76, actual = 77 +21-236-13:37:32.077 00 TLMH-I:STS 58-012-14:19:34.500 ERROR CPU=CPU1 APPNAME=DS EVENT ID=48 Invalid DEST PATH command arg: file table index = 16 +21-236-13:37:42.078 00 TLMH-I:STS 58-012-14:19:44.500 ERROR CPU=CPU1 APPNAME=DS EVENT ID=48 Invalid DEST PATH command arg: pathname +21-236-13:37:52.079 00 TLMH-I:STS 58-012-14:19:54.501 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=47 DEST PATH command: file table index = 0, pathname = '/ram/waltsDir' +21-236-13:38:02.080 00 TLMH-I:STS 58-012-14:20:04.501 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Message Size 116 to MID 0x00001000 +21-236-13:38:02.081 00 TLMH-I:STS 58-012-14:20:04.553 ERROR CPU=CPU1 APPNAME=DS EVENT ID=61 FILE MOVE error: src = '/cf/1980012141916.dat', tgt = '/ram/movedir/1980012141916.dat', result = -1 +21-236-13:38:02.083 00 TLMH-I:STS 58-012-14:20:04.554 ERROR CPU=CPU1 APPNAME=DS EVENT ID=15 FILE CREATE error: result = -1, dest = 0, name = '/ram/waltsDir/1980012142004.dat' +21-236-13:38:03.080 00 TLMH-I:STS 58-012-14:20:05.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:38:12.077 00 TLMH-I:STS 58-012-14:20:14.501 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=51 DEST EXT command: file table index = 1, extension = '.dat' +21-236-13:38:22.579 00 TLMH-I:STS 58-012-14:20:25.002 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=14 Successfully dumped Table 'DS.FILE_TBL' to '/ram/cpu1_filetbl338' +21-236-13:38:57.581 00 TLMH-I:STS 58-012-14:21:00.005 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=7 Sent Message Size 1016 to MID 0x00001001 +21-236-13:38:58.582 00 TLMH-I:STS 58-012-14:21:01.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:39:07.580 00 TLMH-I:STS 58-012-14:21:10.001 ERROR CPU=CPU1 APPNAME=DS EVENT ID=52 Invalid DEST EXT command length: expected = 20, actual = 21 +21-236-13:39:15.580 00 TLMH-I:STS 58-012-14:21:18.001 ERROR CPU=CPU1 APPNAME=DS EVENT ID=52 Invalid DEST EXT command arg: file table index = 16 +21-236-13:39:26.074 00 TLMH-I:STS 58-012-14:21:28.501 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=51 DEST EXT command: file table index = 1, extension = '' +21-236-13:39:36.076 00 TLMH-I:STS 58-012-14:21:38.501 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=47 DEST PATH command: file table index = 0, pathname = '/ram/' +21-236-13:39:41.080 00 TLMH-I:STS 58-012-14:21:43.501 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=43 DEST TYPE command: file table index = 0, filename type = 1 +21-236-13:39:46.073 00 TLMH-I:STS 58-012-14:21:48.501 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=45 DEST STATE command: file table index = 0, file state = 1 +21-236-13:39:51.081 00 TLMH-I:STS 58-012-14:21:53.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=59 DEST CLOSE command: file table index = 0 +21-236-13:39:56.078 00 TLMH-I:STS 58-012-14:21:58.501 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=53 DEST SIZE command: file table index = 0, size limit = 5500 +21-236-13:39:57.578 00 TLMH-I:STS 58-012-14:22:00.006 ERROR CPU=CPU1 APPNAME=DS EVENT ID=61 FILE MOVE error: src = '/ram/ti1980012142100.dat', tgt = '/ram/movedir/ti1980012142100.dat', result = -1 +21-236-13:40:06.076 00 TLMH-I:STS 58-012-14:22:08.502 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=14 Successfully dumped Table 'DS.FILE_TBL' to '/ram/cpu1_filetbl343' +21-236-13:40:41.582 00 TLMH-I:STS 58-012-14:22:44.005 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=7 Sent Message Size 1016 to MID 0x00001000 +21-236-13:40:46.576 00 TLMH-I:STS 58-012-14:22:49.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:40:50.577 00 TLMH-I:STS 58-012-14:22:53.002 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=7 Sent Message Size 1016 to MID 0x00001000 +21-236-13:40:55.580 00 TLMH-I:STS 58-012-14:22:58.001 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=7 Sent Message Size 1016 to MID 0x00001000 +21-236-13:41:00.578 00 TLMH-I:STS 58-012-14:23:03.001 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=7 Sent Message Size 1016 to MID 0x00001000 +21-236-13:41:05.580 00 TLMH-I:STS 58-012-14:23:08.004 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=7 Sent Message Size 1016 to MID 0x00001000 +21-236-13:41:10.573 00 TLMH-I:STS 58-012-14:23:13.004 ERROR CPU=CPU1 APPNAME=DS EVENT ID=61 FILE MOVE error: src = '/ram/00000100.dat', tgt = '/ram/movedir/00000100.dat', result = -1 +21-236-13:41:10.574 00 TLMH-I:STS 58-012-14:23:13.006 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=7 Sent Message Size 1016 to MID 0x00001000 +21-236-13:41:15.579 00 TLMH-I:STS 58-012-14:23:18.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:41:23.581 00 TLMH-I:STS 58-012-14:23:26.001 ERROR CPU=CPU1 APPNAME=DS EVENT ID=54 Invalid DEST SIZE command length: expected = 16, actual = 17 +21-236-13:41:32.073 00 TLMH-I:STS 58-012-14:23:34.501 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=55 DEST AGE command: file table index = 1, age limit = 90 +21-236-13:41:42.077 00 TLMH-I:STS 58-012-14:23:44.502 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=14 Successfully dumped Table 'DS.FILE_TBL' to '/ram/cpu1_filetbl347' +21-236-13:42:17.075 00 TLMH-I:STS 58-012-14:24:19.502 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=7 Sent Message Size 1016 to MID 0x00001001 +21-236-13:42:22.076 00 TLMH-I:STS 58-012-14:24:24.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:42:32.574 00 TLMH-I:STS 58-012-14:24:35.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:42:34.571 00 TLMH-I:STS 58-012-14:24:37.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:42:38.572 00 TLMH-I:STS 58-012-14:24:41.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:42:42.578 00 TLMH-I:STS 58-012-14:24:45.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:42:46.573 00 TLMH-I:STS 58-012-14:24:49.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:42:50.571 00 TLMH-I:STS 58-012-14:24:53.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:42:55.078 00 TLMH-I:STS 58-012-14:24:57.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:42:59.080 00 TLMH-I:STS 58-012-14:25:01.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:43:03.073 00 TLMH-I:STS 58-012-14:25:05.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:43:07.076 00 TLMH-I:STS 58-012-14:25:09.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:43:11.081 00 TLMH-I:STS 58-012-14:25:13.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:43:15.073 00 TLMH-I:STS 58-012-14:25:17.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:43:19.076 00 TLMH-I:STS 58-012-14:25:21.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:43:23.078 00 TLMH-I:STS 58-012-14:25:25.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:43:26.576 00 TLMH-I:STS 58-012-14:25:29.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:43:30.576 00 TLMH-I:STS 58-012-14:25:33.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:43:34.579 00 TLMH-I:STS 58-012-14:25:37.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:43:38.583 00 TLMH-I:STS 58-012-14:25:41.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:43:42.586 00 TLMH-I:STS 58-012-14:25:45.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:43:45.577 00 TLMH-I:STS 58-012-14:25:48.006 ERROR CPU=CPU1 APPNAME=DS EVENT ID=61 FILE MOVE error: src = '/ram/ti1980012142419', tgt = '/ram/movedir/ti1980012142419', result = -1 +21-236-13:43:46.572 00 TLMH-I:STS 58-012-14:25:49.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:43:56.075 00 TLMH-I:STS 58-012-14:25:58.500 ERROR CPU=CPU1 APPNAME=DS EVENT ID=56 Invalid DEST AGE command length: expected = 16, actual = 17 +21-236-13:44:04.075 00 TLMH-I:STS 58-012-14:26:06.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=35 APP STATE command: state = 0 +21-236-13:44:14.072 00 TLMH-I:STS 58-012-14:26:16.500 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=7 Sent Message Size 1016 to MID 0x00001000 +21-236-13:44:19.077 00 TLMH-I:STS 58-012-14:26:21.500 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Message Size 116 to MID 0x00001000 +21-236-13:44:24.073 00 TLMH-I:STS 58-012-14:26:26.500 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=6 Sent Message Size 516 to MID 0x00001000 +21-236-13:44:29.079 00 TLMH-I:STS 58-012-14:26:31.500 ERROR CPU=CPU1 APPNAME=DS EVENT ID=36 Invalid APP STATE command length: expected = 12, actual = 11 +21-236-13:44:36.074 00 TLMH-I:STS 58-012-14:26:38.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=35 APP STATE command: state = 1 +21-236-13:44:46.078 00 TLMH-I:STS 58-012-14:26:48.501 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=7 Sent Message Size 1016 to MID 0x00001000 +21-236-13:44:51.077 00 TLMH-I:STS 58-012-14:26:53.500 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Message Size 116 to MID 0x00001000 +21-236-13:44:56.575 00 TLMH-I:STS 58-012-14:26:59.001 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=6 Sent Message Size 516 to MID 0x00001000 +21-236-13:45:01.577 00 TLMH-I:STS 58-012-14:27:04.003 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:45:07.574 00 TLMH-I:STS 58-012-14:27:10.001 ERROR CPU=CPU1 APPNAME=DS EVENT ID=36 Invalid APP STATE command length: expected = 12, actual = 9 +21-236-13:45:15.579 00 TLMH-I:STS 58-012-14:27:18.001 ERROR CPU=CPU1 APPNAME=DS EVENT ID=36 Invalid APP STATE command length: expected = 12, actual = 10 +21-236-13:45:23.571 00 TLMH-I:STS 58-012-14:27:26.004 ERROR CPU=CPU1 APPNAME=DS EVENT ID=61 FILE MOVE error: src = '/ram/00000101.dat', tgt = '/ram/movedir/00000101.dat', result = -1 +21-236-13:45:23.571 00 TLMH-I:STS 58-012-14:27:26.004 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=59 DEST CLOSE command: file table index = 0 +21-236-13:45:33.577 00 TLMH-I:STS 58-012-14:27:36.005 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=7 Sent Message Size 1016 to MID 0x00001000 +21-236-13:45:38.572 00 TLMH-I:STS 58-012-14:27:41.003 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=7 Sent Message Size 1016 to MID 0x00001001 +21-236-13:45:43.577 00 TLMH-I:STS 58-012-14:27:46.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:45:51.571 00 TLMH-I:STS 58-012-14:27:54.004 ERROR CPU=CPU1 APPNAME=DS EVENT ID=61 FILE MOVE error: src = '/ram/00000102.dat', tgt = '/ram/movedir/00000102.dat', result = -1 +21-236-13:45:51.572 00 TLMH-I:STS 58-012-14:27:54.007 ERROR CPU=CPU1 APPNAME=DS EVENT ID=61 FILE MOVE error: src = '/ram/ti1980012142741', tgt = '/ram/movedir/ti1980012142741', result = -1 +21-236-13:45:51.572 00 TLMH-I:STS 58-012-14:27:54.007 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=66 DEST CLOSE ALL command +21-236-13:45:54.569 00 TLMH-I:STS 58-012-14:27:57.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:46:03.576 00 TLMH-I:STS 58-012-14:28:06.001 ERROR CPU=CPU1 APPNAME=DS EVENT ID=67 Invalid DEST CLOSE ALL command length: expected = 8, actual = 9 +21-236-13:47:32.340 00 TLMH-I:STS 58-012-14:28:41.100 INFO CPU=CPU1 APPNAME=TO_LAB_APP EVENT ID=3 TO telemetry output enabled for IP 192.168.1.101 diff --git a/test_and_ground/results/Caelum/scx_cpu1_ds_filewrite-2021-236-13h20m24s.logf b/test_and_ground/results/Caelum/scx_cpu1_ds_filewrite-2021-236-13h20m24s.logf new file mode 100644 index 0000000..7f5f09e --- /dev/null +++ b/test_and_ground/results/Caelum/scx_cpu1_ds_filewrite-2021-236-13h20m24s.logf @@ -0,0 +1,6155 @@ +21-236-13:20:24.512 00 UT_RUNPROC/99 +21-236-13:20:24.512 00 UT_RUNPROC/100 ; Build the database prefix using SC and CPU definitions from cfe_utils.h +21-236-13:20:24.512 00 UT_RUNPROC/101 local db_prefix, cpu_prefix +21-236-13:20:24.512 00 UT_RUNPROC/102 +21-236-13:20:24.512 00 UT_RUNPROC/103 ; If SC is set, use it +21-236-13:20:24.512 00 UT_RUNPROC/104 if (SC <> "") then +21-236-13:20:24.512 00 UT_RUNPROC/105 db_prefix = SC +21-236-13:20:24.512 00 UT_RUNPROC/106 endif +21-236-13:20:24.512 00 UT_RUNPROC/107 +21-236-13:20:24.512 00 UT_RUNPROC/109 db_prefix = db_prefix & CPU_CFG +21-236-13:20:24.512 00 UT_RUNPROC/110 +21-236-13:20:24.512 00 UT_RUNPROC/111 cpu_prefix = db_prefix +21-236-13:20:24.512 00 UT_RUNPROC/112 +21-236-13:20:24.512 00 UT_RUNPROC/113 ; Set the database prefix for CPU1 +21-236-13:20:24.512 00 UT_RUNPROC/114 if (numCPUs > 1) then +21-236-13:20:24.512 00 UT_RUNPROC/116 endif +21-236-13:20:24.512 00 UT_RUNPROC/117 +21-236-13:20:24.512 00 UT_RUNPROC/118 ; setup the database mnemonics for CPU1 +21-236-13:20:24.524 00 UT_RUNPROC/119 local cksumItem = cpu_prefix & "_ES_CKSUM" +21-236-13:20:24.524 00 UT_RUNPROC/120 local cfeMajorVerItem = cpu_prefix & "_ES_CFEMAJORVER" +21-236-13:20:24.524 00 UT_RUNPROC/121 local cfeMinorVerItem = cpu_prefix & "_ES_CFEMINORVER" +21-236-13:20:24.524 00 UT_RUNPROC/122 local cfeRevisionItem = cpu_prefix & "_ES_CFEREVISION" +21-236-13:20:24.524 00 UT_RUNPROC/123 local cfeMissionRevItem = cpu_prefix & "_ES_CFEMSNREV" +21-236-13:20:24.525 00 UT_RUNPROC/124 local osMajorVerItem = cpu_prefix & "_ES_OSMAJORVER" +21-236-13:20:24.525 00 UT_RUNPROC/125 local osMinorVerItem = cpu_prefix & "_ES_OSMINORVER" +21-236-13:20:24.525 00 UT_RUNPROC/126 local osRevisionItem = cpu_prefix & "_ES_OSREVISION" +21-236-13:20:24.525 00 UT_RUNPROC/127 local osMissionRevItem = cpu_prefix & "_ES_OSMISSIONREV" +21-236-13:20:24.525 00 UT_RUNPROC/128 +21-236-13:20:24.525 00 UT_RUNPROC/129 ; +21-236-13:20:24.525 00 UT_RUNPROC/130 ; Output FSW configuration information +21-236-13:20:24.525 00 UT_RUNPROC/131 ; +21-236-13:20:24.525 00 UT_RUNPROC/132 write "****************** FSW Configuration ******************" +21-236-13:20:24.525 00 SPR-I:OPRO ****************** FSW Configuration ****************** +21-236-13:20:24.525 00 UT_RUNPROC/134 if (numCPUs = 1) then +21-236-13:20:24.525 00 UT_RUNPROC/135 write " Checksum: ", {cksumItem} +21-236-13:20:24.525 00 SPR-I:OPRO Checksum: 29237 +21-236-13:20:24.525 00 UT_RUNPROC/136 write " cFE Version: ", {cfeMajorVerItem} & "." & {cfeMinorVerItem} & "." & {cfeRevisionItem} & "." & {cfeMissionRevItem} +21-236-13:20:24.525 00 SPR-I:OPRO cFE Version: 6.7.99.0 +21-236-13:20:24.525 00 UT_RUNPROC/137 write " OS Version: ", {osMajorVerItem} & "." & {osMinorVerItem} & "." & {osRevisionItem} & "." & {osMissionRevItem} +21-236-13:20:24.526 00 SPR-I:OPRO OS Version: 5.0.0.255 +21-236-13:20:24.531 00 UT_RUNPROC/138 write " " +21-236-13:20:24.532 00 SPR-I:OPRO +21-236-13:20:24.532 00 UT_RUNPROC/139 endif +21-236-13:20:24.532 00 UT_RUNPROC/140 +21-236-13:20:24.532 00 UT_RUNPROC/141 if (numCPUs >= 2) then +21-236-13:20:24.532 00 UT_RUNPROC/166 endif +21-236-13:20:24.532 00 UT_RUNPROC/167 +21-236-13:20:24.532 00 UT_RUNPROC/168 ; This proc only supports up to 3 CPUs. +21-236-13:20:24.532 00 UT_RUNPROC/169 ; If there are more than 3, the additional CPUs must be added below +21-236-13:20:24.532 00 UT_RUNPROC/170 if (numCPUs = 3) then +21-236-13:20:24.532 00 UT_RUNPROC/189 endif +21-236-13:20:24.532 00 UT_RUNPROC/190 +21-236-13:20:24.532 00 UT_RUNPROC/191 write " Connection Status" +21-236-13:20:24.532 00 SPR-I:OPRO Connection Status +21-236-13:20:24.532 00 UT_RUNPROC/192 write " -----------------" +21-236-13:20:24.532 00 SPR-I:OPRO ----------------- +21-236-13:20:24.532 00 UT_RUNPROC/193 write " CFDP: ", %select(packet_valid("my_entity_id"),"UP","DOWN") +21-236-13:20:24.533 00 SPR-I:OPRO CFDP: DOWN +21-236-13:20:24.533 00 UT_RUNPROC/194 write " UDP: ", p@GSE_ICHAN +21-236-13:20:24.533 00 SPR-I:OPRO UDP: UP +21-236-13:20:24.533 00 UT_RUNPROC/195 write " SWTS: ", p@GSE_SCHAN +21-236-13:20:24.533 00 SPR-I:OPRO SWTS: UNK +21-236-13:20:24.533 00 UT_RUNPROC/196 ; write " ITOS: ", p@GSE_ZCHAN +21-236-13:20:24.533 00 UT_RUNPROC/197 +21-236-13:20:24.533 00 UT_RUNPROC/199 gds_label = "" +21-236-13:20:24.533 00 UT_RUNPROC/200 gds_version = "N/A" +21-236-13:20:24.533 00 UT_RUNPROC/201 +21-236-13:20:24.533 00 UT_RUNPROC/202 #ifdef GDS_EXISTS +21-236-13:20:24.533 00 UT_RUNPROC/203 write " GDS: ", %select(packet_valid("GDS_EXECUTOR_SIMULATION_TIME"),"UP", "DOWN") +21-236-13:20:24.533 00 UT_RUNPROC/204 if (GSE_HCHAN = 1) then +21-236-13:20:24.533 00 UT_RUNPROC/205 gds_label = "GDS" +21-236-13:20:24.533 00 UT_RUNPROC/206 gds_version = GDS_EXECUTOR_GDS_VERSION_VALUE +21-236-13:20:24.533 00 UT_RUNPROC/207 endif +21-236-13:20:24.533 00 UT_RUNPROC/208 #endif +21-236-13:20:24.533 00 UT_RUNPROC/209 +21-236-13:20:24.534 00 UT_RUNPROC/211 write " CMD / TLM Path" +21-236-13:20:24.534 00 SPR-I:OPRO +21-236-13:20:24.534 00 UT_RUNPROC/211 write " CMD / TLM Path" +21-236-13:20:24.534 00 SPR-I:OPRO CMD / TLM Path +21-236-13:20:24.534 00 UT_RUNPROC/212 write " --------------" +21-236-13:20:24.534 00 SPR-I:OPRO -------------- +21-236-13:20:24.534 00 UT_RUNPROC/213 if (GSE_ICHAN = 1) then +21-236-13:20:24.534 00 UT_RUNPROC/214 cmd_tlm_path = "UDP" +21-236-13:20:24.534 00 UT_RUNPROC/219 endif +21-236-13:20:24.534 00 UT_RUNPROC/220 +21-236-13:20:24.534 00 UT_RUNPROC/221 write " ", cmd_tlm_path +21-236-13:20:24.534 00 SPR-I:OPRO UDP +21-236-13:20:24.534 00 UT_RUNPROC/222 write " ", gds_label +21-236-13:20:24.534 00 SPR-I:OPRO +21-236-13:20:24.534 00 UT_RUNPROC/224 write " ASIST / GDS Configuration" +21-236-13:20:24.534 00 SPR-I:OPRO +21-236-13:20:24.534 00 UT_RUNPROC/224 write " ASIST / GDS Configuration" +21-236-13:20:24.534 00 SPR-I:OPRO ASIST / GDS Configuration +21-236-13:20:24.534 00 UT_RUNPROC/225 write " -------------------------" +21-236-13:20:24.534 00 SPR-I:OPRO ------------------------- +21-236-13:20:24.534 00 UT_RUNPROC/226 write " Workstation: ", %upper(%liv(LOCALHOST)) +21-236-13:20:24.534 00 SPR-I:OPRO Workstation: GS582CFSLAB4 +21-236-13:20:24.534 00 UT_RUNPROC/227 write " Account: ", %env("ACCOUNT") +21-236-13:20:24.534 00 SPR-I:OPRO Account: cfs_test +21-236-13:20:24.534 00 UT_RUNPROC/228 write " Version: ", ASIST_VERSION +21-236-13:20:24.534 00 SPR-I:OPRO Version: 21.0.7 +21-236-13:20:24.536 00 UT_RUNPROC/229 write " Tlm DB: Version: ",vidtlm.version, " Date: ", tlmdbdate, " Time: ", vidtlm.timeof +21-236-13:20:24.536 00 SPR-I:OPRO Tlm DB: Version: 1.985 Date: 08-24-21 Time: 06:37:06 AM. +21-236-13:20:24.536 00 UT_RUNPROC/230 write " Cmd DB: Version: ",%rpad(command_parm_attr("verid_cmd", "version", "description"),4," ")," Date: ",cmddbdate," Time: ",command_parm_attr("verid_cmd", "timeof", "description") +21-236-13:20:24.536 00 SPR-I:OPRO Cmd DB: Version: 1.51 Date: 08-24-21 Time: 06:47:31 AM.EDT +21-236-13:20:24.536 00 UT_RUNPROC/231 +21-236-13:20:24.536 00 UT_RUNPROC/232 #ifdef GDS_EXISTS +21-236-13:20:24.536 00 UT_RUNPROC/233 write " GDS: ", gds_version +21-236-13:20:24.536 00 UT_RUNPROC/234 #endif +21-236-13:20:24.536 00 UT_RUNPROC/235 +21-236-13:20:24.536 00 UT_RUNPROC/237 write " Telemetry Info" +21-236-13:20:24.536 00 SPR-I:OPRO +21-236-13:20:24.536 00 UT_RUNPROC/237 write " Telemetry Info" +21-236-13:20:24.536 00 SPR-I:OPRO Telemetry Info +21-236-13:20:24.536 00 UT_RUNPROC/238 write " --------------" +21-236-13:20:24.536 00 SPR-I:OPRO -------------- +21-236-13:20:24.536 00 UT_RUNPROC/240 write " Pkt Loss Count: N/A" +21-236-13:20:24.536 00 SPR-I:OPRO Pkt Loss Count: N/A +21-236-13:20:24.536 00 UT_RUNPROC/241 write "**************** End FSW Configuration ***************" +21-236-13:20:24.536 00 SPR-I:OPRO **************** End FSW Configuration *************** +21-236-13:20:24.536 00 UT_RUNPROC/242 ; +21-236-13:20:24.536 00 UT_RUNPROC/243 ; Start the procedure +21-236-13:20:24.537 00 UT_RUNPROC/244 ; +21-236-13:20:24.537 00 UT_RUNPROC/245 write "Starting Procedure.... ", proc_to_run +21-236-13:20:24.537 00 SPR-I:OPRO Starting Procedure.... scx_cpu1_ds_filewrite +21-236-13:20:24.537 00 UT_RUNPROC/246 rstol_dir = "rstol 'start " & proc_to_run & "'" +21-236-13:20:24.537 00 UT_RUNPROC/247 stime = %gmt +21-236-13:20:24.537 00 UT_RUNPROC/248 native(rstol_dir) +21-236-13:20:24.676 00 SPR-I:OPRI --> start scx_cpu1_ds_filewrite +21-236-13:20:24.676 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/scx_cpu1_ds_filewrite.i +21-236-13:20:24.691 00 SPR-I:STS Procedure SCX_CPU1_DS_FILEWRITE started +21-236-13:20:24.692 00 SCX_CPU1_DS_FI/2 ;******************************************************************************* +21-236-13:20:24.692 00 SCX_CPU1_DS_FI/3 ; Test Name: ds_filewrite +21-236-13:20:24.692 00 SCX_CPU1_DS_FI/4 ; Test Level: Build Verification +21-236-13:20:24.692 00 SCX_CPU1_DS_FI/5 ; Test Type: Functional +21-236-13:20:24.692 00 SCX_CPU1_DS_FI/6 ; +21-236-13:20:24.692 00 SCX_CPU1_DS_FI/7 ; Test Description +21-236-13:20:24.692 00 SCX_CPU1_DS_FI/8 ; This test verifies that the CFS Data Storage (DS) application writes +21-236-13:20:24.692 00 SCX_CPU1_DS_FI/9 ; messages to files according to the requirements. Also, this test +21-236-13:20:24.692 00 SCX_CPU1_DS_FI/10 ; verifies the DS application commands and that DS handles anomalies +21-236-13:20:24.692 00 SCX_CPU1_DS_FI/11 ; appropriately. +21-236-13:20:24.692 00 SCX_CPU1_DS_FI/12 ; +21-236-13:20:24.692 00 SCX_CPU1_DS_FI/13 ; Requirements Tested +21-236-13:20:24.692 00 SCX_CPU1_DS_FI/14 ; cDS1002 For all DS commands, if the length contained in the message +21-236-13:20:24.692 00 SCX_CPU1_DS_FI/15 ; header is not equal to the expected length, DS shall reject the +21-236-13:20:24.692 00 SCX_CPU1_DS_FI/16 ; command and issue an event message. +21-236-13:20:24.692 00 SCX_CPU1_DS_FI/17 ; cDS1004 If DS accepts any command as valid, DS shall execute the +21-236-13:20:24.692 00 SCX_CPU1_DS_FI/18 ; command, increment the DS Valid Command Counter and issue an +21-236-13:20:24.692 00 SCX_CPU1_DS_FI/19 ; event message. +21-236-13:20:24.692 00 SCX_CPU1_DS_FI/20 ; cDS1005 If DS rejects any command, DS shall abort the command execution, +21-236-13:20:24.692 00 SCX_CPU1_DS_FI/21 ; increment the DS Command Rejected Counter and issue an event +21-236-13:20:24.692 00 SCX_CPU1_DS_FI/22 ; message. +21-236-13:20:24.692 00 SCX_CPU1_DS_FI/23 ; cDS3000 DS shall construct filenames based on the following definitions +21-236-13:20:24.710 00 SCX_CPU1_DS_FI/24 ; provided in the Destination File table: +21-236-13:20:24.710 00 SCX_CPU1_DS_FI/25 ; path + base + [time/sequence characters] + extension +21-236-13:20:24.710 00 SCX_CPU1_DS_FI/26 ; cDS3000.1 If Filename Type indicates naming based on Sequence, the +21-236-13:20:24.711 00 SCX_CPU1_DS_FI/27 ; constructed filename will include a character representation of +21-236-13:20:24.711 00 SCX_CPU1_DS_FI/28 ; the Sequence Count value from the Destination File table. +21-236-13:20:24.711 00 SCX_CPU1_DS_FI/29 ; cDS3000.1.1 If Filename Type indicates naming based on Sequence, the value +21-236-13:20:24.711 00 SCX_CPU1_DS_FI/30 ; of Sequence Count shall be incremented each time a file is +21-236-13:20:24.711 00 SCX_CPU1_DS_FI/31 ; created. +21-236-13:20:24.711 00 SCX_CPU1_DS_FI/32 ; cDS3000.2 If Filename Type indicates naming based on Time, the constructed +21-236-13:20:24.711 00 SCX_CPU1_DS_FI/33 ; filename will include a character representation of the packet +21-236-13:20:24.711 00 SCX_CPU1_DS_FI/34 ; timestamp. +21-236-13:20:24.711 00 SCX_CPU1_DS_FI/35 ; cDS3000.2.1 If Filename Type indicates naming based on Time, the file date +21-236-13:20:24.711 00 SCX_CPU1_DS_FI/36 ; and time shall be represented in the following format: +21-236-13:20:24.711 00 SCX_CPU1_DS_FI/37 ; "YYYYDDDHHMMSS". +21-236-13:20:24.711 00 SCX_CPU1_DS_FI/38 ; cDS3001 Prior to writing a packet to an existing destination file, DS +21-236-13:20:24.711 00 SCX_CPU1_DS_FI/39 ; shall verify that the resulting file size (after the write) +21-236-13:20:24.711 00 SCX_CPU1_DS_FI/40 ; shall not exceed the file size limit as defined in the +21-236-13:20:24.711 00 SCX_CPU1_DS_FI/41 ; Destination File Table. +21-236-13:20:24.711 00 SCX_CPU1_DS_FI/42 ; cDS3001.1 If the resulting file size would exceed the file size limit then +21-236-13:20:24.711 00 SCX_CPU1_DS_FI/43 ; DS shall close the existing file and open another file. +21-236-13:20:24.711 00 SCX_CPU1_DS_FI/44 ; cDS3001.2 A minimum of one packet shall be written to a file. +21-236-13:20:24.711 00 SCX_CPU1_DS_FI/45 ; cDS3002 Periodically, DS shall test the age of all open destination +21-236-13:20:24.711 00 SCX_CPU1_DS_FI/46 ; files. If any file age exceeds the maximum age defined for that +21-236-13:20:24.711 00 SCX_CPU1_DS_FI/47 ; file in the Destination File Table, then DS shall close the +21-236-13:20:24.711 00 SCX_CPU1_DS_FI/48 ; file. +21-236-13:20:24.711 00 SCX_CPU1_DS_FI/49 ; cDS3002.1 DS shall update file age and test age limits every time DS +21-236-13:20:24.711 00 SCX_CPU1_DS_FI/50 ; processes its housekeeping telemetry request command. +21-236-13:20:24.711 00 SCX_CPU1_DS_FI/51 ; cDS3003 Each DS destination file shall contain a primary cFE file header +21-236-13:20:24.711 00 SCX_CPU1_DS_FI/52 ; with the following information: +21-236-13:20:24.711 00 SCX_CPU1_DS_FI/53 ; a. Content Type +21-236-13:20:24.711 00 SCX_CPU1_DS_FI/54 ; b. Sub Type +21-236-13:20:24.711 00 SCX_CPU1_DS_FI/55 ; c. Primary header length +21-236-13:20:24.711 00 SCX_CPU1_DS_FI/56 ; d. Spacecraft ID +21-236-13:20:24.711 00 SCX_CPU1_DS_FI/57 ; e. Processor ID +21-236-13:20:24.711 00 SCX_CPU1_DS_FI/58 ; f. Application ID +21-236-13:20:24.712 00 SCX_CPU1_DS_FI/59 ; g. File creation time (seconds) +21-236-13:20:24.712 00 SCX_CPU1_DS_FI/60 ; h. File creation time (sub-seconds) +21-236-13:20:24.712 00 SCX_CPU1_DS_FI/61 ; cDS3004 Each DS destination file shall contain a secondary file header +21-236-13:20:24.712 00 SCX_CPU1_DS_FI/62 ; with the following information: +21-236-13:20:24.712 00 SCX_CPU1_DS_FI/63 ; a. File close time (seconds) +21-236-13:20:24.712 00 SCX_CPU1_DS_FI/64 ; b. File close time (sub-seconds) +21-236-13:20:24.712 00 SCX_CPU1_DS_FI/65 ; c. File table index +21-236-13:20:24.712 00 SCX_CPU1_DS_FI/66 ; d. Qualified filename +21-236-13:20:24.712 00 SCX_CPU1_DS_FI/67 ; cDS3005 For every file write error, DS shall: +21-236-13:20:24.712 00 SCX_CPU1_DS_FI/68 ; a. Send an event message +21-236-13:20:24.712 00 SCX_CPU1_DS_FI/69 ; b. Increment the total number of file write errors +21-236-13:20:24.712 00 SCX_CPU1_DS_FI/70 ; c. Close the destination file +21-236-13:20:24.712 00 SCX_CPU1_DS_FI/71 ; d. Disable the destination +21-236-13:20:24.715 00 SCX_CPU1_DS_FI/72 ; cDS5000 Upon receipt of a Disable command, DS shall stop filtering and +21-236-13:20:24.715 00 SCX_CPU1_DS_FI/73 ; storing messages. NOTE: This command will set the Packet +21-236-13:20:24.715 00 SCX_CPU1_DS_FI/74 ; Processing State to DISABLED. +21-236-13:20:24.715 00 SCX_CPU1_DS_FI/75 ; cDS5001 Upon receipt of a Enable command, DS shall begin filtering and +21-236-13:20:24.715 00 SCX_CPU1_DS_FI/76 ; storing messages. NOTE: This command will set the Packet +21-236-13:20:24.715 00 SCX_CPU1_DS_FI/77 ; Processing State to ENABLED. +21-236-13:20:24.715 00 SCX_CPU1_DS_FI/78 ; cDS5002 Upon receipt of a Close File command, DS shall close the +21-236-13:20:24.715 00 SCX_CPU1_DS_FI/79 ; command-specified files. +21-236-13:20:24.715 00 SCX_CPU1_DS_FI/80 ; cDS5003 Upon receipt of a Set File Basename command, DS shall set the +21-236-13:20:24.715 00 SCX_CPU1_DS_FI/81 ; file basename for the command-specified destination file. +21-236-13:20:24.715 00 SCX_CPU1_DS_FI/82 ; cDS5004 Upon receipt of a Set Next File Sequence Counter command, DS +21-236-13:20:24.715 00 SCX_CPU1_DS_FI/83 ; shall set the command-specified file counter for the +21-236-13:20:24.715 00 SCX_CPU1_DS_FI/84 ; command-specified Destination File. +21-236-13:20:24.715 00 SCX_CPU1_DS_FI/85 ; cDS5005 Upon receipt of an Enable Destination File command, DS shall +21-236-13:20:24.715 00 SCX_CPU1_DS_FI/86 ; enable file collection for the command-specified Destination +21-236-13:20:24.715 00 SCX_CPU1_DS_FI/87 ; file. +21-236-13:20:24.715 00 SCX_CPU1_DS_FI/88 ; cDS5006 Upon receipt of a Disable Destination File command, DS shall +21-236-13:20:24.715 00 SCX_CPU1_DS_FI/89 ; disable file collection for the command-specified Destination +21-236-13:20:24.715 00 SCX_CPU1_DS_FI/90 ; file. +21-236-13:20:24.715 00 SCX_CPU1_DS_FI/91 ; cDS5011 Upon receipt of a Set Destination Type for a destination file +21-236-13:20:24.715 00 SCX_CPU1_DS_FI/92 ; type command, DS shall update the Destination type fo the +21-236-13:20:24.715 00 SCX_CPU1_DS_FI/93 ; command-specified destination type. +21-236-13:20:24.723 00 SCX_CPU1_DS_FI/94 ; cDS5012 Upon receipt of a Set Path for a destination filename command, +21-236-13:20:24.723 00 SCX_CPU1_DS_FI/95 ; DS shall update the path to the command-specified path. +21-236-13:20:24.723 00 SCX_CPU1_DS_FI/96 ; cDS5013 Upon receipt of a Set Extension for a destination filename +21-236-13:20:24.724 00 SCX_CPU1_DS_FI/97 ; command, DS shall update the file extension to the command- +21-236-13:20:24.724 00 SCX_CPU1_DS_FI/98 ; spacified extension. +21-236-13:20:24.724 00 SCX_CPU1_DS_FI/99 ; cDS5014 Upon receipt of a Set Maximum Size for a destination file +21-236-13:20:24.724 00 SCX_CPU1_DS_FI/100 ; command, DS shall update the maximum file size to the command- +21-236-13:20:24.724 00 SCX_CPU1_DS_FI/101 ; specified maximum. +21-236-13:20:24.724 00 SCX_CPU1_DS_FI/102 ; cDS5015 Upon receipt of a Set Maximum Age for a destination file +21-236-13:20:24.724 00 SCX_CPU1_DS_FI/103 ; command, DS shall update the maximum destination file age to the +21-236-13:20:24.724 00 SCX_CPU1_DS_FI/104 ; command-specified maximum age. +21-236-13:20:24.724 00 SCX_CPU1_DS_FI/105 ; cDS8000 DS shall generate a housekeeping message containing the +21-236-13:20:24.724 00 SCX_CPU1_DS_FI/106 ; following: +21-236-13:20:24.724 00 SCX_CPU1_DS_FI/107 ; a. Valid Ground Command Counter +21-236-13:20:24.724 00 SCX_CPU1_DS_FI/108 ; b. Command Rejected Counter +21-236-13:20:24.724 00 SCX_CPU1_DS_FI/109 ; c. Packets discarded (DS was disabled) Counter +21-236-13:20:24.724 00 SCX_CPU1_DS_FI/110 ; d. Packets discarded (pkt has no filter) Counter +21-236-13:20:24.724 00 SCX_CPU1_DS_FI/111 ; e. Packets discarded (failed filter test) Counter +21-236-13:20:24.724 00 SCX_CPU1_DS_FI/112 ; f. Packets that passed filter test Counter +21-236-13:20:24.724 00 SCX_CPU1_DS_FI/113 ; g. Good destination file I/O Counter +21-236-13:20:24.724 00 SCX_CPU1_DS_FI/114 ; h. Bad destination file I/O Counter +21-236-13:20:24.724 00 SCX_CPU1_DS_FI/115 ; i. Good updates to secondary header Counter +21-236-13:20:24.724 00 SCX_CPU1_DS_FI/116 ; j. Bad updates to secondary header Counter +21-236-13:20:24.724 00 SCX_CPU1_DS_FI/117 ; k. Destination file table loads Counter +21-236-13:20:24.724 00 SCX_CPU1_DS_FI/118 ; l. Failed attempts to get table data pointer Counter +21-236-13:20:24.724 00 SCX_CPU1_DS_FI/119 ; m. Packet filter table loads Counter +21-236-13:20:24.724 00 SCX_CPU1_DS_FI/120 ; n. Failed attempts to get table data pointer Counter +21-236-13:20:24.724 00 SCX_CPU1_DS_FI/121 ; o. Application State +21-236-13:20:24.724 00 SCX_CPU1_DS_FI/122 ; p. Destinatation file(s) state: +21-236-13:20:24.724 00 SCX_CPU1_DS_FI/123 ; 1. File age +21-236-13:20:24.724 00 SCX_CPU1_DS_FI/124 ; 2. File size +21-236-13:20:24.724 00 SCX_CPU1_DS_FI/125 ; 3. File rate +21-236-13:20:24.724 00 SCX_CPU1_DS_FI/126 ; 4. Sequence count +21-236-13:20:24.724 00 SCX_CPU1_DS_FI/127 ; 5. Enable State +21-236-13:20:24.724 00 SCX_CPU1_DS_FI/128 ; 6. Open State +21-236-13:20:24.724 00 SCX_CPU1_DS_FI/129 ; 7. Filename +21-236-13:20:24.724 00 SCX_CPU1_DS_FI/130 ; cDS9000 Upon initialization of the SC Application, SC shall initialize +21-236-13:20:24.724 00 SCX_CPU1_DS_FI/131 ; the following data to Zero: +21-236-13:20:24.724 00 SCX_CPU1_DS_FI/132 ; a. Valid Ground Command Counter +21-236-13:20:24.724 00 SCX_CPU1_DS_FI/133 ; b. Command Rejected Counter +21-236-13:20:24.724 00 SCX_CPU1_DS_FI/134 ; c. Packets discarded (DS was disabled) Counter +21-236-13:20:24.724 00 SCX_CPU1_DS_FI/135 ; d. Packets discarded (pkt has no filter) Counter +21-236-13:20:24.724 00 SCX_CPU1_DS_FI/136 ; e. Packets discarded (failed filter test) Counter +21-236-13:20:24.724 00 SCX_CPU1_DS_FI/137 ; f. Packets that passed filter test Counter +21-236-13:20:24.724 00 SCX_CPU1_DS_FI/138 ; g. Good destination file I/O Counter +21-236-13:20:24.724 00 SCX_CPU1_DS_FI/139 ; h. Bad destination file I/O Counter +21-236-13:20:24.724 00 SCX_CPU1_DS_FI/140 ; i. Good updates to secondary header Counter +21-236-13:20:24.725 00 SCX_CPU1_DS_FI/141 ; j. Bad updates to secondary header Counter +21-236-13:20:24.725 00 SCX_CPU1_DS_FI/142 ; k. Destination file table loads Counter +21-236-13:20:24.725 00 SCX_CPU1_DS_FI/143 ; l. Failed attempts to get table data pointer Counter +21-236-13:20:24.725 00 SCX_CPU1_DS_FI/144 ; m. Packet filter table loads Counter +21-236-13:20:24.725 00 SCX_CPU1_DS_FI/145 ; n. Failed attempts to get table data pointer Counter +21-236-13:20:24.725 00 SCX_CPU1_DS_FI/146 ; +21-236-13:20:24.725 00 SCX_CPU1_DS_FI/147 ; Prerequisite Conditions +21-236-13:20:24.725 00 SCX_CPU1_DS_FI/148 ; The cFE is up and running and ready to accept commands. +21-236-13:20:24.725 00 SCX_CPU1_DS_FI/149 ; The DS commands and telemetry items exist in the GSE database. +21-236-13:20:24.725 00 SCX_CPU1_DS_FI/150 ; The display pages exist for the DS Housekeeping. +21-236-13:20:24.725 00 SCX_CPU1_DS_FI/151 ; A DS Test application (TST_DS) exists in order to fully test the DS +21-236-13:20:24.725 00 SCX_CPU1_DS_FI/152 ; Application. +21-236-13:20:24.725 00 SCX_CPU1_DS_FI/153 ; +21-236-13:20:24.725 00 SCX_CPU1_DS_FI/154 ; Assumptions and Constraints +21-236-13:20:24.725 00 SCX_CPU1_DS_FI/155 ; None. +21-236-13:20:24.730 00 SCX_CPU1_DS_FI/156 ; +21-236-13:20:24.730 00 SCX_CPU1_DS_FI/157 ; Change History +21-236-13:20:24.730 00 SCX_CPU1_DS_FI/158 ; +21-236-13:20:24.731 00 SCX_CPU1_DS_FI/159 ; Date Name Description +21-236-13:20:24.731 00 SCX_CPU1_DS_FI/160 ; 10/01/09 Walt Moleski Original Procedure. +21-236-13:20:24.731 00 SCX_CPU1_DS_FI/161 ; 12/08/10 Walt Moleski Modified the procedure to use variables +21-236-13:20:24.731 00 SCX_CPU1_DS_FI/162 ; for the application name and ram disk. +21-236-13:20:24.731 00 SCX_CPU1_DS_FI/163 ; 01/31/17 Walt Moleski Updated for DS 2.5.0.0 using CPU1 for +21-236-13:20:24.731 00 SCX_CPU1_DS_FI/164 ; commanding and added a hostCPU variable +21-236-13:20:24.731 00 SCX_CPU1_DS_FI/165 ; for the utility procs to connect to the +21-236-13:20:24.731 00 SCX_CPU1_DS_FI/166 ; proper host IP address. +21-236-13:20:24.731 00 SCX_CPU1_DS_FI/167 ; +21-236-13:20:24.731 00 SCX_CPU1_DS_FI/168 ; Arguments +21-236-13:20:24.731 00 SCX_CPU1_DS_FI/169 ; None. +21-236-13:20:24.731 00 SCX_CPU1_DS_FI/170 ; +21-236-13:20:24.731 00 SCX_CPU1_DS_FI/171 ; Procedures Called +21-236-13:20:24.731 00 SCX_CPU1_DS_FI/172 ; Name Description +21-236-13:20:24.731 00 SCX_CPU1_DS_FI/173 ; ut_tlmwait Wait for a specified telemetry point to update to a +21-236-13:20:24.731 00 SCX_CPU1_DS_FI/174 ; specified value. +21-236-13:20:24.731 00 SCX_CPU1_DS_FI/175 ; ut_pfindicate Print the pass fail status of a particular requirement +21-236-13:20:24.731 00 SCX_CPU1_DS_FI/176 ; number. +21-236-13:20:24.731 00 SCX_CPU1_DS_FI/177 ; ut_setupevents Performs setup to verify that a particular event +21-236-13:20:24.731 00 SCX_CPU1_DS_FI/178 ; message was received by ASIST. +21-236-13:20:24.732 00 SCX_CPU1_DS_FI/179 ; ut_setrequirements A directive to set the status of the cFE +21-236-13:20:24.732 00 SCX_CPU1_DS_FI/180 ; requirements array. +21-236-13:20:24.732 00 SCX_CPU1_DS_FI/181 ; +21-236-13:20:24.732 00 SCX_CPU1_DS_FI/182 ; Expected Test Results and Analysis +21-236-13:20:24.732 00 SCX_CPU1_DS_FI/183 ; +21-236-13:20:24.732 00 SCX_CPU1_DS_FI/184 ;********************************************************************** +21-236-13:20:24.732 00 SCX_CPU1_DS_FI/185 +21-236-13:20:24.732 00 SCX_CPU1_DS_FI/187 local logging = %liv (log_procedure) +21-236-13:20:24.732 00 SCX_CPU1_DS_FI/188 %liv (log_procedure) = FALSE +21-236-13:20:24.790 00 SCX_CPU1_DS_FI/203 +21-236-13:20:24.790 00 SCX_CPU1_DS_FI/204 #define DS_1002 0 +21-236-13:20:24.790 00 SCX_CPU1_DS_FI/205 #define DS_1004 1 +21-236-13:20:24.790 00 SCX_CPU1_DS_FI/206 #define DS_1005 2 +21-236-13:20:24.790 00 SCX_CPU1_DS_FI/207 #define DS_3000 3 +21-236-13:20:24.790 00 SCX_CPU1_DS_FI/208 #define DS_30001 4 +21-236-13:20:24.790 00 SCX_CPU1_DS_FI/209 #define DS_300011 5 +21-236-13:20:24.790 00 SCX_CPU1_DS_FI/210 #define DS_30002 6 +21-236-13:20:24.790 00 SCX_CPU1_DS_FI/211 #define DS_300021 7 +21-236-13:20:24.790 00 SCX_CPU1_DS_FI/212 #define DS_3001 8 +21-236-13:20:24.790 00 SCX_CPU1_DS_FI/213 #define DS_30011 9 +21-236-13:20:24.790 00 SCX_CPU1_DS_FI/214 #define DS_30012 10 +21-236-13:20:25.029 00 SCX_CPU1_DS_FI/215 #define DS_3002 11 +21-236-13:20:25.029 00 SCX_CPU1_DS_FI/216 #define DS_30021 12 +21-236-13:20:25.029 00 SCX_CPU1_DS_FI/217 #define DS_3003 13 +21-236-13:20:25.029 00 SCX_CPU1_DS_FI/218 #define DS_3004 14 +21-236-13:20:25.029 00 SCX_CPU1_DS_FI/219 #define DS_3005 15 +21-236-13:20:25.029 00 SCX_CPU1_DS_FI/220 #define DS_5000 16 +21-236-13:20:25.029 00 SCX_CPU1_DS_FI/221 #define DS_5001 17 +21-236-13:20:25.029 00 SCX_CPU1_DS_FI/222 #define DS_5002 18 +21-236-13:20:25.029 00 SCX_CPU1_DS_FI/223 #define DS_5003 19 +21-236-13:20:25.029 00 SCX_CPU1_DS_FI/224 #define DS_5004 20 +21-236-13:20:25.029 00 SCX_CPU1_DS_FI/225 #define DS_5005 21 +21-236-13:20:25.029 00 SCX_CPU1_DS_FI/226 #define DS_5006 22 +21-236-13:20:25.029 00 SCX_CPU1_DS_FI/227 #define DS_5011 23 +21-236-13:20:25.029 00 SCX_CPU1_DS_FI/228 #define DS_5012 24 +21-236-13:20:25.029 00 SCX_CPU1_DS_FI/229 #define DS_5013 25 +21-236-13:20:25.029 00 SCX_CPU1_DS_FI/230 #define DS_5014 26 +21-236-13:20:25.029 00 SCX_CPU1_DS_FI/231 #define DS_5015 27 +21-236-13:20:25.029 00 SCX_CPU1_DS_FI/232 #define DS_8000 28 +21-236-13:20:25.029 00 SCX_CPU1_DS_FI/233 #define DS_9000 29 +21-236-13:20:25.029 00 SCX_CPU1_DS_FI/234 +21-236-13:20:25.029 00 SCX_CPU1_DS_FI/235 global ut_req_array_size = 29 +21-236-13:20:25.029 00 SCX_CPU1_DS_FI/236 global ut_requirement[0 .. ut_req_array_size] +21-236-13:20:25.030 00 SCX_CPU1_DS_FI/237 +21-236-13:20:25.030 00 SCX_CPU1_DS_FI/238 for i = 0 to ut_req_array_size DO +21-236-13:20:25.030 00 SCX_CPU1_DS_FI/239 ut_requirement[i] = "U" +21-236-13:20:25.030 00 SCX_CPU1_DS_FI/240 enddo +21-236-13:20:25.030 00 SCX_CPU1_DS_FI/238 for i = 0 to ut_req_array_size DO +21-236-13:20:25.030 00 SCX_CPU1_DS_FI/239 ut_requirement[i] = "U" +21-236-13:20:25.030 00 SCX_CPU1_DS_FI/240 enddo +21-236-13:20:25.030 00 SCX_CPU1_DS_FI/238 for i = 0 to ut_req_array_size DO +21-236-13:20:25.030 00 SCX_CPU1_DS_FI/239 ut_requirement[i] = "U" +21-236-13:20:25.030 00 SCX_CPU1_DS_FI/240 enddo +21-236-13:20:25.030 00 SCX_CPU1_DS_FI/238 for i = 0 to ut_req_array_size DO +21-236-13:20:25.030 00 SCX_CPU1_DS_FI/239 ut_requirement[i] = "U" +21-236-13:20:25.030 00 SCX_CPU1_DS_FI/240 enddo +21-236-13:20:25.030 00 SCX_CPU1_DS_FI/238 for i = 0 to ut_req_array_size DO +21-236-13:20:25.031 00 SCX_CPU1_DS_FI/239 ut_requirement[i] = "U" +21-236-13:20:25.031 00 SCX_CPU1_DS_FI/240 enddo +21-236-13:20:25.031 00 SCX_CPU1_DS_FI/238 for i = 0 to ut_req_array_size DO +21-236-13:20:25.031 00 SCX_CPU1_DS_FI/239 ut_requirement[i] = "U" +21-236-13:20:25.031 00 SCX_CPU1_DS_FI/240 enddo +21-236-13:20:25.031 00 SCX_CPU1_DS_FI/238 for i = 0 to ut_req_array_size DO +21-236-13:20:25.031 00 SCX_CPU1_DS_FI/239 ut_requirement[i] = "U" +21-236-13:20:25.031 00 SCX_CPU1_DS_FI/240 enddo +21-236-13:20:25.031 00 SCX_CPU1_DS_FI/238 for i = 0 to ut_req_array_size DO +21-236-13:20:25.031 00 SCX_CPU1_DS_FI/239 ut_requirement[i] = "U" +21-236-13:20:25.031 00 SCX_CPU1_DS_FI/240 enddo +21-236-13:20:25.031 00 SCX_CPU1_DS_FI/238 for i = 0 to ut_req_array_size DO +21-236-13:20:25.031 00 SCX_CPU1_DS_FI/239 ut_requirement[i] = "U" +21-236-13:20:25.031 00 SCX_CPU1_DS_FI/240 enddo +21-236-13:20:25.031 00 SCX_CPU1_DS_FI/238 for i = 0 to ut_req_array_size DO +21-236-13:20:25.031 00 SCX_CPU1_DS_FI/239 ut_requirement[i] = "U" +21-236-13:20:25.031 00 SCX_CPU1_DS_FI/240 enddo +21-236-13:20:25.032 00 SCX_CPU1_DS_FI/238 for i = 0 to ut_req_array_size DO +21-236-13:20:25.032 00 SCX_CPU1_DS_FI/239 ut_requirement[i] = "U" +21-236-13:20:25.032 00 SCX_CPU1_DS_FI/240 enddo +21-236-13:20:25.032 00 SCX_CPU1_DS_FI/238 for i = 0 to ut_req_array_size DO +21-236-13:20:25.032 00 SCX_CPU1_DS_FI/239 ut_requirement[i] = "U" +21-236-13:20:25.032 00 SCX_CPU1_DS_FI/240 enddo +21-236-13:20:25.032 00 SCX_CPU1_DS_FI/238 for i = 0 to ut_req_array_size DO +21-236-13:20:25.032 00 SCX_CPU1_DS_FI/239 ut_requirement[i] = "U" +21-236-13:20:25.032 00 SCX_CPU1_DS_FI/240 enddo +21-236-13:20:25.032 00 SCX_CPU1_DS_FI/238 for i = 0 to ut_req_array_size DO +21-236-13:20:25.032 00 SCX_CPU1_DS_FI/239 ut_requirement[i] = "U" +21-236-13:20:25.032 00 SCX_CPU1_DS_FI/240 enddo +21-236-13:20:25.032 00 SCX_CPU1_DS_FI/238 for i = 0 to ut_req_array_size DO +21-236-13:20:25.032 00 SCX_CPU1_DS_FI/239 ut_requirement[i] = "U" +21-236-13:20:25.032 00 SCX_CPU1_DS_FI/240 enddo +21-236-13:20:25.032 00 SCX_CPU1_DS_FI/238 for i = 0 to ut_req_array_size DO +21-236-13:20:25.032 00 SCX_CPU1_DS_FI/239 ut_requirement[i] = "U" +21-236-13:20:25.032 00 SCX_CPU1_DS_FI/240 enddo +21-236-13:20:25.033 00 SCX_CPU1_DS_FI/238 for i = 0 to ut_req_array_size DO +21-236-13:20:25.033 00 SCX_CPU1_DS_FI/239 ut_requirement[i] = "U" +21-236-13:20:25.033 00 SCX_CPU1_DS_FI/240 enddo +21-236-13:20:25.033 00 SCX_CPU1_DS_FI/238 for i = 0 to ut_req_array_size DO +21-236-13:20:25.033 00 SCX_CPU1_DS_FI/239 ut_requirement[i] = "U" +21-236-13:20:25.033 00 SCX_CPU1_DS_FI/240 enddo +21-236-13:20:25.033 00 SCX_CPU1_DS_FI/238 for i = 0 to ut_req_array_size DO +21-236-13:20:25.033 00 SCX_CPU1_DS_FI/239 ut_requirement[i] = "U" +21-236-13:20:25.033 00 SCX_CPU1_DS_FI/240 enddo +21-236-13:20:25.033 00 SCX_CPU1_DS_FI/238 for i = 0 to ut_req_array_size DO +21-236-13:20:25.033 00 SCX_CPU1_DS_FI/239 ut_requirement[i] = "U" +21-236-13:20:25.033 00 SCX_CPU1_DS_FI/240 enddo +21-236-13:20:25.033 00 SCX_CPU1_DS_FI/238 for i = 0 to ut_req_array_size DO +21-236-13:20:25.033 00 SCX_CPU1_DS_FI/239 ut_requirement[i] = "U" +21-236-13:20:25.033 00 SCX_CPU1_DS_FI/240 enddo +21-236-13:20:25.034 00 SCX_CPU1_DS_FI/238 for i = 0 to ut_req_array_size DO +21-236-13:20:25.034 00 SCX_CPU1_DS_FI/239 ut_requirement[i] = "U" +21-236-13:20:25.034 00 SCX_CPU1_DS_FI/240 enddo +21-236-13:20:25.034 00 SCX_CPU1_DS_FI/238 for i = 0 to ut_req_array_size DO +21-236-13:20:25.034 00 SCX_CPU1_DS_FI/239 ut_requirement[i] = "U" +21-236-13:20:25.034 00 SCX_CPU1_DS_FI/240 enddo +21-236-13:20:25.034 00 SCX_CPU1_DS_FI/238 for i = 0 to ut_req_array_size DO +21-236-13:20:25.034 00 SCX_CPU1_DS_FI/239 ut_requirement[i] = "U" +21-236-13:20:25.034 00 SCX_CPU1_DS_FI/240 enddo +21-236-13:20:25.034 00 SCX_CPU1_DS_FI/238 for i = 0 to ut_req_array_size DO +21-236-13:20:25.034 00 SCX_CPU1_DS_FI/239 ut_requirement[i] = "U" +21-236-13:20:25.034 00 SCX_CPU1_DS_FI/240 enddo +21-236-13:20:25.034 00 SCX_CPU1_DS_FI/238 for i = 0 to ut_req_array_size DO +21-236-13:20:25.034 00 SCX_CPU1_DS_FI/239 ut_requirement[i] = "U" +21-236-13:20:25.034 00 SCX_CPU1_DS_FI/240 enddo +21-236-13:20:25.035 00 SCX_CPU1_DS_FI/238 for i = 0 to ut_req_array_size DO +21-236-13:20:25.035 00 SCX_CPU1_DS_FI/239 ut_requirement[i] = "U" +21-236-13:20:25.035 00 SCX_CPU1_DS_FI/240 enddo +21-236-13:20:25.035 00 SCX_CPU1_DS_FI/238 for i = 0 to ut_req_array_size DO +21-236-13:20:25.035 00 SCX_CPU1_DS_FI/239 ut_requirement[i] = "U" +21-236-13:20:25.035 00 SCX_CPU1_DS_FI/240 enddo +21-236-13:20:25.035 00 SCX_CPU1_DS_FI/238 for i = 0 to ut_req_array_size DO +21-236-13:20:25.035 00 SCX_CPU1_DS_FI/239 ut_requirement[i] = "U" +21-236-13:20:25.035 00 SCX_CPU1_DS_FI/240 enddo +21-236-13:20:25.035 00 SCX_CPU1_DS_FI/238 for i = 0 to ut_req_array_size DO +21-236-13:20:25.035 00 SCX_CPU1_DS_FI/239 ut_requirement[i] = "U" +21-236-13:20:25.035 00 SCX_CPU1_DS_FI/240 enddo +21-236-13:20:25.035 00 SCX_CPU1_DS_FI/238 for i = 0 to ut_req_array_size DO +21-236-13:20:25.035 00 SCX_CPU1_DS_FI/241 +21-236-13:20:25.035 00 SCX_CPU1_DS_FI/242 ;********************************************************************** +21-236-13:20:25.035 00 SCX_CPU1_DS_FI/243 ; Set the local values +21-236-13:20:25.036 00 SCX_CPU1_DS_FI/244 ;********************************************************************** +21-236-13:20:25.036 00 SCX_CPU1_DS_FI/245 local cfe_requirements[0 .. ut_req_array_size] = ["DS_1002", "DS_1004", "DS_1005", "DS_3000", "DS_3000.1", "DS_3000.1.1", "DS_3000.2", "DS_3000.2.1", "DS_3001", "DS_3001.1", "DS_3001.2", "DS_3002", "DS_3002.1", "DS_3003", "DS_3004", "DS_3005", "DS_5000", "DS_5001", "DS_5002", "DS_5003", "DS_5004", "DS_5005", "DS_5006", "DS_5011", "DS_5012", "DS_5013", "DS_5014", "DS_5015", "DS_8000", "DS_9000" ] +21-236-13:20:25.036 00 SCX_CPU1_DS_FI/246 +21-236-13:20:25.036 00 SCX_CPU1_DS_FI/247 ;********************************************************************** +21-236-13:20:25.036 00 SCX_CPU1_DS_FI/248 ; Define local variables +21-236-13:20:25.036 00 SCX_CPU1_DS_FI/249 ;********************************************************************** +21-236-13:20:25.036 00 SCX_CPU1_DS_FI/250 LOCAL rawcmd +21-236-13:20:25.036 00 SCX_CPU1_DS_FI/251 LOCAL fileTblPktId, fileTblAppId +21-236-13:20:25.036 00 SCX_CPU1_DS_FI/252 LOCAL filterTblPktId, filterTblAppId +21-236-13:20:25.036 00 SCX_CPU1_DS_FI/253 local DSAppName = "DS" +21-236-13:20:25.036 00 SCX_CPU1_DS_FI/254 local fileTblName = DSAppName & "." & DS_DESTINATION_TBL_NAME +21-236-13:20:25.036 00 SCX_CPU1_DS_FI/255 local filterTblName = DSAppName & "." & DS_FILTER_TBL_NAME +21-236-13:20:25.036 00 SCX_CPU1_DS_FI/256 local ramDir = "RAM:0" +21-236-13:20:25.036 00 SCX_CPU1_DS_FI/257 local hostCPU = "CPU3" +21-236-13:20:25.036 00 SCX_CPU1_DS_FI/258 +21-236-13:20:25.036 00 SCX_CPU1_DS_FI/261 fileTblPktId = "0F76" +21-236-13:20:25.036 00 SCX_CPU1_DS_FI/262 fileTblAppId = 3958 +21-236-13:20:25.036 00 SCX_CPU1_DS_FI/263 filterTblPktId = "0F77" +21-236-13:20:25.036 00 SCX_CPU1_DS_FI/264 filterTblAppId = 3959 +21-236-13:20:25.036 00 SCX_CPU1_DS_FI/265 +21-236-13:20:25.036 00 SCX_CPU1_DS_FI/266 write ";***********************************************************************" +21-236-13:20:25.036 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:20:25.037 00 SCX_CPU1_DS_FI/267 write "; Step 1.0: Data Storage Test Setup." +21-236-13:20:25.037 00 SPR-I:OPRO ; Step 1.0: Data Storage Test Setup. +21-236-13:20:25.037 00 SCX_CPU1_DS_FI/268 write ";***********************************************************************" +21-236-13:20:25.037 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:20:25.037 00 SCX_CPU1_DS_FI/269 write "; Step 1.1: Command a Power-on Reset on ",hostCPU +21-236-13:20:25.037 00 SPR-I:OPRO ; Step 1.1: Command a Power-on Reset on CPU3 +21-236-13:20:25.037 00 SCX_CPU1_DS_FI/270 write ";***********************************************************************" +21-236-13:20:25.037 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:20:25.037 00 SCX_CPU1_DS_FI/271 /SCX_CPU1_ES_POWERONRESET +21-236-13:20:25.049 00 SCX_CPU1_DS_FI/272 wait 10 +21-236-13:20:25.049 00 SPR-I:STTE Wait mode - waiting 10 seconds ... +21-236-13:20:35.058 00 SCX_CPU1_DS_FI/273 +21-236-13:20:35.058 00 SCX_CPU1_DS_FI/274 close_data_center +21-236-13:20:35.058 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/clear_spacecraft_status.i +21-236-13:20:35.059 00 SPR-I:STS Procedure CLEAR_SPACECRAFT_STATUS started +21-236-13:20:35.059 00 CLEAR_SPACECRA/2 ; +21-236-13:20:35.059 00 CLEAR_SPACECRA/3 local logging = %liv(log_procedure) +21-236-13:20:35.059 00 CLEAR_SPACECRA/4 %liv (log_procedure) = FALSE +21-236-13:20:35.064 00 CLEAR_SPACECRA/135 +21-236-13:20:35.064 00 CLEAR_SPACECRA/136 endproc +21-236-13:20:35.064 00 SPR-I:STS Procedure CLEAR_SPACECRAFT_STATUS completed +21-236-13:20:35.077 00 SCX_CPU1_DS_FI/275 wait 60 +21-236-13:20:35.077 00 SPR-I:STTE Wait mode - waiting 60 seconds ... +21-236-13:21:35.127 00 SCX_CPU1_DS_FI/276 +21-236-13:21:35.127 00 SCX_CPU1_DS_FI/277 cfe_startup {hostCPU} +21-236-13:21:35.131 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:21:45.142 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:21:45.222 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/send_that_to_command.i +21-236-13:21:45.222 00 SPR-I:STS Procedure SEND_THAT_TO_COMMAND started +21-236-13:21:45.222 00 SEND_THAT_TO_C/2 ; +21-236-13:21:45.222 00 SEND_THAT_TO_C/3 local logging = %liv (log_procedure) +21-236-13:21:45.222 00 SEND_THAT_TO_C/4 %liv (log_procedure) = FALSE +21-236-13:21:45.223 00 SPR-I:OPRO Sending: /SCX_CPU1_TO_OUTPUT_ENA gs582cfslab4 +21-236-13:21:45.274 00 SEND_THAT_TO_C/83 +21-236-13:21:45.274 00 SEND_THAT_TO_C/84 endproc +21-236-13:21:45.274 00 SPR-I:STS Procedure SEND_THAT_TO_COMMAND completed +21-236-13:21:45.274 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:21:46.592 00 TLMH-I:STS 58-012-14:03:48.950 INFO CPU=CPU1 APPNAME=TO_LAB_APP EVENT ID=3 TO telemetry output enabled for IP 192.168.1.101 +21-236-13:21:50.280 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:21:50.281 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/fill_in_spacecraft_status.i +21-236-13:21:50.283 00 SPR-I:STS Procedure FILL_IN_SPACECRAFT_STATUS started +21-236-13:21:50.283 00 FILL_IN_SPACEC/2 ; +21-236-13:21:50.283 00 FILL_IN_SPACEC/3 local logging = %liv (log_procedure) +21-236-13:21:50.283 00 FILL_IN_SPACEC/4 %liv (log_procedure) = FALSE +21-236-13:21:50.288 00 FILL_IN_SPACEC/152 +21-236-13:21:50.288 00 FILL_IN_SPACEC/153 endproc +21-236-13:21:50.288 00 SPR-I:STS Procedure FILL_IN_SPACECRAFT_STATUS completed +21-236-13:21:50.289 00 SCX_CPU1_DS_FI/278 wait 5 +21-236-13:21:50.289 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:21:55.293 00 SCX_CPU1_DS_FI/279 +21-236-13:21:55.294 00 SCX_CPU1_DS_FI/280 write ";***********************************************************************" +21-236-13:21:55.294 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:21:55.294 00 SCX_CPU1_DS_FI/281 write "; Step 1.2: Upload the initial DS table load images to CPU1." +21-236-13:21:55.294 00 SPR-I:OPRO ; Step 1.2: Upload the initial DS table load images to CPU1. +21-236-13:21:55.294 00 SCX_CPU1_DS_FI/282 write ";***********************************************************************" +21-236-13:21:55.294 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:21:55.294 00 SCX_CPU1_DS_FI/284 s scx_cpu1_ds_tbl2 +21-236-13:21:55.295 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/scx_cpu1_ds_tbl2.i +21-236-13:21:55.312 00 SPR-I:STS Procedure SCX_CPU1_DS_TBL2 started +21-236-13:21:55.312 00 SCX_CPU1_DS_TB/2 ;******************************************************************************* +21-236-13:21:55.312 00 SCX_CPU1_DS_TB/3 ; Test Name: ds_tbl2 +21-236-13:21:55.312 00 SCX_CPU1_DS_TB/4 ; Test Level: Build Verification +21-236-13:21:55.313 00 SCX_CPU1_DS_TB/5 ; Test Type: Functional +21-236-13:21:55.313 00 SCX_CPU1_DS_TB/6 ; +21-236-13:21:55.313 00 SCX_CPU1_DS_TB/7 ; Test Description +21-236-13:21:55.313 00 SCX_CPU1_DS_TB/8 ; This procedure creates the initial CFS Data Storage (DS) Destination +21-236-13:21:55.313 00 SCX_CPU1_DS_TB/9 ; File and Packet Filter Table load image files. These files are currently +21-236-13:21:55.313 00 SCX_CPU1_DS_TB/10 ; used by the File Write test procedure. +21-236-13:21:55.313 00 SCX_CPU1_DS_TB/11 ; +21-236-13:21:55.313 00 SCX_CPU1_DS_TB/12 ; Prerequisite Conditions +21-236-13:21:55.314 00 SCX_CPU1_DS_TB/13 ; None. +21-236-13:21:55.314 00 SCX_CPU1_DS_TB/14 ; +21-236-13:21:55.314 00 SCX_CPU1_DS_TB/15 ; Assumptions and Constraints +21-236-13:21:55.314 00 SCX_CPU1_DS_TB/16 ; None. +21-236-13:21:55.314 00 SCX_CPU1_DS_TB/17 ; +21-236-13:21:55.314 00 SCX_CPU1_DS_TB/18 ; Change History +21-236-13:21:55.314 00 SCX_CPU1_DS_TB/19 ; Date Name Description +21-236-13:21:55.314 00 SCX_CPU1_DS_TB/20 ; 11/04/09 Walt Moleski Inital implemetation. +21-236-13:21:55.314 00 SCX_CPU1_DS_TB/21 ; 12/08/10 Walt Moleski Modified the procedure to use variables +21-236-13:21:55.315 00 SCX_CPU1_DS_TB/22 ; for the application name and ram disk. +21-236-13:21:55.315 00 SCX_CPU1_DS_TB/23 ; 01/31/17 Walt Moleski Updated for DS 2.5.0.0 using CPU1 for +21-236-13:21:55.324 00 SCX_CPU1_DS_TB/24 ; commanding and added a hostCPU variable +21-236-13:21:55.324 00 SCX_CPU1_DS_TB/25 ; for the utility procs to connect to the +21-236-13:21:55.324 00 SCX_CPU1_DS_TB/26 ; proper host IP address. +21-236-13:21:55.324 00 SCX_CPU1_DS_TB/27 ; +21-236-13:21:55.324 00 SCX_CPU1_DS_TB/28 ; Arguments +21-236-13:21:55.324 00 SCX_CPU1_DS_TB/29 ; None. +21-236-13:21:55.324 00 SCX_CPU1_DS_TB/30 ; +21-236-13:21:55.324 00 SCX_CPU1_DS_TB/31 ; Procedures Called +21-236-13:21:55.324 00 SCX_CPU1_DS_TB/32 ; Name Description +21-236-13:21:55.325 00 SCX_CPU1_DS_TB/33 ; +21-236-13:21:55.325 00 SCX_CPU1_DS_TB/34 ; Expected Test Results and Analysis +21-236-13:21:55.325 00 SCX_CPU1_DS_TB/35 ; +21-236-13:21:55.325 00 SCX_CPU1_DS_TB/36 ;********************************************************************** +21-236-13:21:55.325 00 SCX_CPU1_DS_TB/37 +21-236-13:21:55.325 00 SCX_CPU1_DS_TB/38 local logging = %liv (log_procedure) +21-236-13:21:55.325 00 SCX_CPU1_DS_TB/39 %liv (log_procedure) = FALSE +21-236-13:21:55.373 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:21:55.373 00 SPR-I:OPRO ; Step 1.0: Define DS Destination File And Packet Filter Tables. +21-236-13:21:55.373 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:21:55.375 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/create_tbl_file_from_cvt.i +21-236-13:21:55.375 00 SPR-I:STS Procedure CREATE_TBL_FILE_FROM_CVT started +21-236-13:21:55.377 00 SPR-I:OPRO ********** ds_fwfile.tbl ********** +21-236-13:21:55.377 00 SPR-I:OPRO +21-236-13:21:55.377 00 SPR-I:OPRO Content Type: cFE1 +21-236-13:21:55.377 00 SPR-I:OPRO Sub Type: 8 +21-236-13:21:55.377 00 SPR-I:OPRO Length: 12 +21-236-13:21:55.377 00 SPR-I:OPRO Spacecraft Id: SCX +21-236-13:21:55.377 00 SPR-I:OPRO Processor Id: CPU3 +21-236-13:21:55.377 00 SPR-I:OPRO Application Id: 3958 +21-236-13:21:55.377 00 SPR-I:OPRO Create Time Secs: 1629811315 +21-236-13:21:55.377 00 SPR-I:OPRO Create Time Subsecs: 0 +21-236-13:21:55.377 00 SPR-I:OPRO File Description: File Write Test File Table +21-236-13:21:55.377 00 SPR-I:OPRO +21-236-13:21:55.377 00 SPR-I:OPRO ********** DS.FILE_TBL ********** +21-236-13:21:55.377 00 SPR-I:OPRO +21-236-13:21:55.377 00 SPR-I:OPRO Start Mnemonic: SCX_CPU1_DS_DF_TBL_Description +21-236-13:21:55.377 00 SPR-I:OPRO Byte Offset: 0 +21-236-13:21:55.377 00 SPR-I:OPRO End Mnemonic: SCX_CPU1_DS_DF_TBL[1].SeqCnt +21-236-13:21:55.378 00 SPR-I:OPRO Number of Bytes: 464 +21-236-13:21:55.378 00 SPR-I:OPRO +21-236-13:21:55.385 00 SPR-I:STS Loading file /s/opr/accounts/global/prc/partial_cvt_to_file_beta.i +21-236-13:21:55.386 00 SPR-I:STS Procedure PARTIAL_CVT_TO_FILE_BETA started +21-236-13:21:55.386 00 SPR-I:OPRO The unix command is cd /s/opr/accounts/cfs_test/image;cvt2file -s 116 -e 579 P0F76 ds.file_tbl +21-236-13:21:55.390 00 SPR-I:STS Procedure PARTIAL_CVT_TO_FILE_BETA completed +21-236-13:21:55.390 00 SPR-I:OPRO cd /s/opr/accounts/cfs_test/image;cat ds_fwfile.tbl.tmp ds.file_tbl > ds_fwfile.tbl +21-236-13:21:55.394 00 SPR-I:OPRO cd /s/opr/accounts/cfs_test/image;rm ds.file_tbl ds_fwfile.tbl.tmp +21-236-13:21:55.398 00 SPR-I:STS Procedure CREATE_TBL_FILE_FROM_CVT completed +21-236-13:21:55.880 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/create_tbl_file_from_cvt.i +21-236-13:21:55.880 00 SPR-I:STS Procedure CREATE_TBL_FILE_FROM_CVT started +21-236-13:21:55.882 00 SPR-I:OPRO ********** ds_fwfilter.tbl ********** +21-236-13:21:55.882 00 SPR-I:OPRO +21-236-13:21:55.882 00 SPR-I:OPRO Content Type: cFE1 +21-236-13:21:55.882 00 SPR-I:OPRO Sub Type: 8 +21-236-13:21:55.882 00 SPR-I:OPRO Length: 12 +21-236-13:21:55.882 00 SPR-I:OPRO Spacecraft Id: SCX +21-236-13:21:55.882 00 SPR-I:OPRO Processor Id: CPU3 +21-236-13:21:55.882 00 SPR-I:OPRO Application Id: 3959 +21-236-13:21:55.882 00 SPR-I:OPRO Create Time Secs: 1629811315 +21-236-13:21:55.882 00 SPR-I:OPRO Create Time Subsecs: 0 +21-236-13:21:55.882 00 SPR-I:OPRO File Description: File Write Test Filter Table +21-236-13:21:55.882 00 SPR-I:OPRO +21-236-13:21:55.882 00 SPR-I:OPRO ********** DS.FILTER_TBL ********** +21-236-13:21:55.882 00 SPR-I:OPRO +21-236-13:21:55.882 00 SPR-I:OPRO Start Mnemonic: SCX_CPU1_DS_PF_TBL_Description +21-236-13:21:55.882 00 SPR-I:OPRO Byte Offset: 0 +21-236-13:21:55.882 00 SPR-I:OPRO End Mnemonic: SCX_CPU1_DS_PF_TBL[255].FilterParams[3].O_Value +21-236-13:21:55.882 00 SPR-I:OPRO Number of Bytes: 9248 +21-236-13:21:55.883 00 SPR-I:OPRO +21-236-13:21:55.887 00 SPR-I:STS Loading file /s/opr/accounts/global/prc/partial_cvt_to_file_beta.i +21-236-13:21:55.887 00 SPR-I:STS Procedure PARTIAL_CVT_TO_FILE_BETA started +21-236-13:21:55.888 00 SPR-I:OPRO The unix command is cd /s/opr/accounts/cfs_test/image;cvt2file -s 116 -e 9363 P0F77 ds.filter_tbl +21-236-13:21:55.892 00 SPR-I:STS Procedure PARTIAL_CVT_TO_FILE_BETA completed +21-236-13:21:55.892 00 SPR-I:OPRO cd /s/opr/accounts/cfs_test/image;cat ds_fwfilter.tbl.tmp ds.filter_tbl > ds_fwfilter.tbl +21-236-13:21:55.895 00 SPR-I:OPRO cd /s/opr/accounts/cfs_test/image;rm ds.filter_tbl ds_fwfilter.tbl.tmp +21-236-13:21:55.899 00 SPR-I:STS Procedure CREATE_TBL_FILE_FROM_CVT completed +21-236-13:21:55.899 00 SCX_CPU1_DS_TB/154 +21-236-13:21:55.900 00 SCX_CPU1_DS_TB/155 write ";*********************************************************************" +21-236-13:21:55.900 00 SPR-I:OPRO ;********************************************************************* +21-236-13:21:55.900 00 SCX_CPU1_DS_TB/156 write "; End procedure SCX_CPU1_ds_tbl2" +21-236-13:21:55.900 00 SPR-I:OPRO ; End procedure SCX_CPU1_ds_tbl2 +21-236-13:21:55.900 00 SCX_CPU1_DS_TB/157 write ";*********************************************************************" +21-236-13:21:55.900 00 SPR-I:OPRO ;********************************************************************* +21-236-13:21:55.900 00 SCX_CPU1_DS_TB/158 ENDPROC +21-236-13:21:55.900 00 SPR-I:STS Procedure SCX_CPU1_DS_TBL2 completed +21-236-13:21:55.900 00 SCX_CPU1_DS_FI/285 +21-236-13:21:55.900 00 SCX_CPU1_DS_FI/287 local destFileName = DS_DEF_DEST_FILENAME +21-236-13:21:55.900 00 SCX_CPU1_DS_FI/288 local filterFileName = DS_DEF_FILTER_FILENAME +21-236-13:21:55.900 00 SCX_CPU1_DS_FI/289 local slashLoc = %locate(destFileName,"/") +21-236-13:21:55.900 00 SCX_CPU1_DS_FI/290 +21-236-13:21:55.900 00 SCX_CPU1_DS_FI/292 while (slashLoc <> 0) do +21-236-13:21:55.900 00 SCX_CPU1_DS_FI/293 destFileName = %substring(destFileName,slashLoc+1,%length(destFileName)) +21-236-13:21:55.901 00 SCX_CPU1_DS_FI/294 slashLoc = %locate(destFileName,"/") +21-236-13:21:55.901 00 SCX_CPU1_DS_FI/295 enddo +21-236-13:21:55.901 00 SCX_CPU1_DS_FI/293 destFileName = %substring(destFileName,slashLoc+1,%length(destFileName)) +21-236-13:21:55.901 00 SCX_CPU1_DS_FI/294 slashLoc = %locate(destFileName,"/") +21-236-13:21:55.901 00 SCX_CPU1_DS_FI/295 enddo +21-236-13:21:55.901 00 SCX_CPU1_DS_FI/296 +21-236-13:21:55.901 00 SCX_CPU1_DS_FI/297 write "==> Default Destination File Table filename = '",destFileName,"'" +21-236-13:21:55.901 00 SPR-I:OPRO ==> Default Destination File Table filename = 'ds_file_tbl.tbl' +21-236-13:21:55.901 00 SCX_CPU1_DS_FI/298 +21-236-13:21:55.901 00 SCX_CPU1_DS_FI/299 slashLoc = %locate(filterFileName,"/") +21-236-13:21:55.901 00 SCX_CPU1_DS_FI/301 while (slashLoc <> 0) do +21-236-13:21:55.901 00 SCX_CPU1_DS_FI/302 filterFileName = %substring(filterFileName,slashLoc+1,%length(filterFileName)) +21-236-13:21:55.901 00 SCX_CPU1_DS_FI/303 slashLoc = %locate(filterFileName,"/") +21-236-13:21:55.922 00 SCX_CPU1_DS_FI/304 enddo +21-236-13:21:55.922 00 SCX_CPU1_DS_FI/302 filterFileName = %substring(filterFileName,slashLoc+1,%length(filterFileName)) +21-236-13:21:55.922 00 SCX_CPU1_DS_FI/303 slashLoc = %locate(filterFileName,"/") +21-236-13:21:55.922 00 SCX_CPU1_DS_FI/304 enddo +21-236-13:21:55.922 00 SCX_CPU1_DS_FI/305 +21-236-13:21:55.922 00 SCX_CPU1_DS_FI/306 write "==> Default Filter Table filename = '",filterFileName,"'" +21-236-13:21:55.922 00 SPR-I:OPRO ==> Default Filter Table filename = 'ds_filter_tbl.tbl' +21-236-13:21:55.922 00 SCX_CPU1_DS_FI/307 +21-236-13:21:55.922 00 SCX_CPU1_DS_FI/309 ;s ftp_file("CF:0", "ds_fwfile.tbl", destFileName, hostCPU, "P") +21-236-13:21:55.923 00 SCX_CPU1_DS_FI/310 ;s ftp_file("CF:0", "ds_fwfilter.tbl", filterFileName, hostCPU, "P") +21-236-13:21:55.923 00 SCX_CPU1_DS_FI/311 +21-236-13:21:55.923 00 SCX_CPU1_DS_FI/312 ;wait 5 +21-236-13:21:55.923 00 SCX_CPU1_DS_FI/313 +21-236-13:21:55.923 00 SCX_CPU1_DS_FI/314 ; Load the File table created above +21-236-13:21:55.923 00 SCX_CPU1_DS_FI/315 s load_table("ds_fwfile.tbl",hostCPU) +21-236-13:21:55.923 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/load_table.i +21-236-13:21:55.923 00 SPR-I:STS Procedure LOAD_TABLE started +21-236-13:21:55.923 00 LOAD_TABLE/2 ; +21-236-13:21:55.923 00 LOAD_TABLE/3 local logging = %liv (log_procedure) +21-236-13:21:55.923 00 LOAD_TABLE/4 %liv (log_procedure) = FALSE +21-236-13:21:55.925 00 SPR-I:OPRO Table Filename: ds_fwfile.tbl +21-236-13:21:55.926 00 SPR-I:OPRO The perl command is: perl /s/opr/accounts/global/tools/table_ftp.pl 192.168.1.8 ds_fwfile.tbl RAM:0 3 +21-236-13:21:55.926 00 SPR-I:OPRO +21-236-13:21:56.055 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-13:21:56.056 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:22:01.060 00 SPR-I:OPRO +21-236-13:22:01.061 00 SPR-I:OPRO Sending Command: /SCX_CPU1_TBL_LOAD LFILENAME="/ram/ds_fwfile.tbl" +21-236-13:22:01.075 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:22:01.591 00 TLMH-I:STS 58-012-14:04:04.001 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=12 Successful load of '/ram/ds_fwfile.tbl' into 'DS.FILE_TBL' working buffer +21-236-13:22:02.076 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:22:02.076 00 LOAD_TABLE/195 +21-236-13:22:02.076 00 LOAD_TABLE/196 ENDPROC +21-236-13:22:02.076 00 SPR-I:STS Procedure LOAD_TABLE completed +21-236-13:22:02.076 00 SCX_CPU1_DS_FI/316 wait 5 +21-236-13:22:02.076 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:22:07.080 00 SCX_CPU1_DS_FI/317 +21-236-13:22:07.080 00 SCX_CPU1_DS_FI/318 /SCX_CPU1_TBL_VALIDATE INACTIVE VTABLENAME=fileTblName +21-236-13:22:07.095 00 SCX_CPU1_DS_FI/319 wait 5 +21-236-13:22:07.095 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:22:09.589 00 TLMH-I:STS 58-012-14:04:12.004 INFO CPU=CPU1 APPNAME=DS EVENT ID=10 Destination file table verify results: desc text = OK, good entries = 8, bad = 0, unused = 8 +21-236-13:22:09.590 00 TLMH-I:STS 58-012-14:04:12.004 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=36 DS validation successful for Inactive 'DS.FILE_TBL' +21-236-13:22:12.100 00 SCX_CPU1_DS_FI/320 +21-236-13:22:12.100 00 SCX_CPU1_DS_FI/321 /SCX_CPU1_TBL_ACTIVATE ATableName=fileTblName +21-236-13:22:12.115 00 SCX_CPU1_DS_FI/322 wait 5 +21-236-13:22:12.115 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:22:13.590 00 TLMH-I:STS 58-012-14:04:16.003 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=37 DS Successfully Updated 'DS.FILE_TBL' +21-236-13:22:17.120 00 SCX_CPU1_DS_FI/323 +21-236-13:22:17.120 00 SCX_CPU1_DS_FI/324 ; Load the Filter table created above +21-236-13:22:17.120 00 SCX_CPU1_DS_FI/325 s load_table("ds_fwfilter.tbl",hostCPU) +21-236-13:22:17.121 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/load_table.i +21-236-13:22:17.122 00 SPR-I:STS Procedure LOAD_TABLE started +21-236-13:22:17.122 00 LOAD_TABLE/2 ; +21-236-13:22:17.122 00 LOAD_TABLE/3 local logging = %liv (log_procedure) +21-236-13:22:17.123 00 LOAD_TABLE/4 %liv (log_procedure) = FALSE +21-236-13:22:17.126 00 SPR-I:OPRO Table Filename: ds_fwfilter.tbl +21-236-13:22:17.127 00 SPR-I:OPRO The perl command is: perl /s/opr/accounts/global/tools/table_ftp.pl 192.168.1.8 ds_fwfilter.tbl RAM:0 3 +21-236-13:22:17.127 00 SPR-I:OPRO +21-236-13:22:17.260 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-13:22:17.260 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:22:22.264 00 SPR-I:OPRO +21-236-13:22:22.267 00 SPR-I:OPRO Sending Command: /SCX_CPU1_TBL_LOAD LFILENAME="/ram/ds_fwfilter.tbl" +21-236-13:22:22.284 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:22:23.093 00 TLMH-I:STS 58-012-14:04:25.501 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=12 Successful load of '/ram/ds_fwfilter.tbl' into 'DS.FILTER_TBL' working buffer +21-236-13:22:26.289 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:22:26.291 00 LOAD_TABLE/195 +21-236-13:22:26.291 00 LOAD_TABLE/196 ENDPROC +21-236-13:22:26.291 00 SPR-I:STS Procedure LOAD_TABLE completed +21-236-13:22:26.292 00 SCX_CPU1_DS_FI/326 wait 5 +21-236-13:22:26.292 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:22:31.296 00 SCX_CPU1_DS_FI/327 /SCX_CPU1_TBL_VALIDATE INACTIVE VTABLENAME=filterTblName +21-236-13:22:31.311 00 SCX_CPU1_DS_FI/328 wait 5 +21-236-13:22:31.311 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:22:33.595 00 TLMH-I:STS 58-012-14:04:36.004 INFO CPU=CPU1 APPNAME=DS EVENT ID=12 Filter table verify results: desc text = OK, good entries = 2, bad = 0, unused = 254 +21-236-13:22:33.596 00 TLMH-I:STS 58-012-14:04:36.004 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=36 DS validation successful for Inactive 'DS.FILTER_TBL' +21-236-13:22:36.316 00 SCX_CPU1_DS_FI/329 /SCX_CPU1_TBL_ACTIVATE ATableName=filterTblName +21-236-13:22:36.330 00 SCX_CPU1_DS_FI/330 wait 5 +21-236-13:22:36.331 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:22:37.590 00 TLMH-I:STS 58-012-14:04:40.004 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=37 DS Successfully Updated 'DS.FILTER_TBL' +21-236-13:22:41.335 00 SCX_CPU1_DS_FI/331 +21-236-13:22:41.335 00 SCX_CPU1_DS_FI/332 write ";***********************************************************************" +21-236-13:22:41.335 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:22:41.336 00 SCX_CPU1_DS_FI/333 write "; Step 1.3: Display the Housekeeping pages " +21-236-13:22:41.336 00 SPR-I:OPRO ; Step 1.3: Display the Housekeeping pages +21-236-13:22:41.336 00 SCX_CPU1_DS_FI/334 write ";***********************************************************************" +21-236-13:22:41.336 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:22:41.336 00 SCX_CPU1_DS_FI/335 page SCX_CPU1_DS_HK +21-236-13:22:41.459 00 SCX_CPU1_DS_FI/336 page SCX_CPU1_TST_DS_HK +21-236-13:22:41.535 00 SCX_CPU1_DS_FI/337 page SCX_CPU1_DS_FILTER_TBL +21-236-13:22:41.619 00 SCX_CPU1_DS_FI/338 page SCX_CPU1_DS_FILE_TBL +21-236-13:22:41.726 00 SCX_CPU1_DS_FI/339 +21-236-13:22:41.726 00 SCX_CPU1_DS_FI/340 write ";***********************************************************************" +21-236-13:22:41.726 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:22:41.726 00 SCX_CPU1_DS_FI/341 write "; Step 1.4: Start the Data Storage (DS) and Test Applications. " +21-236-13:22:41.726 00 SPR-I:OPRO ; Step 1.4: Start the Data Storage (DS) and Test Applications. +21-236-13:22:41.726 00 SCX_CPU1_DS_FI/342 write ";***********************************************************************" +21-236-13:22:41.726 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:22:41.726 00 SCX_CPU1_DS_FI/343 ;s scx_cpu1_ds_start_apps("1.4") +21-236-13:22:41.726 00 SCX_CPU1_DS_FI/344 +21-236-13:22:41.726 00 SCX_CPU1_DS_FI/346 local hkPktId +21-236-13:22:41.726 00 SCX_CPU1_DS_FI/347 +21-236-13:22:41.726 00 SCX_CPU1_DS_FI/349 hkPktId = "p0B8" +21-236-13:22:41.726 00 SCX_CPU1_DS_FI/350 +21-236-13:22:41.726 00 SCX_CPU1_DS_FI/353 local seqTlmItem = hkPktId & "scnt" +21-236-13:22:41.726 00 SCX_CPU1_DS_FI/354 local currSCnt = {seqTlmItem} +21-236-13:22:41.726 00 SCX_CPU1_DS_FI/355 local expectedSCnt = currSCnt + 2 +21-236-13:22:41.726 00 SCX_CPU1_DS_FI/356 +21-236-13:22:41.726 00 SCX_CPU1_DS_FI/357 ut_tlmwait {seqTlmItem}, {expectedSCnt} +21-236-13:22:41.730 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:22:49.738 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:22:49.739 00 SCX_CPU1_DS_FI/358 if (UT_TW_Status = UT_Success) then +21-236-13:22:49.740 00 SCX_CPU1_DS_FI/359 write "<*> Passed (8000) - Housekeeping packet is being generated." +21-236-13:22:49.740 00 SPR-I:OPRO <*> Passed (8000) - Housekeeping packet is being generated. +21-236-13:22:49.740 00 SCX_CPU1_DS_FI/360 ut_setrequirements DS_8000, "P" +21-236-13:22:49.743 00 SCX_CPU1_DS_FI/364 endif +21-236-13:22:49.743 00 SCX_CPU1_DS_FI/365 +21-236-13:22:49.743 00 SCX_CPU1_DS_FI/369 if (SCX_CPU1_DS_CMDPC = 0) AND (SCX_CPU1_DS_CMDEC = 0) AND ;; +21-236-13:22:49.744 00 SCX_CPU1_DS_FI/370 (SCX_CPU1_DS_DisabledPktCnt = 0) AND ;; +21-236-13:22:49.744 00 SCX_CPU1_DS_FI/371 (SCX_CPU1_DS_FilteredPktCnt = 0) AND (SCX_CPU1_DS_PassedPktCnt = 0) AND ;; +21-236-13:22:49.744 00 SCX_CPU1_DS_FI/372 (SCX_CPU1_DS_FileWriteCnt = 0) AND (SCX_CPU1_DS_FileWriteErrCnt = 0) AND ;; +21-236-13:22:49.744 00 SCX_CPU1_DS_FI/373 (SCX_CPU1_DS_FileUpdCnt = 0) AND (SCX_CPU1_DS_FileUpdErrCnt = 0) AND ;; +21-236-13:22:49.744 00 SCX_CPU1_DS_FI/374 (SCX_CPU1_DS_DestLoadCnt = 2) AND (SCX_CPU1_DS_DestPtrErrCnt = 0) AND ;; +21-236-13:22:49.744 00 SCX_CPU1_DS_FI/375 (SCX_CPU1_DS_FilterLoadCnt = 2) AND (SCX_CPU1_DS_FilterPtrErrCnt = 0) then +21-236-13:22:49.745 00 SCX_CPU1_DS_FI/376 write "<*> Passed (9000) - Housekeeping telemetry initialized properly." +21-236-13:22:49.746 00 SPR-I:OPRO <*> Passed (9000) - Housekeeping telemetry initialized properly. +21-236-13:22:49.746 00 SCX_CPU1_DS_FI/377 ut_setrequirements DS_9000, "P" +21-236-13:22:49.749 00 SCX_CPU1_DS_FI/394 endif +21-236-13:22:49.749 00 SCX_CPU1_DS_FI/395 +21-236-13:22:49.749 00 SCX_CPU1_DS_FI/396 wait 5 +21-236-13:22:49.749 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:22:54.752 00 SCX_CPU1_DS_FI/397 +21-236-13:22:54.752 00 SCX_CPU1_DS_FI/398 write ";***********************************************************************" +21-236-13:22:54.752 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:22:54.752 00 SCX_CPU1_DS_FI/399 write "; Step 1.5: Enable DEBUG Event Messages " +21-236-13:22:54.752 00 SPR-I:OPRO ; Step 1.5: Enable DEBUG Event Messages +21-236-13:22:54.753 00 SCX_CPU1_DS_FI/400 write ";***********************************************************************" +21-236-13:22:54.753 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:22:54.753 00 SCX_CPU1_DS_FI/401 local cmdCtr = SCX_CPU1_EVS_CMDPC + 2 +21-236-13:22:54.753 00 SCX_CPU1_DS_FI/402 +21-236-13:22:54.753 00 SCX_CPU1_DS_FI/404 /SCX_CPU1_EVS_EnaAppEVTType Application=DSAppName DEBUG +21-236-13:22:54.769 00 SCX_CPU1_DS_FI/405 wait 2 +21-236-13:22:54.769 00 SPR-I:STTE Wait mode - waiting 2 seconds ... +21-236-13:22:56.771 00 SCX_CPU1_DS_FI/406 /SCX_CPU1_EVS_EnaAppEVTType Application="CFE_TBL" DEBUG +21-236-13:22:56.784 00 SCX_CPU1_DS_FI/407 +21-236-13:22:56.784 00 SCX_CPU1_DS_FI/408 ut_tlmwait SCX_CPU1_EVS_CMDPC, {cmdCtr} +21-236-13:22:56.787 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:22:57.788 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:22:57.790 00 SCX_CPU1_DS_FI/409 if (UT_TW_Status = UT_Success) then +21-236-13:22:57.790 00 SCX_CPU1_DS_FI/410 write "<*> Passed - Enable Debug events command sent properly." +21-236-13:22:57.790 00 SPR-I:OPRO <*> Passed - Enable Debug events command sent properly. +21-236-13:22:57.790 00 SCX_CPU1_DS_FI/413 endif +21-236-13:22:57.790 00 SCX_CPU1_DS_FI/414 +21-236-13:22:57.790 00 SCX_CPU1_DS_FI/415 write ";***********************************************************************" +21-236-13:22:57.790 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:22:57.791 00 SCX_CPU1_DS_FI/416 write "; Step 2.0: File Creation Tests." +21-236-13:22:57.791 00 SPR-I:OPRO ; Step 2.0: File Creation Tests. +21-236-13:22:57.791 00 SCX_CPU1_DS_FI/417 write ";***********************************************************************" +21-236-13:22:57.791 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:22:57.791 00 SCX_CPU1_DS_FI/418 write "; Step 2.1: Utilizing the TST_DS application, send a message to the DS" +21-236-13:22:57.791 00 SPR-I:OPRO ; Step 2.1: Utilizing the TST_DS application, send a message to the DS +21-236-13:22:57.791 00 SCX_CPU1_DS_FI/419 write "; application that will pass the filtering algorithm and uses a " +21-236-13:22:57.791 00 SPR-I:OPRO ; application that will pass the filtering algorithm and uses a +21-236-13:22:57.791 00 SCX_CPU1_DS_FI/420 write "; Destination File Table entry that specifies Sequence file type naming" +21-236-13:22:57.792 00 SPR-I:OPRO ; Destination File Table entry that specifies Sequence file type naming +21-236-13:22:57.792 00 SCX_CPU1_DS_FI/421 write ";***********************************************************************" +21-236-13:22:57.792 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:22:57.792 00 SCX_CPU1_DS_FI/422 write "; Step 2.1.1: Dump the Destination File and Packet Filter Tables" +21-236-13:22:57.792 00 SPR-I:OPRO ; Step 2.1.1: Dump the Destination File and Packet Filter Tables +21-236-13:22:57.829 00 SCX_CPU1_DS_FI/423 write ";***********************************************************************" +21-236-13:22:57.829 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:22:57.829 00 SCX_CPU1_DS_FI/425 s get_tbl_to_cvt (ramDir,filterTblName,"A","cpu1_filtertbl211",hostCPU,filterTblPktId) +21-236-13:22:57.830 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/get_tbl_to_cvt.i +21-236-13:22:57.833 00 SPR-I:STS Procedure GET_TBL_TO_CVT started +21-236-13:22:57.834 00 GET_TBL_TO_CVT/2 ; +21-236-13:22:57.834 00 GET_TBL_TO_CVT/3 local logging = %liv (log_procedure) +21-236-13:22:57.834 00 GET_TBL_TO_CVT/4 %liv (log_procedure) = FALSE +21-236-13:22:57.850 00 SPR-I:OPRO Sending Command: /SCX_CPU1_TBL_DUMP ACTIVE DTABLENAME="DS.FILTER_TBL" DFILENAME="/ram/cpu1_filtertbl211" +21-236-13:22:57.854 00 SPR-I:STTE Wait mode - waiting 15 seconds ... +21-236-13:22:58.588 00 TLMH-I:STS 58-012-14:05:01.002 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=14 Successfully dumped Table 'DS.FILTER_TBL' to '/ram/cpu1_filtertbl211' +21-236-13:23:12.865 00 SPR-I:OPRO +21-236-13:23:12.865 00 SPR-I:OPRO The TBLNAME is: DS.FILTER_TBL +21-236-13:23:12.865 00 SPR-I:OPRO The APID is: P0F77 +21-236-13:23:12.865 00 SPR-I:OPRO The CPU is: CPU3 +21-236-13:23:12.866 00 SPR-I:OPRO The IP Address is: 192.168.1.8 +21-236-13:23:12.869 00 SPR-I:OPRO The perl command is: perl /s/opr/accounts/global/tools/ftp.pl RAM:0 cpu1_filtertbl211 cpu1_filtertbl211 binary 192.168.1.8 +21-236-13:23:13.044 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-13:23:13.044 00 SPR-I:STTE Wait mode - waiting 15 seconds ... +21-236-13:23:28.055 00 SPR-I:OPRO +21-236-13:23:28.102 00 SPR-I:OPRO The unix command is cvt -ws file_list[3959].file_write_time "`date +%y-%j-%T -r /s/opr/accounts/cfs_test/image/cpu1_filtertbl211`" +21-236-13:23:28.102 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:23:33.107 00 GET_TBL_TO_CVT/238 +21-236-13:23:33.107 00 GET_TBL_TO_CVT/239 ENDPROC +21-236-13:23:33.107 00 SPR-I:STS Procedure GET_TBL_TO_CVT completed +21-236-13:23:33.108 00 SCX_CPU1_DS_FI/427 s get_tbl_to_cvt (ramDir,fileTblName,"A","cpu1_filetbl211",hostCPU,fileTblPktId) +21-236-13:23:33.109 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/get_tbl_to_cvt.i +21-236-13:23:33.111 00 SPR-I:STS Procedure GET_TBL_TO_CVT started +21-236-13:23:33.111 00 GET_TBL_TO_CVT/2 ; +21-236-13:23:33.112 00 GET_TBL_TO_CVT/3 local logging = %liv (log_procedure) +21-236-13:23:33.112 00 GET_TBL_TO_CVT/4 %liv (log_procedure) = FALSE +21-236-13:23:33.129 00 SPR-I:OPRO Sending Command: /SCX_CPU1_TBL_DUMP ACTIVE DTABLENAME="DS.FILE_TBL" DFILENAME="/ram/cpu1_filetbl211" +21-236-13:23:33.142 00 SPR-I:STTE Wait mode - waiting 15 seconds ... +21-236-13:23:33.590 00 TLMH-I:STS 58-012-14:05:36.002 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=14 Successfully dumped Table 'DS.FILE_TBL' to '/ram/cpu1_filetbl211' +21-236-13:23:48.153 00 SPR-I:OPRO +21-236-13:23:48.153 00 SPR-I:OPRO The TBLNAME is: DS.FILE_TBL +21-236-13:23:48.153 00 SPR-I:OPRO The APID is: P0F76 +21-236-13:23:48.153 00 SPR-I:OPRO The CPU is: CPU3 +21-236-13:23:48.153 00 SPR-I:OPRO The IP Address is: 192.168.1.8 +21-236-13:23:48.155 00 SPR-I:OPRO The perl command is: perl /s/opr/accounts/global/tools/ftp.pl RAM:0 cpu1_filetbl211 cpu1_filetbl211 binary 192.168.1.8 +21-236-13:23:48.308 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-13:23:48.308 00 SPR-I:STTE Wait mode - waiting 15 seconds ... +21-236-13:23:52.572 00 SPR-I:OPRI --> page SCX_CPU1_DS_FILE_HK +21-236-13:24:03.429 00 SPR-I:OPRO +21-236-13:24:03.445 00 SPR-I:OPRO The unix command is cvt -ws file_list[3958].file_write_time "`date +%y-%j-%T -r /s/opr/accounts/cfs_test/image/cpu1_filetbl211`" +21-236-13:24:03.445 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:24:08.449 00 GET_TBL_TO_CVT/238 +21-236-13:24:08.449 00 GET_TBL_TO_CVT/239 ENDPROC +21-236-13:24:08.449 00 SPR-I:STS Procedure GET_TBL_TO_CVT completed +21-236-13:24:08.450 00 SCX_CPU1_DS_FI/428 +21-236-13:24:08.451 00 SCX_CPU1_DS_FI/429 write ";***********************************************************************" +21-236-13:24:08.451 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:24:08.451 00 SCX_CPU1_DS_FI/430 write "; Step 2.1.2: Parse the tables to find a MessageID to use for the " +21-236-13:24:08.451 00 SPR-I:OPRO ; Step 2.1.2: Parse the tables to find a MessageID to use for the +21-236-13:24:08.451 00 SCX_CPU1_DS_FI/431 write "; Sequence file type naming entry." +21-236-13:24:08.451 00 SPR-I:OPRO ; Sequence file type naming entry. +21-236-13:24:08.451 00 SCX_CPU1_DS_FI/432 write ";***********************************************************************" +21-236-13:24:08.451 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:24:08.451 00 SCX_CPU1_DS_FI/434 logging = %liv (log_procedure) +21-236-13:24:08.452 00 SCX_CPU1_DS_FI/435 %liv (log_procedure) = FALSE +21-236-13:24:08.745 00 SCX_CPU1_DS_FI/463 +21-236-13:24:08.745 00 SCX_CPU1_DS_FI/464 write "==> Found file entry at ", seqFileEntry +21-236-13:24:08.745 00 SPR-I:OPRO ==> Found file entry at 0 +21-236-13:24:08.745 00 SCX_CPU1_DS_FI/465 write "==> Found filter entry at ", filterEntry +21-236-13:24:08.745 00 SPR-I:OPRO ==> Found filter entry at 0 +21-236-13:24:08.745 00 SCX_CPU1_DS_FI/466 +21-236-13:24:08.745 00 SCX_CPU1_DS_FI/467 local seqMsgID = SCX_CPU1_DS_PF_TBL[filterEntry].MessageID +21-236-13:24:08.746 00 SCX_CPU1_DS_FI/468 write "==> Using MID = ", seqMsgID +21-236-13:24:08.746 00 SPR-I:OPRO ==> Using MID = 4096 +21-236-13:24:08.746 00 SCX_CPU1_DS_FI/469 +21-236-13:24:08.746 00 SCX_CPU1_DS_FI/470 write ";***********************************************************************" +21-236-13:24:08.746 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:24:08.746 00 SCX_CPU1_DS_FI/471 write "; Step 2.1.3: Send the TST_DS command to send a message to DS using the" +21-236-13:24:08.746 00 SPR-I:OPRO ; Step 2.1.3: Send the TST_DS command to send a message to DS using the +21-236-13:24:08.746 00 SCX_CPU1_DS_FI/472 write "; MessageID found above. Since the message being set will not exceed " +21-236-13:24:08.746 00 SPR-I:OPRO ; MessageID found above. Since the message being set will not exceed +21-236-13:24:08.746 00 SCX_CPU1_DS_FI/473 write "; the file size constraint, the FileState HK should contain info about" +21-236-13:24:08.746 00 SPR-I:OPRO ; the file size constraint, the FileState HK should contain info about +21-236-13:24:08.746 00 SCX_CPU1_DS_FI/474 write "; the file that was created. " +21-236-13:24:08.746 00 SPR-I:OPRO ; the file that was created. +21-236-13:24:08.746 00 SCX_CPU1_DS_FI/475 write ";***********************************************************************" +21-236-13:24:08.746 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:24:08.746 00 SCX_CPU1_DS_FI/477 ut_setupevents "SCX", "CPU1", "TST_DS", TST_DS_MSG1_SENT_INF_EID, "INFO", 1 +21-236-13:24:08.747 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:24:08.747 00 SPR-I:OPRO ; Setup event 1 with TST_DS INFO 5 +21-236-13:24:08.747 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:24:08.748 00 SCX_CPU1_DS_FI/478 +21-236-13:24:08.748 00 SCX_CPU1_DS_FI/479 local expFileWrites = SCX_CPU1_DS_FileWriteCnt + 4 +21-236-13:24:08.748 00 SCX_CPU1_DS_FI/480 local expPassedPkts = SCX_CPU1_DS_PassedPktCnt + 1 +21-236-13:24:08.748 00 SCX_CPU1_DS_FI/481 +21-236-13:24:08.748 00 SCX_CPU1_DS_FI/483 /SCX_CPU1_TST_DS_SENDMESSAGE MsgID=seqMsgID MsgType=1 Pattern=x'55' +21-236-13:24:08.759 00 SCX_CPU1_DS_FI/484 +21-236-13:24:08.759 00 SCX_CPU1_DS_FI/486 ut_tlmwait SCX_CPU1_find_event[1].num_found_messages, 1 +21-236-13:24:08.762 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:24:09.585 00 TLMH-I:STS 58-012-14:06:12.005 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Message Size 116 to MID 0x00001000 +21-236-13:24:09.763 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:24:09.764 00 SCX_CPU1_DS_FI/487 if (UT_TW_Status = UT_Success) then +21-236-13:24:09.764 00 SCX_CPU1_DS_FI/488 write "<*> Passed - Expected Event Msg ",TST_DS_MSG1_SENT_INF_EID," rcv'd." +21-236-13:24:09.764 00 SPR-I:OPRO <*> Passed - Expected Event Msg 5 rcv'd. +21-236-13:24:09.764 00 SCX_CPU1_DS_FI/491 endif +21-236-13:24:09.764 00 SCX_CPU1_DS_FI/492 +21-236-13:24:09.764 00 SCX_CPU1_DS_FI/494 cmdCtr = SCX_CPU1_DS_CMDPC + 1 +21-236-13:24:09.764 00 SCX_CPU1_DS_FI/495 +21-236-13:24:09.764 00 SCX_CPU1_DS_FI/496 /SCX_CPU1_DS_GetFileInfo +21-236-13:24:09.776 00 SCX_CPU1_DS_FI/497 +21-236-13:24:09.776 00 SCX_CPU1_DS_FI/498 ut_tlmwait SCX_CPU1_DS_CMDPC, {cmdCtr} +21-236-13:24:09.779 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:24:10.587 00 TLMH-I:STS 58-012-14:06:13.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:24:13.783 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:24:13.783 00 SCX_CPU1_DS_FI/499 +21-236-13:24:13.783 00 SCX_CPU1_DS_FI/502 local fileName1 = "" +21-236-13:24:13.783 00 SCX_CPU1_DS_FI/503 if (SCX_CPU1_DS_FileState[seqFileEntry].FileName <> "") then +21-236-13:24:13.783 00 SCX_CPU1_DS_FI/504 fileName1 = SCX_CPU1_DS_FileState[seqFileEntry].FileName +21-236-13:24:13.784 00 SCX_CPU1_DS_FI/505 write "<*> Passed (3000;3000.1;3000.1.1) - A file was created with name '",fileName1,"'" +21-236-13:24:13.784 00 SPR-I:OPRO <*> Passed (3000;3000.1;3000.1.1) - A file was created with name '/ram/seq00000100.dat' +21-236-13:24:13.784 00 SCX_CPU1_DS_FI/506 ut_setrequirements DS_3000, "P" +21-236-13:24:13.786 00 SCX_CPU1_DS_FI/507 ut_setrequirements DS_30001, "A" +21-236-13:24:13.787 00 SCX_CPU1_DS_FI/508 ut_setrequirements DS_300011, "A" +21-236-13:24:13.789 00 SCX_CPU1_DS_FI/509 +21-236-13:24:13.789 00 SCX_CPU1_DS_FI/510 if (SCX_CPU1_DS_FileState[seqFileEntry].OpenState = DS_OPEN) then +21-236-13:24:13.789 00 SCX_CPU1_DS_FI/511 write "<*> Passed (3001) - The file is marked 'OPEN'" +21-236-13:24:13.789 00 SPR-I:OPRO <*> Passed (3001) - The file is marked 'OPEN' +21-236-13:24:13.789 00 SCX_CPU1_DS_FI/512 ut_setrequirements DS_3001, "P" +21-236-13:24:13.838 00 SCX_CPU1_DS_FI/513 endif +21-236-13:24:13.838 00 SCX_CPU1_DS_FI/514 +21-236-13:24:13.838 00 SCX_CPU1_DS_FI/516 if (expFileWrites = SCX_CPU1_DS_FileWriteCnt) AND ;; +21-236-13:24:13.838 00 SCX_CPU1_DS_FI/517 (expPassedPkts = SCX_CPU1_DS_PassedPktCnt) then +21-236-13:24:13.838 00 SCX_CPU1_DS_FI/518 write "<*> Passed - The file write and passed packet counters are correct." +21-236-13:24:13.838 00 SPR-I:OPRO <*> Passed - The file write and passed packet counters are correct. +21-236-13:24:13.838 00 SCX_CPU1_DS_FI/523 endif +21-236-13:24:13.838 00 SCX_CPU1_DS_FI/530 endif +21-236-13:24:13.838 00 SCX_CPU1_DS_FI/531 +21-236-13:24:13.838 00 SCX_CPU1_DS_FI/532 wait 5 +21-236-13:24:13.838 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:24:18.842 00 SCX_CPU1_DS_FI/533 +21-236-13:24:18.842 00 SCX_CPU1_DS_FI/534 write ";***********************************************************************" +21-236-13:24:18.842 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:24:18.843 00 SCX_CPU1_DS_FI/535 write "; Step 2.2: Send the TST_DS command again using a message type that " +21-236-13:24:18.843 00 SPR-I:OPRO ; Step 2.2: Send the TST_DS command again using a message type that +21-236-13:24:18.843 00 SCX_CPU1_DS_FI/536 write "; will exceed the file size of the destination file entry." +21-236-13:24:18.843 00 SPR-I:OPRO ; will exceed the file size of the destination file entry. +21-236-13:24:18.843 00 SCX_CPU1_DS_FI/537 write ";***********************************************************************" +21-236-13:24:18.843 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:24:18.843 00 SCX_CPU1_DS_FI/539 ut_setupevents "SCX", "CPU1", "TST_DS", TST_DS_MSG3_SENT_INF_EID, "INFO", 1 +21-236-13:24:18.847 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:24:18.848 00 SPR-I:OPRO ; Setup event 1 with TST_DS INFO 7 +21-236-13:24:18.848 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:24:18.849 00 SCX_CPU1_DS_FI/540 +21-236-13:24:18.849 00 SCX_CPU1_DS_FI/541 local expHdrUpdates = SCX_CPU1_DS_FileUpdCnt + 1 +21-236-13:24:18.849 00 SCX_CPU1_DS_FI/542 +21-236-13:24:18.849 00 SCX_CPU1_DS_FI/544 /SCX_CPU1_TST_DS_SENDMESSAGE MsgID=seqMsgID MsgType=3 Pattern=x'AA' +21-236-13:24:18.862 00 SCX_CPU1_DS_FI/545 +21-236-13:24:18.862 00 SCX_CPU1_DS_FI/547 ut_tlmwait SCX_CPU1_find_event[1].num_found_messages, 1 +21-236-13:24:18.866 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:24:19.588 00 TLMH-I:STS 58-012-14:06:22.003 ERROR CPU=CPU1 APPNAME=DS EVENT ID=61 FILE MOVE error: src = '/ram/seq00000100.dat', tgt = '/ram/movedir/seq00000100.dat', result = -1 +21-236-13:24:19.589 00 TLMH-I:STS 58-012-14:06:22.004 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=7 Sent Message Size 1016 to MID 0x00001000 +21-236-13:24:19.867 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:24:19.869 00 SCX_CPU1_DS_FI/548 if (UT_TW_Status = UT_Success) then +21-236-13:24:19.869 00 SCX_CPU1_DS_FI/549 write "<*> Passed - Expected Event Msg ",TST_DS_MSG3_SENT_INF_EID," rcv'd." +21-236-13:24:19.869 00 SPR-I:OPRO <*> Passed - Expected Event Msg 7 rcv'd. +21-236-13:24:19.869 00 SCX_CPU1_DS_FI/552 endif +21-236-13:24:19.869 00 SCX_CPU1_DS_FI/553 +21-236-13:24:19.869 00 SCX_CPU1_DS_FI/555 cmdCtr = SCX_CPU1_DS_CMDPC + 1 +21-236-13:24:19.869 00 SCX_CPU1_DS_FI/556 +21-236-13:24:19.869 00 SCX_CPU1_DS_FI/557 /SCX_CPU1_DS_GetFileInfo +21-236-13:24:19.883 00 SCX_CPU1_DS_FI/558 +21-236-13:24:19.883 00 SCX_CPU1_DS_FI/559 ut_tlmwait SCX_CPU1_DS_CMDPC, {cmdCtr} +21-236-13:24:19.889 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:24:20.590 00 TLMH-I:STS 58-012-14:06:23.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:24:21.892 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:24:21.893 00 SCX_CPU1_DS_FI/560 +21-236-13:24:21.893 00 SCX_CPU1_DS_FI/563 local fileName2 = "" +21-236-13:24:21.894 00 SCX_CPU1_DS_FI/564 local slashLoc +21-236-13:24:21.894 00 SCX_CPU1_DS_FI/565 if (SCX_CPU1_DS_FileState[seqFileEntry].FileName <> "") then +21-236-13:24:21.894 00 SCX_CPU1_DS_FI/566 fileName2 = SCX_CPU1_DS_FileState[seqFileEntry].FileName +21-236-13:24:21.895 00 SCX_CPU1_DS_FI/567 write "<*> Passed (3000;3000.1;3000.1.1) - A file was created with name '",fileName2,"'" +21-236-13:24:21.895 00 SPR-I:OPRO <*> Passed (3000;3000.1;3000.1.1) - A file was created with name '/ram/seq00000101.dat' +21-236-13:24:21.895 00 SCX_CPU1_DS_FI/568 ut_setrequirements DS_3000, "P" +21-236-13:24:21.897 00 SCX_CPU1_DS_FI/569 ut_setrequirements DS_30001, "A" +21-236-13:24:21.900 00 SCX_CPU1_DS_FI/570 ut_setrequirements DS_300011, "A" +21-236-13:24:21.904 00 SCX_CPU1_DS_FI/571 +21-236-13:24:21.904 00 SCX_CPU1_DS_FI/572 if (SCX_CPU1_DS_FileState[seqFileEntry].OpenState = DS_OPEN) then +21-236-13:24:21.904 00 SCX_CPU1_DS_FI/573 write "<*> Passed (3001) - The file is marked 'OPEN'" +21-236-13:24:21.905 00 SPR-I:OPRO <*> Passed (3001) - The file is marked 'OPEN' +21-236-13:24:21.905 00 SCX_CPU1_DS_FI/574 ut_setrequirements DS_3001, "P" +21-236-13:24:21.957 00 SCX_CPU1_DS_FI/575 endif +21-236-13:24:21.957 00 SCX_CPU1_DS_FI/576 +21-236-13:24:21.957 00 SCX_CPU1_DS_FI/577 if (fileName1 <> fileName2) then +21-236-13:24:21.957 00 SCX_CPU1_DS_FI/578 write "<*> Passed (3001.1) - A new file was opened" +21-236-13:24:21.957 00 SPR-I:OPRO <*> Passed (3001.1) - A new file was opened +21-236-13:24:21.957 00 SCX_CPU1_DS_FI/579 ut_setrequirements DS_30011, "P" +21-236-13:24:21.958 00 SCX_CPU1_DS_FI/583 endif +21-236-13:24:21.958 00 SCX_CPU1_DS_FI/584 +21-236-13:24:21.958 00 SCX_CPU1_DS_FI/586 if (expHdrUpdates = SCX_CPU1_DS_FileUpdCnt) then +21-236-13:24:21.958 00 SCX_CPU1_DS_FI/587 write "<*> Passed - The header update counter incremented as expected." +21-236-13:24:21.958 00 SPR-I:OPRO <*> Passed - The header update counter incremented as expected. +21-236-13:24:21.958 00 SCX_CPU1_DS_FI/591 endif +21-236-13:24:21.958 00 SCX_CPU1_DS_FI/592 +21-236-13:24:21.958 00 SCX_CPU1_DS_FI/594 if (fileName1 <> "") then +21-236-13:24:21.958 00 SCX_CPU1_DS_FI/595 ut_setrequirements DS_3003, "A" +21-236-13:24:21.959 00 SCX_CPU1_DS_FI/596 ut_setrequirements DS_3004, "A" +21-236-13:24:21.975 00 SCX_CPU1_DS_FI/597 write "==> Downloading '",fileName1,"'" +21-236-13:24:21.975 00 SPR-I:OPRO ==> Downloading '/ram/seq00000100.dat' +21-236-13:24:21.975 00 SCX_CPU1_DS_FI/599 slashLoc = %locate(fileName1,"/") +21-236-13:24:21.975 00 SCX_CPU1_DS_FI/600 while (slashLoc <> 0) do +21-236-13:24:21.975 00 SCX_CPU1_DS_FI/601 fileName1 = %substring(fileName1,slashLoc+1,%length(fileName1)) +21-236-13:24:21.975 00 SCX_CPU1_DS_FI/602 slashLoc = %locate(fileName1,"/") +21-236-13:24:21.975 00 SCX_CPU1_DS_FI/603 enddo +21-236-13:24:21.975 00 SCX_CPU1_DS_FI/601 fileName1 = %substring(fileName1,slashLoc+1,%length(fileName1)) +21-236-13:24:21.976 00 SCX_CPU1_DS_FI/602 slashLoc = %locate(fileName1,"/") +21-236-13:24:21.976 00 SCX_CPU1_DS_FI/603 enddo +21-236-13:24:21.976 00 SCX_CPU1_DS_FI/604 write "==> FileName Only = '",fileName1,"'" +21-236-13:24:21.976 00 SPR-I:OPRO ==> FileName Only = 'seq00000100.dat' +21-236-13:24:21.976 00 SCX_CPU1_DS_FI/607 s ftp_file(ramDir, fileName1, fileName1, hostCPU, "G") +21-236-13:24:21.976 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/ftp_file.i +21-236-13:24:21.976 00 SPR-I:STS Procedure FTP_FILE started +21-236-13:24:21.976 00 FTP_FILE/2 ; +21-236-13:24:21.976 00 FTP_FILE/3 local logging = %liv (log_procedure) +21-236-13:24:21.993 00 FTP_FILE/4 %liv (log_procedure) = FALSE +21-236-13:24:22.090 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-13:24:22.090 00 FTP_FILE/85 ENDPROC +21-236-13:24:22.090 00 SPR-I:STS Procedure FTP_FILE completed +21-236-13:24:22.091 00 SCX_CPU1_DS_FI/612 endif +21-236-13:24:22.091 00 SCX_CPU1_DS_FI/619 endif +21-236-13:24:22.091 00 SCX_CPU1_DS_FI/620 +21-236-13:24:22.091 00 SCX_CPU1_DS_FI/621 wait 5 +21-236-13:24:22.091 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:24:27.095 00 SCX_CPU1_DS_FI/622 +21-236-13:24:27.095 00 SCX_CPU1_DS_FI/623 write ";***********************************************************************" +21-236-13:24:27.095 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:24:27.095 00 SCX_CPU1_DS_FI/624 write "; Step 2.3: Test that DS will store at least 1 message in a destination" +21-236-13:24:27.095 00 SPR-I:OPRO ; Step 2.3: Test that DS will store at least 1 message in a destination +21-236-13:24:27.095 00 SCX_CPU1_DS_FI/625 write "; file even though the message will exceed the file size." +21-236-13:24:27.095 00 SPR-I:OPRO ; file even though the message will exceed the file size. +21-236-13:24:27.095 00 SCX_CPU1_DS_FI/626 write ";***********************************************************************" +21-236-13:24:27.095 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:24:27.095 00 SCX_CPU1_DS_FI/627 write "; Step 2.3.1: Send the Close command for the file created in Step 2.2." +21-236-13:24:27.095 00 SPR-I:OPRO ; Step 2.3.1: Send the Close command for the file created in Step 2.2. +21-236-13:24:27.095 00 SCX_CPU1_DS_FI/628 write ";***********************************************************************" +21-236-13:24:27.095 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:24:27.095 00 SCX_CPU1_DS_FI/630 ut_setupevents "SCX", "CPU1", {DSAppName}, DS_CLOSE_CMD_EID, "DEBUG", 1 +21-236-13:24:27.097 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:24:27.097 00 SPR-I:OPRO ; Setup event 1 with DS DEBUG 59 +21-236-13:24:27.097 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:24:27.098 00 SCX_CPU1_DS_FI/631 +21-236-13:24:27.098 00 SCX_CPU1_DS_FI/632 cmdCtr = SCX_CPU1_DS_CMDPC + 1 +21-236-13:24:27.098 00 SCX_CPU1_DS_FI/634 /SCX_CPU1_DS_CloseFile FileIndex=seqFileEntry +21-236-13:24:27.110 00 SCX_CPU1_DS_FI/635 +21-236-13:24:27.110 00 SCX_CPU1_DS_FI/636 ut_tlmwait SCX_CPU1_DS_CMDPC, {cmdCtr} +21-236-13:24:27.115 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:24:27.583 00 TLMH-I:STS 58-012-14:06:30.003 ERROR CPU=CPU1 APPNAME=DS EVENT ID=61 FILE MOVE error: src = '/ram/seq00000101.dat', tgt = '/ram/movedir/seq00000101.dat', result = -1 +21-236-13:24:27.585 00 TLMH-I:STS 58-012-14:06:30.003 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=59 DEST CLOSE command: file table index = 0 +21-236-13:24:30.118 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:24:30.120 00 SCX_CPU1_DS_FI/637 if (UT_TW_Status = UT_Success) then +21-236-13:24:30.120 00 SCX_CPU1_DS_FI/638 write "<*> Passed (1004;5002) - DS Close File command sent properly." +21-236-13:24:30.120 00 SPR-I:OPRO <*> Passed (1004;5002) - DS Close File command sent properly. +21-236-13:24:30.120 00 SCX_CPU1_DS_FI/639 ut_setrequirements DS_1004, "P" +21-236-13:24:30.123 00 SCX_CPU1_DS_FI/640 ut_setrequirements DS_5002, "P" +21-236-13:24:30.126 00 SCX_CPU1_DS_FI/645 endif +21-236-13:24:30.127 00 SCX_CPU1_DS_FI/646 +21-236-13:24:30.127 00 SCX_CPU1_DS_FI/648 ut_tlmwait SCX_CPU1_find_event[1].num_found_messages, 1 +21-236-13:24:30.144 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:24:30.146 00 SCX_CPU1_DS_FI/649 if (UT_TW_Status = UT_Success) then +21-236-13:24:30.146 00 SCX_CPU1_DS_FI/650 write "<*> Passed (1004;5002) - Expected Event Msg ",DS_CLOSE_CMD_EID," rcv'd." +21-236-13:24:30.146 00 SPR-I:OPRO <*> Passed (1004;5002) - Expected Event Msg 59 rcv'd. +21-236-13:24:30.147 00 SCX_CPU1_DS_FI/651 ut_setrequirements DS_1004, "P" +21-236-13:24:30.188 00 SCX_CPU1_DS_FI/652 ut_setrequirements DS_5002, "P" +21-236-13:24:30.188 00 SCX_CPU1_DS_FI/657 endif +21-236-13:24:30.188 00 SCX_CPU1_DS_FI/658 +21-236-13:24:30.188 00 SCX_CPU1_DS_FI/659 wait 5 +21-236-13:24:30.188 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:24:35.192 00 SCX_CPU1_DS_FI/660 +21-236-13:24:35.192 00 SCX_CPU1_DS_FI/661 write ";***********************************************************************" +21-236-13:24:35.192 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:24:35.192 00 SCX_CPU1_DS_FI/662 write "; Step 2.3.2: Send the TST_DS_SendMessage command using a message type " +21-236-13:24:35.193 00 SPR-I:OPRO ; Step 2.3.2: Send the TST_DS_SendMessage command using a message type +21-236-13:24:35.193 00 SCX_CPU1_DS_FI/663 write "; that exceeds the size of the destination file entry." +21-236-13:24:35.193 00 SPR-I:OPRO ; that exceeds the size of the destination file entry. +21-236-13:24:35.193 00 SCX_CPU1_DS_FI/664 write ";***********************************************************************" +21-236-13:24:35.193 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:24:35.193 00 SCX_CPU1_DS_FI/666 ut_setupevents "SCX", "CPU1", "TST_DS", TST_DS_MSG5_SENT_INF_EID, "INFO", 1 +21-236-13:24:35.197 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:24:35.197 00 SPR-I:OPRO ; Setup event 1 with TST_DS INFO 9 +21-236-13:24:35.197 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:24:35.198 00 SCX_CPU1_DS_FI/667 +21-236-13:24:35.198 00 SCX_CPU1_DS_FI/669 /SCX_CPU1_TST_DS_SENDMESSAGE MsgID=seqMsgID MsgType=5 Pattern=x'A5' +21-236-13:24:35.211 00 SCX_CPU1_DS_FI/670 +21-236-13:24:35.211 00 SCX_CPU1_DS_FI/672 ut_tlmwait SCX_CPU1_find_event[1].num_found_messages, 1 +21-236-13:24:35.219 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:24:36.085 00 TLMH-I:STS 58-012-14:06:38.501 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=9 Sent Message Size 1516 to MID 0x00001000 +21-236-13:24:36.220 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:24:36.222 00 SCX_CPU1_DS_FI/673 if (UT_TW_Status = UT_Success) then +21-236-13:24:36.222 00 SCX_CPU1_DS_FI/674 write "<*> Passed - Expected Event Msg ",TST_DS_MSG5_SENT_INF_EID," rcv'd." +21-236-13:24:36.222 00 SPR-I:OPRO <*> Passed - Expected Event Msg 9 rcv'd. +21-236-13:24:36.222 00 SCX_CPU1_DS_FI/677 endif +21-236-13:24:36.222 00 SCX_CPU1_DS_FI/678 +21-236-13:24:36.222 00 SCX_CPU1_DS_FI/680 cmdCtr = SCX_CPU1_DS_CMDPC + 1 +21-236-13:24:36.223 00 SCX_CPU1_DS_FI/681 +21-236-13:24:36.223 00 SCX_CPU1_DS_FI/682 /SCX_CPU1_DS_GetFileInfo +21-236-13:24:36.237 00 SCX_CPU1_DS_FI/683 +21-236-13:24:36.238 00 SCX_CPU1_DS_FI/684 ut_tlmwait SCX_CPU1_DS_CMDPC, {cmdCtr} +21-236-13:24:36.255 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:24:37.087 00 TLMH-I:STS 58-012-14:06:39.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:24:38.257 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:24:38.259 00 SCX_CPU1_DS_FI/685 +21-236-13:24:38.259 00 SCX_CPU1_DS_FI/688 local fileName3 = "" +21-236-13:24:38.259 00 SCX_CPU1_DS_FI/689 if (SCX_CPU1_DS_FileState[seqFileEntry].FileName <> "") then +21-236-13:24:38.259 00 SCX_CPU1_DS_FI/690 fileName3 = SCX_CPU1_DS_FileState[seqFileEntry].FileName +21-236-13:24:38.260 00 SCX_CPU1_DS_FI/691 write "<*> Passed (3000;3000.1;3000.1.1) - A file was created with name '",fileName3,"'" +21-236-13:24:38.260 00 SPR-I:OPRO <*> Passed (3000;3000.1;3000.1.1) - A file was created with name '/ram/seq00000102.dat' +21-236-13:24:38.260 00 SCX_CPU1_DS_FI/692 ut_setrequirements DS_3000, "P" +21-236-13:24:38.264 00 SCX_CPU1_DS_FI/693 ut_setrequirements DS_30001, "A" +21-236-13:24:38.267 00 SCX_CPU1_DS_FI/694 ut_setrequirements DS_300011, "A" +21-236-13:24:38.270 00 SCX_CPU1_DS_FI/695 +21-236-13:24:38.270 00 SCX_CPU1_DS_FI/696 if (SCX_CPU1_DS_FileState[seqFileEntry].OpenState = DS_OPEN) then +21-236-13:24:38.271 00 SCX_CPU1_DS_FI/697 write "<*> Passed (3001) - The file is marked 'OPEN'" +21-236-13:24:38.271 00 SPR-I:OPRO <*> Passed (3001) - The file is marked 'OPEN' +21-236-13:24:38.271 00 SCX_CPU1_DS_FI/698 ut_setrequirements DS_3001, "P" +21-236-13:24:38.331 00 SCX_CPU1_DS_FI/699 endif +21-236-13:24:38.331 00 SCX_CPU1_DS_FI/700 +21-236-13:24:38.331 00 SCX_CPU1_DS_FI/701 if (fileName2 <> fileName3) then +21-236-13:24:38.331 00 SCX_CPU1_DS_FI/702 write "<*> Passed (3001.1) - A new file was opened" +21-236-13:24:38.331 00 SPR-I:OPRO <*> Passed (3001.1) - A new file was opened +21-236-13:24:38.331 00 SCX_CPU1_DS_FI/703 ut_setrequirements DS_30011, "P" +21-236-13:24:38.332 00 SCX_CPU1_DS_FI/704 ut_setrequirements DS_30012, "A" +21-236-13:24:38.333 00 SCX_CPU1_DS_FI/709 endif +21-236-13:24:38.333 00 SCX_CPU1_DS_FI/710 +21-236-13:24:38.333 00 SCX_CPU1_DS_FI/712 if (fileName2 <> "") then +21-236-13:24:38.333 00 SCX_CPU1_DS_FI/713 ut_setrequirements DS_3003, "A" +21-236-13:24:38.334 00 SCX_CPU1_DS_FI/714 ut_setrequirements DS_3004, "A" +21-236-13:24:38.335 00 SCX_CPU1_DS_FI/715 write "==> Downloading '",fileName2,"'" +21-236-13:24:38.335 00 SPR-I:OPRO ==> Downloading '/ram/seq00000101.dat' +21-236-13:24:38.356 00 SCX_CPU1_DS_FI/716 slashLoc = %locate(fileName2,"/") +21-236-13:24:38.356 00 SCX_CPU1_DS_FI/717 while (slashLoc <> 0) do +21-236-13:24:38.356 00 SCX_CPU1_DS_FI/718 fileName2 = %substring(fileName2,slashLoc+1,%length(fileName2)) +21-236-13:24:38.357 00 SCX_CPU1_DS_FI/719 slashLoc = %locate(fileName2,"/") +21-236-13:24:38.357 00 SCX_CPU1_DS_FI/720 enddo +21-236-13:24:38.357 00 SCX_CPU1_DS_FI/718 fileName2 = %substring(fileName2,slashLoc+1,%length(fileName2)) +21-236-13:24:38.357 00 SCX_CPU1_DS_FI/719 slashLoc = %locate(fileName2,"/") +21-236-13:24:38.357 00 SCX_CPU1_DS_FI/720 enddo +21-236-13:24:38.357 00 SCX_CPU1_DS_FI/721 write "==> FileName Only = '",fileName2,"'" +21-236-13:24:38.357 00 SPR-I:OPRO ==> FileName Only = 'seq00000101.dat' +21-236-13:24:38.357 00 SCX_CPU1_DS_FI/724 s ftp_file(ramDir, fileName2, fileName2, hostCPU, "G") +21-236-13:24:38.357 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/ftp_file.i +21-236-13:24:38.357 00 SPR-I:STS Procedure FTP_FILE started +21-236-13:24:38.357 00 FTP_FILE/2 ; +21-236-13:24:38.357 00 FTP_FILE/3 local logging = %liv (log_procedure) +21-236-13:24:38.373 00 FTP_FILE/4 %liv (log_procedure) = FALSE +21-236-13:24:38.457 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-13:24:38.457 00 FTP_FILE/85 ENDPROC +21-236-13:24:38.457 00 SPR-I:STS Procedure FTP_FILE completed +21-236-13:24:38.458 00 SCX_CPU1_DS_FI/729 endif +21-236-13:24:38.458 00 SCX_CPU1_DS_FI/736 endif +21-236-13:24:38.458 00 SCX_CPU1_DS_FI/737 +21-236-13:24:38.458 00 SCX_CPU1_DS_FI/738 write ";***********************************************************************" +21-236-13:24:38.458 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:24:38.458 00 SCX_CPU1_DS_FI/739 write "; Step 2.4: Utilizing the TST_DS application, send valid messages to " +21-236-13:24:38.458 00 SPR-I:OPRO ; Step 2.4: Utilizing the TST_DS application, send valid messages to +21-236-13:24:38.458 00 SCX_CPU1_DS_FI/740 write "; the DS application that will pass filtering and specifies Time file " +21-236-13:24:38.458 00 SPR-I:OPRO ; the DS application that will pass filtering and specifies Time file +21-236-13:24:38.458 00 SCX_CPU1_DS_FI/741 write "; type naming." +21-236-13:24:38.458 00 SPR-I:OPRO ; type naming. +21-236-13:24:38.458 00 SCX_CPU1_DS_FI/742 write ";***********************************************************************" +21-236-13:24:38.458 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:24:38.458 00 SCX_CPU1_DS_FI/743 write "; Step 2.4.1: Parse the tables to find a MessageID to use for the Time " +21-236-13:24:38.458 00 SPR-I:OPRO ; Step 2.4.1: Parse the tables to find a MessageID to use for the Time +21-236-13:24:38.458 00 SCX_CPU1_DS_FI/744 write "; file type naming entry." +21-236-13:24:38.458 00 SPR-I:OPRO ; file type naming entry. +21-236-13:24:38.458 00 SCX_CPU1_DS_FI/745 write ";***********************************************************************" +21-236-13:24:38.458 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:24:38.458 00 SCX_CPU1_DS_FI/747 logging = %liv (log_procedure) +21-236-13:24:38.458 00 SCX_CPU1_DS_FI/748 %liv (log_procedure) = FALSE +21-236-13:24:38.746 00 SCX_CPU1_DS_FI/776 +21-236-13:24:38.746 00 SCX_CPU1_DS_FI/777 write "==> Found file entry at ", timeFileEntry +21-236-13:24:38.746 00 SPR-I:OPRO ==> Found file entry at 1 +21-236-13:24:38.746 00 SCX_CPU1_DS_FI/778 write "==> Found filter entry at ", filterEntry +21-236-13:24:38.746 00 SPR-I:OPRO ==> Found filter entry at 1 +21-236-13:24:38.746 00 SCX_CPU1_DS_FI/779 +21-236-13:24:38.746 00 SCX_CPU1_DS_FI/780 local timeMsgID = SCX_CPU1_DS_PF_TBL[filterEntry].MessageID +21-236-13:24:38.746 00 SCX_CPU1_DS_FI/781 local fileAge = SCX_CPU1_DS_DF_TBL[timeFileEntry].FileAge +21-236-13:24:38.746 00 SCX_CPU1_DS_FI/782 +21-236-13:24:38.746 00 SCX_CPU1_DS_FI/783 write ";***********************************************************************" +21-236-13:24:38.746 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:24:38.746 00 SCX_CPU1_DS_FI/784 write "; Step 2.4.2: Send the TST_DS command to send a message to DS using the" +21-236-13:24:38.746 00 SPR-I:OPRO ; Step 2.4.2: Send the TST_DS command to send a message to DS using the +21-236-13:24:38.746 00 SCX_CPU1_DS_FI/785 write "; MessageID found above. Since the message being set will not exceed " +21-236-13:24:38.746 00 SPR-I:OPRO ; MessageID found above. Since the message being set will not exceed +21-236-13:24:38.746 00 SCX_CPU1_DS_FI/786 write "; the file size constraint, the FileState HK should contain info about" +21-236-13:24:38.746 00 SPR-I:OPRO ; the file size constraint, the FileState HK should contain info about +21-236-13:24:38.746 00 SCX_CPU1_DS_FI/787 write "; the file that was created. " +21-236-13:24:38.746 00 SPR-I:OPRO ; the file that was created. +21-236-13:24:38.746 00 SCX_CPU1_DS_FI/788 write ";***********************************************************************" +21-236-13:24:38.746 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:24:38.746 00 SCX_CPU1_DS_FI/790 ut_setupevents "SCX", "CPU1", "TST_DS", TST_DS_MSG1_SENT_INF_EID, "INFO", 1 +21-236-13:24:38.748 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:24:38.748 00 SPR-I:OPRO ; Setup event 1 with TST_DS INFO 5 +21-236-13:24:38.748 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:24:38.748 00 SCX_CPU1_DS_FI/791 +21-236-13:24:38.748 00 SCX_CPU1_DS_FI/793 /SCX_CPU1_TST_DS_SENDMESSAGE MsgID=timeMsgID MsgType=1 Pattern=x'55' +21-236-13:24:38.764 00 SCX_CPU1_DS_FI/794 +21-236-13:24:38.764 00 SCX_CPU1_DS_FI/796 ut_tlmwait SCX_CPU1_find_event[1].num_found_messages, 1 +21-236-13:24:38.767 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:24:39.587 00 TLMH-I:STS 58-012-14:06:42.002 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Message Size 116 to MID 0x00001001 +21-236-13:24:39.768 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:24:39.770 00 SCX_CPU1_DS_FI/797 if (UT_TW_Status = UT_Success) then +21-236-13:24:39.770 00 SCX_CPU1_DS_FI/798 write "<*> Passed - Expected Event Msg ",TST_DS_MSG1_SENT_INF_EID," rcv'd." +21-236-13:24:39.771 00 SPR-I:OPRO <*> Passed - Expected Event Msg 5 rcv'd. +21-236-13:24:39.771 00 SCX_CPU1_DS_FI/801 endif +21-236-13:24:39.771 00 SCX_CPU1_DS_FI/802 +21-236-13:24:39.771 00 SCX_CPU1_DS_FI/804 cmdCtr = SCX_CPU1_DS_CMDPC + 1 +21-236-13:24:39.771 00 SCX_CPU1_DS_FI/805 +21-236-13:24:39.771 00 SCX_CPU1_DS_FI/806 /SCX_CPU1_DS_GetFileInfo +21-236-13:24:39.786 00 SCX_CPU1_DS_FI/807 +21-236-13:24:39.787 00 SCX_CPU1_DS_FI/808 ut_tlmwait SCX_CPU1_DS_CMDPC, {cmdCtr} +21-236-13:24:39.791 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:24:40.589 00 TLMH-I:STS 58-012-14:06:43.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:24:41.793 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:24:41.793 00 SCX_CPU1_DS_FI/809 +21-236-13:24:41.793 00 SCX_CPU1_DS_FI/812 fileName1 = "" +21-236-13:24:41.793 00 SCX_CPU1_DS_FI/813 if (SCX_CPU1_DS_FileState[timeFileEntry].FileName <> "") then +21-236-13:24:41.794 00 SCX_CPU1_DS_FI/814 fileName1 = SCX_CPU1_DS_FileState[timeFileEntry].FileName +21-236-13:24:41.794 00 SCX_CPU1_DS_FI/815 write "<*> Passed (3000;3000.2;3000.2.1) - A file was created with name '",fileName1,"'" +21-236-13:24:41.794 00 SPR-I:OPRO <*> Passed (3000;3000.2;3000.2.1) - A file was created with name '/ram/ti1980012140642.txt' +21-236-13:24:41.794 00 SCX_CPU1_DS_FI/816 ut_setrequirements DS_3000, "P" +21-236-13:24:41.795 00 SCX_CPU1_DS_FI/817 ut_setrequirements DS_30002, "A" +21-236-13:24:41.797 00 SCX_CPU1_DS_FI/818 ut_setrequirements DS_300021, "A" +21-236-13:24:41.798 00 SCX_CPU1_DS_FI/819 +21-236-13:24:41.798 00 SCX_CPU1_DS_FI/820 if (SCX_CPU1_DS_FileState[timeFileEntry].OpenState = DS_OPEN) then +21-236-13:24:41.798 00 SCX_CPU1_DS_FI/821 write "<*> Passed (3001) - The file is marked 'OPEN'" +21-236-13:24:41.798 00 SPR-I:OPRO <*> Passed (3001) - The file is marked 'OPEN' +21-236-13:24:41.798 00 SCX_CPU1_DS_FI/822 ut_setrequirements DS_3001, "P" +21-236-13:24:41.833 00 SCX_CPU1_DS_FI/823 endif +21-236-13:24:41.834 00 SCX_CPU1_DS_FI/830 endif +21-236-13:24:41.834 00 SCX_CPU1_DS_FI/831 +21-236-13:24:41.834 00 SCX_CPU1_DS_FI/832 wait 5 +21-236-13:24:41.834 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:24:46.837 00 SCX_CPU1_DS_FI/833 +21-236-13:24:46.837 00 SCX_CPU1_DS_FI/834 write ";***********************************************************************" +21-236-13:24:46.838 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:24:46.838 00 SCX_CPU1_DS_FI/835 write "; Step 2.5: Wait for the file created above to exceed its maximum age." +21-236-13:24:46.838 00 SPR-I:OPRO ; Step 2.5: Wait for the file created above to exceed its maximum age. +21-236-13:24:46.838 00 SCX_CPU1_DS_FI/836 write ";***********************************************************************" +21-236-13:24:46.838 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:24:46.838 00 SCX_CPU1_DS_FI/839 local reportedAge = SCX_CPU1_DS_FileState[timeFileEntry].FileAge +21-236-13:24:46.839 00 SCX_CPU1_DS_FI/840 local waitTime = fileAge - reportedAge +21-236-13:24:46.839 00 SCX_CPU1_DS_FI/841 local originalAge = reportedAge +21-236-13:24:46.839 00 SCX_CPU1_DS_FI/842 +21-236-13:24:46.840 00 SCX_CPU1_DS_FI/843 fileName1 = SCX_CPU1_DS_FileState[timeFileEntry].FileName +21-236-13:24:46.840 00 SCX_CPU1_DS_FI/844 +21-236-13:24:46.840 00 SCX_CPU1_DS_FI/845 while (waitTime > 0) do +21-236-13:24:46.840 00 SCX_CPU1_DS_FI/847 cmdCtr = SCX_CPU1_DS_CMDPC + 1 +21-236-13:24:46.841 00 SCX_CPU1_DS_FI/848 +21-236-13:24:46.841 00 SCX_CPU1_DS_FI/849 /SCX_CPU1_DS_GetFileInfo +21-236-13:24:46.846 00 SCX_CPU1_DS_FI/850 wait 5 +21-236-13:24:46.846 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:24:47.588 00 TLMH-I:STS 58-012-14:06:50.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:24:51.849 00 SCX_CPU1_DS_FI/851 +21-236-13:24:51.849 00 SCX_CPU1_DS_FI/852 reportedAge = SCX_CPU1_DS_FileState[timeFileEntry].FileAge +21-236-13:24:51.850 00 SCX_CPU1_DS_FI/853 write "new file age = ",reportedAge +21-236-13:24:51.850 00 SPR-I:OPRO new file age = 8 +21-236-13:24:51.850 00 SCX_CPU1_DS_FI/854 +21-236-13:24:51.850 00 SCX_CPU1_DS_FI/856 if (originalAge <> reportedAge) then +21-236-13:24:51.850 00 SCX_CPU1_DS_FI/857 ut_setrequirements DS_3002, "P" +21-236-13:24:51.853 00 SCX_CPU1_DS_FI/858 ut_setrequirements DS_30021, "P" +21-236-13:24:51.855 00 SCX_CPU1_DS_FI/859 endif +21-236-13:24:51.855 00 SCX_CPU1_DS_FI/860 +21-236-13:24:51.855 00 SCX_CPU1_DS_FI/861 waitTime = fileAge - reportedAge +21-236-13:24:51.856 00 SCX_CPU1_DS_FI/862 write "timeout calculation = ",waitTime +21-236-13:24:51.856 00 SPR-I:OPRO timeout calculation = 52 +21-236-13:24:51.856 00 SCX_CPU1_DS_FI/863 +21-236-13:24:51.856 00 SCX_CPU1_DS_FI/866 if (SCX_CPU1_DS_FileState[timeFileEntry].FileName = "") AND ;; +21-236-13:24:51.856 00 SCX_CPU1_DS_FI/867 (SCX_CPU1_DS_FileState[timeFileEntry].FileAge = 0) then +21-236-13:24:51.857 00 SCX_CPU1_DS_FI/870 endif +21-236-13:24:51.857 00 SCX_CPU1_DS_FI/871 enddo +21-236-13:24:51.858 00 SCX_CPU1_DS_FI/847 cmdCtr = SCX_CPU1_DS_CMDPC + 1 +21-236-13:24:51.858 00 SCX_CPU1_DS_FI/848 +21-236-13:24:51.859 00 SCX_CPU1_DS_FI/849 /SCX_CPU1_DS_GetFileInfo +21-236-13:24:51.873 00 SCX_CPU1_DS_FI/850 wait 5 +21-236-13:24:51.873 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:24:52.588 00 TLMH-I:STS 58-012-14:06:55.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:24:56.877 00 SCX_CPU1_DS_FI/851 +21-236-13:24:56.877 00 SCX_CPU1_DS_FI/852 reportedAge = SCX_CPU1_DS_FileState[timeFileEntry].FileAge +21-236-13:24:56.877 00 SCX_CPU1_DS_FI/853 write "new file age = ",reportedAge +21-236-13:24:56.877 00 SPR-I:OPRO new file age = 12 +21-236-13:24:56.877 00 SCX_CPU1_DS_FI/854 +21-236-13:24:56.877 00 SCX_CPU1_DS_FI/856 if (originalAge <> reportedAge) then +21-236-13:24:56.878 00 SCX_CPU1_DS_FI/857 ut_setrequirements DS_3002, "P" +21-236-13:24:56.880 00 SCX_CPU1_DS_FI/858 ut_setrequirements DS_30021, "P" +21-236-13:24:56.882 00 SCX_CPU1_DS_FI/859 endif +21-236-13:24:56.883 00 SCX_CPU1_DS_FI/860 +21-236-13:24:56.883 00 SCX_CPU1_DS_FI/861 waitTime = fileAge - reportedAge +21-236-13:24:56.883 00 SCX_CPU1_DS_FI/862 write "timeout calculation = ",waitTime +21-236-13:24:56.883 00 SPR-I:OPRO timeout calculation = 48 +21-236-13:24:56.883 00 SCX_CPU1_DS_FI/863 +21-236-13:24:56.883 00 SCX_CPU1_DS_FI/866 if (SCX_CPU1_DS_FileState[timeFileEntry].FileName = "") AND ;; +21-236-13:24:56.883 00 SCX_CPU1_DS_FI/867 (SCX_CPU1_DS_FileState[timeFileEntry].FileAge = 0) then +21-236-13:24:56.883 00 SCX_CPU1_DS_FI/870 endif +21-236-13:24:56.883 00 SCX_CPU1_DS_FI/871 enddo +21-236-13:24:56.883 00 SCX_CPU1_DS_FI/847 cmdCtr = SCX_CPU1_DS_CMDPC + 1 +21-236-13:24:56.883 00 SCX_CPU1_DS_FI/848 +21-236-13:24:56.883 00 SCX_CPU1_DS_FI/849 /SCX_CPU1_DS_GetFileInfo +21-236-13:24:56.885 00 SCX_CPU1_DS_FI/850 wait 5 +21-236-13:24:56.885 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:24:57.589 00 TLMH-I:STS 58-012-14:07:00.003 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:25:01.888 00 SCX_CPU1_DS_FI/851 +21-236-13:25:01.888 00 SCX_CPU1_DS_FI/852 reportedAge = SCX_CPU1_DS_FileState[timeFileEntry].FileAge +21-236-13:25:01.889 00 SCX_CPU1_DS_FI/853 write "new file age = ",reportedAge +21-236-13:25:01.889 00 SPR-I:OPRO new file age = 16 +21-236-13:25:01.889 00 SCX_CPU1_DS_FI/854 +21-236-13:25:01.889 00 SCX_CPU1_DS_FI/856 if (originalAge <> reportedAge) then +21-236-13:25:01.889 00 SCX_CPU1_DS_FI/857 ut_setrequirements DS_3002, "P" +21-236-13:25:01.893 00 SCX_CPU1_DS_FI/858 ut_setrequirements DS_30021, "P" +21-236-13:25:01.897 00 SCX_CPU1_DS_FI/859 endif +21-236-13:25:01.897 00 SCX_CPU1_DS_FI/860 +21-236-13:25:01.897 00 SCX_CPU1_DS_FI/861 waitTime = fileAge - reportedAge +21-236-13:25:01.898 00 SCX_CPU1_DS_FI/862 write "timeout calculation = ",waitTime +21-236-13:25:01.898 00 SPR-I:OPRO timeout calculation = 44 +21-236-13:25:01.898 00 SCX_CPU1_DS_FI/863 +21-236-13:25:01.898 00 SCX_CPU1_DS_FI/866 if (SCX_CPU1_DS_FileState[timeFileEntry].FileName = "") AND ;; +21-236-13:25:01.898 00 SCX_CPU1_DS_FI/867 (SCX_CPU1_DS_FileState[timeFileEntry].FileAge = 0) then +21-236-13:25:01.899 00 SCX_CPU1_DS_FI/870 endif +21-236-13:25:01.899 00 SCX_CPU1_DS_FI/871 enddo +21-236-13:25:01.900 00 SCX_CPU1_DS_FI/847 cmdCtr = SCX_CPU1_DS_CMDPC + 1 +21-236-13:25:01.900 00 SCX_CPU1_DS_FI/848 +21-236-13:25:01.900 00 SCX_CPU1_DS_FI/849 /SCX_CPU1_DS_GetFileInfo +21-236-13:25:01.916 00 SCX_CPU1_DS_FI/850 wait 5 +21-236-13:25:01.916 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:25:02.587 00 TLMH-I:STS 58-012-14:07:05.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:25:06.919 00 SCX_CPU1_DS_FI/851 +21-236-13:25:06.919 00 SCX_CPU1_DS_FI/852 reportedAge = SCX_CPU1_DS_FileState[timeFileEntry].FileAge +21-236-13:25:06.920 00 SCX_CPU1_DS_FI/853 write "new file age = ",reportedAge +21-236-13:25:06.920 00 SPR-I:OPRO new file age = 24 +21-236-13:25:06.920 00 SCX_CPU1_DS_FI/854 +21-236-13:25:06.920 00 SCX_CPU1_DS_FI/856 if (originalAge <> reportedAge) then +21-236-13:25:06.920 00 SCX_CPU1_DS_FI/857 ut_setrequirements DS_3002, "P" +21-236-13:25:06.922 00 SCX_CPU1_DS_FI/858 ut_setrequirements DS_30021, "P" +21-236-13:25:06.923 00 SCX_CPU1_DS_FI/859 endif +21-236-13:25:06.923 00 SCX_CPU1_DS_FI/860 +21-236-13:25:06.923 00 SCX_CPU1_DS_FI/861 waitTime = fileAge - reportedAge +21-236-13:25:06.924 00 SCX_CPU1_DS_FI/862 write "timeout calculation = ",waitTime +21-236-13:25:06.924 00 SPR-I:OPRO timeout calculation = 36 +21-236-13:25:06.924 00 SCX_CPU1_DS_FI/863 +21-236-13:25:06.924 00 SCX_CPU1_DS_FI/866 if (SCX_CPU1_DS_FileState[timeFileEntry].FileName = "") AND ;; +21-236-13:25:06.924 00 SCX_CPU1_DS_FI/867 (SCX_CPU1_DS_FileState[timeFileEntry].FileAge = 0) then +21-236-13:25:06.924 00 SCX_CPU1_DS_FI/870 endif +21-236-13:25:06.924 00 SCX_CPU1_DS_FI/871 enddo +21-236-13:25:06.925 00 SCX_CPU1_DS_FI/847 cmdCtr = SCX_CPU1_DS_CMDPC + 1 +21-236-13:25:06.925 00 SCX_CPU1_DS_FI/848 +21-236-13:25:06.925 00 SCX_CPU1_DS_FI/849 /SCX_CPU1_DS_GetFileInfo +21-236-13:25:06.927 00 SCX_CPU1_DS_FI/850 wait 5 +21-236-13:25:06.927 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:25:07.590 00 TLMH-I:STS 58-012-14:07:10.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:25:11.931 00 SCX_CPU1_DS_FI/851 +21-236-13:25:11.931 00 SCX_CPU1_DS_FI/852 reportedAge = SCX_CPU1_DS_FileState[timeFileEntry].FileAge +21-236-13:25:11.931 00 SCX_CPU1_DS_FI/853 write "new file age = ",reportedAge +21-236-13:25:11.931 00 SPR-I:OPRO new file age = 28 +21-236-13:25:11.931 00 SCX_CPU1_DS_FI/854 +21-236-13:25:11.931 00 SCX_CPU1_DS_FI/856 if (originalAge <> reportedAge) then +21-236-13:25:11.931 00 SCX_CPU1_DS_FI/857 ut_setrequirements DS_3002, "P" +21-236-13:25:11.933 00 SCX_CPU1_DS_FI/858 ut_setrequirements DS_30021, "P" +21-236-13:25:11.935 00 SCX_CPU1_DS_FI/859 endif +21-236-13:25:11.935 00 SCX_CPU1_DS_FI/860 +21-236-13:25:11.935 00 SCX_CPU1_DS_FI/861 waitTime = fileAge - reportedAge +21-236-13:25:11.935 00 SCX_CPU1_DS_FI/862 write "timeout calculation = ",waitTime +21-236-13:25:11.935 00 SPR-I:OPRO timeout calculation = 32 +21-236-13:25:11.935 00 SCX_CPU1_DS_FI/863 +21-236-13:25:11.935 00 SCX_CPU1_DS_FI/866 if (SCX_CPU1_DS_FileState[timeFileEntry].FileName = "") AND ;; +21-236-13:25:11.935 00 SCX_CPU1_DS_FI/867 (SCX_CPU1_DS_FileState[timeFileEntry].FileAge = 0) then +21-236-13:25:11.936 00 SCX_CPU1_DS_FI/870 endif +21-236-13:25:11.936 00 SCX_CPU1_DS_FI/871 enddo +21-236-13:25:11.936 00 SCX_CPU1_DS_FI/847 cmdCtr = SCX_CPU1_DS_CMDPC + 1 +21-236-13:25:11.936 00 SCX_CPU1_DS_FI/848 +21-236-13:25:11.936 00 SCX_CPU1_DS_FI/849 /SCX_CPU1_DS_GetFileInfo +21-236-13:25:11.949 00 SCX_CPU1_DS_FI/850 wait 5 +21-236-13:25:11.949 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:25:12.588 00 TLMH-I:STS 58-012-14:07:15.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:25:16.953 00 SCX_CPU1_DS_FI/851 +21-236-13:25:16.953 00 SCX_CPU1_DS_FI/852 reportedAge = SCX_CPU1_DS_FileState[timeFileEntry].FileAge +21-236-13:25:16.954 00 SCX_CPU1_DS_FI/853 write "new file age = ",reportedAge +21-236-13:25:16.954 00 SPR-I:OPRO new file age = 32 +21-236-13:25:16.954 00 SCX_CPU1_DS_FI/854 +21-236-13:25:16.954 00 SCX_CPU1_DS_FI/856 if (originalAge <> reportedAge) then +21-236-13:25:16.954 00 SCX_CPU1_DS_FI/857 ut_setrequirements DS_3002, "P" +21-236-13:25:16.958 00 SCX_CPU1_DS_FI/858 ut_setrequirements DS_30021, "P" +21-236-13:25:16.962 00 SCX_CPU1_DS_FI/859 endif +21-236-13:25:16.962 00 SCX_CPU1_DS_FI/860 +21-236-13:25:16.962 00 SCX_CPU1_DS_FI/861 waitTime = fileAge - reportedAge +21-236-13:25:16.962 00 SCX_CPU1_DS_FI/862 write "timeout calculation = ",waitTime +21-236-13:25:16.962 00 SPR-I:OPRO timeout calculation = 28 +21-236-13:25:16.963 00 SCX_CPU1_DS_FI/863 +21-236-13:25:16.963 00 SCX_CPU1_DS_FI/866 if (SCX_CPU1_DS_FileState[timeFileEntry].FileName = "") AND ;; +21-236-13:25:16.963 00 SCX_CPU1_DS_FI/867 (SCX_CPU1_DS_FileState[timeFileEntry].FileAge = 0) then +21-236-13:25:16.963 00 SCX_CPU1_DS_FI/870 endif +21-236-13:25:16.964 00 SCX_CPU1_DS_FI/871 enddo +21-236-13:25:16.965 00 SCX_CPU1_DS_FI/847 cmdCtr = SCX_CPU1_DS_CMDPC + 1 +21-236-13:25:16.965 00 SCX_CPU1_DS_FI/848 +21-236-13:25:16.965 00 SCX_CPU1_DS_FI/849 /SCX_CPU1_DS_GetFileInfo +21-236-13:25:16.980 00 SCX_CPU1_DS_FI/850 wait 5 +21-236-13:25:16.980 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:25:17.589 00 TLMH-I:STS 58-012-14:07:20.003 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:25:21.984 00 SCX_CPU1_DS_FI/851 +21-236-13:25:21.985 00 SCX_CPU1_DS_FI/852 reportedAge = SCX_CPU1_DS_FileState[timeFileEntry].FileAge +21-236-13:25:21.985 00 SCX_CPU1_DS_FI/853 write "new file age = ",reportedAge +21-236-13:25:21.985 00 SPR-I:OPRO new file age = 36 +21-236-13:25:21.985 00 SCX_CPU1_DS_FI/854 +21-236-13:25:21.985 00 SCX_CPU1_DS_FI/856 if (originalAge <> reportedAge) then +21-236-13:25:21.985 00 SCX_CPU1_DS_FI/857 ut_setrequirements DS_3002, "P" +21-236-13:25:21.989 00 SCX_CPU1_DS_FI/858 ut_setrequirements DS_30021, "P" +21-236-13:25:21.992 00 SCX_CPU1_DS_FI/859 endif +21-236-13:25:21.992 00 SCX_CPU1_DS_FI/860 +21-236-13:25:21.992 00 SCX_CPU1_DS_FI/861 waitTime = fileAge - reportedAge +21-236-13:25:21.993 00 SCX_CPU1_DS_FI/862 write "timeout calculation = ",waitTime +21-236-13:25:21.993 00 SPR-I:OPRO timeout calculation = 24 +21-236-13:25:21.993 00 SCX_CPU1_DS_FI/863 +21-236-13:25:21.993 00 SCX_CPU1_DS_FI/866 if (SCX_CPU1_DS_FileState[timeFileEntry].FileName = "") AND ;; +21-236-13:25:21.993 00 SCX_CPU1_DS_FI/867 (SCX_CPU1_DS_FileState[timeFileEntry].FileAge = 0) then +21-236-13:25:21.994 00 SCX_CPU1_DS_FI/870 endif +21-236-13:25:21.994 00 SCX_CPU1_DS_FI/871 enddo +21-236-13:25:21.995 00 SCX_CPU1_DS_FI/847 cmdCtr = SCX_CPU1_DS_CMDPC + 1 +21-236-13:25:21.995 00 SCX_CPU1_DS_FI/848 +21-236-13:25:21.995 00 SCX_CPU1_DS_FI/849 /SCX_CPU1_DS_GetFileInfo +21-236-13:25:22.010 00 SCX_CPU1_DS_FI/850 wait 5 +21-236-13:25:22.010 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:25:22.583 00 TLMH-I:STS 58-012-14:07:25.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:25:27.014 00 SCX_CPU1_DS_FI/851 +21-236-13:25:27.014 00 SCX_CPU1_DS_FI/852 reportedAge = SCX_CPU1_DS_FileState[timeFileEntry].FileAge +21-236-13:25:27.015 00 SCX_CPU1_DS_FI/853 write "new file age = ",reportedAge +21-236-13:25:27.015 00 SPR-I:OPRO new file age = 44 +21-236-13:25:27.015 00 SCX_CPU1_DS_FI/854 +21-236-13:25:27.015 00 SCX_CPU1_DS_FI/856 if (originalAge <> reportedAge) then +21-236-13:25:27.015 00 SCX_CPU1_DS_FI/857 ut_setrequirements DS_3002, "P" +21-236-13:25:27.018 00 SCX_CPU1_DS_FI/858 ut_setrequirements DS_30021, "P" +21-236-13:25:27.021 00 SCX_CPU1_DS_FI/859 endif +21-236-13:25:27.021 00 SCX_CPU1_DS_FI/860 +21-236-13:25:27.021 00 SCX_CPU1_DS_FI/861 waitTime = fileAge - reportedAge +21-236-13:25:27.022 00 SCX_CPU1_DS_FI/862 write "timeout calculation = ",waitTime +21-236-13:25:27.022 00 SPR-I:OPRO timeout calculation = 16 +21-236-13:25:27.022 00 SCX_CPU1_DS_FI/863 +21-236-13:25:27.022 00 SCX_CPU1_DS_FI/866 if (SCX_CPU1_DS_FileState[timeFileEntry].FileName = "") AND ;; +21-236-13:25:27.022 00 SCX_CPU1_DS_FI/867 (SCX_CPU1_DS_FileState[timeFileEntry].FileAge = 0) then +21-236-13:25:27.023 00 SCX_CPU1_DS_FI/870 endif +21-236-13:25:27.023 00 SCX_CPU1_DS_FI/871 enddo +21-236-13:25:27.024 00 SCX_CPU1_DS_FI/847 cmdCtr = SCX_CPU1_DS_CMDPC + 1 +21-236-13:25:27.024 00 SCX_CPU1_DS_FI/848 +21-236-13:25:27.024 00 SCX_CPU1_DS_FI/849 /SCX_CPU1_DS_GetFileInfo +21-236-13:25:27.039 00 SCX_CPU1_DS_FI/850 wait 5 +21-236-13:25:27.039 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:25:27.591 00 TLMH-I:STS 58-012-14:07:30.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:25:32.043 00 SCX_CPU1_DS_FI/851 +21-236-13:25:32.043 00 SCX_CPU1_DS_FI/852 reportedAge = SCX_CPU1_DS_FileState[timeFileEntry].FileAge +21-236-13:25:32.044 00 SCX_CPU1_DS_FI/853 write "new file age = ",reportedAge +21-236-13:25:32.044 00 SPR-I:OPRO new file age = 48 +21-236-13:25:32.044 00 SCX_CPU1_DS_FI/854 +21-236-13:25:32.044 00 SCX_CPU1_DS_FI/856 if (originalAge <> reportedAge) then +21-236-13:25:32.044 00 SCX_CPU1_DS_FI/857 ut_setrequirements DS_3002, "P" +21-236-13:25:32.047 00 SCX_CPU1_DS_FI/858 ut_setrequirements DS_30021, "P" +21-236-13:25:32.051 00 SCX_CPU1_DS_FI/859 endif +21-236-13:25:32.051 00 SCX_CPU1_DS_FI/860 +21-236-13:25:32.051 00 SCX_CPU1_DS_FI/861 waitTime = fileAge - reportedAge +21-236-13:25:32.051 00 SCX_CPU1_DS_FI/862 write "timeout calculation = ",waitTime +21-236-13:25:32.051 00 SPR-I:OPRO timeout calculation = 12 +21-236-13:25:32.051 00 SCX_CPU1_DS_FI/863 +21-236-13:25:32.051 00 SCX_CPU1_DS_FI/866 if (SCX_CPU1_DS_FileState[timeFileEntry].FileName = "") AND ;; +21-236-13:25:32.052 00 SCX_CPU1_DS_FI/867 (SCX_CPU1_DS_FileState[timeFileEntry].FileAge = 0) then +21-236-13:25:32.052 00 SCX_CPU1_DS_FI/870 endif +21-236-13:25:32.053 00 SCX_CPU1_DS_FI/871 enddo +21-236-13:25:32.053 00 SCX_CPU1_DS_FI/847 cmdCtr = SCX_CPU1_DS_CMDPC + 1 +21-236-13:25:32.053 00 SCX_CPU1_DS_FI/848 +21-236-13:25:32.053 00 SCX_CPU1_DS_FI/849 /SCX_CPU1_DS_GetFileInfo +21-236-13:25:32.069 00 SCX_CPU1_DS_FI/850 wait 5 +21-236-13:25:32.069 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:25:32.590 00 TLMH-I:STS 58-012-14:07:35.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:25:37.072 00 SCX_CPU1_DS_FI/851 +21-236-13:25:37.073 00 SCX_CPU1_DS_FI/852 reportedAge = SCX_CPU1_DS_FileState[timeFileEntry].FileAge +21-236-13:25:37.073 00 SCX_CPU1_DS_FI/853 write "new file age = ",reportedAge +21-236-13:25:37.073 00 SPR-I:OPRO new file age = 52 +21-236-13:25:37.073 00 SCX_CPU1_DS_FI/854 +21-236-13:25:37.073 00 SCX_CPU1_DS_FI/856 if (originalAge <> reportedAge) then +21-236-13:25:37.073 00 SCX_CPU1_DS_FI/857 ut_setrequirements DS_3002, "P" +21-236-13:25:37.075 00 SCX_CPU1_DS_FI/858 ut_setrequirements DS_30021, "P" +21-236-13:25:37.077 00 SCX_CPU1_DS_FI/859 endif +21-236-13:25:37.077 00 SCX_CPU1_DS_FI/860 +21-236-13:25:37.077 00 SCX_CPU1_DS_FI/861 waitTime = fileAge - reportedAge +21-236-13:25:37.077 00 SCX_CPU1_DS_FI/862 write "timeout calculation = ",waitTime +21-236-13:25:37.077 00 SPR-I:OPRO timeout calculation = 8 +21-236-13:25:37.077 00 SCX_CPU1_DS_FI/863 +21-236-13:25:37.077 00 SCX_CPU1_DS_FI/866 if (SCX_CPU1_DS_FileState[timeFileEntry].FileName = "") AND ;; +21-236-13:25:37.077 00 SCX_CPU1_DS_FI/867 (SCX_CPU1_DS_FileState[timeFileEntry].FileAge = 0) then +21-236-13:25:37.078 00 SCX_CPU1_DS_FI/870 endif +21-236-13:25:37.078 00 SCX_CPU1_DS_FI/871 enddo +21-236-13:25:37.078 00 SCX_CPU1_DS_FI/847 cmdCtr = SCX_CPU1_DS_CMDPC + 1 +21-236-13:25:37.078 00 SCX_CPU1_DS_FI/848 +21-236-13:25:37.078 00 SCX_CPU1_DS_FI/849 /SCX_CPU1_DS_GetFileInfo +21-236-13:25:37.081 00 SCX_CPU1_DS_FI/850 wait 5 +21-236-13:25:37.081 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:25:37.592 00 TLMH-I:STS 58-012-14:07:40.003 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:25:37.593 00 TLMH-I:STS 58-012-14:07:40.006 ERROR CPU=CPU1 APPNAME=DS EVENT ID=61 FILE MOVE error: src = '/ram/ti1980012140642.txt', tgt = '/ram/movedir/ti1980012140642.txt', result = -1 +21-236-13:25:42.084 00 SCX_CPU1_DS_FI/851 +21-236-13:25:42.084 00 SCX_CPU1_DS_FI/852 reportedAge = SCX_CPU1_DS_FileState[timeFileEntry].FileAge +21-236-13:25:42.084 00 SCX_CPU1_DS_FI/853 write "new file age = ",reportedAge +21-236-13:25:42.084 00 SPR-I:OPRO new file age = 56 +21-236-13:25:42.084 00 SCX_CPU1_DS_FI/854 +21-236-13:25:42.084 00 SCX_CPU1_DS_FI/856 if (originalAge <> reportedAge) then +21-236-13:25:42.084 00 SCX_CPU1_DS_FI/857 ut_setrequirements DS_3002, "P" +21-236-13:25:42.086 00 SCX_CPU1_DS_FI/858 ut_setrequirements DS_30021, "P" +21-236-13:25:42.087 00 SCX_CPU1_DS_FI/859 endif +21-236-13:25:42.087 00 SCX_CPU1_DS_FI/860 +21-236-13:25:42.087 00 SCX_CPU1_DS_FI/861 waitTime = fileAge - reportedAge +21-236-13:25:42.087 00 SCX_CPU1_DS_FI/862 write "timeout calculation = ",waitTime +21-236-13:25:42.087 00 SPR-I:OPRO timeout calculation = 4 +21-236-13:25:42.087 00 SCX_CPU1_DS_FI/863 +21-236-13:25:42.087 00 SCX_CPU1_DS_FI/866 if (SCX_CPU1_DS_FileState[timeFileEntry].FileName = "") AND ;; +21-236-13:25:42.087 00 SCX_CPU1_DS_FI/867 (SCX_CPU1_DS_FileState[timeFileEntry].FileAge = 0) then +21-236-13:25:42.087 00 SCX_CPU1_DS_FI/870 endif +21-236-13:25:42.087 00 SCX_CPU1_DS_FI/871 enddo +21-236-13:25:42.087 00 SCX_CPU1_DS_FI/847 cmdCtr = SCX_CPU1_DS_CMDPC + 1 +21-236-13:25:42.087 00 SCX_CPU1_DS_FI/848 +21-236-13:25:42.087 00 SCX_CPU1_DS_FI/849 /SCX_CPU1_DS_GetFileInfo +21-236-13:25:42.099 00 SCX_CPU1_DS_FI/850 wait 5 +21-236-13:25:42.099 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:25:42.582 00 TLMH-I:STS 58-012-14:07:45.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:25:47.101 00 SCX_CPU1_DS_FI/851 +21-236-13:25:47.101 00 SCX_CPU1_DS_FI/852 reportedAge = SCX_CPU1_DS_FileState[timeFileEntry].FileAge +21-236-13:25:47.101 00 SCX_CPU1_DS_FI/853 write "new file age = ",reportedAge +21-236-13:25:47.101 00 SPR-I:OPRO new file age = 0 +21-236-13:25:47.101 00 SCX_CPU1_DS_FI/854 +21-236-13:25:47.101 00 SCX_CPU1_DS_FI/856 if (originalAge <> reportedAge) then +21-236-13:25:47.101 00 SCX_CPU1_DS_FI/859 endif +21-236-13:25:47.101 00 SCX_CPU1_DS_FI/860 +21-236-13:25:47.102 00 SCX_CPU1_DS_FI/861 waitTime = fileAge - reportedAge +21-236-13:25:47.102 00 SCX_CPU1_DS_FI/862 write "timeout calculation = ",waitTime +21-236-13:25:47.102 00 SPR-I:OPRO timeout calculation = 60 +21-236-13:25:47.102 00 SCX_CPU1_DS_FI/863 +21-236-13:25:47.102 00 SCX_CPU1_DS_FI/866 if (SCX_CPU1_DS_FileState[timeFileEntry].FileName = "") AND ;; +21-236-13:25:47.102 00 SCX_CPU1_DS_FI/867 (SCX_CPU1_DS_FileState[timeFileEntry].FileAge = 0) then +21-236-13:25:47.102 00 SCX_CPU1_DS_FI/868 waitTime = 0 +21-236-13:25:47.102 00 SCX_CPU1_DS_FI/869 write "HK reports the file is no longer open" +21-236-13:25:47.102 00 SPR-I:OPRO HK reports the file is no longer open +21-236-13:25:47.102 00 SCX_CPU1_DS_FI/870 endif +21-236-13:25:47.102 00 SCX_CPU1_DS_FI/871 enddo +21-236-13:25:47.102 00 SCX_CPU1_DS_FI/872 +21-236-13:25:47.102 00 SCX_CPU1_DS_FI/874 if (fileName1 <> "") then +21-236-13:25:47.102 00 SCX_CPU1_DS_FI/875 ut_setrequirements DS_3003, "A" +21-236-13:25:47.103 00 SCX_CPU1_DS_FI/876 ut_setrequirements DS_3004, "A" +21-236-13:25:47.103 00 SCX_CPU1_DS_FI/877 write "==> Downloading '",fileName1,"'" +21-236-13:25:47.103 00 SPR-I:OPRO ==> Downloading '/ram/ti1980012140642.txt' +21-236-13:25:47.103 00 SCX_CPU1_DS_FI/878 slashLoc = %locate(fileName1,"/") +21-236-13:25:47.104 00 SCX_CPU1_DS_FI/879 while (slashLoc <> 0) do +21-236-13:25:47.104 00 SCX_CPU1_DS_FI/880 fileName1 = %substring(fileName1,slashLoc+1,%length(fileName1)) +21-236-13:25:47.104 00 SCX_CPU1_DS_FI/881 slashLoc = %locate(fileName1,"/") +21-236-13:25:47.104 00 SCX_CPU1_DS_FI/882 enddo +21-236-13:25:47.104 00 SCX_CPU1_DS_FI/880 fileName1 = %substring(fileName1,slashLoc+1,%length(fileName1)) +21-236-13:25:47.104 00 SCX_CPU1_DS_FI/881 slashLoc = %locate(fileName1,"/") +21-236-13:25:47.104 00 SCX_CPU1_DS_FI/882 enddo +21-236-13:25:47.104 00 SCX_CPU1_DS_FI/883 write "==> FileName Only = '",fileName1,"'" +21-236-13:25:47.104 00 SPR-I:OPRO ==> FileName Only = 'ti1980012140642.txt' +21-236-13:25:47.104 00 SCX_CPU1_DS_FI/886 s ftp_file(ramDir, fileName1, fileName1, hostCPU, "G") +21-236-13:25:47.104 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/ftp_file.i +21-236-13:25:47.104 00 SPR-I:STS Procedure FTP_FILE started +21-236-13:25:47.105 00 FTP_FILE/2 ; +21-236-13:25:47.105 00 FTP_FILE/3 local logging = %liv (log_procedure) +21-236-13:25:47.124 00 FTP_FILE/4 %liv (log_procedure) = FALSE +21-236-13:25:47.216 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-13:25:47.216 00 FTP_FILE/85 ENDPROC +21-236-13:25:47.216 00 SPR-I:STS Procedure FTP_FILE completed +21-236-13:25:47.217 00 SCX_CPU1_DS_FI/891 endif +21-236-13:25:47.217 00 SCX_CPU1_DS_FI/892 +21-236-13:25:47.217 00 SCX_CPU1_DS_FI/893 wait 5 +21-236-13:25:47.217 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:25:52.221 00 SCX_CPU1_DS_FI/894 +21-236-13:25:52.221 00 SCX_CPU1_DS_FI/895 write ";***********************************************************************" +21-236-13:25:52.221 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:25:52.221 00 SCX_CPU1_DS_FI/896 write "; Step 2.6: Using the TST_DS application, send a message for the " +21-236-13:25:52.221 00 SPR-I:OPRO ; Step 2.6: Using the TST_DS application, send a message for the +21-236-13:25:52.221 00 SCX_CPU1_DS_FI/897 write "; sequence file type naming entry that is the exact size specified as " +21-236-13:25:52.221 00 SPR-I:OPRO ; sequence file type naming entry that is the exact size specified as +21-236-13:25:52.222 00 SCX_CPU1_DS_FI/898 write "; maximum file size." +21-236-13:25:52.222 00 SPR-I:OPRO ; maximum file size. +21-236-13:25:52.222 00 SCX_CPU1_DS_FI/899 write ";***********************************************************************" +21-236-13:25:52.222 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:25:52.222 00 SCX_CPU1_DS_FI/901 ut_setupevents "SCX", "CPU1", "TST_DS", TST_DS_MSG4_SENT_INF_EID, "INFO", 1 +21-236-13:25:52.227 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:25:52.227 00 SPR-I:OPRO ; Setup event 1 with TST_DS INFO 8 +21-236-13:25:52.227 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:25:52.228 00 SCX_CPU1_DS_FI/902 +21-236-13:25:52.228 00 SCX_CPU1_DS_FI/904 /SCX_CPU1_TST_DS_SENDMESSAGE MsgID=seqMsgID MsgType=4 Pattern=x'55' +21-236-13:25:52.232 00 SCX_CPU1_DS_FI/905 +21-236-13:25:52.233 00 SCX_CPU1_DS_FI/907 ut_tlmwait SCX_CPU1_find_event[1].num_found_messages, 1 +21-236-13:25:52.241 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:25:53.084 00 TLMH-I:STS 58-012-14:07:55.502 ERROR CPU=CPU1 APPNAME=DS EVENT ID=61 FILE MOVE error: src = '/ram/seq00000102.dat', tgt = '/ram/movedir/seq00000102.dat', result = -1 +21-236-13:25:53.084 00 TLMH-I:STS 58-012-14:07:55.503 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=8 Sent Message Size 1040 to MID 0x00001000 +21-236-13:25:53.242 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:25:53.244 00 SCX_CPU1_DS_FI/908 if (UT_TW_Status = UT_Success) then +21-236-13:25:53.244 00 SCX_CPU1_DS_FI/909 write "<*> Passed - Expected Event Msg ",TST_DS_MSG4_SENT_INF_EID," rcv'd." +21-236-13:25:53.244 00 SPR-I:OPRO <*> Passed - Expected Event Msg 8 rcv'd. +21-236-13:25:53.244 00 SCX_CPU1_DS_FI/912 endif +21-236-13:25:53.244 00 SCX_CPU1_DS_FI/913 +21-236-13:25:53.244 00 SCX_CPU1_DS_FI/915 cmdCtr = SCX_CPU1_DS_CMDPC + 1 +21-236-13:25:53.245 00 SCX_CPU1_DS_FI/916 +21-236-13:25:53.245 00 SCX_CPU1_DS_FI/917 /SCX_CPU1_DS_GetFileInfo +21-236-13:25:53.259 00 SCX_CPU1_DS_FI/918 +21-236-13:25:53.259 00 SCX_CPU1_DS_FI/919 ut_tlmwait SCX_CPU1_DS_CMDPC, {cmdCtr} +21-236-13:25:53.272 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:25:54.090 00 TLMH-I:STS 58-012-14:07:56.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:25:58.278 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:25:58.280 00 SCX_CPU1_DS_FI/920 +21-236-13:25:58.280 00 SCX_CPU1_DS_FI/923 if (SCX_CPU1_DS_FileState[seqFileEntry].FileName <> "") then +21-236-13:25:58.280 00 SCX_CPU1_DS_FI/924 fileName2 = SCX_CPU1_DS_FileState[seqFileEntry].FileName +21-236-13:25:58.280 00 SCX_CPU1_DS_FI/925 write "<*> Passed (3000;3000.1;3000.1.1) - A file was created with name '",fileName2,"'" +21-236-13:25:58.281 00 SPR-I:OPRO <*> Passed (3000;3000.1;3000.1.1) - A file was created with name '/ram/seq00000103.dat' +21-236-13:25:58.281 00 SCX_CPU1_DS_FI/926 ut_setrequirements DS_3000, "P" +21-236-13:25:58.283 00 SCX_CPU1_DS_FI/927 ut_setrequirements DS_30001, "A" +21-236-13:25:58.286 00 SCX_CPU1_DS_FI/928 ut_setrequirements DS_300011, "A" +21-236-13:25:58.289 00 SCX_CPU1_DS_FI/929 +21-236-13:25:58.289 00 SCX_CPU1_DS_FI/930 if (SCX_CPU1_DS_FileState[seqFileEntry].OpenState = DS_OPEN) then +21-236-13:25:58.290 00 SCX_CPU1_DS_FI/931 write "<*> Passed (3001) - The file is marked 'OPEN'" +21-236-13:25:58.290 00 SPR-I:OPRO <*> Passed (3001) - The file is marked 'OPEN' +21-236-13:25:58.290 00 SCX_CPU1_DS_FI/932 ut_setrequirements DS_3001, "P" +21-236-13:25:58.341 00 SCX_CPU1_DS_FI/933 endif +21-236-13:25:58.341 00 SCX_CPU1_DS_FI/940 endif +21-236-13:25:58.341 00 SCX_CPU1_DS_FI/941 +21-236-13:25:58.341 00 SCX_CPU1_DS_FI/943 if (fileName3 <> "") then +21-236-13:25:58.341 00 SCX_CPU1_DS_FI/944 ut_setrequirements DS_3003, "A" +21-236-13:25:58.342 00 SCX_CPU1_DS_FI/945 ut_setrequirements DS_3004, "A" +21-236-13:25:58.342 00 SCX_CPU1_DS_FI/946 write "==> Downloading '",fileName3,"'" +21-236-13:25:58.342 00 SPR-I:OPRO ==> Downloading '/ram/seq00000102.dat' +21-236-13:25:58.342 00 SCX_CPU1_DS_FI/947 slashLoc = %locate(fileName3,"/") +21-236-13:25:58.342 00 SCX_CPU1_DS_FI/948 while (slashLoc <> 0) do +21-236-13:25:58.342 00 SCX_CPU1_DS_FI/949 fileName3 = %substring(fileName3,slashLoc+1,%length(fileName3)) +21-236-13:25:58.342 00 SCX_CPU1_DS_FI/950 slashLoc = %locate(fileName3,"/") +21-236-13:25:58.342 00 SCX_CPU1_DS_FI/951 enddo +21-236-13:25:58.342 00 SCX_CPU1_DS_FI/949 fileName3 = %substring(fileName3,slashLoc+1,%length(fileName3)) +21-236-13:25:58.343 00 SCX_CPU1_DS_FI/950 slashLoc = %locate(fileName3,"/") +21-236-13:25:58.343 00 SCX_CPU1_DS_FI/951 enddo +21-236-13:25:58.343 00 SCX_CPU1_DS_FI/952 write "==> FileName Only = '",fileName3,"'" +21-236-13:25:58.343 00 SPR-I:OPRO ==> FileName Only = 'seq00000102.dat' +21-236-13:25:58.367 00 SCX_CPU1_DS_FI/955 s ftp_file(ramDir, fileName3, fileName3, hostCPU, "G") +21-236-13:25:58.367 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/ftp_file.i +21-236-13:25:58.367 00 SPR-I:STS Procedure FTP_FILE started +21-236-13:25:58.368 00 FTP_FILE/2 ; +21-236-13:25:58.368 00 FTP_FILE/3 local logging = %liv (log_procedure) +21-236-13:25:58.368 00 FTP_FILE/4 %liv (log_procedure) = FALSE +21-236-13:25:58.453 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-13:25:58.453 00 FTP_FILE/85 ENDPROC +21-236-13:25:58.453 00 SPR-I:STS Procedure FTP_FILE completed +21-236-13:25:58.453 00 SCX_CPU1_DS_FI/960 endif +21-236-13:25:58.453 00 SCX_CPU1_DS_FI/961 +21-236-13:25:58.453 00 SCX_CPU1_DS_FI/962 write ";***********************************************************************" +21-236-13:25:58.453 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:25:58.454 00 SCX_CPU1_DS_FI/963 write "; Step 2.7: Send the TST_DS command again using a message type that " +21-236-13:25:58.454 00 SPR-I:OPRO ; Step 2.7: Send the TST_DS command again using a message type that +21-236-13:25:58.454 00 SCX_CPU1_DS_FI/964 write "; will exceed the file size of the destination file entry." +21-236-13:25:58.454 00 SPR-I:OPRO ; will exceed the file size of the destination file entry. +21-236-13:25:58.454 00 SCX_CPU1_DS_FI/965 write ";***********************************************************************" +21-236-13:25:58.454 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:25:58.454 00 SCX_CPU1_DS_FI/967 ut_setupevents "SCX", "CPU1", "TST_DS", TST_DS_MSG3_SENT_INF_EID, "INFO", 1 +21-236-13:25:58.456 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:25:58.456 00 SPR-I:OPRO ; Setup event 1 with TST_DS INFO 7 +21-236-13:25:58.456 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:25:58.456 00 SCX_CPU1_DS_FI/968 +21-236-13:25:58.456 00 SCX_CPU1_DS_FI/970 /SCX_CPU1_TST_DS_SENDMESSAGE MsgID=seqMsgID MsgType=3 Pattern=x'AA' +21-236-13:25:58.468 00 SCX_CPU1_DS_FI/971 +21-236-13:25:58.468 00 SCX_CPU1_DS_FI/973 ut_tlmwait SCX_CPU1_find_event[1].num_found_messages, 1 +21-236-13:25:58.473 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:25:59.089 00 TLMH-I:STS 58-012-14:08:01.502 ERROR CPU=CPU1 APPNAME=DS EVENT ID=61 FILE MOVE error: src = '/ram/seq00000103.dat', tgt = '/ram/movedir/seq00000103.dat', result = -1 +21-236-13:25:59.089 00 TLMH-I:STS 58-012-14:08:01.503 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=7 Sent Message Size 1016 to MID 0x00001000 +21-236-13:25:59.474 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:25:59.476 00 SCX_CPU1_DS_FI/974 if (UT_TW_Status = UT_Success) then +21-236-13:25:59.476 00 SCX_CPU1_DS_FI/975 write "<*> Passed - Expected Event Msg ",TST_DS_MSG3_SENT_INF_EID," rcv'd." +21-236-13:25:59.476 00 SPR-I:OPRO <*> Passed - Expected Event Msg 7 rcv'd. +21-236-13:25:59.476 00 SCX_CPU1_DS_FI/978 endif +21-236-13:25:59.477 00 SCX_CPU1_DS_FI/979 +21-236-13:25:59.477 00 SCX_CPU1_DS_FI/981 cmdCtr = SCX_CPU1_DS_CMDPC + 1 +21-236-13:25:59.477 00 SCX_CPU1_DS_FI/982 +21-236-13:25:59.477 00 SCX_CPU1_DS_FI/983 /SCX_CPU1_DS_GetFileInfo +21-236-13:25:59.492 00 SCX_CPU1_DS_FI/984 +21-236-13:25:59.493 00 SCX_CPU1_DS_FI/985 ut_tlmwait SCX_CPU1_DS_CMDPC, {cmdCtr} +21-236-13:25:59.510 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:26:00.090 00 TLMH-I:STS 58-012-14:08:02.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:26:02.514 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:26:02.515 00 SCX_CPU1_DS_FI/986 +21-236-13:26:02.516 00 SCX_CPU1_DS_FI/989 if (SCX_CPU1_DS_FileState[seqFileEntry].FileName <> "") then +21-236-13:26:02.516 00 SCX_CPU1_DS_FI/990 fileName3 = SCX_CPU1_DS_FileState[seqFileEntry].FileName +21-236-13:26:02.516 00 SCX_CPU1_DS_FI/991 write "<*> Passed (3000;3000.1;3000.1.1) - A file was created with name '",fileName3,"'" +21-236-13:26:02.516 00 SPR-I:OPRO <*> Passed (3000;3000.1;3000.1.1) - A file was created with name '/ram/seq00000104.dat' +21-236-13:26:02.517 00 SCX_CPU1_DS_FI/992 ut_setrequirements DS_3000, "P" +21-236-13:26:02.519 00 SCX_CPU1_DS_FI/993 ut_setrequirements DS_30001, "A" +21-236-13:26:02.520 00 SCX_CPU1_DS_FI/994 ut_setrequirements DS_300011, "A" +21-236-13:26:02.520 00 SCX_CPU1_DS_FI/995 +21-236-13:26:02.521 00 SCX_CPU1_DS_FI/996 if (SCX_CPU1_DS_FileState[seqFileEntry].OpenState = DS_OPEN) then +21-236-13:26:02.521 00 SCX_CPU1_DS_FI/997 write "<*> Passed (3001) - The file is marked 'OPEN'" +21-236-13:26:02.521 00 SPR-I:OPRO <*> Passed (3001) - The file is marked 'OPEN' +21-236-13:26:02.521 00 SCX_CPU1_DS_FI/998 ut_setrequirements DS_3001, "P" +21-236-13:26:02.552 00 SCX_CPU1_DS_FI/999 endif +21-236-13:26:02.552 00 SCX_CPU1_DS_FI/1000 +21-236-13:26:02.552 00 SCX_CPU1_DS_FI/1001 if (fileName3 <> fileName2) then +21-236-13:26:02.552 00 SCX_CPU1_DS_FI/1002 write "<*> Passed (3001.1) - A new file was opened" +21-236-13:26:02.552 00 SPR-I:OPRO <*> Passed (3001.1) - A new file was opened +21-236-13:26:02.552 00 SCX_CPU1_DS_FI/1003 ut_setrequirements DS_30011, "P" +21-236-13:26:02.553 00 SCX_CPU1_DS_FI/1007 endif +21-236-13:26:02.553 00 SCX_CPU1_DS_FI/1008 +21-236-13:26:02.553 00 SCX_CPU1_DS_FI/1010 if (fileName2 <> "") then +21-236-13:26:02.553 00 SCX_CPU1_DS_FI/1011 ut_setrequirements DS_3003, "A" +21-236-13:26:02.553 00 SCX_CPU1_DS_FI/1012 ut_setrequirements DS_3004, "A" +21-236-13:26:02.554 00 SCX_CPU1_DS_FI/1013 write "==> Downloading '",fileName2,"'" +21-236-13:26:02.554 00 SPR-I:OPRO ==> Downloading '/ram/seq00000103.dat' +21-236-13:26:02.554 00 SCX_CPU1_DS_FI/1014 slashLoc = %locate(fileName2,"/") +21-236-13:26:02.554 00 SCX_CPU1_DS_FI/1015 while (slashLoc <> 0) do +21-236-13:26:02.576 00 SCX_CPU1_DS_FI/1016 fileName2 = %substring(fileName2,slashLoc+1,%length(fileName2)) +21-236-13:26:02.576 00 SCX_CPU1_DS_FI/1017 slashLoc = %locate(fileName2,"/") +21-236-13:26:02.576 00 SCX_CPU1_DS_FI/1018 enddo +21-236-13:26:02.577 00 SCX_CPU1_DS_FI/1016 fileName2 = %substring(fileName2,slashLoc+1,%length(fileName2)) +21-236-13:26:02.577 00 SCX_CPU1_DS_FI/1017 slashLoc = %locate(fileName2,"/") +21-236-13:26:02.577 00 SCX_CPU1_DS_FI/1018 enddo +21-236-13:26:02.577 00 SCX_CPU1_DS_FI/1019 write "==> FileName Only = '",fileName2,"'" +21-236-13:26:02.577 00 SPR-I:OPRO ==> FileName Only = 'seq00000103.dat' +21-236-13:26:02.577 00 SCX_CPU1_DS_FI/1022 s ftp_file(ramDir, fileName2, fileName2, hostCPU, "G") +21-236-13:26:02.577 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/ftp_file.i +21-236-13:26:02.577 00 SPR-I:STS Procedure FTP_FILE started +21-236-13:26:02.577 00 FTP_FILE/2 ; +21-236-13:26:02.577 00 FTP_FILE/3 local logging = %liv (log_procedure) +21-236-13:26:02.577 00 FTP_FILE/4 %liv (log_procedure) = FALSE +21-236-13:26:02.672 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-13:26:02.672 00 FTP_FILE/85 ENDPROC +21-236-13:26:02.672 00 SPR-I:STS Procedure FTP_FILE completed +21-236-13:26:02.673 00 SCX_CPU1_DS_FI/1027 endif +21-236-13:26:02.673 00 SCX_CPU1_DS_FI/1034 endif +21-236-13:26:02.673 00 SCX_CPU1_DS_FI/1035 +21-236-13:26:02.673 00 SCX_CPU1_DS_FI/1036 wait 5 +21-236-13:26:02.673 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:26:07.677 00 SCX_CPU1_DS_FI/1037 +21-236-13:26:07.677 00 SCX_CPU1_DS_FI/1038 write ";***********************************************************************" +21-236-13:26:07.677 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:26:07.678 00 SCX_CPU1_DS_FI/1039 write "; Step 2.8: Utilizing the TST_DS application, send a messages to the DS" +21-236-13:26:07.678 00 SPR-I:OPRO ; Step 2.8: Utilizing the TST_DS application, send a messages to the DS +21-236-13:26:07.678 00 SCX_CPU1_DS_FI/1040 write "; application that will cause several file write errors." +21-236-13:26:07.678 00 SPR-I:OPRO ; application that will cause several file write errors. +21-236-13:26:07.678 00 SCX_CPU1_DS_FI/1041 write ";***********************************************************************" +21-236-13:26:07.678 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:26:07.678 00 SCX_CPU1_DS_FI/1042 write "; Step 2.8.1: Utilizing the TST_DS application, send messages to the DS" +21-236-13:26:07.678 00 SPR-I:OPRO ; Step 2.8.1: Utilizing the TST_DS application, send messages to the DS +21-236-13:26:07.678 00 SCX_CPU1_DS_FI/1043 write "; application that will create a time file." +21-236-13:26:07.678 00 SPR-I:OPRO ; application that will create a time file. +21-236-13:26:07.678 00 SCX_CPU1_DS_FI/1044 write ";***********************************************************************" +21-236-13:26:07.678 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:26:07.678 00 SCX_CPU1_DS_FI/1046 ut_setupevents "SCX", "CPU1", "TST_DS", TST_DS_MSG2_SENT_INF_EID, "INFO", 1 +21-236-13:26:07.684 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:26:07.684 00 SPR-I:OPRO ; Setup event 1 with TST_DS INFO 6 +21-236-13:26:07.684 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:26:07.685 00 SCX_CPU1_DS_FI/1047 +21-236-13:26:07.685 00 SCX_CPU1_DS_FI/1049 /SCX_CPU1_TST_DS_SENDMESSAGE MsgID=timeMsgID MsgType=2 Pattern=x'AA' +21-236-13:26:07.686 00 SCX_CPU1_DS_FI/1050 wait 10 +21-236-13:26:07.686 00 SPR-I:STTE Wait mode - waiting 10 seconds ... +21-236-13:26:08.588 00 TLMH-I:STS 58-012-14:08:11.002 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=6 Sent Message Size 516 to MID 0x00001001 +21-236-13:26:17.693 00 SCX_CPU1_DS_FI/1051 +21-236-13:26:17.694 00 SCX_CPU1_DS_FI/1053 ut_tlmwait SCX_CPU1_find_event[1].num_found_messages, 1 +21-236-13:26:17.700 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:26:17.700 00 SCX_CPU1_DS_FI/1054 if (UT_TW_Status = UT_Success) then +21-236-13:26:17.700 00 SCX_CPU1_DS_FI/1055 write "<*> Passed - Expected Event Msg ",TST_DS_MSG2_SENT_INF_EID," rcv'd." +21-236-13:26:17.700 00 SPR-I:OPRO <*> Passed - Expected Event Msg 6 rcv'd. +21-236-13:26:17.700 00 SCX_CPU1_DS_FI/1058 endif +21-236-13:26:17.700 00 SCX_CPU1_DS_FI/1059 +21-236-13:26:17.700 00 SCX_CPU1_DS_FI/1061 cmdCtr = SCX_CPU1_DS_CMDPC + 1 +21-236-13:26:17.700 00 SCX_CPU1_DS_FI/1062 +21-236-13:26:17.700 00 SCX_CPU1_DS_FI/1063 /SCX_CPU1_DS_GetFileInfo +21-236-13:26:17.712 00 SCX_CPU1_DS_FI/1064 +21-236-13:26:17.712 00 SCX_CPU1_DS_FI/1065 ut_tlmwait SCX_CPU1_DS_CMDPC, {cmdCtr} +21-236-13:26:17.715 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:26:18.588 00 TLMH-I:STS 58-012-14:08:21.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:26:21.719 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:26:21.721 00 SCX_CPU1_DS_FI/1066 +21-236-13:26:21.721 00 SCX_CPU1_DS_FI/1069 if (SCX_CPU1_DS_FileState[timeFileEntry].FileName <> "") then +21-236-13:26:21.721 00 SCX_CPU1_DS_FI/1070 fileName1 = SCX_CPU1_DS_FileState[timeFileEntry].FileName +21-236-13:26:21.722 00 SCX_CPU1_DS_FI/1071 write "<*> Passed (3000;3000.2;3000.2.1) - A file was created with name '",fileName1,"'" +21-236-13:26:21.722 00 SPR-I:OPRO <*> Passed (3000;3000.2;3000.2.1) - A file was created with name '/ram/ti1980012140811.txt' +21-236-13:26:21.722 00 SCX_CPU1_DS_FI/1072 ut_setrequirements DS_3000, "P" +21-236-13:26:21.724 00 SCX_CPU1_DS_FI/1073 ut_setrequirements DS_30002, "A" +21-236-13:26:21.725 00 SCX_CPU1_DS_FI/1074 ut_setrequirements DS_300021, "A" +21-236-13:26:21.726 00 SCX_CPU1_DS_FI/1075 +21-236-13:26:21.726 00 SCX_CPU1_DS_FI/1076 if (SCX_CPU1_DS_FileState[timeFileEntry].OpenState = DS_OPEN) then +21-236-13:26:21.726 00 SCX_CPU1_DS_FI/1077 write "<*> Passed (3001) - The file is marked 'OPEN'" +21-236-13:26:21.726 00 SPR-I:OPRO <*> Passed (3001) - The file is marked 'OPEN' +21-236-13:26:21.726 00 SCX_CPU1_DS_FI/1078 ut_setrequirements DS_3001, "P" +21-236-13:26:21.763 00 SCX_CPU1_DS_FI/1079 endif +21-236-13:26:21.763 00 SCX_CPU1_DS_FI/1086 endif +21-236-13:26:21.763 00 SCX_CPU1_DS_FI/1087 +21-236-13:26:21.763 00 SCX_CPU1_DS_FI/1088 wait 5 +21-236-13:26:21.763 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:26:26.767 00 SCX_CPU1_DS_FI/1089 +21-236-13:26:26.767 00 SCX_CPU1_DS_FI/1090 write ";***********************************************************************" +21-236-13:26:26.767 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:26:26.767 00 SCX_CPU1_DS_FI/1091 write "; Step 2.8.2: Send the DS Set Basename command to set the basenames for" +21-236-13:26:26.767 00 SPR-I:OPRO ; Step 2.8.2: Send the DS Set Basename command to set the basenames for +21-236-13:26:26.767 00 SCX_CPU1_DS_FI/1092 write "; the Destination File Table entries used above such that the created " +21-236-13:26:26.768 00 SPR-I:OPRO ; the Destination File Table entries used above such that the created +21-236-13:26:26.768 00 SCX_CPU1_DS_FI/1093 write "; file names will exceed the OS_MAX_API_NAME limit and generate a file" +21-236-13:26:26.768 00 SPR-I:OPRO ; file names will exceed the OS_MAX_API_NAME limit and generate a file +21-236-13:26:26.768 00 SCX_CPU1_DS_FI/1094 write "; write error." +21-236-13:26:26.768 00 SPR-I:OPRO ; write error. +21-236-13:26:26.768 00 SCX_CPU1_DS_FI/1095 write ";***********************************************************************" +21-236-13:26:26.768 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:26:26.768 00 SCX_CPU1_DS_FI/1097 ut_setupevents "SCX", "CPU1", {DSAppName}, DS_BASE_CMD_EID, "DEBUG", 1 +21-236-13:26:26.773 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:26:26.773 00 SPR-I:OPRO ; Setup event 1 with DS DEBUG 49 +21-236-13:26:26.773 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:26:26.774 00 SCX_CPU1_DS_FI/1098 +21-236-13:26:26.774 00 SCX_CPU1_DS_FI/1099 cmdCtr = SCX_CPU1_DS_CMDPC + 1 +21-236-13:26:26.774 00 SCX_CPU1_DS_FI/1101 /SCX_CPU1_DS_SetBasename FileIndex=seqFileEntry BaseName="sequenceFile" +21-236-13:26:26.785 00 SCX_CPU1_DS_FI/1102 wait 5 +21-236-13:26:26.786 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:26:27.591 00 TLMH-I:STS 58-012-14:08:30.002 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=49 DEST BASE command: file table index = 0, base filename = 'sequenceFile' +21-236-13:26:31.791 00 SCX_CPU1_DS_FI/1103 +21-236-13:26:31.791 00 SCX_CPU1_DS_FI/1104 ut_tlmwait SCX_CPU1_DS_CMDPC, {cmdCtr} +21-236-13:26:31.794 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:26:31.794 00 SCX_CPU1_DS_FI/1105 if (UT_TW_Status = UT_Success) then +21-236-13:26:31.794 00 SCX_CPU1_DS_FI/1106 write "<*> Passed (1004;5003) - DS Set Basename command sent properly." +21-236-13:26:31.794 00 SPR-I:OPRO <*> Passed (1004;5003) - DS Set Basename command sent properly. +21-236-13:26:31.794 00 SCX_CPU1_DS_FI/1107 ut_setrequirements DS_1004, "P" +21-236-13:26:31.795 00 SCX_CPU1_DS_FI/1108 ut_setrequirements DS_5003, "P" +21-236-13:26:31.796 00 SCX_CPU1_DS_FI/1113 endif +21-236-13:26:31.796 00 SCX_CPU1_DS_FI/1114 +21-236-13:26:31.796 00 SCX_CPU1_DS_FI/1116 ut_tlmwait SCX_CPU1_find_event[1].num_found_messages, 1 +21-236-13:26:31.799 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:26:31.800 00 SCX_CPU1_DS_FI/1117 if (UT_TW_Status = UT_Success) then +21-236-13:26:31.800 00 SCX_CPU1_DS_FI/1118 write "<*> Passed (1004;5003) - Expected Event Msg ",DS_BASE_CMD_EID," rcv'd." +21-236-13:26:31.800 00 SPR-I:OPRO <*> Passed (1004;5003) - Expected Event Msg 49 rcv'd. +21-236-13:26:31.800 00 SCX_CPU1_DS_FI/1119 ut_setrequirements DS_1004, "P" +21-236-13:26:31.833 00 SCX_CPU1_DS_FI/1120 ut_setrequirements DS_5003, "P" +21-236-13:26:31.834 00 SCX_CPU1_DS_FI/1125 endif +21-236-13:26:31.834 00 SCX_CPU1_DS_FI/1126 +21-236-13:26:31.834 00 SCX_CPU1_DS_FI/1128 ut_setupevents "SCX", "CPU1", {DSAppName}, DS_BASE_CMD_EID, "DEBUG", 1 +21-236-13:26:31.836 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:26:31.836 00 SPR-I:OPRO ; Setup event 1 with DS DEBUG 49 +21-236-13:26:31.836 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:26:31.836 00 SCX_CPU1_DS_FI/1129 +21-236-13:26:31.836 00 SCX_CPU1_DS_FI/1130 cmdCtr = SCX_CPU1_DS_CMDPC + 1 +21-236-13:26:31.836 00 SCX_CPU1_DS_FI/1132 /SCX_CPU1_DS_SetBasename FileIndex=timeFileEntry BaseName="timeFile" +21-236-13:26:31.848 00 SCX_CPU1_DS_FI/1133 wait 5 +21-236-13:26:31.848 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:26:32.588 00 TLMH-I:STS 58-012-14:08:35.002 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=49 DEST BASE command: file table index = 1, base filename = 'timeFile' +21-236-13:26:36.852 00 SCX_CPU1_DS_FI/1134 +21-236-13:26:36.852 00 SCX_CPU1_DS_FI/1135 ut_tlmwait SCX_CPU1_DS_CMDPC, {cmdCtr} +21-236-13:26:36.862 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:26:36.863 00 SCX_CPU1_DS_FI/1136 if (UT_TW_Status = UT_Success) then +21-236-13:26:36.863 00 SCX_CPU1_DS_FI/1137 write "<*> Passed (1004;5003) - DS Set Basename command sent properly." +21-236-13:26:36.863 00 SPR-I:OPRO <*> Passed (1004;5003) - DS Set Basename command sent properly. +21-236-13:26:36.864 00 SCX_CPU1_DS_FI/1138 ut_setrequirements DS_1004, "P" +21-236-13:26:36.865 00 SCX_CPU1_DS_FI/1139 ut_setrequirements DS_5003, "P" +21-236-13:26:36.867 00 SCX_CPU1_DS_FI/1144 endif +21-236-13:26:36.867 00 SCX_CPU1_DS_FI/1145 +21-236-13:26:36.867 00 SCX_CPU1_DS_FI/1147 ut_tlmwait SCX_CPU1_find_event[1].num_found_messages, 1 +21-236-13:26:36.873 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:26:36.874 00 SCX_CPU1_DS_FI/1148 if (UT_TW_Status = UT_Success) then +21-236-13:26:36.874 00 SCX_CPU1_DS_FI/1149 write "<*> Passed (1004;5003) - Expected Event Msg ",DS_BASE_CMD_EID," rcv'd." +21-236-13:26:36.874 00 SPR-I:OPRO <*> Passed (1004;5003) - Expected Event Msg 49 rcv'd. +21-236-13:26:36.874 00 SCX_CPU1_DS_FI/1150 ut_setrequirements DS_1004, "P" +21-236-13:26:36.908 00 SCX_CPU1_DS_FI/1151 ut_setrequirements DS_5003, "P" +21-236-13:26:36.909 00 SCX_CPU1_DS_FI/1156 endif +21-236-13:26:36.909 00 SCX_CPU1_DS_FI/1157 +21-236-13:26:36.909 00 SCX_CPU1_DS_FI/1158 write ";***********************************************************************" +21-236-13:26:36.909 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:26:36.909 00 SCX_CPU1_DS_FI/1159 write "; Step 2.8.3: Using the TST_DS application, send messages to the DS " +21-236-13:26:36.909 00 SPR-I:OPRO ; Step 2.8.3: Using the TST_DS application, send messages to the DS +21-236-13:26:36.909 00 SCX_CPU1_DS_FI/1160 write "; application that will cause the file write errors to occur." +21-236-13:26:36.909 00 SPR-I:OPRO ; application that will cause the file write errors to occur. +21-236-13:26:36.909 00 SCX_CPU1_DS_FI/1161 write ";***********************************************************************" +21-236-13:26:36.909 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:26:36.909 00 SCX_CPU1_DS_FI/1163 ut_setupevents "SCX", "CPU1", "TST_DS", TST_DS_MSG1_SENT_INF_EID, "INFO", 1 +21-236-13:26:36.911 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:26:36.911 00 SPR-I:OPRO ; Setup event 1 with TST_DS INFO 5 +21-236-13:26:36.911 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:26:36.911 00 SCX_CPU1_DS_FI/1164 ut_setupevents "SCX", "CPU1", {DSAppName}, DS_CREATE_FILE_ERR_EID, "ERROR", 2 +21-236-13:26:36.913 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:26:36.913 00 SPR-I:OPRO ; Setup event 2 with DS ERROR 15 +21-236-13:26:36.927 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:26:36.927 00 SCX_CPU1_DS_FI/1165 ut_setupevents "SCX", "CPU1", "TST_DS", TST_DS_MSG3_SENT_INF_EID, "INFO", 3 +21-236-13:26:36.929 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:26:36.929 00 SPR-I:OPRO ; Setup event 3 with TST_DS INFO 7 +21-236-13:26:36.929 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:26:36.929 00 SCX_CPU1_DS_FI/1166 +21-236-13:26:36.929 00 SCX_CPU1_DS_FI/1167 local expectedErrCnt = SCX_CPU1_DS_FileWriteErrCnt + 2 +21-236-13:26:36.929 00 SCX_CPU1_DS_FI/1168 +21-236-13:26:36.929 00 SCX_CPU1_DS_FI/1170 /SCX_CPU1_TST_DS_SENDMESSAGE MsgID=seqMsgID MsgType=1 Pattern=x'55' +21-236-13:26:36.942 00 SCX_CPU1_DS_FI/1171 wait 5 +21-236-13:26:36.942 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:26:37.588 00 TLMH-I:STS 58-012-14:08:40.006 ERROR CPU=CPU1 APPNAME=DS EVENT ID=61 FILE MOVE error: src = '/ram/seq00000104.dat', tgt = '/ram/movedir/seq00000104.dat', result = -1 +21-236-13:26:37.589 00 TLMH-I:STS 58-012-14:08:40.006 ERROR CPU=CPU1 APPNAME=DS EVENT ID=15 FILE CREATE error: result = -104, dest = 0, name = '/ram/sequenceFile00000105.dat' +21-236-13:26:37.590 00 TLMH-I:STS 58-012-14:08:40.006 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Message Size 116 to MID 0x00001000 +21-236-13:26:41.946 00 SCX_CPU1_DS_FI/1172 +21-236-13:26:41.946 00 SCX_CPU1_DS_FI/1174 /SCX_CPU1_TST_DS_SENDMESSAGE MsgID=timeMsgID MsgType=3 Pattern=x'55' +21-236-13:26:41.959 00 SCX_CPU1_DS_FI/1175 wait 5 +21-236-13:26:41.959 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:26:42.585 00 TLMH-I:STS 58-012-14:08:45.003 ERROR CPU=CPU1 APPNAME=DS EVENT ID=61 FILE MOVE error: src = '/ram/ti1980012140811.txt', tgt = '/ram/movedir/ti1980012140811.txt', result = -1 +21-236-13:26:42.587 00 TLMH-I:STS 58-012-14:08:45.003 ERROR CPU=CPU1 APPNAME=DS EVENT ID=15 FILE CREATE error: result = -104, dest = 1, name = '/ram/timeFile1980012140845.txt' +21-236-13:26:42.588 00 TLMH-I:STS 58-012-14:08:45.004 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=7 Sent Message Size 1016 to MID 0x00001001 +21-236-13:26:46.963 00 SCX_CPU1_DS_FI/1176 +21-236-13:26:46.963 00 SCX_CPU1_DS_FI/1178 ut_tlmwait SCX_CPU1_find_event[1].num_found_messages, 1 +21-236-13:26:46.975 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:26:46.978 00 SCX_CPU1_DS_FI/1179 if (UT_TW_Status = UT_Success) then +21-236-13:26:46.978 00 SCX_CPU1_DS_FI/1180 write "<*> Passed - Expected Event Msg ",TST_DS_MSG1_SENT_INF_EID," rcv'd." +21-236-13:26:46.978 00 SPR-I:OPRO <*> Passed - Expected Event Msg 5 rcv'd. +21-236-13:26:46.978 00 SCX_CPU1_DS_FI/1183 endif +21-236-13:26:46.978 00 SCX_CPU1_DS_FI/1184 +21-236-13:26:46.979 00 SCX_CPU1_DS_FI/1185 ut_tlmwait SCX_CPU1_find_event[3].num_found_messages, 1 +21-236-13:26:46.990 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:26:46.991 00 SCX_CPU1_DS_FI/1186 if (UT_TW_Status = UT_Success) then +21-236-13:26:46.991 00 SCX_CPU1_DS_FI/1187 write "<*> Passed - Expected Event Msg ",TST_DS_MSG3_SENT_INF_EID," rcv'd." +21-236-13:26:46.991 00 SPR-I:OPRO <*> Passed - Expected Event Msg 7 rcv'd. +21-236-13:26:46.991 00 SCX_CPU1_DS_FI/1190 endif +21-236-13:26:46.991 00 SCX_CPU1_DS_FI/1191 +21-236-13:26:46.992 00 SCX_CPU1_DS_FI/1192 if (SCX_CPU1_find_event[2].num_found_messages = 2) then +21-236-13:26:46.992 00 SCX_CPU1_DS_FI/1193 write "<*> Passed (3005) - Expected Event Msg ",DS_CREATE_FILE_ERR_EID," rcv'd twice." +21-236-13:26:46.992 00 SPR-I:OPRO <*> Passed (3005) - Expected Event Msg 15 rcv'd twice. +21-236-13:26:46.992 00 SCX_CPU1_DS_FI/1194 ut_setrequirements DS_3005, "P" +21-236-13:26:46.994 00 SCX_CPU1_DS_FI/1198 endif +21-236-13:26:47.016 00 SCX_CPU1_DS_FI/1199 +21-236-13:26:47.016 00 SCX_CPU1_DS_FI/1201 if (expectedErrCnt = SCX_CPU1_DS_FileWriteErrCnt) then +21-236-13:26:47.016 00 SCX_CPU1_DS_FI/1202 write "<*> Passed (3005) - File Write Error count incremented properly." +21-236-13:26:47.016 00 SPR-I:OPRO <*> Passed (3005) - File Write Error count incremented properly. +21-236-13:26:47.016 00 SCX_CPU1_DS_FI/1203 ut_setrequirements DS_3005, "P" +21-236-13:26:47.017 00 SCX_CPU1_DS_FI/1207 endif +21-236-13:26:47.017 00 SCX_CPU1_DS_FI/1208 +21-236-13:26:47.017 00 SCX_CPU1_DS_FI/1210 cmdCtr = SCX_CPU1_DS_CMDPC + 1 +21-236-13:26:47.017 00 SCX_CPU1_DS_FI/1211 +21-236-13:26:47.017 00 SCX_CPU1_DS_FI/1212 /SCX_CPU1_DS_GetFileInfo +21-236-13:26:47.029 00 SCX_CPU1_DS_FI/1213 +21-236-13:26:47.029 00 SCX_CPU1_DS_FI/1214 ut_tlmwait SCX_CPU1_DS_CMDPC, {cmdCtr} +21-236-13:26:47.032 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:26:47.587 00 TLMH-I:STS 58-012-14:08:50.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:26:50.035 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:26:50.037 00 SCX_CPU1_DS_FI/1215 +21-236-13:26:50.037 00 SCX_CPU1_DS_FI/1217 if (SCX_CPU1_DS_FileState[seqFileEntry].OpenState = DS_CLOSED) then +21-236-13:26:50.037 00 SCX_CPU1_DS_FI/1218 write "<*> Passed (3005) - The sequence file entry is marked 'CLOSED'" +21-236-13:26:50.038 00 SPR-I:OPRO <*> Passed (3005) - The sequence file entry is marked 'CLOSED' +21-236-13:26:50.038 00 SCX_CPU1_DS_FI/1219 ut_setrequirements DS_3005, "P" +21-236-13:26:50.041 00 SCX_CPU1_DS_FI/1223 endif +21-236-13:26:50.041 00 SCX_CPU1_DS_FI/1224 +21-236-13:26:50.041 00 SCX_CPU1_DS_FI/1225 if (SCX_CPU1_DS_FileState[timeFileEntry].OpenState = DS_CLOSED) then +21-236-13:26:50.041 00 SCX_CPU1_DS_FI/1226 write "<*> Passed (3005) - The time file entry is marked 'CLOSED'" +21-236-13:26:50.041 00 SPR-I:OPRO <*> Passed (3005) - The time file entry is marked 'CLOSED' +21-236-13:26:50.042 00 SCX_CPU1_DS_FI/1227 ut_setrequirements DS_3005, "P" +21-236-13:26:50.045 00 SCX_CPU1_DS_FI/1231 endif +21-236-13:26:50.045 00 SCX_CPU1_DS_FI/1232 +21-236-13:26:50.045 00 SCX_CPU1_DS_FI/1234 if (SCX_CPU1_DS_FileState[seqFileEntry].EnableState = DS_DISABLED) then +21-236-13:26:50.046 00 SCX_CPU1_DS_FI/1235 write "<*> Passed (3005) - The sequence file entry has been disabled." +21-236-13:26:50.046 00 SPR-I:OPRO <*> Passed (3005) - The sequence file entry has been disabled. +21-236-13:26:50.046 00 SCX_CPU1_DS_FI/1236 ut_setrequirements DS_3005, "P" +21-236-13:26:50.092 00 SCX_CPU1_DS_FI/1240 endif +21-236-13:26:50.092 00 SCX_CPU1_DS_FI/1241 +21-236-13:26:50.092 00 SCX_CPU1_DS_FI/1242 if (SCX_CPU1_DS_FileState[timeFileEntry].EnableState = DS_DISABLED) then +21-236-13:26:50.092 00 SCX_CPU1_DS_FI/1243 write "<*> Passed (3005) - The time file entry has been disabled." +21-236-13:26:50.092 00 SPR-I:OPRO <*> Passed (3005) - The time file entry has been disabled. +21-236-13:26:50.092 00 SCX_CPU1_DS_FI/1244 ut_setrequirements DS_3005, "P" +21-236-13:26:50.093 00 SCX_CPU1_DS_FI/1248 endif +21-236-13:26:50.093 00 SCX_CPU1_DS_FI/1249 +21-236-13:26:50.093 00 SCX_CPU1_DS_FI/1250 wait 5 +21-236-13:26:50.093 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:26:55.101 00 SCX_CPU1_DS_FI/1251 +21-236-13:26:55.101 00 SCX_CPU1_DS_FI/1252 write ";***********************************************************************" +21-236-13:26:55.101 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:26:55.101 00 SCX_CPU1_DS_FI/1253 write "; Step 2.8.4: Download the files that were open prior to Step 2.8.3." +21-236-13:26:55.101 00 SPR-I:OPRO ; Step 2.8.4: Download the files that were open prior to Step 2.8.3. +21-236-13:26:55.101 00 SCX_CPU1_DS_FI/1254 write ";***********************************************************************" +21-236-13:26:55.101 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:26:55.101 00 SCX_CPU1_DS_FI/1256 ut_setrequirements DS_3003, "A" +21-236-13:26:55.103 00 SCX_CPU1_DS_FI/1257 ut_setrequirements DS_3004, "A" +21-236-13:26:55.104 00 SCX_CPU1_DS_FI/1258 if (fileName3 <> "") then +21-236-13:26:55.104 00 SCX_CPU1_DS_FI/1259 write "==> Downloading '",fileName3,"'" +21-236-13:26:55.104 00 SPR-I:OPRO ==> Downloading '/ram/seq00000104.dat' +21-236-13:26:55.104 00 SCX_CPU1_DS_FI/1260 slashLoc = %locate(fileName3,"/") +21-236-13:26:55.105 00 SCX_CPU1_DS_FI/1261 while (slashLoc <> 0) do +21-236-13:26:55.105 00 SCX_CPU1_DS_FI/1262 fileName3 = %substring(fileName3,slashLoc+1,%length(fileName3)) +21-236-13:26:55.105 00 SCX_CPU1_DS_FI/1263 slashLoc = %locate(fileName3,"/") +21-236-13:26:55.105 00 SCX_CPU1_DS_FI/1264 enddo +21-236-13:26:55.105 00 SCX_CPU1_DS_FI/1262 fileName3 = %substring(fileName3,slashLoc+1,%length(fileName3)) +21-236-13:26:55.105 00 SCX_CPU1_DS_FI/1263 slashLoc = %locate(fileName3,"/") +21-236-13:26:55.105 00 SCX_CPU1_DS_FI/1264 enddo +21-236-13:26:55.105 00 SCX_CPU1_DS_FI/1265 write "==> FileName Only = '",fileName3,"'" +21-236-13:26:55.105 00 SPR-I:OPRO ==> FileName Only = 'seq00000104.dat' +21-236-13:26:55.105 00 SCX_CPU1_DS_FI/1268 s ftp_file(ramDir, fileName3, fileName3, hostCPU, "G") +21-236-13:26:55.106 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/ftp_file.i +21-236-13:26:55.106 00 SPR-I:STS Procedure FTP_FILE started +21-236-13:26:55.106 00 FTP_FILE/2 ; +21-236-13:26:55.131 00 FTP_FILE/3 local logging = %liv (log_procedure) +21-236-13:26:55.131 00 FTP_FILE/4 %liv (log_procedure) = FALSE +21-236-13:26:55.230 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-13:26:55.230 00 FTP_FILE/85 ENDPROC +21-236-13:26:55.230 00 SPR-I:STS Procedure FTP_FILE completed +21-236-13:26:55.232 00 SCX_CPU1_DS_FI/1269 endif +21-236-13:26:55.232 00 SCX_CPU1_DS_FI/1270 +21-236-13:26:55.232 00 SCX_CPU1_DS_FI/1272 if (fileName1 <> "") then +21-236-13:26:55.232 00 SCX_CPU1_DS_FI/1273 write "==> Downloading '",fileName1,"'" +21-236-13:26:55.232 00 SPR-I:OPRO ==> Downloading '/ram/ti1980012140811.txt' +21-236-13:26:55.232 00 SCX_CPU1_DS_FI/1274 slashLoc = %locate(fileName1,"/") +21-236-13:26:55.233 00 SCX_CPU1_DS_FI/1275 while (slashLoc <> 0) do +21-236-13:26:55.233 00 SCX_CPU1_DS_FI/1276 fileName1 = %substring(fileName1,slashLoc+1,%length(fileName1)) +21-236-13:26:55.233 00 SCX_CPU1_DS_FI/1277 slashLoc = %locate(fileName1,"/") +21-236-13:26:55.233 00 SCX_CPU1_DS_FI/1278 enddo +21-236-13:26:55.234 00 SCX_CPU1_DS_FI/1276 fileName1 = %substring(fileName1,slashLoc+1,%length(fileName1)) +21-236-13:26:55.235 00 SCX_CPU1_DS_FI/1277 slashLoc = %locate(fileName1,"/") +21-236-13:26:55.235 00 SCX_CPU1_DS_FI/1278 enddo +21-236-13:26:55.235 00 SCX_CPU1_DS_FI/1279 write "==> FileName Only = '",fileName1,"'" +21-236-13:26:55.235 00 SPR-I:OPRO ==> FileName Only = 'ti1980012140811.txt' +21-236-13:26:55.235 00 SCX_CPU1_DS_FI/1282 s ftp_file(ramDir, fileName1, fileName1, hostCPU, "G") +21-236-13:26:55.236 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/ftp_file.i +21-236-13:26:55.236 00 SPR-I:STS Procedure FTP_FILE started +21-236-13:26:55.237 00 FTP_FILE/2 ; +21-236-13:26:55.237 00 FTP_FILE/3 local logging = %liv (log_procedure) +21-236-13:26:55.252 00 FTP_FILE/4 %liv (log_procedure) = FALSE +21-236-13:26:55.345 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-13:26:55.345 00 FTP_FILE/85 ENDPROC +21-236-13:26:55.345 00 SPR-I:STS Procedure FTP_FILE completed +21-236-13:26:55.345 00 SCX_CPU1_DS_FI/1283 endif +21-236-13:26:55.345 00 SCX_CPU1_DS_FI/1284 +21-236-13:26:55.345 00 SCX_CPU1_DS_FI/1285 wait 5 +21-236-13:26:55.345 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:27:00.349 00 SCX_CPU1_DS_FI/1286 +21-236-13:27:00.349 00 SCX_CPU1_DS_FI/1287 write ";***********************************************************************" +21-236-13:27:00.349 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:27:00.349 00 SCX_CPU1_DS_FI/1288 write "; Step 2.9: Reload the Destination File Table in order to restore the" +21-236-13:27:00.349 00 SPR-I:OPRO ; Step 2.9: Reload the Destination File Table in order to restore the +21-236-13:27:00.350 00 SCX_CPU1_DS_FI/1289 write "; table entries to a usable state." +21-236-13:27:00.350 00 SPR-I:OPRO ; table entries to a usable state. +21-236-13:27:00.350 00 SCX_CPU1_DS_FI/1290 write ";***********************************************************************" +21-236-13:27:00.350 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:27:00.350 00 SCX_CPU1_DS_FI/1292 cmdCtr = SCX_CPU1_TBL_CMDPC + 1 +21-236-13:27:00.350 00 SCX_CPU1_DS_FI/1293 +21-236-13:27:00.350 00 SCX_CPU1_DS_FI/1294 s load_table("ds_fwfile.tbl",hostCPU) +21-236-13:27:00.351 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/load_table.i +21-236-13:27:00.353 00 SPR-I:STS Procedure LOAD_TABLE started +21-236-13:27:00.353 00 LOAD_TABLE/2 ; +21-236-13:27:00.353 00 LOAD_TABLE/3 local logging = %liv (log_procedure) +21-236-13:27:00.354 00 LOAD_TABLE/4 %liv (log_procedure) = FALSE +21-236-13:27:00.359 00 SPR-I:OPRO Table Filename: ds_fwfile.tbl +21-236-13:27:00.363 00 SPR-I:OPRO The perl command is: perl /s/opr/accounts/global/tools/table_ftp.pl 192.168.1.8 ds_fwfile.tbl RAM:0 3 +21-236-13:27:00.363 00 SPR-I:OPRO +21-236-13:27:00.515 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-13:27:00.515 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:27:05.518 00 SPR-I:OPRO +21-236-13:27:05.519 00 SPR-I:OPRO Sending Command: /SCX_CPU1_TBL_LOAD LFILENAME="/ram/ds_fwfile.tbl" +21-236-13:27:05.545 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:27:06.084 00 TLMH-I:STS 58-012-14:09:08.501 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=12 Successful load of '/ram/ds_fwfile.tbl' into 'DS.FILE_TBL' working buffer +21-236-13:27:10.550 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:27:10.552 00 LOAD_TABLE/195 +21-236-13:27:10.552 00 LOAD_TABLE/196 ENDPROC +21-236-13:27:10.552 00 SPR-I:STS Procedure LOAD_TABLE completed +21-236-13:27:10.554 00 SCX_CPU1_DS_FI/1295 +21-236-13:27:10.554 00 SCX_CPU1_DS_FI/1296 ut_tlmwait SCX_CPU1_TBL_CMDPC, {cmdCtr} +21-236-13:27:10.559 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:27:10.560 00 SCX_CPU1_DS_FI/1297 if (UT_TW_Status = UT_Success) then +21-236-13:27:10.560 00 SCX_CPU1_DS_FI/1298 write "<*> Passed - Load command sent successfully." +21-236-13:27:10.560 00 SPR-I:OPRO <*> Passed - Load command sent successfully. +21-236-13:27:10.560 00 SCX_CPU1_DS_FI/1301 endif +21-236-13:27:10.560 00 SCX_CPU1_DS_FI/1302 +21-236-13:27:10.560 00 SCX_CPU1_DS_FI/1303 wait 5 +21-236-13:27:10.560 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:27:15.564 00 SCX_CPU1_DS_FI/1304 +21-236-13:27:15.564 00 SCX_CPU1_DS_FI/1306 ut_setupevents "SCX","CPU1","CFE_TBL",CFE_TBL_VAL_REQ_MADE_INF_EID,"DEBUG", 1 +21-236-13:27:15.570 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:27:15.570 00 SPR-I:OPRO ; Setup event 1 with CFE_TBL DEBUG 16 +21-236-13:27:15.570 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:27:15.571 00 SCX_CPU1_DS_FI/1307 ut_setupevents "SCX","CPU1","CFE_TBL",CFE_TBL_VALIDATION_INF_EID,"INFO", 2 +21-236-13:27:15.575 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:27:15.576 00 SPR-I:OPRO ; Setup event 2 with CFE_TBL INFO 36 +21-236-13:27:15.576 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:27:15.576 00 SCX_CPU1_DS_FI/1308 +21-236-13:27:15.576 00 SCX_CPU1_DS_FI/1309 cmdCtr = SCX_CPU1_TBL_CMDPC + 1 +21-236-13:27:15.576 00 SCX_CPU1_DS_FI/1310 +21-236-13:27:15.576 00 SCX_CPU1_DS_FI/1311 /SCX_CPU1_TBL_VALIDATE INACTIVE VTABLENAME=fileTblName +21-236-13:27:15.588 00 SCX_CPU1_DS_FI/1312 +21-236-13:27:15.588 00 SCX_CPU1_DS_FI/1313 ut_tlmwait SCX_CPU1_TBL_CMDPC, {cmdCtr} +21-236-13:27:15.591 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:27:16.083 00 TLMH-I:STS 58-012-14:09:18.501 DEBUG CPU=CPU1 APPNAME=CFE_TBL EVENT ID=16 Tbl Services issued validation request for 'DS.FILE_TBL' +21-236-13:27:17.585 00 TLMH-I:STS 58-012-14:09:20.004 INFO CPU=CPU1 APPNAME=DS EVENT ID=10 Destination file table verify results: desc text = OK, good entries = 8, bad = 0, unused = 8 +21-236-13:27:17.586 00 TLMH-I:STS 58-012-14:09:20.004 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=36 DS validation successful for Inactive 'DS.FILE_TBL' +21-236-13:27:17.593 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:27:17.594 00 SCX_CPU1_DS_FI/1314 if (UT_TW_Status = UT_Success) then +21-236-13:27:17.594 00 SCX_CPU1_DS_FI/1315 write "<*> Passed - DS Destination File Table validate command sent." +21-236-13:27:17.594 00 SPR-I:OPRO <*> Passed - DS Destination File Table validate command sent. +21-236-13:27:17.594 00 SCX_CPU1_DS_FI/1316 if (SCX_CPU1_find_event[1].num_found_messages = 1) then +21-236-13:27:17.594 00 SCX_CPU1_DS_FI/1317 write "<*> Passed - Event Msg ",SCX_CPU1_find_event[1].eventid," Found!" +21-236-13:27:17.594 00 SPR-I:OPRO <*> Passed - Event Msg 16 Found! +21-236-13:27:17.594 00 SCX_CPU1_DS_FI/1320 endif +21-236-13:27:17.594 00 SCX_CPU1_DS_FI/1323 endif +21-236-13:27:17.594 00 SCX_CPU1_DS_FI/1324 +21-236-13:27:17.595 00 SCX_CPU1_DS_FI/1325 wait 20 +21-236-13:27:17.595 00 SPR-I:STTE Wait mode - waiting 20 seconds ... +21-236-13:27:37.611 00 SCX_CPU1_DS_FI/1326 +21-236-13:27:37.611 00 SCX_CPU1_DS_FI/1328 ut_setupevents "SCX","CPU1","CFE_TBL",CFE_TBL_LOAD_PEND_REQ_INF_EID,"DEBUG",1 +21-236-13:27:37.617 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:27:37.617 00 SPR-I:OPRO ; Setup event 1 with CFE_TBL DEBUG 17 +21-236-13:27:37.618 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:27:37.620 00 SCX_CPU1_DS_FI/1329 ut_setupevents "SCX","CPU1","CFE_TBL",CFE_TBL_UPDATE_SUCCESS_INF_EID,"INFO",2 +21-236-13:27:37.627 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:27:37.627 00 SPR-I:OPRO ; Setup event 2 with CFE_TBL INFO 37 +21-236-13:27:37.627 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:27:37.627 00 SCX_CPU1_DS_FI/1330 +21-236-13:27:37.627 00 SCX_CPU1_DS_FI/1331 cmdCtr = SCX_CPU1_TBL_CMDPC + 1 +21-236-13:27:37.627 00 SCX_CPU1_DS_FI/1332 +21-236-13:27:37.627 00 SCX_CPU1_DS_FI/1333 /SCX_CPU1_TBL_ACTIVATE ATableName=fileTblName +21-236-13:27:37.639 00 SCX_CPU1_DS_FI/1334 +21-236-13:27:37.639 00 SCX_CPU1_DS_FI/1335 ut_tlmwait SCX_CPU1_TBL_CMDPC, {cmdCtr} +21-236-13:27:37.642 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:27:38.091 00 TLMH-I:STS 58-012-14:09:40.500 DEBUG CPU=CPU1 APPNAME=CFE_TBL EVENT ID=17 Tbl Services notifying App that 'DS.FILE_TBL' has a load pending +21-236-13:27:41.590 00 TLMH-I:STS 58-012-14:09:44.003 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=37 DS Successfully Updated 'DS.FILE_TBL' +21-236-13:27:41.647 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:27:41.649 00 SCX_CPU1_DS_FI/1336 if (UT_TW_Status = UT_Success) then +21-236-13:27:41.649 00 SCX_CPU1_DS_FI/1337 write "<*> Passed - Activate DS Destination File Table command sent properly." +21-236-13:27:41.649 00 SPR-I:OPRO <*> Passed - Activate DS Destination File Table command sent properly. +21-236-13:27:41.649 00 SCX_CPU1_DS_FI/1340 endif +21-236-13:27:41.650 00 SCX_CPU1_DS_FI/1341 +21-236-13:27:41.650 00 SCX_CPU1_DS_FI/1342 wait 5 +21-236-13:27:41.650 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:27:46.654 00 SCX_CPU1_DS_FI/1343 +21-236-13:27:46.654 00 SCX_CPU1_DS_FI/1344 if (SCX_CPU1_find_event[1].num_found_messages = 1) then +21-236-13:27:46.654 00 SCX_CPU1_DS_FI/1345 write "<*> Passed - Event message ",SCX_CPU1_find_event[1].eventid, " received" +21-236-13:27:46.654 00 SPR-I:OPRO <*> Passed - Event message 17 received +21-236-13:27:46.655 00 SCX_CPU1_DS_FI/1348 endif +21-236-13:27:46.655 00 SCX_CPU1_DS_FI/1349 +21-236-13:27:46.655 00 SCX_CPU1_DS_FI/1350 wait 5 +21-236-13:27:46.655 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:27:51.659 00 SCX_CPU1_DS_FI/1351 +21-236-13:27:51.659 00 SCX_CPU1_DS_FI/1352 if (SCX_CPU1_find_event[2].num_found_messages = 1) then +21-236-13:27:51.659 00 SCX_CPU1_DS_FI/1353 write "<*> Passed - DS Destination File Table Updated successfully." +21-236-13:27:51.659 00 SPR-I:OPRO <*> Passed - DS Destination File Table Updated successfully. +21-236-13:27:51.659 00 SCX_CPU1_DS_FI/1354 Write "<*> Passed - Event Msg ",SCX_CPU1_find_event[2].eventid," Found!" +21-236-13:27:51.660 00 SPR-I:OPRO <*> Passed - Event Msg 37 Found! +21-236-13:27:51.660 00 SCX_CPU1_DS_FI/1358 endif +21-236-13:27:51.660 00 SCX_CPU1_DS_FI/1359 +21-236-13:27:51.660 00 SCX_CPU1_DS_FI/1360 wait 5 +21-236-13:27:51.660 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:27:56.664 00 SCX_CPU1_DS_FI/1361 +21-236-13:27:56.664 00 SCX_CPU1_DS_FI/1362 write ";*********************************************************************" +21-236-13:27:56.664 00 SPR-I:OPRO ;********************************************************************* +21-236-13:27:56.664 00 SCX_CPU1_DS_FI/1363 write "; Step 3.0: Commanding Tests" +21-236-13:27:56.664 00 SPR-I:OPRO ; Step 3.0: Commanding Tests +21-236-13:27:56.664 00 SCX_CPU1_DS_FI/1364 write ";*********************************************************************" +21-236-13:27:56.665 00 SPR-I:OPRO ;********************************************************************* +21-236-13:27:56.665 00 SCX_CPU1_DS_FI/1365 write "; Step 3.1: Send the Close File command on an open file. " +21-236-13:27:56.665 00 SPR-I:OPRO ; Step 3.1: Send the Close File command on an open file. +21-236-13:27:56.665 00 SCX_CPU1_DS_FI/1366 write ";*********************************************************************" +21-236-13:27:56.665 00 SPR-I:OPRO ;********************************************************************* +21-236-13:27:56.665 00 SCX_CPU1_DS_FI/1367 write "; Step 3.1.1: Send the TST_DS command that will open a file." +21-236-13:27:56.665 00 SPR-I:OPRO ; Step 3.1.1: Send the TST_DS command that will open a file. +21-236-13:27:56.665 00 SCX_CPU1_DS_FI/1368 write ";*********************************************************************" +21-236-13:27:56.665 00 SPR-I:OPRO ;********************************************************************* +21-236-13:27:56.665 00 SCX_CPU1_DS_FI/1370 ut_setupevents "SCX", "CPU1", "TST_DS", TST_DS_MSG1_SENT_INF_EID, "INFO", 1 +21-236-13:27:56.670 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:27:56.670 00 SPR-I:OPRO ; Setup event 1 with TST_DS INFO 5 +21-236-13:27:56.670 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:27:56.671 00 SCX_CPU1_DS_FI/1371 +21-236-13:27:56.671 00 SCX_CPU1_DS_FI/1373 /SCX_CPU1_TST_DS_SENDMESSAGE MsgID=seqMsgID MsgType=1 Pattern=x'55' +21-236-13:27:56.682 00 SCX_CPU1_DS_FI/1374 +21-236-13:27:56.682 00 SCX_CPU1_DS_FI/1376 ut_tlmwait SCX_CPU1_find_event[1].num_found_messages, 1 +21-236-13:27:56.687 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:27:57.586 00 TLMH-I:STS 58-012-14:10:00.005 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Message Size 116 to MID 0x00001000 +21-236-13:27:57.688 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:27:57.690 00 SCX_CPU1_DS_FI/1377 if (UT_TW_Status = UT_Success) then +21-236-13:27:57.690 00 SCX_CPU1_DS_FI/1378 write "<*> Passed - Expected Event Msg ",TST_DS_MSG1_SENT_INF_EID," rcv'd." +21-236-13:27:57.690 00 SPR-I:OPRO <*> Passed - Expected Event Msg 5 rcv'd. +21-236-13:27:57.690 00 SCX_CPU1_DS_FI/1381 endif +21-236-13:27:57.690 00 SCX_CPU1_DS_FI/1382 +21-236-13:27:57.690 00 SCX_CPU1_DS_FI/1384 cmdCtr = SCX_CPU1_DS_CMDPC + 1 +21-236-13:27:57.691 00 SCX_CPU1_DS_FI/1385 +21-236-13:27:57.691 00 SCX_CPU1_DS_FI/1386 /SCX_CPU1_DS_GetFileInfo +21-236-13:27:57.708 00 SCX_CPU1_DS_FI/1387 +21-236-13:27:57.708 00 SCX_CPU1_DS_FI/1388 ut_tlmwait SCX_CPU1_DS_CMDPC, {cmdCtr} +21-236-13:27:57.720 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:27:58.587 00 TLMH-I:STS 58-012-14:10:01.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:28:01.724 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:28:01.725 00 SCX_CPU1_DS_FI/1389 +21-236-13:28:01.725 00 SCX_CPU1_DS_FI/1392 if (SCX_CPU1_DS_FileState[seqFileEntry].FileName <> "") then +21-236-13:28:01.725 00 SCX_CPU1_DS_FI/1393 fileName1 = SCX_CPU1_DS_FileState[seqFileEntry].FileName +21-236-13:28:01.725 00 SCX_CPU1_DS_FI/1394 write "<*> Passed (3000;3000.1;3000.1.1) - A file was created with name '",fileName1,"'" +21-236-13:28:01.725 00 SPR-I:OPRO <*> Passed (3000;3000.1;3000.1.1) - A file was created with name '/ram/seq00000100.dat' +21-236-13:28:01.725 00 SCX_CPU1_DS_FI/1395 ut_setrequirements DS_3000, "P" +21-236-13:28:01.726 00 SCX_CPU1_DS_FI/1396 ut_setrequirements DS_30001, "A" +21-236-13:28:01.727 00 SCX_CPU1_DS_FI/1397 ut_setrequirements DS_300011, "A" +21-236-13:28:01.728 00 SCX_CPU1_DS_FI/1398 +21-236-13:28:01.728 00 SCX_CPU1_DS_FI/1399 if (SCX_CPU1_DS_FileState[seqFileEntry].OpenState = DS_OPEN) then +21-236-13:28:01.728 00 SCX_CPU1_DS_FI/1400 write "<*> Passed (3001) - The file is marked 'OPEN'" +21-236-13:28:01.728 00 SPR-I:OPRO <*> Passed (3001) - The file is marked 'OPEN' +21-236-13:28:01.728 00 SCX_CPU1_DS_FI/1401 ut_setrequirements DS_3001, "P" +21-236-13:28:01.766 00 SCX_CPU1_DS_FI/1402 endif +21-236-13:28:01.766 00 SCX_CPU1_DS_FI/1409 endif +21-236-13:28:01.766 00 SCX_CPU1_DS_FI/1410 +21-236-13:28:01.766 00 SCX_CPU1_DS_FI/1411 wait 5 +21-236-13:28:01.766 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:28:06.770 00 SCX_CPU1_DS_FI/1412 +21-236-13:28:06.770 00 SCX_CPU1_DS_FI/1413 write ";*********************************************************************" +21-236-13:28:06.770 00 SPR-I:OPRO ;********************************************************************* +21-236-13:28:06.770 00 SCX_CPU1_DS_FI/1414 write "; Step 3.1.2: Send the Close File command for the file opened above." +21-236-13:28:06.771 00 SPR-I:OPRO ; Step 3.1.2: Send the Close File command for the file opened above. +21-236-13:28:06.771 00 SCX_CPU1_DS_FI/1415 write ";*********************************************************************" +21-236-13:28:06.771 00 SPR-I:OPRO ;********************************************************************* +21-236-13:28:06.771 00 SCX_CPU1_DS_FI/1417 ut_setupevents "SCX", "CPU1", {DSAppName}, DS_CLOSE_CMD_EID, "DEBUG", 1 +21-236-13:28:06.778 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:28:06.778 00 SPR-I:OPRO ; Setup event 1 with DS DEBUG 59 +21-236-13:28:06.778 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:28:06.780 00 SCX_CPU1_DS_FI/1418 +21-236-13:28:06.780 00 SCX_CPU1_DS_FI/1419 local cmdCtr = SCX_CPU1_DS_CMDPC + 1 +21-236-13:28:06.780 00 SCX_CPU1_DS_FI/1421 /SCX_CPU1_DS_CloseFile FileIndex=seqFileEntry +21-236-13:28:06.796 00 SCX_CPU1_DS_FI/1422 +21-236-13:28:06.796 00 SCX_CPU1_DS_FI/1423 ut_tlmwait SCX_CPU1_DS_CMDPC, {cmdCtr} +21-236-13:28:06.807 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:28:07.589 00 TLMH-I:STS 58-012-14:10:10.003 ERROR CPU=CPU1 APPNAME=DS EVENT ID=61 FILE MOVE error: src = '/ram/seq00000100.dat', tgt = '/ram/movedir/seq00000100.dat', result = -1 +21-236-13:28:07.590 00 TLMH-I:STS 58-012-14:10:10.003 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=59 DEST CLOSE command: file table index = 0 +21-236-13:28:09.810 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:28:09.811 00 SCX_CPU1_DS_FI/1424 if (UT_TW_Status = UT_Success) then +21-236-13:28:09.811 00 SCX_CPU1_DS_FI/1425 write "<*> Passed (1004;5002) - DS Close File command sent properly." +21-236-13:28:09.812 00 SPR-I:OPRO <*> Passed (1004;5002) - DS Close File command sent properly. +21-236-13:28:09.812 00 SCX_CPU1_DS_FI/1426 ut_setrequirements DS_1004, "P" +21-236-13:28:09.815 00 SCX_CPU1_DS_FI/1427 ut_setrequirements DS_5002, "P" +21-236-13:28:09.815 00 SCX_CPU1_DS_FI/1432 endif +21-236-13:28:09.816 00 SCX_CPU1_DS_FI/1433 +21-236-13:28:09.816 00 SCX_CPU1_DS_FI/1435 ut_tlmwait SCX_CPU1_find_event[1].num_found_messages, 1 +21-236-13:28:09.818 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:28:09.819 00 SCX_CPU1_DS_FI/1436 if (UT_TW_Status = UT_Success) then +21-236-13:28:09.819 00 SCX_CPU1_DS_FI/1437 write "<*> Passed (1004;5002) - Expected Event Msg ",DS_CLOSE_CMD_EID," rcv'd." +21-236-13:28:09.819 00 SPR-I:OPRO <*> Passed (1004;5002) - Expected Event Msg 59 rcv'd. +21-236-13:28:09.819 00 SCX_CPU1_DS_FI/1438 ut_setrequirements DS_1004, "P" +21-236-13:28:09.849 00 SCX_CPU1_DS_FI/1439 ut_setrequirements DS_5002, "P" +21-236-13:28:09.850 00 SCX_CPU1_DS_FI/1444 endif +21-236-13:28:09.850 00 SCX_CPU1_DS_FI/1445 +21-236-13:28:09.850 00 SCX_CPU1_DS_FI/1446 wait 5 +21-236-13:28:09.850 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:28:14.853 00 SCX_CPU1_DS_FI/1447 +21-236-13:28:14.853 00 SCX_CPU1_DS_FI/1448 write ";*********************************************************************" +21-236-13:28:14.853 00 SPR-I:OPRO ;********************************************************************* +21-236-13:28:14.853 00 SCX_CPU1_DS_FI/1449 write "; Step 3.2: Send the Close File command with an invalid length." +21-236-13:28:14.853 00 SPR-I:OPRO ; Step 3.2: Send the Close File command with an invalid length. +21-236-13:28:14.853 00 SCX_CPU1_DS_FI/1450 write ";*********************************************************************" +21-236-13:28:14.853 00 SPR-I:OPRO ;********************************************************************* +21-236-13:28:14.853 00 SCX_CPU1_DS_FI/1452 ut_setupevents "SCX", "CPU1", {DSAppName}, DS_CLOSE_CMD_ERR_EID, "ERROR", 1 +21-236-13:28:14.855 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:28:14.855 00 SPR-I:OPRO ; Setup event 1 with DS ERROR 60 +21-236-13:28:14.855 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:28:14.856 00 SCX_CPU1_DS_FI/1453 +21-236-13:28:14.856 00 SCX_CPU1_DS_FI/1454 local errcnt = SCX_CPU1_DS_CMDEC + 1 +21-236-13:28:14.856 00 SCX_CPU1_DS_FI/1455 +21-236-13:28:14.856 00 SCX_CPU1_DS_FI/1457 rawcmd = "18BBc00000060E95" +21-236-13:28:14.856 00 SCX_CPU1_DS_FI/1458 +21-236-13:28:14.856 00 SCX_CPU1_DS_FI/1459 ut_sendrawcmd "SCX_CPU1_DS", (rawcmd) +21-236-13:28:14.859 00 SPR-I:OPRO Sending: 18BBc00000060E95 +21-236-13:28:14.875 00 SPR-I:OPRO ; Telemetry update will wait a maximum of 24 seconds +21-236-13:28:14.875 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:28:15.587 00 TLMH-I:STS 58-012-14:10:17.983 ERROR CPU=CPU1 APPNAME=DS EVENT ID=60 Invalid DEST CLOSE command length: expected = 12, actual = 13 +21-236-13:28:17.878 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:28:17.882 00 SCX_CPU1_DS_FI/1460 +21-236-13:28:17.882 00 SCX_CPU1_DS_FI/1461 ut_tlmwait SCX_CPU1_DS_CMDEC, {errcnt} +21-236-13:28:17.885 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:28:17.886 00 SCX_CPU1_DS_FI/1462 if (UT_TW_Status = UT_Success) then +21-236-13:28:17.886 00 SCX_CPU1_DS_FI/1463 write "<*> Passed (1002;1005) - DS Close File Command Rejected Counter incremented." +21-236-13:28:17.886 00 SPR-I:OPRO <*> Passed (1002;1005) - DS Close File Command Rejected Counter incremented. +21-236-13:28:17.886 00 SCX_CPU1_DS_FI/1464 ut_setrequirements DS_1002, "P" +21-236-13:28:17.887 00 SCX_CPU1_DS_FI/1465 ut_setrequirements DS_1005, "P" +21-236-13:28:17.887 00 SCX_CPU1_DS_FI/1470 endif +21-236-13:28:17.887 00 SCX_CPU1_DS_FI/1471 +21-236-13:28:17.887 00 SCX_CPU1_DS_FI/1472 if (SCX_CPU1_find_event[1].num_found_messages = 1) THEN +21-236-13:28:17.887 00 SCX_CPU1_DS_FI/1473 write "<*> Passed (1005) - Event message ",SCX_CPU1_find_event[1].eventid, " received" +21-236-13:28:17.887 00 SPR-I:OPRO <*> Passed (1005) - Event message 60 received +21-236-13:28:17.887 00 SCX_CPU1_DS_FI/1474 ut_setrequirements DS_1005, "P" +21-236-13:28:17.920 00 SCX_CPU1_DS_FI/1478 endif +21-236-13:28:17.920 00 SCX_CPU1_DS_FI/1479 +21-236-13:28:17.920 00 SCX_CPU1_DS_FI/1480 wait 5 +21-236-13:28:17.920 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:28:22.924 00 SCX_CPU1_DS_FI/1481 +21-236-13:28:22.924 00 SCX_CPU1_DS_FI/1482 write ";*********************************************************************" +21-236-13:28:22.924 00 SPR-I:OPRO ;********************************************************************* +21-236-13:28:22.924 00 SCX_CPU1_DS_FI/1483 write "; Step 3.3: Send the Close File command with an invalid file index. " +21-236-13:28:22.924 00 SPR-I:OPRO ; Step 3.3: Send the Close File command with an invalid file index. +21-236-13:28:22.924 00 SCX_CPU1_DS_FI/1484 write ";*********************************************************************" +21-236-13:28:22.925 00 SPR-I:OPRO ;********************************************************************* +21-236-13:28:22.925 00 SCX_CPU1_DS_FI/1486 ut_setupevents "SCX", "CPU1", {DSAppName}, DS_CLOSE_CMD_ERR_EID, "ERROR", 1 +21-236-13:28:22.937 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:28:22.938 00 SPR-I:OPRO ; Setup event 1 with DS ERROR 60 +21-236-13:28:22.938 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:28:22.940 00 SCX_CPU1_DS_FI/1487 +21-236-13:28:22.940 00 SCX_CPU1_DS_FI/1488 errcnt = SCX_CPU1_DS_CMDEC + 1 +21-236-13:28:22.940 00 SCX_CPU1_DS_FI/1490 /SCX_CPU1_DS_CloseFile FileIndex=DS_DEST_FILE_CNT +21-236-13:28:22.954 00 SCX_CPU1_DS_FI/1491 +21-236-13:28:22.954 00 SCX_CPU1_DS_FI/1492 ut_tlmwait SCX_CPU1_DS_CMDEC, {errcnt} +21-236-13:28:22.958 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:28:23.585 00 TLMH-I:STS 58-012-14:10:26.001 ERROR CPU=CPU1 APPNAME=DS EVENT ID=60 Invalid DEST CLOSE command arg: file table index = 16 +21-236-13:28:25.961 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:28:25.961 00 SCX_CPU1_DS_FI/1493 if (UT_TW_Status = UT_Success) then +21-236-13:28:25.961 00 SCX_CPU1_DS_FI/1494 write "<*> Passed (1005) - DS Close File command failed as expected." +21-236-13:28:25.962 00 SPR-I:OPRO <*> Passed (1005) - DS Close File command failed as expected. +21-236-13:28:25.962 00 SCX_CPU1_DS_FI/1495 ut_setrequirements DS_1005, "P" +21-236-13:28:25.962 00 SCX_CPU1_DS_FI/1499 endif +21-236-13:28:25.963 00 SCX_CPU1_DS_FI/1500 +21-236-13:28:25.963 00 SCX_CPU1_DS_FI/1502 ut_tlmwait SCX_CPU1_find_event[1].num_found_messages, 1 +21-236-13:28:25.967 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:28:25.967 00 SCX_CPU1_DS_FI/1503 if (UT_TW_Status = UT_Success) then +21-236-13:28:25.967 00 SCX_CPU1_DS_FI/1504 write "<*> Passed (1005) - Expected Event Msg ",DS_CLOSE_CMD_ERR_EID," rcv'd." +21-236-13:28:25.967 00 SPR-I:OPRO <*> Passed (1005) - Expected Event Msg 60 rcv'd. +21-236-13:28:25.967 00 SCX_CPU1_DS_FI/1505 ut_setrequirements DS_1005, "P" +21-236-13:28:25.968 00 SCX_CPU1_DS_FI/1509 endif +21-236-13:28:25.968 00 SCX_CPU1_DS_FI/1510 +21-236-13:28:25.968 00 SCX_CPU1_DS_FI/1511 wait 5 +21-236-13:28:25.968 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:28:31.001 00 SCX_CPU1_DS_FI/1512 +21-236-13:28:31.001 00 SCX_CPU1_DS_FI/1513 write ";*********************************************************************" +21-236-13:28:31.001 00 SPR-I:OPRO ;********************************************************************* +21-236-13:28:31.001 00 SCX_CPU1_DS_FI/1514 write "; Step 3.4: Send the Set File Basename command." +21-236-13:28:31.001 00 SPR-I:OPRO ; Step 3.4: Send the Set File Basename command. +21-236-13:28:31.001 00 SCX_CPU1_DS_FI/1515 write ";*********************************************************************" +21-236-13:28:31.001 00 SPR-I:OPRO ;********************************************************************* +21-236-13:28:31.001 00 SCX_CPU1_DS_FI/1517 ut_setupevents "SCX", "CPU1", {DSAppName}, DS_BASE_CMD_EID, "DEBUG", 1 +21-236-13:28:31.009 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:28:31.009 00 SPR-I:OPRO ; Setup event 1 with DS DEBUG 49 +21-236-13:28:31.010 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:28:31.011 00 SCX_CPU1_DS_FI/1518 +21-236-13:28:31.011 00 SCX_CPU1_DS_FI/1519 cmdCtr = SCX_CPU1_DS_CMDPC + 1 +21-236-13:28:31.011 00 SCX_CPU1_DS_FI/1521 /SCX_CPU1_DS_SetBasename FileIndex=seqFileEntry BaseName="newSeq" +21-236-13:28:31.018 00 SCX_CPU1_DS_FI/1522 wait 5 +21-236-13:28:31.018 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:28:31.583 00 TLMH-I:STS 58-012-14:10:34.002 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=49 DEST BASE command: file table index = 0, base filename = 'newSeq' +21-236-13:28:36.022 00 SCX_CPU1_DS_FI/1523 +21-236-13:28:36.022 00 SCX_CPU1_DS_FI/1524 ut_tlmwait SCX_CPU1_DS_CMDPC, {cmdCtr} +21-236-13:28:36.033 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:28:36.035 00 SCX_CPU1_DS_FI/1525 if (UT_TW_Status = UT_Success) then +21-236-13:28:36.035 00 SCX_CPU1_DS_FI/1526 write "<*> Passed (1004;5003) - DS Set Basename command sent properly." +21-236-13:28:36.035 00 SPR-I:OPRO <*> Passed (1004;5003) - DS Set Basename command sent properly. +21-236-13:28:36.035 00 SCX_CPU1_DS_FI/1527 ut_setrequirements DS_1004, "P" +21-236-13:28:36.037 00 SCX_CPU1_DS_FI/1528 ut_setrequirements DS_5003, "P" +21-236-13:28:36.039 00 SCX_CPU1_DS_FI/1533 endif +21-236-13:28:36.039 00 SCX_CPU1_DS_FI/1534 +21-236-13:28:36.039 00 SCX_CPU1_DS_FI/1536 ut_tlmwait SCX_CPU1_find_event[1].num_found_messages, 1 +21-236-13:28:36.045 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:28:36.045 00 SCX_CPU1_DS_FI/1537 if (UT_TW_Status = UT_Success) then +21-236-13:28:36.045 00 SCX_CPU1_DS_FI/1538 write "<*> Passed (1004;5003) - Expected Event Msg ",DS_BASE_CMD_EID," rcv'd." +21-236-13:28:36.045 00 SPR-I:OPRO <*> Passed (1004;5003) - Expected Event Msg 49 rcv'd. +21-236-13:28:36.045 00 SCX_CPU1_DS_FI/1539 ut_setrequirements DS_1004, "P" +21-236-13:28:36.085 00 SCX_CPU1_DS_FI/1540 ut_setrequirements DS_5003, "P" +21-236-13:28:36.085 00 SCX_CPU1_DS_FI/1545 endif +21-236-13:28:36.085 00 SCX_CPU1_DS_FI/1546 +21-236-13:28:36.085 00 SCX_CPU1_DS_FI/1547 wait 5 +21-236-13:28:36.086 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:28:41.089 00 SCX_CPU1_DS_FI/1548 +21-236-13:28:41.090 00 SCX_CPU1_DS_FI/1549 write ";*********************************************************************" +21-236-13:28:41.090 00 SPR-I:OPRO ;********************************************************************* +21-236-13:28:41.090 00 SCX_CPU1_DS_FI/1550 write "; Step 3.5: Dump the Destination File Table to verify the change above." +21-236-13:28:41.090 00 SPR-I:OPRO ; Step 3.5: Dump the Destination File Table to verify the change above. +21-236-13:28:41.090 00 SCX_CPU1_DS_FI/1551 write ";*********************************************************************" +21-236-13:28:41.090 00 SPR-I:OPRO ;********************************************************************* +21-236-13:28:41.090 00 SCX_CPU1_DS_FI/1553 s get_tbl_to_cvt (ramDir,fileTblName,"A","cpu1_filetbl35",hostCPU,fileTblPktId) +21-236-13:28:41.091 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/get_tbl_to_cvt.i +21-236-13:28:41.093 00 SPR-I:STS Procedure GET_TBL_TO_CVT started +21-236-13:28:41.094 00 GET_TBL_TO_CVT/2 ; +21-236-13:28:41.094 00 GET_TBL_TO_CVT/3 local logging = %liv (log_procedure) +21-236-13:28:41.094 00 GET_TBL_TO_CVT/4 %liv (log_procedure) = FALSE +21-236-13:28:41.111 00 SPR-I:OPRO Sending Command: /SCX_CPU1_TBL_DUMP ACTIVE DTABLENAME="DS.FILE_TBL" DFILENAME="/ram/cpu1_filetbl35" +21-236-13:28:41.124 00 SPR-I:STTE Wait mode - waiting 15 seconds ... +21-236-13:28:41.581 00 TLMH-I:STS 58-012-14:10:44.002 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=14 Successfully dumped Table 'DS.FILE_TBL' to '/ram/cpu1_filetbl35' +21-236-13:28:56.136 00 SPR-I:OPRO +21-236-13:28:56.136 00 SPR-I:OPRO The TBLNAME is: DS.FILE_TBL +21-236-13:28:56.136 00 SPR-I:OPRO The APID is: P0F76 +21-236-13:28:56.137 00 SPR-I:OPRO The CPU is: CPU3 +21-236-13:28:56.137 00 SPR-I:OPRO The IP Address is: 192.168.1.8 +21-236-13:28:56.140 00 SPR-I:OPRO The perl command is: perl /s/opr/accounts/global/tools/ftp.pl RAM:0 cpu1_filetbl35 cpu1_filetbl35 binary 192.168.1.8 +21-236-13:28:56.328 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-13:28:56.328 00 SPR-I:STTE Wait mode - waiting 15 seconds ... +21-236-13:29:11.340 00 SPR-I:OPRO +21-236-13:29:11.349 00 SPR-I:OPRO The unix command is cvt -ws file_list[3958].file_write_time "`date +%y-%j-%T -r /s/opr/accounts/cfs_test/image/cpu1_filetbl35`" +21-236-13:29:11.349 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:29:16.354 00 GET_TBL_TO_CVT/238 +21-236-13:29:16.354 00 GET_TBL_TO_CVT/239 ENDPROC +21-236-13:29:16.354 00 SPR-I:STS Procedure GET_TBL_TO_CVT completed +21-236-13:29:16.355 00 SCX_CPU1_DS_FI/1554 +21-236-13:29:16.355 00 SCX_CPU1_DS_FI/1556 if (SCX_CPU1_DS_DF_TBL[seqFileEntry].Basename = "newSeq") then +21-236-13:29:16.355 00 SCX_CPU1_DS_FI/1557 write "<*> Passed (5003) - Table entry reflects the new Basename." +21-236-13:29:16.356 00 SPR-I:OPRO <*> Passed (5003) - Table entry reflects the new Basename. +21-236-13:29:16.356 00 SCX_CPU1_DS_FI/1558 ut_setrequirements DS_5003, "P" +21-236-13:29:16.359 00 SCX_CPU1_DS_FI/1562 endif +21-236-13:29:16.359 00 SCX_CPU1_DS_FI/1563 +21-236-13:29:16.359 00 SCX_CPU1_DS_FI/1564 write ";*********************************************************************" +21-236-13:29:16.359 00 SPR-I:OPRO ;********************************************************************* +21-236-13:29:16.359 00 SCX_CPU1_DS_FI/1565 write "; Step 3.6: Using the TST_DS application, send a message that will" +21-236-13:29:16.359 00 SPR-I:OPRO ; Step 3.6: Using the TST_DS application, send a message that will +21-236-13:29:16.359 00 SCX_CPU1_DS_FI/1566 write "; create a file using the new basename. " +21-236-13:29:16.359 00 SPR-I:OPRO ; create a file using the new basename. +21-236-13:29:16.359 00 SCX_CPU1_DS_FI/1567 write ";*********************************************************************" +21-236-13:29:16.359 00 SPR-I:OPRO ;********************************************************************* +21-236-13:29:16.359 00 SCX_CPU1_DS_FI/1569 ut_setupevents "SCX", "CPU1", "TST_DS", TST_DS_MSG1_SENT_INF_EID, "INFO", 1 +21-236-13:29:16.367 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:29:16.367 00 SPR-I:OPRO ; Setup event 1 with TST_DS INFO 5 +21-236-13:29:16.367 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:29:16.401 00 SCX_CPU1_DS_FI/1570 +21-236-13:29:16.401 00 SCX_CPU1_DS_FI/1572 /SCX_CPU1_TST_DS_SENDMESSAGE MsgID=seqMsgID MsgType=1 Pattern=x'55' +21-236-13:29:16.402 00 SCX_CPU1_DS_FI/1573 +21-236-13:29:16.402 00 SCX_CPU1_DS_FI/1575 ut_tlmwait SCX_CPU1_find_event[1].num_found_messages, 1 +21-236-13:29:16.406 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:29:17.082 00 TLMH-I:STS 58-012-14:11:19.501 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Message Size 116 to MID 0x00001000 +21-236-13:29:17.407 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:29:17.408 00 SCX_CPU1_DS_FI/1576 if (UT_TW_Status = UT_Success) then +21-236-13:29:17.408 00 SCX_CPU1_DS_FI/1577 write "<*> Passed - Expected Event Msg ",TST_DS_MSG1_SENT_INF_EID," rcv'd." +21-236-13:29:17.408 00 SPR-I:OPRO <*> Passed - Expected Event Msg 5 rcv'd. +21-236-13:29:17.408 00 SCX_CPU1_DS_FI/1580 endif +21-236-13:29:17.408 00 SCX_CPU1_DS_FI/1581 +21-236-13:29:17.408 00 SCX_CPU1_DS_FI/1583 cmdCtr = SCX_CPU1_DS_CMDPC + 1 +21-236-13:29:17.408 00 SCX_CPU1_DS_FI/1584 +21-236-13:29:17.408 00 SCX_CPU1_DS_FI/1585 /SCX_CPU1_DS_GetFileInfo +21-236-13:29:17.421 00 SCX_CPU1_DS_FI/1586 +21-236-13:29:17.422 00 SCX_CPU1_DS_FI/1587 ut_tlmwait SCX_CPU1_DS_CMDPC, {cmdCtr} +21-236-13:29:17.430 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:29:18.082 00 TLMH-I:STS 58-012-14:11:20.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:29:22.436 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:29:22.437 00 SCX_CPU1_DS_FI/1588 +21-236-13:29:22.438 00 SCX_CPU1_DS_FI/1591 if (SCX_CPU1_DS_FileState[seqFileEntry].FileName <> "") then +21-236-13:29:22.438 00 SCX_CPU1_DS_FI/1592 fileName1 = SCX_CPU1_DS_FileState[seqFileEntry].FileName +21-236-13:29:22.438 00 SCX_CPU1_DS_FI/1593 write "<*> Passed (3000;3000.1;3000.1.1) - A file was created with name '",fileName1,"'" +21-236-13:29:22.438 00 SPR-I:OPRO <*> Passed (3000;3000.1;3000.1.1) - A file was created with name '/ram/newSeq00000101.dat' +21-236-13:29:22.438 00 SCX_CPU1_DS_FI/1594 ut_setrequirements DS_3000, "P" +21-236-13:29:22.442 00 SCX_CPU1_DS_FI/1595 ut_setrequirements DS_30001, "A" +21-236-13:29:22.446 00 SCX_CPU1_DS_FI/1596 ut_setrequirements DS_300011, "A" +21-236-13:29:22.450 00 SCX_CPU1_DS_FI/1597 +21-236-13:29:22.450 00 SCX_CPU1_DS_FI/1598 if (SCX_CPU1_DS_FileState[seqFileEntry].OpenState = DS_OPEN) then +21-236-13:29:22.450 00 SCX_CPU1_DS_FI/1599 write "<*> Passed (3001) - The file is marked 'OPEN'" +21-236-13:29:22.451 00 SPR-I:OPRO <*> Passed (3001) - The file is marked 'OPEN' +21-236-13:29:22.451 00 SCX_CPU1_DS_FI/1600 ut_setrequirements DS_3001, "P" +21-236-13:29:22.503 00 SCX_CPU1_DS_FI/1601 endif +21-236-13:29:22.504 00 SCX_CPU1_DS_FI/1608 endif +21-236-13:29:22.504 00 SCX_CPU1_DS_FI/1609 +21-236-13:29:22.504 00 SCX_CPU1_DS_FI/1610 wait 5 +21-236-13:29:22.504 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:29:27.507 00 SCX_CPU1_DS_FI/1611 +21-236-13:29:27.507 00 SCX_CPU1_DS_FI/1612 write ";*********************************************************************" +21-236-13:29:27.507 00 SPR-I:OPRO ;********************************************************************* +21-236-13:29:27.507 00 SCX_CPU1_DS_FI/1613 write "; Step 3.7: Send the Set File Basename command with an empty string." +21-236-13:29:27.508 00 SPR-I:OPRO ; Step 3.7: Send the Set File Basename command with an empty string. +21-236-13:29:27.508 00 SCX_CPU1_DS_FI/1614 write ";*********************************************************************" +21-236-13:29:27.508 00 SPR-I:OPRO ;********************************************************************* +21-236-13:29:27.508 00 SCX_CPU1_DS_FI/1616 ut_setupevents "SCX", "CPU1", {DSAppName}, DS_BASE_CMD_EID, "DEBUG", 1 +21-236-13:29:27.515 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:29:27.516 00 SPR-I:OPRO ; Setup event 1 with DS DEBUG 49 +21-236-13:29:27.516 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:29:27.517 00 SCX_CPU1_DS_FI/1617 +21-236-13:29:27.518 00 SCX_CPU1_DS_FI/1618 cmdCtr = SCX_CPU1_DS_CMDPC + 1 +21-236-13:29:27.518 00 SCX_CPU1_DS_FI/1620 /SCX_CPU1_DS_SetBasename FileIndex=seqFileEntry BaseName="" +21-236-13:29:27.523 00 SCX_CPU1_DS_FI/1621 wait 5 +21-236-13:29:27.524 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:29:28.083 00 TLMH-I:STS 58-012-14:11:30.501 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=49 DEST BASE command: file table index = 0, base filename = '' +21-236-13:29:32.527 00 SCX_CPU1_DS_FI/1622 +21-236-13:29:32.527 00 SCX_CPU1_DS_FI/1623 ut_tlmwait SCX_CPU1_DS_CMDPC, {cmdCtr} +21-236-13:29:32.539 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:29:32.541 00 SCX_CPU1_DS_FI/1624 if (UT_TW_Status = UT_Success) then +21-236-13:29:32.541 00 SCX_CPU1_DS_FI/1625 write "<*> Passed (1004;5003) - DS Set Basename command sent properly." +21-236-13:29:32.542 00 SPR-I:OPRO <*> Passed (1004;5003) - DS Set Basename command sent properly. +21-236-13:29:32.542 00 SCX_CPU1_DS_FI/1626 ut_setrequirements DS_1004, "P" +21-236-13:29:32.545 00 SCX_CPU1_DS_FI/1627 ut_setrequirements DS_5003, "P" +21-236-13:29:32.548 00 SCX_CPU1_DS_FI/1632 endif +21-236-13:29:32.548 00 SCX_CPU1_DS_FI/1633 +21-236-13:29:32.548 00 SCX_CPU1_DS_FI/1635 ut_tlmwait SCX_CPU1_find_event[1].num_found_messages, 1 +21-236-13:29:32.560 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:29:32.561 00 SCX_CPU1_DS_FI/1636 if (UT_TW_Status = UT_Success) then +21-236-13:29:32.561 00 SCX_CPU1_DS_FI/1637 write "<*> Passed (1004;5003) - Expected Event Msg ",DS_BASE_CMD_EID," rcv'd." +21-236-13:29:32.561 00 SPR-I:OPRO <*> Passed (1004;5003) - Expected Event Msg 49 rcv'd. +21-236-13:29:32.561 00 SCX_CPU1_DS_FI/1638 ut_setrequirements DS_1004, "P" +21-236-13:29:32.620 00 SCX_CPU1_DS_FI/1639 ut_setrequirements DS_5003, "P" +21-236-13:29:32.621 00 SCX_CPU1_DS_FI/1644 endif +21-236-13:29:32.621 00 SCX_CPU1_DS_FI/1645 +21-236-13:29:32.621 00 SCX_CPU1_DS_FI/1646 wait 5 +21-236-13:29:32.621 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:29:37.625 00 SCX_CPU1_DS_FI/1647 +21-236-13:29:37.625 00 SCX_CPU1_DS_FI/1648 write ";*********************************************************************" +21-236-13:29:37.625 00 SPR-I:OPRO ;********************************************************************* +21-236-13:29:37.625 00 SCX_CPU1_DS_FI/1649 write "; Step 3.8: Dump the Destination File Table to verify the change above." +21-236-13:29:37.625 00 SPR-I:OPRO ; Step 3.8: Dump the Destination File Table to verify the change above. +21-236-13:29:37.625 00 SCX_CPU1_DS_FI/1650 write ";*********************************************************************" +21-236-13:29:37.625 00 SPR-I:OPRO ;********************************************************************* +21-236-13:29:37.625 00 SCX_CPU1_DS_FI/1652 s get_tbl_to_cvt (ramDir,fileTblName,"A","cpu1_filetbl38",hostCPU,fileTblPktId) +21-236-13:29:37.626 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/get_tbl_to_cvt.i +21-236-13:29:37.628 00 SPR-I:STS Procedure GET_TBL_TO_CVT started +21-236-13:29:37.629 00 GET_TBL_TO_CVT/2 ; +21-236-13:29:37.629 00 GET_TBL_TO_CVT/3 local logging = %liv (log_procedure) +21-236-13:29:37.629 00 GET_TBL_TO_CVT/4 %liv (log_procedure) = FALSE +21-236-13:29:37.649 00 SPR-I:OPRO Sending Command: /SCX_CPU1_TBL_DUMP ACTIVE DTABLENAME="DS.FILE_TBL" DFILENAME="/ram/cpu1_filetbl38" +21-236-13:29:37.661 00 SPR-I:STTE Wait mode - waiting 15 seconds ... +21-236-13:29:38.584 00 TLMH-I:STS 58-012-14:11:41.002 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=14 Successfully dumped Table 'DS.FILE_TBL' to '/ram/cpu1_filetbl38' +21-236-13:29:52.673 00 SPR-I:OPRO +21-236-13:29:52.673 00 SPR-I:OPRO The TBLNAME is: DS.FILE_TBL +21-236-13:29:52.673 00 SPR-I:OPRO The APID is: P0F76 +21-236-13:29:52.674 00 SPR-I:OPRO The CPU is: CPU3 +21-236-13:29:52.674 00 SPR-I:OPRO The IP Address is: 192.168.1.8 +21-236-13:29:52.677 00 SPR-I:OPRO The perl command is: perl /s/opr/accounts/global/tools/ftp.pl RAM:0 cpu1_filetbl38 cpu1_filetbl38 binary 192.168.1.8 +21-236-13:29:52.828 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-13:29:52.829 00 SPR-I:STTE Wait mode - waiting 15 seconds ... +21-236-13:30:07.840 00 SPR-I:OPRO +21-236-13:30:07.856 00 SPR-I:OPRO The unix command is cvt -ws file_list[3958].file_write_time "`date +%y-%j-%T -r /s/opr/accounts/cfs_test/image/cpu1_filetbl38`" +21-236-13:30:07.856 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:30:12.861 00 GET_TBL_TO_CVT/238 +21-236-13:30:12.861 00 GET_TBL_TO_CVT/239 ENDPROC +21-236-13:30:12.861 00 SPR-I:STS Procedure GET_TBL_TO_CVT completed +21-236-13:30:12.862 00 SCX_CPU1_DS_FI/1653 +21-236-13:30:12.862 00 SCX_CPU1_DS_FI/1655 if (SCX_CPU1_DS_DF_TBL[seqFileEntry].Basename = "") then +21-236-13:30:12.863 00 SCX_CPU1_DS_FI/1656 write "<*> Passed (5003) - Table entry reflects the new Basename." +21-236-13:30:12.863 00 SPR-I:OPRO <*> Passed (5003) - Table entry reflects the new Basename. +21-236-13:30:12.863 00 SCX_CPU1_DS_FI/1657 ut_setrequirements DS_5003, "P" +21-236-13:30:12.866 00 SCX_CPU1_DS_FI/1661 endif +21-236-13:30:12.866 00 SCX_CPU1_DS_FI/1662 +21-236-13:30:12.866 00 SCX_CPU1_DS_FI/1663 write ";*********************************************************************" +21-236-13:30:12.866 00 SPR-I:OPRO ;********************************************************************* +21-236-13:30:12.866 00 SCX_CPU1_DS_FI/1664 write "; Step 3.9: Using the TST_DS application, send a message that will" +21-236-13:30:12.866 00 SPR-I:OPRO ; Step 3.9: Using the TST_DS application, send a message that will +21-236-13:30:12.866 00 SCX_CPU1_DS_FI/1665 write "; create a file using the new basename. " +21-236-13:30:12.866 00 SPR-I:OPRO ; create a file using the new basename. +21-236-13:30:12.866 00 SCX_CPU1_DS_FI/1666 write ";*********************************************************************" +21-236-13:30:12.867 00 SPR-I:OPRO ;********************************************************************* +21-236-13:30:12.867 00 SCX_CPU1_DS_FI/1668 ut_setupevents "SCX", "CPU1", "TST_DS", TST_DS_MSG3_SENT_INF_EID, "INFO", 1 +21-236-13:30:12.872 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:30:12.873 00 SPR-I:OPRO ; Setup event 1 with TST_DS INFO 7 +21-236-13:30:12.873 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:30:12.913 00 SCX_CPU1_DS_FI/1669 +21-236-13:30:12.913 00 SCX_CPU1_DS_FI/1671 /SCX_CPU1_TST_DS_SENDMESSAGE MsgID=seqMsgID MsgType=3 Pattern=x'AA' +21-236-13:30:12.915 00 SCX_CPU1_DS_FI/1672 +21-236-13:30:12.915 00 SCX_CPU1_DS_FI/1674 ut_tlmwait SCX_CPU1_find_event[1].num_found_messages, 1 +21-236-13:30:12.919 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:30:13.584 00 TLMH-I:STS 58-012-14:12:16.006 ERROR CPU=CPU1 APPNAME=DS EVENT ID=61 FILE MOVE error: src = '/ram/newSeq00000101.dat', tgt = '/ram/movedir/newSeq00000101.dat', result = -1 +21-236-13:30:13.585 00 TLMH-I:STS 58-012-14:12:16.007 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=7 Sent Message Size 1016 to MID 0x00001000 +21-236-13:30:13.920 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:30:13.922 00 SCX_CPU1_DS_FI/1675 if (UT_TW_Status = UT_Success) then +21-236-13:30:13.922 00 SCX_CPU1_DS_FI/1676 write "<*> Passed - Expected Event Msg ",TST_DS_MSG3_SENT_INF_EID," rcv'd." +21-236-13:30:13.923 00 SPR-I:OPRO <*> Passed - Expected Event Msg 7 rcv'd. +21-236-13:30:13.923 00 SCX_CPU1_DS_FI/1679 endif +21-236-13:30:13.923 00 SCX_CPU1_DS_FI/1680 +21-236-13:30:13.923 00 SCX_CPU1_DS_FI/1682 cmdCtr = SCX_CPU1_DS_CMDPC + 1 +21-236-13:30:13.923 00 SCX_CPU1_DS_FI/1683 +21-236-13:30:13.923 00 SCX_CPU1_DS_FI/1684 /SCX_CPU1_DS_GetFileInfo +21-236-13:30:13.939 00 SCX_CPU1_DS_FI/1685 +21-236-13:30:13.939 00 SCX_CPU1_DS_FI/1686 ut_tlmwait SCX_CPU1_DS_CMDPC, {cmdCtr} +21-236-13:30:13.952 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:30:14.588 00 TLMH-I:STS 58-012-14:12:17.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:30:17.957 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:30:17.959 00 SCX_CPU1_DS_FI/1687 +21-236-13:30:17.959 00 SCX_CPU1_DS_FI/1690 if (SCX_CPU1_DS_FileState[seqFileEntry].FileName <> "") then +21-236-13:30:17.959 00 SCX_CPU1_DS_FI/1691 fileName2 = SCX_CPU1_DS_FileState[seqFileEntry].FileName +21-236-13:30:17.960 00 SCX_CPU1_DS_FI/1692 write "<*> Passed (3000;3000.1;3000.1.1) - A file was created with name '",fileName2,"'" +21-236-13:30:17.960 00 SPR-I:OPRO <*> Passed (3000;3000.1;3000.1.1) - A file was created with name '/ram/00000102.dat' +21-236-13:30:17.960 00 SCX_CPU1_DS_FI/1693 ut_setrequirements DS_3000, "P" +21-236-13:30:17.964 00 SCX_CPU1_DS_FI/1694 ut_setrequirements DS_30001, "A" +21-236-13:30:17.968 00 SCX_CPU1_DS_FI/1695 ut_setrequirements DS_300011, "A" +21-236-13:30:17.972 00 SCX_CPU1_DS_FI/1696 +21-236-13:30:17.972 00 SCX_CPU1_DS_FI/1697 if (SCX_CPU1_DS_FileState[seqFileEntry].OpenState = DS_OPEN) then +21-236-13:30:17.973 00 SCX_CPU1_DS_FI/1698 write "<*> Passed (3001) - The file is marked 'OPEN'" +21-236-13:30:17.973 00 SPR-I:OPRO <*> Passed (3001) - The file is marked 'OPEN' +21-236-13:30:17.973 00 SCX_CPU1_DS_FI/1699 ut_setrequirements DS_3001, "P" +21-236-13:30:18.030 00 SCX_CPU1_DS_FI/1700 endif +21-236-13:30:18.030 00 SCX_CPU1_DS_FI/1707 endif +21-236-13:30:18.030 00 SCX_CPU1_DS_FI/1708 +21-236-13:30:18.030 00 SCX_CPU1_DS_FI/1710 if (fileName1 <> "") then +21-236-13:30:18.030 00 SCX_CPU1_DS_FI/1711 write "==> Downloading '",fileName1,"'" +21-236-13:30:18.030 00 SPR-I:OPRO ==> Downloading '/ram/newSeq00000101.dat' +21-236-13:30:18.030 00 SCX_CPU1_DS_FI/1712 slashLoc = %locate(fileName1,"/") +21-236-13:30:18.030 00 SCX_CPU1_DS_FI/1713 while (slashLoc <> 0) do +21-236-13:30:18.030 00 SCX_CPU1_DS_FI/1714 fileName1 = %substring(fileName1,slashLoc+1,%length(fileName1)) +21-236-13:30:18.030 00 SCX_CPU1_DS_FI/1715 slashLoc = %locate(fileName1,"/") +21-236-13:30:18.030 00 SCX_CPU1_DS_FI/1716 enddo +21-236-13:30:18.030 00 SCX_CPU1_DS_FI/1714 fileName1 = %substring(fileName1,slashLoc+1,%length(fileName1)) +21-236-13:30:18.030 00 SCX_CPU1_DS_FI/1715 slashLoc = %locate(fileName1,"/") +21-236-13:30:18.030 00 SCX_CPU1_DS_FI/1716 enddo +21-236-13:30:18.030 00 SCX_CPU1_DS_FI/1717 write "==> FileName Only = '",fileName1,"'" +21-236-13:30:18.031 00 SPR-I:OPRO ==> FileName Only = 'newSeq00000101.dat' +21-236-13:30:18.031 00 SCX_CPU1_DS_FI/1720 s ftp_file(ramDir, fileName1, fileName1, hostCPU, "G") +21-236-13:30:18.031 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/ftp_file.i +21-236-13:30:18.031 00 SPR-I:STS Procedure FTP_FILE started +21-236-13:30:18.031 00 FTP_FILE/2 ; +21-236-13:30:18.039 00 FTP_FILE/3 local logging = %liv (log_procedure) +21-236-13:30:18.039 00 FTP_FILE/4 %liv (log_procedure) = FALSE +21-236-13:30:18.136 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-13:30:18.136 00 FTP_FILE/85 ENDPROC +21-236-13:30:18.136 00 SPR-I:STS Procedure FTP_FILE completed +21-236-13:30:18.136 00 SCX_CPU1_DS_FI/1721 endif +21-236-13:30:18.136 00 SCX_CPU1_DS_FI/1722 +21-236-13:30:18.136 00 SCX_CPU1_DS_FI/1723 wait 5 +21-236-13:30:18.136 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:30:23.139 00 SCX_CPU1_DS_FI/1724 +21-236-13:30:23.139 00 SCX_CPU1_DS_FI/1725 write ";***********************************************************************" +21-236-13:30:23.139 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:30:23.139 00 SCX_CPU1_DS_FI/1726 write "; Step 3.10: Send the Set File Basename command with an invalid length." +21-236-13:30:23.140 00 SPR-I:OPRO ; Step 3.10: Send the Set File Basename command with an invalid length. +21-236-13:30:23.140 00 SCX_CPU1_DS_FI/1727 write ";***********************************************************************" +21-236-13:30:23.140 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:30:23.140 00 SCX_CPU1_DS_FI/1729 ut_setupevents "SCX", "CPU1", {DSAppName}, DS_BASE_CMD_ERR_EID, "ERROR", 1 +21-236-13:30:23.144 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:30:23.144 00 SPR-I:OPRO ; Setup event 1 with DS ERROR 50 +21-236-13:30:23.144 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:30:23.145 00 SCX_CPU1_DS_FI/1730 +21-236-13:30:23.145 00 SCX_CPU1_DS_FI/1731 errcnt = SCX_CPU1_DS_CMDEC + 1 +21-236-13:30:23.146 00 SCX_CPU1_DS_FI/1732 +21-236-13:30:23.146 00 SCX_CPU1_DS_FI/1734 rawcmd = "18BBc000004609EB" +21-236-13:30:23.146 00 SCX_CPU1_DS_FI/1735 +21-236-13:30:23.146 00 SCX_CPU1_DS_FI/1736 ut_sendrawcmd "SCX_CPU1_DS", (rawcmd) +21-236-13:30:23.153 00 SPR-I:OPRO Sending: 18BBc000004609EB +21-236-13:30:23.163 00 SPR-I:OPRO ; Telemetry update will wait a maximum of 24 seconds +21-236-13:30:23.164 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:30:24.088 00 TLMH-I:STS 58-012-14:12:26.500 ERROR CPU=CPU1 APPNAME=DS EVENT ID=50 Invalid DEST BASE command length: expected = 76, actual = 77 +21-236-13:30:26.167 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:30:26.168 00 SCX_CPU1_DS_FI/1737 +21-236-13:30:26.168 00 SCX_CPU1_DS_FI/1738 ut_tlmwait SCX_CPU1_DS_CMDEC, {errcnt} +21-236-13:30:26.173 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:30:26.174 00 SCX_CPU1_DS_FI/1739 if (UT_TW_Status = UT_Success) then +21-236-13:30:26.174 00 SCX_CPU1_DS_FI/1740 write "<*> Passed (1002;1005) - DS Set Basename Command Rejected Counter incremented." +21-236-13:30:26.174 00 SPR-I:OPRO <*> Passed (1002;1005) - DS Set Basename Command Rejected Counter incremented. +21-236-13:30:26.174 00 SCX_CPU1_DS_FI/1741 ut_setrequirements DS_1002, "P" +21-236-13:30:26.176 00 SCX_CPU1_DS_FI/1742 ut_setrequirements DS_1005, "P" +21-236-13:30:26.177 00 SCX_CPU1_DS_FI/1747 endif +21-236-13:30:26.177 00 SCX_CPU1_DS_FI/1748 +21-236-13:30:26.177 00 SCX_CPU1_DS_FI/1749 if (SCX_CPU1_find_event[1].num_found_messages = 1) THEN +21-236-13:30:26.178 00 SCX_CPU1_DS_FI/1750 write "<*> Passed (1005) - Event message ",SCX_CPU1_find_event[1].eventid, " received" +21-236-13:30:26.178 00 SPR-I:OPRO <*> Passed (1005) - Event message 50 received +21-236-13:30:26.178 00 SCX_CPU1_DS_FI/1751 ut_setrequirements DS_1005, "P" +21-236-13:30:26.224 00 SCX_CPU1_DS_FI/1755 endif +21-236-13:30:26.224 00 SCX_CPU1_DS_FI/1756 +21-236-13:30:26.224 00 SCX_CPU1_DS_FI/1757 wait 5 +21-236-13:30:26.224 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:30:31.228 00 SCX_CPU1_DS_FI/1758 +21-236-13:30:31.229 00 SCX_CPU1_DS_FI/1759 write ";***********************************************************************" +21-236-13:30:31.229 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:30:31.229 00 SCX_CPU1_DS_FI/1760 write "; Step 3.11: Send the Set File Basename command with invalid arguments." +21-236-13:30:31.229 00 SPR-I:OPRO ; Step 3.11: Send the Set File Basename command with invalid arguments. +21-236-13:30:31.229 00 SCX_CPU1_DS_FI/1761 write ";***********************************************************************" +21-236-13:30:31.229 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:30:31.229 00 SCX_CPU1_DS_FI/1763 ut_setupevents "SCX", "CPU1", {DSAppName}, DS_BASE_CMD_ERR_EID, "ERROR", 1 +21-236-13:30:31.237 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:30:31.237 00 SPR-I:OPRO ; Setup event 1 with DS ERROR 50 +21-236-13:30:31.238 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:30:31.239 00 SCX_CPU1_DS_FI/1764 +21-236-13:30:31.240 00 SCX_CPU1_DS_FI/1765 errcnt = SCX_CPU1_DS_CMDEC + 1 +21-236-13:30:31.240 00 SCX_CPU1_DS_FI/1767 /SCX_CPU1_DS_SetBasename FileIndex=DS_DEST_FILE_CNT BaseName="badSeq" +21-236-13:30:31.255 00 SCX_CPU1_DS_FI/1768 wait 5 +21-236-13:30:31.255 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:30:32.087 00 TLMH-I:STS 58-012-14:12:34.500 ERROR CPU=CPU1 APPNAME=DS EVENT ID=50 Invalid DEST BASE command arg: file table index = 16 +21-236-13:30:36.259 00 SCX_CPU1_DS_FI/1769 +21-236-13:30:36.259 00 SCX_CPU1_DS_FI/1770 ut_tlmwait SCX_CPU1_DS_CMDEC, {errcnt} +21-236-13:30:36.270 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:30:36.274 00 SCX_CPU1_DS_FI/1771 if (UT_TW_Status = UT_Success) then +21-236-13:30:36.274 00 SCX_CPU1_DS_FI/1772 write "<*> Passed (1005) - DS Set Basename command failed as expected with an invalid file index." +21-236-13:30:36.274 00 SPR-I:OPRO <*> Passed (1005) - DS Set Basename command failed as expected with an invalid file index. +21-236-13:30:36.274 00 SCX_CPU1_DS_FI/1773 ut_setrequirements DS_1005, "P" +21-236-13:30:36.276 00 SCX_CPU1_DS_FI/1777 endif +21-236-13:30:36.276 00 SCX_CPU1_DS_FI/1778 +21-236-13:30:36.276 00 SCX_CPU1_DS_FI/1780 ut_tlmwait SCX_CPU1_find_event[1].num_found_messages, 1 +21-236-13:30:36.283 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:30:36.283 00 SCX_CPU1_DS_FI/1781 if (UT_TW_Status = UT_Success) then +21-236-13:30:36.284 00 SCX_CPU1_DS_FI/1782 write "<*> Passed (1005) - Expected Event Msg ",DS_BASE_CMD_ERR_EID," rcv'd." +21-236-13:30:36.284 00 SPR-I:OPRO <*> Passed (1005) - Expected Event Msg 50 rcv'd. +21-236-13:30:36.284 00 SCX_CPU1_DS_FI/1783 ut_setrequirements DS_1005, "P" +21-236-13:30:36.289 00 SCX_CPU1_DS_FI/1787 endif +21-236-13:30:36.289 00 SCX_CPU1_DS_FI/1788 +21-236-13:30:36.289 00 SCX_CPU1_DS_FI/1789 wait 5 +21-236-13:30:36.289 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:30:41.324 00 SCX_CPU1_DS_FI/1790 +21-236-13:30:41.324 00 SCX_CPU1_DS_FI/1791 write ";***********************************************************************" +21-236-13:30:41.324 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:30:41.324 00 SCX_CPU1_DS_FI/1792 write "; Step 3.12: Send the Set Next File Sequence Counter command. " +21-236-13:30:41.324 00 SPR-I:OPRO ; Step 3.12: Send the Set Next File Sequence Counter command. +21-236-13:30:41.324 00 SCX_CPU1_DS_FI/1793 write ";***********************************************************************" +21-236-13:30:41.324 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:30:41.324 00 SCX_CPU1_DS_FI/1795 ut_setupevents "SCX", "CPU1", {DSAppName}, DS_SEQ_CMD_EID, "DEBUG", 1 +21-236-13:30:41.326 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:30:41.326 00 SPR-I:OPRO ; Setup event 1 with DS DEBUG 57 +21-236-13:30:41.326 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:30:41.327 00 SCX_CPU1_DS_FI/1796 +21-236-13:30:41.327 00 SCX_CPU1_DS_FI/1797 cmdCtr = SCX_CPU1_DS_CMDPC + 1 +21-236-13:30:41.327 00 SCX_CPU1_DS_FI/1799 /SCX_CPU1_DS_SetFileSeqCtr FileIndex=seqFileEntry SeqCount=99 +21-236-13:30:41.338 00 SCX_CPU1_DS_FI/1800 wait 5 +21-236-13:30:41.338 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:30:42.080 00 TLMH-I:STS 58-012-14:12:44.501 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=57 DEST COUNT command: file table index = 0, sequence count = 99 +21-236-13:30:46.342 00 SCX_CPU1_DS_FI/1801 +21-236-13:30:46.342 00 SCX_CPU1_DS_FI/1802 ut_tlmwait SCX_CPU1_DS_CMDPC, {cmdCtr} +21-236-13:30:46.352 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:30:46.354 00 SCX_CPU1_DS_FI/1803 if (UT_TW_Status = UT_Success) then +21-236-13:30:46.354 00 SCX_CPU1_DS_FI/1804 write "<*> Passed (1004;5004) - DS Set File Sequence Counter command sent properly." +21-236-13:30:46.355 00 SPR-I:OPRO <*> Passed (1004;5004) - DS Set File Sequence Counter command sent properly. +21-236-13:30:46.355 00 SCX_CPU1_DS_FI/1805 ut_setrequirements DS_1004, "P" +21-236-13:30:46.358 00 SCX_CPU1_DS_FI/1806 ut_setrequirements DS_5004, "P" +21-236-13:30:46.361 00 SCX_CPU1_DS_FI/1811 endif +21-236-13:30:46.361 00 SCX_CPU1_DS_FI/1812 +21-236-13:30:46.361 00 SCX_CPU1_DS_FI/1814 ut_tlmwait SCX_CPU1_find_event[1].num_found_messages, 1 +21-236-13:30:46.372 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:30:46.374 00 SCX_CPU1_DS_FI/1815 if (UT_TW_Status = UT_Success) then +21-236-13:30:46.374 00 SCX_CPU1_DS_FI/1816 write "<*> Passed (1004;5004) - Expected Event Msg ",DS_SEQ_CMD_EID," rcv'd." +21-236-13:30:46.374 00 SPR-I:OPRO <*> Passed (1004;5004) - Expected Event Msg 57 rcv'd. +21-236-13:30:46.374 00 SCX_CPU1_DS_FI/1817 ut_setrequirements DS_1004, "P" +21-236-13:30:46.416 00 SCX_CPU1_DS_FI/1818 ut_setrequirements DS_5004, "P" +21-236-13:30:46.417 00 SCX_CPU1_DS_FI/1823 endif +21-236-13:30:46.417 00 SCX_CPU1_DS_FI/1824 +21-236-13:30:46.417 00 SCX_CPU1_DS_FI/1825 wait 5 +21-236-13:30:46.417 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:30:51.421 00 SCX_CPU1_DS_FI/1826 +21-236-13:30:51.421 00 SCX_CPU1_DS_FI/1827 write ";***********************************************************************" +21-236-13:30:51.421 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:30:51.421 00 SCX_CPU1_DS_FI/1828 write "; Step 3.13: Dump the Destination File Table to verify the change above" +21-236-13:30:51.421 00 SPR-I:OPRO ; Step 3.13: Dump the Destination File Table to verify the change above +21-236-13:30:51.421 00 SCX_CPU1_DS_FI/1829 write ";***********************************************************************" +21-236-13:30:51.422 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:30:51.422 00 SCX_CPU1_DS_FI/1831 s get_tbl_to_cvt (ramDir,fileTblName,"A","cpu1_filetbl313",hostCPU,fileTblPktId) +21-236-13:30:51.422 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/get_tbl_to_cvt.i +21-236-13:30:51.426 00 SPR-I:STS Procedure GET_TBL_TO_CVT started +21-236-13:30:51.427 00 GET_TBL_TO_CVT/2 ; +21-236-13:30:51.427 00 GET_TBL_TO_CVT/3 local logging = %liv (log_procedure) +21-236-13:30:51.427 00 GET_TBL_TO_CVT/4 %liv (log_procedure) = FALSE +21-236-13:30:51.451 00 SPR-I:OPRO Sending Command: /SCX_CPU1_TBL_DUMP ACTIVE DTABLENAME="DS.FILE_TBL" DFILENAME="/ram/cpu1_filetbl313" +21-236-13:30:51.455 00 SPR-I:STTE Wait mode - waiting 15 seconds ... +21-236-13:30:52.087 00 TLMH-I:STS 58-012-14:12:54.502 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=14 Successfully dumped Table 'DS.FILE_TBL' to '/ram/cpu1_filetbl313' +21-236-13:31:06.469 00 SPR-I:OPRO +21-236-13:31:06.469 00 SPR-I:OPRO The TBLNAME is: DS.FILE_TBL +21-236-13:31:06.469 00 SPR-I:OPRO The APID is: P0F76 +21-236-13:31:06.470 00 SPR-I:OPRO The CPU is: CPU3 +21-236-13:31:06.470 00 SPR-I:OPRO The IP Address is: 192.168.1.8 +21-236-13:31:06.473 00 SPR-I:OPRO The perl command is: perl /s/opr/accounts/global/tools/ftp.pl RAM:0 cpu1_filetbl313 cpu1_filetbl313 binary 192.168.1.8 +21-236-13:31:06.614 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-13:31:06.614 00 SPR-I:STTE Wait mode - waiting 15 seconds ... +21-236-13:31:21.624 00 SPR-I:OPRO +21-236-13:31:21.669 00 SPR-I:OPRO The unix command is cvt -ws file_list[3958].file_write_time "`date +%y-%j-%T -r /s/opr/accounts/cfs_test/image/cpu1_filetbl313`" +21-236-13:31:21.670 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:31:26.675 00 GET_TBL_TO_CVT/238 +21-236-13:31:26.675 00 GET_TBL_TO_CVT/239 ENDPROC +21-236-13:31:26.675 00 SPR-I:STS Procedure GET_TBL_TO_CVT completed +21-236-13:31:26.677 00 SCX_CPU1_DS_FI/1832 +21-236-13:31:26.677 00 SCX_CPU1_DS_FI/1834 if (SCX_CPU1_DS_DF_TBL[seqFileEntry].SeqCnt = 99) then +21-236-13:31:26.678 00 SCX_CPU1_DS_FI/1835 write "<*> Passed (5004) - Table entry reflects the new Sequence Count." +21-236-13:31:26.678 00 SPR-I:OPRO <*> Passed (5004) - Table entry reflects the new Sequence Count. +21-236-13:31:26.678 00 SCX_CPU1_DS_FI/1836 ut_setrequirements DS_5004, "P" +21-236-13:31:26.682 00 SCX_CPU1_DS_FI/1840 endif +21-236-13:31:26.682 00 SCX_CPU1_DS_FI/1841 +21-236-13:31:26.682 00 SCX_CPU1_DS_FI/1842 write ";***********************************************************************" +21-236-13:31:26.682 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:31:26.682 00 SCX_CPU1_DS_FI/1843 write "; Step 3.14: Using the TST_DS application, send a message that will" +21-236-13:31:26.682 00 SPR-I:OPRO ; Step 3.14: Using the TST_DS application, send a message that will +21-236-13:31:26.682 00 SCX_CPU1_DS_FI/1844 write "; create a file using the new sequence counter." +21-236-13:31:26.683 00 SPR-I:OPRO ; create a file using the new sequence counter. +21-236-13:31:26.683 00 SCX_CPU1_DS_FI/1845 write ";***********************************************************************" +21-236-13:31:26.683 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:31:26.683 00 SCX_CPU1_DS_FI/1847 ut_setupevents "SCX", "CPU1", "TST_DS", TST_DS_MSG1_SENT_INF_EID, "INFO", 1 +21-236-13:31:26.690 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:31:26.691 00 SPR-I:OPRO ; Setup event 1 with TST_DS INFO 5 +21-236-13:31:26.691 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:31:26.728 00 SCX_CPU1_DS_FI/1848 +21-236-13:31:26.728 00 SCX_CPU1_DS_FI/1850 /SCX_CPU1_TST_DS_SENDMESSAGE MsgID=seqMsgID MsgType=1 Pattern=x'55' +21-236-13:31:26.740 00 SCX_CPU1_DS_FI/1851 +21-236-13:31:26.740 00 SCX_CPU1_DS_FI/1853 ut_tlmwait SCX_CPU1_find_event[1].num_found_messages, 1 +21-236-13:31:26.743 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:31:27.580 00 TLMH-I:STS 58-012-14:13:30.003 ERROR CPU=CPU1 APPNAME=DS EVENT ID=61 FILE MOVE error: src = '/ram/00000102.dat', tgt = '/ram/movedir/00000102.dat', result = -1 +21-236-13:31:27.581 00 TLMH-I:STS 58-012-14:13:30.005 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Message Size 116 to MID 0x00001000 +21-236-13:31:27.744 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:31:27.745 00 SCX_CPU1_DS_FI/1854 if (UT_TW_Status = UT_Success) then +21-236-13:31:27.746 00 SCX_CPU1_DS_FI/1855 write "<*> Passed - Expected Event Msg ",TST_DS_MSG1_SENT_INF_EID," rcv'd." +21-236-13:31:27.746 00 SPR-I:OPRO <*> Passed - Expected Event Msg 5 rcv'd. +21-236-13:31:27.746 00 SCX_CPU1_DS_FI/1858 endif +21-236-13:31:27.746 00 SCX_CPU1_DS_FI/1859 +21-236-13:31:27.746 00 SCX_CPU1_DS_FI/1861 cmdCtr = SCX_CPU1_DS_CMDPC + 1 +21-236-13:31:27.746 00 SCX_CPU1_DS_FI/1862 +21-236-13:31:27.746 00 SCX_CPU1_DS_FI/1863 /SCX_CPU1_DS_GetFileInfo +21-236-13:31:27.761 00 SCX_CPU1_DS_FI/1864 +21-236-13:31:27.761 00 SCX_CPU1_DS_FI/1865 ut_tlmwait SCX_CPU1_DS_CMDPC, {cmdCtr} +21-236-13:31:27.775 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:31:28.582 00 TLMH-I:STS 58-012-14:13:31.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:31:29.777 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:31:29.779 00 SCX_CPU1_DS_FI/1866 +21-236-13:31:29.779 00 SCX_CPU1_DS_FI/1869 if (SCX_CPU1_DS_FileState[seqFileEntry].FileName <> "") then +21-236-13:31:29.779 00 SCX_CPU1_DS_FI/1870 fileName1 = SCX_CPU1_DS_FileState[seqFileEntry].FileName +21-236-13:31:29.780 00 SCX_CPU1_DS_FI/1871 write "<*> Passed (3000;3000.1;3000.1.1) - A file was created with name '",fileName1,"'" +21-236-13:31:29.780 00 SPR-I:OPRO <*> Passed (3000;3000.1;3000.1.1) - A file was created with name '/ram/00000099.dat' +21-236-13:31:29.780 00 SCX_CPU1_DS_FI/1872 ut_setrequirements DS_3000, "P" +21-236-13:31:29.782 00 SCX_CPU1_DS_FI/1873 ut_setrequirements DS_30001, "A" +21-236-13:31:29.783 00 SCX_CPU1_DS_FI/1874 ut_setrequirements DS_300011, "A" +21-236-13:31:29.784 00 SCX_CPU1_DS_FI/1875 +21-236-13:31:29.784 00 SCX_CPU1_DS_FI/1876 if (SCX_CPU1_DS_FileState[seqFileEntry].OpenState = DS_OPEN) then +21-236-13:31:29.784 00 SCX_CPU1_DS_FI/1877 write "<*> Passed (3001) - The file is marked 'OPEN'" +21-236-13:31:29.784 00 SPR-I:OPRO <*> Passed (3001) - The file is marked 'OPEN' +21-236-13:31:29.784 00 SCX_CPU1_DS_FI/1878 ut_setrequirements DS_3001, "P" +21-236-13:31:29.818 00 SCX_CPU1_DS_FI/1879 endif +21-236-13:31:29.818 00 SCX_CPU1_DS_FI/1886 endif +21-236-13:31:29.818 00 SCX_CPU1_DS_FI/1887 +21-236-13:31:29.818 00 SCX_CPU1_DS_FI/1889 if (fileName2 <> "") then +21-236-13:31:29.818 00 SCX_CPU1_DS_FI/1890 write "==> Downloading '",fileName2,"'" +21-236-13:31:29.818 00 SPR-I:OPRO ==> Downloading '/ram/00000102.dat' +21-236-13:31:29.818 00 SCX_CPU1_DS_FI/1891 slashLoc = %locate(fileName2,"/") +21-236-13:31:29.818 00 SCX_CPU1_DS_FI/1892 while (slashLoc <> 0) do +21-236-13:31:29.818 00 SCX_CPU1_DS_FI/1893 fileName2 = %substring(fileName2,slashLoc+1,%length(fileName2)) +21-236-13:31:29.818 00 SCX_CPU1_DS_FI/1894 slashLoc = %locate(fileName2,"/") +21-236-13:31:29.818 00 SCX_CPU1_DS_FI/1895 enddo +21-236-13:31:29.818 00 SCX_CPU1_DS_FI/1893 fileName2 = %substring(fileName2,slashLoc+1,%length(fileName2)) +21-236-13:31:29.818 00 SCX_CPU1_DS_FI/1894 slashLoc = %locate(fileName2,"/") +21-236-13:31:29.818 00 SCX_CPU1_DS_FI/1895 enddo +21-236-13:31:29.818 00 SCX_CPU1_DS_FI/1896 write "==> FileName Only = '",fileName2,"'" +21-236-13:31:29.818 00 SPR-I:OPRO ==> FileName Only = '00000102.dat' +21-236-13:31:29.818 00 SCX_CPU1_DS_FI/1899 s ftp_file(ramDir, fileName2, fileName2, hostCPU, "G") +21-236-13:31:29.819 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/ftp_file.i +21-236-13:31:29.819 00 SPR-I:STS Procedure FTP_FILE started +21-236-13:31:29.819 00 FTP_FILE/2 ; +21-236-13:31:29.826 00 FTP_FILE/3 local logging = %liv (log_procedure) +21-236-13:31:29.826 00 FTP_FILE/4 %liv (log_procedure) = FALSE +21-236-13:31:29.921 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-13:31:29.921 00 FTP_FILE/85 ENDPROC +21-236-13:31:29.921 00 SPR-I:STS Procedure FTP_FILE completed +21-236-13:31:29.921 00 SCX_CPU1_DS_FI/1900 endif +21-236-13:31:29.921 00 SCX_CPU1_DS_FI/1901 +21-236-13:31:29.921 00 SCX_CPU1_DS_FI/1902 wait 5 +21-236-13:31:29.921 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:31:34.925 00 SCX_CPU1_DS_FI/1903 +21-236-13:31:34.925 00 SCX_CPU1_DS_FI/1904 write ";***********************************************************************" +21-236-13:31:34.925 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:31:34.925 00 SCX_CPU1_DS_FI/1905 write "; Step 3.15: Send the Set File Sequence Counter command with an invalid" +21-236-13:31:34.925 00 SPR-I:OPRO ; Step 3.15: Send the Set File Sequence Counter command with an invalid +21-236-13:31:34.926 00 SCX_CPU1_DS_FI/1906 write "; length." +21-236-13:31:34.926 00 SPR-I:OPRO ; length. +21-236-13:31:34.926 00 SCX_CPU1_DS_FI/1907 write ";***********************************************************************" +21-236-13:31:34.926 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:31:34.926 00 SCX_CPU1_DS_FI/1909 ut_setupevents "SCX", "CPU1", {DSAppName}, DS_SEQ_CMD_ERR_EID, "ERROR", 1 +21-236-13:31:34.932 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:31:34.932 00 SPR-I:OPRO ; Setup event 1 with DS ERROR 58 +21-236-13:31:34.932 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:31:34.932 00 SCX_CPU1_DS_FI/1910 +21-236-13:31:34.932 00 SCX_CPU1_DS_FI/1911 errcnt = SCX_CPU1_DS_CMDEC + 1 +21-236-13:31:34.932 00 SCX_CPU1_DS_FI/1912 +21-236-13:31:34.932 00 SCX_CPU1_DS_FI/1914 rawcmd = "18BBc000000A0DE2" +21-236-13:31:34.932 00 SCX_CPU1_DS_FI/1915 +21-236-13:31:34.933 00 SCX_CPU1_DS_FI/1916 ut_sendrawcmd "SCX_CPU1_DS", (rawcmd) +21-236-13:31:34.935 00 SPR-I:OPRO Sending: 18BBc000000A0DE2 +21-236-13:31:34.939 00 SPR-I:OPRO ; Telemetry update will wait a maximum of 24 seconds +21-236-13:31:34.940 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:31:35.588 00 TLMH-I:STS 58-012-14:13:38.001 ERROR CPU=CPU1 APPNAME=DS EVENT ID=58 Invalid DEST COUNT command length: expected = 16, actual = 17 +21-236-13:31:37.943 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:31:37.948 00 SCX_CPU1_DS_FI/1917 +21-236-13:31:37.948 00 SCX_CPU1_DS_FI/1918 ut_tlmwait SCX_CPU1_DS_CMDEC, {errcnt} +21-236-13:31:37.951 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:31:37.951 00 SCX_CPU1_DS_FI/1919 if (UT_TW_Status = UT_Success) then +21-236-13:31:37.951 00 SCX_CPU1_DS_FI/1920 write "<*> Passed (1002;1005) - DS Set File Sequence Count Command Rejected Counter incremented." +21-236-13:31:37.951 00 SPR-I:OPRO <*> Passed (1002;1005) - DS Set File Sequence Count Command Rejected Counter incremented. +21-236-13:31:37.951 00 SCX_CPU1_DS_FI/1921 ut_setrequirements DS_1002, "P" +21-236-13:31:37.952 00 SCX_CPU1_DS_FI/1922 ut_setrequirements DS_1005, "P" +21-236-13:31:37.952 00 SCX_CPU1_DS_FI/1927 endif +21-236-13:31:37.952 00 SCX_CPU1_DS_FI/1928 +21-236-13:31:37.952 00 SCX_CPU1_DS_FI/1929 if (SCX_CPU1_find_event[1].num_found_messages = 1) THEN +21-236-13:31:37.952 00 SCX_CPU1_DS_FI/1930 write "<*> Passed (1005) - Event message ",SCX_CPU1_find_event[1].eventid, " received" +21-236-13:31:37.952 00 SPR-I:OPRO <*> Passed (1005) - Event message 58 received +21-236-13:31:37.952 00 SCX_CPU1_DS_FI/1931 ut_setrequirements DS_1005, "P" +21-236-13:31:37.980 00 SCX_CPU1_DS_FI/1935 endif +21-236-13:31:37.980 00 SCX_CPU1_DS_FI/1936 +21-236-13:31:37.980 00 SCX_CPU1_DS_FI/1937 wait 5 +21-236-13:31:37.980 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:31:42.984 00 SCX_CPU1_DS_FI/1938 +21-236-13:31:42.984 00 SCX_CPU1_DS_FI/1939 write ";***********************************************************************" +21-236-13:31:42.984 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:31:42.985 00 SCX_CPU1_DS_FI/1940 write "; Step 3.16: Send the Set File Sequence Counter command with invalid " +21-236-13:31:42.985 00 SPR-I:OPRO ; Step 3.16: Send the Set File Sequence Counter command with invalid +21-236-13:31:42.985 00 SCX_CPU1_DS_FI/1941 write "; arguments." +21-236-13:31:42.985 00 SPR-I:OPRO ; arguments. +21-236-13:31:42.985 00 SCX_CPU1_DS_FI/1942 write ";***********************************************************************" +21-236-13:31:42.985 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:31:42.985 00 SCX_CPU1_DS_FI/1944 ut_setupevents "SCX", "CPU1", {DSAppName}, DS_SEQ_CMD_ERR_EID, "ERROR", 1 +21-236-13:31:42.992 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:31:42.992 00 SPR-I:OPRO ; Setup event 1 with DS ERROR 58 +21-236-13:31:42.992 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:31:42.992 00 SCX_CPU1_DS_FI/1945 +21-236-13:31:42.992 00 SCX_CPU1_DS_FI/1946 errcnt = SCX_CPU1_DS_CMDEC + 1 +21-236-13:31:42.992 00 SCX_CPU1_DS_FI/1947 +21-236-13:31:42.992 00 SCX_CPU1_DS_FI/1949 /SCX_CPU1_DS_SetFileSeqCtr FileIndex=DS_DEST_FILE_CNT SeqCount=155 +21-236-13:31:43.004 00 SCX_CPU1_DS_FI/1950 wait 5 +21-236-13:31:43.004 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:31:43.583 00 TLMH-I:STS 58-012-14:13:46.001 ERROR CPU=CPU1 APPNAME=DS EVENT ID=58 Invalid DEST COUNT command arg: file table index = 16 +21-236-13:31:48.007 00 SCX_CPU1_DS_FI/1951 +21-236-13:31:48.007 00 SCX_CPU1_DS_FI/1952 ut_tlmwait SCX_CPU1_DS_CMDEC, {errcnt} +21-236-13:31:48.010 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:31:48.011 00 SCX_CPU1_DS_FI/1953 if (UT_TW_Status = UT_Success) then +21-236-13:31:48.011 00 SCX_CPU1_DS_FI/1954 write "<*> Passed (1005) - DS Set File Sequence Counter command failed as expected with an invalid file index." +21-236-13:31:48.011 00 SPR-I:OPRO <*> Passed (1005) - DS Set File Sequence Counter command failed as expected with an invalid file index. +21-236-13:31:48.011 00 SCX_CPU1_DS_FI/1955 ut_setrequirements DS_1005, "P" +21-236-13:31:48.012 00 SCX_CPU1_DS_FI/1959 endif +21-236-13:31:48.012 00 SCX_CPU1_DS_FI/1960 +21-236-13:31:48.012 00 SCX_CPU1_DS_FI/1962 ut_tlmwait SCX_CPU1_find_event[1].num_found_messages, 1 +21-236-13:31:48.015 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:31:48.015 00 SCX_CPU1_DS_FI/1963 if (UT_TW_Status = UT_Success) then +21-236-13:31:48.015 00 SCX_CPU1_DS_FI/1964 write "<*> Passed (1005) - Event message ",SCX_CPU1_find_event[1].eventid, " received" +21-236-13:31:48.015 00 SPR-I:OPRO <*> Passed (1005) - Event message 58 received +21-236-13:31:48.015 00 SCX_CPU1_DS_FI/1965 ut_setrequirements DS_1005, "P" +21-236-13:31:48.016 00 SCX_CPU1_DS_FI/1969 endif +21-236-13:31:48.016 00 SCX_CPU1_DS_FI/1970 +21-236-13:31:48.016 00 SCX_CPU1_DS_FI/1971 wait 5 +21-236-13:31:48.016 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:31:53.043 00 SCX_CPU1_DS_FI/1972 +21-236-13:31:53.043 00 SCX_CPU1_DS_FI/1973 write ";***********************************************************************" +21-236-13:31:53.043 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:31:53.043 00 SCX_CPU1_DS_FI/1974 write "; Step 3.17: Send the Disable Destination File command. " +21-236-13:31:53.044 00 SPR-I:OPRO ; Step 3.17: Send the Disable Destination File command. +21-236-13:31:53.044 00 SCX_CPU1_DS_FI/1975 write ";***********************************************************************" +21-236-13:31:53.044 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:31:53.044 00 SCX_CPU1_DS_FI/1977 ut_setupevents "SCX", "CPU1", {DSAppName}, DS_STATE_CMD_EID, "DEBUG", 1 +21-236-13:31:53.052 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:31:53.052 00 SPR-I:OPRO ; Setup event 1 with DS DEBUG 45 +21-236-13:31:53.052 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:31:53.054 00 SCX_CPU1_DS_FI/1978 +21-236-13:31:53.054 00 SCX_CPU1_DS_FI/1979 cmdCtr = SCX_CPU1_DS_CMDPC + 1 +21-236-13:31:53.055 00 SCX_CPU1_DS_FI/1981 /SCX_CPU1_DS_DisableFile FileIndex=seqFileEntry +21-236-13:31:53.071 00 SCX_CPU1_DS_FI/1982 wait 5 +21-236-13:31:53.071 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:31:53.581 00 TLMH-I:STS 58-012-14:13:56.004 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=45 DEST STATE command: file table index = 0, file state = 0 +21-236-13:31:58.074 00 SCX_CPU1_DS_FI/1983 +21-236-13:31:58.074 00 SCX_CPU1_DS_FI/1984 ut_tlmwait SCX_CPU1_DS_CMDPC, {cmdCtr} +21-236-13:31:58.091 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:31:58.093 00 SCX_CPU1_DS_FI/1985 if (UT_TW_Status = UT_Success) then +21-236-13:31:58.093 00 SCX_CPU1_DS_FI/1986 write "<*> Passed (1004;5006) - DS Disable Destination File command sent properly." +21-236-13:31:58.093 00 SPR-I:OPRO <*> Passed (1004;5006) - DS Disable Destination File command sent properly. +21-236-13:31:58.093 00 SCX_CPU1_DS_FI/1987 ut_setrequirements DS_1004, "P" +21-236-13:31:58.096 00 SCX_CPU1_DS_FI/1988 ut_setrequirements DS_5006, "P" +21-236-13:31:58.098 00 SCX_CPU1_DS_FI/1993 endif +21-236-13:31:58.098 00 SCX_CPU1_DS_FI/1994 +21-236-13:31:58.098 00 SCX_CPU1_DS_FI/1996 ut_tlmwait SCX_CPU1_find_event[1].num_found_messages, 1 +21-236-13:31:58.103 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:31:58.104 00 SCX_CPU1_DS_FI/1997 if (UT_TW_Status = UT_Success) then +21-236-13:31:58.104 00 SCX_CPU1_DS_FI/1998 write "<*> Passed (1004;5006) - Expected Event Msg ",DS_STATE_CMD_EID," rcv'd." +21-236-13:31:58.104 00 SPR-I:OPRO <*> Passed (1004;5006) - Expected Event Msg 45 rcv'd. +21-236-13:31:58.104 00 SCX_CPU1_DS_FI/1999 ut_setrequirements DS_1004, "P" +21-236-13:31:58.136 00 SCX_CPU1_DS_FI/2000 ut_setrequirements DS_5006, "P" +21-236-13:31:58.137 00 SCX_CPU1_DS_FI/2005 endif +21-236-13:31:58.137 00 SCX_CPU1_DS_FI/2006 +21-236-13:31:58.137 00 SCX_CPU1_DS_FI/2008 cmdCtr = SCX_CPU1_DS_CMDPC + 1 +21-236-13:31:58.137 00 SCX_CPU1_DS_FI/2009 +21-236-13:31:58.137 00 SCX_CPU1_DS_FI/2010 /SCX_CPU1_DS_GetFileInfo +21-236-13:31:58.148 00 SCX_CPU1_DS_FI/2011 +21-236-13:31:58.148 00 SCX_CPU1_DS_FI/2012 ut_tlmwait SCX_CPU1_DS_CMDPC, {cmdCtr} +21-236-13:31:58.153 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:31:58.579 00 TLMH-I:STS 58-012-14:14:01.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:32:02.157 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:32:02.159 00 SCX_CPU1_DS_FI/2013 +21-236-13:32:02.159 00 SCX_CPU1_DS_FI/2015 if (SCX_CPU1_DS_FileState[seqFileEntry].EnableState = DS_DISABLED) then +21-236-13:32:02.159 00 SCX_CPU1_DS_FI/2016 write "<*> Passed (5006) - The sequence file entry has been disabled." +21-236-13:32:02.159 00 SPR-I:OPRO <*> Passed (5006) - The sequence file entry has been disabled. +21-236-13:32:02.159 00 SCX_CPU1_DS_FI/2017 ut_setrequirements DS_5006, "P" +21-236-13:32:02.162 00 SCX_CPU1_DS_FI/2021 endif +21-236-13:32:02.163 00 SCX_CPU1_DS_FI/2022 +21-236-13:32:02.163 00 SCX_CPU1_DS_FI/2023 wait 5 +21-236-13:32:02.163 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:32:07.166 00 SCX_CPU1_DS_FI/2024 +21-236-13:32:07.167 00 SCX_CPU1_DS_FI/2025 write ";***********************************************************************" +21-236-13:32:07.167 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:32:07.167 00 SCX_CPU1_DS_FI/2026 write "; Step 3.18: Dump the Destination File Table to verify the change above" +21-236-13:32:07.167 00 SPR-I:OPRO ; Step 3.18: Dump the Destination File Table to verify the change above +21-236-13:32:07.167 00 SCX_CPU1_DS_FI/2027 write ";***********************************************************************" +21-236-13:32:07.167 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:32:07.167 00 SCX_CPU1_DS_FI/2029 s get_tbl_to_cvt (ramDir,fileTblName,"A","cpu1_filetbl318",hostCPU,fileTblPktId) +21-236-13:32:07.168 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/get_tbl_to_cvt.i +21-236-13:32:07.170 00 SPR-I:STS Procedure GET_TBL_TO_CVT started +21-236-13:32:07.170 00 GET_TBL_TO_CVT/2 ; +21-236-13:32:07.170 00 GET_TBL_TO_CVT/3 local logging = %liv (log_procedure) +21-236-13:32:07.170 00 GET_TBL_TO_CVT/4 %liv (log_procedure) = FALSE +21-236-13:32:07.187 00 SPR-I:OPRO Sending Command: /SCX_CPU1_TBL_DUMP ACTIVE DTABLENAME="DS.FILE_TBL" DFILENAME="/ram/cpu1_filetbl318" +21-236-13:32:07.201 00 SPR-I:STTE Wait mode - waiting 15 seconds ... +21-236-13:32:08.080 00 TLMH-I:STS 58-012-14:14:10.502 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=14 Successfully dumped Table 'DS.FILE_TBL' to '/ram/cpu1_filetbl318' +21-236-13:32:22.213 00 SPR-I:OPRO +21-236-13:32:22.213 00 SPR-I:OPRO The TBLNAME is: DS.FILE_TBL +21-236-13:32:22.213 00 SPR-I:OPRO The APID is: P0F76 +21-236-13:32:22.213 00 SPR-I:OPRO The CPU is: CPU3 +21-236-13:32:22.213 00 SPR-I:OPRO The IP Address is: 192.168.1.8 +21-236-13:32:22.216 00 SPR-I:OPRO The perl command is: perl /s/opr/accounts/global/tools/ftp.pl RAM:0 cpu1_filetbl318 cpu1_filetbl318 binary 192.168.1.8 +21-236-13:32:22.368 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-13:32:22.368 00 SPR-I:STTE Wait mode - waiting 15 seconds ... +21-236-13:32:37.377 00 SPR-I:OPRO +21-236-13:32:37.390 00 SPR-I:OPRO The unix command is cvt -ws file_list[3958].file_write_time "`date +%y-%j-%T -r /s/opr/accounts/cfs_test/image/cpu1_filetbl318`" +21-236-13:32:37.390 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:32:42.394 00 GET_TBL_TO_CVT/238 +21-236-13:32:42.394 00 GET_TBL_TO_CVT/239 ENDPROC +21-236-13:32:42.394 00 SPR-I:STS Procedure GET_TBL_TO_CVT completed +21-236-13:32:42.395 00 SCX_CPU1_DS_FI/2030 +21-236-13:32:42.395 00 SCX_CPU1_DS_FI/2032 if (SCX_CPU1_DS_DF_TBL[seqFileEntry].FileState = DS_DISABLED) then +21-236-13:32:42.395 00 SCX_CPU1_DS_FI/2033 write "<*> Passed (5006) - Table entry indicates that it is 'DISABLED'." +21-236-13:32:42.395 00 SPR-I:OPRO <*> Passed (5006) - Table entry indicates that it is 'DISABLED'. +21-236-13:32:42.395 00 SCX_CPU1_DS_FI/2034 ut_setrequirements DS_5006, "P" +21-236-13:32:42.396 00 SCX_CPU1_DS_FI/2038 endif +21-236-13:32:42.396 00 SCX_CPU1_DS_FI/2039 +21-236-13:32:42.396 00 SCX_CPU1_DS_FI/2040 write ";***********************************************************************" +21-236-13:32:42.396 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:32:42.396 00 SCX_CPU1_DS_FI/2041 write "; Step 3.19: Using the TST_DS application, send a message to the entry " +21-236-13:32:42.396 00 SPR-I:OPRO ; Step 3.19: Using the TST_DS application, send a message to the entry +21-236-13:32:42.396 00 SCX_CPU1_DS_FI/2042 write "; disabled above. The message should not get stored. " +21-236-13:32:42.396 00 SPR-I:OPRO ; disabled above. The message should not get stored. +21-236-13:32:42.396 00 SCX_CPU1_DS_FI/2043 write ";***********************************************************************" +21-236-13:32:42.396 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:32:42.396 00 SCX_CPU1_DS_FI/2045 local pktCtr = SCX_CPU1_DS_FilteredPktCnt + 1 +21-236-13:32:42.396 00 SCX_CPU1_DS_FI/2046 +21-236-13:32:42.396 00 SCX_CPU1_DS_FI/2048 ut_setupevents "SCX", "CPU1", "TST_DS", TST_DS_MSG1_SENT_INF_EID, "INFO", 1 +21-236-13:32:42.398 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:32:42.398 00 SPR-I:OPRO ; Setup event 1 with TST_DS INFO 5 +21-236-13:32:42.417 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:32:42.417 00 SCX_CPU1_DS_FI/2049 +21-236-13:32:42.417 00 SCX_CPU1_DS_FI/2051 /SCX_CPU1_TST_DS_SENDMESSAGE MsgID=seqMsgID MsgType=1 Pattern=x'55' +21-236-13:32:42.419 00 SCX_CPU1_DS_FI/2052 +21-236-13:32:42.419 00 SCX_CPU1_DS_FI/2054 ut_tlmwait SCX_CPU1_find_event[1].num_found_messages, 1 +21-236-13:32:42.423 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:32:43.086 00 TLMH-I:STS 58-012-14:14:45.500 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Message Size 116 to MID 0x00001000 +21-236-13:32:43.424 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:32:43.425 00 SCX_CPU1_DS_FI/2055 if (UT_TW_Status = UT_Success) then +21-236-13:32:43.425 00 SCX_CPU1_DS_FI/2056 write "<*> Passed - Expected Event Msg ",TST_DS_MSG1_SENT_INF_EID," rcv'd." +21-236-13:32:43.425 00 SPR-I:OPRO <*> Passed - Expected Event Msg 5 rcv'd. +21-236-13:32:43.425 00 SCX_CPU1_DS_FI/2059 endif +21-236-13:32:43.425 00 SCX_CPU1_DS_FI/2060 +21-236-13:32:43.426 00 SCX_CPU1_DS_FI/2062 cmdCtr = SCX_CPU1_DS_CMDPC + 1 +21-236-13:32:43.426 00 SCX_CPU1_DS_FI/2063 +21-236-13:32:43.426 00 SCX_CPU1_DS_FI/2064 /SCX_CPU1_DS_GetFileInfo +21-236-13:32:43.439 00 SCX_CPU1_DS_FI/2065 +21-236-13:32:43.439 00 SCX_CPU1_DS_FI/2066 ut_tlmwait SCX_CPU1_DS_CMDPC, {cmdCtr} +21-236-13:32:43.452 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:32:44.088 00 TLMH-I:STS 58-012-14:14:46.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:32:46.455 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:32:46.457 00 SCX_CPU1_DS_FI/2067 +21-236-13:32:46.457 00 SCX_CPU1_DS_FI/2069 if (SCX_CPU1_DS_FilteredPktCnt = pktCtr) then +21-236-13:32:46.458 00 SCX_CPU1_DS_FI/2070 write "<*> Passed (5006) - The filtered Packet Counter incremented indicating that the message was not stored." +21-236-13:32:46.458 00 SPR-I:OPRO <*> Passed (5006) - The filtered Packet Counter incremented indicating that the message was not stored. +21-236-13:32:46.458 00 SCX_CPU1_DS_FI/2071 ut_setrequirements DS_5006, "P" +21-236-13:32:46.462 00 SCX_CPU1_DS_FI/2075 endif +21-236-13:32:46.462 00 SCX_CPU1_DS_FI/2076 +21-236-13:32:46.463 00 SCX_CPU1_DS_FI/2077 wait 5 +21-236-13:32:46.463 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:32:51.467 00 SCX_CPU1_DS_FI/2078 +21-236-13:32:51.467 00 SCX_CPU1_DS_FI/2079 write ";***********************************************************************" +21-236-13:32:51.467 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:32:51.467 00 SCX_CPU1_DS_FI/2080 write "; Step 3.20: Send the Disable Destination File command with an invalid" +21-236-13:32:51.467 00 SPR-I:OPRO ; Step 3.20: Send the Disable Destination File command with an invalid +21-236-13:32:51.467 00 SCX_CPU1_DS_FI/2081 write "; length." +21-236-13:32:51.467 00 SPR-I:OPRO ; length. +21-236-13:32:51.467 00 SCX_CPU1_DS_FI/2082 write ";***********************************************************************" +21-236-13:32:51.467 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:32:51.467 00 SCX_CPU1_DS_FI/2084 ut_setupevents "SCX", "CPU1", {DSAppName}, DS_STATE_CMD_ERR_EID, "ERROR", 1 +21-236-13:32:51.469 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:32:51.469 00 SPR-I:OPRO ; Setup event 1 with DS ERROR 46 +21-236-13:32:51.469 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:32:51.470 00 SCX_CPU1_DS_FI/2085 +21-236-13:32:51.470 00 SCX_CPU1_DS_FI/2086 errcnt = SCX_CPU1_DS_CMDEC + 1 +21-236-13:32:51.470 00 SCX_CPU1_DS_FI/2087 +21-236-13:32:51.470 00 SCX_CPU1_DS_FI/2089 rawcmd = "18BBc0000006079C" +21-236-13:32:51.470 00 SCX_CPU1_DS_FI/2090 +21-236-13:32:51.470 00 SCX_CPU1_DS_FI/2091 ut_sendrawcmd "SCX_CPU1_DS", (rawcmd) +21-236-13:32:51.475 00 SPR-I:OPRO Sending: 18BBc0000006079C +21-236-13:32:51.491 00 SPR-I:OPRO ; Telemetry update will wait a maximum of 24 seconds +21-236-13:32:51.492 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:32:52.082 00 TLMH-I:STS 58-012-14:14:54.500 ERROR CPU=CPU1 APPNAME=DS EVENT ID=46 Invalid DEST STATE command length: expected = 12, actual = 13 +21-236-13:32:54.495 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:32:54.501 00 SCX_CPU1_DS_FI/2092 +21-236-13:32:54.501 00 SCX_CPU1_DS_FI/2093 ut_tlmwait SCX_CPU1_DS_CMDEC, {errcnt} +21-236-13:32:54.515 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:32:54.518 00 SCX_CPU1_DS_FI/2094 if (UT_TW_Status = UT_Success) then +21-236-13:32:54.518 00 SCX_CPU1_DS_FI/2095 write "<*> Passed (1002;1005) - DS Disable Destination File Command Rejected Counter incremented." +21-236-13:32:54.519 00 SPR-I:OPRO <*> Passed (1002;1005) - DS Disable Destination File Command Rejected Counter incremented. +21-236-13:32:54.519 00 SCX_CPU1_DS_FI/2096 ut_setrequirements DS_1002, "P" +21-236-13:32:54.532 00 SCX_CPU1_DS_FI/2097 ut_setrequirements DS_1005, "P" +21-236-13:32:54.534 00 SCX_CPU1_DS_FI/2102 endif +21-236-13:32:54.534 00 SCX_CPU1_DS_FI/2103 +21-236-13:32:54.534 00 SCX_CPU1_DS_FI/2104 if (SCX_CPU1_find_event[1].num_found_messages = 1) THEN +21-236-13:32:54.534 00 SCX_CPU1_DS_FI/2105 write "<*> Passed (1005) - Event message ",SCX_CPU1_find_event[1].eventid, " received" +21-236-13:32:54.534 00 SPR-I:OPRO <*> Passed (1005) - Event message 46 received +21-236-13:32:54.534 00 SCX_CPU1_DS_FI/2106 ut_setrequirements DS_1005, "P" +21-236-13:32:54.574 00 SCX_CPU1_DS_FI/2110 endif +21-236-13:32:54.574 00 SCX_CPU1_DS_FI/2111 +21-236-13:32:54.574 00 SCX_CPU1_DS_FI/2112 wait 5 +21-236-13:32:54.574 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:32:59.578 00 SCX_CPU1_DS_FI/2113 +21-236-13:32:59.578 00 SCX_CPU1_DS_FI/2114 write ";***********************************************************************" +21-236-13:32:59.578 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:32:59.578 00 SCX_CPU1_DS_FI/2115 write "; Step 3.21: Send the Disable Destination File command with invalid " +21-236-13:32:59.578 00 SPR-I:OPRO ; Step 3.21: Send the Disable Destination File command with invalid +21-236-13:32:59.578 00 SCX_CPU1_DS_FI/2116 write "; arguments." +21-236-13:32:59.578 00 SPR-I:OPRO ; arguments. +21-236-13:32:59.578 00 SCX_CPU1_DS_FI/2117 write ";***********************************************************************" +21-236-13:32:59.578 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:32:59.578 00 SCX_CPU1_DS_FI/2118 write "; Step 3.21.1: Send the command with an invalid file index. " +21-236-13:32:59.578 00 SPR-I:OPRO ; Step 3.21.1: Send the command with an invalid file index. +21-236-13:32:59.578 00 SCX_CPU1_DS_FI/2119 write ";***********************************************************************" +21-236-13:32:59.578 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:32:59.578 00 SCX_CPU1_DS_FI/2121 ut_setupevents "SCX", "CPU1", {DSAppName}, DS_STATE_CMD_ERR_EID, "ERROR", 1 +21-236-13:32:59.580 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:32:59.580 00 SPR-I:OPRO ; Setup event 1 with DS ERROR 46 +21-236-13:32:59.580 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:32:59.581 00 SCX_CPU1_DS_FI/2122 +21-236-13:32:59.581 00 SCX_CPU1_DS_FI/2123 errcnt = SCX_CPU1_DS_CMDEC + 1 +21-236-13:32:59.581 00 SCX_CPU1_DS_FI/2124 +21-236-13:32:59.581 00 SCX_CPU1_DS_FI/2126 /SCX_CPU1_DS_DisableFile FileIndex=DS_DEST_FILE_CNT +21-236-13:32:59.592 00 SCX_CPU1_DS_FI/2127 wait 5 +21-236-13:32:59.592 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:33:00.081 00 TLMH-I:STS 58-012-14:15:02.500 ERROR CPU=CPU1 APPNAME=DS EVENT ID=46 Invalid DEST STATE command arg: file table index = 16 +21-236-13:33:04.596 00 SCX_CPU1_DS_FI/2128 +21-236-13:33:04.596 00 SCX_CPU1_DS_FI/2129 ut_tlmwait SCX_CPU1_DS_CMDEC, {errcnt} +21-236-13:33:04.607 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:33:04.609 00 SCX_CPU1_DS_FI/2130 if (UT_TW_Status = UT_Success) then +21-236-13:33:04.610 00 SCX_CPU1_DS_FI/2131 write "<*> Passed (1005) - DS Disable Destination File command failed as expected with an invalid file index." +21-236-13:33:04.610 00 SPR-I:OPRO <*> Passed (1005) - DS Disable Destination File command failed as expected with an invalid file index. +21-236-13:33:04.610 00 SCX_CPU1_DS_FI/2132 ut_setrequirements DS_1005, "P" +21-236-13:33:04.614 00 SCX_CPU1_DS_FI/2136 endif +21-236-13:33:04.614 00 SCX_CPU1_DS_FI/2137 +21-236-13:33:04.614 00 SCX_CPU1_DS_FI/2139 ut_tlmwait SCX_CPU1_find_event[1].num_found_messages, 1 +21-236-13:33:04.627 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:33:04.629 00 SCX_CPU1_DS_FI/2140 if (UT_TW_Status = UT_Success) then +21-236-13:33:04.629 00 SCX_CPU1_DS_FI/2141 write "<*> Passed (1005) - Event message ",SCX_CPU1_find_event[1].eventid, " received" +21-236-13:33:04.629 00 SPR-I:OPRO <*> Passed (1005) - Event message 46 received +21-236-13:33:04.629 00 SCX_CPU1_DS_FI/2142 ut_setrequirements DS_1005, "P" +21-236-13:33:04.632 00 SCX_CPU1_DS_FI/2146 endif +21-236-13:33:04.632 00 SCX_CPU1_DS_FI/2147 +21-236-13:33:04.632 00 SCX_CPU1_DS_FI/2148 wait 5 +21-236-13:33:04.632 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:33:09.669 00 SCX_CPU1_DS_FI/2149 +21-236-13:33:09.669 00 SCX_CPU1_DS_FI/2150 write ";***********************************************************************" +21-236-13:33:09.669 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:33:09.669 00 SCX_CPU1_DS_FI/2151 write "; Step 3.21.2: Send the command with an invalid state. " +21-236-13:33:09.669 00 SPR-I:OPRO ; Step 3.21.2: Send the command with an invalid state. +21-236-13:33:09.669 00 SCX_CPU1_DS_FI/2152 write ";***********************************************************************" +21-236-13:33:09.669 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:33:09.669 00 SCX_CPU1_DS_FI/2154 ut_setupevents "SCX", "CPU1", {DSAppName}, DS_STATE_CMD_ERR_EID, "ERROR", 1 +21-236-13:33:09.677 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:33:09.678 00 SPR-I:OPRO ; Setup event 1 with DS ERROR 46 +21-236-13:33:09.678 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:33:09.680 00 SCX_CPU1_DS_FI/2155 +21-236-13:33:09.680 00 SCX_CPU1_DS_FI/2156 errcnt = SCX_CPU1_DS_CMDEC + 1 +21-236-13:33:09.680 00 SCX_CPU1_DS_FI/2157 +21-236-13:33:09.680 00 SCX_CPU1_DS_FI/2159 rawcmd = "18BBc0000005079C00000003" +21-236-13:33:09.680 00 SCX_CPU1_DS_FI/2160 +21-236-13:33:09.680 00 SCX_CPU1_DS_FI/2161 ut_sendrawcmd "SCX_CPU1_DS", (rawcmd) +21-236-13:33:09.683 00 SPR-I:OPRO Sending: 18BBc0000005079C00000003 +21-236-13:33:09.699 00 SPR-I:OPRO ; Telemetry update will wait a maximum of 24 seconds +21-236-13:33:09.699 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:33:10.579 00 TLMH-I:STS 58-012-14:15:13.001 ERROR CPU=CPU1 APPNAME=DS EVENT ID=46 Invalid DEST STATE command arg: file state = 3 +21-236-13:33:13.703 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:33:13.709 00 SCX_CPU1_DS_FI/2162 +21-236-13:33:13.709 00 SCX_CPU1_DS_FI/2163 ut_tlmwait SCX_CPU1_DS_CMDEC, {errcnt} +21-236-13:33:13.714 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:33:13.715 00 SCX_CPU1_DS_FI/2164 if (UT_TW_Status = UT_Success) then +21-236-13:33:13.715 00 SCX_CPU1_DS_FI/2165 write "<*> Passed (1005) - DS Disable Destination File Command Rejected Counter incremented." +21-236-13:33:13.715 00 SPR-I:OPRO <*> Passed (1005) - DS Disable Destination File Command Rejected Counter incremented. +21-236-13:33:13.715 00 SCX_CPU1_DS_FI/2166 ut_setrequirements DS_1005, "P" +21-236-13:33:13.716 00 SCX_CPU1_DS_FI/2170 endif +21-236-13:33:13.716 00 SCX_CPU1_DS_FI/2171 +21-236-13:33:13.716 00 SCX_CPU1_DS_FI/2172 if (SCX_CPU1_find_event[1].num_found_messages = 1) THEN +21-236-13:33:13.716 00 SCX_CPU1_DS_FI/2173 write "<*> Passed (1005) - Event message ",SCX_CPU1_find_event[1].eventid, " received" +21-236-13:33:13.716 00 SPR-I:OPRO <*> Passed (1005) - Event message 46 received +21-236-13:33:13.716 00 SCX_CPU1_DS_FI/2174 ut_setrequirements DS_1005, "P" +21-236-13:33:13.717 00 SCX_CPU1_DS_FI/2178 endif +21-236-13:33:13.717 00 SCX_CPU1_DS_FI/2179 +21-236-13:33:13.745 00 SCX_CPU1_DS_FI/2180 wait 5 +21-236-13:33:13.745 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:33:18.749 00 SCX_CPU1_DS_FI/2181 +21-236-13:33:18.749 00 SCX_CPU1_DS_FI/2182 write ";***********************************************************************" +21-236-13:33:18.749 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:33:18.749 00 SCX_CPU1_DS_FI/2183 write "; Step 3.21.3: Send the command for a destination that is disabled. " +21-236-13:33:18.749 00 SPR-I:OPRO ; Step 3.21.3: Send the command for a destination that is disabled. +21-236-13:33:18.749 00 SCX_CPU1_DS_FI/2184 write "; This command should be accepted. " +21-236-13:33:18.749 00 SPR-I:OPRO ; This command should be accepted. +21-236-13:33:18.749 00 SCX_CPU1_DS_FI/2185 write ";***********************************************************************" +21-236-13:33:18.749 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:33:18.749 00 SCX_CPU1_DS_FI/2187 ut_setupevents "SCX", "CPU1", {DSAppName}, DS_STATE_CMD_EID, "DEBUG", 1 +21-236-13:33:18.754 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:33:18.755 00 SPR-I:OPRO ; Setup event 1 with DS DEBUG 45 +21-236-13:33:18.755 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:33:18.756 00 SCX_CPU1_DS_FI/2188 +21-236-13:33:18.756 00 SCX_CPU1_DS_FI/2189 cmdCtr = SCX_CPU1_DS_CMDPC + 1 +21-236-13:33:18.757 00 SCX_CPU1_DS_FI/2191 /SCX_CPU1_DS_DisableFile FileIndex=seqFileEntry +21-236-13:33:18.762 00 SCX_CPU1_DS_FI/2192 wait 5 +21-236-13:33:18.762 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:33:19.577 00 TLMH-I:STS 58-012-14:15:22.002 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=45 DEST STATE command: file table index = 0, file state = 0 +21-236-13:33:23.766 00 SCX_CPU1_DS_FI/2193 +21-236-13:33:23.766 00 SCX_CPU1_DS_FI/2194 ut_tlmwait SCX_CPU1_DS_CMDPC, {cmdCtr} +21-236-13:33:23.779 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:33:23.781 00 SCX_CPU1_DS_FI/2195 if (UT_TW_Status = UT_Success) then +21-236-13:33:23.781 00 SCX_CPU1_DS_FI/2196 write "<*> Passed (1004;5006) - DS Disable Destination File command sent properly." +21-236-13:33:23.782 00 SPR-I:OPRO <*> Passed (1004;5006) - DS Disable Destination File command sent properly. +21-236-13:33:23.782 00 SCX_CPU1_DS_FI/2197 ut_setrequirements DS_1004, "P" +21-236-13:33:23.786 00 SCX_CPU1_DS_FI/2198 ut_setrequirements DS_5006, "P" +21-236-13:33:23.790 00 SCX_CPU1_DS_FI/2203 endif +21-236-13:33:23.790 00 SCX_CPU1_DS_FI/2204 +21-236-13:33:23.790 00 SCX_CPU1_DS_FI/2206 ut_tlmwait SCX_CPU1_find_event[1].num_found_messages, 1 +21-236-13:33:23.801 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:33:23.802 00 SCX_CPU1_DS_FI/2207 if (UT_TW_Status = UT_Success) then +21-236-13:33:23.802 00 SCX_CPU1_DS_FI/2208 write "<*> Passed (1004;5006) - Expected Event Msg ",DS_STATE_CMD_EID," rcv'd." +21-236-13:33:23.803 00 SPR-I:OPRO <*> Passed (1004;5006) - Expected Event Msg 45 rcv'd. +21-236-13:33:23.803 00 SCX_CPU1_DS_FI/2209 ut_setrequirements DS_1004, "P" +21-236-13:33:23.844 00 SCX_CPU1_DS_FI/2210 ut_setrequirements DS_5006, "P" +21-236-13:33:23.845 00 SCX_CPU1_DS_FI/2215 endif +21-236-13:33:23.845 00 SCX_CPU1_DS_FI/2216 +21-236-13:33:23.845 00 SCX_CPU1_DS_FI/2217 wait 5 +21-236-13:33:23.845 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:33:28.849 00 SCX_CPU1_DS_FI/2218 +21-236-13:33:28.849 00 SCX_CPU1_DS_FI/2219 write ";***********************************************************************" +21-236-13:33:28.849 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:33:28.850 00 SCX_CPU1_DS_FI/2220 write "; Step 3.22: Send the Enable Destination File command. " +21-236-13:33:28.850 00 SPR-I:OPRO ; Step 3.22: Send the Enable Destination File command. +21-236-13:33:28.850 00 SCX_CPU1_DS_FI/2221 write ";***********************************************************************" +21-236-13:33:28.850 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:33:28.850 00 SCX_CPU1_DS_FI/2223 ut_setupevents "SCX", "CPU1", {DSAppName}, DS_STATE_CMD_EID, "DEBUG", 1 +21-236-13:33:28.858 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:33:28.859 00 SPR-I:OPRO ; Setup event 1 with DS DEBUG 45 +21-236-13:33:28.859 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:33:28.861 00 SCX_CPU1_DS_FI/2224 +21-236-13:33:28.861 00 SCX_CPU1_DS_FI/2225 cmdCtr = SCX_CPU1_DS_CMDPC + 1 +21-236-13:33:28.861 00 SCX_CPU1_DS_FI/2227 /SCX_CPU1_DS_EnableFile FileIndex=seqFileEntry +21-236-13:33:28.877 00 SCX_CPU1_DS_FI/2228 wait 5 +21-236-13:33:28.878 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:33:29.586 00 TLMH-I:STS 58-012-14:15:32.004 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=45 DEST STATE command: file table index = 0, file state = 1 +21-236-13:33:33.884 00 SCX_CPU1_DS_FI/2229 +21-236-13:33:33.884 00 SCX_CPU1_DS_FI/2230 ut_tlmwait SCX_CPU1_DS_CMDPC, {cmdCtr} +21-236-13:33:33.891 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:33:33.892 00 SCX_CPU1_DS_FI/2231 if (UT_TW_Status = UT_Success) then +21-236-13:33:33.892 00 SCX_CPU1_DS_FI/2232 write "<*> Passed (1004;5005) - DS Enable Destination File command sent properly." +21-236-13:33:33.892 00 SPR-I:OPRO <*> Passed (1004;5005) - DS Enable Destination File command sent properly. +21-236-13:33:33.892 00 SCX_CPU1_DS_FI/2233 ut_setrequirements DS_1004, "P" +21-236-13:33:33.893 00 SCX_CPU1_DS_FI/2234 ut_setrequirements DS_5005, "P" +21-236-13:33:33.894 00 SCX_CPU1_DS_FI/2239 endif +21-236-13:33:33.894 00 SCX_CPU1_DS_FI/2240 +21-236-13:33:33.894 00 SCX_CPU1_DS_FI/2242 ut_tlmwait SCX_CPU1_find_event[1].num_found_messages, 1 +21-236-13:33:33.898 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:33:33.898 00 SCX_CPU1_DS_FI/2243 if (UT_TW_Status = UT_Success) then +21-236-13:33:33.898 00 SCX_CPU1_DS_FI/2244 write "<*> Passed (1004;5005) - Expected Event Msg ",DS_STATE_CMD_EID," rcv'd." +21-236-13:33:33.899 00 SPR-I:OPRO <*> Passed (1004;5005) - Expected Event Msg 45 rcv'd. +21-236-13:33:33.899 00 SCX_CPU1_DS_FI/2245 ut_setrequirements DS_1004, "P" +21-236-13:33:33.932 00 SCX_CPU1_DS_FI/2246 ut_setrequirements DS_5005, "P" +21-236-13:33:33.933 00 SCX_CPU1_DS_FI/2251 endif +21-236-13:33:33.933 00 SCX_CPU1_DS_FI/2252 +21-236-13:33:33.933 00 SCX_CPU1_DS_FI/2254 cmdCtr = SCX_CPU1_DS_CMDPC + 1 +21-236-13:33:33.933 00 SCX_CPU1_DS_FI/2255 +21-236-13:33:33.933 00 SCX_CPU1_DS_FI/2256 /SCX_CPU1_DS_GetFileInfo +21-236-13:33:33.934 00 SCX_CPU1_DS_FI/2257 +21-236-13:33:33.934 00 SCX_CPU1_DS_FI/2258 ut_tlmwait SCX_CPU1_DS_CMDPC, {cmdCtr} +21-236-13:33:33.937 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:33:34.586 00 TLMH-I:STS 58-012-14:15:37.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:33:37.941 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:33:37.942 00 SCX_CPU1_DS_FI/2259 +21-236-13:33:37.942 00 SCX_CPU1_DS_FI/2261 if (SCX_CPU1_DS_FileState[seqFileEntry].EnableState = DS_ENABLED) then +21-236-13:33:37.942 00 SCX_CPU1_DS_FI/2262 write "<*> Passed (5005) - The sequence file entry has been enabled." +21-236-13:33:37.942 00 SPR-I:OPRO <*> Passed (5005) - The sequence file entry has been enabled. +21-236-13:33:37.942 00 SCX_CPU1_DS_FI/2263 ut_setrequirements DS_5005, "P" +21-236-13:33:37.943 00 SCX_CPU1_DS_FI/2267 endif +21-236-13:33:37.943 00 SCX_CPU1_DS_FI/2268 +21-236-13:33:37.943 00 SCX_CPU1_DS_FI/2269 wait 5 +21-236-13:33:37.943 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:33:42.947 00 SCX_CPU1_DS_FI/2270 +21-236-13:33:42.947 00 SCX_CPU1_DS_FI/2271 write ";***********************************************************************" +21-236-13:33:42.947 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:33:42.947 00 SCX_CPU1_DS_FI/2272 write "; Step 3.23: Dump the Destination File Table to verify the change above" +21-236-13:33:42.947 00 SPR-I:OPRO ; Step 3.23: Dump the Destination File Table to verify the change above +21-236-13:33:42.947 00 SCX_CPU1_DS_FI/2273 write ";***********************************************************************" +21-236-13:33:42.947 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:33:42.947 00 SCX_CPU1_DS_FI/2275 s get_tbl_to_cvt (ramDir,fileTblName,"A","cpu1_filetbl323",hostCPU,fileTblPktId) +21-236-13:33:42.947 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/get_tbl_to_cvt.i +21-236-13:33:42.948 00 SPR-I:STS Procedure GET_TBL_TO_CVT started +21-236-13:33:42.948 00 GET_TBL_TO_CVT/2 ; +21-236-13:33:42.948 00 GET_TBL_TO_CVT/3 local logging = %liv (log_procedure) +21-236-13:33:42.948 00 GET_TBL_TO_CVT/4 %liv (log_procedure) = FALSE +21-236-13:33:42.954 00 SPR-I:OPRO Sending Command: /SCX_CPU1_TBL_DUMP ACTIVE DTABLENAME="DS.FILE_TBL" DFILENAME="/ram/cpu1_filetbl323" +21-236-13:33:42.956 00 SPR-I:STTE Wait mode - waiting 15 seconds ... +21-236-13:33:43.581 00 TLMH-I:STS 58-012-14:15:46.002 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=14 Successfully dumped Table 'DS.FILE_TBL' to '/ram/cpu1_filetbl323' +21-236-13:33:57.968 00 SPR-I:OPRO +21-236-13:33:57.968 00 SPR-I:OPRO The TBLNAME is: DS.FILE_TBL +21-236-13:33:57.968 00 SPR-I:OPRO The APID is: P0F76 +21-236-13:33:57.968 00 SPR-I:OPRO The CPU is: CPU3 +21-236-13:33:57.968 00 SPR-I:OPRO The IP Address is: 192.168.1.8 +21-236-13:33:57.971 00 SPR-I:OPRO The perl command is: perl /s/opr/accounts/global/tools/ftp.pl RAM:0 cpu1_filetbl323 cpu1_filetbl323 binary 192.168.1.8 +21-236-13:33:58.112 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-13:33:58.112 00 SPR-I:STTE Wait mode - waiting 15 seconds ... +21-236-13:34:13.122 00 SPR-I:OPRO +21-236-13:34:13.134 00 SPR-I:OPRO The unix command is cvt -ws file_list[3958].file_write_time "`date +%y-%j-%T -r /s/opr/accounts/cfs_test/image/cpu1_filetbl323`" +21-236-13:34:13.134 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:34:18.138 00 GET_TBL_TO_CVT/238 +21-236-13:34:18.138 00 GET_TBL_TO_CVT/239 ENDPROC +21-236-13:34:18.138 00 SPR-I:STS Procedure GET_TBL_TO_CVT completed +21-236-13:34:18.140 00 SCX_CPU1_DS_FI/2276 +21-236-13:34:18.140 00 SCX_CPU1_DS_FI/2278 if (SCX_CPU1_DS_DF_TBL[seqFileEntry].FileState = DS_ENABLED) then +21-236-13:34:18.140 00 SCX_CPU1_DS_FI/2279 write "<*> Passed (5005) - Table entry indicates that it is 'ENABLED'." +21-236-13:34:18.140 00 SPR-I:OPRO <*> Passed (5005) - Table entry indicates that it is 'ENABLED'. +21-236-13:34:18.140 00 SCX_CPU1_DS_FI/2280 ut_setrequirements DS_5005, "P" +21-236-13:34:18.144 00 SCX_CPU1_DS_FI/2284 endif +21-236-13:34:18.144 00 SCX_CPU1_DS_FI/2285 +21-236-13:34:18.144 00 SCX_CPU1_DS_FI/2286 write ";***********************************************************************" +21-236-13:34:18.144 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:34:18.144 00 SCX_CPU1_DS_FI/2287 write "; Step 3.24: Using the TST_DS application, send a message to the entry " +21-236-13:34:18.144 00 SPR-I:OPRO ; Step 3.24: Using the TST_DS application, send a message to the entry +21-236-13:34:18.144 00 SCX_CPU1_DS_FI/2288 write "; enabled above. The message should get stored. " +21-236-13:34:18.144 00 SPR-I:OPRO ; enabled above. The message should get stored. +21-236-13:34:18.144 00 SCX_CPU1_DS_FI/2289 write ";***********************************************************************" +21-236-13:34:18.144 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:34:18.144 00 SCX_CPU1_DS_FI/2291 local fileSize = SCX_CPU1_DS_FileState[seqFileEntry].FileSize +21-236-13:34:18.146 00 SCX_CPU1_DS_FI/2292 pktCtr = SCX_CPU1_DS_PassedPktCnt + 1 +21-236-13:34:18.146 00 SCX_CPU1_DS_FI/2293 local writeCnt = SCX_CPU1_DS_FileWriteCnt + 1 +21-236-13:34:18.146 00 SCX_CPU1_DS_FI/2294 +21-236-13:34:18.190 00 SCX_CPU1_DS_FI/2296 ut_setupevents "SCX", "CPU1", "TST_DS", TST_DS_MSG1_SENT_INF_EID, "INFO", 1 +21-236-13:34:18.192 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:34:18.192 00 SPR-I:OPRO ; Setup event 1 with TST_DS INFO 5 +21-236-13:34:18.192 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:34:18.193 00 SCX_CPU1_DS_FI/2297 +21-236-13:34:18.193 00 SCX_CPU1_DS_FI/2299 /SCX_CPU1_TST_DS_SENDMESSAGE MsgID=seqMsgID MsgType=1 Pattern=x'AA' +21-236-13:34:18.205 00 SCX_CPU1_DS_FI/2300 +21-236-13:34:18.205 00 SCX_CPU1_DS_FI/2302 ut_tlmwait SCX_CPU1_find_event[1].num_found_messages, 1 +21-236-13:34:18.209 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:34:19.083 00 TLMH-I:STS 58-012-14:16:21.500 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Message Size 116 to MID 0x00001000 +21-236-13:34:19.210 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:34:19.210 00 SCX_CPU1_DS_FI/2303 if (UT_TW_Status = UT_Success) then +21-236-13:34:19.211 00 SCX_CPU1_DS_FI/2304 write "<*> Passed - Expected Event Msg ",TST_DS_MSG1_SENT_INF_EID," rcv'd." +21-236-13:34:19.211 00 SPR-I:OPRO <*> Passed - Expected Event Msg 5 rcv'd. +21-236-13:34:19.211 00 SCX_CPU1_DS_FI/2307 endif +21-236-13:34:19.211 00 SCX_CPU1_DS_FI/2308 +21-236-13:34:19.211 00 SCX_CPU1_DS_FI/2310 cmdCtr = SCX_CPU1_DS_CMDPC + 1 +21-236-13:34:19.211 00 SCX_CPU1_DS_FI/2311 +21-236-13:34:19.211 00 SCX_CPU1_DS_FI/2312 /SCX_CPU1_DS_GetFileInfo +21-236-13:34:19.223 00 SCX_CPU1_DS_FI/2313 +21-236-13:34:19.223 00 SCX_CPU1_DS_FI/2314 ut_tlmwait SCX_CPU1_DS_CMDPC, {cmdCtr} +21-236-13:34:19.228 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:34:20.077 00 TLMH-I:STS 58-012-14:16:22.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:34:22.233 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:34:22.235 00 SCX_CPU1_DS_FI/2315 +21-236-13:34:22.235 00 SCX_CPU1_DS_FI/2318 if (SCX_CPU1_DS_FileState[seqFileEntry].FileSize > fileSize) AND ;; +21-236-13:34:22.235 00 SCX_CPU1_DS_FI/2319 (SCX_CPU1_DS_PassedPktCnt = pktCtr) AND ;; +21-236-13:34:22.235 00 SCX_CPU1_DS_FI/2320 (SCX_CPU1_DS_FileWriteCnt = writeCnt) then +21-236-13:34:22.236 00 SCX_CPU1_DS_FI/2321 write "<*> Passed (5005) - The message was rcv'd and stored properly." +21-236-13:34:22.236 00 SPR-I:OPRO <*> Passed (5005) - The message was rcv'd and stored properly. +21-236-13:34:22.236 00 SCX_CPU1_DS_FI/2322 ut_setrequirements DS_5005, "P" +21-236-13:34:22.240 00 SCX_CPU1_DS_FI/2326 endif +21-236-13:34:22.240 00 SCX_CPU1_DS_FI/2327 +21-236-13:34:22.240 00 SCX_CPU1_DS_FI/2328 wait 5 +21-236-13:34:22.240 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:34:27.244 00 SCX_CPU1_DS_FI/2329 +21-236-13:34:27.244 00 SCX_CPU1_DS_FI/2330 write ";***********************************************************************" +21-236-13:34:27.244 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:34:27.244 00 SCX_CPU1_DS_FI/2331 write "; Step 3.25: Send the Enable Destination File command with an invalid" +21-236-13:34:27.245 00 SPR-I:OPRO ; Step 3.25: Send the Enable Destination File command with an invalid +21-236-13:34:27.245 00 SCX_CPU1_DS_FI/2332 write "; length." +21-236-13:34:27.245 00 SPR-I:OPRO ; length. +21-236-13:34:27.245 00 SCX_CPU1_DS_FI/2333 write ";***********************************************************************" +21-236-13:34:27.245 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:34:27.245 00 SCX_CPU1_DS_FI/2335 ut_setupevents "SCX", "CPU1", {DSAppName}, DS_STATE_CMD_ERR_EID, "ERROR", 1 +21-236-13:34:27.251 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:34:27.252 00 SPR-I:OPRO ; Setup event 1 with DS ERROR 46 +21-236-13:34:27.252 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:34:27.253 00 SCX_CPU1_DS_FI/2336 +21-236-13:34:27.254 00 SCX_CPU1_DS_FI/2337 errcnt = SCX_CPU1_DS_CMDEC + 1 +21-236-13:34:27.254 00 SCX_CPU1_DS_FI/2338 +21-236-13:34:27.254 00 SCX_CPU1_DS_FI/2340 rawcmd = "18BBc0000006079C" +21-236-13:34:27.254 00 SCX_CPU1_DS_FI/2341 +21-236-13:34:27.254 00 SCX_CPU1_DS_FI/2342 ut_sendrawcmd "SCX_CPU1_DS", (rawcmd) +21-236-13:34:27.267 00 SPR-I:OPRO Sending: 18BBc0000006079C +21-236-13:34:27.290 00 SPR-I:OPRO ; Telemetry update will wait a maximum of 24 seconds +21-236-13:34:27.291 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:34:28.079 00 TLMH-I:STS 58-012-14:16:30.500 ERROR CPU=CPU1 APPNAME=DS EVENT ID=46 Invalid DEST STATE command length: expected = 12, actual = 13 +21-236-13:34:30.294 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:34:30.298 00 SCX_CPU1_DS_FI/2343 +21-236-13:34:30.298 00 SCX_CPU1_DS_FI/2344 ut_tlmwait SCX_CPU1_DS_CMDEC, {errcnt} +21-236-13:34:30.309 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:34:30.310 00 SCX_CPU1_DS_FI/2345 if (UT_TW_Status = UT_Success) then +21-236-13:34:30.310 00 SCX_CPU1_DS_FI/2346 write "<*> Passed (1002;1005) - DS Enable Destination File Command Rejected Counter incremented." +21-236-13:34:30.310 00 SPR-I:OPRO <*> Passed (1002;1005) - DS Enable Destination File Command Rejected Counter incremented. +21-236-13:34:30.310 00 SCX_CPU1_DS_FI/2347 ut_setrequirements DS_1002, "P" +21-236-13:34:30.312 00 SCX_CPU1_DS_FI/2348 ut_setrequirements DS_1005, "P" +21-236-13:34:30.313 00 SCX_CPU1_DS_FI/2353 endif +21-236-13:34:30.314 00 SCX_CPU1_DS_FI/2354 +21-236-13:34:30.314 00 SCX_CPU1_DS_FI/2355 if (SCX_CPU1_find_event[1].num_found_messages = 1) THEN +21-236-13:34:30.314 00 SCX_CPU1_DS_FI/2356 write "<*> Passed (1005) - Event message ",SCX_CPU1_find_event[1].eventid, " received" +21-236-13:34:30.314 00 SPR-I:OPRO <*> Passed (1005) - Event message 46 received +21-236-13:34:30.314 00 SCX_CPU1_DS_FI/2357 ut_setrequirements DS_1005, "P" +21-236-13:34:30.352 00 SCX_CPU1_DS_FI/2361 endif +21-236-13:34:30.352 00 SCX_CPU1_DS_FI/2362 +21-236-13:34:30.352 00 SCX_CPU1_DS_FI/2363 wait 5 +21-236-13:34:30.352 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:34:35.356 00 SCX_CPU1_DS_FI/2364 +21-236-13:34:35.356 00 SCX_CPU1_DS_FI/2365 write ";***********************************************************************" +21-236-13:34:35.356 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:34:35.356 00 SCX_CPU1_DS_FI/2366 write "; Step 3.26: Send the Enable Destination File command with invalid " +21-236-13:34:35.356 00 SPR-I:OPRO ; Step 3.26: Send the Enable Destination File command with invalid +21-236-13:34:35.356 00 SCX_CPU1_DS_FI/2367 write "; arguments." +21-236-13:34:35.356 00 SPR-I:OPRO ; arguments. +21-236-13:34:35.356 00 SCX_CPU1_DS_FI/2368 write ";***********************************************************************" +21-236-13:34:35.356 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:34:35.356 00 SCX_CPU1_DS_FI/2369 write "; Step 3.26.1: Send the command with an invalid file index. " +21-236-13:34:35.356 00 SPR-I:OPRO ; Step 3.26.1: Send the command with an invalid file index. +21-236-13:34:35.356 00 SCX_CPU1_DS_FI/2370 write ";***********************************************************************" +21-236-13:34:35.356 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:34:35.356 00 SCX_CPU1_DS_FI/2372 ut_setupevents "SCX", "CPU1", {DSAppName}, DS_STATE_CMD_ERR_EID, "ERROR", 1 +21-236-13:34:35.359 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:34:35.359 00 SPR-I:OPRO ; Setup event 1 with DS ERROR 46 +21-236-13:34:35.359 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:34:35.360 00 SCX_CPU1_DS_FI/2373 +21-236-13:34:35.360 00 SCX_CPU1_DS_FI/2374 errcnt = SCX_CPU1_DS_CMDEC + 1 +21-236-13:34:35.360 00 SCX_CPU1_DS_FI/2375 +21-236-13:34:35.360 00 SCX_CPU1_DS_FI/2377 /SCX_CPU1_DS_EnableFile FileIndex=DS_DEST_FILE_CNT +21-236-13:34:35.372 00 SCX_CPU1_DS_FI/2378 wait 5 +21-236-13:34:35.372 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:34:36.083 00 TLMH-I:STS 58-012-14:16:38.500 ERROR CPU=CPU1 APPNAME=DS EVENT ID=46 Invalid DEST STATE command arg: file table index = 16 +21-236-13:34:40.376 00 SCX_CPU1_DS_FI/2379 +21-236-13:34:40.376 00 SCX_CPU1_DS_FI/2380 ut_tlmwait SCX_CPU1_DS_CMDEC, {errcnt} +21-236-13:34:40.386 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:34:40.387 00 SCX_CPU1_DS_FI/2381 if (UT_TW_Status = UT_Success) then +21-236-13:34:40.388 00 SCX_CPU1_DS_FI/2382 write "<*> Passed (1005) - DS Enable Destination File command failed as expected with an invalid file index." +21-236-13:34:40.388 00 SPR-I:OPRO <*> Passed (1005) - DS Enable Destination File command failed as expected with an invalid file index. +21-236-13:34:40.388 00 SCX_CPU1_DS_FI/2383 ut_setrequirements DS_1005, "P" +21-236-13:34:40.391 00 SCX_CPU1_DS_FI/2387 endif +21-236-13:34:40.391 00 SCX_CPU1_DS_FI/2388 +21-236-13:34:40.391 00 SCX_CPU1_DS_FI/2390 ut_tlmwait SCX_CPU1_find_event[1].num_found_messages, 1 +21-236-13:34:40.401 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:34:40.402 00 SCX_CPU1_DS_FI/2391 if (UT_TW_Status = UT_Success) then +21-236-13:34:40.402 00 SCX_CPU1_DS_FI/2392 write "<*> Passed (1005) - Event message ",SCX_CPU1_find_event[1].eventid, " received" +21-236-13:34:40.403 00 SPR-I:OPRO <*> Passed (1005) - Event message 46 received +21-236-13:34:40.403 00 SCX_CPU1_DS_FI/2393 ut_setrequirements DS_1005, "P" +21-236-13:34:40.407 00 SCX_CPU1_DS_FI/2397 endif +21-236-13:34:40.407 00 SCX_CPU1_DS_FI/2398 +21-236-13:34:40.407 00 SCX_CPU1_DS_FI/2399 wait 5 +21-236-13:34:40.407 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:34:45.447 00 SCX_CPU1_DS_FI/2400 +21-236-13:34:45.448 00 SCX_CPU1_DS_FI/2401 write ";***********************************************************************" +21-236-13:34:45.448 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:34:45.448 00 SCX_CPU1_DS_FI/2402 write "; Step 3.26.2: Send the command with an invalid state. " +21-236-13:34:45.448 00 SPR-I:OPRO ; Step 3.26.2: Send the command with an invalid state. +21-236-13:34:45.448 00 SCX_CPU1_DS_FI/2403 write ";***********************************************************************" +21-236-13:34:45.448 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:34:45.448 00 SCX_CPU1_DS_FI/2405 ut_setupevents "SCX", "CPU1", {DSAppName}, DS_STATE_CMD_ERR_EID, "ERROR", 1 +21-236-13:34:45.451 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:34:45.451 00 SPR-I:OPRO ; Setup event 1 with DS ERROR 46 +21-236-13:34:45.451 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:34:45.452 00 SCX_CPU1_DS_FI/2406 +21-236-13:34:45.452 00 SCX_CPU1_DS_FI/2407 errcnt = SCX_CPU1_DS_CMDEC + 1 +21-236-13:34:45.452 00 SCX_CPU1_DS_FI/2408 +21-236-13:34:45.452 00 SCX_CPU1_DS_FI/2410 rawcmd = "18BBc0000005079C00000003" +21-236-13:34:45.452 00 SCX_CPU1_DS_FI/2411 +21-236-13:34:45.452 00 SCX_CPU1_DS_FI/2412 ut_sendrawcmd "SCX_CPU1_DS", (rawcmd) +21-236-13:34:45.458 00 SPR-I:OPRO Sending: 18BBc0000005079C00000003 +21-236-13:34:45.476 00 SPR-I:OPRO ; Telemetry update will wait a maximum of 24 seconds +21-236-13:34:45.476 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:34:46.083 00 TLMH-I:STS 58-012-14:16:48.500 ERROR CPU=CPU1 APPNAME=DS EVENT ID=46 Invalid DEST STATE command arg: file state = 3 +21-236-13:34:46.477 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:34:46.478 00 SPR-I:STTE Wait mode - waiting 1 seconds ... +21-236-13:34:47.479 00 SPR-I:STTE Wait mode - waiting 1 seconds ... +21-236-13:34:48.480 00 SPR-I:STTE Wait mode - waiting 1 seconds ... +21-236-13:34:49.482 00 SPR-I:STTE Wait mode - waiting 1 seconds ... +21-236-13:34:50.484 00 SCX_CPU1_DS_FI/2413 +21-236-13:34:50.484 00 SCX_CPU1_DS_FI/2414 ut_tlmwait SCX_CPU1_DS_CMDEC, {errcnt} +21-236-13:34:50.488 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:34:50.489 00 SCX_CPU1_DS_FI/2415 if (UT_TW_Status = UT_Success) then +21-236-13:34:50.489 00 SCX_CPU1_DS_FI/2416 write "<*> Passed (1005) - DS Disable Destination File Command Rejected Counter incremented." +21-236-13:34:50.489 00 SPR-I:OPRO <*> Passed (1005) - DS Disable Destination File Command Rejected Counter incremented. +21-236-13:34:50.489 00 SCX_CPU1_DS_FI/2417 ut_setrequirements DS_1005, "P" +21-236-13:34:50.490 00 SCX_CPU1_DS_FI/2421 endif +21-236-13:34:50.490 00 SCX_CPU1_DS_FI/2422 +21-236-13:34:50.490 00 SCX_CPU1_DS_FI/2423 if (SCX_CPU1_find_event[1].num_found_messages = 1) THEN +21-236-13:34:50.491 00 SCX_CPU1_DS_FI/2424 write "<*> Passed (1005) - Event message ",SCX_CPU1_find_event[1].eventid, " received" +21-236-13:34:50.491 00 SPR-I:OPRO <*> Passed (1005) - Event message 46 received +21-236-13:34:50.491 00 SCX_CPU1_DS_FI/2425 ut_setrequirements DS_1005, "P" +21-236-13:34:50.492 00 SCX_CPU1_DS_FI/2429 endif +21-236-13:34:50.492 00 SCX_CPU1_DS_FI/2430 +21-236-13:34:50.519 00 SCX_CPU1_DS_FI/2431 wait 5 +21-236-13:34:50.519 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:34:55.523 00 SCX_CPU1_DS_FI/2432 +21-236-13:34:55.523 00 SCX_CPU1_DS_FI/2433 write ";***********************************************************************" +21-236-13:34:55.523 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:34:55.523 00 SCX_CPU1_DS_FI/2434 write "; Step 3.26.3: Send the command for a destination that is enabled. " +21-236-13:34:55.523 00 SPR-I:OPRO ; Step 3.26.3: Send the command for a destination that is enabled. +21-236-13:34:55.523 00 SCX_CPU1_DS_FI/2435 write "; This command should be accepted. " +21-236-13:34:55.524 00 SPR-I:OPRO ; This command should be accepted. +21-236-13:34:55.524 00 SCX_CPU1_DS_FI/2436 write ";***********************************************************************" +21-236-13:34:55.524 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:34:55.524 00 SCX_CPU1_DS_FI/2438 ut_setupevents "SCX", "CPU1", {DSAppName}, DS_STATE_CMD_EID, "DEBUG", 1 +21-236-13:34:55.527 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:34:55.527 00 SPR-I:OPRO ; Setup event 1 with DS DEBUG 45 +21-236-13:34:55.527 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:34:55.528 00 SCX_CPU1_DS_FI/2439 +21-236-13:34:55.528 00 SCX_CPU1_DS_FI/2440 cmdCtr = SCX_CPU1_DS_CMDPC + 1 +21-236-13:34:55.528 00 SCX_CPU1_DS_FI/2442 /SCX_CPU1_DS_EnableFile FileIndex=seqFileEntry +21-236-13:34:55.542 00 SCX_CPU1_DS_FI/2443 wait 5 +21-236-13:34:55.542 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:34:56.086 00 TLMH-I:STS 58-012-14:16:58.501 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=45 DEST STATE command: file table index = 0, file state = 1 +21-236-13:35:00.546 00 SCX_CPU1_DS_FI/2444 +21-236-13:35:00.546 00 SCX_CPU1_DS_FI/2445 ut_tlmwait SCX_CPU1_DS_CMDPC, {cmdCtr} +21-236-13:35:00.557 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:35:00.559 00 SCX_CPU1_DS_FI/2446 if (UT_TW_Status = UT_Success) then +21-236-13:35:00.560 00 SCX_CPU1_DS_FI/2447 write "<*> Passed (1004;5005) - DS Enable Destination File command sent properly." +21-236-13:35:00.560 00 SPR-I:OPRO <*> Passed (1004;5005) - DS Enable Destination File command sent properly. +21-236-13:35:00.560 00 SCX_CPU1_DS_FI/2448 ut_setrequirements DS_1004, "P" +21-236-13:35:00.564 00 SCX_CPU1_DS_FI/2449 ut_setrequirements DS_5005, "P" +21-236-13:35:00.568 00 SCX_CPU1_DS_FI/2454 endif +21-236-13:35:00.568 00 SCX_CPU1_DS_FI/2455 +21-236-13:35:00.568 00 SCX_CPU1_DS_FI/2457 ut_tlmwait SCX_CPU1_find_event[1].num_found_messages, 1 +21-236-13:35:00.581 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:35:00.582 00 SCX_CPU1_DS_FI/2458 if (UT_TW_Status = UT_Success) then +21-236-13:35:00.582 00 SCX_CPU1_DS_FI/2459 write "<*> Passed (1004;5005) - Expected Event Msg ",DS_STATE_CMD_EID," rcv'd." +21-236-13:35:00.583 00 SPR-I:OPRO <*> Passed (1004;5005) - Expected Event Msg 45 rcv'd. +21-236-13:35:00.583 00 SCX_CPU1_DS_FI/2460 ut_setrequirements DS_1004, "P" +21-236-13:35:00.624 00 SCX_CPU1_DS_FI/2461 ut_setrequirements DS_5005, "P" +21-236-13:35:00.625 00 SCX_CPU1_DS_FI/2466 endif +21-236-13:35:00.625 00 SCX_CPU1_DS_FI/2467 +21-236-13:35:00.625 00 SCX_CPU1_DS_FI/2468 wait 5 +21-236-13:35:00.625 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:35:05.629 00 SCX_CPU1_DS_FI/2469 +21-236-13:35:05.629 00 SCX_CPU1_DS_FI/2470 write ";***********************************************************************" +21-236-13:35:05.629 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:35:05.629 00 SCX_CPU1_DS_FI/2471 write "; Step 3.27: Send the Set Destination File Type command. " +21-236-13:35:05.629 00 SPR-I:OPRO ; Step 3.27: Send the Set Destination File Type command. +21-236-13:35:05.629 00 SCX_CPU1_DS_FI/2472 write ";***********************************************************************" +21-236-13:35:05.629 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:35:05.629 00 SCX_CPU1_DS_FI/2474 ut_setupevents "SCX", "CPU1", {DSAppName}, DS_NTYPE_CMD_EID, "DEBUG", 1 +21-236-13:35:05.635 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:35:05.635 00 SPR-I:OPRO ; Setup event 1 with DS DEBUG 43 +21-236-13:35:05.635 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:35:05.635 00 SCX_CPU1_DS_FI/2475 +21-236-13:35:05.635 00 SCX_CPU1_DS_FI/2476 cmdCtr = SCX_CPU1_DS_CMDPC + 1 +21-236-13:35:05.635 00 SCX_CPU1_DS_FI/2478 /SCX_CPU1_DS_SetFileType FileIndex=seqFileEntry FileType=DS_BY_TIME +21-236-13:35:05.647 00 SCX_CPU1_DS_FI/2479 wait 5 +21-236-13:35:05.647 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:35:06.086 00 TLMH-I:STS 58-012-14:17:08.501 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=43 DEST TYPE command: file table index = 0, filename type = 2 +21-236-13:35:10.650 00 SCX_CPU1_DS_FI/2480 +21-236-13:35:10.650 00 SCX_CPU1_DS_FI/2481 ut_tlmwait SCX_CPU1_DS_CMDPC, {cmdCtr} +21-236-13:35:10.659 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:35:10.661 00 SCX_CPU1_DS_FI/2482 if (UT_TW_Status = UT_Success) then +21-236-13:35:10.661 00 SCX_CPU1_DS_FI/2483 write "<*> Passed (1004;5011) - DS Set Destination File Type command sent properly." +21-236-13:35:10.661 00 SPR-I:OPRO <*> Passed (1004;5011) - DS Set Destination File Type command sent properly. +21-236-13:35:10.661 00 SCX_CPU1_DS_FI/2484 ut_setrequirements DS_1004, "P" +21-236-13:35:10.664 00 SCX_CPU1_DS_FI/2485 ut_setrequirements DS_5011, "P" +21-236-13:35:10.667 00 SCX_CPU1_DS_FI/2490 endif +21-236-13:35:10.667 00 SCX_CPU1_DS_FI/2491 +21-236-13:35:10.667 00 SCX_CPU1_DS_FI/2493 ut_tlmwait SCX_CPU1_find_event[1].num_found_messages, 1 +21-236-13:35:10.674 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:35:10.675 00 SCX_CPU1_DS_FI/2494 if (UT_TW_Status = UT_Success) then +21-236-13:35:10.675 00 SCX_CPU1_DS_FI/2495 write "<*> Passed (1004;5011) - Expected Event Msg ",DS_NTYPE_CMD_EID," rcv'd." +21-236-13:35:10.675 00 SPR-I:OPRO <*> Passed (1004;5011) - Expected Event Msg 43 rcv'd. +21-236-13:35:10.675 00 SCX_CPU1_DS_FI/2496 ut_setrequirements DS_1004, "P" +21-236-13:35:10.711 00 SCX_CPU1_DS_FI/2497 ut_setrequirements DS_5011, "P" +21-236-13:35:10.712 00 SCX_CPU1_DS_FI/2502 endif +21-236-13:35:10.712 00 SCX_CPU1_DS_FI/2503 +21-236-13:35:10.712 00 SCX_CPU1_DS_FI/2504 wait 5 +21-236-13:35:10.712 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:35:15.716 00 SCX_CPU1_DS_FI/2505 +21-236-13:35:15.716 00 SCX_CPU1_DS_FI/2506 write ";***********************************************************************" +21-236-13:35:15.716 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:35:15.716 00 SCX_CPU1_DS_FI/2507 write "; Step 3.28: Dump the Destination File Table to verify the change above" +21-236-13:35:15.716 00 SPR-I:OPRO ; Step 3.28: Dump the Destination File Table to verify the change above +21-236-13:35:15.717 00 SCX_CPU1_DS_FI/2508 write ";***********************************************************************" +21-236-13:35:15.717 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:35:15.717 00 SCX_CPU1_DS_FI/2510 s get_tbl_to_cvt (ramDir,fileTblName,"A","cpu1_filetbl328",hostCPU,fileTblPktId) +21-236-13:35:15.717 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/get_tbl_to_cvt.i +21-236-13:35:15.719 00 SPR-I:STS Procedure GET_TBL_TO_CVT started +21-236-13:35:15.720 00 GET_TBL_TO_CVT/2 ; +21-236-13:35:15.720 00 GET_TBL_TO_CVT/3 local logging = %liv (log_procedure) +21-236-13:35:15.720 00 GET_TBL_TO_CVT/4 %liv (log_procedure) = FALSE +21-236-13:35:15.740 00 SPR-I:OPRO Sending Command: /SCX_CPU1_TBL_DUMP ACTIVE DTABLENAME="DS.FILE_TBL" DFILENAME="/ram/cpu1_filetbl328" +21-236-13:35:15.747 00 SPR-I:STTE Wait mode - waiting 15 seconds ... +21-236-13:35:16.581 00 TLMH-I:STS 58-012-14:17:19.002 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=14 Successfully dumped Table 'DS.FILE_TBL' to '/ram/cpu1_filetbl328' +21-236-13:35:30.759 00 SPR-I:OPRO +21-236-13:35:30.759 00 SPR-I:OPRO The TBLNAME is: DS.FILE_TBL +21-236-13:35:30.759 00 SPR-I:OPRO The APID is: P0F76 +21-236-13:35:30.759 00 SPR-I:OPRO The CPU is: CPU3 +21-236-13:35:30.759 00 SPR-I:OPRO The IP Address is: 192.168.1.8 +21-236-13:35:30.763 00 SPR-I:OPRO The perl command is: perl /s/opr/accounts/global/tools/ftp.pl RAM:0 cpu1_filetbl328 cpu1_filetbl328 binary 192.168.1.8 +21-236-13:35:30.941 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-13:35:30.941 00 SPR-I:STTE Wait mode - waiting 15 seconds ... +21-236-13:35:45.952 00 SPR-I:OPRO +21-236-13:35:45.967 00 SPR-I:OPRO The unix command is cvt -ws file_list[3958].file_write_time "`date +%y-%j-%T -r /s/opr/accounts/cfs_test/image/cpu1_filetbl328`" +21-236-13:35:45.967 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:35:50.971 00 GET_TBL_TO_CVT/238 +21-236-13:35:50.971 00 GET_TBL_TO_CVT/239 ENDPROC +21-236-13:35:50.971 00 SPR-I:STS Procedure GET_TBL_TO_CVT completed +21-236-13:35:50.973 00 SCX_CPU1_DS_FI/2511 +21-236-13:35:50.973 00 SCX_CPU1_DS_FI/2513 if (p@SCX_CPU1_DS_DF_TBL[seqFileEntry].FileNameType = "Time") then +21-236-13:35:50.973 00 SCX_CPU1_DS_FI/2514 write "<*> Passed (5011) - Table entry indicates 'Time' naming." +21-236-13:35:50.973 00 SPR-I:OPRO <*> Passed (5011) - Table entry indicates 'Time' naming. +21-236-13:35:50.973 00 SCX_CPU1_DS_FI/2515 ut_setrequirements DS_5011, "P" +21-236-13:35:50.976 00 SCX_CPU1_DS_FI/2519 endif +21-236-13:35:50.976 00 SCX_CPU1_DS_FI/2520 +21-236-13:35:50.976 00 SCX_CPU1_DS_FI/2521 write ";***********************************************************************" +21-236-13:35:50.976 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:35:50.976 00 SCX_CPU1_DS_FI/2522 write "; Step 3.29: Using the TST_DS application, send a message that will" +21-236-13:35:50.977 00 SPR-I:OPRO ; Step 3.29: Using the TST_DS application, send a message that will +21-236-13:35:50.977 00 SCX_CPU1_DS_FI/2523 write "; create a file using the new naming." +21-236-13:35:50.977 00 SPR-I:OPRO ; create a file using the new naming. +21-236-13:35:50.977 00 SCX_CPU1_DS_FI/2524 write ";***********************************************************************" +21-236-13:35:50.977 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:35:50.977 00 SCX_CPU1_DS_FI/2526 ut_setupevents "SCX", "CPU1", "TST_DS", TST_DS_MSG3_SENT_INF_EID, "INFO", 1 +21-236-13:35:50.978 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:35:50.978 00 SPR-I:OPRO ; Setup event 1 with TST_DS INFO 7 +21-236-13:35:50.978 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:35:50.992 00 SCX_CPU1_DS_FI/2527 +21-236-13:35:50.992 00 SCX_CPU1_DS_FI/2529 /SCX_CPU1_TST_DS_SENDMESSAGE MsgID=seqMsgID MsgType=3 Pattern=x'BB' +21-236-13:35:50.993 00 SCX_CPU1_DS_FI/2530 +21-236-13:35:50.993 00 SCX_CPU1_DS_FI/2532 ut_tlmwait SCX_CPU1_find_event[1].num_found_messages, 1 +21-236-13:35:50.996 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:35:51.576 00 TLMH-I:STS 58-012-14:17:54.004 ERROR CPU=CPU1 APPNAME=DS EVENT ID=61 FILE MOVE error: src = '/ram/00000099.dat', tgt = '/ram/movedir/00000099.dat', result = -1 +21-236-13:35:51.578 00 TLMH-I:STS 58-012-14:17:54.005 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=7 Sent Message Size 1016 to MID 0x00001000 +21-236-13:35:51.997 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:35:51.999 00 SCX_CPU1_DS_FI/2533 if (UT_TW_Status = UT_Success) then +21-236-13:35:51.999 00 SCX_CPU1_DS_FI/2534 write "<*> Passed - Expected Event Msg ",TST_DS_MSG3_SENT_INF_EID," rcv'd." +21-236-13:35:51.999 00 SPR-I:OPRO <*> Passed - Expected Event Msg 7 rcv'd. +21-236-13:35:51.999 00 SCX_CPU1_DS_FI/2537 endif +21-236-13:35:51.999 00 SCX_CPU1_DS_FI/2538 +21-236-13:35:51.999 00 SCX_CPU1_DS_FI/2540 cmdCtr = SCX_CPU1_DS_CMDPC + 1 +21-236-13:35:52.000 00 SCX_CPU1_DS_FI/2541 +21-236-13:35:52.000 00 SCX_CPU1_DS_FI/2542 /SCX_CPU1_DS_GetFileInfo +21-236-13:35:52.014 00 SCX_CPU1_DS_FI/2543 +21-236-13:35:52.015 00 SCX_CPU1_DS_FI/2544 ut_tlmwait SCX_CPU1_DS_CMDPC, {cmdCtr} +21-236-13:35:52.028 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:35:52.577 00 TLMH-I:STS 58-012-14:17:55.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:35:54.031 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:35:54.033 00 SCX_CPU1_DS_FI/2545 +21-236-13:35:54.033 00 SCX_CPU1_DS_FI/2548 if (SCX_CPU1_DS_FileState[seqFileEntry].FileName <> "") then +21-236-13:35:54.034 00 SCX_CPU1_DS_FI/2549 fileName2 = SCX_CPU1_DS_FileState[seqFileEntry].FileName +21-236-13:35:54.034 00 SCX_CPU1_DS_FI/2550 write "<*> Passed (3000) - A file was created with name '",fileName2,"'" +21-236-13:35:54.034 00 SPR-I:OPRO <*> Passed (3000) - A file was created with name '/ram/1980012141754.dat' +21-236-13:35:54.034 00 SCX_CPU1_DS_FI/2551 ut_setrequirements DS_3000, "P" +21-236-13:35:54.038 00 SCX_CPU1_DS_FI/2552 +21-236-13:35:54.038 00 SCX_CPU1_DS_FI/2553 if (SCX_CPU1_DS_FileState[seqFileEntry].OpenState = DS_OPEN) then +21-236-13:35:54.039 00 SCX_CPU1_DS_FI/2554 write "<*> Passed (3001) - The file is marked 'OPEN'" +21-236-13:35:54.039 00 SPR-I:OPRO <*> Passed (3001) - The file is marked 'OPEN' +21-236-13:35:54.039 00 SCX_CPU1_DS_FI/2555 ut_setrequirements DS_3001, "P" +21-236-13:35:54.042 00 SCX_CPU1_DS_FI/2556 endif +21-236-13:35:54.043 00 SCX_CPU1_DS_FI/2561 endif +21-236-13:35:54.043 00 SCX_CPU1_DS_FI/2562 +21-236-13:35:54.043 00 SCX_CPU1_DS_FI/2564 if (fileName1 <> "") then +21-236-13:35:54.043 00 SCX_CPU1_DS_FI/2565 write "==> Downloading '",fileName1,"'" +21-236-13:35:54.043 00 SPR-I:OPRO ==> Downloading '/ram/00000099.dat' +21-236-13:35:54.094 00 SCX_CPU1_DS_FI/2566 slashLoc = %locate(fileName1,"/") +21-236-13:35:54.094 00 SCX_CPU1_DS_FI/2567 while (slashLoc <> 0) do +21-236-13:35:54.094 00 SCX_CPU1_DS_FI/2568 fileName1 = %substring(fileName1,slashLoc+1,%length(fileName1)) +21-236-13:35:54.094 00 SCX_CPU1_DS_FI/2569 slashLoc = %locate(fileName1,"/") +21-236-13:35:54.094 00 SCX_CPU1_DS_FI/2570 enddo +21-236-13:35:54.094 00 SCX_CPU1_DS_FI/2568 fileName1 = %substring(fileName1,slashLoc+1,%length(fileName1)) +21-236-13:35:54.095 00 SCX_CPU1_DS_FI/2569 slashLoc = %locate(fileName1,"/") +21-236-13:35:54.095 00 SCX_CPU1_DS_FI/2570 enddo +21-236-13:35:54.095 00 SCX_CPU1_DS_FI/2571 write "==> FileName Only = '",fileName1,"'" +21-236-13:35:54.095 00 SPR-I:OPRO ==> FileName Only = '00000099.dat' +21-236-13:35:54.095 00 SCX_CPU1_DS_FI/2574 s ftp_file(ramDir, fileName1, fileName1, hostCPU, "G") +21-236-13:35:54.095 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/ftp_file.i +21-236-13:35:54.095 00 SPR-I:STS Procedure FTP_FILE started +21-236-13:35:54.095 00 FTP_FILE/2 ; +21-236-13:35:54.095 00 FTP_FILE/3 local logging = %liv (log_procedure) +21-236-13:35:54.096 00 FTP_FILE/4 %liv (log_procedure) = FALSE +21-236-13:35:54.193 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-13:35:54.193 00 FTP_FILE/85 ENDPROC +21-236-13:35:54.193 00 SPR-I:STS Procedure FTP_FILE completed +21-236-13:35:54.193 00 SCX_CPU1_DS_FI/2575 endif +21-236-13:35:54.193 00 SCX_CPU1_DS_FI/2576 +21-236-13:35:54.193 00 SCX_CPU1_DS_FI/2577 wait 5 +21-236-13:35:54.193 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:35:59.197 00 SCX_CPU1_DS_FI/2578 +21-236-13:35:59.197 00 SCX_CPU1_DS_FI/2579 write ";***********************************************************************" +21-236-13:35:59.197 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:35:59.198 00 SCX_CPU1_DS_FI/2580 write "; Step 3.30: Send the Set Destination File Type command with an invalid" +21-236-13:35:59.198 00 SPR-I:OPRO ; Step 3.30: Send the Set Destination File Type command with an invalid +21-236-13:35:59.198 00 SCX_CPU1_DS_FI/2581 write "; length." +21-236-13:35:59.198 00 SPR-I:OPRO ; length. +21-236-13:35:59.198 00 SCX_CPU1_DS_FI/2582 write ";***********************************************************************" +21-236-13:35:59.198 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:35:59.198 00 SCX_CPU1_DS_FI/2584 ut_setupevents "SCX", "CPU1", {DSAppName}, DS_NTYPE_CMD_ERR_EID, "ERROR", 1 +21-236-13:35:59.206 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:35:59.207 00 SPR-I:OPRO ; Setup event 1 with DS ERROR 44 +21-236-13:35:59.207 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:35:59.209 00 SCX_CPU1_DS_FI/2585 +21-236-13:35:59.209 00 SCX_CPU1_DS_FI/2586 errcnt = SCX_CPU1_DS_CMDEC + 1 +21-236-13:35:59.209 00 SCX_CPU1_DS_FI/2587 +21-236-13:35:59.209 00 SCX_CPU1_DS_FI/2589 rawcmd = "18BBc0000006069C" +21-236-13:35:59.210 00 SCX_CPU1_DS_FI/2590 +21-236-13:35:59.210 00 SCX_CPU1_DS_FI/2591 ut_sendrawcmd "SCX_CPU1_DS", (rawcmd) +21-236-13:35:59.223 00 SPR-I:OPRO Sending: 18BBc0000006069C +21-236-13:35:59.244 00 SPR-I:OPRO ; Telemetry update will wait a maximum of 24 seconds +21-236-13:35:59.244 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:36:00.076 00 TLMH-I:STS 58-012-14:18:02.500 ERROR CPU=CPU1 APPNAME=DS EVENT ID=44 Invalid DEST TYPE command length: expected = 12, actual = 13 +21-236-13:36:02.247 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:36:02.253 00 SCX_CPU1_DS_FI/2592 +21-236-13:36:02.253 00 SCX_CPU1_DS_FI/2593 ut_tlmwait SCX_CPU1_DS_CMDEC, {errcnt} +21-236-13:36:02.268 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:36:02.269 00 SCX_CPU1_DS_FI/2594 if (UT_TW_Status = UT_Success) then +21-236-13:36:02.270 00 SCX_CPU1_DS_FI/2595 write "<*> Passed (1002;1005) - DS Set Destination File Type Command Rejected Counter incremented." +21-236-13:36:02.270 00 SPR-I:OPRO <*> Passed (1002;1005) - DS Set Destination File Type Command Rejected Counter incremented. +21-236-13:36:02.270 00 SCX_CPU1_DS_FI/2596 ut_setrequirements DS_1002, "P" +21-236-13:36:02.272 00 SCX_CPU1_DS_FI/2597 ut_setrequirements DS_1005, "P" +21-236-13:36:02.273 00 SCX_CPU1_DS_FI/2602 endif +21-236-13:36:02.273 00 SCX_CPU1_DS_FI/2603 +21-236-13:36:02.274 00 SCX_CPU1_DS_FI/2604 if (SCX_CPU1_find_event[1].num_found_messages = 1) THEN +21-236-13:36:02.274 00 SCX_CPU1_DS_FI/2605 write "<*> Passed (1005) - Event message ",SCX_CPU1_find_event[1].eventid, " received" +21-236-13:36:02.274 00 SPR-I:OPRO <*> Passed (1005) - Event message 44 received +21-236-13:36:02.274 00 SCX_CPU1_DS_FI/2606 ut_setrequirements DS_1005, "P" +21-236-13:36:02.309 00 SCX_CPU1_DS_FI/2610 endif +21-236-13:36:02.309 00 SCX_CPU1_DS_FI/2611 +21-236-13:36:02.309 00 SCX_CPU1_DS_FI/2612 wait 5 +21-236-13:36:02.309 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:36:07.313 00 SCX_CPU1_DS_FI/2613 +21-236-13:36:07.313 00 SCX_CPU1_DS_FI/2614 write ";***********************************************************************" +21-236-13:36:07.313 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:36:07.313 00 SCX_CPU1_DS_FI/2615 write "; Step 3.31: Send the Set Destination File Type command with invalid " +21-236-13:36:07.313 00 SPR-I:OPRO ; Step 3.31: Send the Set Destination File Type command with invalid +21-236-13:36:07.313 00 SCX_CPU1_DS_FI/2616 write "; arguments." +21-236-13:36:07.314 00 SPR-I:OPRO ; arguments. +21-236-13:36:07.314 00 SCX_CPU1_DS_FI/2617 write ";***********************************************************************" +21-236-13:36:07.314 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:36:07.314 00 SCX_CPU1_DS_FI/2618 write "; Step 3.31.1: Send the command with an invalid file index. " +21-236-13:36:07.314 00 SPR-I:OPRO ; Step 3.31.1: Send the command with an invalid file index. +21-236-13:36:07.314 00 SCX_CPU1_DS_FI/2619 write ";***********************************************************************" +21-236-13:36:07.314 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:36:07.314 00 SCX_CPU1_DS_FI/2621 ut_setupevents "SCX", "CPU1", {DSAppName}, DS_NTYPE_CMD_ERR_EID, "ERROR", 1 +21-236-13:36:07.321 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:36:07.322 00 SPR-I:OPRO ; Setup event 1 with DS ERROR 44 +21-236-13:36:07.322 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:36:07.323 00 SCX_CPU1_DS_FI/2622 +21-236-13:36:07.323 00 SCX_CPU1_DS_FI/2623 errcnt = SCX_CPU1_DS_CMDEC + 1 +21-236-13:36:07.324 00 SCX_CPU1_DS_FI/2624 +21-236-13:36:07.324 00 SCX_CPU1_DS_FI/2626 /SCX_CPU1_DS_SetFileType FileIndex=DS_DEST_FILE_CNT FileType=DS_BY_TIME +21-236-13:36:07.330 00 SCX_CPU1_DS_FI/2627 wait 5 +21-236-13:36:07.330 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:36:08.076 00 TLMH-I:STS 58-012-14:18:10.500 ERROR CPU=CPU1 APPNAME=DS EVENT ID=44 Invalid DEST TYPE command arg: file table index = 16 +21-236-13:36:12.334 00 SCX_CPU1_DS_FI/2628 +21-236-13:36:12.334 00 SCX_CPU1_DS_FI/2629 ut_tlmwait SCX_CPU1_DS_CMDEC, {errcnt} +21-236-13:36:12.345 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:36:12.347 00 SCX_CPU1_DS_FI/2630 if (UT_TW_Status = UT_Success) then +21-236-13:36:12.347 00 SCX_CPU1_DS_FI/2631 write "<*> Passed (1005) - DS Set Destination File Type command failed as expected with an invalid file index." +21-236-13:36:12.348 00 SPR-I:OPRO <*> Passed (1005) - DS Set Destination File Type command failed as expected with an invalid file index. +21-236-13:36:12.348 00 SCX_CPU1_DS_FI/2632 ut_setrequirements DS_1005, "P" +21-236-13:36:12.353 00 SCX_CPU1_DS_FI/2636 endif +21-236-13:36:12.353 00 SCX_CPU1_DS_FI/2637 +21-236-13:36:12.354 00 SCX_CPU1_DS_FI/2639 ut_tlmwait SCX_CPU1_find_event[1].num_found_messages, 1 +21-236-13:36:12.365 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:36:12.368 00 SCX_CPU1_DS_FI/2640 if (UT_TW_Status = UT_Success) then +21-236-13:36:12.368 00 SCX_CPU1_DS_FI/2641 write "<*> Passed (1005) - Event message ",SCX_CPU1_find_event[1].eventid, " received" +21-236-13:36:12.369 00 SPR-I:OPRO <*> Passed (1005) - Event message 44 received +21-236-13:36:12.369 00 SCX_CPU1_DS_FI/2642 ut_setrequirements DS_1005, "P" +21-236-13:36:12.372 00 SCX_CPU1_DS_FI/2646 endif +21-236-13:36:12.372 00 SCX_CPU1_DS_FI/2647 +21-236-13:36:12.372 00 SCX_CPU1_DS_FI/2648 wait 5 +21-236-13:36:12.372 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:36:17.408 00 SCX_CPU1_DS_FI/2649 +21-236-13:36:17.408 00 SCX_CPU1_DS_FI/2650 write ";***********************************************************************" +21-236-13:36:17.408 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:36:17.408 00 SCX_CPU1_DS_FI/2651 write "; Step 3.31.2: Send the command with an invalid type. " +21-236-13:36:17.408 00 SPR-I:OPRO ; Step 3.31.2: Send the command with an invalid type. +21-236-13:36:17.408 00 SCX_CPU1_DS_FI/2652 write ";***********************************************************************" +21-236-13:36:17.408 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:36:17.408 00 SCX_CPU1_DS_FI/2654 ut_setupevents "SCX", "CPU1", {DSAppName}, DS_NTYPE_CMD_ERR_EID, "ERROR", 1 +21-236-13:36:17.412 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:36:17.413 00 SPR-I:OPRO ; Setup event 1 with DS ERROR 44 +21-236-13:36:17.413 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:36:17.414 00 SCX_CPU1_DS_FI/2655 +21-236-13:36:17.414 00 SCX_CPU1_DS_FI/2656 errcnt = SCX_CPU1_DS_CMDEC + 1 +21-236-13:36:17.415 00 SCX_CPU1_DS_FI/2657 +21-236-13:36:17.415 00 SCX_CPU1_DS_FI/2659 /SCX_CPU1_DS_SetFileType FileIndex=seqFileEntry FileType=3 +21-236-13:36:17.428 00 SCX_CPU1_DS_FI/2660 wait 5 +21-236-13:36:17.428 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:36:18.084 00 TLMH-I:STS 58-012-14:18:20.500 ERROR CPU=CPU1 APPNAME=DS EVENT ID=44 Invalid DEST TYPE command arg: filename type = 3 +21-236-13:36:22.432 00 SCX_CPU1_DS_FI/2661 +21-236-13:36:22.432 00 SCX_CPU1_DS_FI/2662 ut_tlmwait SCX_CPU1_DS_CMDEC, {errcnt} +21-236-13:36:22.438 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:36:22.439 00 SCX_CPU1_DS_FI/2663 if (UT_TW_Status = UT_Success) then +21-236-13:36:22.439 00 SCX_CPU1_DS_FI/2664 write "<*> Passed (1005) - DS Set Destination File Type command failed as expected with an invalid file index." +21-236-13:36:22.439 00 SPR-I:OPRO <*> Passed (1005) - DS Set Destination File Type command failed as expected with an invalid file index. +21-236-13:36:22.439 00 SCX_CPU1_DS_FI/2665 ut_setrequirements DS_1005, "P" +21-236-13:36:22.442 00 SCX_CPU1_DS_FI/2669 endif +21-236-13:36:22.442 00 SCX_CPU1_DS_FI/2670 +21-236-13:36:22.442 00 SCX_CPU1_DS_FI/2672 ut_tlmwait SCX_CPU1_find_event[1].num_found_messages, 1 +21-236-13:36:22.448 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:36:22.449 00 SCX_CPU1_DS_FI/2673 if (UT_TW_Status = UT_Success) then +21-236-13:36:22.450 00 SCX_CPU1_DS_FI/2674 write "<*> Passed (1005) - Event message ",SCX_CPU1_find_event[1].eventid, " received" +21-236-13:36:22.450 00 SPR-I:OPRO <*> Passed (1005) - Event message 44 received +21-236-13:36:22.450 00 SCX_CPU1_DS_FI/2675 ut_setrequirements DS_1005, "P" +21-236-13:36:22.452 00 SCX_CPU1_DS_FI/2679 endif +21-236-13:36:22.452 00 SCX_CPU1_DS_FI/2680 +21-236-13:36:22.452 00 SCX_CPU1_DS_FI/2681 wait 5 +21-236-13:36:22.452 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:36:27.481 00 SCX_CPU1_DS_FI/2682 +21-236-13:36:27.481 00 SCX_CPU1_DS_FI/2683 write ";***********************************************************************" +21-236-13:36:27.481 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:36:27.481 00 SCX_CPU1_DS_FI/2684 write "; Step 3.32: Send the Set Path command. " +21-236-13:36:27.481 00 SPR-I:OPRO ; Step 3.32: Send the Set Path command. +21-236-13:36:27.482 00 SCX_CPU1_DS_FI/2685 write ";***********************************************************************" +21-236-13:36:27.482 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:36:27.482 00 SCX_CPU1_DS_FI/2687 ut_setupevents "SCX", "CPU1", {DSAppName}, DS_PATH_CMD_EID, "DEBUG", 1 +21-236-13:36:27.488 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:36:27.488 00 SPR-I:OPRO ; Setup event 1 with DS DEBUG 47 +21-236-13:36:27.489 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:36:27.491 00 SCX_CPU1_DS_FI/2688 +21-236-13:36:27.491 00 SCX_CPU1_DS_FI/2689 cmdCtr = SCX_CPU1_DS_CMDPC + 1 +21-236-13:36:27.491 00 SCX_CPU1_DS_FI/2691 /SCX_CPU1_DS_SetPath FileIndex=seqFileEntry PathName="/cf/" +21-236-13:36:27.496 00 SCX_CPU1_DS_FI/2692 wait 5 +21-236-13:36:27.496 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:36:28.080 00 TLMH-I:STS 58-012-14:18:30.501 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=47 DEST PATH command: file table index = 0, pathname = '/cf/' +21-236-13:36:32.500 00 SCX_CPU1_DS_FI/2693 +21-236-13:36:32.500 00 SCX_CPU1_DS_FI/2694 ut_tlmwait SCX_CPU1_DS_CMDPC, {cmdCtr} +21-236-13:36:32.508 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:36:32.510 00 SCX_CPU1_DS_FI/2695 if (UT_TW_Status = UT_Success) then +21-236-13:36:32.510 00 SCX_CPU1_DS_FI/2696 write "<*> Passed (1004;5012) - DS Set Path command sent properly." +21-236-13:36:32.510 00 SPR-I:OPRO <*> Passed (1004;5012) - DS Set Path command sent properly. +21-236-13:36:32.510 00 SCX_CPU1_DS_FI/2697 ut_setrequirements DS_1004, "P" +21-236-13:36:32.512 00 SCX_CPU1_DS_FI/2698 ut_setrequirements DS_5012, "P" +21-236-13:36:32.513 00 SCX_CPU1_DS_FI/2703 endif +21-236-13:36:32.513 00 SCX_CPU1_DS_FI/2704 +21-236-13:36:32.513 00 SCX_CPU1_DS_FI/2706 ut_tlmwait SCX_CPU1_find_event[1].num_found_messages, 1 +21-236-13:36:32.518 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:36:32.519 00 SCX_CPU1_DS_FI/2707 if (UT_TW_Status = UT_Success) then +21-236-13:36:32.519 00 SCX_CPU1_DS_FI/2708 write "<*> Passed (1004;5012) - Expected Event Msg ",DS_PATH_CMD_EID," rcv'd." +21-236-13:36:32.519 00 SPR-I:OPRO <*> Passed (1004;5012) - Expected Event Msg 47 rcv'd. +21-236-13:36:32.519 00 SCX_CPU1_DS_FI/2709 ut_setrequirements DS_1004, "P" +21-236-13:36:32.554 00 SCX_CPU1_DS_FI/2710 ut_setrequirements DS_5012, "P" +21-236-13:36:32.555 00 SCX_CPU1_DS_FI/2715 endif +21-236-13:36:32.555 00 SCX_CPU1_DS_FI/2716 +21-236-13:36:32.555 00 SCX_CPU1_DS_FI/2717 wait 5 +21-236-13:36:32.555 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:36:37.559 00 SCX_CPU1_DS_FI/2718 +21-236-13:36:37.559 00 SCX_CPU1_DS_FI/2719 write ";***********************************************************************" +21-236-13:36:37.559 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:36:37.559 00 SCX_CPU1_DS_FI/2720 write "; Step 3.33: Dump the Destination File Table to verify the change above" +21-236-13:36:37.559 00 SPR-I:OPRO ; Step 3.33: Dump the Destination File Table to verify the change above +21-236-13:36:37.560 00 SCX_CPU1_DS_FI/2721 write ";***********************************************************************" +21-236-13:36:37.560 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:36:37.560 00 SCX_CPU1_DS_FI/2723 s get_tbl_to_cvt (ramDir,fileTblName,"A","cpu1_filetbl333",hostCPU,fileTblPktId) +21-236-13:36:37.560 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/get_tbl_to_cvt.i +21-236-13:36:37.560 00 SPR-I:STS Procedure GET_TBL_TO_CVT started +21-236-13:36:37.561 00 GET_TBL_TO_CVT/2 ; +21-236-13:36:37.561 00 GET_TBL_TO_CVT/3 local logging = %liv (log_procedure) +21-236-13:36:37.561 00 GET_TBL_TO_CVT/4 %liv (log_procedure) = FALSE +21-236-13:36:37.566 00 SPR-I:OPRO Sending Command: /SCX_CPU1_TBL_DUMP ACTIVE DTABLENAME="DS.FILE_TBL" DFILENAME="/ram/cpu1_filetbl333" +21-236-13:36:37.578 00 SPR-I:STTE Wait mode - waiting 15 seconds ... +21-236-13:36:38.084 00 TLMH-I:STS 58-012-14:18:40.502 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=14 Successfully dumped Table 'DS.FILE_TBL' to '/ram/cpu1_filetbl333' +21-236-13:36:52.589 00 SPR-I:OPRO +21-236-13:36:52.590 00 SPR-I:OPRO The TBLNAME is: DS.FILE_TBL +21-236-13:36:52.590 00 SPR-I:OPRO The APID is: P0F76 +21-236-13:36:52.590 00 SPR-I:OPRO The CPU is: CPU3 +21-236-13:36:52.590 00 SPR-I:OPRO The IP Address is: 192.168.1.8 +21-236-13:36:52.593 00 SPR-I:OPRO The perl command is: perl /s/opr/accounts/global/tools/ftp.pl RAM:0 cpu1_filetbl333 cpu1_filetbl333 binary 192.168.1.8 +21-236-13:36:52.770 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-13:36:52.770 00 SPR-I:STTE Wait mode - waiting 15 seconds ... +21-236-13:37:07.780 00 SPR-I:OPRO +21-236-13:37:07.822 00 SPR-I:OPRO The unix command is cvt -ws file_list[3958].file_write_time "`date +%y-%j-%T -r /s/opr/accounts/cfs_test/image/cpu1_filetbl333`" +21-236-13:37:07.822 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:37:12.827 00 GET_TBL_TO_CVT/238 +21-236-13:37:12.827 00 GET_TBL_TO_CVT/239 ENDPROC +21-236-13:37:12.827 00 SPR-I:STS Procedure GET_TBL_TO_CVT completed +21-236-13:37:12.829 00 SCX_CPU1_DS_FI/2724 +21-236-13:37:12.829 00 SCX_CPU1_DS_FI/2726 if (p@SCX_CPU1_DS_DF_TBL[seqFileEntry].Pathname = "/cf/") then +21-236-13:37:12.830 00 SCX_CPU1_DS_FI/2727 write "<*> Passed (5012) - Table entry indicates the correct path." +21-236-13:37:12.830 00 SPR-I:OPRO <*> Passed (5012) - Table entry indicates the correct path. +21-236-13:37:12.830 00 SCX_CPU1_DS_FI/2728 ut_setrequirements DS_5012, "P" +21-236-13:37:12.833 00 SCX_CPU1_DS_FI/2732 endif +21-236-13:37:12.834 00 SCX_CPU1_DS_FI/2733 +21-236-13:37:12.834 00 SCX_CPU1_DS_FI/2734 write ";***********************************************************************" +21-236-13:37:12.834 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:37:12.834 00 SCX_CPU1_DS_FI/2735 write "; Step 3.34: Using the TST_DS application, send a message that will" +21-236-13:37:12.834 00 SPR-I:OPRO ; Step 3.34: Using the TST_DS application, send a message that will +21-236-13:37:12.834 00 SCX_CPU1_DS_FI/2736 write "; create a file using the new naming." +21-236-13:37:12.834 00 SPR-I:OPRO ; create a file using the new naming. +21-236-13:37:12.834 00 SCX_CPU1_DS_FI/2737 write ";***********************************************************************" +21-236-13:37:12.834 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:37:12.834 00 SCX_CPU1_DS_FI/2739 ut_setupevents "SCX", "CPU1", "TST_DS", TST_DS_MSG3_SENT_INF_EID, "INFO", 1 +21-236-13:37:12.841 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:37:12.842 00 SPR-I:OPRO ; Setup event 1 with TST_DS INFO 7 +21-236-13:37:12.842 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:37:12.881 00 SCX_CPU1_DS_FI/2740 +21-236-13:37:12.881 00 SCX_CPU1_DS_FI/2742 /SCX_CPU1_TST_DS_SENDMESSAGE MsgID=seqMsgID MsgType=3 Pattern=x'A5' +21-236-13:37:12.893 00 SCX_CPU1_DS_FI/2743 +21-236-13:37:12.893 00 SCX_CPU1_DS_FI/2745 ut_tlmwait SCX_CPU1_find_event[1].num_found_messages, 1 +21-236-13:37:12.897 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:37:13.582 00 TLMH-I:STS 58-012-14:19:16.006 ERROR CPU=CPU1 APPNAME=DS EVENT ID=61 FILE MOVE error: src = '/ram/1980012141754.dat', tgt = '/ram/movedir/1980012141754.dat', result = -1 +21-236-13:37:13.583 00 TLMH-I:STS 58-012-14:19:16.008 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=7 Sent Message Size 1016 to MID 0x00001000 +21-236-13:37:13.898 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:37:13.900 00 SCX_CPU1_DS_FI/2746 if (UT_TW_Status = UT_Success) then +21-236-13:37:13.900 00 SCX_CPU1_DS_FI/2747 write "<*> Passed - Expected Event Msg ",TST_DS_MSG3_SENT_INF_EID," rcv'd." +21-236-13:37:13.901 00 SPR-I:OPRO <*> Passed - Expected Event Msg 7 rcv'd. +21-236-13:37:13.901 00 SCX_CPU1_DS_FI/2750 endif +21-236-13:37:13.901 00 SCX_CPU1_DS_FI/2751 +21-236-13:37:13.901 00 SCX_CPU1_DS_FI/2753 cmdCtr = SCX_CPU1_DS_CMDPC + 1 +21-236-13:37:13.901 00 SCX_CPU1_DS_FI/2754 +21-236-13:37:13.902 00 SCX_CPU1_DS_FI/2755 /SCX_CPU1_DS_GetFileInfo +21-236-13:37:13.917 00 SCX_CPU1_DS_FI/2756 +21-236-13:37:13.917 00 SCX_CPU1_DS_FI/2757 ut_tlmwait SCX_CPU1_DS_CMDPC, {cmdCtr} +21-236-13:37:13.934 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:37:14.579 00 TLMH-I:STS 58-012-14:19:17.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:37:17.938 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:37:17.940 00 SCX_CPU1_DS_FI/2758 +21-236-13:37:17.940 00 SCX_CPU1_DS_FI/2761 if (SCX_CPU1_DS_FileState[seqFileEntry].FileName <> "") then +21-236-13:37:17.941 00 SCX_CPU1_DS_FI/2762 fileName1 = SCX_CPU1_DS_FileState[seqFileEntry].FileName +21-236-13:37:17.941 00 SCX_CPU1_DS_FI/2763 write "<*> Passed (3000) - A file was created with name '",fileName1,"'" +21-236-13:37:17.941 00 SPR-I:OPRO <*> Passed (3000) - A file was created with name '/cf/1980012141916.dat' +21-236-13:37:17.941 00 SCX_CPU1_DS_FI/2764 ut_setrequirements DS_3000, "P" +21-236-13:37:17.945 00 SCX_CPU1_DS_FI/2765 +21-236-13:37:17.945 00 SCX_CPU1_DS_FI/2766 if (SCX_CPU1_DS_FileState[seqFileEntry].OpenState = DS_OPEN) then +21-236-13:37:17.946 00 SCX_CPU1_DS_FI/2767 write "<*> Passed (3001) - The file is marked 'OPEN'" +21-236-13:37:17.946 00 SPR-I:OPRO <*> Passed (3001) - The file is marked 'OPEN' +21-236-13:37:17.946 00 SCX_CPU1_DS_FI/2768 ut_setrequirements DS_3001, "P" +21-236-13:37:17.950 00 SCX_CPU1_DS_FI/2769 endif +21-236-13:37:17.950 00 SCX_CPU1_DS_FI/2774 endif +21-236-13:37:17.950 00 SCX_CPU1_DS_FI/2775 +21-236-13:37:17.950 00 SCX_CPU1_DS_FI/2777 if (fileName2 <> "") then +21-236-13:37:17.950 00 SCX_CPU1_DS_FI/2778 write "==> Downloading '",fileName2,"'" +21-236-13:37:17.951 00 SPR-I:OPRO ==> Downloading '/ram/1980012141754.dat' +21-236-13:37:18.003 00 SCX_CPU1_DS_FI/2779 slashLoc = %locate(fileName2,"/") +21-236-13:37:18.003 00 SCX_CPU1_DS_FI/2780 while (slashLoc <> 0) do +21-236-13:37:18.003 00 SCX_CPU1_DS_FI/2781 fileName2 = %substring(fileName2,slashLoc+1,%length(fileName2)) +21-236-13:37:18.003 00 SCX_CPU1_DS_FI/2782 slashLoc = %locate(fileName2,"/") +21-236-13:37:18.003 00 SCX_CPU1_DS_FI/2783 enddo +21-236-13:37:18.003 00 SCX_CPU1_DS_FI/2781 fileName2 = %substring(fileName2,slashLoc+1,%length(fileName2)) +21-236-13:37:18.003 00 SCX_CPU1_DS_FI/2782 slashLoc = %locate(fileName2,"/") +21-236-13:37:18.004 00 SCX_CPU1_DS_FI/2783 enddo +21-236-13:37:18.004 00 SCX_CPU1_DS_FI/2784 write "==> FileName Only = '",fileName2,"'" +21-236-13:37:18.004 00 SPR-I:OPRO ==> FileName Only = '1980012141754.dat' +21-236-13:37:18.004 00 SCX_CPU1_DS_FI/2787 s ftp_file(ramDir, fileName2, fileName2, hostCPU, "G") +21-236-13:37:18.004 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/ftp_file.i +21-236-13:37:18.004 00 SPR-I:STS Procedure FTP_FILE started +21-236-13:37:18.004 00 FTP_FILE/2 ; +21-236-13:37:18.004 00 FTP_FILE/3 local logging = %liv (log_procedure) +21-236-13:37:18.004 00 FTP_FILE/4 %liv (log_procedure) = FALSE +21-236-13:37:18.109 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-13:37:18.109 00 FTP_FILE/85 ENDPROC +21-236-13:37:18.109 00 SPR-I:STS Procedure FTP_FILE completed +21-236-13:37:18.112 00 SCX_CPU1_DS_FI/2788 endif +21-236-13:37:18.112 00 SCX_CPU1_DS_FI/2789 +21-236-13:37:18.112 00 SCX_CPU1_DS_FI/2790 wait 5 +21-236-13:37:18.112 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:37:23.116 00 SCX_CPU1_DS_FI/2791 +21-236-13:37:23.116 00 SCX_CPU1_DS_FI/2792 write ";***********************************************************************" +21-236-13:37:23.116 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:37:23.117 00 SCX_CPU1_DS_FI/2793 write "; Step 3.35: Send the Set Path command with an invalid length." +21-236-13:37:23.117 00 SPR-I:OPRO ; Step 3.35: Send the Set Path command with an invalid length. +21-236-13:37:23.117 00 SCX_CPU1_DS_FI/2794 write ";***********************************************************************" +21-236-13:37:23.117 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:37:23.117 00 SCX_CPU1_DS_FI/2796 ut_setupevents "SCX", "CPU1", {DSAppName}, DS_PATH_CMD_ERR_EID, "ERROR", 1 +21-236-13:37:23.122 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:37:23.122 00 SPR-I:OPRO ; Setup event 1 with DS ERROR 48 +21-236-13:37:23.122 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:37:23.123 00 SCX_CPU1_DS_FI/2797 +21-236-13:37:23.123 00 SCX_CPU1_DS_FI/2798 errcnt = SCX_CPU1_DS_CMDEC + 1 +21-236-13:37:23.123 00 SCX_CPU1_DS_FI/2799 +21-236-13:37:23.123 00 SCX_CPU1_DS_FI/2801 rawcmd = "18BBc0000046089C" +21-236-13:37:23.123 00 SCX_CPU1_DS_FI/2802 +21-236-13:37:23.123 00 SCX_CPU1_DS_FI/2803 ut_sendrawcmd "SCX_CPU1_DS", (rawcmd) +21-236-13:37:23.128 00 SPR-I:OPRO Sending: 18BBc0000046089C +21-236-13:37:23.144 00 SPR-I:OPRO ; Telemetry update will wait a maximum of 24 seconds +21-236-13:37:23.145 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:37:23.585 00 TLMH-I:STS 58-012-14:19:26.001 ERROR CPU=CPU1 APPNAME=DS EVENT ID=48 Invalid DEST PATH command length: expected = 76, actual = 77 +21-236-13:37:26.147 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:37:26.149 00 SCX_CPU1_DS_FI/2804 +21-236-13:37:26.149 00 SCX_CPU1_DS_FI/2805 ut_tlmwait SCX_CPU1_DS_CMDEC, {errcnt} +21-236-13:37:26.153 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:37:26.154 00 SCX_CPU1_DS_FI/2806 if (UT_TW_Status = UT_Success) then +21-236-13:37:26.154 00 SCX_CPU1_DS_FI/2807 write "<*> Passed (1002;1005) - DS Set Path Command Rejected Counter incremented." +21-236-13:37:26.154 00 SPR-I:OPRO <*> Passed (1002;1005) - DS Set Path Command Rejected Counter incremented. +21-236-13:37:26.154 00 SCX_CPU1_DS_FI/2808 ut_setrequirements DS_1002, "P" +21-236-13:37:26.155 00 SCX_CPU1_DS_FI/2809 ut_setrequirements DS_1005, "P" +21-236-13:37:26.156 00 SCX_CPU1_DS_FI/2814 endif +21-236-13:37:26.156 00 SCX_CPU1_DS_FI/2815 +21-236-13:37:26.156 00 SCX_CPU1_DS_FI/2816 if (SCX_CPU1_find_event[1].num_found_messages = 1) THEN +21-236-13:37:26.156 00 SCX_CPU1_DS_FI/2817 write "<*> Passed (1005) - Event message ",SCX_CPU1_find_event[1].eventid, " received" +21-236-13:37:26.156 00 SPR-I:OPRO <*> Passed (1005) - Event message 48 received +21-236-13:37:26.156 00 SCX_CPU1_DS_FI/2818 ut_setrequirements DS_1005, "P" +21-236-13:37:26.185 00 SCX_CPU1_DS_FI/2822 endif +21-236-13:37:26.185 00 SCX_CPU1_DS_FI/2823 +21-236-13:37:26.185 00 SCX_CPU1_DS_FI/2824 wait 5 +21-236-13:37:26.185 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:37:31.189 00 SCX_CPU1_DS_FI/2825 +21-236-13:37:31.189 00 SCX_CPU1_DS_FI/2826 write ";***********************************************************************" +21-236-13:37:31.189 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:37:31.189 00 SCX_CPU1_DS_FI/2827 write "; Step 3.36: Send the Set Path command with invalid arguments." +21-236-13:37:31.189 00 SPR-I:OPRO ; Step 3.36: Send the Set Path command with invalid arguments. +21-236-13:37:31.189 00 SCX_CPU1_DS_FI/2828 write ";***********************************************************************" +21-236-13:37:31.189 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:37:31.190 00 SCX_CPU1_DS_FI/2829 write "; Step 3.36.1: Send the command with an invalid file index. " +21-236-13:37:31.190 00 SPR-I:OPRO ; Step 3.36.1: Send the command with an invalid file index. +21-236-13:37:31.190 00 SCX_CPU1_DS_FI/2830 write ";***********************************************************************" +21-236-13:37:31.190 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:37:31.190 00 SCX_CPU1_DS_FI/2832 ut_setupevents "SCX", "CPU1", {DSAppName}, DS_PATH_CMD_ERR_EID, "ERROR", 1 +21-236-13:37:31.196 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:37:31.196 00 SPR-I:OPRO ; Setup event 1 with DS ERROR 48 +21-236-13:37:31.196 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:37:31.197 00 SCX_CPU1_DS_FI/2833 +21-236-13:37:31.197 00 SCX_CPU1_DS_FI/2834 errcnt = SCX_CPU1_DS_CMDEC + 1 +21-236-13:37:31.197 00 SCX_CPU1_DS_FI/2835 +21-236-13:37:31.197 00 SCX_CPU1_DS_FI/2837 /SCX_CPU1_DS_SetPath FileIndex=DS_DEST_FILE_CNT PathName="/ram/" +21-236-13:37:31.208 00 SCX_CPU1_DS_FI/2838 wait 5 +21-236-13:37:31.209 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:37:32.077 00 TLMH-I:STS 58-012-14:19:34.500 ERROR CPU=CPU1 APPNAME=DS EVENT ID=48 Invalid DEST PATH command arg: file table index = 16 +21-236-13:37:36.212 00 SCX_CPU1_DS_FI/2839 +21-236-13:37:36.213 00 SCX_CPU1_DS_FI/2840 ut_tlmwait SCX_CPU1_DS_CMDEC, {errcnt} +21-236-13:37:36.224 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:37:36.226 00 SCX_CPU1_DS_FI/2841 if (UT_TW_Status = UT_Success) then +21-236-13:37:36.226 00 SCX_CPU1_DS_FI/2842 write "<*> Passed (1005) - DS Set Path command failed as expected with an invalid file index." +21-236-13:37:36.226 00 SPR-I:OPRO <*> Passed (1005) - DS Set Path command failed as expected with an invalid file index. +21-236-13:37:36.226 00 SCX_CPU1_DS_FI/2843 ut_setrequirements DS_1005, "P" +21-236-13:37:36.230 00 SCX_CPU1_DS_FI/2847 endif +21-236-13:37:36.230 00 SCX_CPU1_DS_FI/2848 +21-236-13:37:36.230 00 SCX_CPU1_DS_FI/2850 ut_tlmwait SCX_CPU1_find_event[1].num_found_messages, 1 +21-236-13:37:36.233 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:37:36.234 00 SCX_CPU1_DS_FI/2851 if (UT_TW_Status = UT_Success) then +21-236-13:37:36.234 00 SCX_CPU1_DS_FI/2852 write "<*> Passed (1005) - Event message ",SCX_CPU1_find_event[1].eventid, " received" +21-236-13:37:36.234 00 SPR-I:OPRO <*> Passed (1005) - Event message 48 received +21-236-13:37:36.234 00 SCX_CPU1_DS_FI/2853 ut_setrequirements DS_1005, "P" +21-236-13:37:36.235 00 SCX_CPU1_DS_FI/2857 endif +21-236-13:37:36.235 00 SCX_CPU1_DS_FI/2858 +21-236-13:37:36.235 00 SCX_CPU1_DS_FI/2859 wait 5 +21-236-13:37:36.235 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:37:41.262 00 SCX_CPU1_DS_FI/2860 +21-236-13:37:41.262 00 SCX_CPU1_DS_FI/2861 write ";***********************************************************************" +21-236-13:37:41.262 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:37:41.262 00 SCX_CPU1_DS_FI/2862 write "; Step 3.36.2: Send the command with an empty path. " +21-236-13:37:41.262 00 SPR-I:OPRO ; Step 3.36.2: Send the command with an empty path. +21-236-13:37:41.262 00 SCX_CPU1_DS_FI/2863 write ";***********************************************************************" +21-236-13:37:41.262 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:37:41.262 00 SCX_CPU1_DS_FI/2865 ut_setupevents "SCX", "CPU1", {DSAppName}, DS_PATH_CMD_ERR_EID, "ERROR", 1 +21-236-13:37:41.268 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:37:41.269 00 SPR-I:OPRO ; Setup event 1 with DS ERROR 48 +21-236-13:37:41.269 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:37:41.271 00 SCX_CPU1_DS_FI/2866 +21-236-13:37:41.271 00 SCX_CPU1_DS_FI/2867 errcnt = SCX_CPU1_DS_CMDEC + 1 +21-236-13:37:41.272 00 SCX_CPU1_DS_FI/2868 +21-236-13:37:41.272 00 SCX_CPU1_DS_FI/2870 /SCX_CPU1_DS_SetPath FileIndex=seqFileEntry PathName="" +21-236-13:37:41.287 00 SCX_CPU1_DS_FI/2871 wait 5 +21-236-13:37:41.288 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:37:42.078 00 TLMH-I:STS 58-012-14:19:44.500 ERROR CPU=CPU1 APPNAME=DS EVENT ID=48 Invalid DEST PATH command arg: pathname +21-236-13:37:46.291 00 SCX_CPU1_DS_FI/2872 +21-236-13:37:46.291 00 SCX_CPU1_DS_FI/2873 ut_tlmwait SCX_CPU1_DS_CMDEC, {errcnt} +21-236-13:37:46.296 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:37:46.298 00 SCX_CPU1_DS_FI/2874 if (UT_TW_Status = UT_Success) then +21-236-13:37:46.298 00 SCX_CPU1_DS_FI/2875 write "<*> Passed (1005) - DS Set Path command failed as expected with an invalid file index." +21-236-13:37:46.298 00 SPR-I:OPRO <*> Passed (1005) - DS Set Path command failed as expected with an invalid file index. +21-236-13:37:46.298 00 SCX_CPU1_DS_FI/2876 ut_setrequirements DS_1005, "P" +21-236-13:37:46.299 00 SCX_CPU1_DS_FI/2880 endif +21-236-13:37:46.299 00 SCX_CPU1_DS_FI/2881 +21-236-13:37:46.299 00 SCX_CPU1_DS_FI/2883 ut_tlmwait SCX_CPU1_find_event[1].num_found_messages, 1 +21-236-13:37:46.302 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:37:46.302 00 SCX_CPU1_DS_FI/2884 if (UT_TW_Status = UT_Success) then +21-236-13:37:46.302 00 SCX_CPU1_DS_FI/2885 write "<*> Passed (1005) - Event message ",SCX_CPU1_find_event[1].eventid, " received" +21-236-13:37:46.302 00 SPR-I:OPRO <*> Passed (1005) - Event message 48 received +21-236-13:37:46.302 00 SCX_CPU1_DS_FI/2886 ut_setrequirements DS_1005, "P" +21-236-13:37:46.303 00 SCX_CPU1_DS_FI/2890 endif +21-236-13:37:46.303 00 SCX_CPU1_DS_FI/2891 +21-236-13:37:46.303 00 SCX_CPU1_DS_FI/2892 wait 5 +21-236-13:37:46.303 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:37:51.330 00 SCX_CPU1_DS_FI/2893 +21-236-13:37:51.330 00 SCX_CPU1_DS_FI/2894 write ";***********************************************************************" +21-236-13:37:51.330 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:37:51.330 00 SCX_CPU1_DS_FI/2895 write "; Step 3.36.3: Send the command with a non-existent path. This will " +21-236-13:37:51.330 00 SPR-I:OPRO ; Step 3.36.3: Send the command with a non-existent path. This will +21-236-13:37:51.330 00 SCX_CPU1_DS_FI/2896 write "; work until a message is rcv'd that attempts to create a file." +21-236-13:37:51.330 00 SPR-I:OPRO ; work until a message is rcv'd that attempts to create a file. +21-236-13:37:51.330 00 SCX_CPU1_DS_FI/2897 write ";***********************************************************************" +21-236-13:37:51.330 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:37:51.330 00 SCX_CPU1_DS_FI/2899 ut_setupevents "SCX", "CPU1", {DSAppName}, DS_PATH_CMD_EID, "DEBUG", 1 +21-236-13:37:51.332 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:37:51.332 00 SPR-I:OPRO ; Setup event 1 with DS DEBUG 47 +21-236-13:37:51.332 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:37:51.332 00 SCX_CPU1_DS_FI/2900 +21-236-13:37:51.332 00 SCX_CPU1_DS_FI/2901 cmdCtr = SCX_CPU1_DS_CMDPC + 1 +21-236-13:37:51.333 00 SCX_CPU1_DS_FI/2902 +21-236-13:37:51.333 00 SCX_CPU1_DS_FI/2904 /SCX_CPU1_DS_SetPath FileIndex=seqFileEntry PathName="/ram/waltsDir" +21-236-13:37:51.344 00 SCX_CPU1_DS_FI/2905 wait 5 +21-236-13:37:51.344 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:37:52.079 00 TLMH-I:STS 58-012-14:19:54.501 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=47 DEST PATH command: file table index = 0, pathname = '/ram/waltsDir' +21-236-13:37:56.348 00 SCX_CPU1_DS_FI/2906 +21-236-13:37:56.348 00 SCX_CPU1_DS_FI/2907 ut_tlmwait SCX_CPU1_DS_CMDPC, {cmdCtr} +21-236-13:37:56.353 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:37:56.355 00 SCX_CPU1_DS_FI/2908 if (UT_TW_Status = UT_Success) then +21-236-13:37:56.355 00 SCX_CPU1_DS_FI/2909 write "<*> Passed (1005) - DS Set Path command with a non-existent path sent properly." +21-236-13:37:56.355 00 SPR-I:OPRO <*> Passed (1005) - DS Set Path command with a non-existent path sent properly. +21-236-13:37:56.355 00 SCX_CPU1_DS_FI/2910 ut_setrequirements DS_1005, "P" +21-236-13:37:56.357 00 SCX_CPU1_DS_FI/2914 endif +21-236-13:37:56.357 00 SCX_CPU1_DS_FI/2915 +21-236-13:37:56.357 00 SCX_CPU1_DS_FI/2917 ut_tlmwait SCX_CPU1_find_event[1].num_found_messages, 1 +21-236-13:37:56.362 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:37:56.363 00 SCX_CPU1_DS_FI/2918 if (UT_TW_Status = UT_Success) then +21-236-13:37:56.363 00 SCX_CPU1_DS_FI/2919 write "<*> Passed (1005) - Event message ",SCX_CPU1_find_event[1].eventid, " received" +21-236-13:37:56.364 00 SPR-I:OPRO <*> Passed (1005) - Event message 47 received +21-236-13:37:56.364 00 SCX_CPU1_DS_FI/2920 ut_setrequirements DS_1005, "P" +21-236-13:37:56.365 00 SCX_CPU1_DS_FI/2924 endif +21-236-13:37:56.365 00 SCX_CPU1_DS_FI/2925 +21-236-13:37:56.366 00 SCX_CPU1_DS_FI/2926 wait 5 +21-236-13:37:56.366 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:38:01.405 00 SCX_CPU1_DS_FI/2927 +21-236-13:38:01.405 00 SCX_CPU1_DS_FI/2928 write ";***********************************************************************" +21-236-13:38:01.405 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:38:01.405 00 SCX_CPU1_DS_FI/2929 write "; Step 3.36.4: Using the TST_DS application, send a message that will" +21-236-13:38:01.405 00 SPR-I:OPRO ; Step 3.36.4: Using the TST_DS application, send a message that will +21-236-13:38:01.405 00 SCX_CPU1_DS_FI/2930 write "; cause a file creation error since the path does not exist. " +21-236-13:38:01.405 00 SPR-I:OPRO ; cause a file creation error since the path does not exist. +21-236-13:38:01.405 00 SCX_CPU1_DS_FI/2931 write ";***********************************************************************" +21-236-13:38:01.405 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:38:01.406 00 SCX_CPU1_DS_FI/2933 ut_setupevents "SCX", "CPU1", "TST_DS", TST_DS_MSG1_SENT_INF_EID, "INFO", 1 +21-236-13:38:01.411 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:38:01.413 00 SPR-I:OPRO ; Setup event 1 with TST_DS INFO 5 +21-236-13:38:01.413 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:38:01.415 00 SCX_CPU1_DS_FI/2934 ut_setupevents "SCX", "CPU1", {DSAppName}, DS_CREATE_FILE_ERR_EID, "ERROR", 2 +21-236-13:38:01.423 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:38:01.424 00 SPR-I:OPRO ; Setup event 2 with DS ERROR 15 +21-236-13:38:01.424 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:38:01.426 00 SCX_CPU1_DS_FI/2935 +21-236-13:38:01.426 00 SCX_CPU1_DS_FI/2937 /SCX_CPU1_TST_DS_SENDMESSAGE MsgID=seqMsgID MsgType=1 Pattern=x'BB' +21-236-13:38:01.441 00 SCX_CPU1_DS_FI/2938 +21-236-13:38:01.442 00 SCX_CPU1_DS_FI/2940 ut_tlmwait SCX_CPU1_find_event[1].num_found_messages, 1 +21-236-13:38:01.447 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:38:02.080 00 TLMH-I:STS 58-012-14:20:04.501 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Message Size 116 to MID 0x00001000 +21-236-13:38:02.081 00 TLMH-I:STS 58-012-14:20:04.553 ERROR CPU=CPU1 APPNAME=DS EVENT ID=61 FILE MOVE error: src = '/cf/1980012141916.dat', tgt = '/ram/movedir/1980012141916.dat', result = -1 +21-236-13:38:02.083 00 TLMH-I:STS 58-012-14:20:04.554 ERROR CPU=CPU1 APPNAME=DS EVENT ID=15 FILE CREATE error: result = -1, dest = 0, name = '/ram/waltsDir/1980012142004.dat' +21-236-13:38:02.448 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:38:02.451 00 SCX_CPU1_DS_FI/2941 if (UT_TW_Status = UT_Success) then +21-236-13:38:02.451 00 SCX_CPU1_DS_FI/2942 write "<*> Passed - Expected Event Msg ",TST_DS_MSG1_SENT_INF_EID," rcv'd." +21-236-13:38:02.451 00 SPR-I:OPRO <*> Passed - Expected Event Msg 5 rcv'd. +21-236-13:38:02.451 00 SCX_CPU1_DS_FI/2945 endif +21-236-13:38:02.452 00 SCX_CPU1_DS_FI/2946 +21-236-13:38:02.452 00 SCX_CPU1_DS_FI/2948 cmdCtr = SCX_CPU1_DS_CMDPC + 1 +21-236-13:38:02.452 00 SCX_CPU1_DS_FI/2949 +21-236-13:38:02.452 00 SCX_CPU1_DS_FI/2950 /SCX_CPU1_DS_GetFileInfo +21-236-13:38:02.467 00 SCX_CPU1_DS_FI/2951 +21-236-13:38:02.467 00 SCX_CPU1_DS_FI/2952 ut_tlmwait SCX_CPU1_DS_CMDPC, {cmdCtr} +21-236-13:38:02.473 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:38:03.080 00 TLMH-I:STS 58-012-14:20:05.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:38:06.477 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:38:06.479 00 SCX_CPU1_DS_FI/2953 +21-236-13:38:06.479 00 SCX_CPU1_DS_FI/2955 if (SCX_CPU1_find_event[2].num_found_messages = 1) then +21-236-13:38:06.480 00 SCX_CPU1_DS_FI/2956 write "<*> Passed - Expected Event Msg ",DS_CREATE_FILE_ERR_EID," rcv'd." +21-236-13:38:06.480 00 SPR-I:OPRO <*> Passed - Expected Event Msg 15 rcv'd. +21-236-13:38:06.480 00 SCX_CPU1_DS_FI/2959 endif +21-236-13:38:06.480 00 SCX_CPU1_DS_FI/2960 +21-236-13:38:06.480 00 SCX_CPU1_DS_FI/2962 if (fileName1 <> "") then +21-236-13:38:06.480 00 SCX_CPU1_DS_FI/2963 write "==> Downloading '",fileName1,"'" +21-236-13:38:06.480 00 SPR-I:OPRO ==> Downloading '/cf/1980012141916.dat' +21-236-13:38:06.480 00 SCX_CPU1_DS_FI/2964 slashLoc = %locate(fileName1,"/") +21-236-13:38:06.481 00 SCX_CPU1_DS_FI/2965 while (slashLoc <> 0) do +21-236-13:38:06.481 00 SCX_CPU1_DS_FI/2966 fileName1 = %substring(fileName1,slashLoc+1,%length(fileName1)) +21-236-13:38:06.481 00 SCX_CPU1_DS_FI/2967 slashLoc = %locate(fileName1,"/") +21-236-13:38:06.481 00 SCX_CPU1_DS_FI/2968 enddo +21-236-13:38:06.482 00 SCX_CPU1_DS_FI/2966 fileName1 = %substring(fileName1,slashLoc+1,%length(fileName1)) +21-236-13:38:06.483 00 SCX_CPU1_DS_FI/2967 slashLoc = %locate(fileName1,"/") +21-236-13:38:06.483 00 SCX_CPU1_DS_FI/2968 enddo +21-236-13:38:06.483 00 SCX_CPU1_DS_FI/2969 write "==> FileName Only = '",fileName1,"'" +21-236-13:38:06.483 00 SPR-I:OPRO ==> FileName Only = '1980012141916.dat' +21-236-13:38:06.483 00 SCX_CPU1_DS_FI/2972 s ftp_file("CF:0", fileName1, fileName1, hostCPU, "G") +21-236-13:38:06.484 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/ftp_file.i +21-236-13:38:06.484 00 SPR-I:STS Procedure FTP_FILE started +21-236-13:38:06.502 00 FTP_FILE/2 ; +21-236-13:38:06.503 00 FTP_FILE/3 local logging = %liv (log_procedure) +21-236-13:38:06.503 00 FTP_FILE/4 %liv (log_procedure) = FALSE +21-236-13:38:06.635 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-13:38:06.635 00 FTP_FILE/85 ENDPROC +21-236-13:38:06.635 00 SPR-I:STS Procedure FTP_FILE completed +21-236-13:38:06.635 00 SCX_CPU1_DS_FI/2973 endif +21-236-13:38:06.635 00 SCX_CPU1_DS_FI/2974 +21-236-13:38:06.635 00 SCX_CPU1_DS_FI/2975 wait 5 +21-236-13:38:06.635 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:38:11.639 00 SCX_CPU1_DS_FI/2976 +21-236-13:38:11.639 00 SCX_CPU1_DS_FI/2977 write ";***********************************************************************" +21-236-13:38:11.639 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:38:11.639 00 SCX_CPU1_DS_FI/2978 write "; Step 3.37: Send the Set Extension command. " +21-236-13:38:11.639 00 SPR-I:OPRO ; Step 3.37: Send the Set Extension command. +21-236-13:38:11.639 00 SCX_CPU1_DS_FI/2979 write ";***********************************************************************" +21-236-13:38:11.639 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:38:11.639 00 SCX_CPU1_DS_FI/2981 ut_setupevents "SCX", "CPU1", {DSAppName}, DS_EXT_CMD_EID, "DEBUG", 1 +21-236-13:38:11.641 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:38:11.641 00 SPR-I:OPRO ; Setup event 1 with DS DEBUG 51 +21-236-13:38:11.641 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:38:11.642 00 SCX_CPU1_DS_FI/2982 +21-236-13:38:11.642 00 SCX_CPU1_DS_FI/2983 cmdCtr = SCX_CPU1_DS_CMDPC + 1 +21-236-13:38:11.642 00 SCX_CPU1_DS_FI/2987 /SCX_CPU1_DS_SetExtension FileIndex=timeFileEntry Extension=".dat" +21-236-13:38:11.655 00 SCX_CPU1_DS_FI/2988 wait 5 +21-236-13:38:11.655 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:38:12.077 00 TLMH-I:STS 58-012-14:20:14.501 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=51 DEST EXT command: file table index = 1, extension = '.dat' +21-236-13:38:16.659 00 SCX_CPU1_DS_FI/2989 +21-236-13:38:16.659 00 SCX_CPU1_DS_FI/2990 ut_tlmwait SCX_CPU1_DS_CMDPC, {cmdCtr} +21-236-13:38:16.670 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:38:16.674 00 SCX_CPU1_DS_FI/2991 if (UT_TW_Status = UT_Success) then +21-236-13:38:16.675 00 SCX_CPU1_DS_FI/2992 write "<*> Passed (1004;5013) - DS Set Extension command sent properly." +21-236-13:38:16.675 00 SPR-I:OPRO <*> Passed (1004;5013) - DS Set Extension command sent properly. +21-236-13:38:16.675 00 SCX_CPU1_DS_FI/2993 ut_setrequirements DS_1004, "P" +21-236-13:38:16.679 00 SCX_CPU1_DS_FI/2994 ut_setrequirements DS_5013, "P" +21-236-13:38:16.684 00 SCX_CPU1_DS_FI/2999 endif +21-236-13:38:16.684 00 SCX_CPU1_DS_FI/3000 +21-236-13:38:16.684 00 SCX_CPU1_DS_FI/3002 ut_tlmwait SCX_CPU1_find_event[1].num_found_messages, 1 +21-236-13:38:16.701 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:38:16.702 00 SCX_CPU1_DS_FI/3003 if (UT_TW_Status = UT_Success) then +21-236-13:38:16.702 00 SCX_CPU1_DS_FI/3004 write "<*> Passed (1004;5013) - Expected Event Msg ",DS_EXT_CMD_EID," rcv'd." +21-236-13:38:16.702 00 SPR-I:OPRO <*> Passed (1004;5013) - Expected Event Msg 51 rcv'd. +21-236-13:38:16.702 00 SCX_CPU1_DS_FI/3005 ut_setrequirements DS_1004, "P" +21-236-13:38:16.737 00 SCX_CPU1_DS_FI/3006 ut_setrequirements DS_5013, "P" +21-236-13:38:16.738 00 SCX_CPU1_DS_FI/3011 endif +21-236-13:38:16.738 00 SCX_CPU1_DS_FI/3012 +21-236-13:38:16.738 00 SCX_CPU1_DS_FI/3013 wait 5 +21-236-13:38:16.738 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:38:21.742 00 SCX_CPU1_DS_FI/3014 +21-236-13:38:21.742 00 SCX_CPU1_DS_FI/3015 write ";***********************************************************************" +21-236-13:38:21.742 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:38:21.743 00 SCX_CPU1_DS_FI/3016 write "; Step 3.38: Dump the Destination File Table to verify the change above" +21-236-13:38:21.743 00 SPR-I:OPRO ; Step 3.38: Dump the Destination File Table to verify the change above +21-236-13:38:21.743 00 SCX_CPU1_DS_FI/3017 write ";***********************************************************************" +21-236-13:38:21.743 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:38:21.743 00 SCX_CPU1_DS_FI/3019 s get_tbl_to_cvt (ramDir,fileTblName,"A","cpu1_filetbl338",hostCPU,fileTblPktId) +21-236-13:38:21.744 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/get_tbl_to_cvt.i +21-236-13:38:21.746 00 SPR-I:STS Procedure GET_TBL_TO_CVT started +21-236-13:38:21.746 00 GET_TBL_TO_CVT/2 ; +21-236-13:38:21.746 00 GET_TBL_TO_CVT/3 local logging = %liv (log_procedure) +21-236-13:38:21.746 00 GET_TBL_TO_CVT/4 %liv (log_procedure) = FALSE +21-236-13:38:21.766 00 SPR-I:OPRO Sending Command: /SCX_CPU1_TBL_DUMP ACTIVE DTABLENAME="DS.FILE_TBL" DFILENAME="/ram/cpu1_filetbl338" +21-236-13:38:21.771 00 SPR-I:STTE Wait mode - waiting 15 seconds ... +21-236-13:38:22.579 00 TLMH-I:STS 58-012-14:20:25.002 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=14 Successfully dumped Table 'DS.FILE_TBL' to '/ram/cpu1_filetbl338' +21-236-13:38:36.783 00 SPR-I:OPRO +21-236-13:38:36.784 00 SPR-I:OPRO The TBLNAME is: DS.FILE_TBL +21-236-13:38:36.784 00 SPR-I:OPRO The APID is: P0F76 +21-236-13:38:36.784 00 SPR-I:OPRO The CPU is: CPU3 +21-236-13:38:36.784 00 SPR-I:OPRO The IP Address is: 192.168.1.8 +21-236-13:38:36.788 00 SPR-I:OPRO The perl command is: perl /s/opr/accounts/global/tools/ftp.pl RAM:0 cpu1_filetbl338 cpu1_filetbl338 binary 192.168.1.8 +21-236-13:38:36.927 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-13:38:36.928 00 SPR-I:STTE Wait mode - waiting 15 seconds ... +21-236-13:38:51.940 00 SPR-I:OPRO +21-236-13:38:51.982 00 SPR-I:OPRO The unix command is cvt -ws file_list[3958].file_write_time "`date +%y-%j-%T -r /s/opr/accounts/cfs_test/image/cpu1_filetbl338`" +21-236-13:38:51.982 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:38:56.987 00 GET_TBL_TO_CVT/238 +21-236-13:38:56.987 00 GET_TBL_TO_CVT/239 ENDPROC +21-236-13:38:56.987 00 SPR-I:STS Procedure GET_TBL_TO_CVT completed +21-236-13:38:56.989 00 SCX_CPU1_DS_FI/3020 +21-236-13:38:56.990 00 SCX_CPU1_DS_FI/3022 if (p@SCX_CPU1_DS_DF_TBL[timeFileEntry].Extension = ".dat") then +21-236-13:38:56.990 00 SCX_CPU1_DS_FI/3023 write "<*> Passed (5013) - Table entry indicates the correct extension." +21-236-13:38:56.990 00 SPR-I:OPRO <*> Passed (5013) - Table entry indicates the correct extension. +21-236-13:38:56.990 00 SCX_CPU1_DS_FI/3024 ut_setrequirements DS_5013, "P" +21-236-13:38:56.992 00 SCX_CPU1_DS_FI/3028 endif +21-236-13:38:56.992 00 SCX_CPU1_DS_FI/3029 +21-236-13:38:56.992 00 SCX_CPU1_DS_FI/3030 write ";***********************************************************************" +21-236-13:38:56.992 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:38:56.993 00 SCX_CPU1_DS_FI/3031 write "; Step 3.39: Using the TST_DS application, send a message that will" +21-236-13:38:56.993 00 SPR-I:OPRO ; Step 3.39: Using the TST_DS application, send a message that will +21-236-13:38:56.993 00 SCX_CPU1_DS_FI/3032 write "; create a file using the new naming." +21-236-13:38:56.993 00 SPR-I:OPRO ; create a file using the new naming. +21-236-13:38:56.993 00 SCX_CPU1_DS_FI/3033 write ";***********************************************************************" +21-236-13:38:56.993 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:38:56.993 00 SCX_CPU1_DS_FI/3035 ut_setupevents "SCX", "CPU1", "TST_DS", TST_DS_MSG3_SENT_INF_EID, "INFO", 1 +21-236-13:38:56.995 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:38:56.995 00 SPR-I:OPRO ; Setup event 1 with TST_DS INFO 7 +21-236-13:38:56.995 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:38:57.015 00 SCX_CPU1_DS_FI/3036 +21-236-13:38:57.015 00 SCX_CPU1_DS_FI/3038 /SCX_CPU1_TST_DS_SENDMESSAGE MsgID=timeMsgID MsgType=3 Pattern=x'AA' +21-236-13:38:57.027 00 SCX_CPU1_DS_FI/3039 +21-236-13:38:57.027 00 SCX_CPU1_DS_FI/3041 ut_tlmwait SCX_CPU1_find_event[1].num_found_messages, 1 +21-236-13:38:57.031 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:38:57.581 00 TLMH-I:STS 58-012-14:21:00.005 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=7 Sent Message Size 1016 to MID 0x00001001 +21-236-13:38:58.032 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:38:58.035 00 SCX_CPU1_DS_FI/3042 if (UT_TW_Status = UT_Success) then +21-236-13:38:58.035 00 SCX_CPU1_DS_FI/3043 write "<*> Passed - Expected Event Msg ",TST_DS_MSG3_SENT_INF_EID," rcv'd." +21-236-13:38:58.035 00 SPR-I:OPRO <*> Passed - Expected Event Msg 7 rcv'd. +21-236-13:38:58.035 00 SCX_CPU1_DS_FI/3046 endif +21-236-13:38:58.035 00 SCX_CPU1_DS_FI/3047 +21-236-13:38:58.035 00 SCX_CPU1_DS_FI/3049 cmdCtr = SCX_CPU1_DS_CMDPC + 1 +21-236-13:38:58.036 00 SCX_CPU1_DS_FI/3050 +21-236-13:38:58.036 00 SCX_CPU1_DS_FI/3051 /SCX_CPU1_DS_GetFileInfo +21-236-13:38:58.048 00 SCX_CPU1_DS_FI/3052 +21-236-13:38:58.048 00 SCX_CPU1_DS_FI/3053 ut_tlmwait SCX_CPU1_DS_CMDPC, {cmdCtr} +21-236-13:38:58.051 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:38:58.582 00 TLMH-I:STS 58-012-14:21:01.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:39:02.055 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:39:02.057 00 SCX_CPU1_DS_FI/3054 +21-236-13:39:02.057 00 SCX_CPU1_DS_FI/3057 if (SCX_CPU1_DS_FileState[timeFileEntry].FileName <> "") then +21-236-13:39:02.057 00 SCX_CPU1_DS_FI/3058 fileName1 = SCX_CPU1_DS_FileState[timeFileEntry].FileName +21-236-13:39:02.058 00 SCX_CPU1_DS_FI/3059 write "<*> Passed (3000) - A file was created with name '",fileName1,"'" +21-236-13:39:02.058 00 SPR-I:OPRO <*> Passed (3000) - A file was created with name '/ram/ti1980012142100.dat' +21-236-13:39:02.058 00 SCX_CPU1_DS_FI/3060 ut_setrequirements DS_3000, "P" +21-236-13:39:02.060 00 SCX_CPU1_DS_FI/3061 +21-236-13:39:02.060 00 SCX_CPU1_DS_FI/3062 if (SCX_CPU1_DS_FileState[timeFileEntry].OpenState = DS_OPEN) then +21-236-13:39:02.060 00 SCX_CPU1_DS_FI/3063 write "<*> Passed (3001) - The file is marked 'OPEN'" +21-236-13:39:02.060 00 SPR-I:OPRO <*> Passed (3001) - The file is marked 'OPEN' +21-236-13:39:02.060 00 SCX_CPU1_DS_FI/3064 ut_setrequirements DS_3001, "P" +21-236-13:39:02.061 00 SCX_CPU1_DS_FI/3065 endif +21-236-13:39:02.061 00 SCX_CPU1_DS_FI/3070 endif +21-236-13:39:02.061 00 SCX_CPU1_DS_FI/3071 +21-236-13:39:02.061 00 SCX_CPU1_DS_FI/3072 wait 5 +21-236-13:39:02.061 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:39:07.064 00 SCX_CPU1_DS_FI/3073 +21-236-13:39:07.065 00 SCX_CPU1_DS_FI/3074 write ";***********************************************************************" +21-236-13:39:07.065 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:39:07.065 00 SCX_CPU1_DS_FI/3075 write "; Step 3.40: Send the Set Extension command with an invalid length." +21-236-13:39:07.065 00 SPR-I:OPRO ; Step 3.40: Send the Set Extension command with an invalid length. +21-236-13:39:07.065 00 SCX_CPU1_DS_FI/3076 write ";***********************************************************************" +21-236-13:39:07.065 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:39:07.065 00 SCX_CPU1_DS_FI/3078 ut_setupevents "SCX", "CPU1", {DSAppName}, DS_EXT_CMD_ERR_EID, "ERROR", 1 +21-236-13:39:07.070 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:39:07.070 00 SPR-I:OPRO ; Setup event 1 with DS ERROR 52 +21-236-13:39:07.070 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:39:07.071 00 SCX_CPU1_DS_FI/3079 +21-236-13:39:07.071 00 SCX_CPU1_DS_FI/3080 errcnt = SCX_CPU1_DS_CMDEC + 1 +21-236-13:39:07.071 00 SCX_CPU1_DS_FI/3081 +21-236-13:39:07.071 00 SCX_CPU1_DS_FI/3083 rawcmd = "18BBc000000E0A9C" +21-236-13:39:07.071 00 SCX_CPU1_DS_FI/3084 +21-236-13:39:07.071 00 SCX_CPU1_DS_FI/3085 ut_sendrawcmd "SCX_CPU1_DS", (rawcmd) +21-236-13:39:07.074 00 SPR-I:OPRO Sending: 18BBc000000E0A9C +21-236-13:39:07.090 00 SPR-I:OPRO ; Telemetry update will wait a maximum of 24 seconds +21-236-13:39:07.091 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:39:07.580 00 TLMH-I:STS 58-012-14:21:10.001 ERROR CPU=CPU1 APPNAME=DS EVENT ID=52 Invalid DEST EXT command length: expected = 20, actual = 21 +21-236-13:39:10.094 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:39:10.099 00 SCX_CPU1_DS_FI/3086 +21-236-13:39:10.099 00 SCX_CPU1_DS_FI/3087 ut_tlmwait SCX_CPU1_DS_CMDEC, {errcnt} +21-236-13:39:10.102 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:39:10.103 00 SCX_CPU1_DS_FI/3088 if (UT_TW_Status = UT_Success) then +21-236-13:39:10.103 00 SCX_CPU1_DS_FI/3089 write "<*> Passed (1002;1005) - DS Set Extension Command Rejected Counter incremented." +21-236-13:39:10.103 00 SPR-I:OPRO <*> Passed (1002;1005) - DS Set Extension Command Rejected Counter incremented. +21-236-13:39:10.103 00 SCX_CPU1_DS_FI/3090 ut_setrequirements DS_1002, "P" +21-236-13:39:10.104 00 SCX_CPU1_DS_FI/3091 ut_setrequirements DS_1005, "P" +21-236-13:39:10.105 00 SCX_CPU1_DS_FI/3096 endif +21-236-13:39:10.105 00 SCX_CPU1_DS_FI/3097 +21-236-13:39:10.105 00 SCX_CPU1_DS_FI/3098 if (SCX_CPU1_find_event[1].num_found_messages = 1) THEN +21-236-13:39:10.105 00 SCX_CPU1_DS_FI/3099 write "<*> Passed (1005) - Event message ",SCX_CPU1_find_event[1].eventid, " received" +21-236-13:39:10.105 00 SPR-I:OPRO <*> Passed (1005) - Event message 52 received +21-236-13:39:10.105 00 SCX_CPU1_DS_FI/3100 ut_setrequirements DS_1005, "P" +21-236-13:39:10.137 00 SCX_CPU1_DS_FI/3104 endif +21-236-13:39:10.137 00 SCX_CPU1_DS_FI/3105 +21-236-13:39:10.137 00 SCX_CPU1_DS_FI/3106 wait 5 +21-236-13:39:10.137 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:39:15.145 00 SCX_CPU1_DS_FI/3107 +21-236-13:39:15.145 00 SCX_CPU1_DS_FI/3108 write ";***********************************************************************" +21-236-13:39:15.145 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:39:15.145 00 SCX_CPU1_DS_FI/3109 write "; Step 3.41: Send the Set Extension command with invalid arguments." +21-236-13:39:15.145 00 SPR-I:OPRO ; Step 3.41: Send the Set Extension command with invalid arguments. +21-236-13:39:15.146 00 SCX_CPU1_DS_FI/3110 write ";***********************************************************************" +21-236-13:39:15.146 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:39:15.146 00 SCX_CPU1_DS_FI/3111 write "; Step 3.41.1: Send the command with an invalid file index. " +21-236-13:39:15.146 00 SPR-I:OPRO ; Step 3.41.1: Send the command with an invalid file index. +21-236-13:39:15.146 00 SCX_CPU1_DS_FI/3112 write ";***********************************************************************" +21-236-13:39:15.146 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:39:15.146 00 SCX_CPU1_DS_FI/3114 ut_setupevents "SCX", "CPU1", {DSAppName}, DS_EXT_CMD_ERR_EID, "ERROR", 1 +21-236-13:39:15.151 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:39:15.151 00 SPR-I:OPRO ; Setup event 1 with DS ERROR 52 +21-236-13:39:15.152 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:39:15.152 00 SCX_CPU1_DS_FI/3115 +21-236-13:39:15.152 00 SCX_CPU1_DS_FI/3116 errcnt = SCX_CPU1_DS_CMDEC + 1 +21-236-13:39:15.152 00 SCX_CPU1_DS_FI/3117 +21-236-13:39:15.152 00 SCX_CPU1_DS_FI/3119 /SCX_CPU1_DS_SetExtension FileIndex=DS_DEST_FILE_CNT Extension=".icu" +21-236-13:39:15.164 00 SCX_CPU1_DS_FI/3120 wait 5 +21-236-13:39:15.164 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:39:15.580 00 TLMH-I:STS 58-012-14:21:18.001 ERROR CPU=CPU1 APPNAME=DS EVENT ID=52 Invalid DEST EXT command arg: file table index = 16 +21-236-13:39:20.168 00 SCX_CPU1_DS_FI/3121 +21-236-13:39:20.168 00 SCX_CPU1_DS_FI/3122 ut_tlmwait SCX_CPU1_DS_CMDEC, {errcnt} +21-236-13:39:20.175 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:39:20.176 00 SCX_CPU1_DS_FI/3123 if (UT_TW_Status = UT_Success) then +21-236-13:39:20.176 00 SCX_CPU1_DS_FI/3124 write "<*> Passed (1005) - DS Set Extension command failed as expected with an invalid file index." +21-236-13:39:20.176 00 SPR-I:OPRO <*> Passed (1005) - DS Set Extension command failed as expected with an invalid file index. +21-236-13:39:20.176 00 SCX_CPU1_DS_FI/3125 ut_setrequirements DS_1005, "P" +21-236-13:39:20.178 00 SCX_CPU1_DS_FI/3129 endif +21-236-13:39:20.178 00 SCX_CPU1_DS_FI/3130 +21-236-13:39:20.178 00 SCX_CPU1_DS_FI/3132 ut_tlmwait SCX_CPU1_find_event[1].num_found_messages, 1 +21-236-13:39:20.181 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:39:20.182 00 SCX_CPU1_DS_FI/3133 if (UT_TW_Status = UT_Success) then +21-236-13:39:20.182 00 SCX_CPU1_DS_FI/3134 write "<*> Passed (1005) - Event message ",SCX_CPU1_find_event[1].eventid, " received" +21-236-13:39:20.182 00 SPR-I:OPRO <*> Passed (1005) - Event message 52 received +21-236-13:39:20.182 00 SCX_CPU1_DS_FI/3135 ut_setrequirements DS_1005, "P" +21-236-13:39:20.183 00 SCX_CPU1_DS_FI/3139 endif +21-236-13:39:20.183 00 SCX_CPU1_DS_FI/3140 +21-236-13:39:20.183 00 SCX_CPU1_DS_FI/3141 wait 5 +21-236-13:39:20.183 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:39:25.212 00 SCX_CPU1_DS_FI/3142 +21-236-13:39:25.212 00 SCX_CPU1_DS_FI/3143 write ";***********************************************************************" +21-236-13:39:25.212 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:39:25.212 00 SCX_CPU1_DS_FI/3144 write "; Step 3.41.2: Send the command with an empty extension. This command " +21-236-13:39:25.212 00 SPR-I:OPRO ; Step 3.41.2: Send the command with an empty extension. This command +21-236-13:39:25.212 00 SCX_CPU1_DS_FI/3145 write "; will be accepted." +21-236-13:39:25.212 00 SPR-I:OPRO ; will be accepted. +21-236-13:39:25.212 00 SCX_CPU1_DS_FI/3146 write ";***********************************************************************" +21-236-13:39:25.212 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:39:25.212 00 SCX_CPU1_DS_FI/3148 ut_setupevents "SCX", "CPU1", {DSAppName}, DS_EXT_CMD_EID, "DEBUG", 1 +21-236-13:39:25.215 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:39:25.216 00 SPR-I:OPRO ; Setup event 1 with DS DEBUG 51 +21-236-13:39:25.216 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:39:25.217 00 SCX_CPU1_DS_FI/3149 +21-236-13:39:25.217 00 SCX_CPU1_DS_FI/3150 cmdCtr = SCX_CPU1_DS_CMDPC + 1 +21-236-13:39:25.217 00 SCX_CPU1_DS_FI/3151 +21-236-13:39:25.217 00 SCX_CPU1_DS_FI/3153 /SCX_CPU1_DS_SetExtension FileIndex=timeFileEntry Extension="" +21-236-13:39:25.219 00 SCX_CPU1_DS_FI/3154 wait 5 +21-236-13:39:25.220 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:39:26.074 00 TLMH-I:STS 58-012-14:21:28.501 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=51 DEST EXT command: file table index = 1, extension = '' +21-236-13:39:30.224 00 SCX_CPU1_DS_FI/3155 +21-236-13:39:30.224 00 SCX_CPU1_DS_FI/3156 ut_tlmwait SCX_CPU1_DS_CMDPC, {cmdCtr} +21-236-13:39:30.231 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:39:30.231 00 SCX_CPU1_DS_FI/3157 if (UT_TW_Status = UT_Success) then +21-236-13:39:30.232 00 SCX_CPU1_DS_FI/3158 write "<*> Passed (1005) - DS Set Extension command passed with a null extension." +21-236-13:39:30.232 00 SPR-I:OPRO <*> Passed (1005) - DS Set Extension command passed with a null extension. +21-236-13:39:30.232 00 SCX_CPU1_DS_FI/3159 ut_setrequirements DS_1005, "P" +21-236-13:39:30.233 00 SCX_CPU1_DS_FI/3163 endif +21-236-13:39:30.233 00 SCX_CPU1_DS_FI/3164 +21-236-13:39:30.233 00 SCX_CPU1_DS_FI/3166 ut_tlmwait SCX_CPU1_find_event[1].num_found_messages, 1 +21-236-13:39:30.236 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:39:30.237 00 SCX_CPU1_DS_FI/3167 if (UT_TW_Status = UT_Success) then +21-236-13:39:30.237 00 SCX_CPU1_DS_FI/3168 write "<*> Passed (1005) - Event message ",SCX_CPU1_find_event[1].eventid, " received" +21-236-13:39:30.237 00 SPR-I:OPRO <*> Passed (1005) - Event message 51 received +21-236-13:39:30.237 00 SCX_CPU1_DS_FI/3169 ut_setrequirements DS_1005, "P" +21-236-13:39:30.238 00 SCX_CPU1_DS_FI/3173 endif +21-236-13:39:30.238 00 SCX_CPU1_DS_FI/3174 +21-236-13:39:30.238 00 SCX_CPU1_DS_FI/3175 wait 5 +21-236-13:39:30.238 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:39:35.267 00 SCX_CPU1_DS_FI/3176 +21-236-13:39:35.267 00 SCX_CPU1_DS_FI/3177 write ";***********************************************************************" +21-236-13:39:35.267 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:39:35.267 00 SCX_CPU1_DS_FI/3178 write "; Step 3.42: Send the Set Maximum Size command. " +21-236-13:39:35.267 00 SPR-I:OPRO ; Step 3.42: Send the Set Maximum Size command. +21-236-13:39:35.267 00 SCX_CPU1_DS_FI/3179 write ";***********************************************************************" +21-236-13:39:35.267 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:39:35.267 00 SCX_CPU1_DS_FI/3181 /SCX_CPU1_DS_SetPath FileIndex=seqFileEntry PathName="/ram/" +21-236-13:39:35.282 00 SCX_CPU1_DS_FI/3182 wait 5 +21-236-13:39:35.282 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:39:36.076 00 TLMH-I:STS 58-012-14:21:38.501 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=47 DEST PATH command: file table index = 0, pathname = '/ram/' +21-236-13:39:40.286 00 SCX_CPU1_DS_FI/3183 +21-236-13:39:40.286 00 SCX_CPU1_DS_FI/3185 /SCX_CPU1_DS_SetFileType FileIndex=seqFileEntry FileType=DS_BY_COUNT +21-236-13:39:40.301 00 SCX_CPU1_DS_FI/3186 wait 5 +21-236-13:39:40.301 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:39:41.080 00 TLMH-I:STS 58-012-14:21:43.501 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=43 DEST TYPE command: file table index = 0, filename type = 1 +21-236-13:39:45.305 00 SCX_CPU1_DS_FI/3187 +21-236-13:39:45.305 00 SCX_CPU1_DS_FI/3189 /SCX_CPU1_DS_EnableFile FileIndex=seqFileEntry +21-236-13:39:45.320 00 SCX_CPU1_DS_FI/3190 wait 5 +21-236-13:39:45.320 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:39:46.073 00 TLMH-I:STS 58-012-14:21:48.501 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=45 DEST STATE command: file table index = 0, file state = 1 +21-236-13:39:50.324 00 SCX_CPU1_DS_FI/3191 +21-236-13:39:50.324 00 SCX_CPU1_DS_FI/3193 /SCX_CPU1_DS_CloseFile FileIndex=seqFileEntry +21-236-13:39:50.349 00 SCX_CPU1_DS_FI/3194 wait 5 +21-236-13:39:50.349 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:39:51.081 00 TLMH-I:STS 58-012-14:21:53.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=59 DEST CLOSE command: file table index = 0 +21-236-13:39:55.353 00 SCX_CPU1_DS_FI/3195 +21-236-13:39:55.353 00 SCX_CPU1_DS_FI/3197 ut_setupevents "SCX", "CPU1", {DSAppName}, DS_SIZE_CMD_EID, "DEBUG", 1 +21-236-13:39:55.360 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:39:55.361 00 SPR-I:OPRO ; Setup event 1 with DS DEBUG 53 +21-236-13:39:55.361 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:39:55.363 00 SCX_CPU1_DS_FI/3198 +21-236-13:39:55.363 00 SCX_CPU1_DS_FI/3199 cmdCtr = SCX_CPU1_DS_CMDPC + 1 +21-236-13:39:55.363 00 SCX_CPU1_DS_FI/3201 /SCX_CPU1_DS_SetMaxFileSize FileIndex=seqFileEntry MaxSize=5500 +21-236-13:39:55.378 00 SCX_CPU1_DS_FI/3202 wait 5 +21-236-13:39:55.379 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:39:56.078 00 TLMH-I:STS 58-012-14:21:58.501 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=53 DEST SIZE command: file table index = 0, size limit = 5500 +21-236-13:39:57.578 00 TLMH-I:STS 58-012-14:22:00.006 ERROR CPU=CPU1 APPNAME=DS EVENT ID=61 FILE MOVE error: src = '/ram/ti1980012142100.dat', tgt = '/ram/movedir/ti1980012142100.dat', result = -1 +21-236-13:40:00.382 00 SCX_CPU1_DS_FI/3203 +21-236-13:40:00.382 00 SCX_CPU1_DS_FI/3204 ut_tlmwait SCX_CPU1_DS_CMDPC, {cmdCtr} +21-236-13:40:00.385 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:40:00.387 00 SCX_CPU1_DS_FI/3205 if (UT_TW_Status = UT_Success) then +21-236-13:40:00.387 00 SCX_CPU1_DS_FI/3206 write "<*> Passed (1004;5014) - DS Set Maximum Size command sent properly." +21-236-13:40:00.387 00 SPR-I:OPRO <*> Passed (1004;5014) - DS Set Maximum Size command sent properly. +21-236-13:40:00.387 00 SCX_CPU1_DS_FI/3207 ut_setrequirements DS_1004, "P" +21-236-13:40:00.388 00 SCX_CPU1_DS_FI/3208 ut_setrequirements DS_5014, "P" +21-236-13:40:00.389 00 SCX_CPU1_DS_FI/3213 endif +21-236-13:40:00.389 00 SCX_CPU1_DS_FI/3214 +21-236-13:40:00.389 00 SCX_CPU1_DS_FI/3216 ut_tlmwait SCX_CPU1_find_event[1].num_found_messages, 1 +21-236-13:40:00.392 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:40:00.392 00 SCX_CPU1_DS_FI/3217 if (UT_TW_Status = UT_Success) then +21-236-13:40:00.392 00 SCX_CPU1_DS_FI/3218 write "<*> Passed (1004;5014) - Expected Event Msg ",DS_SIZE_CMD_EID," rcv'd." +21-236-13:40:00.392 00 SPR-I:OPRO <*> Passed (1004;5014) - Expected Event Msg 53 rcv'd. +21-236-13:40:00.392 00 SCX_CPU1_DS_FI/3219 ut_setrequirements DS_1004, "P" +21-236-13:40:00.423 00 SCX_CPU1_DS_FI/3220 ut_setrequirements DS_5014, "P" +21-236-13:40:00.424 00 SCX_CPU1_DS_FI/3225 endif +21-236-13:40:00.424 00 SCX_CPU1_DS_FI/3226 +21-236-13:40:00.424 00 SCX_CPU1_DS_FI/3227 wait 5 +21-236-13:40:00.424 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:40:05.427 00 SCX_CPU1_DS_FI/3228 +21-236-13:40:05.428 00 SCX_CPU1_DS_FI/3229 write ";***********************************************************************" +21-236-13:40:05.428 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:40:05.428 00 SCX_CPU1_DS_FI/3230 write "; Step 3.43: Dump the Destination File Table to verify the change above" +21-236-13:40:05.429 00 SPR-I:OPRO ; Step 3.43: Dump the Destination File Table to verify the change above +21-236-13:40:05.429 00 SCX_CPU1_DS_FI/3231 write ";***********************************************************************" +21-236-13:40:05.429 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:40:05.429 00 SCX_CPU1_DS_FI/3233 s get_tbl_to_cvt (ramDir,fileTblName,"A","cpu1_filetbl343",hostCPU,fileTblPktId) +21-236-13:40:05.431 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/get_tbl_to_cvt.i +21-236-13:40:05.434 00 SPR-I:STS Procedure GET_TBL_TO_CVT started +21-236-13:40:05.434 00 GET_TBL_TO_CVT/2 ; +21-236-13:40:05.434 00 GET_TBL_TO_CVT/3 local logging = %liv (log_procedure) +21-236-13:40:05.435 00 GET_TBL_TO_CVT/4 %liv (log_procedure) = FALSE +21-236-13:40:05.448 00 SPR-I:OPRO Sending Command: /SCX_CPU1_TBL_DUMP ACTIVE DTABLENAME="DS.FILE_TBL" DFILENAME="/ram/cpu1_filetbl343" +21-236-13:40:05.460 00 SPR-I:STTE Wait mode - waiting 15 seconds ... +21-236-13:40:06.076 00 TLMH-I:STS 58-012-14:22:08.502 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=14 Successfully dumped Table 'DS.FILE_TBL' to '/ram/cpu1_filetbl343' +21-236-13:40:20.471 00 SPR-I:OPRO +21-236-13:40:20.471 00 SPR-I:OPRO The TBLNAME is: DS.FILE_TBL +21-236-13:40:20.471 00 SPR-I:OPRO The APID is: P0F76 +21-236-13:40:20.472 00 SPR-I:OPRO The CPU is: CPU3 +21-236-13:40:20.472 00 SPR-I:OPRO The IP Address is: 192.168.1.8 +21-236-13:40:20.474 00 SPR-I:OPRO The perl command is: perl /s/opr/accounts/global/tools/ftp.pl RAM:0 cpu1_filetbl343 cpu1_filetbl343 binary 192.168.1.8 +21-236-13:40:20.654 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-13:40:20.655 00 SPR-I:STTE Wait mode - waiting 15 seconds ... +21-236-13:40:35.664 00 SPR-I:OPRO +21-236-13:40:35.681 00 SPR-I:OPRO The unix command is cvt -ws file_list[3958].file_write_time "`date +%y-%j-%T -r /s/opr/accounts/cfs_test/image/cpu1_filetbl343`" +21-236-13:40:35.681 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:40:40.686 00 GET_TBL_TO_CVT/238 +21-236-13:40:40.686 00 GET_TBL_TO_CVT/239 ENDPROC +21-236-13:40:40.686 00 SPR-I:STS Procedure GET_TBL_TO_CVT completed +21-236-13:40:40.687 00 SCX_CPU1_DS_FI/3234 +21-236-13:40:40.687 00 SCX_CPU1_DS_FI/3236 if (p@SCX_CPU1_DS_DF_TBL[seqFileEntry].FileSize = 5500) then +21-236-13:40:40.687 00 SCX_CPU1_DS_FI/3237 write "<*> Passed (5014) - Table entry indicates the correct maximum size." +21-236-13:40:40.687 00 SPR-I:OPRO <*> Passed (5014) - Table entry indicates the correct maximum size. +21-236-13:40:40.687 00 SCX_CPU1_DS_FI/3238 ut_setrequirements DS_5014, "P" +21-236-13:40:40.688 00 SCX_CPU1_DS_FI/3242 endif +21-236-13:40:40.688 00 SCX_CPU1_DS_FI/3243 +21-236-13:40:40.688 00 SCX_CPU1_DS_FI/3244 write ";***********************************************************************" +21-236-13:40:40.688 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:40:40.689 00 SCX_CPU1_DS_FI/3245 write "; Step 3.44: Using the TST_DS application, send 6 messages that will" +21-236-13:40:40.689 00 SPR-I:OPRO ; Step 3.44: Using the TST_DS application, send 6 messages that will +21-236-13:40:40.689 00 SCX_CPU1_DS_FI/3246 write "; create two files. The first 5 messages should be stored in the first" +21-236-13:40:40.689 00 SPR-I:OPRO ; create two files. The first 5 messages should be stored in the first +21-236-13:40:40.689 00 SCX_CPU1_DS_FI/3247 write "; file. The 6th message should be stored in the currently opened file." +21-236-13:40:40.689 00 SPR-I:OPRO ; file. The 6th message should be stored in the currently opened file. +21-236-13:40:40.689 00 SCX_CPU1_DS_FI/3248 write ";***********************************************************************" +21-236-13:40:40.689 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:40:40.689 00 SCX_CPU1_DS_FI/3250 ut_setupevents "SCX", "CPU1", "TST_DS", TST_DS_MSG3_SENT_INF_EID, "INFO", 1 +21-236-13:40:40.691 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:40:40.691 00 SPR-I:OPRO ; Setup event 1 with TST_DS INFO 7 +21-236-13:40:40.706 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:40:40.707 00 SCX_CPU1_DS_FI/3251 +21-236-13:40:40.707 00 SCX_CPU1_DS_FI/3253 /SCX_CPU1_TST_DS_SENDMESSAGE MsgID=seqMsgID MsgType=3 Pattern=x'AA' +21-236-13:40:40.718 00 SCX_CPU1_DS_FI/3254 wait 5 +21-236-13:40:40.719 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:40:41.582 00 TLMH-I:STS 58-012-14:22:44.005 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=7 Sent Message Size 1016 to MID 0x00001000 +21-236-13:40:45.723 00 SCX_CPU1_DS_FI/3255 +21-236-13:40:45.723 00 SCX_CPU1_DS_FI/3257 cmdCtr = SCX_CPU1_DS_CMDPC + 1 +21-236-13:40:45.723 00 SCX_CPU1_DS_FI/3258 +21-236-13:40:45.723 00 SCX_CPU1_DS_FI/3259 /SCX_CPU1_DS_GetFileInfo +21-236-13:40:45.738 00 SCX_CPU1_DS_FI/3260 +21-236-13:40:45.738 00 SCX_CPU1_DS_FI/3261 ut_tlmwait SCX_CPU1_DS_CMDPC, {cmdCtr} +21-236-13:40:45.750 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:40:46.576 00 TLMH-I:STS 58-012-14:22:49.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:40:49.755 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:40:49.755 00 SCX_CPU1_DS_FI/3262 +21-236-13:40:49.755 00 SCX_CPU1_DS_FI/3265 if (SCX_CPU1_DS_FileState[seqFileEntry].FileName <> "") then +21-236-13:40:49.755 00 SCX_CPU1_DS_FI/3266 fileName2 = SCX_CPU1_DS_FileState[seqFileEntry].FileName +21-236-13:40:49.756 00 SCX_CPU1_DS_FI/3267 write "<*> Passed (3000) - A file was created with name '",fileName2,"'" +21-236-13:40:49.756 00 SPR-I:OPRO <*> Passed (3000) - A file was created with name '/ram/00000100.dat' +21-236-13:40:49.756 00 SCX_CPU1_DS_FI/3268 ut_setrequirements DS_3000, "P" +21-236-13:40:49.756 00 SCX_CPU1_DS_FI/3269 +21-236-13:40:49.756 00 SCX_CPU1_DS_FI/3270 if (SCX_CPU1_DS_FileState[seqFileEntry].OpenState = DS_OPEN) then +21-236-13:40:49.756 00 SCX_CPU1_DS_FI/3271 write "<*> Passed (3001) - The file is marked 'OPEN'" +21-236-13:40:49.756 00 SPR-I:OPRO <*> Passed (3001) - The file is marked 'OPEN' +21-236-13:40:49.756 00 SCX_CPU1_DS_FI/3272 ut_setrequirements DS_3001, "P" +21-236-13:40:49.757 00 SCX_CPU1_DS_FI/3273 endif +21-236-13:40:49.757 00 SCX_CPU1_DS_FI/3278 endif +21-236-13:40:49.757 00 SCX_CPU1_DS_FI/3279 +21-236-13:40:49.757 00 SCX_CPU1_DS_FI/3280 expFileWrites = SCX_CPU1_DS_FileWriteCnt + 1 +21-236-13:40:49.757 00 SCX_CPU1_DS_FI/3281 expPassedPkts = SCX_CPU1_DS_PassedPktCnt + 1 +21-236-13:40:49.757 00 SCX_CPU1_DS_FI/3282 +21-236-13:40:49.784 00 SCX_CPU1_DS_FI/3283 /SCX_CPU1_TST_DS_SENDMESSAGE MsgID=seqMsgID MsgType=3 Pattern=x'55' +21-236-13:40:49.796 00 SCX_CPU1_DS_FI/3284 wait 5 +21-236-13:40:49.796 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:40:50.577 00 TLMH-I:STS 58-012-14:22:53.002 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=7 Sent Message Size 1016 to MID 0x00001000 +21-236-13:40:54.799 00 SCX_CPU1_DS_FI/3285 +21-236-13:40:54.799 00 SCX_CPU1_DS_FI/3287 if (expFileWrites = SCX_CPU1_DS_FileWriteCnt) AND ;; +21-236-13:40:54.799 00 SCX_CPU1_DS_FI/3288 (expPassedPkts = SCX_CPU1_DS_PassedPktCnt) then +21-236-13:40:54.800 00 SCX_CPU1_DS_FI/3289 write "<*> Passed - The file write and passed packet counters are correct." +21-236-13:40:54.800 00 SPR-I:OPRO <*> Passed - The file write and passed packet counters are correct. +21-236-13:40:54.800 00 SCX_CPU1_DS_FI/3294 endif +21-236-13:40:54.800 00 SCX_CPU1_DS_FI/3295 +21-236-13:40:54.800 00 SCX_CPU1_DS_FI/3296 /SCX_CPU1_TST_DS_SENDMESSAGE MsgID=seqMsgID MsgType=3 Pattern=x'FF' +21-236-13:40:54.815 00 SCX_CPU1_DS_FI/3297 wait 5 +21-236-13:40:54.815 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:40:55.580 00 TLMH-I:STS 58-012-14:22:58.001 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=7 Sent Message Size 1016 to MID 0x00001000 +21-236-13:40:59.819 00 SCX_CPU1_DS_FI/3298 +21-236-13:40:59.819 00 SCX_CPU1_DS_FI/3299 /SCX_CPU1_TST_DS_SENDMESSAGE MsgID=seqMsgID MsgType=3 Pattern=x'A5' +21-236-13:40:59.834 00 SCX_CPU1_DS_FI/3300 wait 5 +21-236-13:40:59.834 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:41:00.578 00 TLMH-I:STS 58-012-14:23:03.001 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=7 Sent Message Size 1016 to MID 0x00001000 +21-236-13:41:04.837 00 SCX_CPU1_DS_FI/3301 +21-236-13:41:04.837 00 SCX_CPU1_DS_FI/3302 /SCX_CPU1_TST_DS_SENDMESSAGE MsgID=seqMsgID MsgType=3 Pattern=x'BB' +21-236-13:41:04.850 00 SCX_CPU1_DS_FI/3303 wait 5 +21-236-13:41:04.850 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:41:05.580 00 TLMH-I:STS 58-012-14:23:08.004 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=7 Sent Message Size 1016 to MID 0x00001000 +21-236-13:41:09.853 00 SCX_CPU1_DS_FI/3304 +21-236-13:41:09.854 00 SCX_CPU1_DS_FI/3305 /SCX_CPU1_TST_DS_SENDMESSAGE MsgID=seqMsgID MsgType=3 Pattern=x'5A' +21-236-13:41:09.868 00 SCX_CPU1_DS_FI/3306 wait 5 +21-236-13:41:09.868 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:41:10.573 00 TLMH-I:STS 58-012-14:23:13.004 ERROR CPU=CPU1 APPNAME=DS EVENT ID=61 FILE MOVE error: src = '/ram/00000100.dat', tgt = '/ram/movedir/00000100.dat', result = -1 +21-236-13:41:10.574 00 TLMH-I:STS 58-012-14:23:13.006 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=7 Sent Message Size 1016 to MID 0x00001000 +21-236-13:41:14.872 00 SCX_CPU1_DS_FI/3307 +21-236-13:41:14.872 00 SCX_CPU1_DS_FI/3309 cmdCtr = SCX_CPU1_DS_CMDPC + 1 +21-236-13:41:14.873 00 SCX_CPU1_DS_FI/3310 +21-236-13:41:14.873 00 SCX_CPU1_DS_FI/3311 /SCX_CPU1_DS_GetFileInfo +21-236-13:41:14.888 00 SCX_CPU1_DS_FI/3312 +21-236-13:41:14.888 00 SCX_CPU1_DS_FI/3313 ut_tlmwait SCX_CPU1_DS_CMDPC, {cmdCtr} +21-236-13:41:14.902 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:41:15.579 00 TLMH-I:STS 58-012-14:23:18.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:41:17.906 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:41:17.909 00 SCX_CPU1_DS_FI/3314 +21-236-13:41:17.909 00 SCX_CPU1_DS_FI/3317 if (SCX_CPU1_DS_FileState[seqFileEntry].FileName <> "") then +21-236-13:41:17.909 00 SCX_CPU1_DS_FI/3318 fileName3 = SCX_CPU1_DS_FileState[seqFileEntry].FileName +21-236-13:41:17.909 00 SCX_CPU1_DS_FI/3319 write "<*> Passed (3000) - A file was created with name '",fileName3,"'" +21-236-13:41:17.910 00 SPR-I:OPRO <*> Passed (3000) - A file was created with name '/ram/00000101.dat' +21-236-13:41:17.910 00 SCX_CPU1_DS_FI/3320 ut_setrequirements DS_3000, "P" +21-236-13:41:17.912 00 SCX_CPU1_DS_FI/3321 +21-236-13:41:17.912 00 SCX_CPU1_DS_FI/3322 if (SCX_CPU1_DS_FileState[seqFileEntry].OpenState = DS_OPEN) then +21-236-13:41:17.912 00 SCX_CPU1_DS_FI/3323 write "<*> Passed (3001) - The file is marked 'OPEN'" +21-236-13:41:17.912 00 SPR-I:OPRO <*> Passed (3001) - The file is marked 'OPEN' +21-236-13:41:17.912 00 SCX_CPU1_DS_FI/3324 ut_setrequirements DS_3001, "P" +21-236-13:41:17.913 00 SCX_CPU1_DS_FI/3325 endif +21-236-13:41:17.913 00 SCX_CPU1_DS_FI/3326 +21-236-13:41:17.913 00 SCX_CPU1_DS_FI/3327 if (fileName2 <> fileName3) then +21-236-13:41:17.913 00 SCX_CPU1_DS_FI/3328 write "<*> Passed (3001.1) - A new file was opened" +21-236-13:41:17.913 00 SPR-I:OPRO <*> Passed (3001.1) - A new file was opened +21-236-13:41:17.913 00 SCX_CPU1_DS_FI/3329 ut_setrequirements DS_30011, "P" +21-236-13:41:17.936 00 SCX_CPU1_DS_FI/3333 endif +21-236-13:41:17.936 00 SCX_CPU1_DS_FI/3339 endif +21-236-13:41:17.936 00 SCX_CPU1_DS_FI/3340 +21-236-13:41:17.936 00 SCX_CPU1_DS_FI/3342 if (fileName2 <> "") then +21-236-13:41:17.936 00 SCX_CPU1_DS_FI/3343 write "==> Downloading '",fileName2,"'" +21-236-13:41:17.936 00 SPR-I:OPRO ==> Downloading '/ram/00000100.dat' +21-236-13:41:17.936 00 SCX_CPU1_DS_FI/3344 slashLoc = %locate(fileName2,"/") +21-236-13:41:17.936 00 SCX_CPU1_DS_FI/3345 while (slashLoc <> 0) do +21-236-13:41:17.936 00 SCX_CPU1_DS_FI/3346 fileName2 = %substring(fileName2,slashLoc+1,%length(fileName2)) +21-236-13:41:17.936 00 SCX_CPU1_DS_FI/3347 slashLoc = %locate(fileName2,"/") +21-236-13:41:17.936 00 SCX_CPU1_DS_FI/3348 enddo +21-236-13:41:17.937 00 SCX_CPU1_DS_FI/3346 fileName2 = %substring(fileName2,slashLoc+1,%length(fileName2)) +21-236-13:41:17.937 00 SCX_CPU1_DS_FI/3347 slashLoc = %locate(fileName2,"/") +21-236-13:41:17.937 00 SCX_CPU1_DS_FI/3348 enddo +21-236-13:41:17.937 00 SCX_CPU1_DS_FI/3349 write "==> FileName Only = '",fileName2,"'" +21-236-13:41:17.937 00 SPR-I:OPRO ==> FileName Only = '00000100.dat' +21-236-13:41:17.937 00 SCX_CPU1_DS_FI/3352 s ftp_file(ramDir, fileName2, fileName2, hostCPU, "G") +21-236-13:41:17.937 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/ftp_file.i +21-236-13:41:17.937 00 SPR-I:STS Procedure FTP_FILE started +21-236-13:41:17.937 00 FTP_FILE/2 ; +21-236-13:41:17.944 00 FTP_FILE/3 local logging = %liv (log_procedure) +21-236-13:41:17.945 00 FTP_FILE/4 %liv (log_procedure) = FALSE +21-236-13:41:18.040 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-13:41:18.040 00 FTP_FILE/85 ENDPROC +21-236-13:41:18.040 00 SPR-I:STS Procedure FTP_FILE completed +21-236-13:41:18.043 00 SCX_CPU1_DS_FI/3353 endif +21-236-13:41:18.043 00 SCX_CPU1_DS_FI/3354 +21-236-13:41:18.043 00 SCX_CPU1_DS_FI/3355 wait 5 +21-236-13:41:18.043 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:41:23.047 00 SCX_CPU1_DS_FI/3356 +21-236-13:41:23.047 00 SCX_CPU1_DS_FI/3357 write ";***********************************************************************" +21-236-13:41:23.047 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:41:23.047 00 SCX_CPU1_DS_FI/3358 write "; Step 3.45: Send the Set Maximum Size command with an invalid length." +21-236-13:41:23.047 00 SPR-I:OPRO ; Step 3.45: Send the Set Maximum Size command with an invalid length. +21-236-13:41:23.048 00 SCX_CPU1_DS_FI/3359 write ";***********************************************************************" +21-236-13:41:23.048 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:41:23.048 00 SCX_CPU1_DS_FI/3361 ut_setupevents "SCX", "CPU1", {DSAppName}, DS_SIZE_CMD_ERR_EID, "ERROR", 1 +21-236-13:41:23.055 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:41:23.056 00 SPR-I:OPRO ; Setup event 1 with DS ERROR 54 +21-236-13:41:23.056 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:41:23.059 00 SCX_CPU1_DS_FI/3362 +21-236-13:41:23.059 00 SCX_CPU1_DS_FI/3363 errcnt = SCX_CPU1_DS_CMDEC + 1 +21-236-13:41:23.059 00 SCX_CPU1_DS_FI/3364 +21-236-13:41:23.059 00 SCX_CPU1_DS_FI/3366 rawcmd = "18BBc000000A0B9C" +21-236-13:41:23.059 00 SCX_CPU1_DS_FI/3367 +21-236-13:41:23.059 00 SCX_CPU1_DS_FI/3368 ut_sendrawcmd "SCX_CPU1_DS", (rawcmd) +21-236-13:41:23.074 00 SPR-I:OPRO Sending: 18BBc000000A0B9C +21-236-13:41:23.098 00 SPR-I:OPRO ; Telemetry update will wait a maximum of 24 seconds +21-236-13:41:23.098 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:41:23.581 00 TLMH-I:STS 58-012-14:23:26.001 ERROR CPU=CPU1 APPNAME=DS EVENT ID=54 Invalid DEST SIZE command length: expected = 16, actual = 17 +21-236-13:41:26.102 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:41:26.107 00 SCX_CPU1_DS_FI/3369 +21-236-13:41:26.107 00 SCX_CPU1_DS_FI/3370 ut_tlmwait SCX_CPU1_DS_CMDEC, {errcnt} +21-236-13:41:26.120 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:41:26.122 00 SCX_CPU1_DS_FI/3371 if (UT_TW_Status = UT_Success) then +21-236-13:41:26.122 00 SCX_CPU1_DS_FI/3372 write "<*> Passed (1002;1005) - DS Set Maximum Size Command Rejected Counter incremented." +21-236-13:41:26.122 00 SPR-I:OPRO <*> Passed (1002;1005) - DS Set Maximum Size Command Rejected Counter incremented. +21-236-13:41:26.123 00 SCX_CPU1_DS_FI/3373 ut_setrequirements DS_1002, "P" +21-236-13:41:26.126 00 SCX_CPU1_DS_FI/3374 ut_setrequirements DS_1005, "P" +21-236-13:41:26.131 00 SCX_CPU1_DS_FI/3379 endif +21-236-13:41:26.131 00 SCX_CPU1_DS_FI/3380 +21-236-13:41:26.132 00 SCX_CPU1_DS_FI/3381 if (SCX_CPU1_find_event[1].num_found_messages = 1) THEN +21-236-13:41:26.132 00 SCX_CPU1_DS_FI/3382 write "<*> Passed (1005) - Event message ",SCX_CPU1_find_event[1].eventid, " received" +21-236-13:41:26.133 00 SPR-I:OPRO <*> Passed (1005) - Event message 54 received +21-236-13:41:26.133 00 SCX_CPU1_DS_FI/3383 ut_setrequirements DS_1005, "P" +21-236-13:41:26.174 00 SCX_CPU1_DS_FI/3387 endif +21-236-13:41:26.174 00 SCX_CPU1_DS_FI/3388 +21-236-13:41:26.174 00 SCX_CPU1_DS_FI/3389 wait 5 +21-236-13:41:26.174 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:41:31.178 00 SCX_CPU1_DS_FI/3390 +21-236-13:41:31.178 00 SCX_CPU1_DS_FI/3391 write ";***********************************************************************" +21-236-13:41:31.178 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:41:31.178 00 SCX_CPU1_DS_FI/3392 write "; Step 3.46: Send the Set Maximum Age command. " +21-236-13:41:31.178 00 SPR-I:OPRO ; Step 3.46: Send the Set Maximum Age command. +21-236-13:41:31.178 00 SCX_CPU1_DS_FI/3393 write ";***********************************************************************" +21-236-13:41:31.178 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:41:31.178 00 SCX_CPU1_DS_FI/3395 ut_setupevents "SCX", "CPU1", {DSAppName}, DS_AGE_CMD_EID, "DEBUG", 1 +21-236-13:41:31.186 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:41:31.186 00 SPR-I:OPRO ; Setup event 1 with DS DEBUG 55 +21-236-13:41:31.186 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:41:31.188 00 SCX_CPU1_DS_FI/3396 +21-236-13:41:31.188 00 SCX_CPU1_DS_FI/3397 cmdCtr = SCX_CPU1_DS_CMDPC + 1 +21-236-13:41:31.189 00 SCX_CPU1_DS_FI/3399 /SCX_CPU1_DS_SetMaxFileAge FileIndex=timeFileEntry MaxAge=90 +21-236-13:41:31.204 00 SCX_CPU1_DS_FI/3400 wait 5 +21-236-13:41:31.204 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:41:32.073 00 TLMH-I:STS 58-012-14:23:34.501 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=55 DEST AGE command: file table index = 1, age limit = 90 +21-236-13:41:36.208 00 SCX_CPU1_DS_FI/3401 +21-236-13:41:36.208 00 SCX_CPU1_DS_FI/3402 ut_tlmwait SCX_CPU1_DS_CMDPC, {cmdCtr} +21-236-13:41:36.219 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:41:36.222 00 SCX_CPU1_DS_FI/3403 if (UT_TW_Status = UT_Success) then +21-236-13:41:36.222 00 SCX_CPU1_DS_FI/3404 write "<*> Passed (1004;5015) - DS Set Maximum Age command sent properly." +21-236-13:41:36.223 00 SPR-I:OPRO <*> Passed (1004;5015) - DS Set Maximum Age command sent properly. +21-236-13:41:36.223 00 SCX_CPU1_DS_FI/3405 ut_setrequirements DS_1004, "P" +21-236-13:41:36.228 00 SCX_CPU1_DS_FI/3406 ut_setrequirements DS_5015, "P" +21-236-13:41:36.232 00 SCX_CPU1_DS_FI/3411 endif +21-236-13:41:36.232 00 SCX_CPU1_DS_FI/3412 +21-236-13:41:36.233 00 SCX_CPU1_DS_FI/3414 ut_tlmwait SCX_CPU1_find_event[1].num_found_messages, 1 +21-236-13:41:36.243 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:41:36.245 00 SCX_CPU1_DS_FI/3415 if (UT_TW_Status = UT_Success) then +21-236-13:41:36.245 00 SCX_CPU1_DS_FI/3416 write "<*> Passed (1004;5015) - Expected Event Msg ",DS_AGE_CMD_EID," rcv'd." +21-236-13:41:36.245 00 SPR-I:OPRO <*> Passed (1004;5015) - Expected Event Msg 55 rcv'd. +21-236-13:41:36.245 00 SCX_CPU1_DS_FI/3417 ut_setrequirements DS_1004, "P" +21-236-13:41:36.285 00 SCX_CPU1_DS_FI/3418 ut_setrequirements DS_5015, "P" +21-236-13:41:36.286 00 SCX_CPU1_DS_FI/3423 endif +21-236-13:41:36.286 00 SCX_CPU1_DS_FI/3424 +21-236-13:41:36.286 00 SCX_CPU1_DS_FI/3425 wait 5 +21-236-13:41:36.286 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:41:41.290 00 SCX_CPU1_DS_FI/3426 +21-236-13:41:41.290 00 SCX_CPU1_DS_FI/3427 write ";***********************************************************************" +21-236-13:41:41.290 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:41:41.290 00 SCX_CPU1_DS_FI/3428 write "; Step 3.47: Dump the Destination File Table to verify the change above" +21-236-13:41:41.290 00 SPR-I:OPRO ; Step 3.47: Dump the Destination File Table to verify the change above +21-236-13:41:41.290 00 SCX_CPU1_DS_FI/3429 write ";***********************************************************************" +21-236-13:41:41.290 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:41:41.290 00 SCX_CPU1_DS_FI/3431 s get_tbl_to_cvt (ramDir,fileTblName,"A","cpu1_filetbl347",hostCPU,fileTblPktId) +21-236-13:41:41.291 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/get_tbl_to_cvt.i +21-236-13:41:41.293 00 SPR-I:STS Procedure GET_TBL_TO_CVT started +21-236-13:41:41.294 00 GET_TBL_TO_CVT/2 ; +21-236-13:41:41.294 00 GET_TBL_TO_CVT/3 local logging = %liv (log_procedure) +21-236-13:41:41.294 00 GET_TBL_TO_CVT/4 %liv (log_procedure) = FALSE +21-236-13:41:41.300 00 SPR-I:OPRO Sending Command: /SCX_CPU1_TBL_DUMP ACTIVE DTABLENAME="DS.FILE_TBL" DFILENAME="/ram/cpu1_filetbl347" +21-236-13:41:41.312 00 SPR-I:STTE Wait mode - waiting 15 seconds ... +21-236-13:41:42.077 00 TLMH-I:STS 58-012-14:23:44.502 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=14 Successfully dumped Table 'DS.FILE_TBL' to '/ram/cpu1_filetbl347' +21-236-13:41:56.325 00 SPR-I:OPRO +21-236-13:41:56.325 00 SPR-I:OPRO The TBLNAME is: DS.FILE_TBL +21-236-13:41:56.325 00 SPR-I:OPRO The APID is: P0F76 +21-236-13:41:56.325 00 SPR-I:OPRO The CPU is: CPU3 +21-236-13:41:56.325 00 SPR-I:OPRO The IP Address is: 192.168.1.8 +21-236-13:41:56.327 00 SPR-I:OPRO The perl command is: perl /s/opr/accounts/global/tools/ftp.pl RAM:0 cpu1_filetbl347 cpu1_filetbl347 binary 192.168.1.8 +21-236-13:41:56.463 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-13:41:56.463 00 SPR-I:STTE Wait mode - waiting 15 seconds ... +21-236-13:42:11.473 00 SPR-I:OPRO +21-236-13:42:11.487 00 SPR-I:OPRO The unix command is cvt -ws file_list[3958].file_write_time "`date +%y-%j-%T -r /s/opr/accounts/cfs_test/image/cpu1_filetbl347`" +21-236-13:42:11.487 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:42:16.491 00 GET_TBL_TO_CVT/238 +21-236-13:42:16.491 00 GET_TBL_TO_CVT/239 ENDPROC +21-236-13:42:16.491 00 SPR-I:STS Procedure GET_TBL_TO_CVT completed +21-236-13:42:16.494 00 SCX_CPU1_DS_FI/3432 +21-236-13:42:16.494 00 SCX_CPU1_DS_FI/3434 if (p@SCX_CPU1_DS_DF_TBL[timeFileEntry].FileAge = 90) then +21-236-13:42:16.494 00 SCX_CPU1_DS_FI/3435 write "<*> Passed (5015) - Table entry indicates the correct maximum age." +21-236-13:42:16.494 00 SPR-I:OPRO <*> Passed (5015) - Table entry indicates the correct maximum age. +21-236-13:42:16.495 00 SCX_CPU1_DS_FI/3436 ut_setrequirements DS_5015, "P" +21-236-13:42:16.499 00 SCX_CPU1_DS_FI/3440 endif +21-236-13:42:16.499 00 SCX_CPU1_DS_FI/3441 +21-236-13:42:16.499 00 SCX_CPU1_DS_FI/3442 write ";***********************************************************************" +21-236-13:42:16.499 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:42:16.500 00 SCX_CPU1_DS_FI/3443 write "; Step 3.48: Using the TST_DS application, send a message that will" +21-236-13:42:16.500 00 SPR-I:OPRO ; Step 3.48: Using the TST_DS application, send a message that will +21-236-13:42:16.500 00 SCX_CPU1_DS_FI/3444 write "; create a new file using the destination modified above. " +21-236-13:42:16.500 00 SPR-I:OPRO ; create a new file using the destination modified above. +21-236-13:42:16.500 00 SCX_CPU1_DS_FI/3445 write ";***********************************************************************" +21-236-13:42:16.500 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:42:16.500 00 SCX_CPU1_DS_FI/3447 ut_setupevents "SCX", "CPU1", "TST_DS", TST_DS_MSG3_SENT_INF_EID, "INFO", 1 +21-236-13:42:16.508 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:42:16.508 00 SPR-I:OPRO ; Setup event 1 with TST_DS INFO 7 +21-236-13:42:16.508 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:42:16.545 00 SCX_CPU1_DS_FI/3448 +21-236-13:42:16.545 00 SCX_CPU1_DS_FI/3450 /SCX_CPU1_TST_DS_SENDMESSAGE MsgID=timeMsgID MsgType=3 Pattern=x'AA' +21-236-13:42:16.547 00 SCX_CPU1_DS_FI/3451 wait 5 +21-236-13:42:16.547 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:42:17.075 00 TLMH-I:STS 58-012-14:24:19.502 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=7 Sent Message Size 1016 to MID 0x00001001 +21-236-13:42:21.551 00 SCX_CPU1_DS_FI/3452 +21-236-13:42:21.551 00 SCX_CPU1_DS_FI/3454 cmdCtr = SCX_CPU1_DS_CMDPC + 1 +21-236-13:42:21.551 00 SCX_CPU1_DS_FI/3455 +21-236-13:42:21.551 00 SCX_CPU1_DS_FI/3456 /SCX_CPU1_DS_GetFileInfo +21-236-13:42:21.562 00 SCX_CPU1_DS_FI/3457 +21-236-13:42:21.562 00 SCX_CPU1_DS_FI/3458 ut_tlmwait SCX_CPU1_DS_CMDPC, {cmdCtr} +21-236-13:42:21.565 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:42:22.076 00 TLMH-I:STS 58-012-14:24:24.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:42:26.570 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:42:26.572 00 SCX_CPU1_DS_FI/3459 +21-236-13:42:26.572 00 SCX_CPU1_DS_FI/3462 if (SCX_CPU1_DS_FileState[timeFileEntry].FileName <> "") then +21-236-13:42:26.572 00 SCX_CPU1_DS_FI/3463 fileName2 = SCX_CPU1_DS_FileState[timeFileEntry].FileName +21-236-13:42:26.572 00 SCX_CPU1_DS_FI/3464 write "<*> Passed (3000) - A file was created with name '",fileName2,"'" +21-236-13:42:26.573 00 SPR-I:OPRO <*> Passed (3000) - A file was created with name '/ram/ti1980012142419' +21-236-13:42:26.573 00 SCX_CPU1_DS_FI/3465 ut_setrequirements DS_3000, "P" +21-236-13:42:26.576 00 SCX_CPU1_DS_FI/3466 +21-236-13:42:26.576 00 SCX_CPU1_DS_FI/3467 if (SCX_CPU1_DS_FileState[timeFileEntry].OpenState = DS_OPEN) then +21-236-13:42:26.576 00 SCX_CPU1_DS_FI/3468 write "<*> Passed (3001) - The file is marked 'OPEN'" +21-236-13:42:26.577 00 SPR-I:OPRO <*> Passed (3001) - The file is marked 'OPEN' +21-236-13:42:26.577 00 SCX_CPU1_DS_FI/3469 ut_setrequirements DS_3001, "P" +21-236-13:42:26.580 00 SCX_CPU1_DS_FI/3470 endif +21-236-13:42:26.580 00 SCX_CPU1_DS_FI/3475 endif +21-236-13:42:26.580 00 SCX_CPU1_DS_FI/3476 +21-236-13:42:26.580 00 SCX_CPU1_DS_FI/3478 if (fileName1 <> "") then +21-236-13:42:26.580 00 SCX_CPU1_DS_FI/3479 write "==> Downloading '",fileName1,"'" +21-236-13:42:26.580 00 SPR-I:OPRO ==> Downloading '/ram/ti1980012142100.dat' +21-236-13:42:26.628 00 SCX_CPU1_DS_FI/3480 slashLoc = %locate(fileName1,"/") +21-236-13:42:26.628 00 SCX_CPU1_DS_FI/3481 while (slashLoc <> 0) do +21-236-13:42:26.628 00 SCX_CPU1_DS_FI/3482 fileName1 = %substring(fileName1,slashLoc+1,%length(fileName1)) +21-236-13:42:26.628 00 SCX_CPU1_DS_FI/3483 slashLoc = %locate(fileName1,"/") +21-236-13:42:26.628 00 SCX_CPU1_DS_FI/3484 enddo +21-236-13:42:26.628 00 SCX_CPU1_DS_FI/3482 fileName1 = %substring(fileName1,slashLoc+1,%length(fileName1)) +21-236-13:42:26.628 00 SCX_CPU1_DS_FI/3483 slashLoc = %locate(fileName1,"/") +21-236-13:42:26.629 00 SCX_CPU1_DS_FI/3484 enddo +21-236-13:42:26.629 00 SCX_CPU1_DS_FI/3485 write "==> FileName Only = '",fileName1,"'" +21-236-13:42:26.629 00 SPR-I:OPRO ==> FileName Only = 'ti1980012142100.dat' +21-236-13:42:26.629 00 SCX_CPU1_DS_FI/3488 s ftp_file(ramDir, fileName1, fileName1, hostCPU, "G") +21-236-13:42:26.629 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/ftp_file.i +21-236-13:42:26.629 00 SPR-I:STS Procedure FTP_FILE started +21-236-13:42:26.629 00 FTP_FILE/2 ; +21-236-13:42:26.629 00 FTP_FILE/3 local logging = %liv (log_procedure) +21-236-13:42:26.629 00 FTP_FILE/4 %liv (log_procedure) = FALSE +21-236-13:42:26.732 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-13:42:26.732 00 FTP_FILE/85 ENDPROC +21-236-13:42:26.732 00 SPR-I:STS Procedure FTP_FILE completed +21-236-13:42:26.733 00 SCX_CPU1_DS_FI/3489 endif +21-236-13:42:26.733 00 SCX_CPU1_DS_FI/3490 +21-236-13:42:26.733 00 SCX_CPU1_DS_FI/3491 wait 5 +21-236-13:42:26.733 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:42:31.736 00 SCX_CPU1_DS_FI/3492 +21-236-13:42:31.736 00 SCX_CPU1_DS_FI/3493 write ";***********************************************************************" +21-236-13:42:31.736 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:42:31.736 00 SCX_CPU1_DS_FI/3494 write "; Step 3.49: Wait for the file created above to exceed its maximum age." +21-236-13:42:31.736 00 SPR-I:OPRO ; Step 3.49: Wait for the file created above to exceed its maximum age. +21-236-13:42:31.736 00 SCX_CPU1_DS_FI/3495 write ";***********************************************************************" +21-236-13:42:31.736 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:42:31.736 00 SCX_CPU1_DS_FI/3498 fileAge = SCX_CPU1_DS_DF_TBL[timeFileEntry].FileAge +21-236-13:42:31.737 00 SCX_CPU1_DS_FI/3499 reportedAge = SCX_CPU1_DS_FileState[timeFileEntry].FileAge +21-236-13:42:31.737 00 SCX_CPU1_DS_FI/3500 waitTime = fileAge - reportedAge +21-236-13:42:31.737 00 SCX_CPU1_DS_FI/3501 originalAge = reportedAge +21-236-13:42:31.737 00 SCX_CPU1_DS_FI/3502 fileName1 = SCX_CPU1_DS_FileState[timeFileEntry].FileName +21-236-13:42:31.738 00 SCX_CPU1_DS_FI/3503 +21-236-13:42:31.738 00 SCX_CPU1_DS_FI/3504 while (waitTime > 0) do +21-236-13:42:31.738 00 SCX_CPU1_DS_FI/3506 cmdCtr = SCX_CPU1_DS_CMDPC + 1 +21-236-13:42:31.738 00 SCX_CPU1_DS_FI/3507 +21-236-13:42:31.738 00 SCX_CPU1_DS_FI/3508 /SCX_CPU1_DS_GetFileInfo +21-236-13:42:31.754 00 SCX_CPU1_DS_FI/3509 +21-236-13:42:31.754 00 SCX_CPU1_DS_FI/3510 ut_tlmwait SCX_CPU1_DS_CMDPC, {cmdCtr} +21-236-13:42:31.762 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:42:32.574 00 TLMH-I:STS 58-012-14:24:35.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:42:33.765 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:42:33.766 00 SCX_CPU1_DS_FI/3511 +21-236-13:42:33.766 00 SCX_CPU1_DS_FI/3512 reportedAge = SCX_CPU1_DS_FileState[timeFileEntry].FileAge +21-236-13:42:33.766 00 SCX_CPU1_DS_FI/3513 write "new file age = ",reportedAge +21-236-13:42:33.766 00 SPR-I:OPRO new file age = 16 +21-236-13:42:33.766 00 SCX_CPU1_DS_FI/3514 +21-236-13:42:33.766 00 SCX_CPU1_DS_FI/3516 if (originalAge <> reportedAge) then +21-236-13:42:33.766 00 SCX_CPU1_DS_FI/3517 ut_setrequirements DS_3002, "P" +21-236-13:42:33.767 00 SCX_CPU1_DS_FI/3518 ut_setrequirements DS_30021, "P" +21-236-13:42:33.768 00 SCX_CPU1_DS_FI/3519 endif +21-236-13:42:33.768 00 SCX_CPU1_DS_FI/3520 +21-236-13:42:33.768 00 SCX_CPU1_DS_FI/3521 waitTime = fileAge - reportedAge +21-236-13:42:33.768 00 SCX_CPU1_DS_FI/3522 write "timeout calculation = ",waitTime +21-236-13:42:33.768 00 SPR-I:OPRO timeout calculation = 74 +21-236-13:42:33.768 00 SCX_CPU1_DS_FI/3523 +21-236-13:42:33.768 00 SCX_CPU1_DS_FI/3526 if (SCX_CPU1_DS_FileState[timeFileEntry].FileName = "") AND ;; +21-236-13:42:33.768 00 SCX_CPU1_DS_FI/3527 (SCX_CPU1_DS_FileState[timeFileEntry].FileAge = 0) then +21-236-13:42:33.769 00 SCX_CPU1_DS_FI/3530 endif +21-236-13:42:33.769 00 SCX_CPU1_DS_FI/3531 enddo +21-236-13:42:33.795 00 SCX_CPU1_DS_FI/3506 cmdCtr = SCX_CPU1_DS_CMDPC + 1 +21-236-13:42:33.795 00 SCX_CPU1_DS_FI/3507 +21-236-13:42:33.795 00 SCX_CPU1_DS_FI/3508 /SCX_CPU1_DS_GetFileInfo +21-236-13:42:33.806 00 SCX_CPU1_DS_FI/3509 +21-236-13:42:33.806 00 SCX_CPU1_DS_FI/3510 ut_tlmwait SCX_CPU1_DS_CMDPC, {cmdCtr} +21-236-13:42:33.809 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:42:34.571 00 TLMH-I:STS 58-012-14:24:37.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:42:37.812 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:42:37.813 00 SCX_CPU1_DS_FI/3511 +21-236-13:42:37.813 00 SCX_CPU1_DS_FI/3512 reportedAge = SCX_CPU1_DS_FileState[timeFileEntry].FileAge +21-236-13:42:37.813 00 SCX_CPU1_DS_FI/3513 write "new file age = ",reportedAge +21-236-13:42:37.813 00 SPR-I:OPRO new file age = 20 +21-236-13:42:37.813 00 SCX_CPU1_DS_FI/3514 +21-236-13:42:37.813 00 SCX_CPU1_DS_FI/3516 if (originalAge <> reportedAge) then +21-236-13:42:37.813 00 SCX_CPU1_DS_FI/3517 ut_setrequirements DS_3002, "P" +21-236-13:42:37.814 00 SCX_CPU1_DS_FI/3518 ut_setrequirements DS_30021, "P" +21-236-13:42:37.816 00 SCX_CPU1_DS_FI/3519 endif +21-236-13:42:37.816 00 SCX_CPU1_DS_FI/3520 +21-236-13:42:37.816 00 SCX_CPU1_DS_FI/3521 waitTime = fileAge - reportedAge +21-236-13:42:37.816 00 SCX_CPU1_DS_FI/3522 write "timeout calculation = ",waitTime +21-236-13:42:37.816 00 SPR-I:OPRO timeout calculation = 70 +21-236-13:42:37.816 00 SCX_CPU1_DS_FI/3523 +21-236-13:42:37.816 00 SCX_CPU1_DS_FI/3526 if (SCX_CPU1_DS_FileState[timeFileEntry].FileName = "") AND ;; +21-236-13:42:37.816 00 SCX_CPU1_DS_FI/3527 (SCX_CPU1_DS_FileState[timeFileEntry].FileAge = 0) then +21-236-13:42:37.816 00 SCX_CPU1_DS_FI/3530 endif +21-236-13:42:37.816 00 SCX_CPU1_DS_FI/3531 enddo +21-236-13:42:37.850 00 SCX_CPU1_DS_FI/3506 cmdCtr = SCX_CPU1_DS_CMDPC + 1 +21-236-13:42:37.851 00 SCX_CPU1_DS_FI/3507 +21-236-13:42:37.851 00 SCX_CPU1_DS_FI/3508 /SCX_CPU1_DS_GetFileInfo +21-236-13:42:37.862 00 SCX_CPU1_DS_FI/3509 +21-236-13:42:37.862 00 SCX_CPU1_DS_FI/3510 ut_tlmwait SCX_CPU1_DS_CMDPC, {cmdCtr} +21-236-13:42:37.865 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:42:38.572 00 TLMH-I:STS 58-012-14:24:41.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:42:41.870 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:42:41.873 00 SCX_CPU1_DS_FI/3511 +21-236-13:42:41.873 00 SCX_CPU1_DS_FI/3512 reportedAge = SCX_CPU1_DS_FileState[timeFileEntry].FileAge +21-236-13:42:41.874 00 SCX_CPU1_DS_FI/3513 write "new file age = ",reportedAge +21-236-13:42:41.874 00 SPR-I:OPRO new file age = 24 +21-236-13:42:41.874 00 SCX_CPU1_DS_FI/3514 +21-236-13:42:41.874 00 SCX_CPU1_DS_FI/3516 if (originalAge <> reportedAge) then +21-236-13:42:41.875 00 SCX_CPU1_DS_FI/3517 ut_setrequirements DS_3002, "P" +21-236-13:42:41.879 00 SCX_CPU1_DS_FI/3518 ut_setrequirements DS_30021, "P" +21-236-13:42:41.884 00 SCX_CPU1_DS_FI/3519 endif +21-236-13:42:41.884 00 SCX_CPU1_DS_FI/3520 +21-236-13:42:41.884 00 SCX_CPU1_DS_FI/3521 waitTime = fileAge - reportedAge +21-236-13:42:41.885 00 SCX_CPU1_DS_FI/3522 write "timeout calculation = ",waitTime +21-236-13:42:41.885 00 SPR-I:OPRO timeout calculation = 66 +21-236-13:42:41.885 00 SCX_CPU1_DS_FI/3523 +21-236-13:42:41.885 00 SCX_CPU1_DS_FI/3526 if (SCX_CPU1_DS_FileState[timeFileEntry].FileName = "") AND ;; +21-236-13:42:41.885 00 SCX_CPU1_DS_FI/3527 (SCX_CPU1_DS_FileState[timeFileEntry].FileAge = 0) then +21-236-13:42:41.886 00 SCX_CPU1_DS_FI/3530 endif +21-236-13:42:41.886 00 SCX_CPU1_DS_FI/3531 enddo +21-236-13:42:41.935 00 SCX_CPU1_DS_FI/3506 cmdCtr = SCX_CPU1_DS_CMDPC + 1 +21-236-13:42:41.935 00 SCX_CPU1_DS_FI/3507 +21-236-13:42:41.935 00 SCX_CPU1_DS_FI/3508 /SCX_CPU1_DS_GetFileInfo +21-236-13:42:41.947 00 SCX_CPU1_DS_FI/3509 +21-236-13:42:41.947 00 SCX_CPU1_DS_FI/3510 ut_tlmwait SCX_CPU1_DS_CMDPC, {cmdCtr} +21-236-13:42:41.950 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:42:42.578 00 TLMH-I:STS 58-012-14:24:45.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:42:45.955 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:42:45.957 00 SCX_CPU1_DS_FI/3511 +21-236-13:42:45.957 00 SCX_CPU1_DS_FI/3512 reportedAge = SCX_CPU1_DS_FileState[timeFileEntry].FileAge +21-236-13:42:45.958 00 SCX_CPU1_DS_FI/3513 write "new file age = ",reportedAge +21-236-13:42:45.958 00 SPR-I:OPRO new file age = 28 +21-236-13:42:45.958 00 SCX_CPU1_DS_FI/3514 +21-236-13:42:45.958 00 SCX_CPU1_DS_FI/3516 if (originalAge <> reportedAge) then +21-236-13:42:45.958 00 SCX_CPU1_DS_FI/3517 ut_setrequirements DS_3002, "P" +21-236-13:42:45.962 00 SCX_CPU1_DS_FI/3518 ut_setrequirements DS_30021, "P" +21-236-13:42:45.967 00 SCX_CPU1_DS_FI/3519 endif +21-236-13:42:45.967 00 SCX_CPU1_DS_FI/3520 +21-236-13:42:45.967 00 SCX_CPU1_DS_FI/3521 waitTime = fileAge - reportedAge +21-236-13:42:45.967 00 SCX_CPU1_DS_FI/3522 write "timeout calculation = ",waitTime +21-236-13:42:45.967 00 SPR-I:OPRO timeout calculation = 62 +21-236-13:42:45.967 00 SCX_CPU1_DS_FI/3523 +21-236-13:42:45.968 00 SCX_CPU1_DS_FI/3526 if (SCX_CPU1_DS_FileState[timeFileEntry].FileName = "") AND ;; +21-236-13:42:45.968 00 SCX_CPU1_DS_FI/3527 (SCX_CPU1_DS_FileState[timeFileEntry].FileAge = 0) then +21-236-13:42:45.968 00 SCX_CPU1_DS_FI/3530 endif +21-236-13:42:45.969 00 SCX_CPU1_DS_FI/3531 enddo +21-236-13:42:46.015 00 SCX_CPU1_DS_FI/3506 cmdCtr = SCX_CPU1_DS_CMDPC + 1 +21-236-13:42:46.015 00 SCX_CPU1_DS_FI/3507 +21-236-13:42:46.015 00 SCX_CPU1_DS_FI/3508 /SCX_CPU1_DS_GetFileInfo +21-236-13:42:46.027 00 SCX_CPU1_DS_FI/3509 +21-236-13:42:46.027 00 SCX_CPU1_DS_FI/3510 ut_tlmwait SCX_CPU1_DS_CMDPC, {cmdCtr} +21-236-13:42:46.034 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:42:46.573 00 TLMH-I:STS 58-012-14:24:49.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:42:50.037 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:42:50.039 00 SCX_CPU1_DS_FI/3511 +21-236-13:42:50.039 00 SCX_CPU1_DS_FI/3512 reportedAge = SCX_CPU1_DS_FileState[timeFileEntry].FileAge +21-236-13:42:50.040 00 SCX_CPU1_DS_FI/3513 write "new file age = ",reportedAge +21-236-13:42:50.040 00 SPR-I:OPRO new file age = 32 +21-236-13:42:50.040 00 SCX_CPU1_DS_FI/3514 +21-236-13:42:50.040 00 SCX_CPU1_DS_FI/3516 if (originalAge <> reportedAge) then +21-236-13:42:50.040 00 SCX_CPU1_DS_FI/3517 ut_setrequirements DS_3002, "P" +21-236-13:42:50.044 00 SCX_CPU1_DS_FI/3518 ut_setrequirements DS_30021, "P" +21-236-13:42:50.048 00 SCX_CPU1_DS_FI/3519 endif +21-236-13:42:50.048 00 SCX_CPU1_DS_FI/3520 +21-236-13:42:50.048 00 SCX_CPU1_DS_FI/3521 waitTime = fileAge - reportedAge +21-236-13:42:50.049 00 SCX_CPU1_DS_FI/3522 write "timeout calculation = ",waitTime +21-236-13:42:50.049 00 SPR-I:OPRO timeout calculation = 58 +21-236-13:42:50.049 00 SCX_CPU1_DS_FI/3523 +21-236-13:42:50.049 00 SCX_CPU1_DS_FI/3526 if (SCX_CPU1_DS_FileState[timeFileEntry].FileName = "") AND ;; +21-236-13:42:50.049 00 SCX_CPU1_DS_FI/3527 (SCX_CPU1_DS_FileState[timeFileEntry].FileAge = 0) then +21-236-13:42:50.049 00 SCX_CPU1_DS_FI/3530 endif +21-236-13:42:50.050 00 SCX_CPU1_DS_FI/3531 enddo +21-236-13:42:50.093 00 SCX_CPU1_DS_FI/3506 cmdCtr = SCX_CPU1_DS_CMDPC + 1 +21-236-13:42:50.093 00 SCX_CPU1_DS_FI/3507 +21-236-13:42:50.093 00 SCX_CPU1_DS_FI/3508 /SCX_CPU1_DS_GetFileInfo +21-236-13:42:50.095 00 SCX_CPU1_DS_FI/3509 +21-236-13:42:50.095 00 SCX_CPU1_DS_FI/3510 ut_tlmwait SCX_CPU1_DS_CMDPC, {cmdCtr} +21-236-13:42:50.098 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:42:50.571 00 TLMH-I:STS 58-012-14:24:53.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:42:54.103 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:42:54.106 00 SCX_CPU1_DS_FI/3511 +21-236-13:42:54.106 00 SCX_CPU1_DS_FI/3512 reportedAge = SCX_CPU1_DS_FileState[timeFileEntry].FileAge +21-236-13:42:54.106 00 SCX_CPU1_DS_FI/3513 write "new file age = ",reportedAge +21-236-13:42:54.107 00 SPR-I:OPRO new file age = 36 +21-236-13:42:54.107 00 SCX_CPU1_DS_FI/3514 +21-236-13:42:54.107 00 SCX_CPU1_DS_FI/3516 if (originalAge <> reportedAge) then +21-236-13:42:54.107 00 SCX_CPU1_DS_FI/3517 ut_setrequirements DS_3002, "P" +21-236-13:42:54.112 00 SCX_CPU1_DS_FI/3518 ut_setrequirements DS_30021, "P" +21-236-13:42:54.117 00 SCX_CPU1_DS_FI/3519 endif +21-236-13:42:54.117 00 SCX_CPU1_DS_FI/3520 +21-236-13:42:54.117 00 SCX_CPU1_DS_FI/3521 waitTime = fileAge - reportedAge +21-236-13:42:54.117 00 SCX_CPU1_DS_FI/3522 write "timeout calculation = ",waitTime +21-236-13:42:54.118 00 SPR-I:OPRO timeout calculation = 54 +21-236-13:42:54.118 00 SCX_CPU1_DS_FI/3523 +21-236-13:42:54.118 00 SCX_CPU1_DS_FI/3526 if (SCX_CPU1_DS_FileState[timeFileEntry].FileName = "") AND ;; +21-236-13:42:54.118 00 SCX_CPU1_DS_FI/3527 (SCX_CPU1_DS_FileState[timeFileEntry].FileAge = 0) then +21-236-13:42:54.118 00 SCX_CPU1_DS_FI/3530 endif +21-236-13:42:54.119 00 SCX_CPU1_DS_FI/3531 enddo +21-236-13:42:54.168 00 SCX_CPU1_DS_FI/3506 cmdCtr = SCX_CPU1_DS_CMDPC + 1 +21-236-13:42:54.168 00 SCX_CPU1_DS_FI/3507 +21-236-13:42:54.168 00 SCX_CPU1_DS_FI/3508 /SCX_CPU1_DS_GetFileInfo +21-236-13:42:54.180 00 SCX_CPU1_DS_FI/3509 +21-236-13:42:54.180 00 SCX_CPU1_DS_FI/3510 ut_tlmwait SCX_CPU1_DS_CMDPC, {cmdCtr} +21-236-13:42:54.183 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:42:55.078 00 TLMH-I:STS 58-012-14:24:57.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:42:58.187 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:42:58.190 00 SCX_CPU1_DS_FI/3511 +21-236-13:42:58.190 00 SCX_CPU1_DS_FI/3512 reportedAge = SCX_CPU1_DS_FileState[timeFileEntry].FileAge +21-236-13:42:58.191 00 SCX_CPU1_DS_FI/3513 write "new file age = ",reportedAge +21-236-13:42:58.191 00 SPR-I:OPRO new file age = 40 +21-236-13:42:58.191 00 SCX_CPU1_DS_FI/3514 +21-236-13:42:58.191 00 SCX_CPU1_DS_FI/3516 if (originalAge <> reportedAge) then +21-236-13:42:58.191 00 SCX_CPU1_DS_FI/3517 ut_setrequirements DS_3002, "P" +21-236-13:42:58.194 00 SCX_CPU1_DS_FI/3518 ut_setrequirements DS_30021, "P" +21-236-13:42:58.195 00 SCX_CPU1_DS_FI/3519 endif +21-236-13:42:58.195 00 SCX_CPU1_DS_FI/3520 +21-236-13:42:58.195 00 SCX_CPU1_DS_FI/3521 waitTime = fileAge - reportedAge +21-236-13:42:58.195 00 SCX_CPU1_DS_FI/3522 write "timeout calculation = ",waitTime +21-236-13:42:58.195 00 SPR-I:OPRO timeout calculation = 50 +21-236-13:42:58.195 00 SCX_CPU1_DS_FI/3523 +21-236-13:42:58.195 00 SCX_CPU1_DS_FI/3526 if (SCX_CPU1_DS_FileState[timeFileEntry].FileName = "") AND ;; +21-236-13:42:58.195 00 SCX_CPU1_DS_FI/3527 (SCX_CPU1_DS_FileState[timeFileEntry].FileAge = 0) then +21-236-13:42:58.195 00 SCX_CPU1_DS_FI/3530 endif +21-236-13:42:58.195 00 SCX_CPU1_DS_FI/3531 enddo +21-236-13:42:58.228 00 SCX_CPU1_DS_FI/3506 cmdCtr = SCX_CPU1_DS_CMDPC + 1 +21-236-13:42:58.228 00 SCX_CPU1_DS_FI/3507 +21-236-13:42:58.228 00 SCX_CPU1_DS_FI/3508 /SCX_CPU1_DS_GetFileInfo +21-236-13:42:58.240 00 SCX_CPU1_DS_FI/3509 +21-236-13:42:58.240 00 SCX_CPU1_DS_FI/3510 ut_tlmwait SCX_CPU1_DS_CMDPC, {cmdCtr} +21-236-13:42:58.244 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:42:59.080 00 TLMH-I:STS 58-012-14:25:01.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:43:02.248 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:43:02.250 00 SCX_CPU1_DS_FI/3511 +21-236-13:43:02.250 00 SCX_CPU1_DS_FI/3512 reportedAge = SCX_CPU1_DS_FileState[timeFileEntry].FileAge +21-236-13:43:02.251 00 SCX_CPU1_DS_FI/3513 write "new file age = ",reportedAge +21-236-13:43:02.251 00 SPR-I:OPRO new file age = 44 +21-236-13:43:02.251 00 SCX_CPU1_DS_FI/3514 +21-236-13:43:02.251 00 SCX_CPU1_DS_FI/3516 if (originalAge <> reportedAge) then +21-236-13:43:02.251 00 SCX_CPU1_DS_FI/3517 ut_setrequirements DS_3002, "P" +21-236-13:43:02.254 00 SCX_CPU1_DS_FI/3518 ut_setrequirements DS_30021, "P" +21-236-13:43:02.255 00 SCX_CPU1_DS_FI/3519 endif +21-236-13:43:02.255 00 SCX_CPU1_DS_FI/3520 +21-236-13:43:02.255 00 SCX_CPU1_DS_FI/3521 waitTime = fileAge - reportedAge +21-236-13:43:02.255 00 SCX_CPU1_DS_FI/3522 write "timeout calculation = ",waitTime +21-236-13:43:02.255 00 SPR-I:OPRO timeout calculation = 46 +21-236-13:43:02.255 00 SCX_CPU1_DS_FI/3523 +21-236-13:43:02.255 00 SCX_CPU1_DS_FI/3526 if (SCX_CPU1_DS_FileState[timeFileEntry].FileName = "") AND ;; +21-236-13:43:02.255 00 SCX_CPU1_DS_FI/3527 (SCX_CPU1_DS_FileState[timeFileEntry].FileAge = 0) then +21-236-13:43:02.255 00 SCX_CPU1_DS_FI/3530 endif +21-236-13:43:02.255 00 SCX_CPU1_DS_FI/3531 enddo +21-236-13:43:02.279 00 SCX_CPU1_DS_FI/3506 cmdCtr = SCX_CPU1_DS_CMDPC + 1 +21-236-13:43:02.279 00 SCX_CPU1_DS_FI/3507 +21-236-13:43:02.279 00 SCX_CPU1_DS_FI/3508 /SCX_CPU1_DS_GetFileInfo +21-236-13:43:02.290 00 SCX_CPU1_DS_FI/3509 +21-236-13:43:02.290 00 SCX_CPU1_DS_FI/3510 ut_tlmwait SCX_CPU1_DS_CMDPC, {cmdCtr} +21-236-13:43:02.294 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:43:03.073 00 TLMH-I:STS 58-012-14:25:05.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:43:06.298 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:43:06.300 00 SCX_CPU1_DS_FI/3511 +21-236-13:43:06.300 00 SCX_CPU1_DS_FI/3512 reportedAge = SCX_CPU1_DS_FileState[timeFileEntry].FileAge +21-236-13:43:06.300 00 SCX_CPU1_DS_FI/3513 write "new file age = ",reportedAge +21-236-13:43:06.301 00 SPR-I:OPRO new file age = 48 +21-236-13:43:06.301 00 SCX_CPU1_DS_FI/3514 +21-236-13:43:06.301 00 SCX_CPU1_DS_FI/3516 if (originalAge <> reportedAge) then +21-236-13:43:06.301 00 SCX_CPU1_DS_FI/3517 ut_setrequirements DS_3002, "P" +21-236-13:43:06.305 00 SCX_CPU1_DS_FI/3518 ut_setrequirements DS_30021, "P" +21-236-13:43:06.310 00 SCX_CPU1_DS_FI/3519 endif +21-236-13:43:06.310 00 SCX_CPU1_DS_FI/3520 +21-236-13:43:06.310 00 SCX_CPU1_DS_FI/3521 waitTime = fileAge - reportedAge +21-236-13:43:06.310 00 SCX_CPU1_DS_FI/3522 write "timeout calculation = ",waitTime +21-236-13:43:06.310 00 SPR-I:OPRO timeout calculation = 42 +21-236-13:43:06.310 00 SCX_CPU1_DS_FI/3523 +21-236-13:43:06.310 00 SCX_CPU1_DS_FI/3526 if (SCX_CPU1_DS_FileState[timeFileEntry].FileName = "") AND ;; +21-236-13:43:06.311 00 SCX_CPU1_DS_FI/3527 (SCX_CPU1_DS_FileState[timeFileEntry].FileAge = 0) then +21-236-13:43:06.311 00 SCX_CPU1_DS_FI/3530 endif +21-236-13:43:06.311 00 SCX_CPU1_DS_FI/3531 enddo +21-236-13:43:06.363 00 SCX_CPU1_DS_FI/3506 cmdCtr = SCX_CPU1_DS_CMDPC + 1 +21-236-13:43:06.363 00 SCX_CPU1_DS_FI/3507 +21-236-13:43:06.363 00 SCX_CPU1_DS_FI/3508 /SCX_CPU1_DS_GetFileInfo +21-236-13:43:06.365 00 SCX_CPU1_DS_FI/3509 +21-236-13:43:06.365 00 SCX_CPU1_DS_FI/3510 ut_tlmwait SCX_CPU1_DS_CMDPC, {cmdCtr} +21-236-13:43:06.368 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:43:07.076 00 TLMH-I:STS 58-012-14:25:09.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:43:10.373 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:43:10.375 00 SCX_CPU1_DS_FI/3511 +21-236-13:43:10.376 00 SCX_CPU1_DS_FI/3512 reportedAge = SCX_CPU1_DS_FileState[timeFileEntry].FileAge +21-236-13:43:10.376 00 SCX_CPU1_DS_FI/3513 write "new file age = ",reportedAge +21-236-13:43:10.376 00 SPR-I:OPRO new file age = 52 +21-236-13:43:10.376 00 SCX_CPU1_DS_FI/3514 +21-236-13:43:10.376 00 SCX_CPU1_DS_FI/3516 if (originalAge <> reportedAge) then +21-236-13:43:10.377 00 SCX_CPU1_DS_FI/3517 ut_setrequirements DS_3002, "P" +21-236-13:43:10.378 00 SCX_CPU1_DS_FI/3518 ut_setrequirements DS_30021, "P" +21-236-13:43:10.379 00 SCX_CPU1_DS_FI/3519 endif +21-236-13:43:10.379 00 SCX_CPU1_DS_FI/3520 +21-236-13:43:10.379 00 SCX_CPU1_DS_FI/3521 waitTime = fileAge - reportedAge +21-236-13:43:10.379 00 SCX_CPU1_DS_FI/3522 write "timeout calculation = ",waitTime +21-236-13:43:10.380 00 SPR-I:OPRO timeout calculation = 38 +21-236-13:43:10.380 00 SCX_CPU1_DS_FI/3523 +21-236-13:43:10.380 00 SCX_CPU1_DS_FI/3526 if (SCX_CPU1_DS_FileState[timeFileEntry].FileName = "") AND ;; +21-236-13:43:10.380 00 SCX_CPU1_DS_FI/3527 (SCX_CPU1_DS_FileState[timeFileEntry].FileAge = 0) then +21-236-13:43:10.380 00 SCX_CPU1_DS_FI/3530 endif +21-236-13:43:10.380 00 SCX_CPU1_DS_FI/3531 enddo +21-236-13:43:10.403 00 SCX_CPU1_DS_FI/3506 cmdCtr = SCX_CPU1_DS_CMDPC + 1 +21-236-13:43:10.403 00 SCX_CPU1_DS_FI/3507 +21-236-13:43:10.403 00 SCX_CPU1_DS_FI/3508 /SCX_CPU1_DS_GetFileInfo +21-236-13:43:10.414 00 SCX_CPU1_DS_FI/3509 +21-236-13:43:10.414 00 SCX_CPU1_DS_FI/3510 ut_tlmwait SCX_CPU1_DS_CMDPC, {cmdCtr} +21-236-13:43:10.417 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:43:11.081 00 TLMH-I:STS 58-012-14:25:13.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:43:14.422 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:43:14.424 00 SCX_CPU1_DS_FI/3511 +21-236-13:43:14.424 00 SCX_CPU1_DS_FI/3512 reportedAge = SCX_CPU1_DS_FileState[timeFileEntry].FileAge +21-236-13:43:14.424 00 SCX_CPU1_DS_FI/3513 write "new file age = ",reportedAge +21-236-13:43:14.425 00 SPR-I:OPRO new file age = 56 +21-236-13:43:14.425 00 SCX_CPU1_DS_FI/3514 +21-236-13:43:14.425 00 SCX_CPU1_DS_FI/3516 if (originalAge <> reportedAge) then +21-236-13:43:14.425 00 SCX_CPU1_DS_FI/3517 ut_setrequirements DS_3002, "P" +21-236-13:43:14.427 00 SCX_CPU1_DS_FI/3518 ut_setrequirements DS_30021, "P" +21-236-13:43:14.428 00 SCX_CPU1_DS_FI/3519 endif +21-236-13:43:14.428 00 SCX_CPU1_DS_FI/3520 +21-236-13:43:14.428 00 SCX_CPU1_DS_FI/3521 waitTime = fileAge - reportedAge +21-236-13:43:14.428 00 SCX_CPU1_DS_FI/3522 write "timeout calculation = ",waitTime +21-236-13:43:14.428 00 SPR-I:OPRO timeout calculation = 34 +21-236-13:43:14.428 00 SCX_CPU1_DS_FI/3523 +21-236-13:43:14.428 00 SCX_CPU1_DS_FI/3526 if (SCX_CPU1_DS_FileState[timeFileEntry].FileName = "") AND ;; +21-236-13:43:14.428 00 SCX_CPU1_DS_FI/3527 (SCX_CPU1_DS_FileState[timeFileEntry].FileAge = 0) then +21-236-13:43:14.428 00 SCX_CPU1_DS_FI/3530 endif +21-236-13:43:14.428 00 SCX_CPU1_DS_FI/3531 enddo +21-236-13:43:14.458 00 SCX_CPU1_DS_FI/3506 cmdCtr = SCX_CPU1_DS_CMDPC + 1 +21-236-13:43:14.458 00 SCX_CPU1_DS_FI/3507 +21-236-13:43:14.458 00 SCX_CPU1_DS_FI/3508 /SCX_CPU1_DS_GetFileInfo +21-236-13:43:14.470 00 SCX_CPU1_DS_FI/3509 +21-236-13:43:14.470 00 SCX_CPU1_DS_FI/3510 ut_tlmwait SCX_CPU1_DS_CMDPC, {cmdCtr} +21-236-13:43:14.473 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:43:15.073 00 TLMH-I:STS 58-012-14:25:17.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:43:18.478 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:43:18.481 00 SCX_CPU1_DS_FI/3511 +21-236-13:43:18.481 00 SCX_CPU1_DS_FI/3512 reportedAge = SCX_CPU1_DS_FileState[timeFileEntry].FileAge +21-236-13:43:18.481 00 SCX_CPU1_DS_FI/3513 write "new file age = ",reportedAge +21-236-13:43:18.481 00 SPR-I:OPRO new file age = 60 +21-236-13:43:18.481 00 SCX_CPU1_DS_FI/3514 +21-236-13:43:18.481 00 SCX_CPU1_DS_FI/3516 if (originalAge <> reportedAge) then +21-236-13:43:18.482 00 SCX_CPU1_DS_FI/3517 ut_setrequirements DS_3002, "P" +21-236-13:43:18.486 00 SCX_CPU1_DS_FI/3518 ut_setrequirements DS_30021, "P" +21-236-13:43:18.491 00 SCX_CPU1_DS_FI/3519 endif +21-236-13:43:18.491 00 SCX_CPU1_DS_FI/3520 +21-236-13:43:18.491 00 SCX_CPU1_DS_FI/3521 waitTime = fileAge - reportedAge +21-236-13:43:18.492 00 SCX_CPU1_DS_FI/3522 write "timeout calculation = ",waitTime +21-236-13:43:18.492 00 SPR-I:OPRO timeout calculation = 30 +21-236-13:43:18.492 00 SCX_CPU1_DS_FI/3523 +21-236-13:43:18.492 00 SCX_CPU1_DS_FI/3526 if (SCX_CPU1_DS_FileState[timeFileEntry].FileName = "") AND ;; +21-236-13:43:18.492 00 SCX_CPU1_DS_FI/3527 (SCX_CPU1_DS_FileState[timeFileEntry].FileAge = 0) then +21-236-13:43:18.494 00 SCX_CPU1_DS_FI/3530 endif +21-236-13:43:18.494 00 SCX_CPU1_DS_FI/3531 enddo +21-236-13:43:18.539 00 SCX_CPU1_DS_FI/3506 cmdCtr = SCX_CPU1_DS_CMDPC + 1 +21-236-13:43:18.539 00 SCX_CPU1_DS_FI/3507 +21-236-13:43:18.539 00 SCX_CPU1_DS_FI/3508 /SCX_CPU1_DS_GetFileInfo +21-236-13:43:18.551 00 SCX_CPU1_DS_FI/3509 +21-236-13:43:18.551 00 SCX_CPU1_DS_FI/3510 ut_tlmwait SCX_CPU1_DS_CMDPC, {cmdCtr} +21-236-13:43:18.554 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:43:19.076 00 TLMH-I:STS 58-012-14:25:21.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:43:22.558 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:43:22.562 00 SCX_CPU1_DS_FI/3511 +21-236-13:43:22.562 00 SCX_CPU1_DS_FI/3512 reportedAge = SCX_CPU1_DS_FileState[timeFileEntry].FileAge +21-236-13:43:22.562 00 SCX_CPU1_DS_FI/3513 write "new file age = ",reportedAge +21-236-13:43:22.562 00 SPR-I:OPRO new file age = 64 +21-236-13:43:22.562 00 SCX_CPU1_DS_FI/3514 +21-236-13:43:22.562 00 SCX_CPU1_DS_FI/3516 if (originalAge <> reportedAge) then +21-236-13:43:22.563 00 SCX_CPU1_DS_FI/3517 ut_setrequirements DS_3002, "P" +21-236-13:43:22.574 00 SCX_CPU1_DS_FI/3518 ut_setrequirements DS_30021, "P" +21-236-13:43:22.579 00 SCX_CPU1_DS_FI/3519 endif +21-236-13:43:22.579 00 SCX_CPU1_DS_FI/3520 +21-236-13:43:22.579 00 SCX_CPU1_DS_FI/3521 waitTime = fileAge - reportedAge +21-236-13:43:22.579 00 SCX_CPU1_DS_FI/3522 write "timeout calculation = ",waitTime +21-236-13:43:22.579 00 SPR-I:OPRO timeout calculation = 26 +21-236-13:43:22.580 00 SCX_CPU1_DS_FI/3523 +21-236-13:43:22.580 00 SCX_CPU1_DS_FI/3526 if (SCX_CPU1_DS_FileState[timeFileEntry].FileName = "") AND ;; +21-236-13:43:22.580 00 SCX_CPU1_DS_FI/3527 (SCX_CPU1_DS_FileState[timeFileEntry].FileAge = 0) then +21-236-13:43:22.580 00 SCX_CPU1_DS_FI/3530 endif +21-236-13:43:22.580 00 SCX_CPU1_DS_FI/3531 enddo +21-236-13:43:22.612 00 SCX_CPU1_DS_FI/3506 cmdCtr = SCX_CPU1_DS_CMDPC + 1 +21-236-13:43:22.612 00 SCX_CPU1_DS_FI/3507 +21-236-13:43:22.612 00 SCX_CPU1_DS_FI/3508 /SCX_CPU1_DS_GetFileInfo +21-236-13:43:22.614 00 SCX_CPU1_DS_FI/3509 +21-236-13:43:22.614 00 SCX_CPU1_DS_FI/3510 ut_tlmwait SCX_CPU1_DS_CMDPC, {cmdCtr} +21-236-13:43:22.617 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:43:23.078 00 TLMH-I:STS 58-012-14:25:25.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:43:25.620 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:43:25.622 00 SCX_CPU1_DS_FI/3511 +21-236-13:43:25.622 00 SCX_CPU1_DS_FI/3512 reportedAge = SCX_CPU1_DS_FileState[timeFileEntry].FileAge +21-236-13:43:25.622 00 SCX_CPU1_DS_FI/3513 write "new file age = ",reportedAge +21-236-13:43:25.622 00 SPR-I:OPRO new file age = 68 +21-236-13:43:25.622 00 SCX_CPU1_DS_FI/3514 +21-236-13:43:25.622 00 SCX_CPU1_DS_FI/3516 if (originalAge <> reportedAge) then +21-236-13:43:25.622 00 SCX_CPU1_DS_FI/3517 ut_setrequirements DS_3002, "P" +21-236-13:43:25.626 00 SCX_CPU1_DS_FI/3518 ut_setrequirements DS_30021, "P" +21-236-13:43:25.629 00 SCX_CPU1_DS_FI/3519 endif +21-236-13:43:25.629 00 SCX_CPU1_DS_FI/3520 +21-236-13:43:25.629 00 SCX_CPU1_DS_FI/3521 waitTime = fileAge - reportedAge +21-236-13:43:25.629 00 SCX_CPU1_DS_FI/3522 write "timeout calculation = ",waitTime +21-236-13:43:25.630 00 SPR-I:OPRO timeout calculation = 22 +21-236-13:43:25.630 00 SCX_CPU1_DS_FI/3523 +21-236-13:43:25.630 00 SCX_CPU1_DS_FI/3526 if (SCX_CPU1_DS_FileState[timeFileEntry].FileName = "") AND ;; +21-236-13:43:25.630 00 SCX_CPU1_DS_FI/3527 (SCX_CPU1_DS_FileState[timeFileEntry].FileAge = 0) then +21-236-13:43:25.630 00 SCX_CPU1_DS_FI/3530 endif +21-236-13:43:25.631 00 SCX_CPU1_DS_FI/3531 enddo +21-236-13:43:25.677 00 SCX_CPU1_DS_FI/3506 cmdCtr = SCX_CPU1_DS_CMDPC + 1 +21-236-13:43:25.677 00 SCX_CPU1_DS_FI/3507 +21-236-13:43:25.677 00 SCX_CPU1_DS_FI/3508 /SCX_CPU1_DS_GetFileInfo +21-236-13:43:25.688 00 SCX_CPU1_DS_FI/3509 +21-236-13:43:25.688 00 SCX_CPU1_DS_FI/3510 ut_tlmwait SCX_CPU1_DS_CMDPC, {cmdCtr} +21-236-13:43:25.691 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:43:26.576 00 TLMH-I:STS 58-012-14:25:29.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:43:29.695 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:43:29.698 00 SCX_CPU1_DS_FI/3511 +21-236-13:43:29.698 00 SCX_CPU1_DS_FI/3512 reportedAge = SCX_CPU1_DS_FileState[timeFileEntry].FileAge +21-236-13:43:29.698 00 SCX_CPU1_DS_FI/3513 write "new file age = ",reportedAge +21-236-13:43:29.698 00 SPR-I:OPRO new file age = 72 +21-236-13:43:29.698 00 SCX_CPU1_DS_FI/3514 +21-236-13:43:29.698 00 SCX_CPU1_DS_FI/3516 if (originalAge <> reportedAge) then +21-236-13:43:29.699 00 SCX_CPU1_DS_FI/3517 ut_setrequirements DS_3002, "P" +21-236-13:43:29.701 00 SCX_CPU1_DS_FI/3518 ut_setrequirements DS_30021, "P" +21-236-13:43:29.704 00 SCX_CPU1_DS_FI/3519 endif +21-236-13:43:29.704 00 SCX_CPU1_DS_FI/3520 +21-236-13:43:29.704 00 SCX_CPU1_DS_FI/3521 waitTime = fileAge - reportedAge +21-236-13:43:29.705 00 SCX_CPU1_DS_FI/3522 write "timeout calculation = ",waitTime +21-236-13:43:29.705 00 SPR-I:OPRO timeout calculation = 18 +21-236-13:43:29.705 00 SCX_CPU1_DS_FI/3523 +21-236-13:43:29.705 00 SCX_CPU1_DS_FI/3526 if (SCX_CPU1_DS_FileState[timeFileEntry].FileName = "") AND ;; +21-236-13:43:29.705 00 SCX_CPU1_DS_FI/3527 (SCX_CPU1_DS_FileState[timeFileEntry].FileAge = 0) then +21-236-13:43:29.705 00 SCX_CPU1_DS_FI/3530 endif +21-236-13:43:29.705 00 SCX_CPU1_DS_FI/3531 enddo +21-236-13:43:29.739 00 SCX_CPU1_DS_FI/3506 cmdCtr = SCX_CPU1_DS_CMDPC + 1 +21-236-13:43:29.739 00 SCX_CPU1_DS_FI/3507 +21-236-13:43:29.739 00 SCX_CPU1_DS_FI/3508 /SCX_CPU1_DS_GetFileInfo +21-236-13:43:29.750 00 SCX_CPU1_DS_FI/3509 +21-236-13:43:29.750 00 SCX_CPU1_DS_FI/3510 ut_tlmwait SCX_CPU1_DS_CMDPC, {cmdCtr} +21-236-13:43:29.753 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:43:30.576 00 TLMH-I:STS 58-012-14:25:33.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:43:33.757 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:43:33.760 00 SCX_CPU1_DS_FI/3511 +21-236-13:43:33.760 00 SCX_CPU1_DS_FI/3512 reportedAge = SCX_CPU1_DS_FileState[timeFileEntry].FileAge +21-236-13:43:33.760 00 SCX_CPU1_DS_FI/3513 write "new file age = ",reportedAge +21-236-13:43:33.761 00 SPR-I:OPRO new file age = 76 +21-236-13:43:33.761 00 SCX_CPU1_DS_FI/3514 +21-236-13:43:33.761 00 SCX_CPU1_DS_FI/3516 if (originalAge <> reportedAge) then +21-236-13:43:33.761 00 SCX_CPU1_DS_FI/3517 ut_setrequirements DS_3002, "P" +21-236-13:43:33.767 00 SCX_CPU1_DS_FI/3518 ut_setrequirements DS_30021, "P" +21-236-13:43:33.771 00 SCX_CPU1_DS_FI/3519 endif +21-236-13:43:33.771 00 SCX_CPU1_DS_FI/3520 +21-236-13:43:33.771 00 SCX_CPU1_DS_FI/3521 waitTime = fileAge - reportedAge +21-236-13:43:33.771 00 SCX_CPU1_DS_FI/3522 write "timeout calculation = ",waitTime +21-236-13:43:33.771 00 SPR-I:OPRO timeout calculation = 14 +21-236-13:43:33.771 00 SCX_CPU1_DS_FI/3523 +21-236-13:43:33.771 00 SCX_CPU1_DS_FI/3526 if (SCX_CPU1_DS_FileState[timeFileEntry].FileName = "") AND ;; +21-236-13:43:33.771 00 SCX_CPU1_DS_FI/3527 (SCX_CPU1_DS_FileState[timeFileEntry].FileAge = 0) then +21-236-13:43:33.772 00 SCX_CPU1_DS_FI/3530 endif +21-236-13:43:33.772 00 SCX_CPU1_DS_FI/3531 enddo +21-236-13:43:33.820 00 SCX_CPU1_DS_FI/3506 cmdCtr = SCX_CPU1_DS_CMDPC + 1 +21-236-13:43:33.820 00 SCX_CPU1_DS_FI/3507 +21-236-13:43:33.820 00 SCX_CPU1_DS_FI/3508 /SCX_CPU1_DS_GetFileInfo +21-236-13:43:33.832 00 SCX_CPU1_DS_FI/3509 +21-236-13:43:33.832 00 SCX_CPU1_DS_FI/3510 ut_tlmwait SCX_CPU1_DS_CMDPC, {cmdCtr} +21-236-13:43:33.835 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:43:34.579 00 TLMH-I:STS 58-012-14:25:37.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:43:37.839 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:43:37.840 00 SCX_CPU1_DS_FI/3511 +21-236-13:43:37.840 00 SCX_CPU1_DS_FI/3512 reportedAge = SCX_CPU1_DS_FileState[timeFileEntry].FileAge +21-236-13:43:37.841 00 SCX_CPU1_DS_FI/3513 write "new file age = ",reportedAge +21-236-13:43:37.841 00 SPR-I:OPRO new file age = 80 +21-236-13:43:37.841 00 SCX_CPU1_DS_FI/3514 +21-236-13:43:37.841 00 SCX_CPU1_DS_FI/3516 if (originalAge <> reportedAge) then +21-236-13:43:37.841 00 SCX_CPU1_DS_FI/3517 ut_setrequirements DS_3002, "P" +21-236-13:43:37.843 00 SCX_CPU1_DS_FI/3518 ut_setrequirements DS_30021, "P" +21-236-13:43:37.844 00 SCX_CPU1_DS_FI/3519 endif +21-236-13:43:37.844 00 SCX_CPU1_DS_FI/3520 +21-236-13:43:37.845 00 SCX_CPU1_DS_FI/3521 waitTime = fileAge - reportedAge +21-236-13:43:37.845 00 SCX_CPU1_DS_FI/3522 write "timeout calculation = ",waitTime +21-236-13:43:37.845 00 SPR-I:OPRO timeout calculation = 10 +21-236-13:43:37.845 00 SCX_CPU1_DS_FI/3523 +21-236-13:43:37.845 00 SCX_CPU1_DS_FI/3526 if (SCX_CPU1_DS_FileState[timeFileEntry].FileName = "") AND ;; +21-236-13:43:37.845 00 SCX_CPU1_DS_FI/3527 (SCX_CPU1_DS_FileState[timeFileEntry].FileAge = 0) then +21-236-13:43:37.845 00 SCX_CPU1_DS_FI/3530 endif +21-236-13:43:37.845 00 SCX_CPU1_DS_FI/3531 enddo +21-236-13:43:37.880 00 SCX_CPU1_DS_FI/3506 cmdCtr = SCX_CPU1_DS_CMDPC + 1 +21-236-13:43:37.880 00 SCX_CPU1_DS_FI/3507 +21-236-13:43:37.880 00 SCX_CPU1_DS_FI/3508 /SCX_CPU1_DS_GetFileInfo +21-236-13:43:37.881 00 SCX_CPU1_DS_FI/3509 +21-236-13:43:37.881 00 SCX_CPU1_DS_FI/3510 ut_tlmwait SCX_CPU1_DS_CMDPC, {cmdCtr} +21-236-13:43:37.885 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:43:38.583 00 TLMH-I:STS 58-012-14:25:41.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:43:41.889 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:43:41.892 00 SCX_CPU1_DS_FI/3511 +21-236-13:43:41.892 00 SCX_CPU1_DS_FI/3512 reportedAge = SCX_CPU1_DS_FileState[timeFileEntry].FileAge +21-236-13:43:41.892 00 SCX_CPU1_DS_FI/3513 write "new file age = ",reportedAge +21-236-13:43:41.893 00 SPR-I:OPRO new file age = 84 +21-236-13:43:41.893 00 SCX_CPU1_DS_FI/3514 +21-236-13:43:41.893 00 SCX_CPU1_DS_FI/3516 if (originalAge <> reportedAge) then +21-236-13:43:41.893 00 SCX_CPU1_DS_FI/3517 ut_setrequirements DS_3002, "P" +21-236-13:43:41.897 00 SCX_CPU1_DS_FI/3518 ut_setrequirements DS_30021, "P" +21-236-13:43:41.902 00 SCX_CPU1_DS_FI/3519 endif +21-236-13:43:41.902 00 SCX_CPU1_DS_FI/3520 +21-236-13:43:41.902 00 SCX_CPU1_DS_FI/3521 waitTime = fileAge - reportedAge +21-236-13:43:41.902 00 SCX_CPU1_DS_FI/3522 write "timeout calculation = ",waitTime +21-236-13:43:41.902 00 SPR-I:OPRO timeout calculation = 6 +21-236-13:43:41.903 00 SCX_CPU1_DS_FI/3523 +21-236-13:43:41.903 00 SCX_CPU1_DS_FI/3526 if (SCX_CPU1_DS_FileState[timeFileEntry].FileName = "") AND ;; +21-236-13:43:41.903 00 SCX_CPU1_DS_FI/3527 (SCX_CPU1_DS_FileState[timeFileEntry].FileAge = 0) then +21-236-13:43:41.903 00 SCX_CPU1_DS_FI/3530 endif +21-236-13:43:41.903 00 SCX_CPU1_DS_FI/3531 enddo +21-236-13:43:41.956 00 SCX_CPU1_DS_FI/3506 cmdCtr = SCX_CPU1_DS_CMDPC + 1 +21-236-13:43:41.956 00 SCX_CPU1_DS_FI/3507 +21-236-13:43:41.956 00 SCX_CPU1_DS_FI/3508 /SCX_CPU1_DS_GetFileInfo +21-236-13:43:41.967 00 SCX_CPU1_DS_FI/3509 +21-236-13:43:41.967 00 SCX_CPU1_DS_FI/3510 ut_tlmwait SCX_CPU1_DS_CMDPC, {cmdCtr} +21-236-13:43:41.970 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:43:42.586 00 TLMH-I:STS 58-012-14:25:45.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:43:45.577 00 TLMH-I:STS 58-012-14:25:48.006 ERROR CPU=CPU1 APPNAME=DS EVENT ID=61 FILE MOVE error: src = '/ram/ti1980012142419', tgt = '/ram/movedir/ti1980012142419', result = -1 +21-236-13:43:45.974 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:43:45.977 00 SCX_CPU1_DS_FI/3511 +21-236-13:43:45.977 00 SCX_CPU1_DS_FI/3512 reportedAge = SCX_CPU1_DS_FileState[timeFileEntry].FileAge +21-236-13:43:45.977 00 SCX_CPU1_DS_FI/3513 write "new file age = ",reportedAge +21-236-13:43:45.977 00 SPR-I:OPRO new file age = 88 +21-236-13:43:45.977 00 SCX_CPU1_DS_FI/3514 +21-236-13:43:45.977 00 SCX_CPU1_DS_FI/3516 if (originalAge <> reportedAge) then +21-236-13:43:45.978 00 SCX_CPU1_DS_FI/3517 ut_setrequirements DS_3002, "P" +21-236-13:43:45.982 00 SCX_CPU1_DS_FI/3518 ut_setrequirements DS_30021, "P" +21-236-13:43:45.987 00 SCX_CPU1_DS_FI/3519 endif +21-236-13:43:45.987 00 SCX_CPU1_DS_FI/3520 +21-236-13:43:45.987 00 SCX_CPU1_DS_FI/3521 waitTime = fileAge - reportedAge +21-236-13:43:45.988 00 SCX_CPU1_DS_FI/3522 write "timeout calculation = ",waitTime +21-236-13:43:45.988 00 SPR-I:OPRO timeout calculation = 2 +21-236-13:43:45.988 00 SCX_CPU1_DS_FI/3523 +21-236-13:43:45.988 00 SCX_CPU1_DS_FI/3526 if (SCX_CPU1_DS_FileState[timeFileEntry].FileName = "") AND ;; +21-236-13:43:45.988 00 SCX_CPU1_DS_FI/3527 (SCX_CPU1_DS_FileState[timeFileEntry].FileAge = 0) then +21-236-13:43:45.989 00 SCX_CPU1_DS_FI/3530 endif +21-236-13:43:45.989 00 SCX_CPU1_DS_FI/3531 enddo +21-236-13:43:46.037 00 SCX_CPU1_DS_FI/3506 cmdCtr = SCX_CPU1_DS_CMDPC + 1 +21-236-13:43:46.037 00 SCX_CPU1_DS_FI/3507 +21-236-13:43:46.037 00 SCX_CPU1_DS_FI/3508 /SCX_CPU1_DS_GetFileInfo +21-236-13:43:46.048 00 SCX_CPU1_DS_FI/3509 +21-236-13:43:46.049 00 SCX_CPU1_DS_FI/3510 ut_tlmwait SCX_CPU1_DS_CMDPC, {cmdCtr} +21-236-13:43:46.051 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:43:46.572 00 TLMH-I:STS 58-012-14:25:49.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:43:50.055 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:43:50.056 00 SCX_CPU1_DS_FI/3511 +21-236-13:43:50.056 00 SCX_CPU1_DS_FI/3512 reportedAge = SCX_CPU1_DS_FileState[timeFileEntry].FileAge +21-236-13:43:50.056 00 SCX_CPU1_DS_FI/3513 write "new file age = ",reportedAge +21-236-13:43:50.056 00 SPR-I:OPRO new file age = 0 +21-236-13:43:50.056 00 SCX_CPU1_DS_FI/3514 +21-236-13:43:50.056 00 SCX_CPU1_DS_FI/3516 if (originalAge <> reportedAge) then +21-236-13:43:50.056 00 SCX_CPU1_DS_FI/3517 ut_setrequirements DS_3002, "P" +21-236-13:43:50.057 00 SCX_CPU1_DS_FI/3518 ut_setrequirements DS_30021, "P" +21-236-13:43:50.059 00 SCX_CPU1_DS_FI/3519 endif +21-236-13:43:50.059 00 SCX_CPU1_DS_FI/3520 +21-236-13:43:50.059 00 SCX_CPU1_DS_FI/3521 waitTime = fileAge - reportedAge +21-236-13:43:50.059 00 SCX_CPU1_DS_FI/3522 write "timeout calculation = ",waitTime +21-236-13:43:50.059 00 SPR-I:OPRO timeout calculation = 90 +21-236-13:43:50.059 00 SCX_CPU1_DS_FI/3523 +21-236-13:43:50.059 00 SCX_CPU1_DS_FI/3526 if (SCX_CPU1_DS_FileState[timeFileEntry].FileName = "") AND ;; +21-236-13:43:50.059 00 SCX_CPU1_DS_FI/3527 (SCX_CPU1_DS_FileState[timeFileEntry].FileAge = 0) then +21-236-13:43:50.059 00 SCX_CPU1_DS_FI/3528 waitTime = 0 +21-236-13:43:50.059 00 SCX_CPU1_DS_FI/3529 write "HK reports the file is no longer open" +21-236-13:43:50.060 00 SPR-I:OPRO HK reports the file is no longer open +21-236-13:43:50.087 00 SCX_CPU1_DS_FI/3530 endif +21-236-13:43:50.087 00 SCX_CPU1_DS_FI/3531 enddo +21-236-13:43:50.087 00 SCX_CPU1_DS_FI/3532 +21-236-13:43:50.087 00 SCX_CPU1_DS_FI/3534 if (fileName2 <> "") then +21-236-13:43:50.087 00 SCX_CPU1_DS_FI/3535 write "==> Downloading '",fileName2,"'" +21-236-13:43:50.087 00 SPR-I:OPRO ==> Downloading '/ram/ti1980012142419' +21-236-13:43:50.087 00 SCX_CPU1_DS_FI/3536 slashLoc = %locate(fileName2,"/") +21-236-13:43:50.087 00 SCX_CPU1_DS_FI/3537 while (slashLoc <> 0) do +21-236-13:43:50.087 00 SCX_CPU1_DS_FI/3538 fileName2 = %substring(fileName2,slashLoc+1,%length(fileName2)) +21-236-13:43:50.087 00 SCX_CPU1_DS_FI/3539 slashLoc = %locate(fileName2,"/") +21-236-13:43:50.087 00 SCX_CPU1_DS_FI/3540 enddo +21-236-13:43:50.087 00 SCX_CPU1_DS_FI/3538 fileName2 = %substring(fileName2,slashLoc+1,%length(fileName2)) +21-236-13:43:50.087 00 SCX_CPU1_DS_FI/3539 slashLoc = %locate(fileName2,"/") +21-236-13:43:50.088 00 SCX_CPU1_DS_FI/3540 enddo +21-236-13:43:50.088 00 SCX_CPU1_DS_FI/3541 write "==> FileName Only = '",fileName2,"'" +21-236-13:43:50.088 00 SPR-I:OPRO ==> FileName Only = 'ti1980012142419' +21-236-13:43:50.088 00 SCX_CPU1_DS_FI/3544 s ftp_file(ramDir, fileName2, fileName2, hostCPU, "G") +21-236-13:43:50.088 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/ftp_file.i +21-236-13:43:50.088 00 SPR-I:STS Procedure FTP_FILE started +21-236-13:43:50.088 00 FTP_FILE/2 ; +21-236-13:43:50.088 00 FTP_FILE/3 local logging = %liv (log_procedure) +21-236-13:43:50.088 00 FTP_FILE/4 %liv (log_procedure) = FALSE +21-236-13:43:50.185 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-13:43:50.185 00 FTP_FILE/85 ENDPROC +21-236-13:43:50.185 00 SPR-I:STS Procedure FTP_FILE completed +21-236-13:43:50.186 00 SCX_CPU1_DS_FI/3545 endif +21-236-13:43:50.186 00 SCX_CPU1_DS_FI/3546 +21-236-13:43:50.186 00 SCX_CPU1_DS_FI/3547 wait 5 +21-236-13:43:50.186 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:43:55.189 00 SCX_CPU1_DS_FI/3548 +21-236-13:43:55.189 00 SCX_CPU1_DS_FI/3549 write ";***********************************************************************" +21-236-13:43:55.190 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:43:55.190 00 SCX_CPU1_DS_FI/3550 write "; Step 3.50: Send the Set Maximum Age command with an invalid length." +21-236-13:43:55.190 00 SPR-I:OPRO ; Step 3.50: Send the Set Maximum Age command with an invalid length. +21-236-13:43:55.190 00 SCX_CPU1_DS_FI/3551 write ";***********************************************************************" +21-236-13:43:55.190 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:43:55.190 00 SCX_CPU1_DS_FI/3553 ut_setupevents "SCX", "CPU1", {DSAppName}, DS_AGE_CMD_ERR_EID, "ERROR", 1 +21-236-13:43:55.195 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:43:55.195 00 SPR-I:OPRO ; Setup event 1 with DS ERROR 56 +21-236-13:43:55.195 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:43:55.196 00 SCX_CPU1_DS_FI/3554 +21-236-13:43:55.196 00 SCX_CPU1_DS_FI/3555 errcnt = SCX_CPU1_DS_CMDEC + 1 +21-236-13:43:55.196 00 SCX_CPU1_DS_FI/3556 +21-236-13:43:55.196 00 SCX_CPU1_DS_FI/3558 rawcmd = "18BBc000000A0C9C" +21-236-13:43:55.196 00 SCX_CPU1_DS_FI/3559 +21-236-13:43:55.196 00 SCX_CPU1_DS_FI/3560 ut_sendrawcmd "SCX_CPU1_DS", (rawcmd) +21-236-13:43:55.200 00 SPR-I:OPRO Sending: 18BBc000000A0C9C +21-236-13:43:55.218 00 SPR-I:OPRO ; Telemetry update will wait a maximum of 24 seconds +21-236-13:43:55.219 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:43:56.075 00 TLMH-I:STS 58-012-14:25:58.500 ERROR CPU=CPU1 APPNAME=DS EVENT ID=56 Invalid DEST AGE command length: expected = 16, actual = 17 +21-236-13:43:58.222 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:43:58.226 00 SCX_CPU1_DS_FI/3561 +21-236-13:43:58.227 00 SCX_CPU1_DS_FI/3562 ut_tlmwait SCX_CPU1_DS_CMDEC, {errcnt} +21-236-13:43:58.238 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:43:58.241 00 SCX_CPU1_DS_FI/3563 if (UT_TW_Status = UT_Success) then +21-236-13:43:58.241 00 SCX_CPU1_DS_FI/3564 write "<*> Passed (1002;1005) - DS Set Maximum Age Command Rejected Counter incremented." +21-236-13:43:58.241 00 SPR-I:OPRO <*> Passed (1002;1005) - DS Set Maximum Age Command Rejected Counter incremented. +21-236-13:43:58.241 00 SCX_CPU1_DS_FI/3565 ut_setrequirements DS_1002, "P" +21-236-13:43:58.246 00 SCX_CPU1_DS_FI/3566 ut_setrequirements DS_1005, "P" +21-236-13:43:58.250 00 SCX_CPU1_DS_FI/3571 endif +21-236-13:43:58.250 00 SCX_CPU1_DS_FI/3572 +21-236-13:43:58.250 00 SCX_CPU1_DS_FI/3573 if (SCX_CPU1_find_event[1].num_found_messages = 1) THEN +21-236-13:43:58.251 00 SCX_CPU1_DS_FI/3574 write "<*> Passed (1005) - Event message ",SCX_CPU1_find_event[1].eventid, " received" +21-236-13:43:58.251 00 SPR-I:OPRO <*> Passed (1005) - Event message 56 received +21-236-13:43:58.252 00 SCX_CPU1_DS_FI/3575 ut_setrequirements DS_1005, "P" +21-236-13:43:58.296 00 SCX_CPU1_DS_FI/3579 endif +21-236-13:43:58.296 00 SCX_CPU1_DS_FI/3580 +21-236-13:43:58.296 00 SCX_CPU1_DS_FI/3581 wait 5 +21-236-13:43:58.296 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:44:03.299 00 SCX_CPU1_DS_FI/3582 +21-236-13:44:03.299 00 SCX_CPU1_DS_FI/3583 write ";***********************************************************************" +21-236-13:44:03.300 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:44:03.300 00 SCX_CPU1_DS_FI/3584 write "; Step 3.51: Send the Disable command for the DS Application. " +21-236-13:44:03.300 00 SPR-I:OPRO ; Step 3.51: Send the Disable command for the DS Application. +21-236-13:44:03.300 00 SCX_CPU1_DS_FI/3585 write ";***********************************************************************" +21-236-13:44:03.300 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:44:03.300 00 SCX_CPU1_DS_FI/3587 ut_setupevents "SCX", "CPU1", {DSAppName}, DS_ENADIS_CMD_EID, "DEBUG", 1 +21-236-13:44:03.305 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:44:03.306 00 SPR-I:OPRO ; Setup event 1 with DS DEBUG 35 +21-236-13:44:03.306 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:44:03.306 00 SCX_CPU1_DS_FI/3588 +21-236-13:44:03.306 00 SCX_CPU1_DS_FI/3589 cmdCtr = SCX_CPU1_DS_CMDPC + 1 +21-236-13:44:03.306 00 SCX_CPU1_DS_FI/3591 /SCX_CPU1_DS_Disable +21-236-13:44:03.317 00 SCX_CPU1_DS_FI/3592 wait 5 +21-236-13:44:03.317 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:44:04.075 00 TLMH-I:STS 58-012-14:26:06.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=35 APP STATE command: state = 0 +21-236-13:44:08.321 00 SCX_CPU1_DS_FI/3593 +21-236-13:44:08.321 00 SCX_CPU1_DS_FI/3594 ut_tlmwait SCX_CPU1_DS_CMDPC, {cmdCtr} +21-236-13:44:08.332 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:44:08.335 00 SCX_CPU1_DS_FI/3595 if (UT_TW_Status = UT_Success) then +21-236-13:44:08.335 00 SCX_CPU1_DS_FI/3596 write "<*> Passed (1004;5000) - DS Disable command sent properly." +21-236-13:44:08.335 00 SPR-I:OPRO <*> Passed (1004;5000) - DS Disable command sent properly. +21-236-13:44:08.336 00 SCX_CPU1_DS_FI/3597 ut_setrequirements DS_1004, "P" +21-236-13:44:08.340 00 SCX_CPU1_DS_FI/3598 ut_setrequirements DS_5000, "P" +21-236-13:44:08.345 00 SCX_CPU1_DS_FI/3603 endif +21-236-13:44:08.345 00 SCX_CPU1_DS_FI/3604 +21-236-13:44:08.345 00 SCX_CPU1_DS_FI/3606 ut_tlmwait SCX_CPU1_find_event[1].num_found_messages, 1 +21-236-13:44:08.357 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:44:08.358 00 SCX_CPU1_DS_FI/3607 if (UT_TW_Status = UT_Success) then +21-236-13:44:08.359 00 SCX_CPU1_DS_FI/3608 write "<*> Passed (1004;5000) - Expected Event Msg ",DS_ENADIS_CMD_EID," rcv'd." +21-236-13:44:08.359 00 SPR-I:OPRO <*> Passed (1004;5000) - Expected Event Msg 35 rcv'd. +21-236-13:44:08.359 00 SCX_CPU1_DS_FI/3609 ut_setrequirements DS_1004, "P" +21-236-13:44:08.399 00 SCX_CPU1_DS_FI/3610 ut_setrequirements DS_5000, "P" +21-236-13:44:08.400 00 SCX_CPU1_DS_FI/3615 endif +21-236-13:44:08.400 00 SCX_CPU1_DS_FI/3616 +21-236-13:44:08.400 00 SCX_CPU1_DS_FI/3618 if (p@SCX_CPU1_DS_AppEnaState = "Disabled") then +21-236-13:44:08.400 00 SCX_CPU1_DS_FI/3619 write "<*> Passed (5000) - Housekeeping indicates DS is disabled." +21-236-13:44:08.400 00 SPR-I:OPRO <*> Passed (5000) - Housekeeping indicates DS is disabled. +21-236-13:44:08.400 00 SCX_CPU1_DS_FI/3620 ut_setrequirements DS_5000, "P" +21-236-13:44:08.401 00 SCX_CPU1_DS_FI/3624 endif +21-236-13:44:08.401 00 SCX_CPU1_DS_FI/3625 +21-236-13:44:08.401 00 SCX_CPU1_DS_FI/3626 wait 5 +21-236-13:44:08.401 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:44:13.405 00 SCX_CPU1_DS_FI/3627 +21-236-13:44:13.405 00 SCX_CPU1_DS_FI/3628 write ";***********************************************************************" +21-236-13:44:13.405 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:44:13.405 00 SCX_CPU1_DS_FI/3629 write "; Step 3.52: Using the TST_DS application, send several messages to the" +21-236-13:44:13.405 00 SPR-I:OPRO ; Step 3.52: Using the TST_DS application, send several messages to the +21-236-13:44:13.405 00 SCX_CPU1_DS_FI/3630 write "; DS application. " +21-236-13:44:13.406 00 SPR-I:OPRO ; DS application. +21-236-13:44:13.406 00 SCX_CPU1_DS_FI/3631 write ";***********************************************************************" +21-236-13:44:13.406 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:44:13.406 00 SCX_CPU1_DS_FI/3633 ut_setupevents "SCX", "CPU1", "TST_DS", TST_DS_MSG3_SENT_INF_EID, "INFO", 1 +21-236-13:44:13.411 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:44:13.411 00 SPR-I:OPRO ; Setup event 1 with TST_DS INFO 7 +21-236-13:44:13.411 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:44:13.411 00 SCX_CPU1_DS_FI/3634 ut_setupevents "SCX", "CPU1", "TST_DS", TST_DS_MSG1_SENT_INF_EID, "INFO", 2 +21-236-13:44:13.413 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:44:13.413 00 SPR-I:OPRO ; Setup event 2 with TST_DS INFO 5 +21-236-13:44:13.413 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:44:13.414 00 SCX_CPU1_DS_FI/3635 ut_setupevents "SCX", "CPU1", "TST_DS", TST_DS_MSG2_SENT_INF_EID, "INFO", 3 +21-236-13:44:13.415 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:44:13.415 00 SPR-I:OPRO ; Setup event 3 with TST_DS INFO 6 +21-236-13:44:13.416 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:44:13.416 00 SCX_CPU1_DS_FI/3636 +21-236-13:44:13.416 00 SCX_CPU1_DS_FI/3637 pktCtr = SCX_CPU1_DS_DisabledPktCnt + 3 +21-236-13:44:13.416 00 SCX_CPU1_DS_FI/3638 fileSize = SCX_CPU1_DS_FileState[seqFileEntry].FileSize +21-236-13:44:13.416 00 SCX_CPU1_DS_FI/3639 +21-236-13:44:13.416 00 SCX_CPU1_DS_FI/3641 /SCX_CPU1_TST_DS_SENDMESSAGE MsgID=seqMsgID MsgType=3 Pattern=x'AA' +21-236-13:44:13.428 00 SCX_CPU1_DS_FI/3642 wait 5 +21-236-13:44:13.428 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:44:14.072 00 TLMH-I:STS 58-012-14:26:16.500 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=7 Sent Message Size 1016 to MID 0x00001000 +21-236-13:44:18.432 00 SCX_CPU1_DS_FI/3643 /SCX_CPU1_TST_DS_SENDMESSAGE MsgID=seqMsgID MsgType=1 Pattern=x'55' +21-236-13:44:18.446 00 SCX_CPU1_DS_FI/3644 wait 5 +21-236-13:44:18.446 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:44:19.077 00 TLMH-I:STS 58-012-14:26:21.500 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Message Size 116 to MID 0x00001000 +21-236-13:44:23.450 00 SCX_CPU1_DS_FI/3645 /SCX_CPU1_TST_DS_SENDMESSAGE MsgID=seqMsgID MsgType=2 Pattern=x'BB' +21-236-13:44:23.465 00 SCX_CPU1_DS_FI/3646 wait 5 +21-236-13:44:23.465 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:44:24.073 00 TLMH-I:STS 58-012-14:26:26.500 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=6 Sent Message Size 516 to MID 0x00001000 +21-236-13:44:28.469 00 SCX_CPU1_DS_FI/3647 +21-236-13:44:28.469 00 SCX_CPU1_DS_FI/3650 if (SCX_CPU1_DS_DisabledPktCnt = pktCtr) AND ;; +21-236-13:44:28.469 00 SCX_CPU1_DS_FI/3651 (SCX_CPU1_DS_FileState[seqFileEntry].FileSize = fileSize) then +21-236-13:44:28.470 00 SCX_CPU1_DS_FI/3652 write "<*> Passed (8000) - The file stats remained the same and the Disabled Pkt Counter incremented as expected." +21-236-13:44:28.470 00 SPR-I:OPRO <*> Passed (8000) - The file stats remained the same and the Disabled Pkt Counter incremented as expected. +21-236-13:44:28.470 00 SCX_CPU1_DS_FI/3653 ut_setrequirements DS_8000, "P" +21-236-13:44:28.474 00 SCX_CPU1_DS_FI/3659 endif +21-236-13:44:28.474 00 SCX_CPU1_DS_FI/3660 +21-236-13:44:28.474 00 SCX_CPU1_DS_FI/3662 if (SCX_CPU1_find_event[1].num_found_messages = 1) AND ;; +21-236-13:44:28.474 00 SCX_CPU1_DS_FI/3663 (SCX_CPU1_find_event[2].num_found_messages = 1) AND ;; +21-236-13:44:28.474 00 SCX_CPU1_DS_FI/3664 (SCX_CPU1_find_event[3].num_found_messages = 1) then +21-236-13:44:28.474 00 SCX_CPU1_DS_FI/3665 write "<*> Passed - Expected Event Msgs were generated." +21-236-13:44:28.474 00 SPR-I:OPRO <*> Passed - Expected Event Msgs were generated. +21-236-13:44:28.474 00 SCX_CPU1_DS_FI/3668 endif +21-236-13:44:28.475 00 SCX_CPU1_DS_FI/3669 +21-236-13:44:28.475 00 SCX_CPU1_DS_FI/3670 write ";***********************************************************************" +21-236-13:44:28.475 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:44:28.475 00 SCX_CPU1_DS_FI/3671 write "; Step 3.53: Send the Disable command with an invalid length." +21-236-13:44:28.475 00 SPR-I:OPRO ; Step 3.53: Send the Disable command with an invalid length. +21-236-13:44:28.475 00 SCX_CPU1_DS_FI/3672 write ";***********************************************************************" +21-236-13:44:28.475 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:44:28.475 00 SCX_CPU1_DS_FI/3674 ut_setupevents "SCX", "CPU1", {DSAppName}, DS_ENADIS_CMD_ERR_EID, "ERROR", 1 +21-236-13:44:28.476 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:44:28.477 00 SPR-I:OPRO ; Setup event 1 with DS ERROR 36 +21-236-13:44:28.477 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:44:28.477 00 SCX_CPU1_DS_FI/3675 +21-236-13:44:28.477 00 SCX_CPU1_DS_FI/3676 errcnt = SCX_CPU1_DS_CMDEC + 1 +21-236-13:44:28.486 00 SCX_CPU1_DS_FI/3677 +21-236-13:44:28.486 00 SCX_CPU1_DS_FI/3679 rawcmd = "18BBc0000004029C" +21-236-13:44:28.486 00 SCX_CPU1_DS_FI/3680 +21-236-13:44:28.486 00 SCX_CPU1_DS_FI/3681 ut_sendrawcmd "SCX_CPU1_DS", (rawcmd) +21-236-13:44:28.489 00 SPR-I:OPRO Sending: 18BBc0000004029C +21-236-13:44:28.505 00 SPR-I:OPRO ; Telemetry update will wait a maximum of 24 seconds +21-236-13:44:28.505 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:44:29.079 00 TLMH-I:STS 58-012-14:26:31.500 ERROR CPU=CPU1 APPNAME=DS EVENT ID=36 Invalid APP STATE command length: expected = 12, actual = 11 +21-236-13:44:30.508 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:44:30.512 00 SCX_CPU1_DS_FI/3682 +21-236-13:44:30.512 00 SCX_CPU1_DS_FI/3683 ut_tlmwait SCX_CPU1_DS_CMDEC, {errcnt} +21-236-13:44:30.516 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:44:30.516 00 SCX_CPU1_DS_FI/3684 if (UT_TW_Status = UT_Success) then +21-236-13:44:30.517 00 SCX_CPU1_DS_FI/3685 write "<*> Passed (1002;1005) - DS Disable Command Rejected Counter incremented." +21-236-13:44:30.517 00 SPR-I:OPRO <*> Passed (1002;1005) - DS Disable Command Rejected Counter incremented. +21-236-13:44:30.517 00 SCX_CPU1_DS_FI/3686 ut_setrequirements DS_1002, "P" +21-236-13:44:30.518 00 SCX_CPU1_DS_FI/3687 ut_setrequirements DS_1005, "P" +21-236-13:44:30.519 00 SCX_CPU1_DS_FI/3692 endif +21-236-13:44:30.519 00 SCX_CPU1_DS_FI/3693 +21-236-13:44:30.519 00 SCX_CPU1_DS_FI/3694 if (SCX_CPU1_find_event[1].num_found_messages = 1) THEN +21-236-13:44:30.519 00 SCX_CPU1_DS_FI/3695 write "<*> Passed (1005) - Event message ",SCX_CPU1_find_event[1].eventid, " received" +21-236-13:44:30.519 00 SPR-I:OPRO <*> Passed (1005) - Event message 36 received +21-236-13:44:30.519 00 SCX_CPU1_DS_FI/3696 ut_setrequirements DS_1005, "P" +21-236-13:44:30.552 00 SCX_CPU1_DS_FI/3700 endif +21-236-13:44:30.552 00 SCX_CPU1_DS_FI/3701 +21-236-13:44:30.553 00 SCX_CPU1_DS_FI/3702 wait 5 +21-236-13:44:30.553 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:44:35.556 00 SCX_CPU1_DS_FI/3703 +21-236-13:44:35.556 00 SCX_CPU1_DS_FI/3704 write ";***********************************************************************" +21-236-13:44:35.556 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:44:35.556 00 SCX_CPU1_DS_FI/3705 write "; Step 3.54: Send the Enable command for the DS Application. " +21-236-13:44:35.556 00 SPR-I:OPRO ; Step 3.54: Send the Enable command for the DS Application. +21-236-13:44:35.556 00 SCX_CPU1_DS_FI/3706 write ";***********************************************************************" +21-236-13:44:35.556 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:44:35.556 00 SCX_CPU1_DS_FI/3708 ut_setupevents "SCX", "CPU1", {DSAppName}, DS_ENADIS_CMD_EID, "DEBUG", 1 +21-236-13:44:35.558 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:44:35.558 00 SPR-I:OPRO ; Setup event 1 with DS DEBUG 35 +21-236-13:44:35.558 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:44:35.559 00 SCX_CPU1_DS_FI/3709 +21-236-13:44:35.559 00 SCX_CPU1_DS_FI/3710 cmdCtr = SCX_CPU1_DS_CMDPC + 1 +21-236-13:44:35.559 00 SCX_CPU1_DS_FI/3712 /SCX_CPU1_DS_Enable +21-236-13:44:35.570 00 SCX_CPU1_DS_FI/3713 wait 5 +21-236-13:44:35.570 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:44:36.074 00 TLMH-I:STS 58-012-14:26:38.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=35 APP STATE command: state = 1 +21-236-13:44:40.574 00 SCX_CPU1_DS_FI/3714 +21-236-13:44:40.574 00 SCX_CPU1_DS_FI/3715 ut_tlmwait SCX_CPU1_DS_CMDPC, {cmdCtr} +21-236-13:44:40.585 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:44:40.587 00 SCX_CPU1_DS_FI/3716 if (UT_TW_Status = UT_Success) then +21-236-13:44:40.587 00 SCX_CPU1_DS_FI/3717 write "<*> Passed (1004;5001) - DS Enable command sent properly." +21-236-13:44:40.587 00 SPR-I:OPRO <*> Passed (1004;5001) - DS Enable command sent properly. +21-236-13:44:40.587 00 SCX_CPU1_DS_FI/3718 ut_setrequirements DS_1004, "P" +21-236-13:44:40.588 00 SCX_CPU1_DS_FI/3719 ut_setrequirements DS_5001, "P" +21-236-13:44:40.589 00 SCX_CPU1_DS_FI/3724 endif +21-236-13:44:40.589 00 SCX_CPU1_DS_FI/3725 +21-236-13:44:40.589 00 SCX_CPU1_DS_FI/3727 ut_tlmwait SCX_CPU1_find_event[1].num_found_messages, 1 +21-236-13:44:40.592 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:44:40.592 00 SCX_CPU1_DS_FI/3728 if (UT_TW_Status = UT_Success) then +21-236-13:44:40.592 00 SCX_CPU1_DS_FI/3729 write "<*> Passed (1004;5001) - Expected Event Msg ",DS_ENADIS_CMD_EID," rcv'd." +21-236-13:44:40.592 00 SPR-I:OPRO <*> Passed (1004;5001) - Expected Event Msg 35 rcv'd. +21-236-13:44:40.592 00 SCX_CPU1_DS_FI/3730 ut_setrequirements DS_1004, "P" +21-236-13:44:40.623 00 SCX_CPU1_DS_FI/3731 ut_setrequirements DS_5001, "P" +21-236-13:44:40.623 00 SCX_CPU1_DS_FI/3736 endif +21-236-13:44:40.624 00 SCX_CPU1_DS_FI/3737 +21-236-13:44:40.624 00 SCX_CPU1_DS_FI/3739 if (p@SCX_CPU1_DS_AppEnaState = "Enabled") then +21-236-13:44:40.624 00 SCX_CPU1_DS_FI/3740 write "<*> Passed (5001) - Housekeeping indicates DS is enabled." +21-236-13:44:40.624 00 SPR-I:OPRO <*> Passed (5001) - Housekeeping indicates DS is enabled. +21-236-13:44:40.624 00 SCX_CPU1_DS_FI/3741 ut_setrequirements DS_5001, "P" +21-236-13:44:40.625 00 SCX_CPU1_DS_FI/3745 endif +21-236-13:44:40.625 00 SCX_CPU1_DS_FI/3746 +21-236-13:44:40.625 00 SCX_CPU1_DS_FI/3747 wait 5 +21-236-13:44:40.625 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:44:45.628 00 SCX_CPU1_DS_FI/3748 +21-236-13:44:45.628 00 SCX_CPU1_DS_FI/3749 write ";***********************************************************************" +21-236-13:44:45.628 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:44:45.628 00 SCX_CPU1_DS_FI/3750 write "; Step 3.55: Using the TST_DS application, send several messages to the" +21-236-13:44:45.628 00 SPR-I:OPRO ; Step 3.55: Using the TST_DS application, send several messages to the +21-236-13:44:45.628 00 SCX_CPU1_DS_FI/3751 write "; DS application. These message should be written to the open file." +21-236-13:44:45.628 00 SPR-I:OPRO ; DS application. These message should be written to the open file. +21-236-13:44:45.628 00 SCX_CPU1_DS_FI/3752 write ";***********************************************************************" +21-236-13:44:45.628 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:44:45.628 00 SCX_CPU1_DS_FI/3754 ut_setupevents "SCX", "CPU1", "TST_DS", TST_DS_MSG3_SENT_INF_EID, "INFO", 1 +21-236-13:44:45.630 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:44:45.630 00 SPR-I:OPRO ; Setup event 1 with TST_DS INFO 7 +21-236-13:44:45.630 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:44:45.630 00 SCX_CPU1_DS_FI/3755 ut_setupevents "SCX", "CPU1", "TST_DS", TST_DS_MSG1_SENT_INF_EID, "INFO", 2 +21-236-13:44:45.632 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:44:45.632 00 SPR-I:OPRO ; Setup event 2 with TST_DS INFO 5 +21-236-13:44:45.632 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:44:45.633 00 SCX_CPU1_DS_FI/3756 ut_setupevents "SCX", "CPU1", "TST_DS", TST_DS_MSG2_SENT_INF_EID, "INFO", 3 +21-236-13:44:45.635 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:44:45.635 00 SPR-I:OPRO ; Setup event 3 with TST_DS INFO 6 +21-236-13:44:45.635 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:44:45.635 00 SCX_CPU1_DS_FI/3757 +21-236-13:44:45.635 00 SCX_CPU1_DS_FI/3758 pktCtr = SCX_CPU1_DS_PassedPktCnt + 3 +21-236-13:44:45.635 00 SCX_CPU1_DS_FI/3759 fileSize = SCX_CPU1_DS_FileState[seqFileEntry].FileSize +21-236-13:44:45.636 00 SCX_CPU1_DS_FI/3760 +21-236-13:44:45.636 00 SCX_CPU1_DS_FI/3762 /SCX_CPU1_TST_DS_SENDMESSAGE MsgID=seqMsgID MsgType=3 Pattern=x'AA' +21-236-13:44:45.647 00 SCX_CPU1_DS_FI/3763 wait 5 +21-236-13:44:45.647 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:44:46.078 00 TLMH-I:STS 58-012-14:26:48.501 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=7 Sent Message Size 1016 to MID 0x00001000 +21-236-13:44:50.651 00 SCX_CPU1_DS_FI/3764 /SCX_CPU1_TST_DS_SENDMESSAGE MsgID=seqMsgID MsgType=1 Pattern=x'55' +21-236-13:44:50.663 00 SCX_CPU1_DS_FI/3765 wait 5 +21-236-13:44:50.663 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:44:51.077 00 TLMH-I:STS 58-012-14:26:53.500 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Message Size 116 to MID 0x00001000 +21-236-13:44:55.667 00 SCX_CPU1_DS_FI/3766 /SCX_CPU1_TST_DS_SENDMESSAGE MsgID=seqMsgID MsgType=2 Pattern=x'BB' +21-236-13:44:55.680 00 SCX_CPU1_DS_FI/3767 wait 5 +21-236-13:44:55.680 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:44:56.575 00 TLMH-I:STS 58-012-14:26:59.001 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=6 Sent Message Size 516 to MID 0x00001000 +21-236-13:45:00.684 00 SCX_CPU1_DS_FI/3768 +21-236-13:45:00.684 00 SCX_CPU1_DS_FI/3770 cmdCtr = SCX_CPU1_DS_CMDPC + 1 +21-236-13:45:00.684 00 SCX_CPU1_DS_FI/3771 +21-236-13:45:00.684 00 SCX_CPU1_DS_FI/3772 /SCX_CPU1_DS_GetFileInfo +21-236-13:45:00.695 00 SCX_CPU1_DS_FI/3773 +21-236-13:45:00.695 00 SCX_CPU1_DS_FI/3774 ut_tlmwait SCX_CPU1_DS_CMDPC, {cmdCtr} +21-236-13:45:00.698 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:45:01.577 00 TLMH-I:STS 58-012-14:27:04.003 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:45:01.698 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:45:01.699 00 SCX_CPU1_DS_FI/3775 +21-236-13:45:01.699 00 SCX_CPU1_DS_FI/3778 if (SCX_CPU1_DS_PassedPktCnt = pktCtr) AND ;; +21-236-13:45:01.699 00 SCX_CPU1_DS_FI/3779 (SCX_CPU1_DS_FileState[seqFileEntry].FileSize > fileSize) then +21-236-13:45:01.699 00 SCX_CPU1_DS_FI/3780 write "<*> Passed (8000) - The file stats were updated and the Passed Pkt Counter incremented as expected." +21-236-13:45:01.699 00 SPR-I:OPRO <*> Passed (8000) - The file stats were updated and the Passed Pkt Counter incremented as expected. +21-236-13:45:01.699 00 SCX_CPU1_DS_FI/3781 ut_setrequirements DS_8000, "P" +21-236-13:45:01.700 00 SCX_CPU1_DS_FI/3785 endif +21-236-13:45:01.700 00 SCX_CPU1_DS_FI/3786 +21-236-13:45:01.700 00 SCX_CPU1_DS_FI/3788 if (SCX_CPU1_find_event[1].num_found_messages = 1) AND ;; +21-236-13:45:01.700 00 SCX_CPU1_DS_FI/3789 (SCX_CPU1_find_event[2].num_found_messages = 1) AND ;; +21-236-13:45:01.700 00 SCX_CPU1_DS_FI/3790 (SCX_CPU1_find_event[3].num_found_messages = 1) then +21-236-13:45:01.700 00 SCX_CPU1_DS_FI/3791 write "<*> Passed - Expected Event Msgs were generated." +21-236-13:45:01.700 00 SPR-I:OPRO <*> Passed - Expected Event Msgs were generated. +21-236-13:45:01.700 00 SCX_CPU1_DS_FI/3794 endif +21-236-13:45:01.700 00 SCX_CPU1_DS_FI/3795 +21-236-13:45:01.700 00 SCX_CPU1_DS_FI/3796 wait 5 +21-236-13:45:01.701 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:45:06.704 00 SCX_CPU1_DS_FI/3797 +21-236-13:45:06.704 00 SCX_CPU1_DS_FI/3798 write ";***********************************************************************" +21-236-13:45:06.704 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:45:06.704 00 SCX_CPU1_DS_FI/3799 write "; Step 3.56: Send the Enable command with an invalid length." +21-236-13:45:06.704 00 SPR-I:OPRO ; Step 3.56: Send the Enable command with an invalid length. +21-236-13:45:06.704 00 SCX_CPU1_DS_FI/3800 write ";***********************************************************************" +21-236-13:45:06.704 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:45:06.704 00 SCX_CPU1_DS_FI/3802 ut_setupevents "SCX", "CPU1", {DSAppName}, DS_ENADIS_CMD_ERR_EID, "ERROR", 1 +21-236-13:45:06.705 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:45:06.705 00 SPR-I:OPRO ; Setup event 1 with DS ERROR 36 +21-236-13:45:06.705 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:45:06.706 00 SCX_CPU1_DS_FI/3803 +21-236-13:45:06.706 00 SCX_CPU1_DS_FI/3804 errcnt = SCX_CPU1_DS_CMDEC + 1 +21-236-13:45:06.706 00 SCX_CPU1_DS_FI/3805 +21-236-13:45:06.706 00 SCX_CPU1_DS_FI/3807 rawcmd = "18BBc0000002029C" +21-236-13:45:06.706 00 SCX_CPU1_DS_FI/3808 +21-236-13:45:06.706 00 SCX_CPU1_DS_FI/3809 ut_sendrawcmd "SCX_CPU1_DS", (rawcmd) +21-236-13:45:06.709 00 SPR-I:OPRO Sending: 18BBc0000002029C +21-236-13:45:06.723 00 SPR-I:OPRO ; Telemetry update will wait a maximum of 24 seconds +21-236-13:45:06.724 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:45:07.574 00 TLMH-I:STS 58-012-14:27:10.001 ERROR CPU=CPU1 APPNAME=DS EVENT ID=36 Invalid APP STATE command length: expected = 12, actual = 9 +21-236-13:45:09.726 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:45:09.727 00 SCX_CPU1_DS_FI/3810 +21-236-13:45:09.728 00 SCX_CPU1_DS_FI/3811 ut_tlmwait SCX_CPU1_DS_CMDEC, {errcnt} +21-236-13:45:09.731 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:45:09.731 00 SCX_CPU1_DS_FI/3812 if (UT_TW_Status = UT_Success) then +21-236-13:45:09.731 00 SCX_CPU1_DS_FI/3813 write "<*> Passed (1002;1005) - DS Disable Command Rejected Counter incremented." +21-236-13:45:09.731 00 SPR-I:OPRO <*> Passed (1002;1005) - DS Disable Command Rejected Counter incremented. +21-236-13:45:09.731 00 SCX_CPU1_DS_FI/3814 ut_setrequirements DS_1002, "P" +21-236-13:45:09.732 00 SCX_CPU1_DS_FI/3815 ut_setrequirements DS_1005, "P" +21-236-13:45:09.733 00 SCX_CPU1_DS_FI/3820 endif +21-236-13:45:09.733 00 SCX_CPU1_DS_FI/3821 +21-236-13:45:09.733 00 SCX_CPU1_DS_FI/3822 if (SCX_CPU1_find_event[1].num_found_messages = 1) THEN +21-236-13:45:09.733 00 SCX_CPU1_DS_FI/3823 write "<*> Passed (1005) - Event message ",SCX_CPU1_find_event[1].eventid, " received" +21-236-13:45:09.734 00 SPR-I:OPRO <*> Passed (1005) - Event message 36 received +21-236-13:45:09.734 00 SCX_CPU1_DS_FI/3824 ut_setrequirements DS_1005, "P" +21-236-13:45:09.770 00 SCX_CPU1_DS_FI/3828 endif +21-236-13:45:09.770 00 SCX_CPU1_DS_FI/3829 +21-236-13:45:09.770 00 SCX_CPU1_DS_FI/3830 wait 5 +21-236-13:45:09.770 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:45:14.772 00 SCX_CPU1_DS_FI/3831 +21-236-13:45:14.772 00 SCX_CPU1_DS_FI/3832 write ";***********************************************************************" +21-236-13:45:14.772 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:45:14.773 00 SCX_CPU1_DS_FI/3833 write "; Step 3.57: Send the Enable/Disable command with an invalid state." +21-236-13:45:14.773 00 SPR-I:OPRO ; Step 3.57: Send the Enable/Disable command with an invalid state. +21-236-13:45:14.773 00 SCX_CPU1_DS_FI/3834 write ";***********************************************************************" +21-236-13:45:14.773 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:45:14.773 00 SCX_CPU1_DS_FI/3836 ut_setupevents "SCX", "CPU1", {DSAppName}, DS_ENADIS_CMD_ERR_EID, "ERROR", 1 +21-236-13:45:14.780 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:45:14.780 00 SPR-I:OPRO ; Setup event 1 with DS ERROR 36 +21-236-13:45:14.780 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:45:14.783 00 SCX_CPU1_DS_FI/3837 +21-236-13:45:14.783 00 SCX_CPU1_DS_FI/3838 errcnt = SCX_CPU1_DS_CMDEC + 1 +21-236-13:45:14.783 00 SCX_CPU1_DS_FI/3839 +21-236-13:45:14.783 00 SCX_CPU1_DS_FI/3841 rawcmd = "18BBc0000003029E0002" +21-236-13:45:14.783 00 SCX_CPU1_DS_FI/3842 +21-236-13:45:14.783 00 SCX_CPU1_DS_FI/3843 ut_sendrawcmd "SCX_CPU1_DS", (rawcmd) +21-236-13:45:14.796 00 SPR-I:OPRO Sending: 18BBc0000003029E0002 +21-236-13:45:14.820 00 SPR-I:OPRO ; Telemetry update will wait a maximum of 24 seconds +21-236-13:45:14.820 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:45:15.579 00 TLMH-I:STS 58-012-14:27:18.001 ERROR CPU=CPU1 APPNAME=DS EVENT ID=36 Invalid APP STATE command length: expected = 12, actual = 10 +21-236-13:45:17.822 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:45:17.824 00 SCX_CPU1_DS_FI/3844 +21-236-13:45:17.824 00 SCX_CPU1_DS_FI/3845 ut_tlmwait SCX_CPU1_DS_CMDEC, {errcnt} +21-236-13:45:17.828 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:45:17.829 00 SCX_CPU1_DS_FI/3846 if (UT_TW_Status = UT_Success) then +21-236-13:45:17.829 00 SCX_CPU1_DS_FI/3847 write "<*> Passed (1005) - DS Enable/Disable Command Rejected Counter incremented." +21-236-13:45:17.829 00 SPR-I:OPRO <*> Passed (1005) - DS Enable/Disable Command Rejected Counter incremented. +21-236-13:45:17.829 00 SCX_CPU1_DS_FI/3848 ut_setrequirements DS_1005, "P" +21-236-13:45:17.831 00 SCX_CPU1_DS_FI/3852 endif +21-236-13:45:17.831 00 SCX_CPU1_DS_FI/3853 +21-236-13:45:17.831 00 SCX_CPU1_DS_FI/3854 if (SCX_CPU1_find_event[1].num_found_messages = 1) THEN +21-236-13:45:17.831 00 SCX_CPU1_DS_FI/3855 write "<*> Passed (1005) - Event message ",SCX_CPU1_find_event[1].eventid, " received" +21-236-13:45:17.831 00 SPR-I:OPRO <*> Passed (1005) - Event message 36 received +21-236-13:45:17.831 00 SCX_CPU1_DS_FI/3856 ut_setrequirements DS_1005, "P" +21-236-13:45:17.833 00 SCX_CPU1_DS_FI/3860 endif +21-236-13:45:17.833 00 SCX_CPU1_DS_FI/3861 +21-236-13:45:17.868 00 SCX_CPU1_DS_FI/3862 wait 5 +21-236-13:45:17.868 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:45:22.870 00 SCX_CPU1_DS_FI/3863 +21-236-13:45:22.870 00 SCX_CPU1_DS_FI/3864 write ";***********************************************************************" +21-236-13:45:22.870 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:45:22.870 00 SCX_CPU1_DS_FI/3865 write "; Step 3.58: Send the Close File command for the destination file that " +21-236-13:45:22.870 00 SPR-I:OPRO ; Step 3.58: Send the Close File command for the destination file that +21-236-13:45:22.870 00 SCX_CPU1_DS_FI/3866 write "; is still open and download it for post-test analysis. " +21-236-13:45:22.870 00 SPR-I:OPRO ; is still open and download it for post-test analysis. +21-236-13:45:22.870 00 SCX_CPU1_DS_FI/3867 write ";***********************************************************************" +21-236-13:45:22.870 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:45:22.870 00 SCX_CPU1_DS_FI/3869 /SCX_CPU1_DS_CloseFile FileIndex=seqFileEntry +21-236-13:45:22.882 00 SCX_CPU1_DS_FI/3870 wait 5 +21-236-13:45:22.882 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:45:23.571 00 TLMH-I:STS 58-012-14:27:26.004 ERROR CPU=CPU1 APPNAME=DS EVENT ID=61 FILE MOVE error: src = '/ram/00000101.dat', tgt = '/ram/movedir/00000101.dat', result = -1 +21-236-13:45:23.571 00 TLMH-I:STS 58-012-14:27:26.004 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=59 DEST CLOSE command: file table index = 0 +21-236-13:45:27.884 00 SCX_CPU1_DS_FI/3871 +21-236-13:45:27.884 00 SCX_CPU1_DS_FI/3873 write "==> Downloading '",fileName3,"'" +21-236-13:45:27.884 00 SPR-I:OPRO ==> Downloading '/ram/00000101.dat' +21-236-13:45:27.884 00 SCX_CPU1_DS_FI/3874 slashLoc = %locate(fileName3,"/") +21-236-13:45:27.885 00 SCX_CPU1_DS_FI/3875 while (slashLoc <> 0) do +21-236-13:45:27.885 00 SCX_CPU1_DS_FI/3876 fileName3 = %substring(fileName3,slashLoc+1,%length(fileName3)) +21-236-13:45:27.885 00 SCX_CPU1_DS_FI/3877 slashLoc = %locate(fileName3,"/") +21-236-13:45:27.885 00 SCX_CPU1_DS_FI/3878 enddo +21-236-13:45:27.885 00 SCX_CPU1_DS_FI/3876 fileName3 = %substring(fileName3,slashLoc+1,%length(fileName3)) +21-236-13:45:27.885 00 SCX_CPU1_DS_FI/3877 slashLoc = %locate(fileName3,"/") +21-236-13:45:27.885 00 SCX_CPU1_DS_FI/3878 enddo +21-236-13:45:27.885 00 SCX_CPU1_DS_FI/3879 write "==> FileName Only = '",fileName3,"'" +21-236-13:45:27.885 00 SPR-I:OPRO ==> FileName Only = '00000101.dat' +21-236-13:45:27.885 00 SCX_CPU1_DS_FI/3880 +21-236-13:45:27.885 00 SCX_CPU1_DS_FI/3883 s ftp_file(ramDir, fileName3, fileName3, hostCPU, "G") +21-236-13:45:27.886 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/ftp_file.i +21-236-13:45:27.886 00 SPR-I:STS Procedure FTP_FILE started +21-236-13:45:27.886 00 FTP_FILE/2 ; +21-236-13:45:27.886 00 FTP_FILE/3 local logging = %liv (log_procedure) +21-236-13:45:27.886 00 FTP_FILE/4 %liv (log_procedure) = FALSE +21-236-13:45:27.979 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-13:45:27.979 00 FTP_FILE/85 ENDPROC +21-236-13:45:27.979 00 SPR-I:STS Procedure FTP_FILE completed +21-236-13:45:27.980 00 SCX_CPU1_DS_FI/3884 +21-236-13:45:27.980 00 SCX_CPU1_DS_FI/3885 wait 5 +21-236-13:45:27.980 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:45:32.983 00 SCX_CPU1_DS_FI/3886 +21-236-13:45:32.983 00 SCX_CPU1_DS_FI/3887 write ";***********************************************************************" +21-236-13:45:32.983 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:45:32.983 00 SCX_CPU1_DS_FI/3888 write "; Step 3.59: Using the TST_DS application, send two messages to the" +21-236-13:45:32.983 00 SPR-I:OPRO ; Step 3.59: Using the TST_DS application, send two messages to the +21-236-13:45:32.983 00 SCX_CPU1_DS_FI/3889 write "; DS application to open multiple files." +21-236-13:45:32.983 00 SPR-I:OPRO ; DS application to open multiple files. +21-236-13:45:32.983 00 SCX_CPU1_DS_FI/3890 write ";***********************************************************************" +21-236-13:45:32.983 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:45:32.983 00 SCX_CPU1_DS_FI/3892 ut_setupevents "SCX", "CPU1", "TST_DS", TST_DS_MSG3_SENT_INF_EID, "INFO", 1 +21-236-13:45:32.986 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:45:32.986 00 SPR-I:OPRO ; Setup event 1 with TST_DS INFO 7 +21-236-13:45:32.986 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:45:32.987 00 SCX_CPU1_DS_FI/3893 +21-236-13:45:32.987 00 SCX_CPU1_DS_FI/3895 /SCX_CPU1_TST_DS_SENDMESSAGE MsgID=seqMsgID MsgType=3 Pattern=x'AA' +21-236-13:45:33.000 00 SCX_CPU1_DS_FI/3896 wait 5 +21-236-13:45:33.001 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:45:33.577 00 TLMH-I:STS 58-012-14:27:36.005 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=7 Sent Message Size 1016 to MID 0x00001000 +21-236-13:45:38.003 00 SCX_CPU1_DS_FI/3897 /SCX_CPU1_TST_DS_SENDMESSAGE MsgID=timeMsgID MsgType=3 Pattern=x'55' +21-236-13:45:38.014 00 SCX_CPU1_DS_FI/3898 wait 5 +21-236-13:45:38.014 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:45:38.572 00 TLMH-I:STS 58-012-14:27:41.003 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=7 Sent Message Size 1016 to MID 0x00001001 +21-236-13:45:43.017 00 SCX_CPU1_DS_FI/3899 +21-236-13:45:43.017 00 SCX_CPU1_DS_FI/3901 cmdCtr = SCX_CPU1_DS_CMDPC + 1 +21-236-13:45:43.017 00 SCX_CPU1_DS_FI/3902 +21-236-13:45:43.017 00 SCX_CPU1_DS_FI/3903 /SCX_CPU1_DS_GetFileInfo +21-236-13:45:43.028 00 SCX_CPU1_DS_FI/3904 +21-236-13:45:43.028 00 SCX_CPU1_DS_FI/3905 ut_tlmwait SCX_CPU1_DS_CMDPC, {cmdCtr} +21-236-13:45:43.032 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:45:43.577 00 TLMH-I:STS 58-012-14:27:46.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:45:46.033 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:45:46.035 00 SCX_CPU1_DS_FI/3906 +21-236-13:45:46.035 00 SCX_CPU1_DS_FI/3908 if (SCX_CPU1_find_event[1].num_found_messages = 2) then +21-236-13:45:46.035 00 SCX_CPU1_DS_FI/3909 write "<*> Passed - Expected Event Msgs were generated." +21-236-13:45:46.035 00 SPR-I:OPRO <*> Passed - Expected Event Msgs were generated. +21-236-13:45:46.035 00 SCX_CPU1_DS_FI/3912 endif +21-236-13:45:46.035 00 SCX_CPU1_DS_FI/3913 +21-236-13:45:46.035 00 SCX_CPU1_DS_FI/3914 wait 5 +21-236-13:45:46.035 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:45:51.038 00 SCX_CPU1_DS_FI/3915 +21-236-13:45:51.038 00 SCX_CPU1_DS_FI/3916 write ";***********************************************************************" +21-236-13:45:51.038 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:45:51.038 00 SCX_CPU1_DS_FI/3917 write "; Step 3.60: Send the Close All Files command " +21-236-13:45:51.038 00 SPR-I:OPRO ; Step 3.60: Send the Close All Files command +21-236-13:45:51.038 00 SCX_CPU1_DS_FI/3918 write ";***********************************************************************" +21-236-13:45:51.038 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:45:51.038 00 SCX_CPU1_DS_FI/3920 ut_setupevents "SCX", "CPU1", {DSAppName}, DS_CLOSE_ALL_CMD_EID, "DEBUG", 1 +21-236-13:45:51.039 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:45:51.039 00 SPR-I:OPRO ; Setup event 1 with DS DEBUG 66 +21-236-13:45:51.039 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:45:51.040 00 SCX_CPU1_DS_FI/3921 +21-236-13:45:51.040 00 SCX_CPU1_DS_FI/3922 cmdCtr = SCX_CPU1_DS_CMDPC + 1 +21-236-13:45:51.040 00 SCX_CPU1_DS_FI/3923 +21-236-13:45:51.040 00 SCX_CPU1_DS_FI/3925 /SCX_CPU1_DS_CloseAllFiles +21-236-13:45:51.051 00 SCX_CPU1_DS_FI/3926 +21-236-13:45:51.051 00 SCX_CPU1_DS_FI/3927 ut_tlmwait SCX_CPU1_DS_CMDPC, {cmdCtr} +21-236-13:45:51.054 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:45:51.571 00 TLMH-I:STS 58-012-14:27:54.004 ERROR CPU=CPU1 APPNAME=DS EVENT ID=61 FILE MOVE error: src = '/ram/00000102.dat', tgt = '/ram/movedir/00000102.dat', result = -1 +21-236-13:45:51.572 00 TLMH-I:STS 58-012-14:27:54.007 ERROR CPU=CPU1 APPNAME=DS EVENT ID=61 FILE MOVE error: src = '/ram/ti1980012142741', tgt = '/ram/movedir/ti1980012142741', result = -1 +21-236-13:45:51.572 00 TLMH-I:STS 58-012-14:27:54.007 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=66 DEST CLOSE ALL command +21-236-13:45:54.056 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:45:54.057 00 SCX_CPU1_DS_FI/3928 if (UT_TW_Status = UT_Success) then +21-236-13:45:54.057 00 SCX_CPU1_DS_FI/3929 write "<*> Passed (1004;5002) - DS Close All Files command sent properly." +21-236-13:45:54.057 00 SPR-I:OPRO <*> Passed (1004;5002) - DS Close All Files command sent properly. +21-236-13:45:54.057 00 SCX_CPU1_DS_FI/3930 ut_setrequirements DS_1004, "P" +21-236-13:45:54.058 00 SCX_CPU1_DS_FI/3931 ut_setrequirements DS_5002, "P" +21-236-13:45:54.059 00 SCX_CPU1_DS_FI/3936 endif +21-236-13:45:54.059 00 SCX_CPU1_DS_FI/3937 +21-236-13:45:54.059 00 SCX_CPU1_DS_FI/3939 ut_tlmwait SCX_CPU1_find_event[1].num_found_messages, 1 +21-236-13:45:54.061 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:45:54.062 00 SCX_CPU1_DS_FI/3940 if (UT_TW_Status = UT_Success) then +21-236-13:45:54.062 00 SCX_CPU1_DS_FI/3941 write "<*> Passed (1004) - Expected Event Msgs were generated." +21-236-13:45:54.062 00 SPR-I:OPRO <*> Passed (1004) - Expected Event Msgs were generated. +21-236-13:45:54.062 00 SCX_CPU1_DS_FI/3942 ut_setrequirements DS_1004, "P" +21-236-13:45:54.090 00 SCX_CPU1_DS_FI/3946 endif +21-236-13:45:54.090 00 SCX_CPU1_DS_FI/3947 +21-236-13:45:54.090 00 SCX_CPU1_DS_FI/3949 cmdCtr = SCX_CPU1_DS_CMDPC + 1 +21-236-13:45:54.090 00 SCX_CPU1_DS_FI/3950 +21-236-13:45:54.090 00 SCX_CPU1_DS_FI/3951 /SCX_CPU1_DS_GetFileInfo +21-236-13:45:54.102 00 SCX_CPU1_DS_FI/3952 +21-236-13:45:54.102 00 SCX_CPU1_DS_FI/3953 ut_tlmwait SCX_CPU1_DS_CMDPC, {cmdCtr} +21-236-13:45:54.104 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:45:54.569 00 TLMH-I:STS 58-012-14:27:57.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:45:58.107 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:45:58.108 00 SCX_CPU1_DS_FI/3954 +21-236-13:45:58.108 00 SCX_CPU1_DS_FI/3956 if (SCX_CPU1_DS_FileState[seqFileEntry].OpenState = DS_CLOSED) then +21-236-13:45:58.108 00 SCX_CPU1_DS_FI/3957 write "<*> Passed - Sequence file has been closed" +21-236-13:45:58.108 00 SPR-I:OPRO <*> Passed - Sequence file has been closed +21-236-13:45:58.108 00 SCX_CPU1_DS_FI/3960 endif +21-236-13:45:58.108 00 SCX_CPU1_DS_FI/3961 +21-236-13:45:58.108 00 SCX_CPU1_DS_FI/3962 if (SCX_CPU1_DS_FileState[timeFileEntry].OpenState = DS_CLOSED) then +21-236-13:45:58.108 00 SCX_CPU1_DS_FI/3963 write "<*> Passed - Time file has been closed" +21-236-13:45:58.108 00 SPR-I:OPRO <*> Passed - Time file has been closed +21-236-13:45:58.108 00 SCX_CPU1_DS_FI/3966 endif +21-236-13:45:58.108 00 SCX_CPU1_DS_FI/3967 +21-236-13:45:58.108 00 SCX_CPU1_DS_FI/3968 wait 5 +21-236-13:45:58.108 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:46:03.112 00 SCX_CPU1_DS_FI/3969 +21-236-13:46:03.112 00 SCX_CPU1_DS_FI/3970 write ";***********************************************************************" +21-236-13:46:03.112 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:46:03.112 00 SCX_CPU1_DS_FI/3971 write "; Step 3.61: Send the Close All Files command with an invalid length." +21-236-13:46:03.112 00 SPR-I:OPRO ; Step 3.61: Send the Close All Files command with an invalid length. +21-236-13:46:03.112 00 SCX_CPU1_DS_FI/3972 write ";***********************************************************************" +21-236-13:46:03.112 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:46:03.112 00 SCX_CPU1_DS_FI/3974 ut_setupevents "SCX", "CPU1", {DSAppName}, DS_CLOSE_ALL_CMD_ERR_EID, "ERROR", 1 +21-236-13:46:03.118 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:46:03.118 00 SPR-I:OPRO ; Setup event 1 with DS ERROR 67 +21-236-13:46:03.118 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:46:03.120 00 SCX_CPU1_DS_FI/3975 +21-236-13:46:03.120 00 SCX_CPU1_DS_FI/3976 errcnt = SCX_CPU1_DS_CMDEC + 1 +21-236-13:46:03.120 00 SCX_CPU1_DS_FI/3977 +21-236-13:46:03.120 00 SCX_CPU1_DS_FI/3979 rawcmd = "18BBc0000002119C" +21-236-13:46:03.120 00 SCX_CPU1_DS_FI/3980 +21-236-13:46:03.121 00 SCX_CPU1_DS_FI/3981 ut_sendrawcmd "SCX_CPU1_DS", (rawcmd) +21-236-13:46:03.129 00 SPR-I:OPRO Sending: 18BBc0000002119C +21-236-13:46:03.146 00 SPR-I:OPRO ; Telemetry update will wait a maximum of 24 seconds +21-236-13:46:03.146 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:46:03.576 00 TLMH-I:STS 58-012-14:28:06.001 ERROR CPU=CPU1 APPNAME=DS EVENT ID=67 Invalid DEST CLOSE ALL command length: expected = 8, actual = 9 +21-236-13:46:06.148 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:46:06.149 00 SCX_CPU1_DS_FI/3982 +21-236-13:46:06.149 00 SCX_CPU1_DS_FI/3983 ut_tlmwait SCX_CPU1_DS_CMDEC, {errcnt} +21-236-13:46:06.152 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:46:06.152 00 SCX_CPU1_DS_FI/3984 if (UT_TW_Status = UT_Success) then +21-236-13:46:06.152 00 SCX_CPU1_DS_FI/3985 write "<*> Passed (1002;1005) - DS Disable Command Rejected Counter incremented." +21-236-13:46:06.152 00 SPR-I:OPRO <*> Passed (1002;1005) - DS Disable Command Rejected Counter incremented. +21-236-13:46:06.152 00 SCX_CPU1_DS_FI/3986 ut_setrequirements DS_1002, "P" +21-236-13:46:06.153 00 SCX_CPU1_DS_FI/3987 ut_setrequirements DS_1005, "P" +21-236-13:46:06.154 00 SCX_CPU1_DS_FI/3992 endif +21-236-13:46:06.154 00 SCX_CPU1_DS_FI/3993 +21-236-13:46:06.154 00 SCX_CPU1_DS_FI/3994 if (SCX_CPU1_find_event[1].num_found_messages = 1) THEN +21-236-13:46:06.154 00 SCX_CPU1_DS_FI/3995 write "<*> Passed (1005) - Event message ",SCX_CPU1_find_event[1].eventid, " received" +21-236-13:46:06.154 00 SPR-I:OPRO <*> Passed (1005) - Event message 67 received +21-236-13:46:06.154 00 SCX_CPU1_DS_FI/3996 ut_setrequirements DS_1005, "P" +21-236-13:46:06.185 00 SCX_CPU1_DS_FI/4000 endif +21-236-13:46:06.185 00 SCX_CPU1_DS_FI/4001 +21-236-13:46:06.185 00 SCX_CPU1_DS_FI/4002 wait 5 +21-236-13:46:06.185 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:46:11.188 00 SCX_CPU1_DS_FI/4003 +21-236-13:46:11.188 00 SCX_CPU1_DS_FI/4004 write ";***********************************************************************" +21-236-13:46:11.188 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:46:11.188 00 SCX_CPU1_DS_FI/4005 write "; Step 4.0: Clean-up - Send the Processor Reset command in order to " +21-236-13:46:11.188 00 SPR-I:OPRO ; Step 4.0: Clean-up - Send the Processor Reset command in order to +21-236-13:46:11.188 00 SCX_CPU1_DS_FI/4006 write "; be able to retrieve files in RAM after this procedure completes. " +21-236-13:46:11.188 00 SPR-I:OPRO ; be able to retrieve files in RAM after this procedure completes. +21-236-13:46:11.188 00 SCX_CPU1_DS_FI/4007 write ";***********************************************************************" +21-236-13:46:11.188 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:46:11.188 00 SCX_CPU1_DS_FI/4008 /SCX_CPU1_ES_PROCESSORRESET +21-236-13:46:11.200 00 SCX_CPU1_DS_FI/4009 wait 10 +21-236-13:46:11.200 00 SPR-I:STTE Wait mode - waiting 10 seconds ... +21-236-13:46:21.207 00 SCX_CPU1_DS_FI/4010 +21-236-13:46:21.207 00 SCX_CPU1_DS_FI/4011 close_data_center +21-236-13:46:21.209 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/clear_spacecraft_status.i +21-236-13:46:21.210 00 SPR-I:STS Procedure CLEAR_SPACECRAFT_STATUS started +21-236-13:46:21.210 00 CLEAR_SPACECRA/2 ; +21-236-13:46:21.210 00 CLEAR_SPACECRA/3 local logging = %liv(log_procedure) +21-236-13:46:21.210 00 CLEAR_SPACECRA/4 %liv (log_procedure) = FALSE +21-236-13:46:21.224 00 CLEAR_SPACECRA/135 +21-236-13:46:21.225 00 CLEAR_SPACECRA/136 endproc +21-236-13:46:21.225 00 SPR-I:STS Procedure CLEAR_SPACECRAFT_STATUS completed +21-236-13:46:21.256 00 SCX_CPU1_DS_FI/4012 wait 60 +21-236-13:46:21.256 00 SPR-I:STTE Wait mode - waiting 60 seconds ... +21-236-13:47:21.307 00 SCX_CPU1_DS_FI/4013 +21-236-13:47:21.307 00 SCX_CPU1_DS_FI/4014 cfe_startup {hostCPU} +21-236-13:47:21.320 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:47:31.332 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:47:31.401 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/send_that_to_command.i +21-236-13:47:31.401 00 SPR-I:STS Procedure SEND_THAT_TO_COMMAND started +21-236-13:47:31.402 00 SEND_THAT_TO_C/2 ; +21-236-13:47:31.402 00 SEND_THAT_TO_C/3 local logging = %liv (log_procedure) +21-236-13:47:31.402 00 SEND_THAT_TO_C/4 %liv (log_procedure) = FALSE +21-236-13:47:31.402 00 SPR-I:OPRO Sending: /SCX_CPU1_TO_OUTPUT_ENA gs582cfslab4 +21-236-13:47:31.454 00 SEND_THAT_TO_C/83 +21-236-13:47:31.454 00 SEND_THAT_TO_C/84 endproc +21-236-13:47:31.454 00 SPR-I:STS Procedure SEND_THAT_TO_COMMAND completed +21-236-13:47:31.454 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:47:32.340 00 TLMH-I:STS 58-012-14:28:41.100 INFO CPU=CPU1 APPNAME=TO_LAB_APP EVENT ID=3 TO telemetry output enabled for IP 192.168.1.101 +21-236-13:47:35.458 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:47:35.459 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/fill_in_spacecraft_status.i +21-236-13:47:35.460 00 SPR-I:STS Procedure FILL_IN_SPACECRAFT_STATUS started +21-236-13:47:35.461 00 FILL_IN_SPACEC/2 ; +21-236-13:47:35.461 00 FILL_IN_SPACEC/3 local logging = %liv (log_procedure) +21-236-13:47:35.461 00 FILL_IN_SPACEC/4 %liv (log_procedure) = FALSE +21-236-13:47:35.466 00 FILL_IN_SPACEC/152 +21-236-13:47:35.466 00 FILL_IN_SPACEC/153 endproc +21-236-13:47:35.466 00 SPR-I:STS Procedure FILL_IN_SPACECRAFT_STATUS completed +21-236-13:47:35.467 00 SCX_CPU1_DS_FI/4015 wait 5 +21-236-13:47:35.467 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:47:40.471 00 SCX_CPU1_DS_FI/4016 +21-236-13:47:40.471 00 SCX_CPU1_DS_FI/4017 write "**** Requirements Status Reporting" +21-236-13:47:40.471 00 SPR-I:OPRO **** Requirements Status Reporting +21-236-13:47:40.471 00 SCX_CPU1_DS_FI/4018 +21-236-13:47:40.472 00 SCX_CPU1_DS_FI/4019 write "--------------------------" +21-236-13:47:40.472 00 SPR-I:OPRO -------------------------- +21-236-13:47:40.472 00 SCX_CPU1_DS_FI/4020 write " Requirement(s) Report" +21-236-13:47:40.472 00 SPR-I:OPRO Requirement(s) Report +21-236-13:47:40.472 00 SCX_CPU1_DS_FI/4021 write "--------------------------" +21-236-13:47:40.472 00 SPR-I:OPRO -------------------------- +21-236-13:47:40.472 00 SCX_CPU1_DS_FI/4022 +21-236-13:47:40.472 00 SCX_CPU1_DS_FI/4023 FOR i = 0 to ut_req_array_size DO +21-236-13:47:40.472 00 SCX_CPU1_DS_FI/4024 ut_pfindicate {cfe_requirements[i]} {ut_requirement[i]} +21-236-13:47:40.473 00 SPR-I:OPRO FSW Requirement: DS_1002 P/F: P +21-236-13:47:40.475 00 SCX_CPU1_DS_FI/4025 ENDDO +21-236-13:47:40.476 00 SCX_CPU1_DS_FI/4023 FOR i = 0 to ut_req_array_size DO +21-236-13:47:40.477 00 SCX_CPU1_DS_FI/4024 ut_pfindicate {cfe_requirements[i]} {ut_requirement[i]} +21-236-13:47:40.477 00 SPR-I:OPRO FSW Requirement: DS_1004 P/F: P +21-236-13:47:40.477 00 SCX_CPU1_DS_FI/4025 ENDDO +21-236-13:47:40.478 00 SCX_CPU1_DS_FI/4023 FOR i = 0 to ut_req_array_size DO +21-236-13:47:40.478 00 SCX_CPU1_DS_FI/4024 ut_pfindicate {cfe_requirements[i]} {ut_requirement[i]} +21-236-13:47:40.478 00 SPR-I:OPRO FSW Requirement: DS_1005 P/F: P +21-236-13:47:40.478 00 SCX_CPU1_DS_FI/4025 ENDDO +21-236-13:47:40.479 00 SCX_CPU1_DS_FI/4023 FOR i = 0 to ut_req_array_size DO +21-236-13:47:40.479 00 SCX_CPU1_DS_FI/4024 ut_pfindicate {cfe_requirements[i]} {ut_requirement[i]} +21-236-13:47:40.479 00 SPR-I:OPRO FSW Requirement: DS_3000 P/F: P +21-236-13:47:40.480 00 SCX_CPU1_DS_FI/4025 ENDDO +21-236-13:47:40.480 00 SCX_CPU1_DS_FI/4023 FOR i = 0 to ut_req_array_size DO +21-236-13:47:40.480 00 SCX_CPU1_DS_FI/4024 ut_pfindicate {cfe_requirements[i]} {ut_requirement[i]} +21-236-13:47:40.480 00 SPR-I:OPRO FSW Requirement: DS_3000.1 P/F: A +21-236-13:47:40.507 00 SCX_CPU1_DS_FI/4025 ENDDO +21-236-13:47:40.508 00 SCX_CPU1_DS_FI/4023 FOR i = 0 to ut_req_array_size DO +21-236-13:47:40.508 00 SCX_CPU1_DS_FI/4024 ut_pfindicate {cfe_requirements[i]} {ut_requirement[i]} +21-236-13:47:40.508 00 SPR-I:OPRO FSW Requirement: DS_3000.1.1 P/F: A +21-236-13:47:40.509 00 SCX_CPU1_DS_FI/4025 ENDDO +21-236-13:47:40.509 00 SCX_CPU1_DS_FI/4023 FOR i = 0 to ut_req_array_size DO +21-236-13:47:40.509 00 SCX_CPU1_DS_FI/4024 ut_pfindicate {cfe_requirements[i]} {ut_requirement[i]} +21-236-13:47:40.509 00 SPR-I:OPRO FSW Requirement: DS_3000.2 P/F: A +21-236-13:47:40.510 00 SCX_CPU1_DS_FI/4025 ENDDO +21-236-13:47:40.510 00 SCX_CPU1_DS_FI/4023 FOR i = 0 to ut_req_array_size DO +21-236-13:47:40.510 00 SCX_CPU1_DS_FI/4024 ut_pfindicate {cfe_requirements[i]} {ut_requirement[i]} +21-236-13:47:40.510 00 SPR-I:OPRO FSW Requirement: DS_3000.2.1 P/F: A +21-236-13:47:40.534 00 SCX_CPU1_DS_FI/4025 ENDDO +21-236-13:47:40.535 00 SCX_CPU1_DS_FI/4023 FOR i = 0 to ut_req_array_size DO +21-236-13:47:40.535 00 SCX_CPU1_DS_FI/4024 ut_pfindicate {cfe_requirements[i]} {ut_requirement[i]} +21-236-13:47:40.535 00 SPR-I:OPRO FSW Requirement: DS_3001 P/F: P +21-236-13:47:40.536 00 SCX_CPU1_DS_FI/4025 ENDDO +21-236-13:47:40.536 00 SCX_CPU1_DS_FI/4023 FOR i = 0 to ut_req_array_size DO +21-236-13:47:40.536 00 SCX_CPU1_DS_FI/4024 ut_pfindicate {cfe_requirements[i]} {ut_requirement[i]} +21-236-13:47:40.536 00 SPR-I:OPRO FSW Requirement: DS_3001.1 P/F: P +21-236-13:47:40.537 00 SCX_CPU1_DS_FI/4025 ENDDO +21-236-13:47:40.537 00 SCX_CPU1_DS_FI/4023 FOR i = 0 to ut_req_array_size DO +21-236-13:47:40.537 00 SCX_CPU1_DS_FI/4024 ut_pfindicate {cfe_requirements[i]} {ut_requirement[i]} +21-236-13:47:40.538 00 SPR-I:OPRO FSW Requirement: DS_3001.2 P/F: A +21-236-13:47:40.560 00 SCX_CPU1_DS_FI/4025 ENDDO +21-236-13:47:40.561 00 SCX_CPU1_DS_FI/4023 FOR i = 0 to ut_req_array_size DO +21-236-13:47:40.561 00 SCX_CPU1_DS_FI/4024 ut_pfindicate {cfe_requirements[i]} {ut_requirement[i]} +21-236-13:47:40.561 00 SPR-I:OPRO FSW Requirement: DS_3002 P/F: P +21-236-13:47:40.562 00 SCX_CPU1_DS_FI/4025 ENDDO +21-236-13:47:40.562 00 SCX_CPU1_DS_FI/4023 FOR i = 0 to ut_req_array_size DO +21-236-13:47:40.563 00 SCX_CPU1_DS_FI/4024 ut_pfindicate {cfe_requirements[i]} {ut_requirement[i]} +21-236-13:47:40.563 00 SPR-I:OPRO FSW Requirement: DS_3002.1 P/F: P +21-236-13:47:40.563 00 SCX_CPU1_DS_FI/4025 ENDDO +21-236-13:47:40.564 00 SCX_CPU1_DS_FI/4023 FOR i = 0 to ut_req_array_size DO +21-236-13:47:40.564 00 SCX_CPU1_DS_FI/4024 ut_pfindicate {cfe_requirements[i]} {ut_requirement[i]} +21-236-13:47:40.564 00 SPR-I:OPRO FSW Requirement: DS_3003 P/F: A +21-236-13:47:40.585 00 SCX_CPU1_DS_FI/4025 ENDDO +21-236-13:47:40.586 00 SCX_CPU1_DS_FI/4023 FOR i = 0 to ut_req_array_size DO +21-236-13:47:40.586 00 SCX_CPU1_DS_FI/4024 ut_pfindicate {cfe_requirements[i]} {ut_requirement[i]} +21-236-13:47:40.586 00 SPR-I:OPRO FSW Requirement: DS_3004 P/F: A +21-236-13:47:40.586 00 SCX_CPU1_DS_FI/4025 ENDDO +21-236-13:47:40.587 00 SCX_CPU1_DS_FI/4023 FOR i = 0 to ut_req_array_size DO +21-236-13:47:40.587 00 SCX_CPU1_DS_FI/4024 ut_pfindicate {cfe_requirements[i]} {ut_requirement[i]} +21-236-13:47:40.587 00 SPR-I:OPRO FSW Requirement: DS_3005 P/F: P +21-236-13:47:40.588 00 SCX_CPU1_DS_FI/4025 ENDDO +21-236-13:47:40.588 00 SCX_CPU1_DS_FI/4023 FOR i = 0 to ut_req_array_size DO +21-236-13:47:40.588 00 SCX_CPU1_DS_FI/4024 ut_pfindicate {cfe_requirements[i]} {ut_requirement[i]} +21-236-13:47:40.588 00 SPR-I:OPRO FSW Requirement: DS_5000 P/F: P +21-236-13:47:40.610 00 SCX_CPU1_DS_FI/4025 ENDDO +21-236-13:47:40.611 00 SCX_CPU1_DS_FI/4023 FOR i = 0 to ut_req_array_size DO +21-236-13:47:40.611 00 SCX_CPU1_DS_FI/4024 ut_pfindicate {cfe_requirements[i]} {ut_requirement[i]} +21-236-13:47:40.611 00 SPR-I:OPRO FSW Requirement: DS_5001 P/F: P +21-236-13:47:40.612 00 SCX_CPU1_DS_FI/4025 ENDDO +21-236-13:47:40.612 00 SCX_CPU1_DS_FI/4023 FOR i = 0 to ut_req_array_size DO +21-236-13:47:40.612 00 SCX_CPU1_DS_FI/4024 ut_pfindicate {cfe_requirements[i]} {ut_requirement[i]} +21-236-13:47:40.612 00 SPR-I:OPRO FSW Requirement: DS_5002 P/F: P +21-236-13:47:40.613 00 SCX_CPU1_DS_FI/4025 ENDDO +21-236-13:47:40.613 00 SCX_CPU1_DS_FI/4023 FOR i = 0 to ut_req_array_size DO +21-236-13:47:40.613 00 SCX_CPU1_DS_FI/4024 ut_pfindicate {cfe_requirements[i]} {ut_requirement[i]} +21-236-13:47:40.614 00 SPR-I:OPRO FSW Requirement: DS_5003 P/F: P +21-236-13:47:40.635 00 SCX_CPU1_DS_FI/4025 ENDDO +21-236-13:47:40.635 00 SCX_CPU1_DS_FI/4023 FOR i = 0 to ut_req_array_size DO +21-236-13:47:40.635 00 SCX_CPU1_DS_FI/4024 ut_pfindicate {cfe_requirements[i]} {ut_requirement[i]} +21-236-13:47:40.636 00 SPR-I:OPRO FSW Requirement: DS_5004 P/F: P +21-236-13:47:40.636 00 SCX_CPU1_DS_FI/4025 ENDDO +21-236-13:47:40.636 00 SCX_CPU1_DS_FI/4023 FOR i = 0 to ut_req_array_size DO +21-236-13:47:40.637 00 SCX_CPU1_DS_FI/4024 ut_pfindicate {cfe_requirements[i]} {ut_requirement[i]} +21-236-13:47:40.637 00 SPR-I:OPRO FSW Requirement: DS_5005 P/F: P +21-236-13:47:40.637 00 SCX_CPU1_DS_FI/4025 ENDDO +21-236-13:47:40.638 00 SCX_CPU1_DS_FI/4023 FOR i = 0 to ut_req_array_size DO +21-236-13:47:40.638 00 SCX_CPU1_DS_FI/4024 ut_pfindicate {cfe_requirements[i]} {ut_requirement[i]} +21-236-13:47:40.638 00 SPR-I:OPRO FSW Requirement: DS_5006 P/F: P +21-236-13:47:40.660 00 SCX_CPU1_DS_FI/4025 ENDDO +21-236-13:47:40.660 00 SCX_CPU1_DS_FI/4023 FOR i = 0 to ut_req_array_size DO +21-236-13:47:40.660 00 SCX_CPU1_DS_FI/4024 ut_pfindicate {cfe_requirements[i]} {ut_requirement[i]} +21-236-13:47:40.660 00 SPR-I:OPRO FSW Requirement: DS_5011 P/F: P +21-236-13:47:40.661 00 SCX_CPU1_DS_FI/4025 ENDDO +21-236-13:47:40.661 00 SCX_CPU1_DS_FI/4023 FOR i = 0 to ut_req_array_size DO +21-236-13:47:40.661 00 SCX_CPU1_DS_FI/4024 ut_pfindicate {cfe_requirements[i]} {ut_requirement[i]} +21-236-13:47:40.662 00 SPR-I:OPRO FSW Requirement: DS_5012 P/F: P +21-236-13:47:40.662 00 SCX_CPU1_DS_FI/4025 ENDDO +21-236-13:47:40.663 00 SCX_CPU1_DS_FI/4023 FOR i = 0 to ut_req_array_size DO +21-236-13:47:40.663 00 SCX_CPU1_DS_FI/4024 ut_pfindicate {cfe_requirements[i]} {ut_requirement[i]} +21-236-13:47:40.663 00 SPR-I:OPRO FSW Requirement: DS_5013 P/F: P +21-236-13:47:40.684 00 SCX_CPU1_DS_FI/4025 ENDDO +21-236-13:47:40.684 00 SCX_CPU1_DS_FI/4023 FOR i = 0 to ut_req_array_size DO +21-236-13:47:40.685 00 SCX_CPU1_DS_FI/4024 ut_pfindicate {cfe_requirements[i]} {ut_requirement[i]} +21-236-13:47:40.685 00 SPR-I:OPRO FSW Requirement: DS_5014 P/F: P +21-236-13:47:40.685 00 SCX_CPU1_DS_FI/4025 ENDDO +21-236-13:47:40.686 00 SCX_CPU1_DS_FI/4023 FOR i = 0 to ut_req_array_size DO +21-236-13:47:40.686 00 SCX_CPU1_DS_FI/4024 ut_pfindicate {cfe_requirements[i]} {ut_requirement[i]} +21-236-13:47:40.686 00 SPR-I:OPRO FSW Requirement: DS_5015 P/F: P +21-236-13:47:40.686 00 SCX_CPU1_DS_FI/4025 ENDDO +21-236-13:47:40.687 00 SCX_CPU1_DS_FI/4023 FOR i = 0 to ut_req_array_size DO +21-236-13:47:40.687 00 SCX_CPU1_DS_FI/4024 ut_pfindicate {cfe_requirements[i]} {ut_requirement[i]} +21-236-13:47:40.687 00 SPR-I:OPRO FSW Requirement: DS_8000 P/F: P +21-236-13:47:40.709 00 SCX_CPU1_DS_FI/4025 ENDDO +21-236-13:47:40.709 00 SCX_CPU1_DS_FI/4023 FOR i = 0 to ut_req_array_size DO +21-236-13:47:40.710 00 SCX_CPU1_DS_FI/4024 ut_pfindicate {cfe_requirements[i]} {ut_requirement[i]} +21-236-13:47:40.710 00 SPR-I:OPRO FSW Requirement: DS_9000 P/F: P +21-236-13:47:40.710 00 SCX_CPU1_DS_FI/4025 ENDDO +21-236-13:47:40.711 00 SCX_CPU1_DS_FI/4023 FOR i = 0 to ut_req_array_size DO +21-236-13:47:40.711 00 SCX_CPU1_DS_FI/4026 +21-236-13:47:40.711 00 SCX_CPU1_DS_FI/4027 drop ut_requirement ; needed to clear global variables +21-236-13:47:40.711 00 SPR-I:STS Variable "UT_REQUIREMENT" deleted +21-236-13:47:40.711 00 SCX_CPU1_DS_FI/4028 drop ut_req_array_size ; needed to clear global variables +21-236-13:47:40.711 00 SPR-I:STS Variable "UT_REQ_ARRAY_SIZE" deleted +21-236-13:47:40.711 00 SCX_CPU1_DS_FI/4029 +21-236-13:47:40.711 00 SCX_CPU1_DS_FI/4030 write ";*********************************************************************" +21-236-13:47:40.712 00 SPR-I:OPRO ;********************************************************************* +21-236-13:47:40.734 00 SCX_CPU1_DS_FI/4031 write "; End procedure SCX_CPU1_ds_filewrite" +21-236-13:47:40.734 00 SPR-I:OPRO ; End procedure SCX_CPU1_ds_filewrite +21-236-13:47:40.734 00 SCX_CPU1_DS_FI/4032 write ";*********************************************************************" +21-236-13:47:40.734 00 SPR-I:OPRO ;********************************************************************* +21-236-13:47:40.735 00 SCX_CPU1_DS_FI/4033 ENDPROC +21-236-13:47:40.735 00 SPR-I:STS Procedure SCX_CPU1_DS_FILEWRITE completed +21-236-13:47:40.736 00 UT_RUNPROC/249 +21-236-13:47:40.736 00 UT_RUNPROC/264 #endif +21-236-13:47:40.736 00 UT_RUNPROC/265 +21-236-13:47:40.736 00 UT_RUNPROC/266 write "*** Telemetry Info ***" +21-236-13:47:40.737 00 SPR-I:OPRO *** Telemetry Info *** +21-236-13:47:40.737 00 UT_RUNPROC/268 ;;; write "Pkt Loss Count: ", TO_PCKTSDISCARD +21-236-13:47:40.737 00 UT_RUNPROC/269 write "Pkt Loss Count: N/A" +21-236-13:47:40.737 00 SPR-I:OPRO +21-236-13:47:40.737 00 UT_RUNPROC/269 write "Pkt Loss Count: N/A" +21-236-13:47:40.737 00 SPR-I:OPRO Pkt Loss Count: N/A +21-236-13:47:40.737 00 UT_RUNPROC/271 write "******************" +21-236-13:47:40.737 00 SPR-I:OPRO +21-236-13:47:40.737 00 UT_RUNPROC/271 write "******************" +21-236-13:47:40.737 00 SPR-I:OPRO ****************** +21-236-13:47:40.737 00 UT_RUNPROC/273 +21-236-13:47:40.737 00 SPR-I:OPRO +21-236-13:47:40.737 00 UT_RUNPROC/273 +21-236-13:47:40.737 00 UT_RUNPROC/274 etime = %gmt +21-236-13:47:40.737 00 UT_RUNPROC/275 write "Elapsed time: ", etime-stime, " seconds" +21-236-13:47:40.737 00 SPR-I:OPRO Elapsed time: 1636.2 seconds +21-236-13:47:40.742 00 UT_RUNPROC/276 write "Elapsed time: ", (etime-stime)/60, " minutes" +21-236-13:47:40.742 00 SPR-I:OPRO Elapsed time: 27.27 minutes +21-236-13:47:40.742 00 UT_RUNPROC/277 ; +21-236-13:47:40.742 00 UT_RUNPROC/278 ; wait for completion of procedure +21-236-13:47:40.742 00 UT_RUNPROC/279 ; +21-236-13:47:40.742 00 UT_RUNPROC/280 wait(10) +21-236-13:47:40.742 00 SPR-I:STTE Wait mode - waiting 10 seconds ... +21-236-13:47:50.751 00 UT_RUNPROC/281 ; +21-236-13:47:50.751 00 UT_RUNPROC/282 ; close the log to procedure log name for archive +21-236-13:47:50.751 00 UT_RUNPROC/283 ; +21-236-13:47:50.751 00 UT_RUNPROC/284 local test_log_string = "/test_logs/" +21-236-13:47:50.751 00 UT_RUNPROC/285 if ((logoff_when_done = 0) and (%length(opt_parm) <> 0)) then +21-236-13:47:50.751 00 UT_RUNPROC/286 test_log_string = test_log_string & opt_parm & "/" +21-236-13:47:50.752 00 UT_RUNPROC/287 endif +21-236-13:47:50.752 00 UT_RUNPROC/288 +21-236-13:47:50.752 00 UT_RUNPROC/289 write "Creating filtered log at " & %env("WORK") & test_log_string ;; +21-236-13:47:50.752 00 UT_RUNPROC/290 & log_name & "f" +21-236-13:47:50.752 00 SPR-I:OPRO Creating filtered log at /s/opr/accounts/cfs_test/test_logs/DS2.6.0/scx_cpu1_ds_filewrite-2021-236-13h20m24s.logf +21-236-13:47:50.752 00 UT_RUNPROC/291 write "Creating filtered output log at " & %env("WORK") & test_log_string ;; +21-236-13:47:50.752 00 UT_RUNPROC/292 & log_name & "p" +21-236-13:47:50.753 00 SPR-I:OPRO Creating filtered output log at /s/opr/accounts/cfs_test/test_logs/DS2.6.0/scx_cpu1_ds_filewrite-2021-236-13h20m24s.logp +21-236-13:47:50.753 00 UT_RUNPROC/293 write "Creating filtered output log (without SFDUs) at " & %env("WORK") ;; +21-236-13:47:50.753 00 UT_RUNPROC/294 & test_log_string & log_name & "s" +21-236-13:47:50.753 00 SPR-I:OPRO Creating filtered output log (without SFDUs) at /s/opr/accounts/cfs_test/test_logs/DS2.6.0/scx_cpu1_ds_filewrite-2021-236-13h20m24s.logs +21-236-13:47:50.753 00 UT_RUNPROC/295 write "Creating filtered event log at " & %env("WORK") & test_log_string ;; +21-236-13:47:50.753 00 UT_RUNPROC/296 & log_name & "e" +21-236-13:47:50.753 00 SPR-I:OPRO Creating filtered event log at /s/opr/accounts/cfs_test/test_logs/DS2.6.0/scx_cpu1_ds_filewrite-2021-236-13h20m24s.loge +21-236-13:47:50.754 00 UT_RUNPROC/297 write "Creating filtered requirements log at " & %env("WORK") ;; +21-236-13:47:50.754 00 UT_RUNPROC/298 & test_log_string & log_name & "r" +21-236-13:47:50.754 00 SPR-I:OPRO Creating filtered requirements log at /s/opr/accounts/cfs_test/test_logs/DS2.6.0/scx_cpu1_ds_filewrite-2021-236-13h20m24s.logr +21-236-13:47:50.754 00 UT_RUNPROC/299 +21-236-13:47:50.754 00 UT_RUNPROC/300 rstol_dir = "rstol 'newlog " & log_name & "'" +21-236-13:47:50.754 00 UT_RUNPROC/301 native(rstol_dir) +21-236-13:47:50.895 00 SPR-I:OPRI --> newlog scx_cpu1_ds_filewrite-2021-236-13h20m24s.log diff --git a/test_and_ground/results/Caelum/scx_cpu1_ds_filewrite-2021-236-13h20m24s.logp b/test_and_ground/results/Caelum/scx_cpu1_ds_filewrite-2021-236-13h20m24s.logp new file mode 100644 index 0000000..5c2a68b --- /dev/null +++ b/test_and_ground/results/Caelum/scx_cpu1_ds_filewrite-2021-236-13h20m24s.logp @@ -0,0 +1,2348 @@ +21-236-13:20:24.525 00 SPR-I:OPRO ****************** FSW Configuration ****************** +21-236-13:20:24.525 00 SPR-I:OPRO Checksum: 29237 +21-236-13:20:24.525 00 SPR-I:OPRO cFE Version: 6.7.99.0 +21-236-13:20:24.526 00 SPR-I:OPRO OS Version: 5.0.0.255 +21-236-13:20:24.532 00 SPR-I:OPRO +21-236-13:20:24.532 00 SPR-I:OPRO Connection Status +21-236-13:20:24.532 00 SPR-I:OPRO ----------------- +21-236-13:20:24.533 00 SPR-I:OPRO CFDP: DOWN +21-236-13:20:24.533 00 SPR-I:OPRO UDP: UP +21-236-13:20:24.533 00 SPR-I:OPRO SWTS: UNK +21-236-13:20:24.534 00 SPR-I:OPRO +21-236-13:20:24.534 00 SPR-I:OPRO CMD / TLM Path +21-236-13:20:24.534 00 SPR-I:OPRO -------------- +21-236-13:20:24.534 00 SPR-I:OPRO UDP +21-236-13:20:24.534 00 SPR-I:OPRO +21-236-13:20:24.534 00 SPR-I:OPRO +21-236-13:20:24.534 00 SPR-I:OPRO ASIST / GDS Configuration +21-236-13:20:24.534 00 SPR-I:OPRO ------------------------- +21-236-13:20:24.534 00 SPR-I:OPRO Workstation: GS582CFSLAB4 +21-236-13:20:24.534 00 SPR-I:OPRO Account: cfs_test +21-236-13:20:24.534 00 SPR-I:OPRO Version: 21.0.7 +21-236-13:20:24.536 00 SPR-I:OPRO Tlm DB: Version: 1.985 Date: 08-24-21 Time: 06:37:06 AM. +21-236-13:20:24.536 00 SPR-I:OPRO Cmd DB: Version: 1.51 Date: 08-24-21 Time: 06:47:31 AM.EDT +21-236-13:20:24.536 00 SPR-I:OPRO +21-236-13:20:24.536 00 SPR-I:OPRO Telemetry Info +21-236-13:20:24.536 00 SPR-I:OPRO -------------- +21-236-13:20:24.536 00 SPR-I:OPRO Pkt Loss Count: N/A +21-236-13:20:24.536 00 SPR-I:OPRO **************** End FSW Configuration *************** +21-236-13:20:24.537 00 SPR-I:OPRO Starting Procedure.... scx_cpu1_ds_filewrite +21-236-13:20:24.676 00 SPR-I:OPRI --> start scx_cpu1_ds_filewrite +21-236-13:20:24.676 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/scx_cpu1_ds_filewrite.i +21-236-13:20:24.691 00 SPR-I:STS Procedure SCX_CPU1_DS_FILEWRITE started +21-236-13:20:25.036 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:20:25.037 00 SPR-I:OPRO ; Step 1.0: Data Storage Test Setup. +21-236-13:20:25.037 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:20:25.037 00 SPR-I:OPRO ; Step 1.1: Command a Power-on Reset on CPU3 +21-236-13:20:25.037 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:20:25.038 00 CMH-I:CMD Command is /SCX_CPU1_ES_POWERONRESET ;;; (SCX CPU1 ES Power-On Reset command code) +21-236-13:20:25.038 00 CMH-I:CMD Command SFDU received:<1806C000000302220002> from gs582cfslab4:SPR +21-236-13:20:25.049 00 SPR-I:STTE Wait mode - waiting 10 seconds ... +21-236-13:20:35.058 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/clear_spacecraft_status.i +21-236-13:20:35.059 00 SPR-I:STS Procedure CLEAR_SPACECRAFT_STATUS started +21-236-13:20:35.064 00 SPR-I:STS Procedure CLEAR_SPACECRAFT_STATUS completed +21-236-13:20:35.077 00 SPR-I:STTE Wait mode - waiting 60 seconds ... +21-236-13:21:35.131 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:21:41.100 00 CMH-I:STS Connected to FEDS:FEDS for commanding (internal ID 0). +21-236-13:21:45.142 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:21:45.144 00 CMH-I:CMD SFDU is /DDIR DATA="open udp_read C%03X 1235 packet_only" ;;; ( ) +21-236-13:21:45.170 00 CMH-I:CMD SFDU is /DDIR DATA="open udp_write CPKT cpu3 1234 ascii_pkt" ;;; ( ) +21-236-13:21:45.222 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/send_that_to_command.i +21-236-13:21:45.222 00 SPR-I:STS Procedure SEND_THAT_TO_COMMAND started +21-236-13:21:45.223 00 SPR-I:OPRO Sending: /SCX_CPU1_TO_OUTPUT_ENA gs582cfslab4 +21-236-13:21:45.223 00 CMH-I:CMD Command is /SCX_CPU1_TO_OUTPUT_ENA GS582CFSLAB4 ;;; (SCX CPU1 Enables TO output) +21-236-13:21:45.223 00 CMH-I:CMD Command SFDU received:<1880C0000011069A3139322E3136382E312E313031000000> from gs582cfslab4:SPR +21-236-13:21:45.274 00 SPR-I:STS Procedure SEND_THAT_TO_COMMAND completed +21-236-13:21:45.274 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:21:46.592 00 TLMH-I:STS 58-012-14:03:48.950 INFO CPU=CPU1 APPNAME=TO_LAB_APP EVENT ID=3 TO telemetry output enabled for IP 192.168.1.101 +21-236-13:21:50.280 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:21:50.281 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/fill_in_spacecraft_status.i +21-236-13:21:50.283 00 SPR-I:STS Procedure FILL_IN_SPACECRAFT_STATUS started +21-236-13:21:50.288 00 SPR-I:STS Procedure FILL_IN_SPACECRAFT_STATUS completed +21-236-13:21:50.289 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:21:55.294 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:21:55.294 00 SPR-I:OPRO ; Step 1.2: Upload the initial DS table load images to CPU1. +21-236-13:21:55.294 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:21:55.295 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/scx_cpu1_ds_tbl2.i +21-236-13:21:55.312 00 SPR-I:STS Procedure SCX_CPU1_DS_TBL2 started +21-236-13:21:55.373 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:21:55.373 00 SPR-I:OPRO ; Step 1.0: Define DS Destination File And Packet Filter Tables. +21-236-13:21:55.373 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:21:55.375 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/create_tbl_file_from_cvt.i +21-236-13:21:55.375 00 SPR-I:STS Procedure CREATE_TBL_FILE_FROM_CVT started +21-236-13:21:55.377 00 SPR-I:OPRO ********** ds_fwfile.tbl ********** +21-236-13:21:55.377 00 SPR-I:OPRO +21-236-13:21:55.377 00 SPR-I:OPRO Content Type: cFE1 +21-236-13:21:55.377 00 SPR-I:OPRO Sub Type: 8 +21-236-13:21:55.377 00 SPR-I:OPRO Length: 12 +21-236-13:21:55.377 00 SPR-I:OPRO Spacecraft Id: SCX +21-236-13:21:55.377 00 SPR-I:OPRO Processor Id: CPU3 +21-236-13:21:55.377 00 SPR-I:OPRO Application Id: 3958 +21-236-13:21:55.377 00 SPR-I:OPRO Create Time Secs: 1629811315 +21-236-13:21:55.377 00 SPR-I:OPRO Create Time Subsecs: 0 +21-236-13:21:55.377 00 SPR-I:OPRO File Description: File Write Test File Table +21-236-13:21:55.377 00 SPR-I:OPRO +21-236-13:21:55.377 00 SPR-I:OPRO ********** DS.FILE_TBL ********** +21-236-13:21:55.377 00 SPR-I:OPRO +21-236-13:21:55.377 00 SPR-I:OPRO Start Mnemonic: SCX_CPU1_DS_DF_TBL_Description +21-236-13:21:55.377 00 SPR-I:OPRO Byte Offset: 0 +21-236-13:21:55.377 00 SPR-I:OPRO End Mnemonic: SCX_CPU1_DS_DF_TBL[1].SeqCnt +21-236-13:21:55.378 00 SPR-I:OPRO Number of Bytes: 464 +21-236-13:21:55.378 00 SPR-I:OPRO +21-236-13:21:55.385 00 SPR-I:STS Loading file /s/opr/accounts/global/prc/partial_cvt_to_file_beta.i +21-236-13:21:55.386 00 SPR-I:STS Procedure PARTIAL_CVT_TO_FILE_BETA started +21-236-13:21:55.386 00 SPR-I:OPRO The unix command is cd /s/opr/accounts/cfs_test/image;cvt2file -s 116 -e 579 P0F76 ds.file_tbl +21-236-13:21:55.390 00 SPR-I:STS Procedure PARTIAL_CVT_TO_FILE_BETA completed +21-236-13:21:55.390 00 SPR-I:OPRO cd /s/opr/accounts/cfs_test/image;cat ds_fwfile.tbl.tmp ds.file_tbl > ds_fwfile.tbl +21-236-13:21:55.394 00 SPR-I:OPRO cd /s/opr/accounts/cfs_test/image;rm ds.file_tbl ds_fwfile.tbl.tmp +21-236-13:21:55.398 00 SPR-I:STS Procedure CREATE_TBL_FILE_FROM_CVT completed +21-236-13:21:55.880 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/create_tbl_file_from_cvt.i +21-236-13:21:55.880 00 SPR-I:STS Procedure CREATE_TBL_FILE_FROM_CVT started +21-236-13:21:55.882 00 SPR-I:OPRO ********** ds_fwfilter.tbl ********** +21-236-13:21:55.882 00 SPR-I:OPRO +21-236-13:21:55.882 00 SPR-I:OPRO Content Type: cFE1 +21-236-13:21:55.882 00 SPR-I:OPRO Sub Type: 8 +21-236-13:21:55.882 00 SPR-I:OPRO Length: 12 +21-236-13:21:55.882 00 SPR-I:OPRO Spacecraft Id: SCX +21-236-13:21:55.882 00 SPR-I:OPRO Processor Id: CPU3 +21-236-13:21:55.882 00 SPR-I:OPRO Application Id: 3959 +21-236-13:21:55.882 00 SPR-I:OPRO Create Time Secs: 1629811315 +21-236-13:21:55.882 00 SPR-I:OPRO Create Time Subsecs: 0 +21-236-13:21:55.882 00 SPR-I:OPRO File Description: File Write Test Filter Table +21-236-13:21:55.882 00 SPR-I:OPRO +21-236-13:21:55.882 00 SPR-I:OPRO ********** DS.FILTER_TBL ********** +21-236-13:21:55.882 00 SPR-I:OPRO +21-236-13:21:55.882 00 SPR-I:OPRO Start Mnemonic: SCX_CPU1_DS_PF_TBL_Description +21-236-13:21:55.882 00 SPR-I:OPRO Byte Offset: 0 +21-236-13:21:55.882 00 SPR-I:OPRO End Mnemonic: SCX_CPU1_DS_PF_TBL[255].FilterParams[3].O_Value +21-236-13:21:55.882 00 SPR-I:OPRO Number of Bytes: 9248 +21-236-13:21:55.883 00 SPR-I:OPRO +21-236-13:21:55.887 00 SPR-I:STS Loading file /s/opr/accounts/global/prc/partial_cvt_to_file_beta.i +21-236-13:21:55.887 00 SPR-I:STS Procedure PARTIAL_CVT_TO_FILE_BETA started +21-236-13:21:55.888 00 SPR-I:OPRO The unix command is cd /s/opr/accounts/cfs_test/image;cvt2file -s 116 -e 9363 P0F77 ds.filter_tbl +21-236-13:21:55.892 00 SPR-I:STS Procedure PARTIAL_CVT_TO_FILE_BETA completed +21-236-13:21:55.892 00 SPR-I:OPRO cd /s/opr/accounts/cfs_test/image;cat ds_fwfilter.tbl.tmp ds.filter_tbl > ds_fwfilter.tbl +21-236-13:21:55.895 00 SPR-I:OPRO cd /s/opr/accounts/cfs_test/image;rm ds.filter_tbl ds_fwfilter.tbl.tmp +21-236-13:21:55.899 00 SPR-I:STS Procedure CREATE_TBL_FILE_FROM_CVT completed +21-236-13:21:55.900 00 SPR-I:OPRO ;********************************************************************* +21-236-13:21:55.900 00 SPR-I:OPRO ; End procedure SCX_CPU1_ds_tbl2 +21-236-13:21:55.900 00 SPR-I:OPRO ;********************************************************************* +21-236-13:21:55.900 00 SPR-I:STS Procedure SCX_CPU1_DS_TBL2 completed +21-236-13:21:55.901 00 SPR-I:OPRO ==> Default Destination File Table filename = 'ds_file_tbl.tbl' +21-236-13:21:55.922 00 SPR-I:OPRO ==> Default Filter Table filename = 'ds_filter_tbl.tbl' +21-236-13:21:55.923 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/load_table.i +21-236-13:21:55.923 00 SPR-I:STS Procedure LOAD_TABLE started +21-236-13:21:55.925 00 SPR-I:OPRO Table Filename: ds_fwfile.tbl +21-236-13:21:55.926 00 SPR-I:OPRO The perl command is: perl /s/opr/accounts/global/tools/table_ftp.pl 192.168.1.8 ds_fwfile.tbl RAM:0 3 +21-236-13:21:55.926 00 SPR-I:OPRO +21-236-13:21:56.055 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-13:21:56.056 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:22:01.060 00 SPR-I:OPRO +21-236-13:22:01.061 00 SPR-I:OPRO Sending Command: /SCX_CPU1_TBL_LOAD LFILENAME="/ram/ds_fwfile.tbl" +21-236-13:22:01.062 00 CMH-I:CMD Command is /SCX_CPU1_TBL_LOAD LFILENAME="/ram/ds_fwfile.tbl" ;;; (SCX CPU1 TBL load table command) +21-236-13:22:01.062 00 CMH-I:CMD Command SFDU received:<1804C000004102152F72616D2F64735F667766696C652E74626C00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-236-13:22:01.075 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:22:01.591 00 TLMH-I:STS 58-012-14:04:04.001 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=12 Successful load of '/ram/ds_fwfile.tbl' into 'DS.FILE_TBL' working buffer +21-236-13:22:02.076 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:22:02.076 00 SPR-I:STS Procedure LOAD_TABLE completed +21-236-13:22:02.076 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:22:07.082 00 CMH-I:CMD Command is /SCX_CPU1_TBL_VALIDATE INACTIVE VTABLENAME="DS.FILE_TBL" ;;; (SCX CPU1 TBL validate table command) +21-236-13:22:07.082 00 CMH-I:CMD Command SFDU received:<1804C000002B0436000044532E46494C455F54424C0000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-236-13:22:07.095 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:22:09.589 00 TLMH-I:STS 58-012-14:04:12.004 INFO CPU=CPU1 APPNAME=DS EVENT ID=10 Destination file table verify results: desc text = OK, good entries = 8, bad = 0, unused = 8 +21-236-13:22:09.590 00 TLMH-I:STS 58-012-14:04:12.004 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=36 DS validation successful for Inactive 'DS.FILE_TBL' +21-236-13:22:12.102 00 CMH-I:CMD Command is /SCX_CPU1_TBL_ACTIVATE ATABLENAME="DS.FILE_TBL" ;;; (SCX CPU1 TBL activate table command) +21-236-13:22:12.102 00 CMH-I:CMD Command SFDU received:<1804C0000029053544532E46494C455F54424C0000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-236-13:22:12.115 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:22:13.590 00 TLMH-I:STS 58-012-14:04:16.003 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=37 DS Successfully Updated 'DS.FILE_TBL' +21-236-13:22:17.121 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/load_table.i +21-236-13:22:17.122 00 SPR-I:STS Procedure LOAD_TABLE started +21-236-13:22:17.126 00 SPR-I:OPRO Table Filename: ds_fwfilter.tbl +21-236-13:22:17.127 00 SPR-I:OPRO The perl command is: perl /s/opr/accounts/global/tools/table_ftp.pl 192.168.1.8 ds_fwfilter.tbl RAM:0 3 +21-236-13:22:17.127 00 SPR-I:OPRO +21-236-13:22:17.260 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-13:22:17.260 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:22:22.264 00 SPR-I:OPRO +21-236-13:22:22.267 00 SPR-I:OPRO Sending Command: /SCX_CPU1_TBL_LOAD LFILENAME="/ram/ds_fwfilter.tbl" +21-236-13:22:22.269 00 CMH-I:CMD Command is /SCX_CPU1_TBL_LOAD LFILENAME="/ram/ds_fwfilter.tbl" ;;; (SCX CPU1 TBL load table command) +21-236-13:22:22.269 00 CMH-I:CMD Command SFDU received:<1804C000004102132F72616D2F64735F667766696C7465722E74626C0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-236-13:22:22.284 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:22:23.093 00 TLMH-I:STS 58-012-14:04:25.501 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=12 Successful load of '/ram/ds_fwfilter.tbl' into 'DS.FILTER_TBL' working buffer +21-236-13:22:26.289 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:22:26.291 00 SPR-I:STS Procedure LOAD_TABLE completed +21-236-13:22:26.292 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:22:31.298 00 CMH-I:CMD Command is /SCX_CPU1_TBL_VALIDATE INACTIVE VTABLENAME="DS.FILTER_TBL" ;;; (SCX CPU1 TBL validate table command) +21-236-13:22:31.298 00 CMH-I:CMD Command SFDU received:<1804C000002B0430000044532E46494C5445525F54424C000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-236-13:22:31.311 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:22:33.595 00 TLMH-I:STS 58-012-14:04:36.004 INFO CPU=CPU1 APPNAME=DS EVENT ID=12 Filter table verify results: desc text = OK, good entries = 2, bad = 0, unused = 254 +21-236-13:22:33.596 00 TLMH-I:STS 58-012-14:04:36.004 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=36 DS validation successful for Inactive 'DS.FILTER_TBL' +21-236-13:22:36.317 00 CMH-I:CMD Command is /SCX_CPU1_TBL_ACTIVATE ATABLENAME="DS.FILTER_TBL" ;;; (SCX CPU1 TBL activate table command) +21-236-13:22:36.317 00 CMH-I:CMD Command SFDU received:<1804C0000029053344532E46494C5445525F54424C000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-236-13:22:36.331 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:22:37.590 00 TLMH-I:STS 58-012-14:04:40.004 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=37 DS Successfully Updated 'DS.FILTER_TBL' +21-236-13:22:41.335 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:22:41.336 00 SPR-I:OPRO ; Step 1.3: Display the Housekeeping pages +21-236-13:22:41.336 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:22:41.456 00 DPD-I:STS Page SCX_CPU1_DS_HK added (cid:1). +21-236-13:22:41.531 00 DPD-I:STS Page SCX_CPU1_TST_DS_HK added (cid:1). +21-236-13:22:41.611 00 DPD-I:STS Page SCX_CPU1_DS_FILTER_TBL added (cid:1). +21-236-13:22:41.717 00 DPD-I:STS Page SCX_CPU1_DS_FILE_TBL added (cid:1). +21-236-13:22:41.726 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:22:41.726 00 SPR-I:OPRO ; Step 1.4: Start the Data Storage (DS) and Test Applications. +21-236-13:22:41.726 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:22:41.730 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:22:49.738 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:22:49.740 00 SPR-I:OPRO <*> Passed (8000) - Housekeeping packet is being generated. +21-236-13:22:49.746 00 SPR-I:OPRO <*> Passed (9000) - Housekeeping telemetry initialized properly. +21-236-13:22:49.749 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:22:54.752 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:22:54.752 00 SPR-I:OPRO ; Step 1.5: Enable DEBUG Event Messages +21-236-13:22:54.753 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:22:54.755 00 CMH-I:CMD Command is /SCX_CPU1_EVS_ENAAPPEVTTYPE APPLICATION="DS" DEBUG ;;; (SCX CPU1 EVS Enable Event Type for the App) +21-236-13:22:54.755 00 CMH-I:CMD Or Command is /SCX_CPU1_EVS_ENAAPPEVTTYPEMASK APPLICATION="DS" BITMASK= 1 (x1) ;;; (SCX CPU1 EVS Enable Event Type for the App (mask)) +21-236-13:22:54.755 00 CMH-I:CMD Command SFDU received:<1801C0000017052244530000000000000000000000000000000000000100> from gs582cfslab4:SPR +21-236-13:22:54.769 00 SPR-I:STTE Wait mode - waiting 2 seconds ... +21-236-13:22:56.772 00 CMH-I:CMD Command is /SCX_CPU1_EVS_ENAAPPEVTTYPE APPLICATION="CFE_TBL" DEBUG ;;; (SCX CPU1 EVS Enable Event Type for the App) +21-236-13:22:56.772 00 CMH-I:CMD Or Command is /SCX_CPU1_EVS_ENAAPPEVTTYPEMASK APPLICATION="CFE_TBL" BITMASK= 1 (x1) ;;; (SCX CPU1 EVS Enable Event Type for the App (mask)) +21-236-13:22:56.772 00 CMH-I:CMD Command SFDU received:<1801C000001705704346455F54424C000000000000000000000000000100> from gs582cfslab4:SPR +21-236-13:22:56.787 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:22:57.788 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:22:57.790 00 SPR-I:OPRO <*> Passed - Enable Debug events command sent properly. +21-236-13:22:57.790 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:22:57.791 00 SPR-I:OPRO ; Step 2.0: File Creation Tests. +21-236-13:22:57.791 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:22:57.791 00 SPR-I:OPRO ; Step 2.1: Utilizing the TST_DS application, send a message to the DS +21-236-13:22:57.791 00 SPR-I:OPRO ; application that will pass the filtering algorithm and uses a +21-236-13:22:57.792 00 SPR-I:OPRO ; Destination File Table entry that specifies Sequence file type naming +21-236-13:22:57.792 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:22:57.792 00 SPR-I:OPRO ; Step 2.1.1: Dump the Destination File and Packet Filter Tables +21-236-13:22:57.829 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:22:57.830 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/get_tbl_to_cvt.i +21-236-13:22:57.833 00 SPR-I:STS Procedure GET_TBL_TO_CVT started +21-236-13:22:57.850 00 SPR-I:OPRO Sending Command: /SCX_CPU1_TBL_DUMP ACTIVE DTABLENAME="DS.FILTER_TBL" DFILENAME="/ram/cpu1_filtertbl211" +21-236-13:22:57.852 00 CMH-I:CMD Command is /SCX_CPU1_TBL_DUMP ACTIVE DTABLENAME="DS.FILTER_TBL" DFILENAME="/ram/cpu1_filtertbl211" ;;; (SCX CPU1 TBL dump table command) +21-236-13:22:57.852 00 CMH-I:CMD Command SFDU received:<1804C000006B0348000144532E46494C5445525F54424C0000000000000000000000000000000000000000000000000000002F72616D2F637075315F66696C74657274626C323131000000000000000000000000000000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-236-13:22:57.854 00 SPR-I:STTE Wait mode - waiting 15 seconds ... +21-236-13:22:58.588 00 TLMH-I:STS 58-012-14:05:01.002 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=14 Successfully dumped Table 'DS.FILTER_TBL' to '/ram/cpu1_filtertbl211' +21-236-13:23:12.865 00 SPR-I:OPRO +21-236-13:23:12.865 00 SPR-I:OPRO The TBLNAME is: DS.FILTER_TBL +21-236-13:23:12.865 00 SPR-I:OPRO The APID is: P0F77 +21-236-13:23:12.865 00 SPR-I:OPRO The CPU is: CPU3 +21-236-13:23:12.866 00 SPR-I:OPRO The IP Address is: 192.168.1.8 +21-236-13:23:12.869 00 SPR-I:OPRO The perl command is: perl /s/opr/accounts/global/tools/ftp.pl RAM:0 cpu1_filtertbl211 cpu1_filtertbl211 binary 192.168.1.8 +21-236-13:23:13.044 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-13:23:13.044 00 SPR-I:STTE Wait mode - waiting 15 seconds ... +21-236-13:23:28.055 00 SPR-I:OPRO +21-236-13:23:28.102 00 SPR-I:OPRO The unix command is cvt -ws file_list[3959].file_write_time "`date +%y-%j-%T -r /s/opr/accounts/cfs_test/image/cpu1_filtertbl211`" +21-236-13:23:28.102 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:23:33.107 00 SPR-I:STS Procedure GET_TBL_TO_CVT completed +21-236-13:23:33.109 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/get_tbl_to_cvt.i +21-236-13:23:33.111 00 SPR-I:STS Procedure GET_TBL_TO_CVT started +21-236-13:23:33.129 00 SPR-I:OPRO Sending Command: /SCX_CPU1_TBL_DUMP ACTIVE DTABLENAME="DS.FILE_TBL" DFILENAME="/ram/cpu1_filetbl211" +21-236-13:23:33.130 00 CMH-I:CMD Command is /SCX_CPU1_TBL_DUMP ACTIVE DTABLENAME="DS.FILE_TBL" DFILENAME="/ram/cpu1_filetbl211" ;;; (SCX CPU1 TBL dump table command) +21-236-13:23:33.130 00 CMH-I:CMD Command SFDU received:<1804C000006B0348000144532E46494C455F54424C00000000000000000000000000000000000000000000000000000000002F72616D2F637075315F66696C6574626C3231310000000000000000000000000000000000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-236-13:23:33.142 00 SPR-I:STTE Wait mode - waiting 15 seconds ... +21-236-13:23:33.590 00 TLMH-I:STS 58-012-14:05:36.002 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=14 Successfully dumped Table 'DS.FILE_TBL' to '/ram/cpu1_filetbl211' +21-236-13:23:48.153 00 SPR-I:OPRO +21-236-13:23:48.153 00 SPR-I:OPRO The TBLNAME is: DS.FILE_TBL +21-236-13:23:48.153 00 SPR-I:OPRO The APID is: P0F76 +21-236-13:23:48.153 00 SPR-I:OPRO The CPU is: CPU3 +21-236-13:23:48.153 00 SPR-I:OPRO The IP Address is: 192.168.1.8 +21-236-13:23:48.155 00 SPR-I:OPRO The perl command is: perl /s/opr/accounts/global/tools/ftp.pl RAM:0 cpu1_filetbl211 cpu1_filetbl211 binary 192.168.1.8 +21-236-13:23:48.308 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-13:23:48.308 00 SPR-I:STTE Wait mode - waiting 15 seconds ... +21-236-13:23:52.572 00 SPR-I:OPRI --> page SCX_CPU1_DS_FILE_HK +21-236-13:23:52.669 00 DPD-I:STS Page SCX_CPU1_DS_FILE_HK added (cid:1). +21-236-13:24:03.429 00 SPR-I:OPRO +21-236-13:24:03.445 00 SPR-I:OPRO The unix command is cvt -ws file_list[3958].file_write_time "`date +%y-%j-%T -r /s/opr/accounts/cfs_test/image/cpu1_filetbl211`" +21-236-13:24:03.445 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:24:08.449 00 SPR-I:STS Procedure GET_TBL_TO_CVT completed +21-236-13:24:08.451 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:24:08.451 00 SPR-I:OPRO ; Step 2.1.2: Parse the tables to find a MessageID to use for the +21-236-13:24:08.451 00 SPR-I:OPRO ; Sequence file type naming entry. +21-236-13:24:08.451 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:24:08.745 00 SPR-I:OPRO ==> Found file entry at 0 +21-236-13:24:08.745 00 SPR-I:OPRO ==> Found filter entry at 0 +21-236-13:24:08.746 00 SPR-I:OPRO ==> Using MID = 4096 +21-236-13:24:08.746 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:24:08.746 00 SPR-I:OPRO ; Step 2.1.3: Send the TST_DS command to send a message to DS using the +21-236-13:24:08.746 00 SPR-I:OPRO ; MessageID found above. Since the message being set will not exceed +21-236-13:24:08.746 00 SPR-I:OPRO ; the file size constraint, the FileState HK should contain info about +21-236-13:24:08.746 00 SPR-I:OPRO ; the file that was created. +21-236-13:24:08.746 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:24:08.747 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:24:08.747 00 SPR-I:OPRO ; Setup event 1 with TST_DS INFO 5 +21-236-13:24:08.747 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:24:08.748 00 CMH-I:CMD Command is /SCX_CPU1_TST_DS_SENDMESSAGE MSGID= 4096 (x1000) MSGTYPE= 1 (x1) PATTERN= 85 (x55) ;;; (SCX CPU1 TST_DS Send Message command code) +21-236-13:24:08.748 00 CMH-I:CMD Command SFDU received:<1943C0000009032B0000100001550000> from gs582cfslab4:SPR +21-236-13:24:08.762 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:24:09.585 00 TLMH-I:STS 58-012-14:06:12.005 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Message Size 116 to MID 0x00001000 +21-236-13:24:09.763 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:24:09.764 00 SPR-I:OPRO <*> Passed - Expected Event Msg 5 rcv'd. +21-236-13:24:09.764 00 CMH-I:CMD Command is /SCX_CPU1_DS_GETFILEINFO ;;; (The Get File Info command) +21-236-13:24:09.765 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-13:24:09.779 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:24:10.587 00 TLMH-I:STS 58-012-14:06:13.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:24:13.783 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:24:13.784 00 SPR-I:OPRO <*> Passed (3000;3000.1;3000.1.1) - A file was created with name '/ram/seq00000100.dat' +21-236-13:24:13.789 00 SPR-I:OPRO <*> Passed (3001) - The file is marked 'OPEN' +21-236-13:24:13.838 00 SPR-I:OPRO <*> Passed - The file write and passed packet counters are correct. +21-236-13:24:13.838 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:24:18.842 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:24:18.843 00 SPR-I:OPRO ; Step 2.2: Send the TST_DS command again using a message type that +21-236-13:24:18.843 00 SPR-I:OPRO ; will exceed the file size of the destination file entry. +21-236-13:24:18.843 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:24:18.847 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:24:18.848 00 SPR-I:OPRO ; Setup event 1 with TST_DS INFO 7 +21-236-13:24:18.848 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:24:18.850 00 CMH-I:CMD Command is /SCX_CPU1_TST_DS_SENDMESSAGE MSGID= 4096 (x1000) MSGTYPE= 3 (x3) PATTERN= 170 (xAA) ;;; (SCX CPU1 TST_DS Send Message command code) +21-236-13:24:18.850 00 CMH-I:CMD Command SFDU received:<1943C000000903D60000100003AA0000> from gs582cfslab4:SPR +21-236-13:24:18.866 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:24:19.588 00 TLMH-I:STS 58-012-14:06:22.003 ERROR CPU=CPU1 APPNAME=DS EVENT ID=61 FILE MOVE error: src = '/ram/seq00000100.dat', tgt = '/ram/movedir/seq00000100.dat', result = -1 +21-236-13:24:19.589 00 TLMH-I:STS 58-012-14:06:22.004 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=7 Sent Message Size 1016 to MID 0x00001000 +21-236-13:24:19.867 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:24:19.869 00 SPR-I:OPRO <*> Passed - Expected Event Msg 7 rcv'd. +21-236-13:24:19.871 00 CMH-I:CMD Command is /SCX_CPU1_DS_GETFILEINFO ;;; (The Get File Info command) +21-236-13:24:19.871 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-13:24:19.889 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:24:20.590 00 TLMH-I:STS 58-012-14:06:23.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:24:21.892 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:24:21.895 00 SPR-I:OPRO <*> Passed (3000;3000.1;3000.1.1) - A file was created with name '/ram/seq00000101.dat' +21-236-13:24:21.905 00 SPR-I:OPRO <*> Passed (3001) - The file is marked 'OPEN' +21-236-13:24:21.957 00 SPR-I:OPRO <*> Passed (3001.1) - A new file was opened +21-236-13:24:21.958 00 SPR-I:OPRO <*> Passed - The header update counter incremented as expected. +21-236-13:24:21.975 00 SPR-I:OPRO ==> Downloading '/ram/seq00000100.dat' +21-236-13:24:21.976 00 SPR-I:OPRO ==> FileName Only = 'seq00000100.dat' +21-236-13:24:21.976 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/ftp_file.i +21-236-13:24:21.976 00 SPR-I:STS Procedure FTP_FILE started +21-236-13:24:22.090 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-13:24:22.090 00 SPR-I:STS Procedure FTP_FILE completed +21-236-13:24:22.091 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:24:27.095 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:24:27.095 00 SPR-I:OPRO ; Step 2.3: Test that DS will store at least 1 message in a destination +21-236-13:24:27.095 00 SPR-I:OPRO ; file even though the message will exceed the file size. +21-236-13:24:27.095 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:24:27.095 00 SPR-I:OPRO ; Step 2.3.1: Send the Close command for the file created in Step 2.2. +21-236-13:24:27.095 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:24:27.097 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:24:27.097 00 SPR-I:OPRO ; Setup event 1 with DS DEBUG 59 +21-236-13:24:27.097 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:24:27.098 00 CMH-I:CMD Command is /SCX_CPU1_DS_CLOSEFILE FILEINDEX= 0 (x0) ;;; (SCX CPU1 DS Close Destination File command) +21-236-13:24:27.098 00 CMH-I:CMD Command SFDU received:<18BBC00000050E9700000000> from gs582cfslab4:SPR +21-236-13:24:27.115 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:24:27.583 00 TLMH-I:STS 58-012-14:06:30.003 ERROR CPU=CPU1 APPNAME=DS EVENT ID=61 FILE MOVE error: src = '/ram/seq00000101.dat', tgt = '/ram/movedir/seq00000101.dat', result = -1 +21-236-13:24:27.585 00 TLMH-I:STS 58-012-14:06:30.003 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=59 DEST CLOSE command: file table index = 0 +21-236-13:24:30.118 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:24:30.120 00 SPR-I:OPRO <*> Passed (1004;5002) - DS Close File command sent properly. +21-236-13:24:30.144 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:24:30.146 00 SPR-I:OPRO <*> Passed (1004;5002) - Expected Event Msg 59 rcv'd. +21-236-13:24:30.188 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:24:35.192 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:24:35.193 00 SPR-I:OPRO ; Step 2.3.2: Send the TST_DS_SendMessage command using a message type +21-236-13:24:35.193 00 SPR-I:OPRO ; that exceeds the size of the destination file entry. +21-236-13:24:35.193 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:24:35.197 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:24:35.197 00 SPR-I:OPRO ; Setup event 1 with TST_DS INFO 9 +21-236-13:24:35.197 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:24:35.199 00 CMH-I:CMD Command is /SCX_CPU1_TST_DS_SENDMESSAGE MSGID= 4096 (x1000) MSGTYPE= 5 (x5) PATTERN= 165 (xA5) ;;; (SCX CPU1 TST_DS Send Message command code) +21-236-13:24:35.199 00 CMH-I:CMD Command SFDU received:<1943C000000903DF0000100005A50000> from gs582cfslab4:SPR +21-236-13:24:35.219 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:24:36.085 00 TLMH-I:STS 58-012-14:06:38.501 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=9 Sent Message Size 1516 to MID 0x00001000 +21-236-13:24:36.220 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:24:36.222 00 SPR-I:OPRO <*> Passed - Expected Event Msg 9 rcv'd. +21-236-13:24:36.224 00 CMH-I:CMD Command is /SCX_CPU1_DS_GETFILEINFO ;;; (The Get File Info command) +21-236-13:24:36.224 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-13:24:36.255 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:24:37.087 00 TLMH-I:STS 58-012-14:06:39.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:24:38.257 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:24:38.260 00 SPR-I:OPRO <*> Passed (3000;3000.1;3000.1.1) - A file was created with name '/ram/seq00000102.dat' +21-236-13:24:38.271 00 SPR-I:OPRO <*> Passed (3001) - The file is marked 'OPEN' +21-236-13:24:38.331 00 SPR-I:OPRO <*> Passed (3001.1) - A new file was opened +21-236-13:24:38.335 00 SPR-I:OPRO ==> Downloading '/ram/seq00000101.dat' +21-236-13:24:38.357 00 SPR-I:OPRO ==> FileName Only = 'seq00000101.dat' +21-236-13:24:38.357 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/ftp_file.i +21-236-13:24:38.357 00 SPR-I:STS Procedure FTP_FILE started +21-236-13:24:38.457 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-13:24:38.457 00 SPR-I:STS Procedure FTP_FILE completed +21-236-13:24:38.458 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:24:38.458 00 SPR-I:OPRO ; Step 2.4: Utilizing the TST_DS application, send valid messages to +21-236-13:24:38.458 00 SPR-I:OPRO ; the DS application that will pass filtering and specifies Time file +21-236-13:24:38.458 00 SPR-I:OPRO ; type naming. +21-236-13:24:38.458 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:24:38.458 00 SPR-I:OPRO ; Step 2.4.1: Parse the tables to find a MessageID to use for the Time +21-236-13:24:38.458 00 SPR-I:OPRO ; file type naming entry. +21-236-13:24:38.458 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:24:38.746 00 SPR-I:OPRO ==> Found file entry at 1 +21-236-13:24:38.746 00 SPR-I:OPRO ==> Found filter entry at 1 +21-236-13:24:38.746 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:24:38.746 00 SPR-I:OPRO ; Step 2.4.2: Send the TST_DS command to send a message to DS using the +21-236-13:24:38.746 00 SPR-I:OPRO ; MessageID found above. Since the message being set will not exceed +21-236-13:24:38.746 00 SPR-I:OPRO ; the file size constraint, the FileState HK should contain info about +21-236-13:24:38.746 00 SPR-I:OPRO ; the file that was created. +21-236-13:24:38.746 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:24:38.748 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:24:38.748 00 SPR-I:OPRO ; Setup event 1 with TST_DS INFO 5 +21-236-13:24:38.748 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:24:38.749 00 CMH-I:CMD Command is /SCX_CPU1_TST_DS_SENDMESSAGE MSGID= 4097 (x1001) MSGTYPE= 1 (x1) PATTERN= 85 (x55) ;;; (SCX CPU1 TST_DS Send Message command code) +21-236-13:24:38.749 00 CMH-I:CMD Command SFDU received:<1943C0000009032A0000100101550000> from gs582cfslab4:SPR +21-236-13:24:38.767 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:24:39.587 00 TLMH-I:STS 58-012-14:06:42.002 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Message Size 116 to MID 0x00001001 +21-236-13:24:39.768 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:24:39.771 00 SPR-I:OPRO <*> Passed - Expected Event Msg 5 rcv'd. +21-236-13:24:39.773 00 CMH-I:CMD Command is /SCX_CPU1_DS_GETFILEINFO ;;; (The Get File Info command) +21-236-13:24:39.773 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-13:24:39.791 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:24:40.589 00 TLMH-I:STS 58-012-14:06:43.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:24:41.793 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:24:41.794 00 SPR-I:OPRO <*> Passed (3000;3000.2;3000.2.1) - A file was created with name '/ram/ti1980012140642.txt' +21-236-13:24:41.798 00 SPR-I:OPRO <*> Passed (3001) - The file is marked 'OPEN' +21-236-13:24:41.834 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:24:46.838 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:24:46.838 00 SPR-I:OPRO ; Step 2.5: Wait for the file created above to exceed its maximum age. +21-236-13:24:46.838 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:24:46.842 00 CMH-I:CMD Command is /SCX_CPU1_DS_GETFILEINFO ;;; (The Get File Info command) +21-236-13:24:46.843 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-13:24:46.846 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:24:47.588 00 TLMH-I:STS 58-012-14:06:50.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:24:51.850 00 SPR-I:OPRO new file age = 8 +21-236-13:24:51.856 00 SPR-I:OPRO timeout calculation = 52 +21-236-13:24:51.860 00 CMH-I:CMD Command is /SCX_CPU1_DS_GETFILEINFO ;;; (The Get File Info command) +21-236-13:24:51.860 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-13:24:51.873 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:24:52.588 00 TLMH-I:STS 58-012-14:06:55.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:24:56.877 00 SPR-I:OPRO new file age = 12 +21-236-13:24:56.883 00 SPR-I:OPRO timeout calculation = 48 +21-236-13:24:56.884 00 CMH-I:CMD Command is /SCX_CPU1_DS_GETFILEINFO ;;; (The Get File Info command) +21-236-13:24:56.884 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-13:24:56.885 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:24:57.589 00 TLMH-I:STS 58-012-14:07:00.003 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:25:01.889 00 SPR-I:OPRO new file age = 16 +21-236-13:25:01.898 00 SPR-I:OPRO timeout calculation = 44 +21-236-13:25:01.902 00 CMH-I:CMD Command is /SCX_CPU1_DS_GETFILEINFO ;;; (The Get File Info command) +21-236-13:25:01.902 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-13:25:01.916 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:25:02.587 00 TLMH-I:STS 58-012-14:07:05.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:25:06.920 00 SPR-I:OPRO new file age = 24 +21-236-13:25:06.924 00 SPR-I:OPRO timeout calculation = 36 +21-236-13:25:06.925 00 CMH-I:CMD Command is /SCX_CPU1_DS_GETFILEINFO ;;; (The Get File Info command) +21-236-13:25:06.926 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-13:25:06.927 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:25:07.590 00 TLMH-I:STS 58-012-14:07:10.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:25:11.931 00 SPR-I:OPRO new file age = 28 +21-236-13:25:11.935 00 SPR-I:OPRO timeout calculation = 32 +21-236-13:25:11.937 00 CMH-I:CMD Command is /SCX_CPU1_DS_GETFILEINFO ;;; (The Get File Info command) +21-236-13:25:11.937 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-13:25:11.949 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:25:12.588 00 TLMH-I:STS 58-012-14:07:15.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:25:16.954 00 SPR-I:OPRO new file age = 32 +21-236-13:25:16.962 00 SPR-I:OPRO timeout calculation = 28 +21-236-13:25:16.967 00 CMH-I:CMD Command is /SCX_CPU1_DS_GETFILEINFO ;;; (The Get File Info command) +21-236-13:25:16.967 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-13:25:16.980 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:25:17.589 00 TLMH-I:STS 58-012-14:07:20.003 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:25:21.985 00 SPR-I:OPRO new file age = 36 +21-236-13:25:21.993 00 SPR-I:OPRO timeout calculation = 24 +21-236-13:25:21.997 00 CMH-I:CMD Command is /SCX_CPU1_DS_GETFILEINFO ;;; (The Get File Info command) +21-236-13:25:21.997 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-13:25:22.010 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:25:22.583 00 TLMH-I:STS 58-012-14:07:25.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:25:27.015 00 SPR-I:OPRO new file age = 44 +21-236-13:25:27.022 00 SPR-I:OPRO timeout calculation = 16 +21-236-13:25:27.025 00 CMH-I:CMD Command is /SCX_CPU1_DS_GETFILEINFO ;;; (The Get File Info command) +21-236-13:25:27.026 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-13:25:27.039 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:25:27.591 00 TLMH-I:STS 58-012-14:07:30.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:25:32.044 00 SPR-I:OPRO new file age = 48 +21-236-13:25:32.051 00 SPR-I:OPRO timeout calculation = 12 +21-236-13:25:32.055 00 CMH-I:CMD Command is /SCX_CPU1_DS_GETFILEINFO ;;; (The Get File Info command) +21-236-13:25:32.055 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-13:25:32.069 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:25:32.590 00 TLMH-I:STS 58-012-14:07:35.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:25:37.073 00 SPR-I:OPRO new file age = 52 +21-236-13:25:37.077 00 SPR-I:OPRO timeout calculation = 8 +21-236-13:25:37.079 00 CMH-I:CMD Command is /SCX_CPU1_DS_GETFILEINFO ;;; (The Get File Info command) +21-236-13:25:37.079 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-13:25:37.081 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:25:37.592 00 TLMH-I:STS 58-012-14:07:40.003 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:25:37.593 00 TLMH-I:STS 58-012-14:07:40.006 ERROR CPU=CPU1 APPNAME=DS EVENT ID=61 FILE MOVE error: src = '/ram/ti1980012140642.txt', tgt = '/ram/movedir/ti1980012140642.txt', result = -1 +21-236-13:25:42.084 00 SPR-I:OPRO new file age = 56 +21-236-13:25:42.087 00 SPR-I:OPRO timeout calculation = 4 +21-236-13:25:42.088 00 CMH-I:CMD Command is /SCX_CPU1_DS_GETFILEINFO ;;; (The Get File Info command) +21-236-13:25:42.088 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-13:25:42.099 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:25:42.582 00 TLMH-I:STS 58-012-14:07:45.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:25:47.101 00 SPR-I:OPRO new file age = 0 +21-236-13:25:47.102 00 SPR-I:OPRO timeout calculation = 60 +21-236-13:25:47.102 00 SPR-I:OPRO HK reports the file is no longer open +21-236-13:25:47.103 00 SPR-I:OPRO ==> Downloading '/ram/ti1980012140642.txt' +21-236-13:25:47.104 00 SPR-I:OPRO ==> FileName Only = 'ti1980012140642.txt' +21-236-13:25:47.104 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/ftp_file.i +21-236-13:25:47.104 00 SPR-I:STS Procedure FTP_FILE started +21-236-13:25:47.216 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-13:25:47.216 00 SPR-I:STS Procedure FTP_FILE completed +21-236-13:25:47.217 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:25:52.221 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:25:52.221 00 SPR-I:OPRO ; Step 2.6: Using the TST_DS application, send a message for the +21-236-13:25:52.221 00 SPR-I:OPRO ; sequence file type naming entry that is the exact size specified as +21-236-13:25:52.222 00 SPR-I:OPRO ; maximum file size. +21-236-13:25:52.222 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:25:52.227 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:25:52.227 00 SPR-I:OPRO ; Setup event 1 with TST_DS INFO 8 +21-236-13:25:52.227 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:25:52.230 00 CMH-I:CMD Command is /SCX_CPU1_TST_DS_SENDMESSAGE MSGID= 4096 (x1000) MSGTYPE= 4 (x4) PATTERN= 85 (x55) ;;; (SCX CPU1 TST_DS Send Message command code) +21-236-13:25:52.230 00 CMH-I:CMD Command SFDU received:<1943C0000009032E0000100004550000> from gs582cfslab4:SPR +21-236-13:25:52.241 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:25:53.084 00 TLMH-I:STS 58-012-14:07:55.502 ERROR CPU=CPU1 APPNAME=DS EVENT ID=61 FILE MOVE error: src = '/ram/seq00000102.dat', tgt = '/ram/movedir/seq00000102.dat', result = -1 +21-236-13:25:53.084 00 TLMH-I:STS 58-012-14:07:55.503 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=8 Sent Message Size 1040 to MID 0x00001000 +21-236-13:25:53.242 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:25:53.244 00 SPR-I:OPRO <*> Passed - Expected Event Msg 8 rcv'd. +21-236-13:25:53.246 00 CMH-I:CMD Command is /SCX_CPU1_DS_GETFILEINFO ;;; (The Get File Info command) +21-236-13:25:53.246 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-13:25:53.272 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:25:54.090 00 TLMH-I:STS 58-012-14:07:56.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:25:58.278 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:25:58.281 00 SPR-I:OPRO <*> Passed (3000;3000.1;3000.1.1) - A file was created with name '/ram/seq00000103.dat' +21-236-13:25:58.290 00 SPR-I:OPRO <*> Passed (3001) - The file is marked 'OPEN' +21-236-13:25:58.342 00 SPR-I:OPRO ==> Downloading '/ram/seq00000102.dat' +21-236-13:25:58.343 00 SPR-I:OPRO ==> FileName Only = 'seq00000102.dat' +21-236-13:25:58.367 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/ftp_file.i +21-236-13:25:58.367 00 SPR-I:STS Procedure FTP_FILE started +21-236-13:25:58.453 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-13:25:58.453 00 SPR-I:STS Procedure FTP_FILE completed +21-236-13:25:58.453 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:25:58.454 00 SPR-I:OPRO ; Step 2.7: Send the TST_DS command again using a message type that +21-236-13:25:58.454 00 SPR-I:OPRO ; will exceed the file size of the destination file entry. +21-236-13:25:58.454 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:25:58.456 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:25:58.456 00 SPR-I:OPRO ; Setup event 1 with TST_DS INFO 7 +21-236-13:25:58.456 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:25:58.457 00 CMH-I:CMD Command is /SCX_CPU1_TST_DS_SENDMESSAGE MSGID= 4096 (x1000) MSGTYPE= 3 (x3) PATTERN= 170 (xAA) ;;; (SCX CPU1 TST_DS Send Message command code) +21-236-13:25:58.457 00 CMH-I:CMD Command SFDU received:<1943C000000903D60000100003AA0000> from gs582cfslab4:SPR +21-236-13:25:58.473 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:25:59.089 00 TLMH-I:STS 58-012-14:08:01.502 ERROR CPU=CPU1 APPNAME=DS EVENT ID=61 FILE MOVE error: src = '/ram/seq00000103.dat', tgt = '/ram/movedir/seq00000103.dat', result = -1 +21-236-13:25:59.089 00 TLMH-I:STS 58-012-14:08:01.503 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=7 Sent Message Size 1016 to MID 0x00001000 +21-236-13:25:59.474 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:25:59.476 00 SPR-I:OPRO <*> Passed - Expected Event Msg 7 rcv'd. +21-236-13:25:59.479 00 CMH-I:CMD Command is /SCX_CPU1_DS_GETFILEINFO ;;; (The Get File Info command) +21-236-13:25:59.479 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-13:25:59.510 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:26:00.090 00 TLMH-I:STS 58-012-14:08:02.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:26:02.514 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:26:02.516 00 SPR-I:OPRO <*> Passed (3000;3000.1;3000.1.1) - A file was created with name '/ram/seq00000104.dat' +21-236-13:26:02.521 00 SPR-I:OPRO <*> Passed (3001) - The file is marked 'OPEN' +21-236-13:26:02.552 00 SPR-I:OPRO <*> Passed (3001.1) - A new file was opened +21-236-13:26:02.554 00 SPR-I:OPRO ==> Downloading '/ram/seq00000103.dat' +21-236-13:26:02.577 00 SPR-I:OPRO ==> FileName Only = 'seq00000103.dat' +21-236-13:26:02.577 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/ftp_file.i +21-236-13:26:02.577 00 SPR-I:STS Procedure FTP_FILE started +21-236-13:26:02.672 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-13:26:02.672 00 SPR-I:STS Procedure FTP_FILE completed +21-236-13:26:02.673 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:26:07.677 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:26:07.678 00 SPR-I:OPRO ; Step 2.8: Utilizing the TST_DS application, send a messages to the DS +21-236-13:26:07.678 00 SPR-I:OPRO ; application that will cause several file write errors. +21-236-13:26:07.678 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:26:07.678 00 SPR-I:OPRO ; Step 2.8.1: Utilizing the TST_DS application, send messages to the DS +21-236-13:26:07.678 00 SPR-I:OPRO ; application that will create a time file. +21-236-13:26:07.678 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:26:07.684 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:26:07.684 00 SPR-I:OPRO ; Setup event 1 with TST_DS INFO 6 +21-236-13:26:07.684 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:26:07.685 00 CMH-I:CMD Command is /SCX_CPU1_TST_DS_SENDMESSAGE MSGID= 4097 (x1001) MSGTYPE= 2 (x2) PATTERN= 170 (xAA) ;;; (SCX CPU1 TST_DS Send Message command code) +21-236-13:26:07.685 00 CMH-I:CMD Command SFDU received:<1943C000000903D60000100102AA0000> from gs582cfslab4:SPR +21-236-13:26:07.686 00 SPR-I:STTE Wait mode - waiting 10 seconds ... +21-236-13:26:08.588 00 TLMH-I:STS 58-012-14:08:11.002 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=6 Sent Message Size 516 to MID 0x00001001 +21-236-13:26:17.700 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:26:17.700 00 SPR-I:OPRO <*> Passed - Expected Event Msg 6 rcv'd. +21-236-13:26:17.701 00 CMH-I:CMD Command is /SCX_CPU1_DS_GETFILEINFO ;;; (The Get File Info command) +21-236-13:26:17.701 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-13:26:17.715 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:26:18.588 00 TLMH-I:STS 58-012-14:08:21.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:26:21.719 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:26:21.722 00 SPR-I:OPRO <*> Passed (3000;3000.2;3000.2.1) - A file was created with name '/ram/ti1980012140811.txt' +21-236-13:26:21.726 00 SPR-I:OPRO <*> Passed (3001) - The file is marked 'OPEN' +21-236-13:26:21.763 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:26:26.767 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:26:26.767 00 SPR-I:OPRO ; Step 2.8.2: Send the DS Set Basename command to set the basenames for +21-236-13:26:26.768 00 SPR-I:OPRO ; the Destination File Table entries used above such that the created +21-236-13:26:26.768 00 SPR-I:OPRO ; file names will exceed the OS_MAX_API_NAME limit and generate a file +21-236-13:26:26.768 00 SPR-I:OPRO ; write error. +21-236-13:26:26.768 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:26:26.773 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:26:26.773 00 SPR-I:OPRO ; Setup event 1 with DS DEBUG 49 +21-236-13:26:26.773 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:26:26.774 00 CMH-I:CMD Command is /SCX_CPU1_DS_SETBASENAME FILEINDEX= 0 (x0) BASENAME="sequenceFile" ;;; (SCX CPU1 DS Set Destination File Basename command) +21-236-13:26:26.774 00 CMH-I:CMD Command SFDU received:<18BBC000004509E90000000073657175656E636546696C6500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-236-13:26:26.786 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:26:27.591 00 TLMH-I:STS 58-012-14:08:30.002 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=49 DEST BASE command: file table index = 0, base filename = 'sequenceFile' +21-236-13:26:31.794 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:26:31.794 00 SPR-I:OPRO <*> Passed (1004;5003) - DS Set Basename command sent properly. +21-236-13:26:31.799 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:26:31.800 00 SPR-I:OPRO <*> Passed (1004;5003) - Expected Event Msg 49 rcv'd. +21-236-13:26:31.836 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:26:31.836 00 SPR-I:OPRO ; Setup event 1 with DS DEBUG 49 +21-236-13:26:31.836 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:26:31.837 00 CMH-I:CMD Command is /SCX_CPU1_DS_SETBASENAME FILEINDEX= 1 (x1) BASENAME="timeFile" ;;; (SCX CPU1 DS Set Destination File Basename command) +21-236-13:26:31.837 00 CMH-I:CMD Command SFDU received:<18BBC000004509E20001000074696D6546696C650000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-236-13:26:31.848 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:26:32.588 00 TLMH-I:STS 58-012-14:08:35.002 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=49 DEST BASE command: file table index = 1, base filename = 'timeFile' +21-236-13:26:36.862 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:26:36.863 00 SPR-I:OPRO <*> Passed (1004;5003) - DS Set Basename command sent properly. +21-236-13:26:36.873 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:26:36.874 00 SPR-I:OPRO <*> Passed (1004;5003) - Expected Event Msg 49 rcv'd. +21-236-13:26:36.909 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:26:36.909 00 SPR-I:OPRO ; Step 2.8.3: Using the TST_DS application, send messages to the DS +21-236-13:26:36.909 00 SPR-I:OPRO ; application that will cause the file write errors to occur. +21-236-13:26:36.909 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:26:36.911 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:26:36.911 00 SPR-I:OPRO ; Setup event 1 with TST_DS INFO 5 +21-236-13:26:36.911 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:26:36.913 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:26:36.913 00 SPR-I:OPRO ; Setup event 2 with DS ERROR 15 +21-236-13:26:36.927 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:26:36.929 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:26:36.929 00 SPR-I:OPRO ; Setup event 3 with TST_DS INFO 7 +21-236-13:26:36.929 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:26:36.930 00 CMH-I:CMD Command is /SCX_CPU1_TST_DS_SENDMESSAGE MSGID= 4096 (x1000) MSGTYPE= 1 (x1) PATTERN= 85 (x55) ;;; (SCX CPU1 TST_DS Send Message command code) +21-236-13:26:36.930 00 CMH-I:CMD Command SFDU received:<1943C0000009032B0000100001550000> from gs582cfslab4:SPR +21-236-13:26:36.942 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:26:37.588 00 TLMH-I:STS 58-012-14:08:40.006 ERROR CPU=CPU1 APPNAME=DS EVENT ID=61 FILE MOVE error: src = '/ram/seq00000104.dat', tgt = '/ram/movedir/seq00000104.dat', result = -1 +21-236-13:26:37.589 00 TLMH-I:STS 58-012-14:08:40.006 ERROR CPU=CPU1 APPNAME=DS EVENT ID=15 FILE CREATE error: result = -104, dest = 0, name = '/ram/sequenceFile00000105.dat' +21-236-13:26:37.590 00 TLMH-I:STS 58-012-14:08:40.006 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Message Size 116 to MID 0x00001000 +21-236-13:26:41.947 00 CMH-I:CMD Command is /SCX_CPU1_TST_DS_SENDMESSAGE MSGID= 4097 (x1001) MSGTYPE= 3 (x3) PATTERN= 85 (x55) ;;; (SCX CPU1 TST_DS Send Message command code) +21-236-13:26:41.947 00 CMH-I:CMD Command SFDU received:<1943C000000903280000100103550000> from gs582cfslab4:SPR +21-236-13:26:41.959 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:26:42.585 00 TLMH-I:STS 58-012-14:08:45.003 ERROR CPU=CPU1 APPNAME=DS EVENT ID=61 FILE MOVE error: src = '/ram/ti1980012140811.txt', tgt = '/ram/movedir/ti1980012140811.txt', result = -1 +21-236-13:26:42.587 00 TLMH-I:STS 58-012-14:08:45.003 ERROR CPU=CPU1 APPNAME=DS EVENT ID=15 FILE CREATE error: result = -104, dest = 1, name = '/ram/timeFile1980012140845.txt' +21-236-13:26:42.588 00 TLMH-I:STS 58-012-14:08:45.004 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=7 Sent Message Size 1016 to MID 0x00001001 +21-236-13:26:46.975 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:26:46.978 00 SPR-I:OPRO <*> Passed - Expected Event Msg 5 rcv'd. +21-236-13:26:46.990 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:26:46.991 00 SPR-I:OPRO <*> Passed - Expected Event Msg 7 rcv'd. +21-236-13:26:46.992 00 SPR-I:OPRO <*> Passed (3005) - Expected Event Msg 15 rcv'd twice. +21-236-13:26:47.016 00 SPR-I:OPRO <*> Passed (3005) - File Write Error count incremented properly. +21-236-13:26:47.018 00 CMH-I:CMD Command is /SCX_CPU1_DS_GETFILEINFO ;;; (The Get File Info command) +21-236-13:26:47.018 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-13:26:47.032 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:26:47.587 00 TLMH-I:STS 58-012-14:08:50.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:26:50.035 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:26:50.038 00 SPR-I:OPRO <*> Passed (3005) - The sequence file entry is marked 'CLOSED' +21-236-13:26:50.041 00 SPR-I:OPRO <*> Passed (3005) - The time file entry is marked 'CLOSED' +21-236-13:26:50.046 00 SPR-I:OPRO <*> Passed (3005) - The sequence file entry has been disabled. +21-236-13:26:50.092 00 SPR-I:OPRO <*> Passed (3005) - The time file entry has been disabled. +21-236-13:26:50.093 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:26:55.101 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:26:55.101 00 SPR-I:OPRO ; Step 2.8.4: Download the files that were open prior to Step 2.8.3. +21-236-13:26:55.101 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:26:55.104 00 SPR-I:OPRO ==> Downloading '/ram/seq00000104.dat' +21-236-13:26:55.105 00 SPR-I:OPRO ==> FileName Only = 'seq00000104.dat' +21-236-13:26:55.106 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/ftp_file.i +21-236-13:26:55.106 00 SPR-I:STS Procedure FTP_FILE started +21-236-13:26:55.230 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-13:26:55.230 00 SPR-I:STS Procedure FTP_FILE completed +21-236-13:26:55.232 00 SPR-I:OPRO ==> Downloading '/ram/ti1980012140811.txt' +21-236-13:26:55.235 00 SPR-I:OPRO ==> FileName Only = 'ti1980012140811.txt' +21-236-13:26:55.236 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/ftp_file.i +21-236-13:26:55.236 00 SPR-I:STS Procedure FTP_FILE started +21-236-13:26:55.345 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-13:26:55.345 00 SPR-I:STS Procedure FTP_FILE completed +21-236-13:26:55.345 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:27:00.349 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:27:00.349 00 SPR-I:OPRO ; Step 2.9: Reload the Destination File Table in order to restore the +21-236-13:27:00.350 00 SPR-I:OPRO ; table entries to a usable state. +21-236-13:27:00.350 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:27:00.351 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/load_table.i +21-236-13:27:00.353 00 SPR-I:STS Procedure LOAD_TABLE started +21-236-13:27:00.359 00 SPR-I:OPRO Table Filename: ds_fwfile.tbl +21-236-13:27:00.363 00 SPR-I:OPRO The perl command is: perl /s/opr/accounts/global/tools/table_ftp.pl 192.168.1.8 ds_fwfile.tbl RAM:0 3 +21-236-13:27:00.363 00 SPR-I:OPRO +21-236-13:27:00.515 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-13:27:00.515 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:27:05.518 00 SPR-I:OPRO +21-236-13:27:05.519 00 SPR-I:OPRO Sending Command: /SCX_CPU1_TBL_LOAD LFILENAME="/ram/ds_fwfile.tbl" +21-236-13:27:05.520 00 CMH-I:CMD Command is /SCX_CPU1_TBL_LOAD LFILENAME="/ram/ds_fwfile.tbl" ;;; (SCX CPU1 TBL load table command) +21-236-13:27:05.520 00 CMH-I:CMD Command SFDU received:<1804C000004102152F72616D2F64735F667766696C652E74626C00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-236-13:27:05.545 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:27:06.084 00 TLMH-I:STS 58-012-14:09:08.501 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=12 Successful load of '/ram/ds_fwfile.tbl' into 'DS.FILE_TBL' working buffer +21-236-13:27:10.550 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:27:10.552 00 SPR-I:STS Procedure LOAD_TABLE completed +21-236-13:27:10.559 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:27:10.560 00 SPR-I:OPRO <*> Passed - Load command sent successfully. +21-236-13:27:10.560 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:27:15.570 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:27:15.570 00 SPR-I:OPRO ; Setup event 1 with CFE_TBL DEBUG 16 +21-236-13:27:15.570 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:27:15.575 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:27:15.576 00 SPR-I:OPRO ; Setup event 2 with CFE_TBL INFO 36 +21-236-13:27:15.576 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:27:15.577 00 CMH-I:CMD Command is /SCX_CPU1_TBL_VALIDATE INACTIVE VTABLENAME="DS.FILE_TBL" ;;; (SCX CPU1 TBL validate table command) +21-236-13:27:15.577 00 CMH-I:CMD Command SFDU received:<1804C000002B0436000044532E46494C455F54424C0000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-236-13:27:15.591 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:27:16.083 00 TLMH-I:STS 58-012-14:09:18.501 DEBUG CPU=CPU1 APPNAME=CFE_TBL EVENT ID=16 Tbl Services issued validation request for 'DS.FILE_TBL' +21-236-13:27:17.585 00 TLMH-I:STS 58-012-14:09:20.004 INFO CPU=CPU1 APPNAME=DS EVENT ID=10 Destination file table verify results: desc text = OK, good entries = 8, bad = 0, unused = 8 +21-236-13:27:17.586 00 TLMH-I:STS 58-012-14:09:20.004 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=36 DS validation successful for Inactive 'DS.FILE_TBL' +21-236-13:27:17.593 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:27:17.594 00 SPR-I:OPRO <*> Passed - DS Destination File Table validate command sent. +21-236-13:27:17.594 00 SPR-I:OPRO <*> Passed - Event Msg 16 Found! +21-236-13:27:17.595 00 SPR-I:STTE Wait mode - waiting 20 seconds ... +21-236-13:27:37.617 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:27:37.617 00 SPR-I:OPRO ; Setup event 1 with CFE_TBL DEBUG 17 +21-236-13:27:37.618 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:27:37.627 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:27:37.627 00 SPR-I:OPRO ; Setup event 2 with CFE_TBL INFO 37 +21-236-13:27:37.627 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:27:37.628 00 CMH-I:CMD Command is /SCX_CPU1_TBL_ACTIVATE ATABLENAME="DS.FILE_TBL" ;;; (SCX CPU1 TBL activate table command) +21-236-13:27:37.628 00 CMH-I:CMD Command SFDU received:<1804C0000029053544532E46494C455F54424C0000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-236-13:27:37.642 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:27:38.091 00 TLMH-I:STS 58-012-14:09:40.500 DEBUG CPU=CPU1 APPNAME=CFE_TBL EVENT ID=17 Tbl Services notifying App that 'DS.FILE_TBL' has a load pending +21-236-13:27:41.590 00 TLMH-I:STS 58-012-14:09:44.003 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=37 DS Successfully Updated 'DS.FILE_TBL' +21-236-13:27:41.647 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:27:41.649 00 SPR-I:OPRO <*> Passed - Activate DS Destination File Table command sent properly. +21-236-13:27:41.650 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:27:46.654 00 SPR-I:OPRO <*> Passed - Event message 17 received +21-236-13:27:46.655 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:27:51.659 00 SPR-I:OPRO <*> Passed - DS Destination File Table Updated successfully. +21-236-13:27:51.660 00 SPR-I:OPRO <*> Passed - Event Msg 37 Found! +21-236-13:27:51.660 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:27:56.664 00 SPR-I:OPRO ;********************************************************************* +21-236-13:27:56.664 00 SPR-I:OPRO ; Step 3.0: Commanding Tests +21-236-13:27:56.665 00 SPR-I:OPRO ;********************************************************************* +21-236-13:27:56.665 00 SPR-I:OPRO ; Step 3.1: Send the Close File command on an open file. +21-236-13:27:56.665 00 SPR-I:OPRO ;********************************************************************* +21-236-13:27:56.665 00 SPR-I:OPRO ; Step 3.1.1: Send the TST_DS command that will open a file. +21-236-13:27:56.665 00 SPR-I:OPRO ;********************************************************************* +21-236-13:27:56.670 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:27:56.670 00 SPR-I:OPRO ; Setup event 1 with TST_DS INFO 5 +21-236-13:27:56.670 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:27:56.671 00 CMH-I:CMD Command is /SCX_CPU1_TST_DS_SENDMESSAGE MSGID= 4096 (x1000) MSGTYPE= 1 (x1) PATTERN= 85 (x55) ;;; (SCX CPU1 TST_DS Send Message command code) +21-236-13:27:56.671 00 CMH-I:CMD Command SFDU received:<1943C0000009032B0000100001550000> from gs582cfslab4:SPR +21-236-13:27:56.687 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:27:57.586 00 TLMH-I:STS 58-012-14:10:00.005 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Message Size 116 to MID 0x00001000 +21-236-13:27:57.688 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:27:57.690 00 SPR-I:OPRO <*> Passed - Expected Event Msg 5 rcv'd. +21-236-13:27:57.693 00 CMH-I:CMD Command is /SCX_CPU1_DS_GETFILEINFO ;;; (The Get File Info command) +21-236-13:27:57.694 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-13:27:57.720 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:27:58.587 00 TLMH-I:STS 58-012-14:10:01.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:28:01.724 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:28:01.725 00 SPR-I:OPRO <*> Passed (3000;3000.1;3000.1.1) - A file was created with name '/ram/seq00000100.dat' +21-236-13:28:01.728 00 SPR-I:OPRO <*> Passed (3001) - The file is marked 'OPEN' +21-236-13:28:01.766 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:28:06.770 00 SPR-I:OPRO ;********************************************************************* +21-236-13:28:06.771 00 SPR-I:OPRO ; Step 3.1.2: Send the Close File command for the file opened above. +21-236-13:28:06.771 00 SPR-I:OPRO ;********************************************************************* +21-236-13:28:06.778 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:28:06.778 00 SPR-I:OPRO ; Setup event 1 with DS DEBUG 59 +21-236-13:28:06.778 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:28:06.782 00 CMH-I:CMD Command is /SCX_CPU1_DS_CLOSEFILE FILEINDEX= 0 (x0) ;;; (SCX CPU1 DS Close Destination File command) +21-236-13:28:06.783 00 CMH-I:CMD Command SFDU received:<18BBC00000050E9700000000> from gs582cfslab4:SPR +21-236-13:28:06.807 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:28:07.589 00 TLMH-I:STS 58-012-14:10:10.003 ERROR CPU=CPU1 APPNAME=DS EVENT ID=61 FILE MOVE error: src = '/ram/seq00000100.dat', tgt = '/ram/movedir/seq00000100.dat', result = -1 +21-236-13:28:07.590 00 TLMH-I:STS 58-012-14:10:10.003 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=59 DEST CLOSE command: file table index = 0 +21-236-13:28:09.810 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:28:09.812 00 SPR-I:OPRO <*> Passed (1004;5002) - DS Close File command sent properly. +21-236-13:28:09.818 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:28:09.819 00 SPR-I:OPRO <*> Passed (1004;5002) - Expected Event Msg 59 rcv'd. +21-236-13:28:09.850 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:28:14.853 00 SPR-I:OPRO ;********************************************************************* +21-236-13:28:14.853 00 SPR-I:OPRO ; Step 3.2: Send the Close File command with an invalid length. +21-236-13:28:14.853 00 SPR-I:OPRO ;********************************************************************* +21-236-13:28:14.855 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:28:14.855 00 SPR-I:OPRO ; Setup event 1 with DS ERROR 60 +21-236-13:28:14.855 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:28:14.859 00 SPR-I:OPRO Sending: 18BBc00000060E95 +21-236-13:28:14.860 00 CMH-I:CMD Command SFDU received:<18BBC00000060E95> from gs582cfslab4:SPR +21-236-13:28:14.875 00 SPR-I:OPRO ; Telemetry update will wait a maximum of 24 seconds +21-236-13:28:14.875 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:28:15.587 00 TLMH-I:STS 58-012-14:10:17.983 ERROR CPU=CPU1 APPNAME=DS EVENT ID=60 Invalid DEST CLOSE command length: expected = 12, actual = 13 +21-236-13:28:17.878 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:28:17.885 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:28:17.886 00 SPR-I:OPRO <*> Passed (1002;1005) - DS Close File Command Rejected Counter incremented. +21-236-13:28:17.887 00 SPR-I:OPRO <*> Passed (1005) - Event message 60 received +21-236-13:28:17.920 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:28:22.924 00 SPR-I:OPRO ;********************************************************************* +21-236-13:28:22.924 00 SPR-I:OPRO ; Step 3.3: Send the Close File command with an invalid file index. +21-236-13:28:22.925 00 SPR-I:OPRO ;********************************************************************* +21-236-13:28:22.937 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:28:22.938 00 SPR-I:OPRO ; Setup event 1 with DS ERROR 60 +21-236-13:28:22.938 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:28:22.941 00 CMH-I:CMD Command is /SCX_CPU1_DS_CLOSEFILE FILEINDEX= 16 (x10) ;;; (SCX CPU1 DS Close Destination File command) +21-236-13:28:22.942 00 CMH-I:CMD Command SFDU received:<18BBC00000050E8700100000> from gs582cfslab4:SPR +21-236-13:28:22.958 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:28:23.585 00 TLMH-I:STS 58-012-14:10:26.001 ERROR CPU=CPU1 APPNAME=DS EVENT ID=60 Invalid DEST CLOSE command arg: file table index = 16 +21-236-13:28:25.961 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:28:25.962 00 SPR-I:OPRO <*> Passed (1005) - DS Close File command failed as expected. +21-236-13:28:25.967 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:28:25.967 00 SPR-I:OPRO <*> Passed (1005) - Expected Event Msg 60 rcv'd. +21-236-13:28:25.968 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:28:31.001 00 SPR-I:OPRO ;********************************************************************* +21-236-13:28:31.001 00 SPR-I:OPRO ; Step 3.4: Send the Set File Basename command. +21-236-13:28:31.001 00 SPR-I:OPRO ;********************************************************************* +21-236-13:28:31.009 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:28:31.009 00 SPR-I:OPRO ; Setup event 1 with DS DEBUG 49 +21-236-13:28:31.010 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:28:31.013 00 CMH-I:CMD Command is /SCX_CPU1_DS_SETBASENAME FILEINDEX= 0 (x0) BASENAME="newSeq" ;;; (SCX CPU1 DS Set Destination File Basename command) +21-236-13:28:31.014 00 CMH-I:CMD Command SFDU received:<18BBC000004509EB000000006E657753657100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-236-13:28:31.018 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:28:31.583 00 TLMH-I:STS 58-012-14:10:34.002 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=49 DEST BASE command: file table index = 0, base filename = 'newSeq' +21-236-13:28:36.033 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:28:36.035 00 SPR-I:OPRO <*> Passed (1004;5003) - DS Set Basename command sent properly. +21-236-13:28:36.045 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:28:36.045 00 SPR-I:OPRO <*> Passed (1004;5003) - Expected Event Msg 49 rcv'd. +21-236-13:28:36.086 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:28:41.090 00 SPR-I:OPRO ;********************************************************************* +21-236-13:28:41.090 00 SPR-I:OPRO ; Step 3.5: Dump the Destination File Table to verify the change above. +21-236-13:28:41.090 00 SPR-I:OPRO ;********************************************************************* +21-236-13:28:41.091 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/get_tbl_to_cvt.i +21-236-13:28:41.093 00 SPR-I:STS Procedure GET_TBL_TO_CVT started +21-236-13:28:41.111 00 SPR-I:OPRO Sending Command: /SCX_CPU1_TBL_DUMP ACTIVE DTABLENAME="DS.FILE_TBL" DFILENAME="/ram/cpu1_filetbl35" +21-236-13:28:41.113 00 CMH-I:CMD Command is /SCX_CPU1_TBL_DUMP ACTIVE DTABLENAME="DS.FILE_TBL" DFILENAME="/ram/cpu1_filetbl35" ;;; (SCX CPU1 TBL dump table command) +21-236-13:28:41.113 00 CMH-I:CMD Command SFDU received:<1804C000006B037C000144532E46494C455F54424C00000000000000000000000000000000000000000000000000000000002F72616D2F637075315F66696C6574626C3335000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-236-13:28:41.124 00 SPR-I:STTE Wait mode - waiting 15 seconds ... +21-236-13:28:41.581 00 TLMH-I:STS 58-012-14:10:44.002 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=14 Successfully dumped Table 'DS.FILE_TBL' to '/ram/cpu1_filetbl35' +21-236-13:28:56.136 00 SPR-I:OPRO +21-236-13:28:56.136 00 SPR-I:OPRO The TBLNAME is: DS.FILE_TBL +21-236-13:28:56.136 00 SPR-I:OPRO The APID is: P0F76 +21-236-13:28:56.137 00 SPR-I:OPRO The CPU is: CPU3 +21-236-13:28:56.137 00 SPR-I:OPRO The IP Address is: 192.168.1.8 +21-236-13:28:56.140 00 SPR-I:OPRO The perl command is: perl /s/opr/accounts/global/tools/ftp.pl RAM:0 cpu1_filetbl35 cpu1_filetbl35 binary 192.168.1.8 +21-236-13:28:56.328 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-13:28:56.328 00 SPR-I:STTE Wait mode - waiting 15 seconds ... +21-236-13:29:11.340 00 SPR-I:OPRO +21-236-13:29:11.349 00 SPR-I:OPRO The unix command is cvt -ws file_list[3958].file_write_time "`date +%y-%j-%T -r /s/opr/accounts/cfs_test/image/cpu1_filetbl35`" +21-236-13:29:11.349 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:29:16.354 00 SPR-I:STS Procedure GET_TBL_TO_CVT completed +21-236-13:29:16.356 00 SPR-I:OPRO <*> Passed (5003) - Table entry reflects the new Basename. +21-236-13:29:16.359 00 SPR-I:OPRO ;********************************************************************* +21-236-13:29:16.359 00 SPR-I:OPRO ; Step 3.6: Using the TST_DS application, send a message that will +21-236-13:29:16.359 00 SPR-I:OPRO ; create a file using the new basename. +21-236-13:29:16.359 00 SPR-I:OPRO ;********************************************************************* +21-236-13:29:16.367 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:29:16.367 00 SPR-I:OPRO ; Setup event 1 with TST_DS INFO 5 +21-236-13:29:16.367 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:29:16.401 00 CMH-I:CMD Command is /SCX_CPU1_TST_DS_SENDMESSAGE MSGID= 4096 (x1000) MSGTYPE= 1 (x1) PATTERN= 85 (x55) ;;; (SCX CPU1 TST_DS Send Message command code) +21-236-13:29:16.401 00 CMH-I:CMD Command SFDU received:<1943C0000009032B0000100001550000> from gs582cfslab4:SPR +21-236-13:29:16.406 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:29:17.082 00 TLMH-I:STS 58-012-14:11:19.501 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Message Size 116 to MID 0x00001000 +21-236-13:29:17.407 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:29:17.408 00 SPR-I:OPRO <*> Passed - Expected Event Msg 5 rcv'd. +21-236-13:29:17.409 00 CMH-I:CMD Command is /SCX_CPU1_DS_GETFILEINFO ;;; (The Get File Info command) +21-236-13:29:17.409 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-13:29:17.430 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:29:18.082 00 TLMH-I:STS 58-012-14:11:20.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:29:22.436 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:29:22.438 00 SPR-I:OPRO <*> Passed (3000;3000.1;3000.1.1) - A file was created with name '/ram/newSeq00000101.dat' +21-236-13:29:22.451 00 SPR-I:OPRO <*> Passed (3001) - The file is marked 'OPEN' +21-236-13:29:22.504 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:29:27.507 00 SPR-I:OPRO ;********************************************************************* +21-236-13:29:27.508 00 SPR-I:OPRO ; Step 3.7: Send the Set File Basename command with an empty string. +21-236-13:29:27.508 00 SPR-I:OPRO ;********************************************************************* +21-236-13:29:27.515 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:29:27.516 00 SPR-I:OPRO ; Setup event 1 with DS DEBUG 49 +21-236-13:29:27.516 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:29:27.520 00 CMH-I:CMD Command is /SCX_CPU1_DS_SETBASENAME FILEINDEX= 0 (x0) BASENAME="" ;;; (SCX CPU1 DS Set Destination File Basename command) +21-236-13:29:27.520 00 CMH-I:CMD Command SFDU received:<18BBC000004509D00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-236-13:29:27.524 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:29:28.083 00 TLMH-I:STS 58-012-14:11:30.501 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=49 DEST BASE command: file table index = 0, base filename = '' +21-236-13:29:32.539 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:29:32.542 00 SPR-I:OPRO <*> Passed (1004;5003) - DS Set Basename command sent properly. +21-236-13:29:32.560 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:29:32.561 00 SPR-I:OPRO <*> Passed (1004;5003) - Expected Event Msg 49 rcv'd. +21-236-13:29:32.621 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:29:37.625 00 SPR-I:OPRO ;********************************************************************* +21-236-13:29:37.625 00 SPR-I:OPRO ; Step 3.8: Dump the Destination File Table to verify the change above. +21-236-13:29:37.625 00 SPR-I:OPRO ;********************************************************************* +21-236-13:29:37.626 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/get_tbl_to_cvt.i +21-236-13:29:37.628 00 SPR-I:STS Procedure GET_TBL_TO_CVT started +21-236-13:29:37.649 00 SPR-I:OPRO Sending Command: /SCX_CPU1_TBL_DUMP ACTIVE DTABLENAME="DS.FILE_TBL" DFILENAME="/ram/cpu1_filetbl38" +21-236-13:29:37.651 00 CMH-I:CMD Command is /SCX_CPU1_TBL_DUMP ACTIVE DTABLENAME="DS.FILE_TBL" DFILENAME="/ram/cpu1_filetbl38" ;;; (SCX CPU1 TBL dump table command) +21-236-13:29:37.652 00 CMH-I:CMD Command SFDU received:<1804C000006B0371000144532E46494C455F54424C00000000000000000000000000000000000000000000000000000000002F72616D2F637075315F66696C6574626C3338000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-236-13:29:37.661 00 SPR-I:STTE Wait mode - waiting 15 seconds ... +21-236-13:29:38.584 00 TLMH-I:STS 58-012-14:11:41.002 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=14 Successfully dumped Table 'DS.FILE_TBL' to '/ram/cpu1_filetbl38' +21-236-13:29:52.673 00 SPR-I:OPRO +21-236-13:29:52.673 00 SPR-I:OPRO The TBLNAME is: DS.FILE_TBL +21-236-13:29:52.673 00 SPR-I:OPRO The APID is: P0F76 +21-236-13:29:52.674 00 SPR-I:OPRO The CPU is: CPU3 +21-236-13:29:52.674 00 SPR-I:OPRO The IP Address is: 192.168.1.8 +21-236-13:29:52.677 00 SPR-I:OPRO The perl command is: perl /s/opr/accounts/global/tools/ftp.pl RAM:0 cpu1_filetbl38 cpu1_filetbl38 binary 192.168.1.8 +21-236-13:29:52.828 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-13:29:52.829 00 SPR-I:STTE Wait mode - waiting 15 seconds ... +21-236-13:30:07.840 00 SPR-I:OPRO +21-236-13:30:07.856 00 SPR-I:OPRO The unix command is cvt -ws file_list[3958].file_write_time "`date +%y-%j-%T -r /s/opr/accounts/cfs_test/image/cpu1_filetbl38`" +21-236-13:30:07.856 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:30:12.861 00 SPR-I:STS Procedure GET_TBL_TO_CVT completed +21-236-13:30:12.863 00 SPR-I:OPRO <*> Passed (5003) - Table entry reflects the new Basename. +21-236-13:30:12.866 00 SPR-I:OPRO ;********************************************************************* +21-236-13:30:12.866 00 SPR-I:OPRO ; Step 3.9: Using the TST_DS application, send a message that will +21-236-13:30:12.866 00 SPR-I:OPRO ; create a file using the new basename. +21-236-13:30:12.867 00 SPR-I:OPRO ;********************************************************************* +21-236-13:30:12.872 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:30:12.873 00 SPR-I:OPRO ; Setup event 1 with TST_DS INFO 7 +21-236-13:30:12.873 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:30:12.913 00 CMH-I:CMD Command is /SCX_CPU1_TST_DS_SENDMESSAGE MSGID= 4096 (x1000) MSGTYPE= 3 (x3) PATTERN= 170 (xAA) ;;; (SCX CPU1 TST_DS Send Message command code) +21-236-13:30:12.913 00 CMH-I:CMD Command SFDU received:<1943C000000903D60000100003AA0000> from gs582cfslab4:SPR +21-236-13:30:12.919 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:30:13.584 00 TLMH-I:STS 58-012-14:12:16.006 ERROR CPU=CPU1 APPNAME=DS EVENT ID=61 FILE MOVE error: src = '/ram/newSeq00000101.dat', tgt = '/ram/movedir/newSeq00000101.dat', result = -1 +21-236-13:30:13.585 00 TLMH-I:STS 58-012-14:12:16.007 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=7 Sent Message Size 1016 to MID 0x00001000 +21-236-13:30:13.920 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:30:13.923 00 SPR-I:OPRO <*> Passed - Expected Event Msg 7 rcv'd. +21-236-13:30:13.925 00 CMH-I:CMD Command is /SCX_CPU1_DS_GETFILEINFO ;;; (The Get File Info command) +21-236-13:30:13.925 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-13:30:13.952 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:30:14.588 00 TLMH-I:STS 58-012-14:12:17.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:30:17.957 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:30:17.960 00 SPR-I:OPRO <*> Passed (3000;3000.1;3000.1.1) - A file was created with name '/ram/00000102.dat' +21-236-13:30:17.973 00 SPR-I:OPRO <*> Passed (3001) - The file is marked 'OPEN' +21-236-13:30:18.030 00 SPR-I:OPRO ==> Downloading '/ram/newSeq00000101.dat' +21-236-13:30:18.031 00 SPR-I:OPRO ==> FileName Only = 'newSeq00000101.dat' +21-236-13:30:18.031 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/ftp_file.i +21-236-13:30:18.031 00 SPR-I:STS Procedure FTP_FILE started +21-236-13:30:18.136 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-13:30:18.136 00 SPR-I:STS Procedure FTP_FILE completed +21-236-13:30:18.136 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:30:23.139 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:30:23.140 00 SPR-I:OPRO ; Step 3.10: Send the Set File Basename command with an invalid length. +21-236-13:30:23.140 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:30:23.144 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:30:23.144 00 SPR-I:OPRO ; Setup event 1 with DS ERROR 50 +21-236-13:30:23.144 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:30:23.153 00 SPR-I:OPRO Sending: 18BBc000004609EB +21-236-13:30:23.154 00 CMH-I:CMD Command SFDU received:<18BBC000004609EB> from gs582cfslab4:SPR +21-236-13:30:23.163 00 SPR-I:OPRO ; Telemetry update will wait a maximum of 24 seconds +21-236-13:30:23.164 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:30:24.088 00 TLMH-I:STS 58-012-14:12:26.500 ERROR CPU=CPU1 APPNAME=DS EVENT ID=50 Invalid DEST BASE command length: expected = 76, actual = 77 +21-236-13:30:26.167 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:30:26.173 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:30:26.174 00 SPR-I:OPRO <*> Passed (1002;1005) - DS Set Basename Command Rejected Counter incremented. +21-236-13:30:26.178 00 SPR-I:OPRO <*> Passed (1005) - Event message 50 received +21-236-13:30:26.224 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:30:31.229 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:30:31.229 00 SPR-I:OPRO ; Step 3.11: Send the Set File Basename command with invalid arguments. +21-236-13:30:31.229 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:30:31.237 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:30:31.237 00 SPR-I:OPRO ; Setup event 1 with DS ERROR 50 +21-236-13:30:31.238 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:30:31.242 00 CMH-I:CMD Command is /SCX_CPU1_DS_SETBASENAME FILEINDEX= 16 (x10) BASENAME="badSeq" ;;; (SCX CPU1 DS Set Destination File Basename command) +21-236-13:30:31.242 00 CMH-I:CMD Command SFDU received:<18BBC000004509E00010000062616453657100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-236-13:30:31.255 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:30:32.087 00 TLMH-I:STS 58-012-14:12:34.500 ERROR CPU=CPU1 APPNAME=DS EVENT ID=50 Invalid DEST BASE command arg: file table index = 16 +21-236-13:30:36.270 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:30:36.274 00 SPR-I:OPRO <*> Passed (1005) - DS Set Basename command failed as expected with an invalid file index. +21-236-13:30:36.283 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:30:36.284 00 SPR-I:OPRO <*> Passed (1005) - Expected Event Msg 50 rcv'd. +21-236-13:30:36.289 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:30:41.324 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:30:41.324 00 SPR-I:OPRO ; Step 3.12: Send the Set Next File Sequence Counter command. +21-236-13:30:41.324 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:30:41.326 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:30:41.326 00 SPR-I:OPRO ; Setup event 1 with DS DEBUG 57 +21-236-13:30:41.326 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:30:41.327 00 CMH-I:CMD Command is /SCX_CPU1_DS_SETFILESEQCTR FILEINDEX= 0 (x0) SEQCOUNT= 99 (x63) ;;; (SCX CPU1 DS Set Destination File Next Sequence Counter command) +21-236-13:30:41.327 00 CMH-I:CMD Command SFDU received:<18BBC00000090DFB0000000000000063> from gs582cfslab4:SPR +21-236-13:30:41.338 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:30:42.080 00 TLMH-I:STS 58-012-14:12:44.501 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=57 DEST COUNT command: file table index = 0, sequence count = 99 +21-236-13:30:46.352 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:30:46.355 00 SPR-I:OPRO <*> Passed (1004;5004) - DS Set File Sequence Counter command sent properly. +21-236-13:30:46.372 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:30:46.374 00 SPR-I:OPRO <*> Passed (1004;5004) - Expected Event Msg 57 rcv'd. +21-236-13:30:46.417 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:30:51.421 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:30:51.421 00 SPR-I:OPRO ; Step 3.13: Dump the Destination File Table to verify the change above +21-236-13:30:51.422 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:30:51.422 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/get_tbl_to_cvt.i +21-236-13:30:51.426 00 SPR-I:STS Procedure GET_TBL_TO_CVT started +21-236-13:30:51.451 00 SPR-I:OPRO Sending Command: /SCX_CPU1_TBL_DUMP ACTIVE DTABLENAME="DS.FILE_TBL" DFILENAME="/ram/cpu1_filetbl313" +21-236-13:30:51.452 00 CMH-I:CMD Command is /SCX_CPU1_TBL_DUMP ACTIVE DTABLENAME="DS.FILE_TBL" DFILENAME="/ram/cpu1_filetbl313" ;;; (SCX CPU1 TBL dump table command) +21-236-13:30:51.452 00 CMH-I:CMD Command SFDU received:<1804C000006B034B000144532E46494C455F54424C00000000000000000000000000000000000000000000000000000000002F72616D2F637075315F66696C6574626C3331330000000000000000000000000000000000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-236-13:30:51.455 00 SPR-I:STTE Wait mode - waiting 15 seconds ... +21-236-13:30:52.087 00 TLMH-I:STS 58-012-14:12:54.502 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=14 Successfully dumped Table 'DS.FILE_TBL' to '/ram/cpu1_filetbl313' +21-236-13:31:06.469 00 SPR-I:OPRO +21-236-13:31:06.469 00 SPR-I:OPRO The TBLNAME is: DS.FILE_TBL +21-236-13:31:06.469 00 SPR-I:OPRO The APID is: P0F76 +21-236-13:31:06.470 00 SPR-I:OPRO The CPU is: CPU3 +21-236-13:31:06.470 00 SPR-I:OPRO The IP Address is: 192.168.1.8 +21-236-13:31:06.473 00 SPR-I:OPRO The perl command is: perl /s/opr/accounts/global/tools/ftp.pl RAM:0 cpu1_filetbl313 cpu1_filetbl313 binary 192.168.1.8 +21-236-13:31:06.614 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-13:31:06.614 00 SPR-I:STTE Wait mode - waiting 15 seconds ... +21-236-13:31:21.624 00 SPR-I:OPRO +21-236-13:31:21.669 00 SPR-I:OPRO The unix command is cvt -ws file_list[3958].file_write_time "`date +%y-%j-%T -r /s/opr/accounts/cfs_test/image/cpu1_filetbl313`" +21-236-13:31:21.670 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:31:26.675 00 SPR-I:STS Procedure GET_TBL_TO_CVT completed +21-236-13:31:26.678 00 SPR-I:OPRO <*> Passed (5004) - Table entry reflects the new Sequence Count. +21-236-13:31:26.682 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:31:26.682 00 SPR-I:OPRO ; Step 3.14: Using the TST_DS application, send a message that will +21-236-13:31:26.683 00 SPR-I:OPRO ; create a file using the new sequence counter. +21-236-13:31:26.683 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:31:26.690 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:31:26.691 00 SPR-I:OPRO ; Setup event 1 with TST_DS INFO 5 +21-236-13:31:26.691 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:31:26.729 00 CMH-I:CMD Command is /SCX_CPU1_TST_DS_SENDMESSAGE MSGID= 4096 (x1000) MSGTYPE= 1 (x1) PATTERN= 85 (x55) ;;; (SCX CPU1 TST_DS Send Message command code) +21-236-13:31:26.729 00 CMH-I:CMD Command SFDU received:<1943C0000009032B0000100001550000> from gs582cfslab4:SPR +21-236-13:31:26.743 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:31:27.580 00 TLMH-I:STS 58-012-14:13:30.003 ERROR CPU=CPU1 APPNAME=DS EVENT ID=61 FILE MOVE error: src = '/ram/00000102.dat', tgt = '/ram/movedir/00000102.dat', result = -1 +21-236-13:31:27.581 00 TLMH-I:STS 58-012-14:13:30.005 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Message Size 116 to MID 0x00001000 +21-236-13:31:27.744 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:31:27.746 00 SPR-I:OPRO <*> Passed - Expected Event Msg 5 rcv'd. +21-236-13:31:27.748 00 CMH-I:CMD Command is /SCX_CPU1_DS_GETFILEINFO ;;; (The Get File Info command) +21-236-13:31:27.748 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-13:31:27.775 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:31:28.582 00 TLMH-I:STS 58-012-14:13:31.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:31:29.777 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:31:29.780 00 SPR-I:OPRO <*> Passed (3000;3000.1;3000.1.1) - A file was created with name '/ram/00000099.dat' +21-236-13:31:29.784 00 SPR-I:OPRO <*> Passed (3001) - The file is marked 'OPEN' +21-236-13:31:29.818 00 SPR-I:OPRO ==> Downloading '/ram/00000102.dat' +21-236-13:31:29.818 00 SPR-I:OPRO ==> FileName Only = '00000102.dat' +21-236-13:31:29.819 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/ftp_file.i +21-236-13:31:29.819 00 SPR-I:STS Procedure FTP_FILE started +21-236-13:31:29.921 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-13:31:29.921 00 SPR-I:STS Procedure FTP_FILE completed +21-236-13:31:29.921 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:31:34.925 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:31:34.925 00 SPR-I:OPRO ; Step 3.15: Send the Set File Sequence Counter command with an invalid +21-236-13:31:34.926 00 SPR-I:OPRO ; length. +21-236-13:31:34.926 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:31:34.932 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:31:34.932 00 SPR-I:OPRO ; Setup event 1 with DS ERROR 58 +21-236-13:31:34.932 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:31:34.935 00 SPR-I:OPRO Sending: 18BBc000000A0DE2 +21-236-13:31:34.936 00 CMH-I:CMD Command SFDU received:<18BBC000000A0DE2> from gs582cfslab4:SPR +21-236-13:31:34.939 00 SPR-I:OPRO ; Telemetry update will wait a maximum of 24 seconds +21-236-13:31:34.940 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:31:35.588 00 TLMH-I:STS 58-012-14:13:38.001 ERROR CPU=CPU1 APPNAME=DS EVENT ID=58 Invalid DEST COUNT command length: expected = 16, actual = 17 +21-236-13:31:37.943 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:31:37.951 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:31:37.951 00 SPR-I:OPRO <*> Passed (1002;1005) - DS Set File Sequence Count Command Rejected Counter incremented. +21-236-13:31:37.952 00 SPR-I:OPRO <*> Passed (1005) - Event message 58 received +21-236-13:31:37.980 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:31:42.984 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:31:42.985 00 SPR-I:OPRO ; Step 3.16: Send the Set File Sequence Counter command with invalid +21-236-13:31:42.985 00 SPR-I:OPRO ; arguments. +21-236-13:31:42.985 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:31:42.992 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:31:42.992 00 SPR-I:OPRO ; Setup event 1 with DS ERROR 58 +21-236-13:31:42.992 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:31:42.993 00 CMH-I:CMD Command is /SCX_CPU1_DS_SETFILESEQCTR FILEINDEX= 16 (x10) SEQCOUNT= 155 (x9B) ;;; (SCX CPU1 DS Set Destination File Next Sequence Counter command) +21-236-13:31:42.993 00 CMH-I:CMD Command SFDU received:<18BBC00000090D13001000000000009B> from gs582cfslab4:SPR +21-236-13:31:43.004 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:31:43.583 00 TLMH-I:STS 58-012-14:13:46.001 ERROR CPU=CPU1 APPNAME=DS EVENT ID=58 Invalid DEST COUNT command arg: file table index = 16 +21-236-13:31:48.010 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:31:48.011 00 SPR-I:OPRO <*> Passed (1005) - DS Set File Sequence Counter command failed as expected with an invalid file index. +21-236-13:31:48.015 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:31:48.015 00 SPR-I:OPRO <*> Passed (1005) - Event message 58 received +21-236-13:31:48.016 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:31:53.043 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:31:53.044 00 SPR-I:OPRO ; Step 3.17: Send the Disable Destination File command. +21-236-13:31:53.044 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:31:53.052 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:31:53.052 00 SPR-I:OPRO ; Setup event 1 with DS DEBUG 45 +21-236-13:31:53.052 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:31:53.056 00 CMH-I:CMD Command is /SCX_CPU1_DS_DISABLEFILE FILEINDEX= 0 (x0) ;;; (SCX CPU1 DS Set Destination File Type command) +21-236-13:31:53.057 00 CMH-I:CMD Command SFDU received:<18BBC0000005079E00000000> from gs582cfslab4:SPR +21-236-13:31:53.071 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:31:53.581 00 TLMH-I:STS 58-012-14:13:56.004 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=45 DEST STATE command: file table index = 0, file state = 0 +21-236-13:31:58.091 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:31:58.093 00 SPR-I:OPRO <*> Passed (1004;5006) - DS Disable Destination File command sent properly. +21-236-13:31:58.103 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:31:58.104 00 SPR-I:OPRO <*> Passed (1004;5006) - Expected Event Msg 45 rcv'd. +21-236-13:31:58.137 00 CMH-I:CMD Command is /SCX_CPU1_DS_GETFILEINFO ;;; (The Get File Info command) +21-236-13:31:58.137 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-13:31:58.153 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:31:58.579 00 TLMH-I:STS 58-012-14:14:01.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:32:02.157 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:32:02.159 00 SPR-I:OPRO <*> Passed (5006) - The sequence file entry has been disabled. +21-236-13:32:02.163 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:32:07.167 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:32:07.167 00 SPR-I:OPRO ; Step 3.18: Dump the Destination File Table to verify the change above +21-236-13:32:07.167 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:32:07.168 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/get_tbl_to_cvt.i +21-236-13:32:07.170 00 SPR-I:STS Procedure GET_TBL_TO_CVT started +21-236-13:32:07.187 00 SPR-I:OPRO Sending Command: /SCX_CPU1_TBL_DUMP ACTIVE DTABLENAME="DS.FILE_TBL" DFILENAME="/ram/cpu1_filetbl318" +21-236-13:32:07.189 00 CMH-I:CMD Command is /SCX_CPU1_TBL_DUMP ACTIVE DTABLENAME="DS.FILE_TBL" DFILENAME="/ram/cpu1_filetbl318" ;;; (SCX CPU1 TBL dump table command) +21-236-13:32:07.189 00 CMH-I:CMD Command SFDU received:<1804C000006B0340000144532E46494C455F54424C00000000000000000000000000000000000000000000000000000000002F72616D2F637075315F66696C6574626C3331380000000000000000000000000000000000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-236-13:32:07.201 00 SPR-I:STTE Wait mode - waiting 15 seconds ... +21-236-13:32:08.080 00 TLMH-I:STS 58-012-14:14:10.502 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=14 Successfully dumped Table 'DS.FILE_TBL' to '/ram/cpu1_filetbl318' +21-236-13:32:22.213 00 SPR-I:OPRO +21-236-13:32:22.213 00 SPR-I:OPRO The TBLNAME is: DS.FILE_TBL +21-236-13:32:22.213 00 SPR-I:OPRO The APID is: P0F76 +21-236-13:32:22.213 00 SPR-I:OPRO The CPU is: CPU3 +21-236-13:32:22.213 00 SPR-I:OPRO The IP Address is: 192.168.1.8 +21-236-13:32:22.216 00 SPR-I:OPRO The perl command is: perl /s/opr/accounts/global/tools/ftp.pl RAM:0 cpu1_filetbl318 cpu1_filetbl318 binary 192.168.1.8 +21-236-13:32:22.368 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-13:32:22.368 00 SPR-I:STTE Wait mode - waiting 15 seconds ... +21-236-13:32:37.377 00 SPR-I:OPRO +21-236-13:32:37.390 00 SPR-I:OPRO The unix command is cvt -ws file_list[3958].file_write_time "`date +%y-%j-%T -r /s/opr/accounts/cfs_test/image/cpu1_filetbl318`" +21-236-13:32:37.390 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:32:42.394 00 SPR-I:STS Procedure GET_TBL_TO_CVT completed +21-236-13:32:42.395 00 SPR-I:OPRO <*> Passed (5006) - Table entry indicates that it is 'DISABLED'. +21-236-13:32:42.396 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:32:42.396 00 SPR-I:OPRO ; Step 3.19: Using the TST_DS application, send a message to the entry +21-236-13:32:42.396 00 SPR-I:OPRO ; disabled above. The message should not get stored. +21-236-13:32:42.396 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:32:42.398 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:32:42.398 00 SPR-I:OPRO ; Setup event 1 with TST_DS INFO 5 +21-236-13:32:42.417 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:32:42.418 00 CMH-I:CMD Command is /SCX_CPU1_TST_DS_SENDMESSAGE MSGID= 4096 (x1000) MSGTYPE= 1 (x1) PATTERN= 85 (x55) ;;; (SCX CPU1 TST_DS Send Message command code) +21-236-13:32:42.418 00 CMH-I:CMD Command SFDU received:<1943C0000009032B0000100001550000> from gs582cfslab4:SPR +21-236-13:32:42.423 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:32:43.086 00 TLMH-I:STS 58-012-14:14:45.500 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Message Size 116 to MID 0x00001000 +21-236-13:32:43.424 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:32:43.425 00 SPR-I:OPRO <*> Passed - Expected Event Msg 5 rcv'd. +21-236-13:32:43.427 00 CMH-I:CMD Command is /SCX_CPU1_DS_GETFILEINFO ;;; (The Get File Info command) +21-236-13:32:43.427 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-13:32:43.452 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:32:44.088 00 TLMH-I:STS 58-012-14:14:46.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:32:46.455 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:32:46.458 00 SPR-I:OPRO <*> Passed (5006) - The filtered Packet Counter incremented indicating that the message was not stored. +21-236-13:32:46.463 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:32:51.467 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:32:51.467 00 SPR-I:OPRO ; Step 3.20: Send the Disable Destination File command with an invalid +21-236-13:32:51.467 00 SPR-I:OPRO ; length. +21-236-13:32:51.467 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:32:51.469 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:32:51.469 00 SPR-I:OPRO ; Setup event 1 with DS ERROR 46 +21-236-13:32:51.469 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:32:51.475 00 SPR-I:OPRO Sending: 18BBc0000006079C +21-236-13:32:51.476 00 CMH-I:CMD Command SFDU received:<18BBC0000006079C> from gs582cfslab4:SPR +21-236-13:32:51.491 00 SPR-I:OPRO ; Telemetry update will wait a maximum of 24 seconds +21-236-13:32:51.492 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:32:52.082 00 TLMH-I:STS 58-012-14:14:54.500 ERROR CPU=CPU1 APPNAME=DS EVENT ID=46 Invalid DEST STATE command length: expected = 12, actual = 13 +21-236-13:32:54.495 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:32:54.515 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:32:54.519 00 SPR-I:OPRO <*> Passed (1002;1005) - DS Disable Destination File Command Rejected Counter incremented. +21-236-13:32:54.534 00 SPR-I:OPRO <*> Passed (1005) - Event message 46 received +21-236-13:32:54.574 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:32:59.578 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:32:59.578 00 SPR-I:OPRO ; Step 3.21: Send the Disable Destination File command with invalid +21-236-13:32:59.578 00 SPR-I:OPRO ; arguments. +21-236-13:32:59.578 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:32:59.578 00 SPR-I:OPRO ; Step 3.21.1: Send the command with an invalid file index. +21-236-13:32:59.578 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:32:59.580 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:32:59.580 00 SPR-I:OPRO ; Setup event 1 with DS ERROR 46 +21-236-13:32:59.580 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:32:59.581 00 CMH-I:CMD Command is /SCX_CPU1_DS_DISABLEFILE FILEINDEX= 16 (x10) ;;; (SCX CPU1 DS Set Destination File Type command) +21-236-13:32:59.581 00 CMH-I:CMD Command SFDU received:<18BBC0000005078E00100000> from gs582cfslab4:SPR +21-236-13:32:59.592 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:33:00.081 00 TLMH-I:STS 58-012-14:15:02.500 ERROR CPU=CPU1 APPNAME=DS EVENT ID=46 Invalid DEST STATE command arg: file table index = 16 +21-236-13:33:04.607 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:33:04.610 00 SPR-I:OPRO <*> Passed (1005) - DS Disable Destination File command failed as expected with an invalid file index. +21-236-13:33:04.627 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:33:04.629 00 SPR-I:OPRO <*> Passed (1005) - Event message 46 received +21-236-13:33:04.632 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:33:09.669 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:33:09.669 00 SPR-I:OPRO ; Step 3.21.2: Send the command with an invalid state. +21-236-13:33:09.669 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:33:09.677 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:33:09.678 00 SPR-I:OPRO ; Setup event 1 with DS ERROR 46 +21-236-13:33:09.678 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:33:09.683 00 SPR-I:OPRO Sending: 18BBc0000005079C00000003 +21-236-13:33:09.684 00 CMH-I:CMD Command SFDU received:<18BBC0000005079C00000003> from gs582cfslab4:SPR +21-236-13:33:09.699 00 SPR-I:OPRO ; Telemetry update will wait a maximum of 24 seconds +21-236-13:33:09.699 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:33:10.579 00 TLMH-I:STS 58-012-14:15:13.001 ERROR CPU=CPU1 APPNAME=DS EVENT ID=46 Invalid DEST STATE command arg: file state = 3 +21-236-13:33:13.703 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:33:13.714 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:33:13.715 00 SPR-I:OPRO <*> Passed (1005) - DS Disable Destination File Command Rejected Counter incremented. +21-236-13:33:13.716 00 SPR-I:OPRO <*> Passed (1005) - Event message 46 received +21-236-13:33:13.745 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:33:18.749 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:33:18.749 00 SPR-I:OPRO ; Step 3.21.3: Send the command for a destination that is disabled. +21-236-13:33:18.749 00 SPR-I:OPRO ; This command should be accepted. +21-236-13:33:18.749 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:33:18.754 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:33:18.755 00 SPR-I:OPRO ; Setup event 1 with DS DEBUG 45 +21-236-13:33:18.755 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:33:18.758 00 CMH-I:CMD Command is /SCX_CPU1_DS_DISABLEFILE FILEINDEX= 0 (x0) ;;; (SCX CPU1 DS Set Destination File Type command) +21-236-13:33:18.758 00 CMH-I:CMD Command SFDU received:<18BBC0000005079E00000000> from gs582cfslab4:SPR +21-236-13:33:18.762 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:33:19.577 00 TLMH-I:STS 58-012-14:15:22.002 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=45 DEST STATE command: file table index = 0, file state = 0 +21-236-13:33:23.779 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:33:23.782 00 SPR-I:OPRO <*> Passed (1004;5006) - DS Disable Destination File command sent properly. +21-236-13:33:23.801 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:33:23.803 00 SPR-I:OPRO <*> Passed (1004;5006) - Expected Event Msg 45 rcv'd. +21-236-13:33:23.845 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:33:28.849 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:33:28.850 00 SPR-I:OPRO ; Step 3.22: Send the Enable Destination File command. +21-236-13:33:28.850 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:33:28.858 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:33:28.859 00 SPR-I:OPRO ; Setup event 1 with DS DEBUG 45 +21-236-13:33:28.859 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:33:28.863 00 CMH-I:CMD Command is /SCX_CPU1_DS_ENABLEFILE FILEINDEX= 0 (x0) ;;; (SCX CPU1 DS Set Destination File Type command) +21-236-13:33:28.863 00 CMH-I:CMD Command SFDU received:<18BBC0000005079F00000001> from gs582cfslab4:SPR +21-236-13:33:28.878 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:33:29.586 00 TLMH-I:STS 58-012-14:15:32.004 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=45 DEST STATE command: file table index = 0, file state = 1 +21-236-13:33:33.891 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:33:33.892 00 SPR-I:OPRO <*> Passed (1004;5005) - DS Enable Destination File command sent properly. +21-236-13:33:33.898 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:33:33.899 00 SPR-I:OPRO <*> Passed (1004;5005) - Expected Event Msg 45 rcv'd. +21-236-13:33:33.934 00 CMH-I:CMD Command is /SCX_CPU1_DS_GETFILEINFO ;;; (The Get File Info command) +21-236-13:33:33.934 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-13:33:33.937 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:33:34.586 00 TLMH-I:STS 58-012-14:15:37.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:33:37.941 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:33:37.942 00 SPR-I:OPRO <*> Passed (5005) - The sequence file entry has been enabled. +21-236-13:33:37.943 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:33:42.947 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:33:42.947 00 SPR-I:OPRO ; Step 3.23: Dump the Destination File Table to verify the change above +21-236-13:33:42.947 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:33:42.947 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/get_tbl_to_cvt.i +21-236-13:33:42.948 00 SPR-I:STS Procedure GET_TBL_TO_CVT started +21-236-13:33:42.954 00 SPR-I:OPRO Sending Command: /SCX_CPU1_TBL_DUMP ACTIVE DTABLENAME="DS.FILE_TBL" DFILENAME="/ram/cpu1_filetbl323" +21-236-13:33:42.954 00 CMH-I:CMD Command is /SCX_CPU1_TBL_DUMP ACTIVE DTABLENAME="DS.FILE_TBL" DFILENAME="/ram/cpu1_filetbl323" ;;; (SCX CPU1 TBL dump table command) +21-236-13:33:42.954 00 CMH-I:CMD Command SFDU received:<1804C000006B0348000144532E46494C455F54424C00000000000000000000000000000000000000000000000000000000002F72616D2F637075315F66696C6574626C3332330000000000000000000000000000000000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-236-13:33:42.956 00 SPR-I:STTE Wait mode - waiting 15 seconds ... +21-236-13:33:43.581 00 TLMH-I:STS 58-012-14:15:46.002 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=14 Successfully dumped Table 'DS.FILE_TBL' to '/ram/cpu1_filetbl323' +21-236-13:33:57.968 00 SPR-I:OPRO +21-236-13:33:57.968 00 SPR-I:OPRO The TBLNAME is: DS.FILE_TBL +21-236-13:33:57.968 00 SPR-I:OPRO The APID is: P0F76 +21-236-13:33:57.968 00 SPR-I:OPRO The CPU is: CPU3 +21-236-13:33:57.968 00 SPR-I:OPRO The IP Address is: 192.168.1.8 +21-236-13:33:57.971 00 SPR-I:OPRO The perl command is: perl /s/opr/accounts/global/tools/ftp.pl RAM:0 cpu1_filetbl323 cpu1_filetbl323 binary 192.168.1.8 +21-236-13:33:58.112 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-13:33:58.112 00 SPR-I:STTE Wait mode - waiting 15 seconds ... +21-236-13:34:13.122 00 SPR-I:OPRO +21-236-13:34:13.134 00 SPR-I:OPRO The unix command is cvt -ws file_list[3958].file_write_time "`date +%y-%j-%T -r /s/opr/accounts/cfs_test/image/cpu1_filetbl323`" +21-236-13:34:13.134 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:34:18.138 00 SPR-I:STS Procedure GET_TBL_TO_CVT completed +21-236-13:34:18.140 00 SPR-I:OPRO <*> Passed (5005) - Table entry indicates that it is 'ENABLED'. +21-236-13:34:18.144 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:34:18.144 00 SPR-I:OPRO ; Step 3.24: Using the TST_DS application, send a message to the entry +21-236-13:34:18.144 00 SPR-I:OPRO ; enabled above. The message should get stored. +21-236-13:34:18.144 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:34:18.192 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:34:18.192 00 SPR-I:OPRO ; Setup event 1 with TST_DS INFO 5 +21-236-13:34:18.192 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:34:18.194 00 CMH-I:CMD Command is /SCX_CPU1_TST_DS_SENDMESSAGE MSGID= 4096 (x1000) MSGTYPE= 1 (x1) PATTERN= 170 (xAA) ;;; (SCX CPU1 TST_DS Send Message command code) +21-236-13:34:18.194 00 CMH-I:CMD Command SFDU received:<1943C000000903D40000100001AA0000> from gs582cfslab4:SPR +21-236-13:34:18.209 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:34:19.083 00 TLMH-I:STS 58-012-14:16:21.500 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Message Size 116 to MID 0x00001000 +21-236-13:34:19.210 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:34:19.211 00 SPR-I:OPRO <*> Passed - Expected Event Msg 5 rcv'd. +21-236-13:34:19.211 00 CMH-I:CMD Command is /SCX_CPU1_DS_GETFILEINFO ;;; (The Get File Info command) +21-236-13:34:19.211 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-13:34:19.228 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:34:20.077 00 TLMH-I:STS 58-012-14:16:22.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:34:22.233 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:34:22.236 00 SPR-I:OPRO <*> Passed (5005) - The message was rcv'd and stored properly. +21-236-13:34:22.240 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:34:27.244 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:34:27.245 00 SPR-I:OPRO ; Step 3.25: Send the Enable Destination File command with an invalid +21-236-13:34:27.245 00 SPR-I:OPRO ; length. +21-236-13:34:27.245 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:34:27.251 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:34:27.252 00 SPR-I:OPRO ; Setup event 1 with DS ERROR 46 +21-236-13:34:27.252 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:34:27.267 00 SPR-I:OPRO Sending: 18BBc0000006079C +21-236-13:34:27.271 00 CMH-I:CMD Command SFDU received:<18BBC0000006079C> from gs582cfslab4:SPR +21-236-13:34:27.290 00 SPR-I:OPRO ; Telemetry update will wait a maximum of 24 seconds +21-236-13:34:27.291 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:34:28.079 00 TLMH-I:STS 58-012-14:16:30.500 ERROR CPU=CPU1 APPNAME=DS EVENT ID=46 Invalid DEST STATE command length: expected = 12, actual = 13 +21-236-13:34:30.294 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:34:30.309 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:34:30.310 00 SPR-I:OPRO <*> Passed (1002;1005) - DS Enable Destination File Command Rejected Counter incremented. +21-236-13:34:30.314 00 SPR-I:OPRO <*> Passed (1005) - Event message 46 received +21-236-13:34:30.352 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:34:35.356 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:34:35.356 00 SPR-I:OPRO ; Step 3.26: Send the Enable Destination File command with invalid +21-236-13:34:35.356 00 SPR-I:OPRO ; arguments. +21-236-13:34:35.356 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:34:35.356 00 SPR-I:OPRO ; Step 3.26.1: Send the command with an invalid file index. +21-236-13:34:35.356 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:34:35.359 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:34:35.359 00 SPR-I:OPRO ; Setup event 1 with DS ERROR 46 +21-236-13:34:35.359 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:34:35.361 00 CMH-I:CMD Command is /SCX_CPU1_DS_ENABLEFILE FILEINDEX= 16 (x10) ;;; (SCX CPU1 DS Set Destination File Type command) +21-236-13:34:35.361 00 CMH-I:CMD Command SFDU received:<18BBC0000005078F00100001> from gs582cfslab4:SPR +21-236-13:34:35.372 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:34:36.083 00 TLMH-I:STS 58-012-14:16:38.500 ERROR CPU=CPU1 APPNAME=DS EVENT ID=46 Invalid DEST STATE command arg: file table index = 16 +21-236-13:34:40.386 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:34:40.388 00 SPR-I:OPRO <*> Passed (1005) - DS Enable Destination File command failed as expected with an invalid file index. +21-236-13:34:40.401 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:34:40.403 00 SPR-I:OPRO <*> Passed (1005) - Event message 46 received +21-236-13:34:40.407 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:34:45.448 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:34:45.448 00 SPR-I:OPRO ; Step 3.26.2: Send the command with an invalid state. +21-236-13:34:45.448 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:34:45.451 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:34:45.451 00 SPR-I:OPRO ; Setup event 1 with DS ERROR 46 +21-236-13:34:45.451 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:34:45.458 00 SPR-I:OPRO Sending: 18BBc0000005079C00000003 +21-236-13:34:45.459 00 CMH-I:CMD Command SFDU received:<18BBC0000005079C00000003> from gs582cfslab4:SPR +21-236-13:34:45.476 00 SPR-I:OPRO ; Telemetry update will wait a maximum of 24 seconds +21-236-13:34:45.476 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:34:46.083 00 TLMH-I:STS 58-012-14:16:48.500 ERROR CPU=CPU1 APPNAME=DS EVENT ID=46 Invalid DEST STATE command arg: file state = 3 +21-236-13:34:46.477 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:34:46.478 00 SPR-I:STTE Wait mode - waiting 1 seconds ... +21-236-13:34:47.479 00 SPR-I:STTE Wait mode - waiting 1 seconds ... +21-236-13:34:48.480 00 SPR-I:STTE Wait mode - waiting 1 seconds ... +21-236-13:34:49.482 00 SPR-I:STTE Wait mode - waiting 1 seconds ... +21-236-13:34:50.488 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:34:50.489 00 SPR-I:OPRO <*> Passed (1005) - DS Disable Destination File Command Rejected Counter incremented. +21-236-13:34:50.491 00 SPR-I:OPRO <*> Passed (1005) - Event message 46 received +21-236-13:34:50.519 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:34:55.523 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:34:55.523 00 SPR-I:OPRO ; Step 3.26.3: Send the command for a destination that is enabled. +21-236-13:34:55.524 00 SPR-I:OPRO ; This command should be accepted. +21-236-13:34:55.524 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:34:55.527 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:34:55.527 00 SPR-I:OPRO ; Setup event 1 with DS DEBUG 45 +21-236-13:34:55.527 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:34:55.530 00 CMH-I:CMD Command is /SCX_CPU1_DS_ENABLEFILE FILEINDEX= 0 (x0) ;;; (SCX CPU1 DS Set Destination File Type command) +21-236-13:34:55.530 00 CMH-I:CMD Command SFDU received:<18BBC0000005079F00000001> from gs582cfslab4:SPR +21-236-13:34:55.542 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:34:56.086 00 TLMH-I:STS 58-012-14:16:58.501 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=45 DEST STATE command: file table index = 0, file state = 1 +21-236-13:35:00.557 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:35:00.560 00 SPR-I:OPRO <*> Passed (1004;5005) - DS Enable Destination File command sent properly. +21-236-13:35:00.581 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:35:00.583 00 SPR-I:OPRO <*> Passed (1004;5005) - Expected Event Msg 45 rcv'd. +21-236-13:35:00.625 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:35:05.629 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:35:05.629 00 SPR-I:OPRO ; Step 3.27: Send the Set Destination File Type command. +21-236-13:35:05.629 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:35:05.635 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:35:05.635 00 SPR-I:OPRO ; Setup event 1 with DS DEBUG 43 +21-236-13:35:05.635 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:35:05.636 00 CMH-I:CMD Command is /SCX_CPU1_DS_SETFILETYPE FILEINDEX= 0 (x0) FILETYPE= 2 (x2) ;;; (SCX CPU1 DS Set Destination File Type command) +21-236-13:35:05.636 00 CMH-I:CMD Command SFDU received:<18BBC0000005069D00000002> from gs582cfslab4:SPR +21-236-13:35:05.647 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:35:06.086 00 TLMH-I:STS 58-012-14:17:08.501 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=43 DEST TYPE command: file table index = 0, filename type = 2 +21-236-13:35:10.659 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:35:10.661 00 SPR-I:OPRO <*> Passed (1004;5011) - DS Set Destination File Type command sent properly. +21-236-13:35:10.674 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:35:10.675 00 SPR-I:OPRO <*> Passed (1004;5011) - Expected Event Msg 43 rcv'd. +21-236-13:35:10.712 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:35:15.716 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:35:15.716 00 SPR-I:OPRO ; Step 3.28: Dump the Destination File Table to verify the change above +21-236-13:35:15.717 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:35:15.717 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/get_tbl_to_cvt.i +21-236-13:35:15.719 00 SPR-I:STS Procedure GET_TBL_TO_CVT started +21-236-13:35:15.740 00 SPR-I:OPRO Sending Command: /SCX_CPU1_TBL_DUMP ACTIVE DTABLENAME="DS.FILE_TBL" DFILENAME="/ram/cpu1_filetbl328" +21-236-13:35:15.743 00 CMH-I:CMD Command is /SCX_CPU1_TBL_DUMP ACTIVE DTABLENAME="DS.FILE_TBL" DFILENAME="/ram/cpu1_filetbl328" ;;; (SCX CPU1 TBL dump table command) +21-236-13:35:15.743 00 CMH-I:CMD Command SFDU received:<1804C000006B0343000144532E46494C455F54424C00000000000000000000000000000000000000000000000000000000002F72616D2F637075315F66696C6574626C3332380000000000000000000000000000000000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-236-13:35:15.747 00 SPR-I:STTE Wait mode - waiting 15 seconds ... +21-236-13:35:16.581 00 TLMH-I:STS 58-012-14:17:19.002 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=14 Successfully dumped Table 'DS.FILE_TBL' to '/ram/cpu1_filetbl328' +21-236-13:35:30.759 00 SPR-I:OPRO +21-236-13:35:30.759 00 SPR-I:OPRO The TBLNAME is: DS.FILE_TBL +21-236-13:35:30.759 00 SPR-I:OPRO The APID is: P0F76 +21-236-13:35:30.759 00 SPR-I:OPRO The CPU is: CPU3 +21-236-13:35:30.759 00 SPR-I:OPRO The IP Address is: 192.168.1.8 +21-236-13:35:30.763 00 SPR-I:OPRO The perl command is: perl /s/opr/accounts/global/tools/ftp.pl RAM:0 cpu1_filetbl328 cpu1_filetbl328 binary 192.168.1.8 +21-236-13:35:30.941 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-13:35:30.941 00 SPR-I:STTE Wait mode - waiting 15 seconds ... +21-236-13:35:45.952 00 SPR-I:OPRO +21-236-13:35:45.967 00 SPR-I:OPRO The unix command is cvt -ws file_list[3958].file_write_time "`date +%y-%j-%T -r /s/opr/accounts/cfs_test/image/cpu1_filetbl328`" +21-236-13:35:45.967 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:35:50.971 00 SPR-I:STS Procedure GET_TBL_TO_CVT completed +21-236-13:35:50.973 00 SPR-I:OPRO <*> Passed (5011) - Table entry indicates 'Time' naming. +21-236-13:35:50.976 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:35:50.977 00 SPR-I:OPRO ; Step 3.29: Using the TST_DS application, send a message that will +21-236-13:35:50.977 00 SPR-I:OPRO ; create a file using the new naming. +21-236-13:35:50.977 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:35:50.978 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:35:50.978 00 SPR-I:OPRO ; Setup event 1 with TST_DS INFO 7 +21-236-13:35:50.978 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:35:50.992 00 CMH-I:CMD Command is /SCX_CPU1_TST_DS_SENDMESSAGE MSGID= 4096 (x1000) MSGTYPE= 3 (x3) PATTERN= 187 (xBB) ;;; (SCX CPU1 TST_DS Send Message command code) +21-236-13:35:50.992 00 CMH-I:CMD Command SFDU received:<1943C000000903C70000100003BB0000> from gs582cfslab4:SPR +21-236-13:35:50.996 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:35:51.576 00 TLMH-I:STS 58-012-14:17:54.004 ERROR CPU=CPU1 APPNAME=DS EVENT ID=61 FILE MOVE error: src = '/ram/00000099.dat', tgt = '/ram/movedir/00000099.dat', result = -1 +21-236-13:35:51.578 00 TLMH-I:STS 58-012-14:17:54.005 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=7 Sent Message Size 1016 to MID 0x00001000 +21-236-13:35:51.997 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:35:51.999 00 SPR-I:OPRO <*> Passed - Expected Event Msg 7 rcv'd. +21-236-13:35:52.001 00 CMH-I:CMD Command is /SCX_CPU1_DS_GETFILEINFO ;;; (The Get File Info command) +21-236-13:35:52.001 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-13:35:52.028 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:35:52.577 00 TLMH-I:STS 58-012-14:17:55.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:35:54.031 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:35:54.034 00 SPR-I:OPRO <*> Passed (3000) - A file was created with name '/ram/1980012141754.dat' +21-236-13:35:54.039 00 SPR-I:OPRO <*> Passed (3001) - The file is marked 'OPEN' +21-236-13:35:54.043 00 SPR-I:OPRO ==> Downloading '/ram/00000099.dat' +21-236-13:35:54.095 00 SPR-I:OPRO ==> FileName Only = '00000099.dat' +21-236-13:35:54.095 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/ftp_file.i +21-236-13:35:54.095 00 SPR-I:STS Procedure FTP_FILE started +21-236-13:35:54.193 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-13:35:54.193 00 SPR-I:STS Procedure FTP_FILE completed +21-236-13:35:54.193 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:35:59.197 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:35:59.198 00 SPR-I:OPRO ; Step 3.30: Send the Set Destination File Type command with an invalid +21-236-13:35:59.198 00 SPR-I:OPRO ; length. +21-236-13:35:59.198 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:35:59.206 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:35:59.207 00 SPR-I:OPRO ; Setup event 1 with DS ERROR 44 +21-236-13:35:59.207 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:35:59.223 00 SPR-I:OPRO Sending: 18BBc0000006069C +21-236-13:35:59.226 00 CMH-I:CMD Command SFDU received:<18BBC0000006069C> from gs582cfslab4:SPR +21-236-13:35:59.244 00 SPR-I:OPRO ; Telemetry update will wait a maximum of 24 seconds +21-236-13:35:59.244 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:36:00.076 00 TLMH-I:STS 58-012-14:18:02.500 ERROR CPU=CPU1 APPNAME=DS EVENT ID=44 Invalid DEST TYPE command length: expected = 12, actual = 13 +21-236-13:36:02.247 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:36:02.268 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:36:02.270 00 SPR-I:OPRO <*> Passed (1002;1005) - DS Set Destination File Type Command Rejected Counter incremented. +21-236-13:36:02.274 00 SPR-I:OPRO <*> Passed (1005) - Event message 44 received +21-236-13:36:02.309 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:36:07.313 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:36:07.313 00 SPR-I:OPRO ; Step 3.31: Send the Set Destination File Type command with invalid +21-236-13:36:07.314 00 SPR-I:OPRO ; arguments. +21-236-13:36:07.314 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:36:07.314 00 SPR-I:OPRO ; Step 3.31.1: Send the command with an invalid file index. +21-236-13:36:07.314 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:36:07.321 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:36:07.322 00 SPR-I:OPRO ; Setup event 1 with DS ERROR 44 +21-236-13:36:07.322 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:36:07.325 00 CMH-I:CMD Command is /SCX_CPU1_DS_SETFILETYPE FILEINDEX= 16 (x10) FILETYPE= 2 (x2) ;;; (SCX CPU1 DS Set Destination File Type command) +21-236-13:36:07.326 00 CMH-I:CMD Command SFDU received:<18BBC0000005068D00100002> from gs582cfslab4:SPR +21-236-13:36:07.330 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:36:08.076 00 TLMH-I:STS 58-012-14:18:10.500 ERROR CPU=CPU1 APPNAME=DS EVENT ID=44 Invalid DEST TYPE command arg: file table index = 16 +21-236-13:36:12.345 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:36:12.348 00 SPR-I:OPRO <*> Passed (1005) - DS Set Destination File Type command failed as expected with an invalid file index. +21-236-13:36:12.365 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:36:12.369 00 SPR-I:OPRO <*> Passed (1005) - Event message 44 received +21-236-13:36:12.372 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:36:17.408 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:36:17.408 00 SPR-I:OPRO ; Step 3.31.2: Send the command with an invalid type. +21-236-13:36:17.408 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:36:17.412 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:36:17.413 00 SPR-I:OPRO ; Setup event 1 with DS ERROR 44 +21-236-13:36:17.413 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:36:17.416 00 CMH-I:CMD Command is /SCX_CPU1_DS_SETFILETYPE FILEINDEX= 0 (x0) FILETYPE= 3 (x3) ;;; (SCX CPU1 DS Set Destination File Type command) +21-236-13:36:17.416 00 CMH-I:CMD Command SFDU received:<18BBC0000005069C00000003> from gs582cfslab4:SPR +21-236-13:36:17.428 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:36:18.084 00 TLMH-I:STS 58-012-14:18:20.500 ERROR CPU=CPU1 APPNAME=DS EVENT ID=44 Invalid DEST TYPE command arg: filename type = 3 +21-236-13:36:22.438 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:36:22.439 00 SPR-I:OPRO <*> Passed (1005) - DS Set Destination File Type command failed as expected with an invalid file index. +21-236-13:36:22.448 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:36:22.450 00 SPR-I:OPRO <*> Passed (1005) - Event message 44 received +21-236-13:36:22.452 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:36:27.481 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:36:27.481 00 SPR-I:OPRO ; Step 3.32: Send the Set Path command. +21-236-13:36:27.482 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:36:27.488 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:36:27.488 00 SPR-I:OPRO ; Setup event 1 with DS DEBUG 47 +21-236-13:36:27.489 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:36:27.493 00 CMH-I:CMD Command is /SCX_CPU1_DS_SETPATH FILEINDEX= 0 (x0) PATHNAME="/cf/" ;;; (SCX CPU1 DS Set Destination File Pathname command) +21-236-13:36:27.493 00 CMH-I:CMD Command SFDU received:<18BBC000004508D4000000002F63662F000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-236-13:36:27.496 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:36:28.080 00 TLMH-I:STS 58-012-14:18:30.501 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=47 DEST PATH command: file table index = 0, pathname = '/cf/' +21-236-13:36:32.508 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:36:32.510 00 SPR-I:OPRO <*> Passed (1004;5012) - DS Set Path command sent properly. +21-236-13:36:32.518 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:36:32.519 00 SPR-I:OPRO <*> Passed (1004;5012) - Expected Event Msg 47 rcv'd. +21-236-13:36:32.555 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:36:37.559 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:36:37.559 00 SPR-I:OPRO ; Step 3.33: Dump the Destination File Table to verify the change above +21-236-13:36:37.560 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:36:37.560 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/get_tbl_to_cvt.i +21-236-13:36:37.560 00 SPR-I:STS Procedure GET_TBL_TO_CVT started +21-236-13:36:37.566 00 SPR-I:OPRO Sending Command: /SCX_CPU1_TBL_DUMP ACTIVE DTABLENAME="DS.FILE_TBL" DFILENAME="/ram/cpu1_filetbl333" +21-236-13:36:37.567 00 CMH-I:CMD Command is /SCX_CPU1_TBL_DUMP ACTIVE DTABLENAME="DS.FILE_TBL" DFILENAME="/ram/cpu1_filetbl333" ;;; (SCX CPU1 TBL dump table command) +21-236-13:36:37.567 00 CMH-I:CMD Command SFDU received:<1804C000006B0349000144532E46494C455F54424C00000000000000000000000000000000000000000000000000000000002F72616D2F637075315F66696C6574626C3333330000000000000000000000000000000000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-236-13:36:37.578 00 SPR-I:STTE Wait mode - waiting 15 seconds ... +21-236-13:36:38.084 00 TLMH-I:STS 58-012-14:18:40.502 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=14 Successfully dumped Table 'DS.FILE_TBL' to '/ram/cpu1_filetbl333' +21-236-13:36:52.589 00 SPR-I:OPRO +21-236-13:36:52.590 00 SPR-I:OPRO The TBLNAME is: DS.FILE_TBL +21-236-13:36:52.590 00 SPR-I:OPRO The APID is: P0F76 +21-236-13:36:52.590 00 SPR-I:OPRO The CPU is: CPU3 +21-236-13:36:52.590 00 SPR-I:OPRO The IP Address is: 192.168.1.8 +21-236-13:36:52.593 00 SPR-I:OPRO The perl command is: perl /s/opr/accounts/global/tools/ftp.pl RAM:0 cpu1_filetbl333 cpu1_filetbl333 binary 192.168.1.8 +21-236-13:36:52.770 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-13:36:52.770 00 SPR-I:STTE Wait mode - waiting 15 seconds ... +21-236-13:37:07.780 00 SPR-I:OPRO +21-236-13:37:07.822 00 SPR-I:OPRO The unix command is cvt -ws file_list[3958].file_write_time "`date +%y-%j-%T -r /s/opr/accounts/cfs_test/image/cpu1_filetbl333`" +21-236-13:37:07.822 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:37:12.827 00 SPR-I:STS Procedure GET_TBL_TO_CVT completed +21-236-13:37:12.830 00 SPR-I:OPRO <*> Passed (5012) - Table entry indicates the correct path. +21-236-13:37:12.834 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:37:12.834 00 SPR-I:OPRO ; Step 3.34: Using the TST_DS application, send a message that will +21-236-13:37:12.834 00 SPR-I:OPRO ; create a file using the new naming. +21-236-13:37:12.834 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:37:12.841 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:37:12.842 00 SPR-I:OPRO ; Setup event 1 with TST_DS INFO 7 +21-236-13:37:12.842 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:37:12.882 00 CMH-I:CMD Command is /SCX_CPU1_TST_DS_SENDMESSAGE MSGID= 4096 (x1000) MSGTYPE= 3 (x3) PATTERN= 165 (xA5) ;;; (SCX CPU1 TST_DS Send Message command code) +21-236-13:37:12.882 00 CMH-I:CMD Command SFDU received:<1943C000000903D90000100003A50000> from gs582cfslab4:SPR +21-236-13:37:12.897 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:37:13.582 00 TLMH-I:STS 58-012-14:19:16.006 ERROR CPU=CPU1 APPNAME=DS EVENT ID=61 FILE MOVE error: src = '/ram/1980012141754.dat', tgt = '/ram/movedir/1980012141754.dat', result = -1 +21-236-13:37:13.583 00 TLMH-I:STS 58-012-14:19:16.008 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=7 Sent Message Size 1016 to MID 0x00001000 +21-236-13:37:13.898 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:37:13.901 00 SPR-I:OPRO <*> Passed - Expected Event Msg 7 rcv'd. +21-236-13:37:13.903 00 CMH-I:CMD Command is /SCX_CPU1_DS_GETFILEINFO ;;; (The Get File Info command) +21-236-13:37:13.903 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-13:37:13.934 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:37:14.579 00 TLMH-I:STS 58-012-14:19:17.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:37:17.938 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:37:17.941 00 SPR-I:OPRO <*> Passed (3000) - A file was created with name '/cf/1980012141916.dat' +21-236-13:37:17.946 00 SPR-I:OPRO <*> Passed (3001) - The file is marked 'OPEN' +21-236-13:37:17.951 00 SPR-I:OPRO ==> Downloading '/ram/1980012141754.dat' +21-236-13:37:18.004 00 SPR-I:OPRO ==> FileName Only = '1980012141754.dat' +21-236-13:37:18.004 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/ftp_file.i +21-236-13:37:18.004 00 SPR-I:STS Procedure FTP_FILE started +21-236-13:37:18.109 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-13:37:18.109 00 SPR-I:STS Procedure FTP_FILE completed +21-236-13:37:18.112 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:37:23.116 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:37:23.117 00 SPR-I:OPRO ; Step 3.35: Send the Set Path command with an invalid length. +21-236-13:37:23.117 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:37:23.122 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:37:23.122 00 SPR-I:OPRO ; Setup event 1 with DS ERROR 48 +21-236-13:37:23.122 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:37:23.128 00 SPR-I:OPRO Sending: 18BBc0000046089C +21-236-13:37:23.129 00 CMH-I:CMD Command SFDU received:<18BBC0000046089C> from gs582cfslab4:SPR +21-236-13:37:23.144 00 SPR-I:OPRO ; Telemetry update will wait a maximum of 24 seconds +21-236-13:37:23.145 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:37:23.585 00 TLMH-I:STS 58-012-14:19:26.001 ERROR CPU=CPU1 APPNAME=DS EVENT ID=48 Invalid DEST PATH command length: expected = 76, actual = 77 +21-236-13:37:26.147 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:37:26.153 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:37:26.154 00 SPR-I:OPRO <*> Passed (1002;1005) - DS Set Path Command Rejected Counter incremented. +21-236-13:37:26.156 00 SPR-I:OPRO <*> Passed (1005) - Event message 48 received +21-236-13:37:26.185 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:37:31.189 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:37:31.189 00 SPR-I:OPRO ; Step 3.36: Send the Set Path command with invalid arguments. +21-236-13:37:31.189 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:37:31.190 00 SPR-I:OPRO ; Step 3.36.1: Send the command with an invalid file index. +21-236-13:37:31.190 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:37:31.196 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:37:31.196 00 SPR-I:OPRO ; Setup event 1 with DS ERROR 48 +21-236-13:37:31.196 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:37:31.197 00 CMH-I:CMD Command is /SCX_CPU1_DS_SETPATH FILEINDEX= 16 (x10) PATHNAME="/ram/" ;;; (SCX CPU1 DS Set Destination File Pathname command) +21-236-13:37:31.197 00 CMH-I:CMD Command SFDU received:<18BBC000004508BF001000002F72616D2F0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-236-13:37:31.209 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:37:32.077 00 TLMH-I:STS 58-012-14:19:34.500 ERROR CPU=CPU1 APPNAME=DS EVENT ID=48 Invalid DEST PATH command arg: file table index = 16 +21-236-13:37:36.224 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:37:36.226 00 SPR-I:OPRO <*> Passed (1005) - DS Set Path command failed as expected with an invalid file index. +21-236-13:37:36.233 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:37:36.234 00 SPR-I:OPRO <*> Passed (1005) - Event message 48 received +21-236-13:37:36.235 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:37:41.262 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:37:41.262 00 SPR-I:OPRO ; Step 3.36.2: Send the command with an empty path. +21-236-13:37:41.262 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:37:41.268 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:37:41.269 00 SPR-I:OPRO ; Setup event 1 with DS ERROR 48 +21-236-13:37:41.269 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:37:41.274 00 CMH-I:CMD Command is /SCX_CPU1_DS_SETPATH FILEINDEX= 0 (x0) PATHNAME="" ;;; (SCX CPU1 DS Set Destination File Pathname command) +21-236-13:37:41.274 00 CMH-I:CMD Command SFDU received:<18BBC000004508D10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-236-13:37:41.288 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:37:42.078 00 TLMH-I:STS 58-012-14:19:44.500 ERROR CPU=CPU1 APPNAME=DS EVENT ID=48 Invalid DEST PATH command arg: pathname +21-236-13:37:46.296 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:37:46.298 00 SPR-I:OPRO <*> Passed (1005) - DS Set Path command failed as expected with an invalid file index. +21-236-13:37:46.302 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:37:46.302 00 SPR-I:OPRO <*> Passed (1005) - Event message 48 received +21-236-13:37:46.303 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:37:51.330 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:37:51.330 00 SPR-I:OPRO ; Step 3.36.3: Send the command with a non-existent path. This will +21-236-13:37:51.330 00 SPR-I:OPRO ; work until a message is rcv'd that attempts to create a file. +21-236-13:37:51.330 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:37:51.332 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:37:51.332 00 SPR-I:OPRO ; Setup event 1 with DS DEBUG 47 +21-236-13:37:51.332 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:37:51.333 00 CMH-I:CMD Command is /SCX_CPU1_DS_SETPATH FILEINDEX= 0 (x0) PATHNAME="/ram/waltsDir" ;;; (SCX CPU1 DS Set Destination File Pathname command) +21-236-13:37:51.333 00 CMH-I:CMD Command SFDU received:<18BBC0000045088D000000002F72616D2F77616C7473446972000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-236-13:37:51.344 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:37:52.079 00 TLMH-I:STS 58-012-14:19:54.501 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=47 DEST PATH command: file table index = 0, pathname = '/ram/waltsDir' +21-236-13:37:56.353 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:37:56.355 00 SPR-I:OPRO <*> Passed (1005) - DS Set Path command with a non-existent path sent properly. +21-236-13:37:56.362 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:37:56.364 00 SPR-I:OPRO <*> Passed (1005) - Event message 47 received +21-236-13:37:56.366 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:38:01.405 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:38:01.405 00 SPR-I:OPRO ; Step 3.36.4: Using the TST_DS application, send a message that will +21-236-13:38:01.405 00 SPR-I:OPRO ; cause a file creation error since the path does not exist. +21-236-13:38:01.405 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:38:01.411 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:38:01.413 00 SPR-I:OPRO ; Setup event 1 with TST_DS INFO 5 +21-236-13:38:01.413 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:38:01.423 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:38:01.424 00 SPR-I:OPRO ; Setup event 2 with DS ERROR 15 +21-236-13:38:01.424 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:38:01.428 00 CMH-I:CMD Command is /SCX_CPU1_TST_DS_SENDMESSAGE MSGID= 4096 (x1000) MSGTYPE= 1 (x1) PATTERN= 187 (xBB) ;;; (SCX CPU1 TST_DS Send Message command code) +21-236-13:38:01.428 00 CMH-I:CMD Command SFDU received:<1943C000000903C50000100001BB0000> from gs582cfslab4:SPR +21-236-13:38:01.447 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:38:02.080 00 TLMH-I:STS 58-012-14:20:04.501 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Message Size 116 to MID 0x00001000 +21-236-13:38:02.081 00 TLMH-I:STS 58-012-14:20:04.553 ERROR CPU=CPU1 APPNAME=DS EVENT ID=61 FILE MOVE error: src = '/cf/1980012141916.dat', tgt = '/ram/movedir/1980012141916.dat', result = -1 +21-236-13:38:02.083 00 TLMH-I:STS 58-012-14:20:04.554 ERROR CPU=CPU1 APPNAME=DS EVENT ID=15 FILE CREATE error: result = -1, dest = 0, name = '/ram/waltsDir/1980012142004.dat' +21-236-13:38:02.448 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:38:02.451 00 SPR-I:OPRO <*> Passed - Expected Event Msg 5 rcv'd. +21-236-13:38:02.454 00 CMH-I:CMD Command is /SCX_CPU1_DS_GETFILEINFO ;;; (The Get File Info command) +21-236-13:38:02.454 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-13:38:02.473 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:38:03.080 00 TLMH-I:STS 58-012-14:20:05.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:38:06.477 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:38:06.480 00 SPR-I:OPRO <*> Passed - Expected Event Msg 15 rcv'd. +21-236-13:38:06.480 00 SPR-I:OPRO ==> Downloading '/cf/1980012141916.dat' +21-236-13:38:06.483 00 SPR-I:OPRO ==> FileName Only = '1980012141916.dat' +21-236-13:38:06.484 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/ftp_file.i +21-236-13:38:06.484 00 SPR-I:STS Procedure FTP_FILE started +21-236-13:38:06.635 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-13:38:06.635 00 SPR-I:STS Procedure FTP_FILE completed +21-236-13:38:06.635 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:38:11.639 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:38:11.639 00 SPR-I:OPRO ; Step 3.37: Send the Set Extension command. +21-236-13:38:11.639 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:38:11.641 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:38:11.641 00 SPR-I:OPRO ; Setup event 1 with DS DEBUG 51 +21-236-13:38:11.641 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:38:11.643 00 CMH-I:CMD Command is /SCX_CPU1_DS_SETEXTENSION FILEINDEX= 1 (x1) EXTENSION=".dat" ;;; (SCX CPU1 DS Set Destination File Extension command) +21-236-13:38:11.643 00 CMH-I:CMD Command SFDU received:<18BBC000000D0AC5000100002E64617400000000> from gs582cfslab4:SPR +21-236-13:38:11.655 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:38:12.077 00 TLMH-I:STS 58-012-14:20:14.501 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=51 DEST EXT command: file table index = 1, extension = '.dat' +21-236-13:38:16.670 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:38:16.675 00 SPR-I:OPRO <*> Passed (1004;5013) - DS Set Extension command sent properly. +21-236-13:38:16.701 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:38:16.702 00 SPR-I:OPRO <*> Passed (1004;5013) - Expected Event Msg 51 rcv'd. +21-236-13:38:16.738 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:38:21.742 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:38:21.743 00 SPR-I:OPRO ; Step 3.38: Dump the Destination File Table to verify the change above +21-236-13:38:21.743 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:38:21.744 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/get_tbl_to_cvt.i +21-236-13:38:21.746 00 SPR-I:STS Procedure GET_TBL_TO_CVT started +21-236-13:38:21.766 00 SPR-I:OPRO Sending Command: /SCX_CPU1_TBL_DUMP ACTIVE DTABLENAME="DS.FILE_TBL" DFILENAME="/ram/cpu1_filetbl338" +21-236-13:38:21.768 00 CMH-I:CMD Command is /SCX_CPU1_TBL_DUMP ACTIVE DTABLENAME="DS.FILE_TBL" DFILENAME="/ram/cpu1_filetbl338" ;;; (SCX CPU1 TBL dump table command) +21-236-13:38:21.768 00 CMH-I:CMD Command SFDU received:<1804C000006B0342000144532E46494C455F54424C00000000000000000000000000000000000000000000000000000000002F72616D2F637075315F66696C6574626C3333380000000000000000000000000000000000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-236-13:38:21.771 00 SPR-I:STTE Wait mode - waiting 15 seconds ... +21-236-13:38:22.579 00 TLMH-I:STS 58-012-14:20:25.002 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=14 Successfully dumped Table 'DS.FILE_TBL' to '/ram/cpu1_filetbl338' +21-236-13:38:36.783 00 SPR-I:OPRO +21-236-13:38:36.784 00 SPR-I:OPRO The TBLNAME is: DS.FILE_TBL +21-236-13:38:36.784 00 SPR-I:OPRO The APID is: P0F76 +21-236-13:38:36.784 00 SPR-I:OPRO The CPU is: CPU3 +21-236-13:38:36.784 00 SPR-I:OPRO The IP Address is: 192.168.1.8 +21-236-13:38:36.788 00 SPR-I:OPRO The perl command is: perl /s/opr/accounts/global/tools/ftp.pl RAM:0 cpu1_filetbl338 cpu1_filetbl338 binary 192.168.1.8 +21-236-13:38:36.927 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-13:38:36.928 00 SPR-I:STTE Wait mode - waiting 15 seconds ... +21-236-13:38:51.940 00 SPR-I:OPRO +21-236-13:38:51.982 00 SPR-I:OPRO The unix command is cvt -ws file_list[3958].file_write_time "`date +%y-%j-%T -r /s/opr/accounts/cfs_test/image/cpu1_filetbl338`" +21-236-13:38:51.982 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:38:56.987 00 SPR-I:STS Procedure GET_TBL_TO_CVT completed +21-236-13:38:56.990 00 SPR-I:OPRO <*> Passed (5013) - Table entry indicates the correct extension. +21-236-13:38:56.992 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:38:56.993 00 SPR-I:OPRO ; Step 3.39: Using the TST_DS application, send a message that will +21-236-13:38:56.993 00 SPR-I:OPRO ; create a file using the new naming. +21-236-13:38:56.993 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:38:56.995 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:38:56.995 00 SPR-I:OPRO ; Setup event 1 with TST_DS INFO 7 +21-236-13:38:56.995 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:38:57.016 00 CMH-I:CMD Command is /SCX_CPU1_TST_DS_SENDMESSAGE MSGID= 4097 (x1001) MSGTYPE= 3 (x3) PATTERN= 170 (xAA) ;;; (SCX CPU1 TST_DS Send Message command code) +21-236-13:38:57.016 00 CMH-I:CMD Command SFDU received:<1943C000000903D70000100103AA0000> from gs582cfslab4:SPR +21-236-13:38:57.031 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:38:57.581 00 TLMH-I:STS 58-012-14:21:00.005 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=7 Sent Message Size 1016 to MID 0x00001001 +21-236-13:38:58.032 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:38:58.035 00 SPR-I:OPRO <*> Passed - Expected Event Msg 7 rcv'd. +21-236-13:38:58.037 00 CMH-I:CMD Command is /SCX_CPU1_DS_GETFILEINFO ;;; (The Get File Info command) +21-236-13:38:58.037 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-13:38:58.051 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:38:58.582 00 TLMH-I:STS 58-012-14:21:01.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:39:02.055 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:39:02.058 00 SPR-I:OPRO <*> Passed (3000) - A file was created with name '/ram/ti1980012142100.dat' +21-236-13:39:02.060 00 SPR-I:OPRO <*> Passed (3001) - The file is marked 'OPEN' +21-236-13:39:02.061 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:39:07.065 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:39:07.065 00 SPR-I:OPRO ; Step 3.40: Send the Set Extension command with an invalid length. +21-236-13:39:07.065 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:39:07.070 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:39:07.070 00 SPR-I:OPRO ; Setup event 1 with DS ERROR 52 +21-236-13:39:07.070 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:39:07.074 00 SPR-I:OPRO Sending: 18BBc000000E0A9C +21-236-13:39:07.075 00 CMH-I:CMD Command SFDU received:<18BBC000000E0A9C> from gs582cfslab4:SPR +21-236-13:39:07.090 00 SPR-I:OPRO ; Telemetry update will wait a maximum of 24 seconds +21-236-13:39:07.091 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:39:07.580 00 TLMH-I:STS 58-012-14:21:10.001 ERROR CPU=CPU1 APPNAME=DS EVENT ID=52 Invalid DEST EXT command length: expected = 20, actual = 21 +21-236-13:39:10.094 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:39:10.102 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:39:10.103 00 SPR-I:OPRO <*> Passed (1002;1005) - DS Set Extension Command Rejected Counter incremented. +21-236-13:39:10.105 00 SPR-I:OPRO <*> Passed (1005) - Event message 52 received +21-236-13:39:10.137 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:39:15.145 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:39:15.145 00 SPR-I:OPRO ; Step 3.41: Send the Set Extension command with invalid arguments. +21-236-13:39:15.146 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:39:15.146 00 SPR-I:OPRO ; Step 3.41.1: Send the command with an invalid file index. +21-236-13:39:15.146 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:39:15.151 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:39:15.151 00 SPR-I:OPRO ; Setup event 1 with DS ERROR 52 +21-236-13:39:15.152 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:39:15.153 00 CMH-I:CMD Command is /SCX_CPU1_DS_SETEXTENSION FILEINDEX= 16 (x10) EXTENSION=".icu" ;;; (SCX CPU1 DS Set Destination File Extension command) +21-236-13:39:15.153 00 CMH-I:CMD Command SFDU received:<18BBC000000D0ADA001000002E69637500000000> from gs582cfslab4:SPR +21-236-13:39:15.164 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:39:15.580 00 TLMH-I:STS 58-012-14:21:18.001 ERROR CPU=CPU1 APPNAME=DS EVENT ID=52 Invalid DEST EXT command arg: file table index = 16 +21-236-13:39:20.175 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:39:20.176 00 SPR-I:OPRO <*> Passed (1005) - DS Set Extension command failed as expected with an invalid file index. +21-236-13:39:20.181 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:39:20.182 00 SPR-I:OPRO <*> Passed (1005) - Event message 52 received +21-236-13:39:20.183 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:39:25.212 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:39:25.212 00 SPR-I:OPRO ; Step 3.41.2: Send the command with an empty extension. This command +21-236-13:39:25.212 00 SPR-I:OPRO ; will be accepted. +21-236-13:39:25.212 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:39:25.215 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:39:25.216 00 SPR-I:OPRO ; Setup event 1 with DS DEBUG 51 +21-236-13:39:25.216 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:39:25.218 00 CMH-I:CMD Command is /SCX_CPU1_DS_SETEXTENSION FILEINDEX= 1 (x1) EXTENSION="" ;;; (SCX CPU1 DS Set Destination File Extension command) +21-236-13:39:25.218 00 CMH-I:CMD Command SFDU received:<18BBC000000D0A9A000100000000000000000000> from gs582cfslab4:SPR +21-236-13:39:25.220 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:39:26.074 00 TLMH-I:STS 58-012-14:21:28.501 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=51 DEST EXT command: file table index = 1, extension = '' +21-236-13:39:30.231 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:39:30.232 00 SPR-I:OPRO <*> Passed (1005) - DS Set Extension command passed with a null extension. +21-236-13:39:30.236 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:39:30.237 00 SPR-I:OPRO <*> Passed (1005) - Event message 51 received +21-236-13:39:30.238 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:39:35.267 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:39:35.267 00 SPR-I:OPRO ; Step 3.42: Send the Set Maximum Size command. +21-236-13:39:35.267 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:39:35.269 00 CMH-I:CMD Command is /SCX_CPU1_DS_SETPATH FILEINDEX= 0 (x0) PATHNAME="/ram/" ;;; (SCX CPU1 DS Set Destination File Pathname command) +21-236-13:39:35.269 00 CMH-I:CMD Command SFDU received:<18BBC000004508AF000000002F72616D2F0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-236-13:39:35.282 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:39:36.076 00 TLMH-I:STS 58-012-14:21:38.501 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=47 DEST PATH command: file table index = 0, pathname = '/ram/' +21-236-13:39:40.287 00 CMH-I:CMD Command is /SCX_CPU1_DS_SETFILETYPE FILEINDEX= 0 (x0) FILETYPE= 1 (x1) ;;; (SCX CPU1 DS Set Destination File Type command) +21-236-13:39:40.287 00 CMH-I:CMD Command SFDU received:<18BBC0000005069E00000001> from gs582cfslab4:SPR +21-236-13:39:40.301 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:39:41.080 00 TLMH-I:STS 58-012-14:21:43.501 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=43 DEST TYPE command: file table index = 0, filename type = 1 +21-236-13:39:45.307 00 CMH-I:CMD Command is /SCX_CPU1_DS_ENABLEFILE FILEINDEX= 0 (x0) ;;; (SCX CPU1 DS Set Destination File Type command) +21-236-13:39:45.307 00 CMH-I:CMD Command SFDU received:<18BBC0000005079F00000001> from gs582cfslab4:SPR +21-236-13:39:45.320 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:39:46.073 00 TLMH-I:STS 58-012-14:21:48.501 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=45 DEST STATE command: file table index = 0, file state = 1 +21-236-13:39:50.326 00 CMH-I:CMD Command is /SCX_CPU1_DS_CLOSEFILE FILEINDEX= 0 (x0) ;;; (SCX CPU1 DS Close Destination File command) +21-236-13:39:50.326 00 CMH-I:CMD Command SFDU received:<18BBC00000050E9700000000> from gs582cfslab4:SPR +21-236-13:39:50.349 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:39:51.081 00 TLMH-I:STS 58-012-14:21:53.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=59 DEST CLOSE command: file table index = 0 +21-236-13:39:55.360 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:39:55.361 00 SPR-I:OPRO ; Setup event 1 with DS DEBUG 53 +21-236-13:39:55.361 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:39:55.365 00 CMH-I:CMD Command is /SCX_CPU1_DS_SETMAXFILESIZE FILEINDEX= 0 (x0) MAXSIZE= 5500 (x157C) ;;; (SCX CPU1 DS Set Destination File Maximum Size command) +21-236-13:39:55.365 00 CMH-I:CMD Command SFDU received:<18BBC00000090BF7000000000000157C> from gs582cfslab4:SPR +21-236-13:39:55.379 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:39:56.078 00 TLMH-I:STS 58-012-14:21:58.501 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=53 DEST SIZE command: file table index = 0, size limit = 5500 +21-236-13:39:57.578 00 TLMH-I:STS 58-012-14:22:00.006 ERROR CPU=CPU1 APPNAME=DS EVENT ID=61 FILE MOVE error: src = '/ram/ti1980012142100.dat', tgt = '/ram/movedir/ti1980012142100.dat', result = -1 +21-236-13:40:00.385 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:40:00.387 00 SPR-I:OPRO <*> Passed (1004;5014) - DS Set Maximum Size command sent properly. +21-236-13:40:00.392 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:40:00.392 00 SPR-I:OPRO <*> Passed (1004;5014) - Expected Event Msg 53 rcv'd. +21-236-13:40:00.424 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:40:05.428 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:40:05.429 00 SPR-I:OPRO ; Step 3.43: Dump the Destination File Table to verify the change above +21-236-13:40:05.429 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:40:05.431 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/get_tbl_to_cvt.i +21-236-13:40:05.434 00 SPR-I:STS Procedure GET_TBL_TO_CVT started +21-236-13:40:05.448 00 SPR-I:OPRO Sending Command: /SCX_CPU1_TBL_DUMP ACTIVE DTABLENAME="DS.FILE_TBL" DFILENAME="/ram/cpu1_filetbl343" +21-236-13:40:05.449 00 CMH-I:CMD Command is /SCX_CPU1_TBL_DUMP ACTIVE DTABLENAME="DS.FILE_TBL" DFILENAME="/ram/cpu1_filetbl343" ;;; (SCX CPU1 TBL dump table command) +21-236-13:40:05.449 00 CMH-I:CMD Command SFDU received:<1804C000006B034E000144532E46494C455F54424C00000000000000000000000000000000000000000000000000000000002F72616D2F637075315F66696C6574626C3334330000000000000000000000000000000000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-236-13:40:05.460 00 SPR-I:STTE Wait mode - waiting 15 seconds ... +21-236-13:40:06.076 00 TLMH-I:STS 58-012-14:22:08.502 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=14 Successfully dumped Table 'DS.FILE_TBL' to '/ram/cpu1_filetbl343' +21-236-13:40:20.471 00 SPR-I:OPRO +21-236-13:40:20.471 00 SPR-I:OPRO The TBLNAME is: DS.FILE_TBL +21-236-13:40:20.471 00 SPR-I:OPRO The APID is: P0F76 +21-236-13:40:20.472 00 SPR-I:OPRO The CPU is: CPU3 +21-236-13:40:20.472 00 SPR-I:OPRO The IP Address is: 192.168.1.8 +21-236-13:40:20.474 00 SPR-I:OPRO The perl command is: perl /s/opr/accounts/global/tools/ftp.pl RAM:0 cpu1_filetbl343 cpu1_filetbl343 binary 192.168.1.8 +21-236-13:40:20.654 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-13:40:20.655 00 SPR-I:STTE Wait mode - waiting 15 seconds ... +21-236-13:40:35.664 00 SPR-I:OPRO +21-236-13:40:35.681 00 SPR-I:OPRO The unix command is cvt -ws file_list[3958].file_write_time "`date +%y-%j-%T -r /s/opr/accounts/cfs_test/image/cpu1_filetbl343`" +21-236-13:40:35.681 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:40:40.686 00 SPR-I:STS Procedure GET_TBL_TO_CVT completed +21-236-13:40:40.687 00 SPR-I:OPRO <*> Passed (5014) - Table entry indicates the correct maximum size. +21-236-13:40:40.688 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:40:40.689 00 SPR-I:OPRO ; Step 3.44: Using the TST_DS application, send 6 messages that will +21-236-13:40:40.689 00 SPR-I:OPRO ; create two files. The first 5 messages should be stored in the first +21-236-13:40:40.689 00 SPR-I:OPRO ; file. The 6th message should be stored in the currently opened file. +21-236-13:40:40.689 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:40:40.691 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:40:40.691 00 SPR-I:OPRO ; Setup event 1 with TST_DS INFO 7 +21-236-13:40:40.706 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:40:40.707 00 CMH-I:CMD Command is /SCX_CPU1_TST_DS_SENDMESSAGE MSGID= 4096 (x1000) MSGTYPE= 3 (x3) PATTERN= 170 (xAA) ;;; (SCX CPU1 TST_DS Send Message command code) +21-236-13:40:40.708 00 CMH-I:CMD Command SFDU received:<1943C000000903D60000100003AA0000> from gs582cfslab4:SPR +21-236-13:40:40.719 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:40:41.582 00 TLMH-I:STS 58-012-14:22:44.005 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=7 Sent Message Size 1016 to MID 0x00001000 +21-236-13:40:45.725 00 CMH-I:CMD Command is /SCX_CPU1_DS_GETFILEINFO ;;; (The Get File Info command) +21-236-13:40:45.725 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-13:40:45.750 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:40:46.576 00 TLMH-I:STS 58-012-14:22:49.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:40:49.755 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:40:49.756 00 SPR-I:OPRO <*> Passed (3000) - A file was created with name '/ram/00000100.dat' +21-236-13:40:49.756 00 SPR-I:OPRO <*> Passed (3001) - The file is marked 'OPEN' +21-236-13:40:49.785 00 CMH-I:CMD Command is /SCX_CPU1_TST_DS_SENDMESSAGE MSGID= 4096 (x1000) MSGTYPE= 3 (x3) PATTERN= 85 (x55) ;;; (SCX CPU1 TST_DS Send Message command code) +21-236-13:40:49.785 00 CMH-I:CMD Command SFDU received:<1943C000000903290000100003550000> from gs582cfslab4:SPR +21-236-13:40:49.796 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:40:50.577 00 TLMH-I:STS 58-012-14:22:53.002 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=7 Sent Message Size 1016 to MID 0x00001000 +21-236-13:40:54.800 00 SPR-I:OPRO <*> Passed - The file write and passed packet counters are correct. +21-236-13:40:54.801 00 CMH-I:CMD Command is /SCX_CPU1_TST_DS_SENDMESSAGE MSGID= 4096 (x1000) MSGTYPE= 3 (x3) PATTERN= 255 (xFF) ;;; (SCX CPU1 TST_DS Send Message command code) +21-236-13:40:54.802 00 CMH-I:CMD Command SFDU received:<1943C000000903830000100003FF0000> from gs582cfslab4:SPR +21-236-13:40:54.815 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:40:55.580 00 TLMH-I:STS 58-012-14:22:58.001 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=7 Sent Message Size 1016 to MID 0x00001000 +21-236-13:40:59.821 00 CMH-I:CMD Command is /SCX_CPU1_TST_DS_SENDMESSAGE MSGID= 4096 (x1000) MSGTYPE= 3 (x3) PATTERN= 165 (xA5) ;;; (SCX CPU1 TST_DS Send Message command code) +21-236-13:40:59.821 00 CMH-I:CMD Command SFDU received:<1943C000000903D90000100003A50000> from gs582cfslab4:SPR +21-236-13:40:59.834 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:41:00.578 00 TLMH-I:STS 58-012-14:23:03.001 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=7 Sent Message Size 1016 to MID 0x00001000 +21-236-13:41:04.838 00 CMH-I:CMD Command is /SCX_CPU1_TST_DS_SENDMESSAGE MSGID= 4096 (x1000) MSGTYPE= 3 (x3) PATTERN= 187 (xBB) ;;; (SCX CPU1 TST_DS Send Message command code) +21-236-13:41:04.838 00 CMH-I:CMD Command SFDU received:<1943C000000903C70000100003BB0000> from gs582cfslab4:SPR +21-236-13:41:04.850 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:41:05.580 00 TLMH-I:STS 58-012-14:23:08.004 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=7 Sent Message Size 1016 to MID 0x00001000 +21-236-13:41:09.855 00 CMH-I:CMD Command is /SCX_CPU1_TST_DS_SENDMESSAGE MSGID= 4096 (x1000) MSGTYPE= 3 (x3) PATTERN= 90 (x5A) ;;; (SCX CPU1 TST_DS Send Message command code) +21-236-13:41:09.855 00 CMH-I:CMD Command SFDU received:<1943C0000009032600001000035A0000> from gs582cfslab4:SPR +21-236-13:41:09.868 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:41:10.573 00 TLMH-I:STS 58-012-14:23:13.004 ERROR CPU=CPU1 APPNAME=DS EVENT ID=61 FILE MOVE error: src = '/ram/00000100.dat', tgt = '/ram/movedir/00000100.dat', result = -1 +21-236-13:41:10.574 00 TLMH-I:STS 58-012-14:23:13.006 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=7 Sent Message Size 1016 to MID 0x00001000 +21-236-13:41:14.874 00 CMH-I:CMD Command is /SCX_CPU1_DS_GETFILEINFO ;;; (The Get File Info command) +21-236-13:41:14.875 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-13:41:14.902 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:41:15.579 00 TLMH-I:STS 58-012-14:23:18.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:41:17.906 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:41:17.910 00 SPR-I:OPRO <*> Passed (3000) - A file was created with name '/ram/00000101.dat' +21-236-13:41:17.912 00 SPR-I:OPRO <*> Passed (3001) - The file is marked 'OPEN' +21-236-13:41:17.913 00 SPR-I:OPRO <*> Passed (3001.1) - A new file was opened +21-236-13:41:17.936 00 SPR-I:OPRO ==> Downloading '/ram/00000100.dat' +21-236-13:41:17.937 00 SPR-I:OPRO ==> FileName Only = '00000100.dat' +21-236-13:41:17.937 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/ftp_file.i +21-236-13:41:17.937 00 SPR-I:STS Procedure FTP_FILE started +21-236-13:41:18.040 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-13:41:18.040 00 SPR-I:STS Procedure FTP_FILE completed +21-236-13:41:18.043 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:41:23.047 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:41:23.047 00 SPR-I:OPRO ; Step 3.45: Send the Set Maximum Size command with an invalid length. +21-236-13:41:23.048 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:41:23.055 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:41:23.056 00 SPR-I:OPRO ; Setup event 1 with DS ERROR 54 +21-236-13:41:23.056 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:41:23.074 00 SPR-I:OPRO Sending: 18BBc000000A0B9C +21-236-13:41:23.077 00 CMH-I:CMD Command SFDU received:<18BBC000000A0B9C> from gs582cfslab4:SPR +21-236-13:41:23.098 00 SPR-I:OPRO ; Telemetry update will wait a maximum of 24 seconds +21-236-13:41:23.098 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:41:23.581 00 TLMH-I:STS 58-012-14:23:26.001 ERROR CPU=CPU1 APPNAME=DS EVENT ID=54 Invalid DEST SIZE command length: expected = 16, actual = 17 +21-236-13:41:26.102 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:41:26.120 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:41:26.122 00 SPR-I:OPRO <*> Passed (1002;1005) - DS Set Maximum Size Command Rejected Counter incremented. +21-236-13:41:26.133 00 SPR-I:OPRO <*> Passed (1005) - Event message 54 received +21-236-13:41:26.174 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:41:31.178 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:41:31.178 00 SPR-I:OPRO ; Step 3.46: Send the Set Maximum Age command. +21-236-13:41:31.178 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:41:31.186 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:41:31.186 00 SPR-I:OPRO ; Setup event 1 with DS DEBUG 55 +21-236-13:41:31.186 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:41:31.190 00 CMH-I:CMD Command is /SCX_CPU1_DS_SETMAXFILEAGE FILEINDEX= 1 (x1) MAXAGE= 90 (x5A) ;;; (SCX CPU1 DS Set Destination File Maximum Age command) +21-236-13:41:31.190 00 CMH-I:CMD Command SFDU received:<18BBC00000090CC2000100000000005A> from gs582cfslab4:SPR +21-236-13:41:31.204 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:41:32.073 00 TLMH-I:STS 58-012-14:23:34.501 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=55 DEST AGE command: file table index = 1, age limit = 90 +21-236-13:41:36.219 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:41:36.223 00 SPR-I:OPRO <*> Passed (1004;5015) - DS Set Maximum Age command sent properly. +21-236-13:41:36.243 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:41:36.245 00 SPR-I:OPRO <*> Passed (1004;5015) - Expected Event Msg 55 rcv'd. +21-236-13:41:36.286 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:41:41.290 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:41:41.290 00 SPR-I:OPRO ; Step 3.47: Dump the Destination File Table to verify the change above +21-236-13:41:41.290 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:41:41.291 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/get_tbl_to_cvt.i +21-236-13:41:41.293 00 SPR-I:STS Procedure GET_TBL_TO_CVT started +21-236-13:41:41.300 00 SPR-I:OPRO Sending Command: /SCX_CPU1_TBL_DUMP ACTIVE DTABLENAME="DS.FILE_TBL" DFILENAME="/ram/cpu1_filetbl347" +21-236-13:41:41.301 00 CMH-I:CMD Command is /SCX_CPU1_TBL_DUMP ACTIVE DTABLENAME="DS.FILE_TBL" DFILENAME="/ram/cpu1_filetbl347" ;;; (SCX CPU1 TBL dump table command) +21-236-13:41:41.301 00 CMH-I:CMD Command SFDU received:<1804C000006B034A000144532E46494C455F54424C00000000000000000000000000000000000000000000000000000000002F72616D2F637075315F66696C6574626C3334370000000000000000000000000000000000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-236-13:41:41.312 00 SPR-I:STTE Wait mode - waiting 15 seconds ... +21-236-13:41:42.077 00 TLMH-I:STS 58-012-14:23:44.502 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=14 Successfully dumped Table 'DS.FILE_TBL' to '/ram/cpu1_filetbl347' +21-236-13:41:56.325 00 SPR-I:OPRO +21-236-13:41:56.325 00 SPR-I:OPRO The TBLNAME is: DS.FILE_TBL +21-236-13:41:56.325 00 SPR-I:OPRO The APID is: P0F76 +21-236-13:41:56.325 00 SPR-I:OPRO The CPU is: CPU3 +21-236-13:41:56.325 00 SPR-I:OPRO The IP Address is: 192.168.1.8 +21-236-13:41:56.327 00 SPR-I:OPRO The perl command is: perl /s/opr/accounts/global/tools/ftp.pl RAM:0 cpu1_filetbl347 cpu1_filetbl347 binary 192.168.1.8 +21-236-13:41:56.463 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-13:41:56.463 00 SPR-I:STTE Wait mode - waiting 15 seconds ... +21-236-13:42:11.473 00 SPR-I:OPRO +21-236-13:42:11.487 00 SPR-I:OPRO The unix command is cvt -ws file_list[3958].file_write_time "`date +%y-%j-%T -r /s/opr/accounts/cfs_test/image/cpu1_filetbl347`" +21-236-13:42:11.487 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:42:16.491 00 SPR-I:STS Procedure GET_TBL_TO_CVT completed +21-236-13:42:16.494 00 SPR-I:OPRO <*> Passed (5015) - Table entry indicates the correct maximum age. +21-236-13:42:16.499 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:42:16.500 00 SPR-I:OPRO ; Step 3.48: Using the TST_DS application, send a message that will +21-236-13:42:16.500 00 SPR-I:OPRO ; create a new file using the destination modified above. +21-236-13:42:16.500 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:42:16.508 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:42:16.508 00 SPR-I:OPRO ; Setup event 1 with TST_DS INFO 7 +21-236-13:42:16.508 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:42:16.546 00 CMH-I:CMD Command is /SCX_CPU1_TST_DS_SENDMESSAGE MSGID= 4097 (x1001) MSGTYPE= 3 (x3) PATTERN= 170 (xAA) ;;; (SCX CPU1 TST_DS Send Message command code) +21-236-13:42:16.546 00 CMH-I:CMD Command SFDU received:<1943C000000903D70000100103AA0000> from gs582cfslab4:SPR +21-236-13:42:16.547 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:42:17.075 00 TLMH-I:STS 58-012-14:24:19.502 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=7 Sent Message Size 1016 to MID 0x00001001 +21-236-13:42:21.551 00 CMH-I:CMD Command is /SCX_CPU1_DS_GETFILEINFO ;;; (The Get File Info command) +21-236-13:42:21.551 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-13:42:21.565 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:42:22.076 00 TLMH-I:STS 58-012-14:24:24.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:42:26.570 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:42:26.573 00 SPR-I:OPRO <*> Passed (3000) - A file was created with name '/ram/ti1980012142419' +21-236-13:42:26.577 00 SPR-I:OPRO <*> Passed (3001) - The file is marked 'OPEN' +21-236-13:42:26.580 00 SPR-I:OPRO ==> Downloading '/ram/ti1980012142100.dat' +21-236-13:42:26.629 00 SPR-I:OPRO ==> FileName Only = 'ti1980012142100.dat' +21-236-13:42:26.629 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/ftp_file.i +21-236-13:42:26.629 00 SPR-I:STS Procedure FTP_FILE started +21-236-13:42:26.732 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-13:42:26.732 00 SPR-I:STS Procedure FTP_FILE completed +21-236-13:42:26.733 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:42:31.736 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:42:31.736 00 SPR-I:OPRO ; Step 3.49: Wait for the file created above to exceed its maximum age. +21-236-13:42:31.736 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:42:31.740 00 CMH-I:CMD Command is /SCX_CPU1_DS_GETFILEINFO ;;; (The Get File Info command) +21-236-13:42:31.740 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-13:42:31.762 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:42:32.574 00 TLMH-I:STS 58-012-14:24:35.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:42:33.765 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:42:33.766 00 SPR-I:OPRO new file age = 16 +21-236-13:42:33.768 00 SPR-I:OPRO timeout calculation = 74 +21-236-13:42:33.795 00 CMH-I:CMD Command is /SCX_CPU1_DS_GETFILEINFO ;;; (The Get File Info command) +21-236-13:42:33.795 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-13:42:33.809 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:42:34.571 00 TLMH-I:STS 58-012-14:24:37.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:42:37.812 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:42:37.813 00 SPR-I:OPRO new file age = 20 +21-236-13:42:37.816 00 SPR-I:OPRO timeout calculation = 70 +21-236-13:42:37.851 00 CMH-I:CMD Command is /SCX_CPU1_DS_GETFILEINFO ;;; (The Get File Info command) +21-236-13:42:37.851 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-13:42:37.865 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:42:38.572 00 TLMH-I:STS 58-012-14:24:41.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:42:41.870 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:42:41.874 00 SPR-I:OPRO new file age = 24 +21-236-13:42:41.885 00 SPR-I:OPRO timeout calculation = 66 +21-236-13:42:41.936 00 CMH-I:CMD Command is /SCX_CPU1_DS_GETFILEINFO ;;; (The Get File Info command) +21-236-13:42:41.936 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-13:42:41.950 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:42:42.578 00 TLMH-I:STS 58-012-14:24:45.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:42:45.955 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:42:45.958 00 SPR-I:OPRO new file age = 28 +21-236-13:42:45.967 00 SPR-I:OPRO timeout calculation = 62 +21-236-13:42:46.016 00 CMH-I:CMD Command is /SCX_CPU1_DS_GETFILEINFO ;;; (The Get File Info command) +21-236-13:42:46.016 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-13:42:46.034 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:42:46.573 00 TLMH-I:STS 58-012-14:24:49.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:42:50.037 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:42:50.040 00 SPR-I:OPRO new file age = 32 +21-236-13:42:50.049 00 SPR-I:OPRO timeout calculation = 58 +21-236-13:42:50.094 00 CMH-I:CMD Command is /SCX_CPU1_DS_GETFILEINFO ;;; (The Get File Info command) +21-236-13:42:50.094 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-13:42:50.098 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:42:50.571 00 TLMH-I:STS 58-012-14:24:53.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:42:54.103 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:42:54.107 00 SPR-I:OPRO new file age = 36 +21-236-13:42:54.118 00 SPR-I:OPRO timeout calculation = 54 +21-236-13:42:54.169 00 CMH-I:CMD Command is /SCX_CPU1_DS_GETFILEINFO ;;; (The Get File Info command) +21-236-13:42:54.169 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-13:42:54.183 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:42:55.078 00 TLMH-I:STS 58-012-14:24:57.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:42:58.187 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:42:58.191 00 SPR-I:OPRO new file age = 40 +21-236-13:42:58.195 00 SPR-I:OPRO timeout calculation = 50 +21-236-13:42:58.228 00 CMH-I:CMD Command is /SCX_CPU1_DS_GETFILEINFO ;;; (The Get File Info command) +21-236-13:42:58.229 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-13:42:58.244 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:42:59.080 00 TLMH-I:STS 58-012-14:25:01.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:43:02.248 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:43:02.251 00 SPR-I:OPRO new file age = 44 +21-236-13:43:02.255 00 SPR-I:OPRO timeout calculation = 46 +21-236-13:43:02.279 00 CMH-I:CMD Command is /SCX_CPU1_DS_GETFILEINFO ;;; (The Get File Info command) +21-236-13:43:02.279 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-13:43:02.294 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:43:03.073 00 TLMH-I:STS 58-012-14:25:05.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:43:06.298 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:43:06.301 00 SPR-I:OPRO new file age = 48 +21-236-13:43:06.310 00 SPR-I:OPRO timeout calculation = 42 +21-236-13:43:06.364 00 CMH-I:CMD Command is /SCX_CPU1_DS_GETFILEINFO ;;; (The Get File Info command) +21-236-13:43:06.364 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-13:43:06.368 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:43:07.076 00 TLMH-I:STS 58-012-14:25:09.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:43:10.373 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:43:10.376 00 SPR-I:OPRO new file age = 52 +21-236-13:43:10.380 00 SPR-I:OPRO timeout calculation = 38 +21-236-13:43:10.403 00 CMH-I:CMD Command is /SCX_CPU1_DS_GETFILEINFO ;;; (The Get File Info command) +21-236-13:43:10.403 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-13:43:10.417 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:43:11.081 00 TLMH-I:STS 58-012-14:25:13.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:43:14.422 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:43:14.425 00 SPR-I:OPRO new file age = 56 +21-236-13:43:14.428 00 SPR-I:OPRO timeout calculation = 34 +21-236-13:43:14.458 00 CMH-I:CMD Command is /SCX_CPU1_DS_GETFILEINFO ;;; (The Get File Info command) +21-236-13:43:14.459 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-13:43:14.473 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:43:15.073 00 TLMH-I:STS 58-012-14:25:17.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:43:18.478 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:43:18.481 00 SPR-I:OPRO new file age = 60 +21-236-13:43:18.492 00 SPR-I:OPRO timeout calculation = 30 +21-236-13:43:18.540 00 CMH-I:CMD Command is /SCX_CPU1_DS_GETFILEINFO ;;; (The Get File Info command) +21-236-13:43:18.540 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-13:43:18.554 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:43:19.076 00 TLMH-I:STS 58-012-14:25:21.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:43:22.558 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:43:22.562 00 SPR-I:OPRO new file age = 64 +21-236-13:43:22.579 00 SPR-I:OPRO timeout calculation = 26 +21-236-13:43:22.613 00 CMH-I:CMD Command is /SCX_CPU1_DS_GETFILEINFO ;;; (The Get File Info command) +21-236-13:43:22.613 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-13:43:22.617 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:43:23.078 00 TLMH-I:STS 58-012-14:25:25.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:43:25.620 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:43:25.622 00 SPR-I:OPRO new file age = 68 +21-236-13:43:25.630 00 SPR-I:OPRO timeout calculation = 22 +21-236-13:43:25.677 00 CMH-I:CMD Command is /SCX_CPU1_DS_GETFILEINFO ;;; (The Get File Info command) +21-236-13:43:25.677 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-13:43:25.691 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:43:26.576 00 TLMH-I:STS 58-012-14:25:29.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:43:29.695 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:43:29.698 00 SPR-I:OPRO new file age = 72 +21-236-13:43:29.705 00 SPR-I:OPRO timeout calculation = 18 +21-236-13:43:29.739 00 CMH-I:CMD Command is /SCX_CPU1_DS_GETFILEINFO ;;; (The Get File Info command) +21-236-13:43:29.739 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-13:43:29.753 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:43:30.576 00 TLMH-I:STS 58-012-14:25:33.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:43:33.757 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:43:33.761 00 SPR-I:OPRO new file age = 76 +21-236-13:43:33.771 00 SPR-I:OPRO timeout calculation = 14 +21-236-13:43:33.821 00 CMH-I:CMD Command is /SCX_CPU1_DS_GETFILEINFO ;;; (The Get File Info command) +21-236-13:43:33.821 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-13:43:33.835 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:43:34.579 00 TLMH-I:STS 58-012-14:25:37.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:43:37.839 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:43:37.841 00 SPR-I:OPRO new file age = 80 +21-236-13:43:37.845 00 SPR-I:OPRO timeout calculation = 10 +21-236-13:43:37.880 00 CMH-I:CMD Command is /SCX_CPU1_DS_GETFILEINFO ;;; (The Get File Info command) +21-236-13:43:37.880 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-13:43:37.885 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:43:38.583 00 TLMH-I:STS 58-012-14:25:41.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:43:41.889 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:43:41.893 00 SPR-I:OPRO new file age = 84 +21-236-13:43:41.902 00 SPR-I:OPRO timeout calculation = 6 +21-236-13:43:41.956 00 CMH-I:CMD Command is /SCX_CPU1_DS_GETFILEINFO ;;; (The Get File Info command) +21-236-13:43:41.956 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-13:43:41.970 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:43:42.586 00 TLMH-I:STS 58-012-14:25:45.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:43:45.577 00 TLMH-I:STS 58-012-14:25:48.006 ERROR CPU=CPU1 APPNAME=DS EVENT ID=61 FILE MOVE error: src = '/ram/ti1980012142419', tgt = '/ram/movedir/ti1980012142419', result = -1 +21-236-13:43:45.974 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:43:45.977 00 SPR-I:OPRO new file age = 88 +21-236-13:43:45.988 00 SPR-I:OPRO timeout calculation = 2 +21-236-13:43:46.037 00 CMH-I:CMD Command is /SCX_CPU1_DS_GETFILEINFO ;;; (The Get File Info command) +21-236-13:43:46.037 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-13:43:46.051 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:43:46.572 00 TLMH-I:STS 58-012-14:25:49.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:43:50.055 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:43:50.056 00 SPR-I:OPRO new file age = 0 +21-236-13:43:50.059 00 SPR-I:OPRO timeout calculation = 90 +21-236-13:43:50.060 00 SPR-I:OPRO HK reports the file is no longer open +21-236-13:43:50.087 00 SPR-I:OPRO ==> Downloading '/ram/ti1980012142419' +21-236-13:43:50.088 00 SPR-I:OPRO ==> FileName Only = 'ti1980012142419' +21-236-13:43:50.088 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/ftp_file.i +21-236-13:43:50.088 00 SPR-I:STS Procedure FTP_FILE started +21-236-13:43:50.185 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-13:43:50.185 00 SPR-I:STS Procedure FTP_FILE completed +21-236-13:43:50.186 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:43:55.190 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:43:55.190 00 SPR-I:OPRO ; Step 3.50: Send the Set Maximum Age command with an invalid length. +21-236-13:43:55.190 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:43:55.195 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:43:55.195 00 SPR-I:OPRO ; Setup event 1 with DS ERROR 56 +21-236-13:43:55.195 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:43:55.200 00 SPR-I:OPRO Sending: 18BBc000000A0C9C +21-236-13:43:55.201 00 CMH-I:CMD Command SFDU received:<18BBC000000A0C9C> from gs582cfslab4:SPR +21-236-13:43:55.218 00 SPR-I:OPRO ; Telemetry update will wait a maximum of 24 seconds +21-236-13:43:55.219 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:43:56.075 00 TLMH-I:STS 58-012-14:25:58.500 ERROR CPU=CPU1 APPNAME=DS EVENT ID=56 Invalid DEST AGE command length: expected = 16, actual = 17 +21-236-13:43:58.222 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:43:58.238 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:43:58.241 00 SPR-I:OPRO <*> Passed (1002;1005) - DS Set Maximum Age Command Rejected Counter incremented. +21-236-13:43:58.251 00 SPR-I:OPRO <*> Passed (1005) - Event message 56 received +21-236-13:43:58.296 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:44:03.300 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:44:03.300 00 SPR-I:OPRO ; Step 3.51: Send the Disable command for the DS Application. +21-236-13:44:03.300 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:44:03.305 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:44:03.306 00 SPR-I:OPRO ; Setup event 1 with DS DEBUG 35 +21-236-13:44:03.306 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:44:03.306 00 CMH-I:CMD Command is /SCX_CPU1_DS_DISABLE ;;; (SCX CPU1 DS Disable Application State command) +21-236-13:44:03.306 00 CMH-I:CMD Command SFDU received:<18BBC0000005029B00000000> from gs582cfslab4:SPR +21-236-13:44:03.317 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:44:04.075 00 TLMH-I:STS 58-012-14:26:06.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=35 APP STATE command: state = 0 +21-236-13:44:08.332 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:44:08.335 00 SPR-I:OPRO <*> Passed (1004;5000) - DS Disable command sent properly. +21-236-13:44:08.357 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:44:08.359 00 SPR-I:OPRO <*> Passed (1004;5000) - Expected Event Msg 35 rcv'd. +21-236-13:44:08.400 00 SPR-I:OPRO <*> Passed (5000) - Housekeeping indicates DS is disabled. +21-236-13:44:08.401 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:44:13.405 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:44:13.405 00 SPR-I:OPRO ; Step 3.52: Using the TST_DS application, send several messages to the +21-236-13:44:13.406 00 SPR-I:OPRO ; DS application. +21-236-13:44:13.406 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:44:13.411 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:44:13.411 00 SPR-I:OPRO ; Setup event 1 with TST_DS INFO 7 +21-236-13:44:13.411 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:44:13.413 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:44:13.413 00 SPR-I:OPRO ; Setup event 2 with TST_DS INFO 5 +21-236-13:44:13.413 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:44:13.415 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:44:13.415 00 SPR-I:OPRO ; Setup event 3 with TST_DS INFO 6 +21-236-13:44:13.416 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:44:13.417 00 CMH-I:CMD Command is /SCX_CPU1_TST_DS_SENDMESSAGE MSGID= 4096 (x1000) MSGTYPE= 3 (x3) PATTERN= 170 (xAA) ;;; (SCX CPU1 TST_DS Send Message command code) +21-236-13:44:13.417 00 CMH-I:CMD Command SFDU received:<1943C000000903D60000100003AA0000> from gs582cfslab4:SPR +21-236-13:44:13.428 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:44:14.072 00 TLMH-I:STS 58-012-14:26:16.500 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=7 Sent Message Size 1016 to MID 0x00001000 +21-236-13:44:18.433 00 CMH-I:CMD Command is /SCX_CPU1_TST_DS_SENDMESSAGE MSGID= 4096 (x1000) MSGTYPE= 1 (x1) PATTERN= 85 (x55) ;;; (SCX CPU1 TST_DS Send Message command code) +21-236-13:44:18.433 00 CMH-I:CMD Command SFDU received:<1943C0000009032B0000100001550000> from gs582cfslab4:SPR +21-236-13:44:18.446 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:44:19.077 00 TLMH-I:STS 58-012-14:26:21.500 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Message Size 116 to MID 0x00001000 +21-236-13:44:23.452 00 CMH-I:CMD Command is /SCX_CPU1_TST_DS_SENDMESSAGE MSGID= 4096 (x1000) MSGTYPE= 2 (x2) PATTERN= 187 (xBB) ;;; (SCX CPU1 TST_DS Send Message command code) +21-236-13:44:23.452 00 CMH-I:CMD Command SFDU received:<1943C000000903C60000100002BB0000> from gs582cfslab4:SPR +21-236-13:44:23.465 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:44:24.073 00 TLMH-I:STS 58-012-14:26:26.500 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=6 Sent Message Size 516 to MID 0x00001000 +21-236-13:44:28.470 00 SPR-I:OPRO <*> Passed (8000) - The file stats remained the same and the Disabled Pkt Counter incremented as expected. +21-236-13:44:28.474 00 SPR-I:OPRO <*> Passed - Expected Event Msgs were generated. +21-236-13:44:28.475 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:44:28.475 00 SPR-I:OPRO ; Step 3.53: Send the Disable command with an invalid length. +21-236-13:44:28.475 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:44:28.476 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:44:28.477 00 SPR-I:OPRO ; Setup event 1 with DS ERROR 36 +21-236-13:44:28.477 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:44:28.489 00 SPR-I:OPRO Sending: 18BBc0000004029C +21-236-13:44:28.491 00 CMH-I:CMD Command SFDU received:<18BBC0000004029C> from gs582cfslab4:SPR +21-236-13:44:28.505 00 SPR-I:OPRO ; Telemetry update will wait a maximum of 24 seconds +21-236-13:44:28.505 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:44:29.079 00 TLMH-I:STS 58-012-14:26:31.500 ERROR CPU=CPU1 APPNAME=DS EVENT ID=36 Invalid APP STATE command length: expected = 12, actual = 11 +21-236-13:44:30.508 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:44:30.516 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:44:30.517 00 SPR-I:OPRO <*> Passed (1002;1005) - DS Disable Command Rejected Counter incremented. +21-236-13:44:30.519 00 SPR-I:OPRO <*> Passed (1005) - Event message 36 received +21-236-13:44:30.553 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:44:35.556 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:44:35.556 00 SPR-I:OPRO ; Step 3.54: Send the Enable command for the DS Application. +21-236-13:44:35.556 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:44:35.558 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:44:35.558 00 SPR-I:OPRO ; Setup event 1 with DS DEBUG 35 +21-236-13:44:35.558 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:44:35.559 00 CMH-I:CMD Command is /SCX_CPU1_DS_ENABLE ;;; (SCX CPU1 DS Enable Application State command) +21-236-13:44:35.559 00 CMH-I:CMD Command SFDU received:<18BBC0000005029A00010000> from gs582cfslab4:SPR +21-236-13:44:35.570 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:44:36.074 00 TLMH-I:STS 58-012-14:26:38.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=35 APP STATE command: state = 1 +21-236-13:44:40.585 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:44:40.587 00 SPR-I:OPRO <*> Passed (1004;5001) - DS Enable command sent properly. +21-236-13:44:40.592 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:44:40.592 00 SPR-I:OPRO <*> Passed (1004;5001) - Expected Event Msg 35 rcv'd. +21-236-13:44:40.624 00 SPR-I:OPRO <*> Passed (5001) - Housekeeping indicates DS is enabled. +21-236-13:44:40.625 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:44:45.628 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:44:45.628 00 SPR-I:OPRO ; Step 3.55: Using the TST_DS application, send several messages to the +21-236-13:44:45.628 00 SPR-I:OPRO ; DS application. These message should be written to the open file. +21-236-13:44:45.628 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:44:45.630 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:44:45.630 00 SPR-I:OPRO ; Setup event 1 with TST_DS INFO 7 +21-236-13:44:45.630 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:44:45.632 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:44:45.632 00 SPR-I:OPRO ; Setup event 2 with TST_DS INFO 5 +21-236-13:44:45.632 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:44:45.635 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:44:45.635 00 SPR-I:OPRO ; Setup event 3 with TST_DS INFO 6 +21-236-13:44:45.635 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:44:45.636 00 CMH-I:CMD Command is /SCX_CPU1_TST_DS_SENDMESSAGE MSGID= 4096 (x1000) MSGTYPE= 3 (x3) PATTERN= 170 (xAA) ;;; (SCX CPU1 TST_DS Send Message command code) +21-236-13:44:45.636 00 CMH-I:CMD Command SFDU received:<1943C000000903D60000100003AA0000> from gs582cfslab4:SPR +21-236-13:44:45.647 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:44:46.078 00 TLMH-I:STS 58-012-14:26:48.501 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=7 Sent Message Size 1016 to MID 0x00001000 +21-236-13:44:50.652 00 CMH-I:CMD Command is /SCX_CPU1_TST_DS_SENDMESSAGE MSGID= 4096 (x1000) MSGTYPE= 1 (x1) PATTERN= 85 (x55) ;;; (SCX CPU1 TST_DS Send Message command code) +21-236-13:44:50.652 00 CMH-I:CMD Command SFDU received:<1943C0000009032B0000100001550000> from gs582cfslab4:SPR +21-236-13:44:50.663 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:44:51.077 00 TLMH-I:STS 58-012-14:26:53.500 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Message Size 116 to MID 0x00001000 +21-236-13:44:55.668 00 CMH-I:CMD Command is /SCX_CPU1_TST_DS_SENDMESSAGE MSGID= 4096 (x1000) MSGTYPE= 2 (x2) PATTERN= 187 (xBB) ;;; (SCX CPU1 TST_DS Send Message command code) +21-236-13:44:55.668 00 CMH-I:CMD Command SFDU received:<1943C000000903C60000100002BB0000> from gs582cfslab4:SPR +21-236-13:44:55.680 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:44:56.575 00 TLMH-I:STS 58-012-14:26:59.001 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=6 Sent Message Size 516 to MID 0x00001000 +21-236-13:45:00.684 00 CMH-I:CMD Command is /SCX_CPU1_DS_GETFILEINFO ;;; (The Get File Info command) +21-236-13:45:00.684 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-13:45:00.698 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:45:01.577 00 TLMH-I:STS 58-012-14:27:04.003 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:45:01.698 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:45:01.699 00 SPR-I:OPRO <*> Passed (8000) - The file stats were updated and the Passed Pkt Counter incremented as expected. +21-236-13:45:01.700 00 SPR-I:OPRO <*> Passed - Expected Event Msgs were generated. +21-236-13:45:01.701 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:45:06.704 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:45:06.704 00 SPR-I:OPRO ; Step 3.56: Send the Enable command with an invalid length. +21-236-13:45:06.704 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:45:06.705 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:45:06.705 00 SPR-I:OPRO ; Setup event 1 with DS ERROR 36 +21-236-13:45:06.705 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:45:06.709 00 SPR-I:OPRO Sending: 18BBc0000002029C +21-236-13:45:06.710 00 CMH-I:CMD Command SFDU received:<18BBC0000002029C> from gs582cfslab4:SPR +21-236-13:45:06.723 00 SPR-I:OPRO ; Telemetry update will wait a maximum of 24 seconds +21-236-13:45:06.724 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:45:07.574 00 TLMH-I:STS 58-012-14:27:10.001 ERROR CPU=CPU1 APPNAME=DS EVENT ID=36 Invalid APP STATE command length: expected = 12, actual = 9 +21-236-13:45:09.726 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:45:09.731 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:45:09.731 00 SPR-I:OPRO <*> Passed (1002;1005) - DS Disable Command Rejected Counter incremented. +21-236-13:45:09.734 00 SPR-I:OPRO <*> Passed (1005) - Event message 36 received +21-236-13:45:09.770 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:45:14.772 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:45:14.773 00 SPR-I:OPRO ; Step 3.57: Send the Enable/Disable command with an invalid state. +21-236-13:45:14.773 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:45:14.780 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:45:14.780 00 SPR-I:OPRO ; Setup event 1 with DS ERROR 36 +21-236-13:45:14.780 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:45:14.796 00 SPR-I:OPRO Sending: 18BBc0000003029E0002 +21-236-13:45:14.798 00 CMH-I:CMD Command SFDU received:<18BBC0000003029E0002> from gs582cfslab4:SPR +21-236-13:45:14.820 00 SPR-I:OPRO ; Telemetry update will wait a maximum of 24 seconds +21-236-13:45:14.820 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:45:15.579 00 TLMH-I:STS 58-012-14:27:18.001 ERROR CPU=CPU1 APPNAME=DS EVENT ID=36 Invalid APP STATE command length: expected = 12, actual = 10 +21-236-13:45:17.822 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:45:17.828 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:45:17.829 00 SPR-I:OPRO <*> Passed (1005) - DS Enable/Disable Command Rejected Counter incremented. +21-236-13:45:17.831 00 SPR-I:OPRO <*> Passed (1005) - Event message 36 received +21-236-13:45:17.868 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:45:22.870 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:45:22.870 00 SPR-I:OPRO ; Step 3.58: Send the Close File command for the destination file that +21-236-13:45:22.870 00 SPR-I:OPRO ; is still open and download it for post-test analysis. +21-236-13:45:22.870 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:45:22.871 00 CMH-I:CMD Command is /SCX_CPU1_DS_CLOSEFILE FILEINDEX= 0 (x0) ;;; (SCX CPU1 DS Close Destination File command) +21-236-13:45:22.871 00 CMH-I:CMD Command SFDU received:<18BBC00000050E9700000000> from gs582cfslab4:SPR +21-236-13:45:22.882 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:45:23.571 00 TLMH-I:STS 58-012-14:27:26.004 ERROR CPU=CPU1 APPNAME=DS EVENT ID=61 FILE MOVE error: src = '/ram/00000101.dat', tgt = '/ram/movedir/00000101.dat', result = -1 +21-236-13:45:23.571 00 TLMH-I:STS 58-012-14:27:26.004 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=59 DEST CLOSE command: file table index = 0 +21-236-13:45:27.884 00 SPR-I:OPRO ==> Downloading '/ram/00000101.dat' +21-236-13:45:27.885 00 SPR-I:OPRO ==> FileName Only = '00000101.dat' +21-236-13:45:27.886 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/ftp_file.i +21-236-13:45:27.886 00 SPR-I:STS Procedure FTP_FILE started +21-236-13:45:27.979 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-13:45:27.979 00 SPR-I:STS Procedure FTP_FILE completed +21-236-13:45:27.980 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:45:32.983 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:45:32.983 00 SPR-I:OPRO ; Step 3.59: Using the TST_DS application, send two messages to the +21-236-13:45:32.983 00 SPR-I:OPRO ; DS application to open multiple files. +21-236-13:45:32.983 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:45:32.986 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:45:32.986 00 SPR-I:OPRO ; Setup event 1 with TST_DS INFO 7 +21-236-13:45:32.986 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:45:32.988 00 CMH-I:CMD Command is /SCX_CPU1_TST_DS_SENDMESSAGE MSGID= 4096 (x1000) MSGTYPE= 3 (x3) PATTERN= 170 (xAA) ;;; (SCX CPU1 TST_DS Send Message command code) +21-236-13:45:32.988 00 CMH-I:CMD Command SFDU received:<1943C000000903D60000100003AA0000> from gs582cfslab4:SPR +21-236-13:45:33.001 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:45:33.577 00 TLMH-I:STS 58-012-14:27:36.005 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=7 Sent Message Size 1016 to MID 0x00001000 +21-236-13:45:38.004 00 CMH-I:CMD Command is /SCX_CPU1_TST_DS_SENDMESSAGE MSGID= 4097 (x1001) MSGTYPE= 3 (x3) PATTERN= 85 (x55) ;;; (SCX CPU1 TST_DS Send Message command code) +21-236-13:45:38.004 00 CMH-I:CMD Command SFDU received:<1943C000000903280000100103550000> from gs582cfslab4:SPR +21-236-13:45:38.014 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:45:38.572 00 TLMH-I:STS 58-012-14:27:41.003 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=7 Sent Message Size 1016 to MID 0x00001001 +21-236-13:45:43.017 00 CMH-I:CMD Command is /SCX_CPU1_DS_GETFILEINFO ;;; (The Get File Info command) +21-236-13:45:43.017 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-13:45:43.032 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:45:43.577 00 TLMH-I:STS 58-012-14:27:46.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:45:46.033 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:45:46.035 00 SPR-I:OPRO <*> Passed - Expected Event Msgs were generated. +21-236-13:45:46.035 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:45:51.038 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:45:51.038 00 SPR-I:OPRO ; Step 3.60: Send the Close All Files command +21-236-13:45:51.038 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:45:51.039 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:45:51.039 00 SPR-I:OPRO ; Setup event 1 with DS DEBUG 66 +21-236-13:45:51.039 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:45:51.040 00 CMH-I:CMD Command is /SCX_CPU1_DS_CLOSEALLFILES ;;; (The Get File Info command) +21-236-13:45:51.041 00 CMH-I:CMD Command SFDU received:<18BBC0000001118C> from gs582cfslab4:SPR +21-236-13:45:51.054 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:45:51.571 00 TLMH-I:STS 58-012-14:27:54.004 ERROR CPU=CPU1 APPNAME=DS EVENT ID=61 FILE MOVE error: src = '/ram/00000102.dat', tgt = '/ram/movedir/00000102.dat', result = -1 +21-236-13:45:51.572 00 TLMH-I:STS 58-012-14:27:54.007 ERROR CPU=CPU1 APPNAME=DS EVENT ID=61 FILE MOVE error: src = '/ram/ti1980012142741', tgt = '/ram/movedir/ti1980012142741', result = -1 +21-236-13:45:51.572 00 TLMH-I:STS 58-012-14:27:54.007 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=66 DEST CLOSE ALL command +21-236-13:45:54.056 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:45:54.057 00 SPR-I:OPRO <*> Passed (1004;5002) - DS Close All Files command sent properly. +21-236-13:45:54.061 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:45:54.062 00 SPR-I:OPRO <*> Passed (1004) - Expected Event Msgs were generated. +21-236-13:45:54.090 00 CMH-I:CMD Command is /SCX_CPU1_DS_GETFILEINFO ;;; (The Get File Info command) +21-236-13:45:54.091 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-13:45:54.104 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:45:54.569 00 TLMH-I:STS 58-012-14:27:57.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:45:58.107 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:45:58.108 00 SPR-I:OPRO <*> Passed - Sequence file has been closed +21-236-13:45:58.108 00 SPR-I:OPRO <*> Passed - Time file has been closed +21-236-13:45:58.108 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:46:03.112 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:46:03.112 00 SPR-I:OPRO ; Step 3.61: Send the Close All Files command with an invalid length. +21-236-13:46:03.112 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:46:03.118 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:46:03.118 00 SPR-I:OPRO ; Setup event 1 with DS ERROR 67 +21-236-13:46:03.118 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:46:03.129 00 SPR-I:OPRO Sending: 18BBc0000002119C +21-236-13:46:03.130 00 CMH-I:CMD Command SFDU received:<18BBC0000002119C> from gs582cfslab4:SPR +21-236-13:46:03.146 00 SPR-I:OPRO ; Telemetry update will wait a maximum of 24 seconds +21-236-13:46:03.146 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:46:03.576 00 TLMH-I:STS 58-012-14:28:06.001 ERROR CPU=CPU1 APPNAME=DS EVENT ID=67 Invalid DEST CLOSE ALL command length: expected = 8, actual = 9 +21-236-13:46:06.148 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:46:06.152 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:46:06.152 00 SPR-I:OPRO <*> Passed (1002;1005) - DS Disable Command Rejected Counter incremented. +21-236-13:46:06.154 00 SPR-I:OPRO <*> Passed (1005) - Event message 67 received +21-236-13:46:06.185 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:46:11.188 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:46:11.188 00 SPR-I:OPRO ; Step 4.0: Clean-up - Send the Processor Reset command in order to +21-236-13:46:11.188 00 SPR-I:OPRO ; be able to retrieve files in RAM after this procedure completes. +21-236-13:46:11.188 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:46:11.188 00 CMH-I:CMD Command is /SCX_CPU1_ES_PROCESSORRESET ;;; (SCX CPU1 ES Processor Reset command code) +21-236-13:46:11.189 00 CMH-I:CMD Command SFDU received:<1806C000000302210001> from gs582cfslab4:SPR +21-236-13:46:11.200 00 SPR-I:STTE Wait mode - waiting 10 seconds ... +21-236-13:46:17.004 00 DPD-I:STS Deleting page SCX_CPU1_DS_FILE_HK +21-236-13:46:18.228 00 DPD-I:STS Deleting page SCX_CPU1_DS_FILE_TBL +21-236-13:46:19.723 00 DPD-I:STS Deleting page SCX_CPU1_DS_FILTER_TBL +21-236-13:46:20.773 00 DPD-I:STS Deleting page SCX_CPU1_TST_DS_HK +21-236-13:46:21.209 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/clear_spacecraft_status.i +21-236-13:46:21.210 00 SPR-I:STS Procedure CLEAR_SPACECRAFT_STATUS started +21-236-13:46:21.225 00 SPR-I:STS Procedure CLEAR_SPACECRAFT_STATUS completed +21-236-13:46:21.256 00 SPR-I:STTE Wait mode - waiting 60 seconds ... +21-236-13:46:23.078 00 DPD-I:STS Deleting page SCX_CPU1_DS_HK +21-236-13:47:21.320 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:47:27.278 00 CMH-I:STS Connected to FEDS:FEDS for commanding (internal ID 0). +21-236-13:47:31.332 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:47:31.334 00 CMH-I:CMD SFDU is /DDIR DATA="open udp_read C%03X 1235 packet_only" ;;; ( ) +21-236-13:47:31.350 00 CMH-I:CMD SFDU is /DDIR DATA="open udp_write CPKT cpu3 1234 ascii_pkt" ;;; ( ) +21-236-13:47:31.401 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/send_that_to_command.i +21-236-13:47:31.401 00 SPR-I:STS Procedure SEND_THAT_TO_COMMAND started +21-236-13:47:31.402 00 SPR-I:OPRO Sending: /SCX_CPU1_TO_OUTPUT_ENA gs582cfslab4 +21-236-13:47:31.403 00 CMH-I:CMD Command is /SCX_CPU1_TO_OUTPUT_ENA GS582CFSLAB4 ;;; (SCX CPU1 Enables TO output) +21-236-13:47:31.403 00 CMH-I:CMD Command SFDU received:<1880C0000011069A3139322E3136382E312E313031000000> from gs582cfslab4:SPR +21-236-13:47:31.454 00 SPR-I:STS Procedure SEND_THAT_TO_COMMAND completed +21-236-13:47:31.454 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:47:32.340 00 TLMH-I:STS 58-012-14:28:41.100 INFO CPU=CPU1 APPNAME=TO_LAB_APP EVENT ID=3 TO telemetry output enabled for IP 192.168.1.101 +21-236-13:47:35.458 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:47:35.459 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/fill_in_spacecraft_status.i +21-236-13:47:35.460 00 SPR-I:STS Procedure FILL_IN_SPACECRAFT_STATUS started +21-236-13:47:35.466 00 SPR-I:STS Procedure FILL_IN_SPACECRAFT_STATUS completed +21-236-13:47:35.467 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:47:40.471 00 SPR-I:OPRO **** Requirements Status Reporting +21-236-13:47:40.472 00 SPR-I:OPRO -------------------------- +21-236-13:47:40.472 00 SPR-I:OPRO Requirement(s) Report +21-236-13:47:40.472 00 SPR-I:OPRO -------------------------- +21-236-13:47:40.473 00 SPR-I:OPRO FSW Requirement: DS_1002 P/F: P +21-236-13:47:40.477 00 SPR-I:OPRO FSW Requirement: DS_1004 P/F: P +21-236-13:47:40.478 00 SPR-I:OPRO FSW Requirement: DS_1005 P/F: P +21-236-13:47:40.479 00 SPR-I:OPRO FSW Requirement: DS_3000 P/F: P +21-236-13:47:40.480 00 SPR-I:OPRO FSW Requirement: DS_3000.1 P/F: A +21-236-13:47:40.508 00 SPR-I:OPRO FSW Requirement: DS_3000.1.1 P/F: A +21-236-13:47:40.509 00 SPR-I:OPRO FSW Requirement: DS_3000.2 P/F: A +21-236-13:47:40.510 00 SPR-I:OPRO FSW Requirement: DS_3000.2.1 P/F: A +21-236-13:47:40.535 00 SPR-I:OPRO FSW Requirement: DS_3001 P/F: P +21-236-13:47:40.536 00 SPR-I:OPRO FSW Requirement: DS_3001.1 P/F: P +21-236-13:47:40.538 00 SPR-I:OPRO FSW Requirement: DS_3001.2 P/F: A +21-236-13:47:40.561 00 SPR-I:OPRO FSW Requirement: DS_3002 P/F: P +21-236-13:47:40.563 00 SPR-I:OPRO FSW Requirement: DS_3002.1 P/F: P +21-236-13:47:40.564 00 SPR-I:OPRO FSW Requirement: DS_3003 P/F: A +21-236-13:47:40.586 00 SPR-I:OPRO FSW Requirement: DS_3004 P/F: A +21-236-13:47:40.587 00 SPR-I:OPRO FSW Requirement: DS_3005 P/F: P +21-236-13:47:40.588 00 SPR-I:OPRO FSW Requirement: DS_5000 P/F: P +21-236-13:47:40.611 00 SPR-I:OPRO FSW Requirement: DS_5001 P/F: P +21-236-13:47:40.612 00 SPR-I:OPRO FSW Requirement: DS_5002 P/F: P +21-236-13:47:40.614 00 SPR-I:OPRO FSW Requirement: DS_5003 P/F: P +21-236-13:47:40.636 00 SPR-I:OPRO FSW Requirement: DS_5004 P/F: P +21-236-13:47:40.637 00 SPR-I:OPRO FSW Requirement: DS_5005 P/F: P +21-236-13:47:40.638 00 SPR-I:OPRO FSW Requirement: DS_5006 P/F: P +21-236-13:47:40.660 00 SPR-I:OPRO FSW Requirement: DS_5011 P/F: P +21-236-13:47:40.662 00 SPR-I:OPRO FSW Requirement: DS_5012 P/F: P +21-236-13:47:40.663 00 SPR-I:OPRO FSW Requirement: DS_5013 P/F: P +21-236-13:47:40.685 00 SPR-I:OPRO FSW Requirement: DS_5014 P/F: P +21-236-13:47:40.686 00 SPR-I:OPRO FSW Requirement: DS_5015 P/F: P +21-236-13:47:40.687 00 SPR-I:OPRO FSW Requirement: DS_8000 P/F: P +21-236-13:47:40.710 00 SPR-I:OPRO FSW Requirement: DS_9000 P/F: P +21-236-13:47:40.711 00 SPR-I:STS Variable "UT_REQUIREMENT" deleted +21-236-13:47:40.711 00 SPR-I:STS Variable "UT_REQ_ARRAY_SIZE" deleted +21-236-13:47:40.712 00 SPR-I:OPRO ;********************************************************************* +21-236-13:47:40.734 00 SPR-I:OPRO ; End procedure SCX_CPU1_ds_filewrite +21-236-13:47:40.734 00 SPR-I:OPRO ;********************************************************************* +21-236-13:47:40.735 00 SPR-I:STS Procedure SCX_CPU1_DS_FILEWRITE completed +21-236-13:47:40.737 00 SPR-I:OPRO *** Telemetry Info *** +21-236-13:47:40.737 00 SPR-I:OPRO +21-236-13:47:40.737 00 SPR-I:OPRO Pkt Loss Count: N/A +21-236-13:47:40.737 00 SPR-I:OPRO +21-236-13:47:40.737 00 SPR-I:OPRO ****************** +21-236-13:47:40.737 00 SPR-I:OPRO +21-236-13:47:40.737 00 SPR-I:OPRO Elapsed time: 1636.2 seconds +21-236-13:47:40.742 00 SPR-I:OPRO Elapsed time: 27.27 minutes +21-236-13:47:40.742 00 SPR-I:STTE Wait mode - waiting 10 seconds ... +21-236-13:47:50.752 00 SPR-I:OPRO Creating filtered log at /s/opr/accounts/cfs_test/test_logs/DS2.6.0/scx_cpu1_ds_filewrite-2021-236-13h20m24s.logf +21-236-13:47:50.753 00 SPR-I:OPRO Creating filtered output log at /s/opr/accounts/cfs_test/test_logs/DS2.6.0/scx_cpu1_ds_filewrite-2021-236-13h20m24s.logp +21-236-13:47:50.753 00 SPR-I:OPRO Creating filtered output log (without SFDUs) at /s/opr/accounts/cfs_test/test_logs/DS2.6.0/scx_cpu1_ds_filewrite-2021-236-13h20m24s.logs +21-236-13:47:50.753 00 SPR-I:OPRO Creating filtered event log at /s/opr/accounts/cfs_test/test_logs/DS2.6.0/scx_cpu1_ds_filewrite-2021-236-13h20m24s.loge +21-236-13:47:50.754 00 SPR-I:OPRO Creating filtered requirements log at /s/opr/accounts/cfs_test/test_logs/DS2.6.0/scx_cpu1_ds_filewrite-2021-236-13h20m24s.logr +21-236-13:47:50.895 00 SPR-I:OPRI --> newlog scx_cpu1_ds_filewrite-2021-236-13h20m24s.log diff --git a/test_and_ground/results/Caelum/scx_cpu1_ds_filewrite-2021-236-13h20m24s.logr b/test_and_ground/results/Caelum/scx_cpu1_ds_filewrite-2021-236-13h20m24s.logr new file mode 100644 index 0000000..3b9a5d3 --- /dev/null +++ b/test_and_ground/results/Caelum/scx_cpu1_ds_filewrite-2021-236-13h20m24s.logr @@ -0,0 +1,30 @@ +21-236-13:47:40.473 00 SPR-I:OPRO FSW Requirement: DS_1002 P/F: P +21-236-13:47:40.477 00 SPR-I:OPRO FSW Requirement: DS_1004 P/F: P +21-236-13:47:40.478 00 SPR-I:OPRO FSW Requirement: DS_1005 P/F: P +21-236-13:47:40.479 00 SPR-I:OPRO FSW Requirement: DS_3000 P/F: P +21-236-13:47:40.480 00 SPR-I:OPRO FSW Requirement: DS_3000.1 P/F: A +21-236-13:47:40.508 00 SPR-I:OPRO FSW Requirement: DS_3000.1.1 P/F: A +21-236-13:47:40.509 00 SPR-I:OPRO FSW Requirement: DS_3000.2 P/F: A +21-236-13:47:40.510 00 SPR-I:OPRO FSW Requirement: DS_3000.2.1 P/F: A +21-236-13:47:40.535 00 SPR-I:OPRO FSW Requirement: DS_3001 P/F: P +21-236-13:47:40.536 00 SPR-I:OPRO FSW Requirement: DS_3001.1 P/F: P +21-236-13:47:40.538 00 SPR-I:OPRO FSW Requirement: DS_3001.2 P/F: A +21-236-13:47:40.561 00 SPR-I:OPRO FSW Requirement: DS_3002 P/F: P +21-236-13:47:40.563 00 SPR-I:OPRO FSW Requirement: DS_3002.1 P/F: P +21-236-13:47:40.564 00 SPR-I:OPRO FSW Requirement: DS_3003 P/F: A +21-236-13:47:40.586 00 SPR-I:OPRO FSW Requirement: DS_3004 P/F: A +21-236-13:47:40.587 00 SPR-I:OPRO FSW Requirement: DS_3005 P/F: P +21-236-13:47:40.588 00 SPR-I:OPRO FSW Requirement: DS_5000 P/F: P +21-236-13:47:40.611 00 SPR-I:OPRO FSW Requirement: DS_5001 P/F: P +21-236-13:47:40.612 00 SPR-I:OPRO FSW Requirement: DS_5002 P/F: P +21-236-13:47:40.614 00 SPR-I:OPRO FSW Requirement: DS_5003 P/F: P +21-236-13:47:40.636 00 SPR-I:OPRO FSW Requirement: DS_5004 P/F: P +21-236-13:47:40.637 00 SPR-I:OPRO FSW Requirement: DS_5005 P/F: P +21-236-13:47:40.638 00 SPR-I:OPRO FSW Requirement: DS_5006 P/F: P +21-236-13:47:40.660 00 SPR-I:OPRO FSW Requirement: DS_5011 P/F: P +21-236-13:47:40.662 00 SPR-I:OPRO FSW Requirement: DS_5012 P/F: P +21-236-13:47:40.663 00 SPR-I:OPRO FSW Requirement: DS_5013 P/F: P +21-236-13:47:40.685 00 SPR-I:OPRO FSW Requirement: DS_5014 P/F: P +21-236-13:47:40.686 00 SPR-I:OPRO FSW Requirement: DS_5015 P/F: P +21-236-13:47:40.687 00 SPR-I:OPRO FSW Requirement: DS_8000 P/F: P +21-236-13:47:40.710 00 SPR-I:OPRO FSW Requirement: DS_9000 P/F: P diff --git a/test_and_ground/results/Caelum/scx_cpu1_ds_filewrite-2021-236-13h20m24s.logs b/test_and_ground/results/Caelum/scx_cpu1_ds_filewrite-2021-236-13h20m24s.logs new file mode 100644 index 0000000..74f408e --- /dev/null +++ b/test_and_ground/results/Caelum/scx_cpu1_ds_filewrite-2021-236-13h20m24s.logs @@ -0,0 +1,2187 @@ +21-236-13:20:24.525 00 SPR-I:OPRO ****************** FSW Configuration ****************** +21-236-13:20:24.525 00 SPR-I:OPRO Checksum: 29237 +21-236-13:20:24.525 00 SPR-I:OPRO cFE Version: 6.7.99.0 +21-236-13:20:24.526 00 SPR-I:OPRO OS Version: 5.0.0.255 +21-236-13:20:24.532 00 SPR-I:OPRO +21-236-13:20:24.532 00 SPR-I:OPRO Connection Status +21-236-13:20:24.532 00 SPR-I:OPRO ----------------- +21-236-13:20:24.533 00 SPR-I:OPRO CFDP: DOWN +21-236-13:20:24.533 00 SPR-I:OPRO UDP: UP +21-236-13:20:24.533 00 SPR-I:OPRO SWTS: UNK +21-236-13:20:24.534 00 SPR-I:OPRO +21-236-13:20:24.534 00 SPR-I:OPRO CMD / TLM Path +21-236-13:20:24.534 00 SPR-I:OPRO -------------- +21-236-13:20:24.534 00 SPR-I:OPRO UDP +21-236-13:20:24.534 00 SPR-I:OPRO +21-236-13:20:24.534 00 SPR-I:OPRO +21-236-13:20:24.534 00 SPR-I:OPRO ASIST / GDS Configuration +21-236-13:20:24.534 00 SPR-I:OPRO ------------------------- +21-236-13:20:24.534 00 SPR-I:OPRO Workstation: GS582CFSLAB4 +21-236-13:20:24.534 00 SPR-I:OPRO Account: cfs_test +21-236-13:20:24.534 00 SPR-I:OPRO Version: 21.0.7 +21-236-13:20:24.536 00 SPR-I:OPRO Tlm DB: Version: 1.985 Date: 08-24-21 Time: 06:37:06 AM. +21-236-13:20:24.536 00 SPR-I:OPRO Cmd DB: Version: 1.51 Date: 08-24-21 Time: 06:47:31 AM.EDT +21-236-13:20:24.536 00 SPR-I:OPRO +21-236-13:20:24.536 00 SPR-I:OPRO Telemetry Info +21-236-13:20:24.536 00 SPR-I:OPRO -------------- +21-236-13:20:24.536 00 SPR-I:OPRO Pkt Loss Count: N/A +21-236-13:20:24.536 00 SPR-I:OPRO **************** End FSW Configuration *************** +21-236-13:20:24.537 00 SPR-I:OPRO Starting Procedure.... scx_cpu1_ds_filewrite +21-236-13:20:24.676 00 SPR-I:OPRI --> start scx_cpu1_ds_filewrite +21-236-13:20:24.676 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/scx_cpu1_ds_filewrite.i +21-236-13:20:24.691 00 SPR-I:STS Procedure SCX_CPU1_DS_FILEWRITE started +21-236-13:20:25.036 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:20:25.037 00 SPR-I:OPRO ; Step 1.0: Data Storage Test Setup. +21-236-13:20:25.037 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:20:25.037 00 SPR-I:OPRO ; Step 1.1: Command a Power-on Reset on CPU3 +21-236-13:20:25.037 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:20:25.038 00 CMH-I:CMD Command SFDU received:<1806C000000302220002> from gs582cfslab4:SPR +21-236-13:20:25.049 00 SPR-I:STTE Wait mode - waiting 10 seconds ... +21-236-13:20:35.058 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/clear_spacecraft_status.i +21-236-13:20:35.059 00 SPR-I:STS Procedure CLEAR_SPACECRAFT_STATUS started +21-236-13:20:35.064 00 SPR-I:STS Procedure CLEAR_SPACECRAFT_STATUS completed +21-236-13:20:35.077 00 SPR-I:STTE Wait mode - waiting 60 seconds ... +21-236-13:21:35.131 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:21:41.100 00 CMH-I:STS Connected to FEDS:FEDS for commanding (internal ID 0). +21-236-13:21:45.142 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:21:45.222 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/send_that_to_command.i +21-236-13:21:45.222 00 SPR-I:STS Procedure SEND_THAT_TO_COMMAND started +21-236-13:21:45.223 00 SPR-I:OPRO Sending: /SCX_CPU1_TO_OUTPUT_ENA gs582cfslab4 +21-236-13:21:45.223 00 CMH-I:CMD Command SFDU received:<1880C0000011069A3139322E3136382E312E313031000000> from gs582cfslab4:SPR +21-236-13:21:45.274 00 SPR-I:STS Procedure SEND_THAT_TO_COMMAND completed +21-236-13:21:45.274 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:21:46.592 00 TLMH-I:STS 58-012-14:03:48.950 INFO CPU=CPU1 APPNAME=TO_LAB_APP EVENT ID=3 TO telemetry output enabled for IP 192.168.1.101 +21-236-13:21:50.280 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:21:50.281 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/fill_in_spacecraft_status.i +21-236-13:21:50.283 00 SPR-I:STS Procedure FILL_IN_SPACECRAFT_STATUS started +21-236-13:21:50.288 00 SPR-I:STS Procedure FILL_IN_SPACECRAFT_STATUS completed +21-236-13:21:50.289 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:21:55.294 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:21:55.294 00 SPR-I:OPRO ; Step 1.2: Upload the initial DS table load images to CPU1. +21-236-13:21:55.294 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:21:55.295 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/scx_cpu1_ds_tbl2.i +21-236-13:21:55.312 00 SPR-I:STS Procedure SCX_CPU1_DS_TBL2 started +21-236-13:21:55.373 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:21:55.373 00 SPR-I:OPRO ; Step 1.0: Define DS Destination File And Packet Filter Tables. +21-236-13:21:55.373 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:21:55.375 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/create_tbl_file_from_cvt.i +21-236-13:21:55.375 00 SPR-I:STS Procedure CREATE_TBL_FILE_FROM_CVT started +21-236-13:21:55.377 00 SPR-I:OPRO ********** ds_fwfile.tbl ********** +21-236-13:21:55.377 00 SPR-I:OPRO +21-236-13:21:55.377 00 SPR-I:OPRO Content Type: cFE1 +21-236-13:21:55.377 00 SPR-I:OPRO Sub Type: 8 +21-236-13:21:55.377 00 SPR-I:OPRO Length: 12 +21-236-13:21:55.377 00 SPR-I:OPRO Spacecraft Id: SCX +21-236-13:21:55.377 00 SPR-I:OPRO Processor Id: CPU3 +21-236-13:21:55.377 00 SPR-I:OPRO Application Id: 3958 +21-236-13:21:55.377 00 SPR-I:OPRO Create Time Secs: 1629811315 +21-236-13:21:55.377 00 SPR-I:OPRO Create Time Subsecs: 0 +21-236-13:21:55.377 00 SPR-I:OPRO File Description: File Write Test File Table +21-236-13:21:55.377 00 SPR-I:OPRO +21-236-13:21:55.377 00 SPR-I:OPRO ********** DS.FILE_TBL ********** +21-236-13:21:55.377 00 SPR-I:OPRO +21-236-13:21:55.377 00 SPR-I:OPRO Start Mnemonic: SCX_CPU1_DS_DF_TBL_Description +21-236-13:21:55.377 00 SPR-I:OPRO Byte Offset: 0 +21-236-13:21:55.377 00 SPR-I:OPRO End Mnemonic: SCX_CPU1_DS_DF_TBL[1].SeqCnt +21-236-13:21:55.378 00 SPR-I:OPRO Number of Bytes: 464 +21-236-13:21:55.378 00 SPR-I:OPRO +21-236-13:21:55.385 00 SPR-I:STS Loading file /s/opr/accounts/global/prc/partial_cvt_to_file_beta.i +21-236-13:21:55.386 00 SPR-I:STS Procedure PARTIAL_CVT_TO_FILE_BETA started +21-236-13:21:55.386 00 SPR-I:OPRO The unix command is cd /s/opr/accounts/cfs_test/image;cvt2file -s 116 -e 579 P0F76 ds.file_tbl +21-236-13:21:55.390 00 SPR-I:STS Procedure PARTIAL_CVT_TO_FILE_BETA completed +21-236-13:21:55.390 00 SPR-I:OPRO cd /s/opr/accounts/cfs_test/image;cat ds_fwfile.tbl.tmp ds.file_tbl > ds_fwfile.tbl +21-236-13:21:55.394 00 SPR-I:OPRO cd /s/opr/accounts/cfs_test/image;rm ds.file_tbl ds_fwfile.tbl.tmp +21-236-13:21:55.398 00 SPR-I:STS Procedure CREATE_TBL_FILE_FROM_CVT completed +21-236-13:21:55.880 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/create_tbl_file_from_cvt.i +21-236-13:21:55.880 00 SPR-I:STS Procedure CREATE_TBL_FILE_FROM_CVT started +21-236-13:21:55.882 00 SPR-I:OPRO ********** ds_fwfilter.tbl ********** +21-236-13:21:55.882 00 SPR-I:OPRO +21-236-13:21:55.882 00 SPR-I:OPRO Content Type: cFE1 +21-236-13:21:55.882 00 SPR-I:OPRO Sub Type: 8 +21-236-13:21:55.882 00 SPR-I:OPRO Length: 12 +21-236-13:21:55.882 00 SPR-I:OPRO Spacecraft Id: SCX +21-236-13:21:55.882 00 SPR-I:OPRO Processor Id: CPU3 +21-236-13:21:55.882 00 SPR-I:OPRO Application Id: 3959 +21-236-13:21:55.882 00 SPR-I:OPRO Create Time Secs: 1629811315 +21-236-13:21:55.882 00 SPR-I:OPRO Create Time Subsecs: 0 +21-236-13:21:55.882 00 SPR-I:OPRO File Description: File Write Test Filter Table +21-236-13:21:55.882 00 SPR-I:OPRO +21-236-13:21:55.882 00 SPR-I:OPRO ********** DS.FILTER_TBL ********** +21-236-13:21:55.882 00 SPR-I:OPRO +21-236-13:21:55.882 00 SPR-I:OPRO Start Mnemonic: SCX_CPU1_DS_PF_TBL_Description +21-236-13:21:55.882 00 SPR-I:OPRO Byte Offset: 0 +21-236-13:21:55.882 00 SPR-I:OPRO End Mnemonic: SCX_CPU1_DS_PF_TBL[255].FilterParams[3].O_Value +21-236-13:21:55.882 00 SPR-I:OPRO Number of Bytes: 9248 +21-236-13:21:55.883 00 SPR-I:OPRO +21-236-13:21:55.887 00 SPR-I:STS Loading file /s/opr/accounts/global/prc/partial_cvt_to_file_beta.i +21-236-13:21:55.887 00 SPR-I:STS Procedure PARTIAL_CVT_TO_FILE_BETA started +21-236-13:21:55.888 00 SPR-I:OPRO The unix command is cd /s/opr/accounts/cfs_test/image;cvt2file -s 116 -e 9363 P0F77 ds.filter_tbl +21-236-13:21:55.892 00 SPR-I:STS Procedure PARTIAL_CVT_TO_FILE_BETA completed +21-236-13:21:55.892 00 SPR-I:OPRO cd /s/opr/accounts/cfs_test/image;cat ds_fwfilter.tbl.tmp ds.filter_tbl > ds_fwfilter.tbl +21-236-13:21:55.895 00 SPR-I:OPRO cd /s/opr/accounts/cfs_test/image;rm ds.filter_tbl ds_fwfilter.tbl.tmp +21-236-13:21:55.899 00 SPR-I:STS Procedure CREATE_TBL_FILE_FROM_CVT completed +21-236-13:21:55.900 00 SPR-I:OPRO ;********************************************************************* +21-236-13:21:55.900 00 SPR-I:OPRO ; End procedure SCX_CPU1_ds_tbl2 +21-236-13:21:55.900 00 SPR-I:OPRO ;********************************************************************* +21-236-13:21:55.900 00 SPR-I:STS Procedure SCX_CPU1_DS_TBL2 completed +21-236-13:21:55.901 00 SPR-I:OPRO ==> Default Destination File Table filename = 'ds_file_tbl.tbl' +21-236-13:21:55.922 00 SPR-I:OPRO ==> Default Filter Table filename = 'ds_filter_tbl.tbl' +21-236-13:21:55.923 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/load_table.i +21-236-13:21:55.923 00 SPR-I:STS Procedure LOAD_TABLE started +21-236-13:21:55.925 00 SPR-I:OPRO Table Filename: ds_fwfile.tbl +21-236-13:21:55.926 00 SPR-I:OPRO The perl command is: perl /s/opr/accounts/global/tools/table_ftp.pl 192.168.1.8 ds_fwfile.tbl RAM:0 3 +21-236-13:21:55.926 00 SPR-I:OPRO +21-236-13:21:56.055 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-13:21:56.056 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:22:01.060 00 SPR-I:OPRO +21-236-13:22:01.061 00 SPR-I:OPRO Sending Command: /SCX_CPU1_TBL_LOAD LFILENAME="/ram/ds_fwfile.tbl" +21-236-13:22:01.062 00 CMH-I:CMD Command SFDU received:<1804C000004102152F72616D2F64735F667766696C652E74626C00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-236-13:22:01.075 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:22:01.591 00 TLMH-I:STS 58-012-14:04:04.001 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=12 Successful load of '/ram/ds_fwfile.tbl' into 'DS.FILE_TBL' working buffer +21-236-13:22:02.076 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:22:02.076 00 SPR-I:STS Procedure LOAD_TABLE completed +21-236-13:22:02.076 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:22:07.082 00 CMH-I:CMD Command SFDU received:<1804C000002B0436000044532E46494C455F54424C0000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-236-13:22:07.095 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:22:09.589 00 TLMH-I:STS 58-012-14:04:12.004 INFO CPU=CPU1 APPNAME=DS EVENT ID=10 Destination file table verify results: desc text = OK, good entries = 8, bad = 0, unused = 8 +21-236-13:22:09.590 00 TLMH-I:STS 58-012-14:04:12.004 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=36 DS validation successful for Inactive 'DS.FILE_TBL' +21-236-13:22:12.102 00 CMH-I:CMD Command SFDU received:<1804C0000029053544532E46494C455F54424C0000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-236-13:22:12.115 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:22:13.590 00 TLMH-I:STS 58-012-14:04:16.003 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=37 DS Successfully Updated 'DS.FILE_TBL' +21-236-13:22:17.121 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/load_table.i +21-236-13:22:17.122 00 SPR-I:STS Procedure LOAD_TABLE started +21-236-13:22:17.126 00 SPR-I:OPRO Table Filename: ds_fwfilter.tbl +21-236-13:22:17.127 00 SPR-I:OPRO The perl command is: perl /s/opr/accounts/global/tools/table_ftp.pl 192.168.1.8 ds_fwfilter.tbl RAM:0 3 +21-236-13:22:17.127 00 SPR-I:OPRO +21-236-13:22:17.260 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-13:22:17.260 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:22:22.264 00 SPR-I:OPRO +21-236-13:22:22.267 00 SPR-I:OPRO Sending Command: /SCX_CPU1_TBL_LOAD LFILENAME="/ram/ds_fwfilter.tbl" +21-236-13:22:22.269 00 CMH-I:CMD Command SFDU received:<1804C000004102132F72616D2F64735F667766696C7465722E74626C0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-236-13:22:22.284 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:22:23.093 00 TLMH-I:STS 58-012-14:04:25.501 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=12 Successful load of '/ram/ds_fwfilter.tbl' into 'DS.FILTER_TBL' working buffer +21-236-13:22:26.289 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:22:26.291 00 SPR-I:STS Procedure LOAD_TABLE completed +21-236-13:22:26.292 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:22:31.298 00 CMH-I:CMD Command SFDU received:<1804C000002B0430000044532E46494C5445525F54424C000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-236-13:22:31.311 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:22:33.595 00 TLMH-I:STS 58-012-14:04:36.004 INFO CPU=CPU1 APPNAME=DS EVENT ID=12 Filter table verify results: desc text = OK, good entries = 2, bad = 0, unused = 254 +21-236-13:22:33.596 00 TLMH-I:STS 58-012-14:04:36.004 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=36 DS validation successful for Inactive 'DS.FILTER_TBL' +21-236-13:22:36.317 00 CMH-I:CMD Command SFDU received:<1804C0000029053344532E46494C5445525F54424C000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-236-13:22:36.331 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:22:37.590 00 TLMH-I:STS 58-012-14:04:40.004 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=37 DS Successfully Updated 'DS.FILTER_TBL' +21-236-13:22:41.335 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:22:41.336 00 SPR-I:OPRO ; Step 1.3: Display the Housekeeping pages +21-236-13:22:41.336 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:22:41.456 00 DPD-I:STS Page SCX_CPU1_DS_HK added (cid:1). +21-236-13:22:41.531 00 DPD-I:STS Page SCX_CPU1_TST_DS_HK added (cid:1). +21-236-13:22:41.611 00 DPD-I:STS Page SCX_CPU1_DS_FILTER_TBL added (cid:1). +21-236-13:22:41.717 00 DPD-I:STS Page SCX_CPU1_DS_FILE_TBL added (cid:1). +21-236-13:22:41.726 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:22:41.726 00 SPR-I:OPRO ; Step 1.4: Start the Data Storage (DS) and Test Applications. +21-236-13:22:41.726 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:22:41.730 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:22:49.738 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:22:49.740 00 SPR-I:OPRO <*> Passed (8000) - Housekeeping packet is being generated. +21-236-13:22:49.746 00 SPR-I:OPRO <*> Passed (9000) - Housekeeping telemetry initialized properly. +21-236-13:22:49.749 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:22:54.752 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:22:54.752 00 SPR-I:OPRO ; Step 1.5: Enable DEBUG Event Messages +21-236-13:22:54.753 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:22:54.755 00 CMH-I:CMD Command SFDU received:<1801C0000017052244530000000000000000000000000000000000000100> from gs582cfslab4:SPR +21-236-13:22:54.769 00 SPR-I:STTE Wait mode - waiting 2 seconds ... +21-236-13:22:56.772 00 CMH-I:CMD Command SFDU received:<1801C000001705704346455F54424C000000000000000000000000000100> from gs582cfslab4:SPR +21-236-13:22:56.787 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:22:57.788 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:22:57.790 00 SPR-I:OPRO <*> Passed - Enable Debug events command sent properly. +21-236-13:22:57.790 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:22:57.791 00 SPR-I:OPRO ; Step 2.0: File Creation Tests. +21-236-13:22:57.791 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:22:57.791 00 SPR-I:OPRO ; Step 2.1: Utilizing the TST_DS application, send a message to the DS +21-236-13:22:57.791 00 SPR-I:OPRO ; application that will pass the filtering algorithm and uses a +21-236-13:22:57.792 00 SPR-I:OPRO ; Destination File Table entry that specifies Sequence file type naming +21-236-13:22:57.792 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:22:57.792 00 SPR-I:OPRO ; Step 2.1.1: Dump the Destination File and Packet Filter Tables +21-236-13:22:57.829 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:22:57.830 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/get_tbl_to_cvt.i +21-236-13:22:57.833 00 SPR-I:STS Procedure GET_TBL_TO_CVT started +21-236-13:22:57.850 00 SPR-I:OPRO Sending Command: /SCX_CPU1_TBL_DUMP ACTIVE DTABLENAME="DS.FILTER_TBL" DFILENAME="/ram/cpu1_filtertbl211" +21-236-13:22:57.852 00 CMH-I:CMD Command SFDU received:<1804C000006B0348000144532E46494C5445525F54424C0000000000000000000000000000000000000000000000000000002F72616D2F637075315F66696C74657274626C323131000000000000000000000000000000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-236-13:22:57.854 00 SPR-I:STTE Wait mode - waiting 15 seconds ... +21-236-13:22:58.588 00 TLMH-I:STS 58-012-14:05:01.002 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=14 Successfully dumped Table 'DS.FILTER_TBL' to '/ram/cpu1_filtertbl211' +21-236-13:23:12.865 00 SPR-I:OPRO +21-236-13:23:12.865 00 SPR-I:OPRO The TBLNAME is: DS.FILTER_TBL +21-236-13:23:12.865 00 SPR-I:OPRO The APID is: P0F77 +21-236-13:23:12.865 00 SPR-I:OPRO The CPU is: CPU3 +21-236-13:23:12.866 00 SPR-I:OPRO The IP Address is: 192.168.1.8 +21-236-13:23:12.869 00 SPR-I:OPRO The perl command is: perl /s/opr/accounts/global/tools/ftp.pl RAM:0 cpu1_filtertbl211 cpu1_filtertbl211 binary 192.168.1.8 +21-236-13:23:13.044 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-13:23:13.044 00 SPR-I:STTE Wait mode - waiting 15 seconds ... +21-236-13:23:28.055 00 SPR-I:OPRO +21-236-13:23:28.102 00 SPR-I:OPRO The unix command is cvt -ws file_list[3959].file_write_time "`date +%y-%j-%T -r /s/opr/accounts/cfs_test/image/cpu1_filtertbl211`" +21-236-13:23:28.102 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:23:33.107 00 SPR-I:STS Procedure GET_TBL_TO_CVT completed +21-236-13:23:33.109 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/get_tbl_to_cvt.i +21-236-13:23:33.111 00 SPR-I:STS Procedure GET_TBL_TO_CVT started +21-236-13:23:33.129 00 SPR-I:OPRO Sending Command: /SCX_CPU1_TBL_DUMP ACTIVE DTABLENAME="DS.FILE_TBL" DFILENAME="/ram/cpu1_filetbl211" +21-236-13:23:33.130 00 CMH-I:CMD Command SFDU received:<1804C000006B0348000144532E46494C455F54424C00000000000000000000000000000000000000000000000000000000002F72616D2F637075315F66696C6574626C3231310000000000000000000000000000000000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-236-13:23:33.142 00 SPR-I:STTE Wait mode - waiting 15 seconds ... +21-236-13:23:33.590 00 TLMH-I:STS 58-012-14:05:36.002 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=14 Successfully dumped Table 'DS.FILE_TBL' to '/ram/cpu1_filetbl211' +21-236-13:23:48.153 00 SPR-I:OPRO +21-236-13:23:48.153 00 SPR-I:OPRO The TBLNAME is: DS.FILE_TBL +21-236-13:23:48.153 00 SPR-I:OPRO The APID is: P0F76 +21-236-13:23:48.153 00 SPR-I:OPRO The CPU is: CPU3 +21-236-13:23:48.153 00 SPR-I:OPRO The IP Address is: 192.168.1.8 +21-236-13:23:48.155 00 SPR-I:OPRO The perl command is: perl /s/opr/accounts/global/tools/ftp.pl RAM:0 cpu1_filetbl211 cpu1_filetbl211 binary 192.168.1.8 +21-236-13:23:48.308 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-13:23:48.308 00 SPR-I:STTE Wait mode - waiting 15 seconds ... +21-236-13:23:52.572 00 SPR-I:OPRI --> page SCX_CPU1_DS_FILE_HK +21-236-13:23:52.669 00 DPD-I:STS Page SCX_CPU1_DS_FILE_HK added (cid:1). +21-236-13:24:03.429 00 SPR-I:OPRO +21-236-13:24:03.445 00 SPR-I:OPRO The unix command is cvt -ws file_list[3958].file_write_time "`date +%y-%j-%T -r /s/opr/accounts/cfs_test/image/cpu1_filetbl211`" +21-236-13:24:03.445 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:24:08.449 00 SPR-I:STS Procedure GET_TBL_TO_CVT completed +21-236-13:24:08.451 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:24:08.451 00 SPR-I:OPRO ; Step 2.1.2: Parse the tables to find a MessageID to use for the +21-236-13:24:08.451 00 SPR-I:OPRO ; Sequence file type naming entry. +21-236-13:24:08.451 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:24:08.745 00 SPR-I:OPRO ==> Found file entry at 0 +21-236-13:24:08.745 00 SPR-I:OPRO ==> Found filter entry at 0 +21-236-13:24:08.746 00 SPR-I:OPRO ==> Using MID = 4096 +21-236-13:24:08.746 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:24:08.746 00 SPR-I:OPRO ; Step 2.1.3: Send the TST_DS command to send a message to DS using the +21-236-13:24:08.746 00 SPR-I:OPRO ; MessageID found above. Since the message being set will not exceed +21-236-13:24:08.746 00 SPR-I:OPRO ; the file size constraint, the FileState HK should contain info about +21-236-13:24:08.746 00 SPR-I:OPRO ; the file that was created. +21-236-13:24:08.746 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:24:08.747 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:24:08.747 00 SPR-I:OPRO ; Setup event 1 with TST_DS INFO 5 +21-236-13:24:08.747 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:24:08.748 00 CMH-I:CMD Command SFDU received:<1943C0000009032B0000100001550000> from gs582cfslab4:SPR +21-236-13:24:08.762 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:24:09.585 00 TLMH-I:STS 58-012-14:06:12.005 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Message Size 116 to MID 0x00001000 +21-236-13:24:09.763 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:24:09.764 00 SPR-I:OPRO <*> Passed - Expected Event Msg 5 rcv'd. +21-236-13:24:09.765 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-13:24:09.779 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:24:10.587 00 TLMH-I:STS 58-012-14:06:13.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:24:13.783 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:24:13.784 00 SPR-I:OPRO <*> Passed (3000;3000.1;3000.1.1) - A file was created with name '/ram/seq00000100.dat' +21-236-13:24:13.789 00 SPR-I:OPRO <*> Passed (3001) - The file is marked 'OPEN' +21-236-13:24:13.838 00 SPR-I:OPRO <*> Passed - The file write and passed packet counters are correct. +21-236-13:24:13.838 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:24:18.842 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:24:18.843 00 SPR-I:OPRO ; Step 2.2: Send the TST_DS command again using a message type that +21-236-13:24:18.843 00 SPR-I:OPRO ; will exceed the file size of the destination file entry. +21-236-13:24:18.843 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:24:18.847 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:24:18.848 00 SPR-I:OPRO ; Setup event 1 with TST_DS INFO 7 +21-236-13:24:18.848 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:24:18.850 00 CMH-I:CMD Command SFDU received:<1943C000000903D60000100003AA0000> from gs582cfslab4:SPR +21-236-13:24:18.866 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:24:19.588 00 TLMH-I:STS 58-012-14:06:22.003 ERROR CPU=CPU1 APPNAME=DS EVENT ID=61 FILE MOVE error: src = '/ram/seq00000100.dat', tgt = '/ram/movedir/seq00000100.dat', result = -1 +21-236-13:24:19.589 00 TLMH-I:STS 58-012-14:06:22.004 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=7 Sent Message Size 1016 to MID 0x00001000 +21-236-13:24:19.867 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:24:19.869 00 SPR-I:OPRO <*> Passed - Expected Event Msg 7 rcv'd. +21-236-13:24:19.871 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-13:24:19.889 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:24:20.590 00 TLMH-I:STS 58-012-14:06:23.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:24:21.892 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:24:21.895 00 SPR-I:OPRO <*> Passed (3000;3000.1;3000.1.1) - A file was created with name '/ram/seq00000101.dat' +21-236-13:24:21.905 00 SPR-I:OPRO <*> Passed (3001) - The file is marked 'OPEN' +21-236-13:24:21.957 00 SPR-I:OPRO <*> Passed (3001.1) - A new file was opened +21-236-13:24:21.958 00 SPR-I:OPRO <*> Passed - The header update counter incremented as expected. +21-236-13:24:21.975 00 SPR-I:OPRO ==> Downloading '/ram/seq00000100.dat' +21-236-13:24:21.976 00 SPR-I:OPRO ==> FileName Only = 'seq00000100.dat' +21-236-13:24:21.976 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/ftp_file.i +21-236-13:24:21.976 00 SPR-I:STS Procedure FTP_FILE started +21-236-13:24:22.090 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-13:24:22.090 00 SPR-I:STS Procedure FTP_FILE completed +21-236-13:24:22.091 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:24:27.095 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:24:27.095 00 SPR-I:OPRO ; Step 2.3: Test that DS will store at least 1 message in a destination +21-236-13:24:27.095 00 SPR-I:OPRO ; file even though the message will exceed the file size. +21-236-13:24:27.095 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:24:27.095 00 SPR-I:OPRO ; Step 2.3.1: Send the Close command for the file created in Step 2.2. +21-236-13:24:27.095 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:24:27.097 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:24:27.097 00 SPR-I:OPRO ; Setup event 1 with DS DEBUG 59 +21-236-13:24:27.097 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:24:27.098 00 CMH-I:CMD Command SFDU received:<18BBC00000050E9700000000> from gs582cfslab4:SPR +21-236-13:24:27.115 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:24:27.583 00 TLMH-I:STS 58-012-14:06:30.003 ERROR CPU=CPU1 APPNAME=DS EVENT ID=61 FILE MOVE error: src = '/ram/seq00000101.dat', tgt = '/ram/movedir/seq00000101.dat', result = -1 +21-236-13:24:27.585 00 TLMH-I:STS 58-012-14:06:30.003 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=59 DEST CLOSE command: file table index = 0 +21-236-13:24:30.118 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:24:30.120 00 SPR-I:OPRO <*> Passed (1004;5002) - DS Close File command sent properly. +21-236-13:24:30.144 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:24:30.146 00 SPR-I:OPRO <*> Passed (1004;5002) - Expected Event Msg 59 rcv'd. +21-236-13:24:30.188 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:24:35.192 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:24:35.193 00 SPR-I:OPRO ; Step 2.3.2: Send the TST_DS_SendMessage command using a message type +21-236-13:24:35.193 00 SPR-I:OPRO ; that exceeds the size of the destination file entry. +21-236-13:24:35.193 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:24:35.197 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:24:35.197 00 SPR-I:OPRO ; Setup event 1 with TST_DS INFO 9 +21-236-13:24:35.197 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:24:35.199 00 CMH-I:CMD Command SFDU received:<1943C000000903DF0000100005A50000> from gs582cfslab4:SPR +21-236-13:24:35.219 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:24:36.085 00 TLMH-I:STS 58-012-14:06:38.501 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=9 Sent Message Size 1516 to MID 0x00001000 +21-236-13:24:36.220 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:24:36.222 00 SPR-I:OPRO <*> Passed - Expected Event Msg 9 rcv'd. +21-236-13:24:36.224 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-13:24:36.255 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:24:37.087 00 TLMH-I:STS 58-012-14:06:39.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:24:38.257 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:24:38.260 00 SPR-I:OPRO <*> Passed (3000;3000.1;3000.1.1) - A file was created with name '/ram/seq00000102.dat' +21-236-13:24:38.271 00 SPR-I:OPRO <*> Passed (3001) - The file is marked 'OPEN' +21-236-13:24:38.331 00 SPR-I:OPRO <*> Passed (3001.1) - A new file was opened +21-236-13:24:38.335 00 SPR-I:OPRO ==> Downloading '/ram/seq00000101.dat' +21-236-13:24:38.357 00 SPR-I:OPRO ==> FileName Only = 'seq00000101.dat' +21-236-13:24:38.357 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/ftp_file.i +21-236-13:24:38.357 00 SPR-I:STS Procedure FTP_FILE started +21-236-13:24:38.457 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-13:24:38.457 00 SPR-I:STS Procedure FTP_FILE completed +21-236-13:24:38.458 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:24:38.458 00 SPR-I:OPRO ; Step 2.4: Utilizing the TST_DS application, send valid messages to +21-236-13:24:38.458 00 SPR-I:OPRO ; the DS application that will pass filtering and specifies Time file +21-236-13:24:38.458 00 SPR-I:OPRO ; type naming. +21-236-13:24:38.458 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:24:38.458 00 SPR-I:OPRO ; Step 2.4.1: Parse the tables to find a MessageID to use for the Time +21-236-13:24:38.458 00 SPR-I:OPRO ; file type naming entry. +21-236-13:24:38.458 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:24:38.746 00 SPR-I:OPRO ==> Found file entry at 1 +21-236-13:24:38.746 00 SPR-I:OPRO ==> Found filter entry at 1 +21-236-13:24:38.746 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:24:38.746 00 SPR-I:OPRO ; Step 2.4.2: Send the TST_DS command to send a message to DS using the +21-236-13:24:38.746 00 SPR-I:OPRO ; MessageID found above. Since the message being set will not exceed +21-236-13:24:38.746 00 SPR-I:OPRO ; the file size constraint, the FileState HK should contain info about +21-236-13:24:38.746 00 SPR-I:OPRO ; the file that was created. +21-236-13:24:38.746 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:24:38.748 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:24:38.748 00 SPR-I:OPRO ; Setup event 1 with TST_DS INFO 5 +21-236-13:24:38.748 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:24:38.749 00 CMH-I:CMD Command SFDU received:<1943C0000009032A0000100101550000> from gs582cfslab4:SPR +21-236-13:24:38.767 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:24:39.587 00 TLMH-I:STS 58-012-14:06:42.002 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Message Size 116 to MID 0x00001001 +21-236-13:24:39.768 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:24:39.771 00 SPR-I:OPRO <*> Passed - Expected Event Msg 5 rcv'd. +21-236-13:24:39.773 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-13:24:39.791 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:24:40.589 00 TLMH-I:STS 58-012-14:06:43.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:24:41.793 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:24:41.794 00 SPR-I:OPRO <*> Passed (3000;3000.2;3000.2.1) - A file was created with name '/ram/ti1980012140642.txt' +21-236-13:24:41.798 00 SPR-I:OPRO <*> Passed (3001) - The file is marked 'OPEN' +21-236-13:24:41.834 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:24:46.838 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:24:46.838 00 SPR-I:OPRO ; Step 2.5: Wait for the file created above to exceed its maximum age. +21-236-13:24:46.838 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:24:46.843 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-13:24:46.846 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:24:47.588 00 TLMH-I:STS 58-012-14:06:50.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:24:51.850 00 SPR-I:OPRO new file age = 8 +21-236-13:24:51.856 00 SPR-I:OPRO timeout calculation = 52 +21-236-13:24:51.860 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-13:24:51.873 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:24:52.588 00 TLMH-I:STS 58-012-14:06:55.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:24:56.877 00 SPR-I:OPRO new file age = 12 +21-236-13:24:56.883 00 SPR-I:OPRO timeout calculation = 48 +21-236-13:24:56.884 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-13:24:56.885 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:24:57.589 00 TLMH-I:STS 58-012-14:07:00.003 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:25:01.889 00 SPR-I:OPRO new file age = 16 +21-236-13:25:01.898 00 SPR-I:OPRO timeout calculation = 44 +21-236-13:25:01.902 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-13:25:01.916 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:25:02.587 00 TLMH-I:STS 58-012-14:07:05.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:25:06.920 00 SPR-I:OPRO new file age = 24 +21-236-13:25:06.924 00 SPR-I:OPRO timeout calculation = 36 +21-236-13:25:06.926 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-13:25:06.927 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:25:07.590 00 TLMH-I:STS 58-012-14:07:10.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:25:11.931 00 SPR-I:OPRO new file age = 28 +21-236-13:25:11.935 00 SPR-I:OPRO timeout calculation = 32 +21-236-13:25:11.937 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-13:25:11.949 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:25:12.588 00 TLMH-I:STS 58-012-14:07:15.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:25:16.954 00 SPR-I:OPRO new file age = 32 +21-236-13:25:16.962 00 SPR-I:OPRO timeout calculation = 28 +21-236-13:25:16.967 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-13:25:16.980 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:25:17.589 00 TLMH-I:STS 58-012-14:07:20.003 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:25:21.985 00 SPR-I:OPRO new file age = 36 +21-236-13:25:21.993 00 SPR-I:OPRO timeout calculation = 24 +21-236-13:25:21.997 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-13:25:22.010 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:25:22.583 00 TLMH-I:STS 58-012-14:07:25.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:25:27.015 00 SPR-I:OPRO new file age = 44 +21-236-13:25:27.022 00 SPR-I:OPRO timeout calculation = 16 +21-236-13:25:27.026 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-13:25:27.039 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:25:27.591 00 TLMH-I:STS 58-012-14:07:30.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:25:32.044 00 SPR-I:OPRO new file age = 48 +21-236-13:25:32.051 00 SPR-I:OPRO timeout calculation = 12 +21-236-13:25:32.055 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-13:25:32.069 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:25:32.590 00 TLMH-I:STS 58-012-14:07:35.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:25:37.073 00 SPR-I:OPRO new file age = 52 +21-236-13:25:37.077 00 SPR-I:OPRO timeout calculation = 8 +21-236-13:25:37.079 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-13:25:37.081 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:25:37.592 00 TLMH-I:STS 58-012-14:07:40.003 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:25:37.593 00 TLMH-I:STS 58-012-14:07:40.006 ERROR CPU=CPU1 APPNAME=DS EVENT ID=61 FILE MOVE error: src = '/ram/ti1980012140642.txt', tgt = '/ram/movedir/ti1980012140642.txt', result = -1 +21-236-13:25:42.084 00 SPR-I:OPRO new file age = 56 +21-236-13:25:42.087 00 SPR-I:OPRO timeout calculation = 4 +21-236-13:25:42.088 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-13:25:42.099 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:25:42.582 00 TLMH-I:STS 58-012-14:07:45.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:25:47.101 00 SPR-I:OPRO new file age = 0 +21-236-13:25:47.102 00 SPR-I:OPRO timeout calculation = 60 +21-236-13:25:47.102 00 SPR-I:OPRO HK reports the file is no longer open +21-236-13:25:47.103 00 SPR-I:OPRO ==> Downloading '/ram/ti1980012140642.txt' +21-236-13:25:47.104 00 SPR-I:OPRO ==> FileName Only = 'ti1980012140642.txt' +21-236-13:25:47.104 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/ftp_file.i +21-236-13:25:47.104 00 SPR-I:STS Procedure FTP_FILE started +21-236-13:25:47.216 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-13:25:47.216 00 SPR-I:STS Procedure FTP_FILE completed +21-236-13:25:47.217 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:25:52.221 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:25:52.221 00 SPR-I:OPRO ; Step 2.6: Using the TST_DS application, send a message for the +21-236-13:25:52.221 00 SPR-I:OPRO ; sequence file type naming entry that is the exact size specified as +21-236-13:25:52.222 00 SPR-I:OPRO ; maximum file size. +21-236-13:25:52.222 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:25:52.227 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:25:52.227 00 SPR-I:OPRO ; Setup event 1 with TST_DS INFO 8 +21-236-13:25:52.227 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:25:52.230 00 CMH-I:CMD Command SFDU received:<1943C0000009032E0000100004550000> from gs582cfslab4:SPR +21-236-13:25:52.241 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:25:53.084 00 TLMH-I:STS 58-012-14:07:55.502 ERROR CPU=CPU1 APPNAME=DS EVENT ID=61 FILE MOVE error: src = '/ram/seq00000102.dat', tgt = '/ram/movedir/seq00000102.dat', result = -1 +21-236-13:25:53.084 00 TLMH-I:STS 58-012-14:07:55.503 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=8 Sent Message Size 1040 to MID 0x00001000 +21-236-13:25:53.242 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:25:53.244 00 SPR-I:OPRO <*> Passed - Expected Event Msg 8 rcv'd. +21-236-13:25:53.246 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-13:25:53.272 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:25:54.090 00 TLMH-I:STS 58-012-14:07:56.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:25:58.278 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:25:58.281 00 SPR-I:OPRO <*> Passed (3000;3000.1;3000.1.1) - A file was created with name '/ram/seq00000103.dat' +21-236-13:25:58.290 00 SPR-I:OPRO <*> Passed (3001) - The file is marked 'OPEN' +21-236-13:25:58.342 00 SPR-I:OPRO ==> Downloading '/ram/seq00000102.dat' +21-236-13:25:58.343 00 SPR-I:OPRO ==> FileName Only = 'seq00000102.dat' +21-236-13:25:58.367 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/ftp_file.i +21-236-13:25:58.367 00 SPR-I:STS Procedure FTP_FILE started +21-236-13:25:58.453 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-13:25:58.453 00 SPR-I:STS Procedure FTP_FILE completed +21-236-13:25:58.453 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:25:58.454 00 SPR-I:OPRO ; Step 2.7: Send the TST_DS command again using a message type that +21-236-13:25:58.454 00 SPR-I:OPRO ; will exceed the file size of the destination file entry. +21-236-13:25:58.454 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:25:58.456 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:25:58.456 00 SPR-I:OPRO ; Setup event 1 with TST_DS INFO 7 +21-236-13:25:58.456 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:25:58.457 00 CMH-I:CMD Command SFDU received:<1943C000000903D60000100003AA0000> from gs582cfslab4:SPR +21-236-13:25:58.473 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:25:59.089 00 TLMH-I:STS 58-012-14:08:01.502 ERROR CPU=CPU1 APPNAME=DS EVENT ID=61 FILE MOVE error: src = '/ram/seq00000103.dat', tgt = '/ram/movedir/seq00000103.dat', result = -1 +21-236-13:25:59.089 00 TLMH-I:STS 58-012-14:08:01.503 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=7 Sent Message Size 1016 to MID 0x00001000 +21-236-13:25:59.474 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:25:59.476 00 SPR-I:OPRO <*> Passed - Expected Event Msg 7 rcv'd. +21-236-13:25:59.479 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-13:25:59.510 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:26:00.090 00 TLMH-I:STS 58-012-14:08:02.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:26:02.514 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:26:02.516 00 SPR-I:OPRO <*> Passed (3000;3000.1;3000.1.1) - A file was created with name '/ram/seq00000104.dat' +21-236-13:26:02.521 00 SPR-I:OPRO <*> Passed (3001) - The file is marked 'OPEN' +21-236-13:26:02.552 00 SPR-I:OPRO <*> Passed (3001.1) - A new file was opened +21-236-13:26:02.554 00 SPR-I:OPRO ==> Downloading '/ram/seq00000103.dat' +21-236-13:26:02.577 00 SPR-I:OPRO ==> FileName Only = 'seq00000103.dat' +21-236-13:26:02.577 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/ftp_file.i +21-236-13:26:02.577 00 SPR-I:STS Procedure FTP_FILE started +21-236-13:26:02.672 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-13:26:02.672 00 SPR-I:STS Procedure FTP_FILE completed +21-236-13:26:02.673 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:26:07.677 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:26:07.678 00 SPR-I:OPRO ; Step 2.8: Utilizing the TST_DS application, send a messages to the DS +21-236-13:26:07.678 00 SPR-I:OPRO ; application that will cause several file write errors. +21-236-13:26:07.678 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:26:07.678 00 SPR-I:OPRO ; Step 2.8.1: Utilizing the TST_DS application, send messages to the DS +21-236-13:26:07.678 00 SPR-I:OPRO ; application that will create a time file. +21-236-13:26:07.678 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:26:07.684 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:26:07.684 00 SPR-I:OPRO ; Setup event 1 with TST_DS INFO 6 +21-236-13:26:07.684 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:26:07.685 00 CMH-I:CMD Command SFDU received:<1943C000000903D60000100102AA0000> from gs582cfslab4:SPR +21-236-13:26:07.686 00 SPR-I:STTE Wait mode - waiting 10 seconds ... +21-236-13:26:08.588 00 TLMH-I:STS 58-012-14:08:11.002 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=6 Sent Message Size 516 to MID 0x00001001 +21-236-13:26:17.700 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:26:17.700 00 SPR-I:OPRO <*> Passed - Expected Event Msg 6 rcv'd. +21-236-13:26:17.701 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-13:26:17.715 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:26:18.588 00 TLMH-I:STS 58-012-14:08:21.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:26:21.719 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:26:21.722 00 SPR-I:OPRO <*> Passed (3000;3000.2;3000.2.1) - A file was created with name '/ram/ti1980012140811.txt' +21-236-13:26:21.726 00 SPR-I:OPRO <*> Passed (3001) - The file is marked 'OPEN' +21-236-13:26:21.763 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:26:26.767 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:26:26.767 00 SPR-I:OPRO ; Step 2.8.2: Send the DS Set Basename command to set the basenames for +21-236-13:26:26.768 00 SPR-I:OPRO ; the Destination File Table entries used above such that the created +21-236-13:26:26.768 00 SPR-I:OPRO ; file names will exceed the OS_MAX_API_NAME limit and generate a file +21-236-13:26:26.768 00 SPR-I:OPRO ; write error. +21-236-13:26:26.768 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:26:26.773 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:26:26.773 00 SPR-I:OPRO ; Setup event 1 with DS DEBUG 49 +21-236-13:26:26.773 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:26:26.774 00 CMH-I:CMD Command SFDU received:<18BBC000004509E90000000073657175656E636546696C6500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-236-13:26:26.786 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:26:27.591 00 TLMH-I:STS 58-012-14:08:30.002 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=49 DEST BASE command: file table index = 0, base filename = 'sequenceFile' +21-236-13:26:31.794 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:26:31.794 00 SPR-I:OPRO <*> Passed (1004;5003) - DS Set Basename command sent properly. +21-236-13:26:31.799 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:26:31.800 00 SPR-I:OPRO <*> Passed (1004;5003) - Expected Event Msg 49 rcv'd. +21-236-13:26:31.836 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:26:31.836 00 SPR-I:OPRO ; Setup event 1 with DS DEBUG 49 +21-236-13:26:31.836 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:26:31.837 00 CMH-I:CMD Command SFDU received:<18BBC000004509E20001000074696D6546696C650000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-236-13:26:31.848 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:26:32.588 00 TLMH-I:STS 58-012-14:08:35.002 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=49 DEST BASE command: file table index = 1, base filename = 'timeFile' +21-236-13:26:36.862 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:26:36.863 00 SPR-I:OPRO <*> Passed (1004;5003) - DS Set Basename command sent properly. +21-236-13:26:36.873 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:26:36.874 00 SPR-I:OPRO <*> Passed (1004;5003) - Expected Event Msg 49 rcv'd. +21-236-13:26:36.909 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:26:36.909 00 SPR-I:OPRO ; Step 2.8.3: Using the TST_DS application, send messages to the DS +21-236-13:26:36.909 00 SPR-I:OPRO ; application that will cause the file write errors to occur. +21-236-13:26:36.909 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:26:36.911 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:26:36.911 00 SPR-I:OPRO ; Setup event 1 with TST_DS INFO 5 +21-236-13:26:36.911 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:26:36.913 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:26:36.913 00 SPR-I:OPRO ; Setup event 2 with DS ERROR 15 +21-236-13:26:36.927 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:26:36.929 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:26:36.929 00 SPR-I:OPRO ; Setup event 3 with TST_DS INFO 7 +21-236-13:26:36.929 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:26:36.930 00 CMH-I:CMD Command SFDU received:<1943C0000009032B0000100001550000> from gs582cfslab4:SPR +21-236-13:26:36.942 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:26:37.588 00 TLMH-I:STS 58-012-14:08:40.006 ERROR CPU=CPU1 APPNAME=DS EVENT ID=61 FILE MOVE error: src = '/ram/seq00000104.dat', tgt = '/ram/movedir/seq00000104.dat', result = -1 +21-236-13:26:37.589 00 TLMH-I:STS 58-012-14:08:40.006 ERROR CPU=CPU1 APPNAME=DS EVENT ID=15 FILE CREATE error: result = -104, dest = 0, name = '/ram/sequenceFile00000105.dat' +21-236-13:26:37.590 00 TLMH-I:STS 58-012-14:08:40.006 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Message Size 116 to MID 0x00001000 +21-236-13:26:41.947 00 CMH-I:CMD Command SFDU received:<1943C000000903280000100103550000> from gs582cfslab4:SPR +21-236-13:26:41.959 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:26:42.585 00 TLMH-I:STS 58-012-14:08:45.003 ERROR CPU=CPU1 APPNAME=DS EVENT ID=61 FILE MOVE error: src = '/ram/ti1980012140811.txt', tgt = '/ram/movedir/ti1980012140811.txt', result = -1 +21-236-13:26:42.587 00 TLMH-I:STS 58-012-14:08:45.003 ERROR CPU=CPU1 APPNAME=DS EVENT ID=15 FILE CREATE error: result = -104, dest = 1, name = '/ram/timeFile1980012140845.txt' +21-236-13:26:42.588 00 TLMH-I:STS 58-012-14:08:45.004 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=7 Sent Message Size 1016 to MID 0x00001001 +21-236-13:26:46.975 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:26:46.978 00 SPR-I:OPRO <*> Passed - Expected Event Msg 5 rcv'd. +21-236-13:26:46.990 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:26:46.991 00 SPR-I:OPRO <*> Passed - Expected Event Msg 7 rcv'd. +21-236-13:26:46.992 00 SPR-I:OPRO <*> Passed (3005) - Expected Event Msg 15 rcv'd twice. +21-236-13:26:47.016 00 SPR-I:OPRO <*> Passed (3005) - File Write Error count incremented properly. +21-236-13:26:47.018 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-13:26:47.032 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:26:47.587 00 TLMH-I:STS 58-012-14:08:50.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:26:50.035 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:26:50.038 00 SPR-I:OPRO <*> Passed (3005) - The sequence file entry is marked 'CLOSED' +21-236-13:26:50.041 00 SPR-I:OPRO <*> Passed (3005) - The time file entry is marked 'CLOSED' +21-236-13:26:50.046 00 SPR-I:OPRO <*> Passed (3005) - The sequence file entry has been disabled. +21-236-13:26:50.092 00 SPR-I:OPRO <*> Passed (3005) - The time file entry has been disabled. +21-236-13:26:50.093 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:26:55.101 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:26:55.101 00 SPR-I:OPRO ; Step 2.8.4: Download the files that were open prior to Step 2.8.3. +21-236-13:26:55.101 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:26:55.104 00 SPR-I:OPRO ==> Downloading '/ram/seq00000104.dat' +21-236-13:26:55.105 00 SPR-I:OPRO ==> FileName Only = 'seq00000104.dat' +21-236-13:26:55.106 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/ftp_file.i +21-236-13:26:55.106 00 SPR-I:STS Procedure FTP_FILE started +21-236-13:26:55.230 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-13:26:55.230 00 SPR-I:STS Procedure FTP_FILE completed +21-236-13:26:55.232 00 SPR-I:OPRO ==> Downloading '/ram/ti1980012140811.txt' +21-236-13:26:55.235 00 SPR-I:OPRO ==> FileName Only = 'ti1980012140811.txt' +21-236-13:26:55.236 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/ftp_file.i +21-236-13:26:55.236 00 SPR-I:STS Procedure FTP_FILE started +21-236-13:26:55.345 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-13:26:55.345 00 SPR-I:STS Procedure FTP_FILE completed +21-236-13:26:55.345 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:27:00.349 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:27:00.349 00 SPR-I:OPRO ; Step 2.9: Reload the Destination File Table in order to restore the +21-236-13:27:00.350 00 SPR-I:OPRO ; table entries to a usable state. +21-236-13:27:00.350 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:27:00.351 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/load_table.i +21-236-13:27:00.353 00 SPR-I:STS Procedure LOAD_TABLE started +21-236-13:27:00.359 00 SPR-I:OPRO Table Filename: ds_fwfile.tbl +21-236-13:27:00.363 00 SPR-I:OPRO The perl command is: perl /s/opr/accounts/global/tools/table_ftp.pl 192.168.1.8 ds_fwfile.tbl RAM:0 3 +21-236-13:27:00.363 00 SPR-I:OPRO +21-236-13:27:00.515 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-13:27:00.515 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:27:05.518 00 SPR-I:OPRO +21-236-13:27:05.519 00 SPR-I:OPRO Sending Command: /SCX_CPU1_TBL_LOAD LFILENAME="/ram/ds_fwfile.tbl" +21-236-13:27:05.520 00 CMH-I:CMD Command SFDU received:<1804C000004102152F72616D2F64735F667766696C652E74626C00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-236-13:27:05.545 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:27:06.084 00 TLMH-I:STS 58-012-14:09:08.501 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=12 Successful load of '/ram/ds_fwfile.tbl' into 'DS.FILE_TBL' working buffer +21-236-13:27:10.550 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:27:10.552 00 SPR-I:STS Procedure LOAD_TABLE completed +21-236-13:27:10.559 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:27:10.560 00 SPR-I:OPRO <*> Passed - Load command sent successfully. +21-236-13:27:10.560 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:27:15.570 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:27:15.570 00 SPR-I:OPRO ; Setup event 1 with CFE_TBL DEBUG 16 +21-236-13:27:15.570 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:27:15.575 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:27:15.576 00 SPR-I:OPRO ; Setup event 2 with CFE_TBL INFO 36 +21-236-13:27:15.576 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:27:15.577 00 CMH-I:CMD Command SFDU received:<1804C000002B0436000044532E46494C455F54424C0000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-236-13:27:15.591 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:27:16.083 00 TLMH-I:STS 58-012-14:09:18.501 DEBUG CPU=CPU1 APPNAME=CFE_TBL EVENT ID=16 Tbl Services issued validation request for 'DS.FILE_TBL' +21-236-13:27:17.585 00 TLMH-I:STS 58-012-14:09:20.004 INFO CPU=CPU1 APPNAME=DS EVENT ID=10 Destination file table verify results: desc text = OK, good entries = 8, bad = 0, unused = 8 +21-236-13:27:17.586 00 TLMH-I:STS 58-012-14:09:20.004 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=36 DS validation successful for Inactive 'DS.FILE_TBL' +21-236-13:27:17.593 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:27:17.594 00 SPR-I:OPRO <*> Passed - DS Destination File Table validate command sent. +21-236-13:27:17.594 00 SPR-I:OPRO <*> Passed - Event Msg 16 Found! +21-236-13:27:17.595 00 SPR-I:STTE Wait mode - waiting 20 seconds ... +21-236-13:27:37.617 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:27:37.617 00 SPR-I:OPRO ; Setup event 1 with CFE_TBL DEBUG 17 +21-236-13:27:37.618 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:27:37.627 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:27:37.627 00 SPR-I:OPRO ; Setup event 2 with CFE_TBL INFO 37 +21-236-13:27:37.627 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:27:37.628 00 CMH-I:CMD Command SFDU received:<1804C0000029053544532E46494C455F54424C0000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-236-13:27:37.642 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:27:38.091 00 TLMH-I:STS 58-012-14:09:40.500 DEBUG CPU=CPU1 APPNAME=CFE_TBL EVENT ID=17 Tbl Services notifying App that 'DS.FILE_TBL' has a load pending +21-236-13:27:41.590 00 TLMH-I:STS 58-012-14:09:44.003 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=37 DS Successfully Updated 'DS.FILE_TBL' +21-236-13:27:41.647 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:27:41.649 00 SPR-I:OPRO <*> Passed - Activate DS Destination File Table command sent properly. +21-236-13:27:41.650 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:27:46.654 00 SPR-I:OPRO <*> Passed - Event message 17 received +21-236-13:27:46.655 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:27:51.659 00 SPR-I:OPRO <*> Passed - DS Destination File Table Updated successfully. +21-236-13:27:51.660 00 SPR-I:OPRO <*> Passed - Event Msg 37 Found! +21-236-13:27:51.660 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:27:56.664 00 SPR-I:OPRO ;********************************************************************* +21-236-13:27:56.664 00 SPR-I:OPRO ; Step 3.0: Commanding Tests +21-236-13:27:56.665 00 SPR-I:OPRO ;********************************************************************* +21-236-13:27:56.665 00 SPR-I:OPRO ; Step 3.1: Send the Close File command on an open file. +21-236-13:27:56.665 00 SPR-I:OPRO ;********************************************************************* +21-236-13:27:56.665 00 SPR-I:OPRO ; Step 3.1.1: Send the TST_DS command that will open a file. +21-236-13:27:56.665 00 SPR-I:OPRO ;********************************************************************* +21-236-13:27:56.670 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:27:56.670 00 SPR-I:OPRO ; Setup event 1 with TST_DS INFO 5 +21-236-13:27:56.670 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:27:56.671 00 CMH-I:CMD Command SFDU received:<1943C0000009032B0000100001550000> from gs582cfslab4:SPR +21-236-13:27:56.687 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:27:57.586 00 TLMH-I:STS 58-012-14:10:00.005 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Message Size 116 to MID 0x00001000 +21-236-13:27:57.688 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:27:57.690 00 SPR-I:OPRO <*> Passed - Expected Event Msg 5 rcv'd. +21-236-13:27:57.694 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-13:27:57.720 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:27:58.587 00 TLMH-I:STS 58-012-14:10:01.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:28:01.724 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:28:01.725 00 SPR-I:OPRO <*> Passed (3000;3000.1;3000.1.1) - A file was created with name '/ram/seq00000100.dat' +21-236-13:28:01.728 00 SPR-I:OPRO <*> Passed (3001) - The file is marked 'OPEN' +21-236-13:28:01.766 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:28:06.770 00 SPR-I:OPRO ;********************************************************************* +21-236-13:28:06.771 00 SPR-I:OPRO ; Step 3.1.2: Send the Close File command for the file opened above. +21-236-13:28:06.771 00 SPR-I:OPRO ;********************************************************************* +21-236-13:28:06.778 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:28:06.778 00 SPR-I:OPRO ; Setup event 1 with DS DEBUG 59 +21-236-13:28:06.778 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:28:06.783 00 CMH-I:CMD Command SFDU received:<18BBC00000050E9700000000> from gs582cfslab4:SPR +21-236-13:28:06.807 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:28:07.589 00 TLMH-I:STS 58-012-14:10:10.003 ERROR CPU=CPU1 APPNAME=DS EVENT ID=61 FILE MOVE error: src = '/ram/seq00000100.dat', tgt = '/ram/movedir/seq00000100.dat', result = -1 +21-236-13:28:07.590 00 TLMH-I:STS 58-012-14:10:10.003 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=59 DEST CLOSE command: file table index = 0 +21-236-13:28:09.810 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:28:09.812 00 SPR-I:OPRO <*> Passed (1004;5002) - DS Close File command sent properly. +21-236-13:28:09.818 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:28:09.819 00 SPR-I:OPRO <*> Passed (1004;5002) - Expected Event Msg 59 rcv'd. +21-236-13:28:09.850 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:28:14.853 00 SPR-I:OPRO ;********************************************************************* +21-236-13:28:14.853 00 SPR-I:OPRO ; Step 3.2: Send the Close File command with an invalid length. +21-236-13:28:14.853 00 SPR-I:OPRO ;********************************************************************* +21-236-13:28:14.855 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:28:14.855 00 SPR-I:OPRO ; Setup event 1 with DS ERROR 60 +21-236-13:28:14.855 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:28:14.859 00 SPR-I:OPRO Sending: 18BBc00000060E95 +21-236-13:28:14.860 00 CMH-I:CMD Command SFDU received:<18BBC00000060E95> from gs582cfslab4:SPR +21-236-13:28:14.875 00 SPR-I:OPRO ; Telemetry update will wait a maximum of 24 seconds +21-236-13:28:14.875 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:28:15.587 00 TLMH-I:STS 58-012-14:10:17.983 ERROR CPU=CPU1 APPNAME=DS EVENT ID=60 Invalid DEST CLOSE command length: expected = 12, actual = 13 +21-236-13:28:17.878 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:28:17.885 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:28:17.886 00 SPR-I:OPRO <*> Passed (1002;1005) - DS Close File Command Rejected Counter incremented. +21-236-13:28:17.887 00 SPR-I:OPRO <*> Passed (1005) - Event message 60 received +21-236-13:28:17.920 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:28:22.924 00 SPR-I:OPRO ;********************************************************************* +21-236-13:28:22.924 00 SPR-I:OPRO ; Step 3.3: Send the Close File command with an invalid file index. +21-236-13:28:22.925 00 SPR-I:OPRO ;********************************************************************* +21-236-13:28:22.937 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:28:22.938 00 SPR-I:OPRO ; Setup event 1 with DS ERROR 60 +21-236-13:28:22.938 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:28:22.942 00 CMH-I:CMD Command SFDU received:<18BBC00000050E8700100000> from gs582cfslab4:SPR +21-236-13:28:22.958 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:28:23.585 00 TLMH-I:STS 58-012-14:10:26.001 ERROR CPU=CPU1 APPNAME=DS EVENT ID=60 Invalid DEST CLOSE command arg: file table index = 16 +21-236-13:28:25.961 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:28:25.962 00 SPR-I:OPRO <*> Passed (1005) - DS Close File command failed as expected. +21-236-13:28:25.967 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:28:25.967 00 SPR-I:OPRO <*> Passed (1005) - Expected Event Msg 60 rcv'd. +21-236-13:28:25.968 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:28:31.001 00 SPR-I:OPRO ;********************************************************************* +21-236-13:28:31.001 00 SPR-I:OPRO ; Step 3.4: Send the Set File Basename command. +21-236-13:28:31.001 00 SPR-I:OPRO ;********************************************************************* +21-236-13:28:31.009 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:28:31.009 00 SPR-I:OPRO ; Setup event 1 with DS DEBUG 49 +21-236-13:28:31.010 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:28:31.014 00 CMH-I:CMD Command SFDU received:<18BBC000004509EB000000006E657753657100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-236-13:28:31.018 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:28:31.583 00 TLMH-I:STS 58-012-14:10:34.002 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=49 DEST BASE command: file table index = 0, base filename = 'newSeq' +21-236-13:28:36.033 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:28:36.035 00 SPR-I:OPRO <*> Passed (1004;5003) - DS Set Basename command sent properly. +21-236-13:28:36.045 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:28:36.045 00 SPR-I:OPRO <*> Passed (1004;5003) - Expected Event Msg 49 rcv'd. +21-236-13:28:36.086 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:28:41.090 00 SPR-I:OPRO ;********************************************************************* +21-236-13:28:41.090 00 SPR-I:OPRO ; Step 3.5: Dump the Destination File Table to verify the change above. +21-236-13:28:41.090 00 SPR-I:OPRO ;********************************************************************* +21-236-13:28:41.091 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/get_tbl_to_cvt.i +21-236-13:28:41.093 00 SPR-I:STS Procedure GET_TBL_TO_CVT started +21-236-13:28:41.111 00 SPR-I:OPRO Sending Command: /SCX_CPU1_TBL_DUMP ACTIVE DTABLENAME="DS.FILE_TBL" DFILENAME="/ram/cpu1_filetbl35" +21-236-13:28:41.113 00 CMH-I:CMD Command SFDU received:<1804C000006B037C000144532E46494C455F54424C00000000000000000000000000000000000000000000000000000000002F72616D2F637075315F66696C6574626C3335000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-236-13:28:41.124 00 SPR-I:STTE Wait mode - waiting 15 seconds ... +21-236-13:28:41.581 00 TLMH-I:STS 58-012-14:10:44.002 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=14 Successfully dumped Table 'DS.FILE_TBL' to '/ram/cpu1_filetbl35' +21-236-13:28:56.136 00 SPR-I:OPRO +21-236-13:28:56.136 00 SPR-I:OPRO The TBLNAME is: DS.FILE_TBL +21-236-13:28:56.136 00 SPR-I:OPRO The APID is: P0F76 +21-236-13:28:56.137 00 SPR-I:OPRO The CPU is: CPU3 +21-236-13:28:56.137 00 SPR-I:OPRO The IP Address is: 192.168.1.8 +21-236-13:28:56.140 00 SPR-I:OPRO The perl command is: perl /s/opr/accounts/global/tools/ftp.pl RAM:0 cpu1_filetbl35 cpu1_filetbl35 binary 192.168.1.8 +21-236-13:28:56.328 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-13:28:56.328 00 SPR-I:STTE Wait mode - waiting 15 seconds ... +21-236-13:29:11.340 00 SPR-I:OPRO +21-236-13:29:11.349 00 SPR-I:OPRO The unix command is cvt -ws file_list[3958].file_write_time "`date +%y-%j-%T -r /s/opr/accounts/cfs_test/image/cpu1_filetbl35`" +21-236-13:29:11.349 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:29:16.354 00 SPR-I:STS Procedure GET_TBL_TO_CVT completed +21-236-13:29:16.356 00 SPR-I:OPRO <*> Passed (5003) - Table entry reflects the new Basename. +21-236-13:29:16.359 00 SPR-I:OPRO ;********************************************************************* +21-236-13:29:16.359 00 SPR-I:OPRO ; Step 3.6: Using the TST_DS application, send a message that will +21-236-13:29:16.359 00 SPR-I:OPRO ; create a file using the new basename. +21-236-13:29:16.359 00 SPR-I:OPRO ;********************************************************************* +21-236-13:29:16.367 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:29:16.367 00 SPR-I:OPRO ; Setup event 1 with TST_DS INFO 5 +21-236-13:29:16.367 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:29:16.401 00 CMH-I:CMD Command SFDU received:<1943C0000009032B0000100001550000> from gs582cfslab4:SPR +21-236-13:29:16.406 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:29:17.082 00 TLMH-I:STS 58-012-14:11:19.501 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Message Size 116 to MID 0x00001000 +21-236-13:29:17.407 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:29:17.408 00 SPR-I:OPRO <*> Passed - Expected Event Msg 5 rcv'd. +21-236-13:29:17.409 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-13:29:17.430 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:29:18.082 00 TLMH-I:STS 58-012-14:11:20.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:29:22.436 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:29:22.438 00 SPR-I:OPRO <*> Passed (3000;3000.1;3000.1.1) - A file was created with name '/ram/newSeq00000101.dat' +21-236-13:29:22.451 00 SPR-I:OPRO <*> Passed (3001) - The file is marked 'OPEN' +21-236-13:29:22.504 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:29:27.507 00 SPR-I:OPRO ;********************************************************************* +21-236-13:29:27.508 00 SPR-I:OPRO ; Step 3.7: Send the Set File Basename command with an empty string. +21-236-13:29:27.508 00 SPR-I:OPRO ;********************************************************************* +21-236-13:29:27.515 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:29:27.516 00 SPR-I:OPRO ; Setup event 1 with DS DEBUG 49 +21-236-13:29:27.516 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:29:27.520 00 CMH-I:CMD Command SFDU received:<18BBC000004509D00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-236-13:29:27.524 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:29:28.083 00 TLMH-I:STS 58-012-14:11:30.501 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=49 DEST BASE command: file table index = 0, base filename = '' +21-236-13:29:32.539 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:29:32.542 00 SPR-I:OPRO <*> Passed (1004;5003) - DS Set Basename command sent properly. +21-236-13:29:32.560 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:29:32.561 00 SPR-I:OPRO <*> Passed (1004;5003) - Expected Event Msg 49 rcv'd. +21-236-13:29:32.621 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:29:37.625 00 SPR-I:OPRO ;********************************************************************* +21-236-13:29:37.625 00 SPR-I:OPRO ; Step 3.8: Dump the Destination File Table to verify the change above. +21-236-13:29:37.625 00 SPR-I:OPRO ;********************************************************************* +21-236-13:29:37.626 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/get_tbl_to_cvt.i +21-236-13:29:37.628 00 SPR-I:STS Procedure GET_TBL_TO_CVT started +21-236-13:29:37.649 00 SPR-I:OPRO Sending Command: /SCX_CPU1_TBL_DUMP ACTIVE DTABLENAME="DS.FILE_TBL" DFILENAME="/ram/cpu1_filetbl38" +21-236-13:29:37.652 00 CMH-I:CMD Command SFDU received:<1804C000006B0371000144532E46494C455F54424C00000000000000000000000000000000000000000000000000000000002F72616D2F637075315F66696C6574626C3338000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-236-13:29:37.661 00 SPR-I:STTE Wait mode - waiting 15 seconds ... +21-236-13:29:38.584 00 TLMH-I:STS 58-012-14:11:41.002 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=14 Successfully dumped Table 'DS.FILE_TBL' to '/ram/cpu1_filetbl38' +21-236-13:29:52.673 00 SPR-I:OPRO +21-236-13:29:52.673 00 SPR-I:OPRO The TBLNAME is: DS.FILE_TBL +21-236-13:29:52.673 00 SPR-I:OPRO The APID is: P0F76 +21-236-13:29:52.674 00 SPR-I:OPRO The CPU is: CPU3 +21-236-13:29:52.674 00 SPR-I:OPRO The IP Address is: 192.168.1.8 +21-236-13:29:52.677 00 SPR-I:OPRO The perl command is: perl /s/opr/accounts/global/tools/ftp.pl RAM:0 cpu1_filetbl38 cpu1_filetbl38 binary 192.168.1.8 +21-236-13:29:52.828 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-13:29:52.829 00 SPR-I:STTE Wait mode - waiting 15 seconds ... +21-236-13:30:07.840 00 SPR-I:OPRO +21-236-13:30:07.856 00 SPR-I:OPRO The unix command is cvt -ws file_list[3958].file_write_time "`date +%y-%j-%T -r /s/opr/accounts/cfs_test/image/cpu1_filetbl38`" +21-236-13:30:07.856 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:30:12.861 00 SPR-I:STS Procedure GET_TBL_TO_CVT completed +21-236-13:30:12.863 00 SPR-I:OPRO <*> Passed (5003) - Table entry reflects the new Basename. +21-236-13:30:12.866 00 SPR-I:OPRO ;********************************************************************* +21-236-13:30:12.866 00 SPR-I:OPRO ; Step 3.9: Using the TST_DS application, send a message that will +21-236-13:30:12.866 00 SPR-I:OPRO ; create a file using the new basename. +21-236-13:30:12.867 00 SPR-I:OPRO ;********************************************************************* +21-236-13:30:12.872 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:30:12.873 00 SPR-I:OPRO ; Setup event 1 with TST_DS INFO 7 +21-236-13:30:12.873 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:30:12.913 00 CMH-I:CMD Command SFDU received:<1943C000000903D60000100003AA0000> from gs582cfslab4:SPR +21-236-13:30:12.919 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:30:13.584 00 TLMH-I:STS 58-012-14:12:16.006 ERROR CPU=CPU1 APPNAME=DS EVENT ID=61 FILE MOVE error: src = '/ram/newSeq00000101.dat', tgt = '/ram/movedir/newSeq00000101.dat', result = -1 +21-236-13:30:13.585 00 TLMH-I:STS 58-012-14:12:16.007 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=7 Sent Message Size 1016 to MID 0x00001000 +21-236-13:30:13.920 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:30:13.923 00 SPR-I:OPRO <*> Passed - Expected Event Msg 7 rcv'd. +21-236-13:30:13.925 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-13:30:13.952 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:30:14.588 00 TLMH-I:STS 58-012-14:12:17.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:30:17.957 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:30:17.960 00 SPR-I:OPRO <*> Passed (3000;3000.1;3000.1.1) - A file was created with name '/ram/00000102.dat' +21-236-13:30:17.973 00 SPR-I:OPRO <*> Passed (3001) - The file is marked 'OPEN' +21-236-13:30:18.030 00 SPR-I:OPRO ==> Downloading '/ram/newSeq00000101.dat' +21-236-13:30:18.031 00 SPR-I:OPRO ==> FileName Only = 'newSeq00000101.dat' +21-236-13:30:18.031 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/ftp_file.i +21-236-13:30:18.031 00 SPR-I:STS Procedure FTP_FILE started +21-236-13:30:18.136 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-13:30:18.136 00 SPR-I:STS Procedure FTP_FILE completed +21-236-13:30:18.136 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:30:23.139 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:30:23.140 00 SPR-I:OPRO ; Step 3.10: Send the Set File Basename command with an invalid length. +21-236-13:30:23.140 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:30:23.144 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:30:23.144 00 SPR-I:OPRO ; Setup event 1 with DS ERROR 50 +21-236-13:30:23.144 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:30:23.153 00 SPR-I:OPRO Sending: 18BBc000004609EB +21-236-13:30:23.154 00 CMH-I:CMD Command SFDU received:<18BBC000004609EB> from gs582cfslab4:SPR +21-236-13:30:23.163 00 SPR-I:OPRO ; Telemetry update will wait a maximum of 24 seconds +21-236-13:30:23.164 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:30:24.088 00 TLMH-I:STS 58-012-14:12:26.500 ERROR CPU=CPU1 APPNAME=DS EVENT ID=50 Invalid DEST BASE command length: expected = 76, actual = 77 +21-236-13:30:26.167 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:30:26.173 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:30:26.174 00 SPR-I:OPRO <*> Passed (1002;1005) - DS Set Basename Command Rejected Counter incremented. +21-236-13:30:26.178 00 SPR-I:OPRO <*> Passed (1005) - Event message 50 received +21-236-13:30:26.224 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:30:31.229 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:30:31.229 00 SPR-I:OPRO ; Step 3.11: Send the Set File Basename command with invalid arguments. +21-236-13:30:31.229 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:30:31.237 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:30:31.237 00 SPR-I:OPRO ; Setup event 1 with DS ERROR 50 +21-236-13:30:31.238 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:30:31.242 00 CMH-I:CMD Command SFDU received:<18BBC000004509E00010000062616453657100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-236-13:30:31.255 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:30:32.087 00 TLMH-I:STS 58-012-14:12:34.500 ERROR CPU=CPU1 APPNAME=DS EVENT ID=50 Invalid DEST BASE command arg: file table index = 16 +21-236-13:30:36.270 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:30:36.274 00 SPR-I:OPRO <*> Passed (1005) - DS Set Basename command failed as expected with an invalid file index. +21-236-13:30:36.283 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:30:36.284 00 SPR-I:OPRO <*> Passed (1005) - Expected Event Msg 50 rcv'd. +21-236-13:30:36.289 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:30:41.324 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:30:41.324 00 SPR-I:OPRO ; Step 3.12: Send the Set Next File Sequence Counter command. +21-236-13:30:41.324 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:30:41.326 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:30:41.326 00 SPR-I:OPRO ; Setup event 1 with DS DEBUG 57 +21-236-13:30:41.326 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:30:41.327 00 CMH-I:CMD Command SFDU received:<18BBC00000090DFB0000000000000063> from gs582cfslab4:SPR +21-236-13:30:41.338 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:30:42.080 00 TLMH-I:STS 58-012-14:12:44.501 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=57 DEST COUNT command: file table index = 0, sequence count = 99 +21-236-13:30:46.352 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:30:46.355 00 SPR-I:OPRO <*> Passed (1004;5004) - DS Set File Sequence Counter command sent properly. +21-236-13:30:46.372 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:30:46.374 00 SPR-I:OPRO <*> Passed (1004;5004) - Expected Event Msg 57 rcv'd. +21-236-13:30:46.417 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:30:51.421 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:30:51.421 00 SPR-I:OPRO ; Step 3.13: Dump the Destination File Table to verify the change above +21-236-13:30:51.422 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:30:51.422 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/get_tbl_to_cvt.i +21-236-13:30:51.426 00 SPR-I:STS Procedure GET_TBL_TO_CVT started +21-236-13:30:51.451 00 SPR-I:OPRO Sending Command: /SCX_CPU1_TBL_DUMP ACTIVE DTABLENAME="DS.FILE_TBL" DFILENAME="/ram/cpu1_filetbl313" +21-236-13:30:51.452 00 CMH-I:CMD Command SFDU received:<1804C000006B034B000144532E46494C455F54424C00000000000000000000000000000000000000000000000000000000002F72616D2F637075315F66696C6574626C3331330000000000000000000000000000000000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-236-13:30:51.455 00 SPR-I:STTE Wait mode - waiting 15 seconds ... +21-236-13:30:52.087 00 TLMH-I:STS 58-012-14:12:54.502 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=14 Successfully dumped Table 'DS.FILE_TBL' to '/ram/cpu1_filetbl313' +21-236-13:31:06.469 00 SPR-I:OPRO +21-236-13:31:06.469 00 SPR-I:OPRO The TBLNAME is: DS.FILE_TBL +21-236-13:31:06.469 00 SPR-I:OPRO The APID is: P0F76 +21-236-13:31:06.470 00 SPR-I:OPRO The CPU is: CPU3 +21-236-13:31:06.470 00 SPR-I:OPRO The IP Address is: 192.168.1.8 +21-236-13:31:06.473 00 SPR-I:OPRO The perl command is: perl /s/opr/accounts/global/tools/ftp.pl RAM:0 cpu1_filetbl313 cpu1_filetbl313 binary 192.168.1.8 +21-236-13:31:06.614 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-13:31:06.614 00 SPR-I:STTE Wait mode - waiting 15 seconds ... +21-236-13:31:21.624 00 SPR-I:OPRO +21-236-13:31:21.669 00 SPR-I:OPRO The unix command is cvt -ws file_list[3958].file_write_time "`date +%y-%j-%T -r /s/opr/accounts/cfs_test/image/cpu1_filetbl313`" +21-236-13:31:21.670 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:31:26.675 00 SPR-I:STS Procedure GET_TBL_TO_CVT completed +21-236-13:31:26.678 00 SPR-I:OPRO <*> Passed (5004) - Table entry reflects the new Sequence Count. +21-236-13:31:26.682 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:31:26.682 00 SPR-I:OPRO ; Step 3.14: Using the TST_DS application, send a message that will +21-236-13:31:26.683 00 SPR-I:OPRO ; create a file using the new sequence counter. +21-236-13:31:26.683 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:31:26.690 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:31:26.691 00 SPR-I:OPRO ; Setup event 1 with TST_DS INFO 5 +21-236-13:31:26.691 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:31:26.729 00 CMH-I:CMD Command SFDU received:<1943C0000009032B0000100001550000> from gs582cfslab4:SPR +21-236-13:31:26.743 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:31:27.580 00 TLMH-I:STS 58-012-14:13:30.003 ERROR CPU=CPU1 APPNAME=DS EVENT ID=61 FILE MOVE error: src = '/ram/00000102.dat', tgt = '/ram/movedir/00000102.dat', result = -1 +21-236-13:31:27.581 00 TLMH-I:STS 58-012-14:13:30.005 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Message Size 116 to MID 0x00001000 +21-236-13:31:27.744 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:31:27.746 00 SPR-I:OPRO <*> Passed - Expected Event Msg 5 rcv'd. +21-236-13:31:27.748 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-13:31:27.775 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:31:28.582 00 TLMH-I:STS 58-012-14:13:31.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:31:29.777 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:31:29.780 00 SPR-I:OPRO <*> Passed (3000;3000.1;3000.1.1) - A file was created with name '/ram/00000099.dat' +21-236-13:31:29.784 00 SPR-I:OPRO <*> Passed (3001) - The file is marked 'OPEN' +21-236-13:31:29.818 00 SPR-I:OPRO ==> Downloading '/ram/00000102.dat' +21-236-13:31:29.818 00 SPR-I:OPRO ==> FileName Only = '00000102.dat' +21-236-13:31:29.819 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/ftp_file.i +21-236-13:31:29.819 00 SPR-I:STS Procedure FTP_FILE started +21-236-13:31:29.921 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-13:31:29.921 00 SPR-I:STS Procedure FTP_FILE completed +21-236-13:31:29.921 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:31:34.925 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:31:34.925 00 SPR-I:OPRO ; Step 3.15: Send the Set File Sequence Counter command with an invalid +21-236-13:31:34.926 00 SPR-I:OPRO ; length. +21-236-13:31:34.926 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:31:34.932 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:31:34.932 00 SPR-I:OPRO ; Setup event 1 with DS ERROR 58 +21-236-13:31:34.932 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:31:34.935 00 SPR-I:OPRO Sending: 18BBc000000A0DE2 +21-236-13:31:34.936 00 CMH-I:CMD Command SFDU received:<18BBC000000A0DE2> from gs582cfslab4:SPR +21-236-13:31:34.939 00 SPR-I:OPRO ; Telemetry update will wait a maximum of 24 seconds +21-236-13:31:34.940 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:31:35.588 00 TLMH-I:STS 58-012-14:13:38.001 ERROR CPU=CPU1 APPNAME=DS EVENT ID=58 Invalid DEST COUNT command length: expected = 16, actual = 17 +21-236-13:31:37.943 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:31:37.951 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:31:37.951 00 SPR-I:OPRO <*> Passed (1002;1005) - DS Set File Sequence Count Command Rejected Counter incremented. +21-236-13:31:37.952 00 SPR-I:OPRO <*> Passed (1005) - Event message 58 received +21-236-13:31:37.980 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:31:42.984 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:31:42.985 00 SPR-I:OPRO ; Step 3.16: Send the Set File Sequence Counter command with invalid +21-236-13:31:42.985 00 SPR-I:OPRO ; arguments. +21-236-13:31:42.985 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:31:42.992 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:31:42.992 00 SPR-I:OPRO ; Setup event 1 with DS ERROR 58 +21-236-13:31:42.992 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:31:42.993 00 CMH-I:CMD Command SFDU received:<18BBC00000090D13001000000000009B> from gs582cfslab4:SPR +21-236-13:31:43.004 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:31:43.583 00 TLMH-I:STS 58-012-14:13:46.001 ERROR CPU=CPU1 APPNAME=DS EVENT ID=58 Invalid DEST COUNT command arg: file table index = 16 +21-236-13:31:48.010 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:31:48.011 00 SPR-I:OPRO <*> Passed (1005) - DS Set File Sequence Counter command failed as expected with an invalid file index. +21-236-13:31:48.015 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:31:48.015 00 SPR-I:OPRO <*> Passed (1005) - Event message 58 received +21-236-13:31:48.016 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:31:53.043 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:31:53.044 00 SPR-I:OPRO ; Step 3.17: Send the Disable Destination File command. +21-236-13:31:53.044 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:31:53.052 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:31:53.052 00 SPR-I:OPRO ; Setup event 1 with DS DEBUG 45 +21-236-13:31:53.052 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:31:53.057 00 CMH-I:CMD Command SFDU received:<18BBC0000005079E00000000> from gs582cfslab4:SPR +21-236-13:31:53.071 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:31:53.581 00 TLMH-I:STS 58-012-14:13:56.004 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=45 DEST STATE command: file table index = 0, file state = 0 +21-236-13:31:58.091 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:31:58.093 00 SPR-I:OPRO <*> Passed (1004;5006) - DS Disable Destination File command sent properly. +21-236-13:31:58.103 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:31:58.104 00 SPR-I:OPRO <*> Passed (1004;5006) - Expected Event Msg 45 rcv'd. +21-236-13:31:58.137 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-13:31:58.153 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:31:58.579 00 TLMH-I:STS 58-012-14:14:01.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:32:02.157 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:32:02.159 00 SPR-I:OPRO <*> Passed (5006) - The sequence file entry has been disabled. +21-236-13:32:02.163 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:32:07.167 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:32:07.167 00 SPR-I:OPRO ; Step 3.18: Dump the Destination File Table to verify the change above +21-236-13:32:07.167 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:32:07.168 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/get_tbl_to_cvt.i +21-236-13:32:07.170 00 SPR-I:STS Procedure GET_TBL_TO_CVT started +21-236-13:32:07.187 00 SPR-I:OPRO Sending Command: /SCX_CPU1_TBL_DUMP ACTIVE DTABLENAME="DS.FILE_TBL" DFILENAME="/ram/cpu1_filetbl318" +21-236-13:32:07.189 00 CMH-I:CMD Command SFDU received:<1804C000006B0340000144532E46494C455F54424C00000000000000000000000000000000000000000000000000000000002F72616D2F637075315F66696C6574626C3331380000000000000000000000000000000000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-236-13:32:07.201 00 SPR-I:STTE Wait mode - waiting 15 seconds ... +21-236-13:32:08.080 00 TLMH-I:STS 58-012-14:14:10.502 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=14 Successfully dumped Table 'DS.FILE_TBL' to '/ram/cpu1_filetbl318' +21-236-13:32:22.213 00 SPR-I:OPRO +21-236-13:32:22.213 00 SPR-I:OPRO The TBLNAME is: DS.FILE_TBL +21-236-13:32:22.213 00 SPR-I:OPRO The APID is: P0F76 +21-236-13:32:22.213 00 SPR-I:OPRO The CPU is: CPU3 +21-236-13:32:22.213 00 SPR-I:OPRO The IP Address is: 192.168.1.8 +21-236-13:32:22.216 00 SPR-I:OPRO The perl command is: perl /s/opr/accounts/global/tools/ftp.pl RAM:0 cpu1_filetbl318 cpu1_filetbl318 binary 192.168.1.8 +21-236-13:32:22.368 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-13:32:22.368 00 SPR-I:STTE Wait mode - waiting 15 seconds ... +21-236-13:32:37.377 00 SPR-I:OPRO +21-236-13:32:37.390 00 SPR-I:OPRO The unix command is cvt -ws file_list[3958].file_write_time "`date +%y-%j-%T -r /s/opr/accounts/cfs_test/image/cpu1_filetbl318`" +21-236-13:32:37.390 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:32:42.394 00 SPR-I:STS Procedure GET_TBL_TO_CVT completed +21-236-13:32:42.395 00 SPR-I:OPRO <*> Passed (5006) - Table entry indicates that it is 'DISABLED'. +21-236-13:32:42.396 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:32:42.396 00 SPR-I:OPRO ; Step 3.19: Using the TST_DS application, send a message to the entry +21-236-13:32:42.396 00 SPR-I:OPRO ; disabled above. The message should not get stored. +21-236-13:32:42.396 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:32:42.398 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:32:42.398 00 SPR-I:OPRO ; Setup event 1 with TST_DS INFO 5 +21-236-13:32:42.417 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:32:42.418 00 CMH-I:CMD Command SFDU received:<1943C0000009032B0000100001550000> from gs582cfslab4:SPR +21-236-13:32:42.423 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:32:43.086 00 TLMH-I:STS 58-012-14:14:45.500 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Message Size 116 to MID 0x00001000 +21-236-13:32:43.424 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:32:43.425 00 SPR-I:OPRO <*> Passed - Expected Event Msg 5 rcv'd. +21-236-13:32:43.427 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-13:32:43.452 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:32:44.088 00 TLMH-I:STS 58-012-14:14:46.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:32:46.455 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:32:46.458 00 SPR-I:OPRO <*> Passed (5006) - The filtered Packet Counter incremented indicating that the message was not stored. +21-236-13:32:46.463 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:32:51.467 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:32:51.467 00 SPR-I:OPRO ; Step 3.20: Send the Disable Destination File command with an invalid +21-236-13:32:51.467 00 SPR-I:OPRO ; length. +21-236-13:32:51.467 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:32:51.469 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:32:51.469 00 SPR-I:OPRO ; Setup event 1 with DS ERROR 46 +21-236-13:32:51.469 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:32:51.475 00 SPR-I:OPRO Sending: 18BBc0000006079C +21-236-13:32:51.476 00 CMH-I:CMD Command SFDU received:<18BBC0000006079C> from gs582cfslab4:SPR +21-236-13:32:51.491 00 SPR-I:OPRO ; Telemetry update will wait a maximum of 24 seconds +21-236-13:32:51.492 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:32:52.082 00 TLMH-I:STS 58-012-14:14:54.500 ERROR CPU=CPU1 APPNAME=DS EVENT ID=46 Invalid DEST STATE command length: expected = 12, actual = 13 +21-236-13:32:54.495 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:32:54.515 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:32:54.519 00 SPR-I:OPRO <*> Passed (1002;1005) - DS Disable Destination File Command Rejected Counter incremented. +21-236-13:32:54.534 00 SPR-I:OPRO <*> Passed (1005) - Event message 46 received +21-236-13:32:54.574 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:32:59.578 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:32:59.578 00 SPR-I:OPRO ; Step 3.21: Send the Disable Destination File command with invalid +21-236-13:32:59.578 00 SPR-I:OPRO ; arguments. +21-236-13:32:59.578 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:32:59.578 00 SPR-I:OPRO ; Step 3.21.1: Send the command with an invalid file index. +21-236-13:32:59.578 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:32:59.580 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:32:59.580 00 SPR-I:OPRO ; Setup event 1 with DS ERROR 46 +21-236-13:32:59.580 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:32:59.581 00 CMH-I:CMD Command SFDU received:<18BBC0000005078E00100000> from gs582cfslab4:SPR +21-236-13:32:59.592 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:33:00.081 00 TLMH-I:STS 58-012-14:15:02.500 ERROR CPU=CPU1 APPNAME=DS EVENT ID=46 Invalid DEST STATE command arg: file table index = 16 +21-236-13:33:04.607 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:33:04.610 00 SPR-I:OPRO <*> Passed (1005) - DS Disable Destination File command failed as expected with an invalid file index. +21-236-13:33:04.627 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:33:04.629 00 SPR-I:OPRO <*> Passed (1005) - Event message 46 received +21-236-13:33:04.632 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:33:09.669 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:33:09.669 00 SPR-I:OPRO ; Step 3.21.2: Send the command with an invalid state. +21-236-13:33:09.669 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:33:09.677 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:33:09.678 00 SPR-I:OPRO ; Setup event 1 with DS ERROR 46 +21-236-13:33:09.678 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:33:09.683 00 SPR-I:OPRO Sending: 18BBc0000005079C00000003 +21-236-13:33:09.684 00 CMH-I:CMD Command SFDU received:<18BBC0000005079C00000003> from gs582cfslab4:SPR +21-236-13:33:09.699 00 SPR-I:OPRO ; Telemetry update will wait a maximum of 24 seconds +21-236-13:33:09.699 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:33:10.579 00 TLMH-I:STS 58-012-14:15:13.001 ERROR CPU=CPU1 APPNAME=DS EVENT ID=46 Invalid DEST STATE command arg: file state = 3 +21-236-13:33:13.703 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:33:13.714 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:33:13.715 00 SPR-I:OPRO <*> Passed (1005) - DS Disable Destination File Command Rejected Counter incremented. +21-236-13:33:13.716 00 SPR-I:OPRO <*> Passed (1005) - Event message 46 received +21-236-13:33:13.745 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:33:18.749 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:33:18.749 00 SPR-I:OPRO ; Step 3.21.3: Send the command for a destination that is disabled. +21-236-13:33:18.749 00 SPR-I:OPRO ; This command should be accepted. +21-236-13:33:18.749 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:33:18.754 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:33:18.755 00 SPR-I:OPRO ; Setup event 1 with DS DEBUG 45 +21-236-13:33:18.755 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:33:18.758 00 CMH-I:CMD Command SFDU received:<18BBC0000005079E00000000> from gs582cfslab4:SPR +21-236-13:33:18.762 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:33:19.577 00 TLMH-I:STS 58-012-14:15:22.002 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=45 DEST STATE command: file table index = 0, file state = 0 +21-236-13:33:23.779 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:33:23.782 00 SPR-I:OPRO <*> Passed (1004;5006) - DS Disable Destination File command sent properly. +21-236-13:33:23.801 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:33:23.803 00 SPR-I:OPRO <*> Passed (1004;5006) - Expected Event Msg 45 rcv'd. +21-236-13:33:23.845 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:33:28.849 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:33:28.850 00 SPR-I:OPRO ; Step 3.22: Send the Enable Destination File command. +21-236-13:33:28.850 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:33:28.858 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:33:28.859 00 SPR-I:OPRO ; Setup event 1 with DS DEBUG 45 +21-236-13:33:28.859 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:33:28.863 00 CMH-I:CMD Command SFDU received:<18BBC0000005079F00000001> from gs582cfslab4:SPR +21-236-13:33:28.878 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:33:29.586 00 TLMH-I:STS 58-012-14:15:32.004 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=45 DEST STATE command: file table index = 0, file state = 1 +21-236-13:33:33.891 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:33:33.892 00 SPR-I:OPRO <*> Passed (1004;5005) - DS Enable Destination File command sent properly. +21-236-13:33:33.898 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:33:33.899 00 SPR-I:OPRO <*> Passed (1004;5005) - Expected Event Msg 45 rcv'd. +21-236-13:33:33.934 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-13:33:33.937 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:33:34.586 00 TLMH-I:STS 58-012-14:15:37.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:33:37.941 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:33:37.942 00 SPR-I:OPRO <*> Passed (5005) - The sequence file entry has been enabled. +21-236-13:33:37.943 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:33:42.947 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:33:42.947 00 SPR-I:OPRO ; Step 3.23: Dump the Destination File Table to verify the change above +21-236-13:33:42.947 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:33:42.947 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/get_tbl_to_cvt.i +21-236-13:33:42.948 00 SPR-I:STS Procedure GET_TBL_TO_CVT started +21-236-13:33:42.954 00 SPR-I:OPRO Sending Command: /SCX_CPU1_TBL_DUMP ACTIVE DTABLENAME="DS.FILE_TBL" DFILENAME="/ram/cpu1_filetbl323" +21-236-13:33:42.954 00 CMH-I:CMD Command SFDU received:<1804C000006B0348000144532E46494C455F54424C00000000000000000000000000000000000000000000000000000000002F72616D2F637075315F66696C6574626C3332330000000000000000000000000000000000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-236-13:33:42.956 00 SPR-I:STTE Wait mode - waiting 15 seconds ... +21-236-13:33:43.581 00 TLMH-I:STS 58-012-14:15:46.002 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=14 Successfully dumped Table 'DS.FILE_TBL' to '/ram/cpu1_filetbl323' +21-236-13:33:57.968 00 SPR-I:OPRO +21-236-13:33:57.968 00 SPR-I:OPRO The TBLNAME is: DS.FILE_TBL +21-236-13:33:57.968 00 SPR-I:OPRO The APID is: P0F76 +21-236-13:33:57.968 00 SPR-I:OPRO The CPU is: CPU3 +21-236-13:33:57.968 00 SPR-I:OPRO The IP Address is: 192.168.1.8 +21-236-13:33:57.971 00 SPR-I:OPRO The perl command is: perl /s/opr/accounts/global/tools/ftp.pl RAM:0 cpu1_filetbl323 cpu1_filetbl323 binary 192.168.1.8 +21-236-13:33:58.112 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-13:33:58.112 00 SPR-I:STTE Wait mode - waiting 15 seconds ... +21-236-13:34:13.122 00 SPR-I:OPRO +21-236-13:34:13.134 00 SPR-I:OPRO The unix command is cvt -ws file_list[3958].file_write_time "`date +%y-%j-%T -r /s/opr/accounts/cfs_test/image/cpu1_filetbl323`" +21-236-13:34:13.134 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:34:18.138 00 SPR-I:STS Procedure GET_TBL_TO_CVT completed +21-236-13:34:18.140 00 SPR-I:OPRO <*> Passed (5005) - Table entry indicates that it is 'ENABLED'. +21-236-13:34:18.144 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:34:18.144 00 SPR-I:OPRO ; Step 3.24: Using the TST_DS application, send a message to the entry +21-236-13:34:18.144 00 SPR-I:OPRO ; enabled above. The message should get stored. +21-236-13:34:18.144 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:34:18.192 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:34:18.192 00 SPR-I:OPRO ; Setup event 1 with TST_DS INFO 5 +21-236-13:34:18.192 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:34:18.194 00 CMH-I:CMD Command SFDU received:<1943C000000903D40000100001AA0000> from gs582cfslab4:SPR +21-236-13:34:18.209 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:34:19.083 00 TLMH-I:STS 58-012-14:16:21.500 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Message Size 116 to MID 0x00001000 +21-236-13:34:19.210 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:34:19.211 00 SPR-I:OPRO <*> Passed - Expected Event Msg 5 rcv'd. +21-236-13:34:19.211 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-13:34:19.228 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:34:20.077 00 TLMH-I:STS 58-012-14:16:22.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:34:22.233 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:34:22.236 00 SPR-I:OPRO <*> Passed (5005) - The message was rcv'd and stored properly. +21-236-13:34:22.240 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:34:27.244 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:34:27.245 00 SPR-I:OPRO ; Step 3.25: Send the Enable Destination File command with an invalid +21-236-13:34:27.245 00 SPR-I:OPRO ; length. +21-236-13:34:27.245 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:34:27.251 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:34:27.252 00 SPR-I:OPRO ; Setup event 1 with DS ERROR 46 +21-236-13:34:27.252 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:34:27.267 00 SPR-I:OPRO Sending: 18BBc0000006079C +21-236-13:34:27.271 00 CMH-I:CMD Command SFDU received:<18BBC0000006079C> from gs582cfslab4:SPR +21-236-13:34:27.290 00 SPR-I:OPRO ; Telemetry update will wait a maximum of 24 seconds +21-236-13:34:27.291 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:34:28.079 00 TLMH-I:STS 58-012-14:16:30.500 ERROR CPU=CPU1 APPNAME=DS EVENT ID=46 Invalid DEST STATE command length: expected = 12, actual = 13 +21-236-13:34:30.294 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:34:30.309 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:34:30.310 00 SPR-I:OPRO <*> Passed (1002;1005) - DS Enable Destination File Command Rejected Counter incremented. +21-236-13:34:30.314 00 SPR-I:OPRO <*> Passed (1005) - Event message 46 received +21-236-13:34:30.352 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:34:35.356 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:34:35.356 00 SPR-I:OPRO ; Step 3.26: Send the Enable Destination File command with invalid +21-236-13:34:35.356 00 SPR-I:OPRO ; arguments. +21-236-13:34:35.356 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:34:35.356 00 SPR-I:OPRO ; Step 3.26.1: Send the command with an invalid file index. +21-236-13:34:35.356 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:34:35.359 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:34:35.359 00 SPR-I:OPRO ; Setup event 1 with DS ERROR 46 +21-236-13:34:35.359 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:34:35.361 00 CMH-I:CMD Command SFDU received:<18BBC0000005078F00100001> from gs582cfslab4:SPR +21-236-13:34:35.372 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:34:36.083 00 TLMH-I:STS 58-012-14:16:38.500 ERROR CPU=CPU1 APPNAME=DS EVENT ID=46 Invalid DEST STATE command arg: file table index = 16 +21-236-13:34:40.386 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:34:40.388 00 SPR-I:OPRO <*> Passed (1005) - DS Enable Destination File command failed as expected with an invalid file index. +21-236-13:34:40.401 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:34:40.403 00 SPR-I:OPRO <*> Passed (1005) - Event message 46 received +21-236-13:34:40.407 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:34:45.448 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:34:45.448 00 SPR-I:OPRO ; Step 3.26.2: Send the command with an invalid state. +21-236-13:34:45.448 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:34:45.451 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:34:45.451 00 SPR-I:OPRO ; Setup event 1 with DS ERROR 46 +21-236-13:34:45.451 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:34:45.458 00 SPR-I:OPRO Sending: 18BBc0000005079C00000003 +21-236-13:34:45.459 00 CMH-I:CMD Command SFDU received:<18BBC0000005079C00000003> from gs582cfslab4:SPR +21-236-13:34:45.476 00 SPR-I:OPRO ; Telemetry update will wait a maximum of 24 seconds +21-236-13:34:45.476 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:34:46.083 00 TLMH-I:STS 58-012-14:16:48.500 ERROR CPU=CPU1 APPNAME=DS EVENT ID=46 Invalid DEST STATE command arg: file state = 3 +21-236-13:34:46.477 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:34:46.478 00 SPR-I:STTE Wait mode - waiting 1 seconds ... +21-236-13:34:47.479 00 SPR-I:STTE Wait mode - waiting 1 seconds ... +21-236-13:34:48.480 00 SPR-I:STTE Wait mode - waiting 1 seconds ... +21-236-13:34:49.482 00 SPR-I:STTE Wait mode - waiting 1 seconds ... +21-236-13:34:50.488 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:34:50.489 00 SPR-I:OPRO <*> Passed (1005) - DS Disable Destination File Command Rejected Counter incremented. +21-236-13:34:50.491 00 SPR-I:OPRO <*> Passed (1005) - Event message 46 received +21-236-13:34:50.519 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:34:55.523 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:34:55.523 00 SPR-I:OPRO ; Step 3.26.3: Send the command for a destination that is enabled. +21-236-13:34:55.524 00 SPR-I:OPRO ; This command should be accepted. +21-236-13:34:55.524 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:34:55.527 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:34:55.527 00 SPR-I:OPRO ; Setup event 1 with DS DEBUG 45 +21-236-13:34:55.527 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:34:55.530 00 CMH-I:CMD Command SFDU received:<18BBC0000005079F00000001> from gs582cfslab4:SPR +21-236-13:34:55.542 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:34:56.086 00 TLMH-I:STS 58-012-14:16:58.501 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=45 DEST STATE command: file table index = 0, file state = 1 +21-236-13:35:00.557 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:35:00.560 00 SPR-I:OPRO <*> Passed (1004;5005) - DS Enable Destination File command sent properly. +21-236-13:35:00.581 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:35:00.583 00 SPR-I:OPRO <*> Passed (1004;5005) - Expected Event Msg 45 rcv'd. +21-236-13:35:00.625 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:35:05.629 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:35:05.629 00 SPR-I:OPRO ; Step 3.27: Send the Set Destination File Type command. +21-236-13:35:05.629 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:35:05.635 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:35:05.635 00 SPR-I:OPRO ; Setup event 1 with DS DEBUG 43 +21-236-13:35:05.635 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:35:05.636 00 CMH-I:CMD Command SFDU received:<18BBC0000005069D00000002> from gs582cfslab4:SPR +21-236-13:35:05.647 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:35:06.086 00 TLMH-I:STS 58-012-14:17:08.501 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=43 DEST TYPE command: file table index = 0, filename type = 2 +21-236-13:35:10.659 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:35:10.661 00 SPR-I:OPRO <*> Passed (1004;5011) - DS Set Destination File Type command sent properly. +21-236-13:35:10.674 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:35:10.675 00 SPR-I:OPRO <*> Passed (1004;5011) - Expected Event Msg 43 rcv'd. +21-236-13:35:10.712 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:35:15.716 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:35:15.716 00 SPR-I:OPRO ; Step 3.28: Dump the Destination File Table to verify the change above +21-236-13:35:15.717 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:35:15.717 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/get_tbl_to_cvt.i +21-236-13:35:15.719 00 SPR-I:STS Procedure GET_TBL_TO_CVT started +21-236-13:35:15.740 00 SPR-I:OPRO Sending Command: /SCX_CPU1_TBL_DUMP ACTIVE DTABLENAME="DS.FILE_TBL" DFILENAME="/ram/cpu1_filetbl328" +21-236-13:35:15.743 00 CMH-I:CMD Command SFDU received:<1804C000006B0343000144532E46494C455F54424C00000000000000000000000000000000000000000000000000000000002F72616D2F637075315F66696C6574626C3332380000000000000000000000000000000000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-236-13:35:15.747 00 SPR-I:STTE Wait mode - waiting 15 seconds ... +21-236-13:35:16.581 00 TLMH-I:STS 58-012-14:17:19.002 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=14 Successfully dumped Table 'DS.FILE_TBL' to '/ram/cpu1_filetbl328' +21-236-13:35:30.759 00 SPR-I:OPRO +21-236-13:35:30.759 00 SPR-I:OPRO The TBLNAME is: DS.FILE_TBL +21-236-13:35:30.759 00 SPR-I:OPRO The APID is: P0F76 +21-236-13:35:30.759 00 SPR-I:OPRO The CPU is: CPU3 +21-236-13:35:30.759 00 SPR-I:OPRO The IP Address is: 192.168.1.8 +21-236-13:35:30.763 00 SPR-I:OPRO The perl command is: perl /s/opr/accounts/global/tools/ftp.pl RAM:0 cpu1_filetbl328 cpu1_filetbl328 binary 192.168.1.8 +21-236-13:35:30.941 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-13:35:30.941 00 SPR-I:STTE Wait mode - waiting 15 seconds ... +21-236-13:35:45.952 00 SPR-I:OPRO +21-236-13:35:45.967 00 SPR-I:OPRO The unix command is cvt -ws file_list[3958].file_write_time "`date +%y-%j-%T -r /s/opr/accounts/cfs_test/image/cpu1_filetbl328`" +21-236-13:35:45.967 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:35:50.971 00 SPR-I:STS Procedure GET_TBL_TO_CVT completed +21-236-13:35:50.973 00 SPR-I:OPRO <*> Passed (5011) - Table entry indicates 'Time' naming. +21-236-13:35:50.976 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:35:50.977 00 SPR-I:OPRO ; Step 3.29: Using the TST_DS application, send a message that will +21-236-13:35:50.977 00 SPR-I:OPRO ; create a file using the new naming. +21-236-13:35:50.977 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:35:50.978 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:35:50.978 00 SPR-I:OPRO ; Setup event 1 with TST_DS INFO 7 +21-236-13:35:50.978 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:35:50.992 00 CMH-I:CMD Command SFDU received:<1943C000000903C70000100003BB0000> from gs582cfslab4:SPR +21-236-13:35:50.996 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:35:51.576 00 TLMH-I:STS 58-012-14:17:54.004 ERROR CPU=CPU1 APPNAME=DS EVENT ID=61 FILE MOVE error: src = '/ram/00000099.dat', tgt = '/ram/movedir/00000099.dat', result = -1 +21-236-13:35:51.578 00 TLMH-I:STS 58-012-14:17:54.005 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=7 Sent Message Size 1016 to MID 0x00001000 +21-236-13:35:51.997 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:35:51.999 00 SPR-I:OPRO <*> Passed - Expected Event Msg 7 rcv'd. +21-236-13:35:52.001 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-13:35:52.028 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:35:52.577 00 TLMH-I:STS 58-012-14:17:55.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:35:54.031 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:35:54.034 00 SPR-I:OPRO <*> Passed (3000) - A file was created with name '/ram/1980012141754.dat' +21-236-13:35:54.039 00 SPR-I:OPRO <*> Passed (3001) - The file is marked 'OPEN' +21-236-13:35:54.043 00 SPR-I:OPRO ==> Downloading '/ram/00000099.dat' +21-236-13:35:54.095 00 SPR-I:OPRO ==> FileName Only = '00000099.dat' +21-236-13:35:54.095 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/ftp_file.i +21-236-13:35:54.095 00 SPR-I:STS Procedure FTP_FILE started +21-236-13:35:54.193 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-13:35:54.193 00 SPR-I:STS Procedure FTP_FILE completed +21-236-13:35:54.193 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:35:59.197 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:35:59.198 00 SPR-I:OPRO ; Step 3.30: Send the Set Destination File Type command with an invalid +21-236-13:35:59.198 00 SPR-I:OPRO ; length. +21-236-13:35:59.198 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:35:59.206 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:35:59.207 00 SPR-I:OPRO ; Setup event 1 with DS ERROR 44 +21-236-13:35:59.207 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:35:59.223 00 SPR-I:OPRO Sending: 18BBc0000006069C +21-236-13:35:59.226 00 CMH-I:CMD Command SFDU received:<18BBC0000006069C> from gs582cfslab4:SPR +21-236-13:35:59.244 00 SPR-I:OPRO ; Telemetry update will wait a maximum of 24 seconds +21-236-13:35:59.244 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:36:00.076 00 TLMH-I:STS 58-012-14:18:02.500 ERROR CPU=CPU1 APPNAME=DS EVENT ID=44 Invalid DEST TYPE command length: expected = 12, actual = 13 +21-236-13:36:02.247 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:36:02.268 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:36:02.270 00 SPR-I:OPRO <*> Passed (1002;1005) - DS Set Destination File Type Command Rejected Counter incremented. +21-236-13:36:02.274 00 SPR-I:OPRO <*> Passed (1005) - Event message 44 received +21-236-13:36:02.309 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:36:07.313 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:36:07.313 00 SPR-I:OPRO ; Step 3.31: Send the Set Destination File Type command with invalid +21-236-13:36:07.314 00 SPR-I:OPRO ; arguments. +21-236-13:36:07.314 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:36:07.314 00 SPR-I:OPRO ; Step 3.31.1: Send the command with an invalid file index. +21-236-13:36:07.314 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:36:07.321 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:36:07.322 00 SPR-I:OPRO ; Setup event 1 with DS ERROR 44 +21-236-13:36:07.322 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:36:07.326 00 CMH-I:CMD Command SFDU received:<18BBC0000005068D00100002> from gs582cfslab4:SPR +21-236-13:36:07.330 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:36:08.076 00 TLMH-I:STS 58-012-14:18:10.500 ERROR CPU=CPU1 APPNAME=DS EVENT ID=44 Invalid DEST TYPE command arg: file table index = 16 +21-236-13:36:12.345 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:36:12.348 00 SPR-I:OPRO <*> Passed (1005) - DS Set Destination File Type command failed as expected with an invalid file index. +21-236-13:36:12.365 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:36:12.369 00 SPR-I:OPRO <*> Passed (1005) - Event message 44 received +21-236-13:36:12.372 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:36:17.408 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:36:17.408 00 SPR-I:OPRO ; Step 3.31.2: Send the command with an invalid type. +21-236-13:36:17.408 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:36:17.412 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:36:17.413 00 SPR-I:OPRO ; Setup event 1 with DS ERROR 44 +21-236-13:36:17.413 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:36:17.416 00 CMH-I:CMD Command SFDU received:<18BBC0000005069C00000003> from gs582cfslab4:SPR +21-236-13:36:17.428 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:36:18.084 00 TLMH-I:STS 58-012-14:18:20.500 ERROR CPU=CPU1 APPNAME=DS EVENT ID=44 Invalid DEST TYPE command arg: filename type = 3 +21-236-13:36:22.438 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:36:22.439 00 SPR-I:OPRO <*> Passed (1005) - DS Set Destination File Type command failed as expected with an invalid file index. +21-236-13:36:22.448 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:36:22.450 00 SPR-I:OPRO <*> Passed (1005) - Event message 44 received +21-236-13:36:22.452 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:36:27.481 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:36:27.481 00 SPR-I:OPRO ; Step 3.32: Send the Set Path command. +21-236-13:36:27.482 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:36:27.488 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:36:27.488 00 SPR-I:OPRO ; Setup event 1 with DS DEBUG 47 +21-236-13:36:27.489 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:36:27.493 00 CMH-I:CMD Command SFDU received:<18BBC000004508D4000000002F63662F000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-236-13:36:27.496 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:36:28.080 00 TLMH-I:STS 58-012-14:18:30.501 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=47 DEST PATH command: file table index = 0, pathname = '/cf/' +21-236-13:36:32.508 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:36:32.510 00 SPR-I:OPRO <*> Passed (1004;5012) - DS Set Path command sent properly. +21-236-13:36:32.518 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:36:32.519 00 SPR-I:OPRO <*> Passed (1004;5012) - Expected Event Msg 47 rcv'd. +21-236-13:36:32.555 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:36:37.559 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:36:37.559 00 SPR-I:OPRO ; Step 3.33: Dump the Destination File Table to verify the change above +21-236-13:36:37.560 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:36:37.560 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/get_tbl_to_cvt.i +21-236-13:36:37.560 00 SPR-I:STS Procedure GET_TBL_TO_CVT started +21-236-13:36:37.566 00 SPR-I:OPRO Sending Command: /SCX_CPU1_TBL_DUMP ACTIVE DTABLENAME="DS.FILE_TBL" DFILENAME="/ram/cpu1_filetbl333" +21-236-13:36:37.567 00 CMH-I:CMD Command SFDU received:<1804C000006B0349000144532E46494C455F54424C00000000000000000000000000000000000000000000000000000000002F72616D2F637075315F66696C6574626C3333330000000000000000000000000000000000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-236-13:36:37.578 00 SPR-I:STTE Wait mode - waiting 15 seconds ... +21-236-13:36:38.084 00 TLMH-I:STS 58-012-14:18:40.502 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=14 Successfully dumped Table 'DS.FILE_TBL' to '/ram/cpu1_filetbl333' +21-236-13:36:52.589 00 SPR-I:OPRO +21-236-13:36:52.590 00 SPR-I:OPRO The TBLNAME is: DS.FILE_TBL +21-236-13:36:52.590 00 SPR-I:OPRO The APID is: P0F76 +21-236-13:36:52.590 00 SPR-I:OPRO The CPU is: CPU3 +21-236-13:36:52.590 00 SPR-I:OPRO The IP Address is: 192.168.1.8 +21-236-13:36:52.593 00 SPR-I:OPRO The perl command is: perl /s/opr/accounts/global/tools/ftp.pl RAM:0 cpu1_filetbl333 cpu1_filetbl333 binary 192.168.1.8 +21-236-13:36:52.770 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-13:36:52.770 00 SPR-I:STTE Wait mode - waiting 15 seconds ... +21-236-13:37:07.780 00 SPR-I:OPRO +21-236-13:37:07.822 00 SPR-I:OPRO The unix command is cvt -ws file_list[3958].file_write_time "`date +%y-%j-%T -r /s/opr/accounts/cfs_test/image/cpu1_filetbl333`" +21-236-13:37:07.822 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:37:12.827 00 SPR-I:STS Procedure GET_TBL_TO_CVT completed +21-236-13:37:12.830 00 SPR-I:OPRO <*> Passed (5012) - Table entry indicates the correct path. +21-236-13:37:12.834 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:37:12.834 00 SPR-I:OPRO ; Step 3.34: Using the TST_DS application, send a message that will +21-236-13:37:12.834 00 SPR-I:OPRO ; create a file using the new naming. +21-236-13:37:12.834 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:37:12.841 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:37:12.842 00 SPR-I:OPRO ; Setup event 1 with TST_DS INFO 7 +21-236-13:37:12.842 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:37:12.882 00 CMH-I:CMD Command SFDU received:<1943C000000903D90000100003A50000> from gs582cfslab4:SPR +21-236-13:37:12.897 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:37:13.582 00 TLMH-I:STS 58-012-14:19:16.006 ERROR CPU=CPU1 APPNAME=DS EVENT ID=61 FILE MOVE error: src = '/ram/1980012141754.dat', tgt = '/ram/movedir/1980012141754.dat', result = -1 +21-236-13:37:13.583 00 TLMH-I:STS 58-012-14:19:16.008 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=7 Sent Message Size 1016 to MID 0x00001000 +21-236-13:37:13.898 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:37:13.901 00 SPR-I:OPRO <*> Passed - Expected Event Msg 7 rcv'd. +21-236-13:37:13.903 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-13:37:13.934 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:37:14.579 00 TLMH-I:STS 58-012-14:19:17.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:37:17.938 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:37:17.941 00 SPR-I:OPRO <*> Passed (3000) - A file was created with name '/cf/1980012141916.dat' +21-236-13:37:17.946 00 SPR-I:OPRO <*> Passed (3001) - The file is marked 'OPEN' +21-236-13:37:17.951 00 SPR-I:OPRO ==> Downloading '/ram/1980012141754.dat' +21-236-13:37:18.004 00 SPR-I:OPRO ==> FileName Only = '1980012141754.dat' +21-236-13:37:18.004 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/ftp_file.i +21-236-13:37:18.004 00 SPR-I:STS Procedure FTP_FILE started +21-236-13:37:18.109 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-13:37:18.109 00 SPR-I:STS Procedure FTP_FILE completed +21-236-13:37:18.112 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:37:23.116 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:37:23.117 00 SPR-I:OPRO ; Step 3.35: Send the Set Path command with an invalid length. +21-236-13:37:23.117 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:37:23.122 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:37:23.122 00 SPR-I:OPRO ; Setup event 1 with DS ERROR 48 +21-236-13:37:23.122 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:37:23.128 00 SPR-I:OPRO Sending: 18BBc0000046089C +21-236-13:37:23.129 00 CMH-I:CMD Command SFDU received:<18BBC0000046089C> from gs582cfslab4:SPR +21-236-13:37:23.144 00 SPR-I:OPRO ; Telemetry update will wait a maximum of 24 seconds +21-236-13:37:23.145 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:37:23.585 00 TLMH-I:STS 58-012-14:19:26.001 ERROR CPU=CPU1 APPNAME=DS EVENT ID=48 Invalid DEST PATH command length: expected = 76, actual = 77 +21-236-13:37:26.147 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:37:26.153 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:37:26.154 00 SPR-I:OPRO <*> Passed (1002;1005) - DS Set Path Command Rejected Counter incremented. +21-236-13:37:26.156 00 SPR-I:OPRO <*> Passed (1005) - Event message 48 received +21-236-13:37:26.185 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:37:31.189 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:37:31.189 00 SPR-I:OPRO ; Step 3.36: Send the Set Path command with invalid arguments. +21-236-13:37:31.189 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:37:31.190 00 SPR-I:OPRO ; Step 3.36.1: Send the command with an invalid file index. +21-236-13:37:31.190 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:37:31.196 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:37:31.196 00 SPR-I:OPRO ; Setup event 1 with DS ERROR 48 +21-236-13:37:31.196 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:37:31.197 00 CMH-I:CMD Command SFDU received:<18BBC000004508BF001000002F72616D2F0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-236-13:37:31.209 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:37:32.077 00 TLMH-I:STS 58-012-14:19:34.500 ERROR CPU=CPU1 APPNAME=DS EVENT ID=48 Invalid DEST PATH command arg: file table index = 16 +21-236-13:37:36.224 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:37:36.226 00 SPR-I:OPRO <*> Passed (1005) - DS Set Path command failed as expected with an invalid file index. +21-236-13:37:36.233 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:37:36.234 00 SPR-I:OPRO <*> Passed (1005) - Event message 48 received +21-236-13:37:36.235 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:37:41.262 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:37:41.262 00 SPR-I:OPRO ; Step 3.36.2: Send the command with an empty path. +21-236-13:37:41.262 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:37:41.268 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:37:41.269 00 SPR-I:OPRO ; Setup event 1 with DS ERROR 48 +21-236-13:37:41.269 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:37:41.274 00 CMH-I:CMD Command SFDU received:<18BBC000004508D10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-236-13:37:41.288 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:37:42.078 00 TLMH-I:STS 58-012-14:19:44.500 ERROR CPU=CPU1 APPNAME=DS EVENT ID=48 Invalid DEST PATH command arg: pathname +21-236-13:37:46.296 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:37:46.298 00 SPR-I:OPRO <*> Passed (1005) - DS Set Path command failed as expected with an invalid file index. +21-236-13:37:46.302 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:37:46.302 00 SPR-I:OPRO <*> Passed (1005) - Event message 48 received +21-236-13:37:46.303 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:37:51.330 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:37:51.330 00 SPR-I:OPRO ; Step 3.36.3: Send the command with a non-existent path. This will +21-236-13:37:51.330 00 SPR-I:OPRO ; work until a message is rcv'd that attempts to create a file. +21-236-13:37:51.330 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:37:51.332 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:37:51.332 00 SPR-I:OPRO ; Setup event 1 with DS DEBUG 47 +21-236-13:37:51.332 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:37:51.333 00 CMH-I:CMD Command SFDU received:<18BBC0000045088D000000002F72616D2F77616C7473446972000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-236-13:37:51.344 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:37:52.079 00 TLMH-I:STS 58-012-14:19:54.501 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=47 DEST PATH command: file table index = 0, pathname = '/ram/waltsDir' +21-236-13:37:56.353 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:37:56.355 00 SPR-I:OPRO <*> Passed (1005) - DS Set Path command with a non-existent path sent properly. +21-236-13:37:56.362 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:37:56.364 00 SPR-I:OPRO <*> Passed (1005) - Event message 47 received +21-236-13:37:56.366 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:38:01.405 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:38:01.405 00 SPR-I:OPRO ; Step 3.36.4: Using the TST_DS application, send a message that will +21-236-13:38:01.405 00 SPR-I:OPRO ; cause a file creation error since the path does not exist. +21-236-13:38:01.405 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:38:01.411 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:38:01.413 00 SPR-I:OPRO ; Setup event 1 with TST_DS INFO 5 +21-236-13:38:01.413 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:38:01.423 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:38:01.424 00 SPR-I:OPRO ; Setup event 2 with DS ERROR 15 +21-236-13:38:01.424 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:38:01.428 00 CMH-I:CMD Command SFDU received:<1943C000000903C50000100001BB0000> from gs582cfslab4:SPR +21-236-13:38:01.447 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:38:02.080 00 TLMH-I:STS 58-012-14:20:04.501 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Message Size 116 to MID 0x00001000 +21-236-13:38:02.081 00 TLMH-I:STS 58-012-14:20:04.553 ERROR CPU=CPU1 APPNAME=DS EVENT ID=61 FILE MOVE error: src = '/cf/1980012141916.dat', tgt = '/ram/movedir/1980012141916.dat', result = -1 +21-236-13:38:02.083 00 TLMH-I:STS 58-012-14:20:04.554 ERROR CPU=CPU1 APPNAME=DS EVENT ID=15 FILE CREATE error: result = -1, dest = 0, name = '/ram/waltsDir/1980012142004.dat' +21-236-13:38:02.448 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:38:02.451 00 SPR-I:OPRO <*> Passed - Expected Event Msg 5 rcv'd. +21-236-13:38:02.454 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-13:38:02.473 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:38:03.080 00 TLMH-I:STS 58-012-14:20:05.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:38:06.477 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:38:06.480 00 SPR-I:OPRO <*> Passed - Expected Event Msg 15 rcv'd. +21-236-13:38:06.480 00 SPR-I:OPRO ==> Downloading '/cf/1980012141916.dat' +21-236-13:38:06.483 00 SPR-I:OPRO ==> FileName Only = '1980012141916.dat' +21-236-13:38:06.484 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/ftp_file.i +21-236-13:38:06.484 00 SPR-I:STS Procedure FTP_FILE started +21-236-13:38:06.635 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-13:38:06.635 00 SPR-I:STS Procedure FTP_FILE completed +21-236-13:38:06.635 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:38:11.639 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:38:11.639 00 SPR-I:OPRO ; Step 3.37: Send the Set Extension command. +21-236-13:38:11.639 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:38:11.641 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:38:11.641 00 SPR-I:OPRO ; Setup event 1 with DS DEBUG 51 +21-236-13:38:11.641 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:38:11.643 00 CMH-I:CMD Command SFDU received:<18BBC000000D0AC5000100002E64617400000000> from gs582cfslab4:SPR +21-236-13:38:11.655 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:38:12.077 00 TLMH-I:STS 58-012-14:20:14.501 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=51 DEST EXT command: file table index = 1, extension = '.dat' +21-236-13:38:16.670 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:38:16.675 00 SPR-I:OPRO <*> Passed (1004;5013) - DS Set Extension command sent properly. +21-236-13:38:16.701 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:38:16.702 00 SPR-I:OPRO <*> Passed (1004;5013) - Expected Event Msg 51 rcv'd. +21-236-13:38:16.738 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:38:21.742 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:38:21.743 00 SPR-I:OPRO ; Step 3.38: Dump the Destination File Table to verify the change above +21-236-13:38:21.743 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:38:21.744 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/get_tbl_to_cvt.i +21-236-13:38:21.746 00 SPR-I:STS Procedure GET_TBL_TO_CVT started +21-236-13:38:21.766 00 SPR-I:OPRO Sending Command: /SCX_CPU1_TBL_DUMP ACTIVE DTABLENAME="DS.FILE_TBL" DFILENAME="/ram/cpu1_filetbl338" +21-236-13:38:21.768 00 CMH-I:CMD Command SFDU received:<1804C000006B0342000144532E46494C455F54424C00000000000000000000000000000000000000000000000000000000002F72616D2F637075315F66696C6574626C3333380000000000000000000000000000000000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-236-13:38:21.771 00 SPR-I:STTE Wait mode - waiting 15 seconds ... +21-236-13:38:22.579 00 TLMH-I:STS 58-012-14:20:25.002 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=14 Successfully dumped Table 'DS.FILE_TBL' to '/ram/cpu1_filetbl338' +21-236-13:38:36.783 00 SPR-I:OPRO +21-236-13:38:36.784 00 SPR-I:OPRO The TBLNAME is: DS.FILE_TBL +21-236-13:38:36.784 00 SPR-I:OPRO The APID is: P0F76 +21-236-13:38:36.784 00 SPR-I:OPRO The CPU is: CPU3 +21-236-13:38:36.784 00 SPR-I:OPRO The IP Address is: 192.168.1.8 +21-236-13:38:36.788 00 SPR-I:OPRO The perl command is: perl /s/opr/accounts/global/tools/ftp.pl RAM:0 cpu1_filetbl338 cpu1_filetbl338 binary 192.168.1.8 +21-236-13:38:36.927 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-13:38:36.928 00 SPR-I:STTE Wait mode - waiting 15 seconds ... +21-236-13:38:51.940 00 SPR-I:OPRO +21-236-13:38:51.982 00 SPR-I:OPRO The unix command is cvt -ws file_list[3958].file_write_time "`date +%y-%j-%T -r /s/opr/accounts/cfs_test/image/cpu1_filetbl338`" +21-236-13:38:51.982 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:38:56.987 00 SPR-I:STS Procedure GET_TBL_TO_CVT completed +21-236-13:38:56.990 00 SPR-I:OPRO <*> Passed (5013) - Table entry indicates the correct extension. +21-236-13:38:56.992 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:38:56.993 00 SPR-I:OPRO ; Step 3.39: Using the TST_DS application, send a message that will +21-236-13:38:56.993 00 SPR-I:OPRO ; create a file using the new naming. +21-236-13:38:56.993 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:38:56.995 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:38:56.995 00 SPR-I:OPRO ; Setup event 1 with TST_DS INFO 7 +21-236-13:38:56.995 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:38:57.016 00 CMH-I:CMD Command SFDU received:<1943C000000903D70000100103AA0000> from gs582cfslab4:SPR +21-236-13:38:57.031 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:38:57.581 00 TLMH-I:STS 58-012-14:21:00.005 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=7 Sent Message Size 1016 to MID 0x00001001 +21-236-13:38:58.032 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:38:58.035 00 SPR-I:OPRO <*> Passed - Expected Event Msg 7 rcv'd. +21-236-13:38:58.037 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-13:38:58.051 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:38:58.582 00 TLMH-I:STS 58-012-14:21:01.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:39:02.055 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:39:02.058 00 SPR-I:OPRO <*> Passed (3000) - A file was created with name '/ram/ti1980012142100.dat' +21-236-13:39:02.060 00 SPR-I:OPRO <*> Passed (3001) - The file is marked 'OPEN' +21-236-13:39:02.061 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:39:07.065 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:39:07.065 00 SPR-I:OPRO ; Step 3.40: Send the Set Extension command with an invalid length. +21-236-13:39:07.065 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:39:07.070 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:39:07.070 00 SPR-I:OPRO ; Setup event 1 with DS ERROR 52 +21-236-13:39:07.070 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:39:07.074 00 SPR-I:OPRO Sending: 18BBc000000E0A9C +21-236-13:39:07.075 00 CMH-I:CMD Command SFDU received:<18BBC000000E0A9C> from gs582cfslab4:SPR +21-236-13:39:07.090 00 SPR-I:OPRO ; Telemetry update will wait a maximum of 24 seconds +21-236-13:39:07.091 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:39:07.580 00 TLMH-I:STS 58-012-14:21:10.001 ERROR CPU=CPU1 APPNAME=DS EVENT ID=52 Invalid DEST EXT command length: expected = 20, actual = 21 +21-236-13:39:10.094 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:39:10.102 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:39:10.103 00 SPR-I:OPRO <*> Passed (1002;1005) - DS Set Extension Command Rejected Counter incremented. +21-236-13:39:10.105 00 SPR-I:OPRO <*> Passed (1005) - Event message 52 received +21-236-13:39:10.137 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:39:15.145 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:39:15.145 00 SPR-I:OPRO ; Step 3.41: Send the Set Extension command with invalid arguments. +21-236-13:39:15.146 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:39:15.146 00 SPR-I:OPRO ; Step 3.41.1: Send the command with an invalid file index. +21-236-13:39:15.146 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:39:15.151 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:39:15.151 00 SPR-I:OPRO ; Setup event 1 with DS ERROR 52 +21-236-13:39:15.152 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:39:15.153 00 CMH-I:CMD Command SFDU received:<18BBC000000D0ADA001000002E69637500000000> from gs582cfslab4:SPR +21-236-13:39:15.164 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:39:15.580 00 TLMH-I:STS 58-012-14:21:18.001 ERROR CPU=CPU1 APPNAME=DS EVENT ID=52 Invalid DEST EXT command arg: file table index = 16 +21-236-13:39:20.175 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:39:20.176 00 SPR-I:OPRO <*> Passed (1005) - DS Set Extension command failed as expected with an invalid file index. +21-236-13:39:20.181 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:39:20.182 00 SPR-I:OPRO <*> Passed (1005) - Event message 52 received +21-236-13:39:20.183 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:39:25.212 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:39:25.212 00 SPR-I:OPRO ; Step 3.41.2: Send the command with an empty extension. This command +21-236-13:39:25.212 00 SPR-I:OPRO ; will be accepted. +21-236-13:39:25.212 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:39:25.215 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:39:25.216 00 SPR-I:OPRO ; Setup event 1 with DS DEBUG 51 +21-236-13:39:25.216 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:39:25.218 00 CMH-I:CMD Command SFDU received:<18BBC000000D0A9A000100000000000000000000> from gs582cfslab4:SPR +21-236-13:39:25.220 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:39:26.074 00 TLMH-I:STS 58-012-14:21:28.501 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=51 DEST EXT command: file table index = 1, extension = '' +21-236-13:39:30.231 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:39:30.232 00 SPR-I:OPRO <*> Passed (1005) - DS Set Extension command passed with a null extension. +21-236-13:39:30.236 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:39:30.237 00 SPR-I:OPRO <*> Passed (1005) - Event message 51 received +21-236-13:39:30.238 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:39:35.267 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:39:35.267 00 SPR-I:OPRO ; Step 3.42: Send the Set Maximum Size command. +21-236-13:39:35.267 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:39:35.269 00 CMH-I:CMD Command SFDU received:<18BBC000004508AF000000002F72616D2F0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-236-13:39:35.282 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:39:36.076 00 TLMH-I:STS 58-012-14:21:38.501 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=47 DEST PATH command: file table index = 0, pathname = '/ram/' +21-236-13:39:40.287 00 CMH-I:CMD Command SFDU received:<18BBC0000005069E00000001> from gs582cfslab4:SPR +21-236-13:39:40.301 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:39:41.080 00 TLMH-I:STS 58-012-14:21:43.501 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=43 DEST TYPE command: file table index = 0, filename type = 1 +21-236-13:39:45.307 00 CMH-I:CMD Command SFDU received:<18BBC0000005079F00000001> from gs582cfslab4:SPR +21-236-13:39:45.320 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:39:46.073 00 TLMH-I:STS 58-012-14:21:48.501 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=45 DEST STATE command: file table index = 0, file state = 1 +21-236-13:39:50.326 00 CMH-I:CMD Command SFDU received:<18BBC00000050E9700000000> from gs582cfslab4:SPR +21-236-13:39:50.349 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:39:51.081 00 TLMH-I:STS 58-012-14:21:53.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=59 DEST CLOSE command: file table index = 0 +21-236-13:39:55.360 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:39:55.361 00 SPR-I:OPRO ; Setup event 1 with DS DEBUG 53 +21-236-13:39:55.361 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:39:55.365 00 CMH-I:CMD Command SFDU received:<18BBC00000090BF7000000000000157C> from gs582cfslab4:SPR +21-236-13:39:55.379 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:39:56.078 00 TLMH-I:STS 58-012-14:21:58.501 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=53 DEST SIZE command: file table index = 0, size limit = 5500 +21-236-13:39:57.578 00 TLMH-I:STS 58-012-14:22:00.006 ERROR CPU=CPU1 APPNAME=DS EVENT ID=61 FILE MOVE error: src = '/ram/ti1980012142100.dat', tgt = '/ram/movedir/ti1980012142100.dat', result = -1 +21-236-13:40:00.385 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:40:00.387 00 SPR-I:OPRO <*> Passed (1004;5014) - DS Set Maximum Size command sent properly. +21-236-13:40:00.392 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:40:00.392 00 SPR-I:OPRO <*> Passed (1004;5014) - Expected Event Msg 53 rcv'd. +21-236-13:40:00.424 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:40:05.428 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:40:05.429 00 SPR-I:OPRO ; Step 3.43: Dump the Destination File Table to verify the change above +21-236-13:40:05.429 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:40:05.431 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/get_tbl_to_cvt.i +21-236-13:40:05.434 00 SPR-I:STS Procedure GET_TBL_TO_CVT started +21-236-13:40:05.448 00 SPR-I:OPRO Sending Command: /SCX_CPU1_TBL_DUMP ACTIVE DTABLENAME="DS.FILE_TBL" DFILENAME="/ram/cpu1_filetbl343" +21-236-13:40:05.449 00 CMH-I:CMD Command SFDU received:<1804C000006B034E000144532E46494C455F54424C00000000000000000000000000000000000000000000000000000000002F72616D2F637075315F66696C6574626C3334330000000000000000000000000000000000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-236-13:40:05.460 00 SPR-I:STTE Wait mode - waiting 15 seconds ... +21-236-13:40:06.076 00 TLMH-I:STS 58-012-14:22:08.502 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=14 Successfully dumped Table 'DS.FILE_TBL' to '/ram/cpu1_filetbl343' +21-236-13:40:20.471 00 SPR-I:OPRO +21-236-13:40:20.471 00 SPR-I:OPRO The TBLNAME is: DS.FILE_TBL +21-236-13:40:20.471 00 SPR-I:OPRO The APID is: P0F76 +21-236-13:40:20.472 00 SPR-I:OPRO The CPU is: CPU3 +21-236-13:40:20.472 00 SPR-I:OPRO The IP Address is: 192.168.1.8 +21-236-13:40:20.474 00 SPR-I:OPRO The perl command is: perl /s/opr/accounts/global/tools/ftp.pl RAM:0 cpu1_filetbl343 cpu1_filetbl343 binary 192.168.1.8 +21-236-13:40:20.654 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-13:40:20.655 00 SPR-I:STTE Wait mode - waiting 15 seconds ... +21-236-13:40:35.664 00 SPR-I:OPRO +21-236-13:40:35.681 00 SPR-I:OPRO The unix command is cvt -ws file_list[3958].file_write_time "`date +%y-%j-%T -r /s/opr/accounts/cfs_test/image/cpu1_filetbl343`" +21-236-13:40:35.681 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:40:40.686 00 SPR-I:STS Procedure GET_TBL_TO_CVT completed +21-236-13:40:40.687 00 SPR-I:OPRO <*> Passed (5014) - Table entry indicates the correct maximum size. +21-236-13:40:40.688 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:40:40.689 00 SPR-I:OPRO ; Step 3.44: Using the TST_DS application, send 6 messages that will +21-236-13:40:40.689 00 SPR-I:OPRO ; create two files. The first 5 messages should be stored in the first +21-236-13:40:40.689 00 SPR-I:OPRO ; file. The 6th message should be stored in the currently opened file. +21-236-13:40:40.689 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:40:40.691 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:40:40.691 00 SPR-I:OPRO ; Setup event 1 with TST_DS INFO 7 +21-236-13:40:40.706 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:40:40.708 00 CMH-I:CMD Command SFDU received:<1943C000000903D60000100003AA0000> from gs582cfslab4:SPR +21-236-13:40:40.719 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:40:41.582 00 TLMH-I:STS 58-012-14:22:44.005 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=7 Sent Message Size 1016 to MID 0x00001000 +21-236-13:40:45.725 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-13:40:45.750 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:40:46.576 00 TLMH-I:STS 58-012-14:22:49.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:40:49.755 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:40:49.756 00 SPR-I:OPRO <*> Passed (3000) - A file was created with name '/ram/00000100.dat' +21-236-13:40:49.756 00 SPR-I:OPRO <*> Passed (3001) - The file is marked 'OPEN' +21-236-13:40:49.785 00 CMH-I:CMD Command SFDU received:<1943C000000903290000100003550000> from gs582cfslab4:SPR +21-236-13:40:49.796 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:40:50.577 00 TLMH-I:STS 58-012-14:22:53.002 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=7 Sent Message Size 1016 to MID 0x00001000 +21-236-13:40:54.800 00 SPR-I:OPRO <*> Passed - The file write and passed packet counters are correct. +21-236-13:40:54.802 00 CMH-I:CMD Command SFDU received:<1943C000000903830000100003FF0000> from gs582cfslab4:SPR +21-236-13:40:54.815 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:40:55.580 00 TLMH-I:STS 58-012-14:22:58.001 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=7 Sent Message Size 1016 to MID 0x00001000 +21-236-13:40:59.821 00 CMH-I:CMD Command SFDU received:<1943C000000903D90000100003A50000> from gs582cfslab4:SPR +21-236-13:40:59.834 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:41:00.578 00 TLMH-I:STS 58-012-14:23:03.001 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=7 Sent Message Size 1016 to MID 0x00001000 +21-236-13:41:04.838 00 CMH-I:CMD Command SFDU received:<1943C000000903C70000100003BB0000> from gs582cfslab4:SPR +21-236-13:41:04.850 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:41:05.580 00 TLMH-I:STS 58-012-14:23:08.004 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=7 Sent Message Size 1016 to MID 0x00001000 +21-236-13:41:09.855 00 CMH-I:CMD Command SFDU received:<1943C0000009032600001000035A0000> from gs582cfslab4:SPR +21-236-13:41:09.868 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:41:10.573 00 TLMH-I:STS 58-012-14:23:13.004 ERROR CPU=CPU1 APPNAME=DS EVENT ID=61 FILE MOVE error: src = '/ram/00000100.dat', tgt = '/ram/movedir/00000100.dat', result = -1 +21-236-13:41:10.574 00 TLMH-I:STS 58-012-14:23:13.006 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=7 Sent Message Size 1016 to MID 0x00001000 +21-236-13:41:14.875 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-13:41:14.902 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:41:15.579 00 TLMH-I:STS 58-012-14:23:18.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:41:17.906 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:41:17.910 00 SPR-I:OPRO <*> Passed (3000) - A file was created with name '/ram/00000101.dat' +21-236-13:41:17.912 00 SPR-I:OPRO <*> Passed (3001) - The file is marked 'OPEN' +21-236-13:41:17.913 00 SPR-I:OPRO <*> Passed (3001.1) - A new file was opened +21-236-13:41:17.936 00 SPR-I:OPRO ==> Downloading '/ram/00000100.dat' +21-236-13:41:17.937 00 SPR-I:OPRO ==> FileName Only = '00000100.dat' +21-236-13:41:17.937 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/ftp_file.i +21-236-13:41:17.937 00 SPR-I:STS Procedure FTP_FILE started +21-236-13:41:18.040 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-13:41:18.040 00 SPR-I:STS Procedure FTP_FILE completed +21-236-13:41:18.043 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:41:23.047 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:41:23.047 00 SPR-I:OPRO ; Step 3.45: Send the Set Maximum Size command with an invalid length. +21-236-13:41:23.048 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:41:23.055 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:41:23.056 00 SPR-I:OPRO ; Setup event 1 with DS ERROR 54 +21-236-13:41:23.056 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:41:23.074 00 SPR-I:OPRO Sending: 18BBc000000A0B9C +21-236-13:41:23.077 00 CMH-I:CMD Command SFDU received:<18BBC000000A0B9C> from gs582cfslab4:SPR +21-236-13:41:23.098 00 SPR-I:OPRO ; Telemetry update will wait a maximum of 24 seconds +21-236-13:41:23.098 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:41:23.581 00 TLMH-I:STS 58-012-14:23:26.001 ERROR CPU=CPU1 APPNAME=DS EVENT ID=54 Invalid DEST SIZE command length: expected = 16, actual = 17 +21-236-13:41:26.102 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:41:26.120 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:41:26.122 00 SPR-I:OPRO <*> Passed (1002;1005) - DS Set Maximum Size Command Rejected Counter incremented. +21-236-13:41:26.133 00 SPR-I:OPRO <*> Passed (1005) - Event message 54 received +21-236-13:41:26.174 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:41:31.178 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:41:31.178 00 SPR-I:OPRO ; Step 3.46: Send the Set Maximum Age command. +21-236-13:41:31.178 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:41:31.186 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:41:31.186 00 SPR-I:OPRO ; Setup event 1 with DS DEBUG 55 +21-236-13:41:31.186 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:41:31.190 00 CMH-I:CMD Command SFDU received:<18BBC00000090CC2000100000000005A> from gs582cfslab4:SPR +21-236-13:41:31.204 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:41:32.073 00 TLMH-I:STS 58-012-14:23:34.501 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=55 DEST AGE command: file table index = 1, age limit = 90 +21-236-13:41:36.219 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:41:36.223 00 SPR-I:OPRO <*> Passed (1004;5015) - DS Set Maximum Age command sent properly. +21-236-13:41:36.243 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:41:36.245 00 SPR-I:OPRO <*> Passed (1004;5015) - Expected Event Msg 55 rcv'd. +21-236-13:41:36.286 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:41:41.290 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:41:41.290 00 SPR-I:OPRO ; Step 3.47: Dump the Destination File Table to verify the change above +21-236-13:41:41.290 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:41:41.291 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/get_tbl_to_cvt.i +21-236-13:41:41.293 00 SPR-I:STS Procedure GET_TBL_TO_CVT started +21-236-13:41:41.300 00 SPR-I:OPRO Sending Command: /SCX_CPU1_TBL_DUMP ACTIVE DTABLENAME="DS.FILE_TBL" DFILENAME="/ram/cpu1_filetbl347" +21-236-13:41:41.301 00 CMH-I:CMD Command SFDU received:<1804C000006B034A000144532E46494C455F54424C00000000000000000000000000000000000000000000000000000000002F72616D2F637075315F66696C6574626C3334370000000000000000000000000000000000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-236-13:41:41.312 00 SPR-I:STTE Wait mode - waiting 15 seconds ... +21-236-13:41:42.077 00 TLMH-I:STS 58-012-14:23:44.502 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=14 Successfully dumped Table 'DS.FILE_TBL' to '/ram/cpu1_filetbl347' +21-236-13:41:56.325 00 SPR-I:OPRO +21-236-13:41:56.325 00 SPR-I:OPRO The TBLNAME is: DS.FILE_TBL +21-236-13:41:56.325 00 SPR-I:OPRO The APID is: P0F76 +21-236-13:41:56.325 00 SPR-I:OPRO The CPU is: CPU3 +21-236-13:41:56.325 00 SPR-I:OPRO The IP Address is: 192.168.1.8 +21-236-13:41:56.327 00 SPR-I:OPRO The perl command is: perl /s/opr/accounts/global/tools/ftp.pl RAM:0 cpu1_filetbl347 cpu1_filetbl347 binary 192.168.1.8 +21-236-13:41:56.463 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-13:41:56.463 00 SPR-I:STTE Wait mode - waiting 15 seconds ... +21-236-13:42:11.473 00 SPR-I:OPRO +21-236-13:42:11.487 00 SPR-I:OPRO The unix command is cvt -ws file_list[3958].file_write_time "`date +%y-%j-%T -r /s/opr/accounts/cfs_test/image/cpu1_filetbl347`" +21-236-13:42:11.487 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:42:16.491 00 SPR-I:STS Procedure GET_TBL_TO_CVT completed +21-236-13:42:16.494 00 SPR-I:OPRO <*> Passed (5015) - Table entry indicates the correct maximum age. +21-236-13:42:16.499 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:42:16.500 00 SPR-I:OPRO ; Step 3.48: Using the TST_DS application, send a message that will +21-236-13:42:16.500 00 SPR-I:OPRO ; create a new file using the destination modified above. +21-236-13:42:16.500 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:42:16.508 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:42:16.508 00 SPR-I:OPRO ; Setup event 1 with TST_DS INFO 7 +21-236-13:42:16.508 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:42:16.546 00 CMH-I:CMD Command SFDU received:<1943C000000903D70000100103AA0000> from gs582cfslab4:SPR +21-236-13:42:16.547 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:42:17.075 00 TLMH-I:STS 58-012-14:24:19.502 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=7 Sent Message Size 1016 to MID 0x00001001 +21-236-13:42:21.551 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-13:42:21.565 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:42:22.076 00 TLMH-I:STS 58-012-14:24:24.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:42:26.570 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:42:26.573 00 SPR-I:OPRO <*> Passed (3000) - A file was created with name '/ram/ti1980012142419' +21-236-13:42:26.577 00 SPR-I:OPRO <*> Passed (3001) - The file is marked 'OPEN' +21-236-13:42:26.580 00 SPR-I:OPRO ==> Downloading '/ram/ti1980012142100.dat' +21-236-13:42:26.629 00 SPR-I:OPRO ==> FileName Only = 'ti1980012142100.dat' +21-236-13:42:26.629 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/ftp_file.i +21-236-13:42:26.629 00 SPR-I:STS Procedure FTP_FILE started +21-236-13:42:26.732 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-13:42:26.732 00 SPR-I:STS Procedure FTP_FILE completed +21-236-13:42:26.733 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:42:31.736 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:42:31.736 00 SPR-I:OPRO ; Step 3.49: Wait for the file created above to exceed its maximum age. +21-236-13:42:31.736 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:42:31.740 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-13:42:31.762 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:42:32.574 00 TLMH-I:STS 58-012-14:24:35.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:42:33.765 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:42:33.766 00 SPR-I:OPRO new file age = 16 +21-236-13:42:33.768 00 SPR-I:OPRO timeout calculation = 74 +21-236-13:42:33.795 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-13:42:33.809 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:42:34.571 00 TLMH-I:STS 58-012-14:24:37.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:42:37.812 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:42:37.813 00 SPR-I:OPRO new file age = 20 +21-236-13:42:37.816 00 SPR-I:OPRO timeout calculation = 70 +21-236-13:42:37.851 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-13:42:37.865 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:42:38.572 00 TLMH-I:STS 58-012-14:24:41.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:42:41.870 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:42:41.874 00 SPR-I:OPRO new file age = 24 +21-236-13:42:41.885 00 SPR-I:OPRO timeout calculation = 66 +21-236-13:42:41.936 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-13:42:41.950 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:42:42.578 00 TLMH-I:STS 58-012-14:24:45.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:42:45.955 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:42:45.958 00 SPR-I:OPRO new file age = 28 +21-236-13:42:45.967 00 SPR-I:OPRO timeout calculation = 62 +21-236-13:42:46.016 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-13:42:46.034 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:42:46.573 00 TLMH-I:STS 58-012-14:24:49.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:42:50.037 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:42:50.040 00 SPR-I:OPRO new file age = 32 +21-236-13:42:50.049 00 SPR-I:OPRO timeout calculation = 58 +21-236-13:42:50.094 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-13:42:50.098 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:42:50.571 00 TLMH-I:STS 58-012-14:24:53.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:42:54.103 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:42:54.107 00 SPR-I:OPRO new file age = 36 +21-236-13:42:54.118 00 SPR-I:OPRO timeout calculation = 54 +21-236-13:42:54.169 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-13:42:54.183 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:42:55.078 00 TLMH-I:STS 58-012-14:24:57.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:42:58.187 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:42:58.191 00 SPR-I:OPRO new file age = 40 +21-236-13:42:58.195 00 SPR-I:OPRO timeout calculation = 50 +21-236-13:42:58.229 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-13:42:58.244 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:42:59.080 00 TLMH-I:STS 58-012-14:25:01.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:43:02.248 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:43:02.251 00 SPR-I:OPRO new file age = 44 +21-236-13:43:02.255 00 SPR-I:OPRO timeout calculation = 46 +21-236-13:43:02.279 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-13:43:02.294 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:43:03.073 00 TLMH-I:STS 58-012-14:25:05.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:43:06.298 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:43:06.301 00 SPR-I:OPRO new file age = 48 +21-236-13:43:06.310 00 SPR-I:OPRO timeout calculation = 42 +21-236-13:43:06.364 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-13:43:06.368 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:43:07.076 00 TLMH-I:STS 58-012-14:25:09.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:43:10.373 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:43:10.376 00 SPR-I:OPRO new file age = 52 +21-236-13:43:10.380 00 SPR-I:OPRO timeout calculation = 38 +21-236-13:43:10.403 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-13:43:10.417 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:43:11.081 00 TLMH-I:STS 58-012-14:25:13.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:43:14.422 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:43:14.425 00 SPR-I:OPRO new file age = 56 +21-236-13:43:14.428 00 SPR-I:OPRO timeout calculation = 34 +21-236-13:43:14.459 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-13:43:14.473 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:43:15.073 00 TLMH-I:STS 58-012-14:25:17.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:43:18.478 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:43:18.481 00 SPR-I:OPRO new file age = 60 +21-236-13:43:18.492 00 SPR-I:OPRO timeout calculation = 30 +21-236-13:43:18.540 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-13:43:18.554 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:43:19.076 00 TLMH-I:STS 58-012-14:25:21.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:43:22.558 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:43:22.562 00 SPR-I:OPRO new file age = 64 +21-236-13:43:22.579 00 SPR-I:OPRO timeout calculation = 26 +21-236-13:43:22.613 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-13:43:22.617 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:43:23.078 00 TLMH-I:STS 58-012-14:25:25.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:43:25.620 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:43:25.622 00 SPR-I:OPRO new file age = 68 +21-236-13:43:25.630 00 SPR-I:OPRO timeout calculation = 22 +21-236-13:43:25.677 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-13:43:25.691 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:43:26.576 00 TLMH-I:STS 58-012-14:25:29.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:43:29.695 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:43:29.698 00 SPR-I:OPRO new file age = 72 +21-236-13:43:29.705 00 SPR-I:OPRO timeout calculation = 18 +21-236-13:43:29.739 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-13:43:29.753 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:43:30.576 00 TLMH-I:STS 58-012-14:25:33.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:43:33.757 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:43:33.761 00 SPR-I:OPRO new file age = 76 +21-236-13:43:33.771 00 SPR-I:OPRO timeout calculation = 14 +21-236-13:43:33.821 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-13:43:33.835 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:43:34.579 00 TLMH-I:STS 58-012-14:25:37.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:43:37.839 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:43:37.841 00 SPR-I:OPRO new file age = 80 +21-236-13:43:37.845 00 SPR-I:OPRO timeout calculation = 10 +21-236-13:43:37.880 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-13:43:37.885 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:43:38.583 00 TLMH-I:STS 58-012-14:25:41.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:43:41.889 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:43:41.893 00 SPR-I:OPRO new file age = 84 +21-236-13:43:41.902 00 SPR-I:OPRO timeout calculation = 6 +21-236-13:43:41.956 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-13:43:41.970 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:43:42.586 00 TLMH-I:STS 58-012-14:25:45.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:43:45.577 00 TLMH-I:STS 58-012-14:25:48.006 ERROR CPU=CPU1 APPNAME=DS EVENT ID=61 FILE MOVE error: src = '/ram/ti1980012142419', tgt = '/ram/movedir/ti1980012142419', result = -1 +21-236-13:43:45.974 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:43:45.977 00 SPR-I:OPRO new file age = 88 +21-236-13:43:45.988 00 SPR-I:OPRO timeout calculation = 2 +21-236-13:43:46.037 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-13:43:46.051 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:43:46.572 00 TLMH-I:STS 58-012-14:25:49.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:43:50.055 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:43:50.056 00 SPR-I:OPRO new file age = 0 +21-236-13:43:50.059 00 SPR-I:OPRO timeout calculation = 90 +21-236-13:43:50.060 00 SPR-I:OPRO HK reports the file is no longer open +21-236-13:43:50.087 00 SPR-I:OPRO ==> Downloading '/ram/ti1980012142419' +21-236-13:43:50.088 00 SPR-I:OPRO ==> FileName Only = 'ti1980012142419' +21-236-13:43:50.088 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/ftp_file.i +21-236-13:43:50.088 00 SPR-I:STS Procedure FTP_FILE started +21-236-13:43:50.185 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-13:43:50.185 00 SPR-I:STS Procedure FTP_FILE completed +21-236-13:43:50.186 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:43:55.190 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:43:55.190 00 SPR-I:OPRO ; Step 3.50: Send the Set Maximum Age command with an invalid length. +21-236-13:43:55.190 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:43:55.195 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:43:55.195 00 SPR-I:OPRO ; Setup event 1 with DS ERROR 56 +21-236-13:43:55.195 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:43:55.200 00 SPR-I:OPRO Sending: 18BBc000000A0C9C +21-236-13:43:55.201 00 CMH-I:CMD Command SFDU received:<18BBC000000A0C9C> from gs582cfslab4:SPR +21-236-13:43:55.218 00 SPR-I:OPRO ; Telemetry update will wait a maximum of 24 seconds +21-236-13:43:55.219 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:43:56.075 00 TLMH-I:STS 58-012-14:25:58.500 ERROR CPU=CPU1 APPNAME=DS EVENT ID=56 Invalid DEST AGE command length: expected = 16, actual = 17 +21-236-13:43:58.222 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:43:58.238 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:43:58.241 00 SPR-I:OPRO <*> Passed (1002;1005) - DS Set Maximum Age Command Rejected Counter incremented. +21-236-13:43:58.251 00 SPR-I:OPRO <*> Passed (1005) - Event message 56 received +21-236-13:43:58.296 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:44:03.300 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:44:03.300 00 SPR-I:OPRO ; Step 3.51: Send the Disable command for the DS Application. +21-236-13:44:03.300 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:44:03.305 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:44:03.306 00 SPR-I:OPRO ; Setup event 1 with DS DEBUG 35 +21-236-13:44:03.306 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:44:03.306 00 CMH-I:CMD Command SFDU received:<18BBC0000005029B00000000> from gs582cfslab4:SPR +21-236-13:44:03.317 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:44:04.075 00 TLMH-I:STS 58-012-14:26:06.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=35 APP STATE command: state = 0 +21-236-13:44:08.332 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:44:08.335 00 SPR-I:OPRO <*> Passed (1004;5000) - DS Disable command sent properly. +21-236-13:44:08.357 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:44:08.359 00 SPR-I:OPRO <*> Passed (1004;5000) - Expected Event Msg 35 rcv'd. +21-236-13:44:08.400 00 SPR-I:OPRO <*> Passed (5000) - Housekeeping indicates DS is disabled. +21-236-13:44:08.401 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:44:13.405 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:44:13.405 00 SPR-I:OPRO ; Step 3.52: Using the TST_DS application, send several messages to the +21-236-13:44:13.406 00 SPR-I:OPRO ; DS application. +21-236-13:44:13.406 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:44:13.411 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:44:13.411 00 SPR-I:OPRO ; Setup event 1 with TST_DS INFO 7 +21-236-13:44:13.411 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:44:13.413 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:44:13.413 00 SPR-I:OPRO ; Setup event 2 with TST_DS INFO 5 +21-236-13:44:13.413 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:44:13.415 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:44:13.415 00 SPR-I:OPRO ; Setup event 3 with TST_DS INFO 6 +21-236-13:44:13.416 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:44:13.417 00 CMH-I:CMD Command SFDU received:<1943C000000903D60000100003AA0000> from gs582cfslab4:SPR +21-236-13:44:13.428 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:44:14.072 00 TLMH-I:STS 58-012-14:26:16.500 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=7 Sent Message Size 1016 to MID 0x00001000 +21-236-13:44:18.433 00 CMH-I:CMD Command SFDU received:<1943C0000009032B0000100001550000> from gs582cfslab4:SPR +21-236-13:44:18.446 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:44:19.077 00 TLMH-I:STS 58-012-14:26:21.500 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Message Size 116 to MID 0x00001000 +21-236-13:44:23.452 00 CMH-I:CMD Command SFDU received:<1943C000000903C60000100002BB0000> from gs582cfslab4:SPR +21-236-13:44:23.465 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:44:24.073 00 TLMH-I:STS 58-012-14:26:26.500 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=6 Sent Message Size 516 to MID 0x00001000 +21-236-13:44:28.470 00 SPR-I:OPRO <*> Passed (8000) - The file stats remained the same and the Disabled Pkt Counter incremented as expected. +21-236-13:44:28.474 00 SPR-I:OPRO <*> Passed - Expected Event Msgs were generated. +21-236-13:44:28.475 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:44:28.475 00 SPR-I:OPRO ; Step 3.53: Send the Disable command with an invalid length. +21-236-13:44:28.475 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:44:28.476 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:44:28.477 00 SPR-I:OPRO ; Setup event 1 with DS ERROR 36 +21-236-13:44:28.477 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:44:28.489 00 SPR-I:OPRO Sending: 18BBc0000004029C +21-236-13:44:28.491 00 CMH-I:CMD Command SFDU received:<18BBC0000004029C> from gs582cfslab4:SPR +21-236-13:44:28.505 00 SPR-I:OPRO ; Telemetry update will wait a maximum of 24 seconds +21-236-13:44:28.505 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:44:29.079 00 TLMH-I:STS 58-012-14:26:31.500 ERROR CPU=CPU1 APPNAME=DS EVENT ID=36 Invalid APP STATE command length: expected = 12, actual = 11 +21-236-13:44:30.508 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:44:30.516 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:44:30.517 00 SPR-I:OPRO <*> Passed (1002;1005) - DS Disable Command Rejected Counter incremented. +21-236-13:44:30.519 00 SPR-I:OPRO <*> Passed (1005) - Event message 36 received +21-236-13:44:30.553 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:44:35.556 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:44:35.556 00 SPR-I:OPRO ; Step 3.54: Send the Enable command for the DS Application. +21-236-13:44:35.556 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:44:35.558 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:44:35.558 00 SPR-I:OPRO ; Setup event 1 with DS DEBUG 35 +21-236-13:44:35.558 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:44:35.559 00 CMH-I:CMD Command SFDU received:<18BBC0000005029A00010000> from gs582cfslab4:SPR +21-236-13:44:35.570 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:44:36.074 00 TLMH-I:STS 58-012-14:26:38.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=35 APP STATE command: state = 1 +21-236-13:44:40.585 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:44:40.587 00 SPR-I:OPRO <*> Passed (1004;5001) - DS Enable command sent properly. +21-236-13:44:40.592 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:44:40.592 00 SPR-I:OPRO <*> Passed (1004;5001) - Expected Event Msg 35 rcv'd. +21-236-13:44:40.624 00 SPR-I:OPRO <*> Passed (5001) - Housekeeping indicates DS is enabled. +21-236-13:44:40.625 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:44:45.628 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:44:45.628 00 SPR-I:OPRO ; Step 3.55: Using the TST_DS application, send several messages to the +21-236-13:44:45.628 00 SPR-I:OPRO ; DS application. These message should be written to the open file. +21-236-13:44:45.628 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:44:45.630 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:44:45.630 00 SPR-I:OPRO ; Setup event 1 with TST_DS INFO 7 +21-236-13:44:45.630 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:44:45.632 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:44:45.632 00 SPR-I:OPRO ; Setup event 2 with TST_DS INFO 5 +21-236-13:44:45.632 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:44:45.635 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:44:45.635 00 SPR-I:OPRO ; Setup event 3 with TST_DS INFO 6 +21-236-13:44:45.635 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:44:45.636 00 CMH-I:CMD Command SFDU received:<1943C000000903D60000100003AA0000> from gs582cfslab4:SPR +21-236-13:44:45.647 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:44:46.078 00 TLMH-I:STS 58-012-14:26:48.501 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=7 Sent Message Size 1016 to MID 0x00001000 +21-236-13:44:50.652 00 CMH-I:CMD Command SFDU received:<1943C0000009032B0000100001550000> from gs582cfslab4:SPR +21-236-13:44:50.663 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:44:51.077 00 TLMH-I:STS 58-012-14:26:53.500 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Message Size 116 to MID 0x00001000 +21-236-13:44:55.668 00 CMH-I:CMD Command SFDU received:<1943C000000903C60000100002BB0000> from gs582cfslab4:SPR +21-236-13:44:55.680 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:44:56.575 00 TLMH-I:STS 58-012-14:26:59.001 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=6 Sent Message Size 516 to MID 0x00001000 +21-236-13:45:00.684 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-13:45:00.698 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:45:01.577 00 TLMH-I:STS 58-012-14:27:04.003 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:45:01.698 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:45:01.699 00 SPR-I:OPRO <*> Passed (8000) - The file stats were updated and the Passed Pkt Counter incremented as expected. +21-236-13:45:01.700 00 SPR-I:OPRO <*> Passed - Expected Event Msgs were generated. +21-236-13:45:01.701 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:45:06.704 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:45:06.704 00 SPR-I:OPRO ; Step 3.56: Send the Enable command with an invalid length. +21-236-13:45:06.704 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:45:06.705 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:45:06.705 00 SPR-I:OPRO ; Setup event 1 with DS ERROR 36 +21-236-13:45:06.705 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:45:06.709 00 SPR-I:OPRO Sending: 18BBc0000002029C +21-236-13:45:06.710 00 CMH-I:CMD Command SFDU received:<18BBC0000002029C> from gs582cfslab4:SPR +21-236-13:45:06.723 00 SPR-I:OPRO ; Telemetry update will wait a maximum of 24 seconds +21-236-13:45:06.724 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:45:07.574 00 TLMH-I:STS 58-012-14:27:10.001 ERROR CPU=CPU1 APPNAME=DS EVENT ID=36 Invalid APP STATE command length: expected = 12, actual = 9 +21-236-13:45:09.726 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:45:09.731 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:45:09.731 00 SPR-I:OPRO <*> Passed (1002;1005) - DS Disable Command Rejected Counter incremented. +21-236-13:45:09.734 00 SPR-I:OPRO <*> Passed (1005) - Event message 36 received +21-236-13:45:09.770 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:45:14.772 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:45:14.773 00 SPR-I:OPRO ; Step 3.57: Send the Enable/Disable command with an invalid state. +21-236-13:45:14.773 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:45:14.780 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:45:14.780 00 SPR-I:OPRO ; Setup event 1 with DS ERROR 36 +21-236-13:45:14.780 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:45:14.796 00 SPR-I:OPRO Sending: 18BBc0000003029E0002 +21-236-13:45:14.798 00 CMH-I:CMD Command SFDU received:<18BBC0000003029E0002> from gs582cfslab4:SPR +21-236-13:45:14.820 00 SPR-I:OPRO ; Telemetry update will wait a maximum of 24 seconds +21-236-13:45:14.820 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:45:15.579 00 TLMH-I:STS 58-012-14:27:18.001 ERROR CPU=CPU1 APPNAME=DS EVENT ID=36 Invalid APP STATE command length: expected = 12, actual = 10 +21-236-13:45:17.822 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:45:17.828 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:45:17.829 00 SPR-I:OPRO <*> Passed (1005) - DS Enable/Disable Command Rejected Counter incremented. +21-236-13:45:17.831 00 SPR-I:OPRO <*> Passed (1005) - Event message 36 received +21-236-13:45:17.868 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:45:22.870 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:45:22.870 00 SPR-I:OPRO ; Step 3.58: Send the Close File command for the destination file that +21-236-13:45:22.870 00 SPR-I:OPRO ; is still open and download it for post-test analysis. +21-236-13:45:22.870 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:45:22.871 00 CMH-I:CMD Command SFDU received:<18BBC00000050E9700000000> from gs582cfslab4:SPR +21-236-13:45:22.882 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:45:23.571 00 TLMH-I:STS 58-012-14:27:26.004 ERROR CPU=CPU1 APPNAME=DS EVENT ID=61 FILE MOVE error: src = '/ram/00000101.dat', tgt = '/ram/movedir/00000101.dat', result = -1 +21-236-13:45:23.571 00 TLMH-I:STS 58-012-14:27:26.004 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=59 DEST CLOSE command: file table index = 0 +21-236-13:45:27.884 00 SPR-I:OPRO ==> Downloading '/ram/00000101.dat' +21-236-13:45:27.885 00 SPR-I:OPRO ==> FileName Only = '00000101.dat' +21-236-13:45:27.886 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/ftp_file.i +21-236-13:45:27.886 00 SPR-I:STS Procedure FTP_FILE started +21-236-13:45:27.979 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-13:45:27.979 00 SPR-I:STS Procedure FTP_FILE completed +21-236-13:45:27.980 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:45:32.983 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:45:32.983 00 SPR-I:OPRO ; Step 3.59: Using the TST_DS application, send two messages to the +21-236-13:45:32.983 00 SPR-I:OPRO ; DS application to open multiple files. +21-236-13:45:32.983 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:45:32.986 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:45:32.986 00 SPR-I:OPRO ; Setup event 1 with TST_DS INFO 7 +21-236-13:45:32.986 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:45:32.988 00 CMH-I:CMD Command SFDU received:<1943C000000903D60000100003AA0000> from gs582cfslab4:SPR +21-236-13:45:33.001 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:45:33.577 00 TLMH-I:STS 58-012-14:27:36.005 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=7 Sent Message Size 1016 to MID 0x00001000 +21-236-13:45:38.004 00 CMH-I:CMD Command SFDU received:<1943C000000903280000100103550000> from gs582cfslab4:SPR +21-236-13:45:38.014 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:45:38.572 00 TLMH-I:STS 58-012-14:27:41.003 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=7 Sent Message Size 1016 to MID 0x00001001 +21-236-13:45:43.017 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-13:45:43.032 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:45:43.577 00 TLMH-I:STS 58-012-14:27:46.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:45:46.033 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:45:46.035 00 SPR-I:OPRO <*> Passed - Expected Event Msgs were generated. +21-236-13:45:46.035 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:45:51.038 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:45:51.038 00 SPR-I:OPRO ; Step 3.60: Send the Close All Files command +21-236-13:45:51.038 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:45:51.039 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:45:51.039 00 SPR-I:OPRO ; Setup event 1 with DS DEBUG 66 +21-236-13:45:51.039 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:45:51.041 00 CMH-I:CMD Command SFDU received:<18BBC0000001118C> from gs582cfslab4:SPR +21-236-13:45:51.054 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:45:51.571 00 TLMH-I:STS 58-012-14:27:54.004 ERROR CPU=CPU1 APPNAME=DS EVENT ID=61 FILE MOVE error: src = '/ram/00000102.dat', tgt = '/ram/movedir/00000102.dat', result = -1 +21-236-13:45:51.572 00 TLMH-I:STS 58-012-14:27:54.007 ERROR CPU=CPU1 APPNAME=DS EVENT ID=61 FILE MOVE error: src = '/ram/ti1980012142741', tgt = '/ram/movedir/ti1980012142741', result = -1 +21-236-13:45:51.572 00 TLMH-I:STS 58-012-14:27:54.007 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=66 DEST CLOSE ALL command +21-236-13:45:54.056 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:45:54.057 00 SPR-I:OPRO <*> Passed (1004;5002) - DS Close All Files command sent properly. +21-236-13:45:54.061 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:45:54.062 00 SPR-I:OPRO <*> Passed (1004) - Expected Event Msgs were generated. +21-236-13:45:54.091 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-13:45:54.104 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:45:54.569 00 TLMH-I:STS 58-012-14:27:57.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-13:45:58.107 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:45:58.108 00 SPR-I:OPRO <*> Passed - Sequence file has been closed +21-236-13:45:58.108 00 SPR-I:OPRO <*> Passed - Time file has been closed +21-236-13:45:58.108 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:46:03.112 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:46:03.112 00 SPR-I:OPRO ; Step 3.61: Send the Close All Files command with an invalid length. +21-236-13:46:03.112 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:46:03.118 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:46:03.118 00 SPR-I:OPRO ; Setup event 1 with DS ERROR 67 +21-236-13:46:03.118 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:46:03.129 00 SPR-I:OPRO Sending: 18BBc0000002119C +21-236-13:46:03.130 00 CMH-I:CMD Command SFDU received:<18BBC0000002119C> from gs582cfslab4:SPR +21-236-13:46:03.146 00 SPR-I:OPRO ; Telemetry update will wait a maximum of 24 seconds +21-236-13:46:03.146 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:46:03.576 00 TLMH-I:STS 58-012-14:28:06.001 ERROR CPU=CPU1 APPNAME=DS EVENT ID=67 Invalid DEST CLOSE ALL command length: expected = 8, actual = 9 +21-236-13:46:06.148 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:46:06.152 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:46:06.152 00 SPR-I:OPRO <*> Passed (1002;1005) - DS Disable Command Rejected Counter incremented. +21-236-13:46:06.154 00 SPR-I:OPRO <*> Passed (1005) - Event message 67 received +21-236-13:46:06.185 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:46:11.188 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:46:11.188 00 SPR-I:OPRO ; Step 4.0: Clean-up - Send the Processor Reset command in order to +21-236-13:46:11.188 00 SPR-I:OPRO ; be able to retrieve files in RAM after this procedure completes. +21-236-13:46:11.188 00 SPR-I:OPRO ;*********************************************************************** +21-236-13:46:11.189 00 CMH-I:CMD Command SFDU received:<1806C000000302210001> from gs582cfslab4:SPR +21-236-13:46:11.200 00 SPR-I:STTE Wait mode - waiting 10 seconds ... +21-236-13:46:17.004 00 DPD-I:STS Deleting page SCX_CPU1_DS_FILE_HK +21-236-13:46:18.228 00 DPD-I:STS Deleting page SCX_CPU1_DS_FILE_TBL +21-236-13:46:19.723 00 DPD-I:STS Deleting page SCX_CPU1_DS_FILTER_TBL +21-236-13:46:20.773 00 DPD-I:STS Deleting page SCX_CPU1_TST_DS_HK +21-236-13:46:21.209 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/clear_spacecraft_status.i +21-236-13:46:21.210 00 SPR-I:STS Procedure CLEAR_SPACECRAFT_STATUS started +21-236-13:46:21.225 00 SPR-I:STS Procedure CLEAR_SPACECRAFT_STATUS completed +21-236-13:46:21.256 00 SPR-I:STTE Wait mode - waiting 60 seconds ... +21-236-13:46:23.078 00 DPD-I:STS Deleting page SCX_CPU1_DS_HK +21-236-13:47:21.320 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:47:27.278 00 CMH-I:STS Connected to FEDS:FEDS for commanding (internal ID 0). +21-236-13:47:31.332 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:47:31.401 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/send_that_to_command.i +21-236-13:47:31.401 00 SPR-I:STS Procedure SEND_THAT_TO_COMMAND started +21-236-13:47:31.402 00 SPR-I:OPRO Sending: /SCX_CPU1_TO_OUTPUT_ENA gs582cfslab4 +21-236-13:47:31.403 00 CMH-I:CMD Command SFDU received:<1880C0000011069A3139322E3136382E312E313031000000> from gs582cfslab4:SPR +21-236-13:47:31.454 00 SPR-I:STS Procedure SEND_THAT_TO_COMMAND completed +21-236-13:47:31.454 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-13:47:32.340 00 TLMH-I:STS 58-012-14:28:41.100 INFO CPU=CPU1 APPNAME=TO_LAB_APP EVENT ID=3 TO telemetry output enabled for IP 192.168.1.101 +21-236-13:47:35.458 00 SPR-I:STTE WAIT UNTIL completed +21-236-13:47:35.459 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/fill_in_spacecraft_status.i +21-236-13:47:35.460 00 SPR-I:STS Procedure FILL_IN_SPACECRAFT_STATUS started +21-236-13:47:35.466 00 SPR-I:STS Procedure FILL_IN_SPACECRAFT_STATUS completed +21-236-13:47:35.467 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-13:47:40.471 00 SPR-I:OPRO **** Requirements Status Reporting +21-236-13:47:40.472 00 SPR-I:OPRO -------------------------- +21-236-13:47:40.472 00 SPR-I:OPRO Requirement(s) Report +21-236-13:47:40.472 00 SPR-I:OPRO -------------------------- +21-236-13:47:40.473 00 SPR-I:OPRO FSW Requirement: DS_1002 P/F: P +21-236-13:47:40.477 00 SPR-I:OPRO FSW Requirement: DS_1004 P/F: P +21-236-13:47:40.478 00 SPR-I:OPRO FSW Requirement: DS_1005 P/F: P +21-236-13:47:40.479 00 SPR-I:OPRO FSW Requirement: DS_3000 P/F: P +21-236-13:47:40.480 00 SPR-I:OPRO FSW Requirement: DS_3000.1 P/F: A +21-236-13:47:40.508 00 SPR-I:OPRO FSW Requirement: DS_3000.1.1 P/F: A +21-236-13:47:40.509 00 SPR-I:OPRO FSW Requirement: DS_3000.2 P/F: A +21-236-13:47:40.510 00 SPR-I:OPRO FSW Requirement: DS_3000.2.1 P/F: A +21-236-13:47:40.535 00 SPR-I:OPRO FSW Requirement: DS_3001 P/F: P +21-236-13:47:40.536 00 SPR-I:OPRO FSW Requirement: DS_3001.1 P/F: P +21-236-13:47:40.538 00 SPR-I:OPRO FSW Requirement: DS_3001.2 P/F: A +21-236-13:47:40.561 00 SPR-I:OPRO FSW Requirement: DS_3002 P/F: P +21-236-13:47:40.563 00 SPR-I:OPRO FSW Requirement: DS_3002.1 P/F: P +21-236-13:47:40.564 00 SPR-I:OPRO FSW Requirement: DS_3003 P/F: A +21-236-13:47:40.586 00 SPR-I:OPRO FSW Requirement: DS_3004 P/F: A +21-236-13:47:40.587 00 SPR-I:OPRO FSW Requirement: DS_3005 P/F: P +21-236-13:47:40.588 00 SPR-I:OPRO FSW Requirement: DS_5000 P/F: P +21-236-13:47:40.611 00 SPR-I:OPRO FSW Requirement: DS_5001 P/F: P +21-236-13:47:40.612 00 SPR-I:OPRO FSW Requirement: DS_5002 P/F: P +21-236-13:47:40.614 00 SPR-I:OPRO FSW Requirement: DS_5003 P/F: P +21-236-13:47:40.636 00 SPR-I:OPRO FSW Requirement: DS_5004 P/F: P +21-236-13:47:40.637 00 SPR-I:OPRO FSW Requirement: DS_5005 P/F: P +21-236-13:47:40.638 00 SPR-I:OPRO FSW Requirement: DS_5006 P/F: P +21-236-13:47:40.660 00 SPR-I:OPRO FSW Requirement: DS_5011 P/F: P +21-236-13:47:40.662 00 SPR-I:OPRO FSW Requirement: DS_5012 P/F: P +21-236-13:47:40.663 00 SPR-I:OPRO FSW Requirement: DS_5013 P/F: P +21-236-13:47:40.685 00 SPR-I:OPRO FSW Requirement: DS_5014 P/F: P +21-236-13:47:40.686 00 SPR-I:OPRO FSW Requirement: DS_5015 P/F: P +21-236-13:47:40.687 00 SPR-I:OPRO FSW Requirement: DS_8000 P/F: P +21-236-13:47:40.710 00 SPR-I:OPRO FSW Requirement: DS_9000 P/F: P +21-236-13:47:40.711 00 SPR-I:STS Variable "UT_REQUIREMENT" deleted +21-236-13:47:40.711 00 SPR-I:STS Variable "UT_REQ_ARRAY_SIZE" deleted +21-236-13:47:40.712 00 SPR-I:OPRO ;********************************************************************* +21-236-13:47:40.734 00 SPR-I:OPRO ; End procedure SCX_CPU1_ds_filewrite +21-236-13:47:40.734 00 SPR-I:OPRO ;********************************************************************* +21-236-13:47:40.735 00 SPR-I:STS Procedure SCX_CPU1_DS_FILEWRITE completed +21-236-13:47:40.737 00 SPR-I:OPRO *** Telemetry Info *** +21-236-13:47:40.737 00 SPR-I:OPRO +21-236-13:47:40.737 00 SPR-I:OPRO Pkt Loss Count: N/A +21-236-13:47:40.737 00 SPR-I:OPRO +21-236-13:47:40.737 00 SPR-I:OPRO ****************** +21-236-13:47:40.737 00 SPR-I:OPRO +21-236-13:47:40.737 00 SPR-I:OPRO Elapsed time: 1636.2 seconds +21-236-13:47:40.742 00 SPR-I:OPRO Elapsed time: 27.27 minutes +21-236-13:47:40.742 00 SPR-I:STTE Wait mode - waiting 10 seconds ... +21-236-13:47:50.752 00 SPR-I:OPRO Creating filtered log at /s/opr/accounts/cfs_test/test_logs/DS2.6.0/scx_cpu1_ds_filewrite-2021-236-13h20m24s.logf +21-236-13:47:50.753 00 SPR-I:OPRO Creating filtered output log at /s/opr/accounts/cfs_test/test_logs/DS2.6.0/scx_cpu1_ds_filewrite-2021-236-13h20m24s.logp +21-236-13:47:50.753 00 SPR-I:OPRO Creating filtered output log (without SFDUs) at /s/opr/accounts/cfs_test/test_logs/DS2.6.0/scx_cpu1_ds_filewrite-2021-236-13h20m24s.logs +21-236-13:47:50.753 00 SPR-I:OPRO Creating filtered event log at /s/opr/accounts/cfs_test/test_logs/DS2.6.0/scx_cpu1_ds_filewrite-2021-236-13h20m24s.loge +21-236-13:47:50.754 00 SPR-I:OPRO Creating filtered requirements log at /s/opr/accounts/cfs_test/test_logs/DS2.6.0/scx_cpu1_ds_filewrite-2021-236-13h20m24s.logr +21-236-13:47:50.895 00 SPR-I:OPRI --> newlog scx_cpu1_ds_filewrite-2021-236-13h20m24s.log diff --git a/test_and_ground/results/Caelum/scx_cpu1_ds_filter-2021-236-11h18m30s.loge b/test_and_ground/results/Caelum/scx_cpu1_ds_filter-2021-236-11h18m30s.loge new file mode 100644 index 0000000..7854cd0 --- /dev/null +++ b/test_and_ground/results/Caelum/scx_cpu1_ds_filter-2021-236-11h18m30s.loge @@ -0,0 +1,143 @@ +21-236-11:19:52.016 00 TLMH-I:STS 58-012-14:03:48.950 INFO CPU=CPU1 APPNAME=TO_LAB_APP EVENT ID=3 TO telemetry output enabled for IP 192.168.1.101 +21-236-11:20:06.520 00 TLMH-I:STS 58-012-14:04:03.501 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=12 Successful load of '/ram/ds_filtfile.tbl' into 'DS.FILE_TBL' working buffer +21-236-11:20:15.024 00 TLMH-I:STS 58-012-14:04:12.007 INFO CPU=CPU1 APPNAME=DS EVENT ID=10 Destination file table verify results: desc text = OK, good entries = 8, bad = 0, unused = 8 +21-236-11:20:15.025 00 TLMH-I:STS 58-012-14:04:12.007 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=36 DS validation successful for Inactive 'DS.FILE_TBL' +21-236-11:20:19.022 00 TLMH-I:STS 58-012-14:04:16.007 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=37 DS Successfully Updated 'DS.FILE_TBL' +21-236-11:20:28.518 00 TLMH-I:STS 58-012-14:04:25.501 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=12 Successful load of '/ram/ds_filtfilter.tbl' into 'DS.FILTER_TBL' working buffer +21-236-11:20:39.021 00 TLMH-I:STS 58-012-14:04:36.007 INFO CPU=CPU1 APPNAME=DS EVENT ID=12 Filter table verify results: desc text = OK, good entries = 6, bad = 0, unused = 250 +21-236-11:20:39.022 00 TLMH-I:STS 58-012-14:04:36.007 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=36 DS validation successful for Inactive 'DS.FILTER_TBL' +21-236-11:20:43.017 00 TLMH-I:STS 58-012-14:04:40.008 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=37 DS Successfully Updated 'DS.FILTER_TBL' +21-236-11:21:04.022 00 TLMH-I:STS 58-012-14:05:01.003 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=14 Successfully dumped Table 'DS.FILTER_TBL' to '/ram/cpu1_filtertbl16' +21-236-11:21:44.516 00 TLMH-I:STS 58-012-14:05:41.502 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=14 Successfully dumped Table 'DS.FILE_TBL' to '/ram/cpu1_filetbl17' +21-236-11:22:30.015 00 TLMH-I:STS 58-012-14:06:27.003 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Message Size 116 to MID 0x00000900 +21-236-11:22:31.018 00 TLMH-I:STS 58-012-14:06:28.003 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-11:22:42.015 00 TLMH-I:STS 58-012-14:06:39.006 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Message Size 116 to MID 0x00000901 +21-236-11:22:43.017 00 TLMH-I:STS 58-012-14:06:40.003 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-11:22:49.520 00 TLMH-I:STS 58-012-14:06:46.501 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=59 DEST CLOSE command: file table index = 0 +21-236-11:22:49.521 00 TLMH-I:STS 58-012-14:06:46.501 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=59 DEST CLOSE command: file table index = 4 +21-236-11:22:52.521 00 TLMH-I:STS 58-012-14:06:49.501 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=59 DEST CLOSE command: file table index = 1 +21-236-11:22:52.523 00 TLMH-I:STS 58-012-14:06:49.501 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=59 DEST CLOSE command: file table index = 5 +21-236-11:22:56.014 00 TLMH-I:STS 58-012-14:06:53.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=59 DEST CLOSE command: file table index = 2 +21-236-11:22:56.015 00 TLMH-I:STS 58-012-14:06:53.002 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=59 DEST CLOSE command: file table index = 6 +21-236-11:23:00.514 00 TLMH-I:STS 58-012-14:06:57.501 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=59 DEST CLOSE command: file table index = 3 +21-236-11:23:00.515 00 TLMH-I:STS 58-012-14:06:57.501 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=59 DEST CLOSE command: file table index = 7 +21-236-11:23:05.012 00 TLMH-I:STS 58-012-14:07:02.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-11:23:18.018 00 TLMH-I:STS 58-012-14:07:15.001 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Message Size 116 to MID 0x00000902 +21-236-11:23:23.019 00 TLMH-I:STS 58-012-14:07:20.004 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Message Size 116 to MID 0x00000902 +21-236-11:23:28.016 00 TLMH-I:STS 58-012-14:07:25.002 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Message Size 116 to MID 0x00000902 +21-236-11:23:33.014 00 TLMH-I:STS 58-012-14:07:30.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-11:23:41.011 00 TLMH-I:STS 58-012-14:07:38.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=59 DEST CLOSE command: file table index = 0 +21-236-11:23:49.514 00 TLMH-I:STS 58-012-14:07:46.502 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=41 FILTER PARMS command: MID = 0x00000902, index = 2, filter = 0, N = 2, X = 3, O = 0 +21-236-11:23:57.512 00 TLMH-I:STS 58-012-14:07:54.503 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=14 Successfully dumped Table 'DS.FILTER_TBL' to '/ram/cpu1_filtertbl27' +21-236-11:24:37.511 00 TLMH-I:STS 58-012-14:08:34.502 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Message Size 116 to MID 0x00000902 +21-236-11:24:42.519 00 TLMH-I:STS 58-012-14:08:39.500 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Message Size 116 to MID 0x00000902 +21-236-11:24:47.517 00 TLMH-I:STS 58-012-14:08:44.500 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Message Size 116 to MID 0x00000902 +21-236-11:24:52.509 00 TLMH-I:STS 58-012-14:08:49.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-11:25:00.520 00 TLMH-I:STS 58-012-14:08:57.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=59 DEST CLOSE command: file table index = 0 +21-236-11:25:14.020 00 TLMH-I:STS 58-012-14:09:11.003 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=41 FILTER PARMS command: MID = 0x00000902, index = 2, filter = 0, N = 0, X = 3, O = 0 +21-236-11:25:21.018 00 TLMH-I:STS 58-012-14:09:18.003 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=41 FILTER PARMS command: MID = 0x00000903, index = 3, filter = 0, N = 0, X = 0, O = 0 +21-236-11:25:29.012 00 TLMH-I:STS 58-012-14:09:26.003 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=14 Successfully dumped Table 'DS.FILTER_TBL' to '/ram/cpu1_filtertbl211' +21-236-11:26:09.514 00 TLMH-I:STS 58-012-14:10:06.500 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Message Size 116 to MID 0x00000902 +21-236-11:26:14.510 00 TLMH-I:STS 58-012-14:10:11.500 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Message Size 116 to MID 0x00000902 +21-236-11:26:19.515 00 TLMH-I:STS 58-012-14:10:16.500 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Message Size 116 to MID 0x00000902 +21-236-11:26:24.513 00 TLMH-I:STS 58-012-14:10:21.500 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Message Size 116 to MID 0x00000903 +21-236-11:26:29.516 00 TLMH-I:STS 58-012-14:10:26.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-11:26:42.509 00 TLMH-I:STS 58-012-14:10:39.502 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=37 FILTER FILE command: MID = 0x00000904, index = 4, filter = 0, file = 4 +21-236-11:26:50.009 00 TLMH-I:STS 58-012-14:10:47.003 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=14 Successfully dumped Table 'DS.FILTER_TBL' to '/ram/cpu1_filtertbl2133' +21-236-11:27:30.017 00 TLMH-I:STS 58-012-14:11:27.003 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Message Size 116 to MID 0x00000904 +21-236-11:27:31.012 00 TLMH-I:STS 58-012-14:11:28.003 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-11:27:37.016 00 TLMH-I:STS 58-012-14:11:34.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=59 DEST CLOSE command: file table index = 4 +21-236-11:27:50.517 00 TLMH-I:STS 58-012-14:11:47.502 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=37 FILTER FILE command: MID = 0x00000905, index = 5, filter = 0, file = 0 +21-236-11:27:57.517 00 TLMH-I:STS 58-012-14:11:54.503 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=14 Successfully dumped Table 'DS.FILTER_TBL' to '/ram/cpu1_filtertbl2163' +21-236-11:28:38.016 00 TLMH-I:STS 58-012-14:12:35.003 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Message Size 116 to MID 0x00000905 +21-236-11:28:39.009 00 TLMH-I:STS 58-012-14:12:36.003 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-11:28:45.010 00 TLMH-I:STS 58-012-14:12:42.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=59 DEST CLOSE command: file table index = 0 +21-236-11:28:53.015 00 TLMH-I:STS 58-012-14:12:50.002 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=37 FILTER FILE command: MID = 0x00000905, index = 5, filter = 0, file = 1 +21-236-11:29:01.009 00 TLMH-I:STS 58-012-14:12:58.003 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=14 Successfully dumped Table 'DS.FILTER_TBL' to '/ram/cpu1_filtertbl32' +21-236-11:29:41.510 00 TLMH-I:STS 58-012-14:13:38.501 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Message Size 116 to MID 0x00000905 +21-236-11:29:42.511 00 TLMH-I:STS 58-012-14:13:39.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-11:29:44.511 00 TLMH-I:STS 58-012-14:13:41.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=59 DEST CLOSE command: file table index = 1 +21-236-11:29:54.014 00 TLMH-I:STS 58-012-14:13:51.001 ERROR CPU=CPU1 APPNAME=DS EVENT ID=38 Invalid FILTER FILE command length: expected = 16, actual = 15 +21-236-11:30:01.013 00 TLMH-I:STS 58-012-14:13:58.001 ERROR CPU=CPU1 APPNAME=DS EVENT ID=38 Invalid FILTER FILE command: Message ID 0x0000F345 is not in filter table +21-236-11:30:09.017 00 TLMH-I:STS 58-012-14:14:06.001 ERROR CPU=CPU1 APPNAME=DS EVENT ID=38 Invalid FILTER FILE command arg: filter parameters index = 4 +21-236-11:30:17.015 00 TLMH-I:STS 58-012-14:14:14.001 ERROR CPU=CPU1 APPNAME=DS EVENT ID=38 Invalid FILTER FILE command arg: file table index = 16 +21-236-11:30:25.015 00 TLMH-I:STS 58-012-14:14:22.002 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=39 FILTER TYPE command: MID = 0x00000905, index = 5, filter = 0, type = 1 +21-236-11:30:33.015 00 TLMH-I:STS 58-012-14:14:30.003 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=14 Successfully dumped Table 'DS.FILTER_TBL' to '/ram/cpu1_filtertbl37' +21-236-11:31:13.511 00 TLMH-I:STS 58-012-14:15:10.501 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Message Size 116 to MID 0x00000905 +21-236-11:31:14.515 00 TLMH-I:STS 58-012-14:15:11.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-11:31:16.512 00 TLMH-I:STS 58-012-14:15:13.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=59 DEST CLOSE command: file table index = 1 +21-236-11:31:26.008 00 TLMH-I:STS 58-012-14:15:23.001 ERROR CPU=CPU1 APPNAME=DS EVENT ID=40 Invalid FILTER TYPE command length: expected = 16, actual = 15 +21-236-11:31:33.008 00 TLMH-I:STS 58-012-14:15:30.001 ERROR CPU=CPU1 APPNAME=DS EVENT ID=40 Invalid FILTER TYPE command: Message ID 0x00001345 is not in filter table +21-236-11:31:41.007 00 TLMH-I:STS 58-012-14:15:38.001 ERROR CPU=CPU1 APPNAME=DS EVENT ID=40 Invalid FILTER TYPE command arg: filter parameters index = 4 +21-236-11:31:49.011 00 TLMH-I:STS 58-012-14:15:46.001 ERROR CPU=CPU1 APPNAME=DS EVENT ID=40 Invalid FILTER TYPE command arg: filter type = 3 +21-236-11:31:57.010 00 TLMH-I:STS 58-012-14:15:54.003 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=41 FILTER PARMS command: MID = 0x00000905, index = 5, filter = 0, N = 4, X = 6, O = 2 +21-236-11:32:05.011 00 TLMH-I:STS 58-012-14:16:02.003 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=14 Successfully dumped Table 'DS.FILTER_TBL' to '/ram/cpu1_filtertbl312' +21-236-11:32:50.513 00 TLMH-I:STS 58-012-14:16:47.501 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Message Size 116 to MID 0x00000905 +21-236-11:32:55.515 00 TLMH-I:STS 58-012-14:16:52.500 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Message Size 116 to MID 0x00000905 +21-236-11:33:00.513 00 TLMH-I:STS 58-012-14:16:57.500 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Message Size 116 to MID 0x00000905 +21-236-11:33:05.508 00 TLMH-I:STS 58-012-14:17:02.500 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Message Size 116 to MID 0x00000905 +21-236-11:33:10.514 00 TLMH-I:STS 58-012-14:17:07.500 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Message Size 116 to MID 0x00000905 +21-236-11:33:15.512 00 TLMH-I:STS 58-012-14:17:12.500 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Message Size 116 to MID 0x00000905 +21-236-11:33:20.509 00 TLMH-I:STS 58-012-14:17:17.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-11:33:24.513 00 TLMH-I:STS 58-012-14:17:21.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=59 DEST CLOSE command: file table index = 1 +21-236-11:33:33.005 00 TLMH-I:STS 58-012-14:17:30.001 ERROR CPU=CPU1 APPNAME=DS EVENT ID=42 Invalid FILTER PARMS command length: expected = 20, actual = 19 +21-236-11:33:41.015 00 TLMH-I:STS 58-012-14:17:38.001 ERROR CPU=CPU1 APPNAME=DS EVENT ID=42 Invalid FILTER PARMS command: Message ID 0x0000ABCD is not in filter table +21-236-11:33:49.009 00 TLMH-I:STS 58-012-14:17:46.001 ERROR CPU=CPU1 APPNAME=DS EVENT ID=42 Invalid FILTER PARMS command arg: filter parameters index = 4 +21-236-11:33:57.012 00 TLMH-I:STS 58-012-14:17:54.001 ERROR CPU=CPU1 APPNAME=DS EVENT ID=42 Invalid FILTER PARMS command arg: N = 5, X = 3, O = 0 +21-236-11:34:05.007 00 TLMH-I:STS 58-012-14:18:02.001 ERROR CPU=CPU1 APPNAME=DS EVENT ID=42 Invalid FILTER PARMS command arg: N = 1, X = 3, O = 4 +21-236-11:34:13.010 00 TLMH-I:STS 58-012-14:18:10.002 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=39 FILTER TYPE command: MID = 0x00000905, index = 5, filter = 0, type = 2 +21-236-11:34:21.512 00 TLMH-I:STS 58-012-14:18:18.500 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Time Message Size 116 to MID 0x00000905 +21-236-11:34:26.507 00 TLMH-I:STS 58-012-14:18:23.501 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Time Message Size 116 to MID 0x00000905 +21-236-11:34:31.509 00 TLMH-I:STS 58-012-14:18:28.500 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Time Message Size 116 to MID 0x00000905 +21-236-11:34:36.511 00 TLMH-I:STS 58-012-14:18:33.500 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Time Message Size 116 to MID 0x00000905 +21-236-11:34:41.507 00 TLMH-I:STS 58-012-14:18:38.500 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Time Message Size 116 to MID 0x00000905 +21-236-11:34:46.510 00 TLMH-I:STS 58-012-14:18:43.500 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Time Message Size 116 to MID 0x00000905 +21-236-11:34:51.510 00 TLMH-I:STS 58-012-14:18:48.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-11:34:56.507 00 TLMH-I:STS 58-012-14:18:53.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=59 DEST CLOSE command: file table index = 1 +21-236-11:35:05.511 00 TLMH-I:STS 58-012-14:19:02.502 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=64 ADD MID command: MID = 0x00000906, filter index = 6, hash index = 6 +21-236-11:35:13.009 00 TLMH-I:STS 58-012-14:19:10.004 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=14 Successfully dumped Table 'DS.FILTER_TBL' to '/ram/cpu1_filtertbl42' +21-236-11:35:53.005 00 TLMH-I:STS 58-012-14:19:50.001 ERROR CPU=CPU1 APPNAME=DS EVENT ID=65 Invalid ADD MID command arg: invalid MID = 0x00000000 +21-236-11:36:01.009 00 TLMH-I:STS 58-012-14:19:58.001 ERROR CPU=CPU1 APPNAME=DS EVENT ID=65 Invalid ADD MID command: MID = 0x00000900 is already in filter table at index = 0 +21-236-11:36:20.013 00 TLMH-I:STS 58-012-14:20:17.363 INFO CPU=CPU1 APPNAME=CFE_ES EVENT ID=10 Restart Application DS Completed, AppID=1114124 +21-236-11:36:20.509 00 TLMH-I:STS 58-012-14:20:17.434 INFO CPU=CPU1 APPNAME=DS EVENT ID=10 Destination file table verify results: desc text = OK, good entries = 8, bad = 0, unused = 8 +21-236-11:36:20.510 00 TLMH-I:STS 58-012-14:20:17.451 ERROR CPU=CPU1 APPNAME=CFE_TBL EVENT ID=53 DS: Unable to open file (FileDescriptor=-1) +21-236-11:36:20.511 00 TLMH-I:STS 58-012-14:20:17.451 ERROR CPU=CPU1 APPNAME=DS EVENT ID=8 Unable to load default Filter Table: Filename = '/cf/ds_filter_tbl.tbl', Error = 0xCC00002C +21-236-11:36:20.511 00 TLMH-I:STS 58-012-14:20:17.452 INFO CPU=CPU1 APPNAME=DS EVENT ID=1 Application initialized, version 2.6.0.0, data at 0x3ac1c0 +21-236-11:36:34.513 00 TLMH-I:STS 58-012-14:20:31.500 ERROR CPU=CPU1 APPNAME=DS EVENT ID=65 Invalid ADD MID command: filter table is not loaded +21-236-11:36:47.008 00 TLMH-I:STS 58-012-14:20:44.002 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=12 Successful load of '/ram/ds_fullfilter.tbl' into 'DS.FILTER_TBL' working buffer +21-236-11:36:55.010 00 TLMH-I:STS 58-012-14:20:52.004 INFO CPU=CPU1 APPNAME=DS EVENT ID=12 Filter table verify results: desc text = OK, good entries = 256, bad = 0, unused = 0 +21-236-11:36:55.011 00 TLMH-I:STS 58-012-14:20:52.004 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=36 DS validation successful for Inactive 'DS.FILTER_TBL' +21-236-11:36:59.010 00 TLMH-I:STS 58-012-14:20:56.004 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=37 DS Successfully Updated 'DS.FILTER_TBL' +21-236-11:36:59.011 00 TLMH-I:STS 58-012-14:20:56.017 ERROR CPU=CPU1 APPNAME=CFE_SB EVENT ID=8 Subscribe Err:Max Msgs(256)In Use,MsgId 0x9bb,pipe DS_CMD_PIPE,app DS +21-236-11:36:59.012 00 TLMH-I:STS 58-012-14:20:56.017 ERROR CPU=CPU1 APPNAME=CFE_SB EVENT ID=8 Subscribe Err:Max Msgs(256)In Use,MsgId 0x9bc,pipe DS_CMD_PIPE,app DS +21-236-11:36:59.013 00 TLMH-I:STS 58-012-14:20:56.018 ERROR CPU=CPU1 APPNAME=CFE_SB EVENT ID=8 Subscribe Err:Max Msgs(256)In Use,MsgId 0x9bd,pipe DS_CMD_PIPE,app DS +21-236-11:36:59.015 00 TLMH-I:STS 58-012-14:20:56.018 ERROR CPU=CPU1 APPNAME=CFE_SB EVENT ID=8 Subscribe Err:Max Msgs(256)In Use,MsgId 0x9be,pipe DS_CMD_PIPE,app DS +21-236-11:36:59.016 00 TLMH-I:STS 58-012-14:20:56.018 ERROR CPU=CPU1 APPNAME=CFE_SB EVENT ID=8 Subscribe Err:Max Msgs(256)In Use,MsgId 0x9bf,pipe DS_CMD_PIPE,app DS +21-236-11:36:59.017 00 TLMH-I:STS 58-012-14:20:56.018 ERROR CPU=CPU1 APPNAME=CFE_SB EVENT ID=8 Subscribe Err:Max Msgs(256)In Use,MsgId 0x9c0,pipe DS_CMD_PIPE,app DS +21-236-11:36:59.019 00 TLMH-I:STS 58-012-14:20:56.019 ERROR CPU=CPU1 APPNAME=CFE_SB EVENT ID=8 Subscribe Err:Max Msgs(256)In Use,MsgId 0x9c1,pipe DS_CMD_PIPE,app DS +21-236-11:36:59.020 00 TLMH-I:STS 58-012-14:20:56.019 ERROR CPU=CPU1 APPNAME=CFE_SB EVENT ID=8 Subscribe Err:Max Msgs(256)In Use,MsgId 0x9c2,pipe DS_CMD_PIPE,app DS +21-236-11:36:59.021 00 TLMH-I:STS 58-012-14:20:56.019 ERROR CPU=CPU1 APPNAME=CFE_SB EVENT ID=8 Subscribe Err:Max Msgs(256)In Use,MsgId 0x9c3,pipe DS_CMD_PIPE,app DS +21-236-11:36:59.023 00 TLMH-I:STS 58-012-14:20:56.019 ERROR CPU=CPU1 APPNAME=CFE_SB EVENT ID=8 Subscribe Err:Max Msgs(256)In Use,MsgId 0x9c4,pipe DS_CMD_PIPE,app DS +21-236-11:36:59.024 00 TLMH-I:STS 58-012-14:20:56.020 ERROR CPU=CPU1 APPNAME=CFE_SB EVENT ID=8 Subscribe Err:Max Msgs(256)In Use,MsgId 0x9c5,pipe DS_CMD_PIPE,app DS +21-236-11:36:59.025 00 TLMH-I:STS 58-012-14:20:56.020 ERROR CPU=CPU1 APPNAME=CFE_SB EVENT ID=8 Subscribe Err:Max Msgs(256)In Use,MsgId 0x9c6,pipe DS_CMD_PIPE,app DS +21-236-11:36:59.026 00 TLMH-I:STS 58-012-14:20:56.020 ERROR CPU=CPU1 APPNAME=CFE_SB EVENT ID=8 Subscribe Err:Max Msgs(256)In Use,MsgId 0x9c7,pipe DS_CMD_PIPE,app DS +21-236-11:36:59.027 00 TLMH-I:STS 58-012-14:20:56.020 ERROR CPU=CPU1 APPNAME=CFE_SB EVENT ID=8 Subscribe Err:Max Msgs(256)In Use,MsgId 0x9c8,pipe DS_CMD_PIPE,app DS +21-236-11:36:59.028 00 TLMH-I:STS 58-012-14:20:56.021 ERROR CPU=CPU1 APPNAME=CFE_SB EVENT ID=8 Subscribe Err:Max Msgs(256)In Use,MsgId 0x9c9,pipe DS_CMD_PIPE,app DS +21-236-11:36:59.029 00 TLMH-I:STS 58-012-14:20:56.021 ERROR CPU=CPU1 APPNAME=CFE_SB EVENT ID=8 Subscribe Err:Max Msgs(256)In Use,MsgId 0x9ca,pipe DS_CMD_PIPE,app DS +21-236-11:36:59.031 00 TLMH-I:STS 58-012-14:20:56.021 ERROR CPU=CPU1 APPNAME=CFE_SB EVENT ID=8 Subscribe Err:Max Msgs(256)In Use,MsgId 0x9cb,pipe DS_CMD_PIPE,app DS +21-236-11:36:59.032 00 TLMH-I:STS 58-012-14:20:56.021 ERROR CPU=CPU1 APPNAME=CFE_SB EVENT ID=8 Subscribe Err:Max Msgs(256)In Use,MsgId 0x9cc,pipe DS_CMD_PIPE,app DS +21-236-11:36:59.034 00 TLMH-I:STS 58-012-14:20:56.022 ERROR CPU=CPU1 APPNAME=CFE_SB EVENT ID=8 Subscribe Err:Max Msgs(256)In Use,MsgId 0x9cd,pipe DS_CMD_PIPE,app DS +21-236-11:36:59.035 00 TLMH-I:STS 58-012-14:20:56.022 ERROR CPU=CPU1 APPNAME=CFE_SB EVENT ID=8 Subscribe Err:Max Msgs(256)In Use,MsgId 0x9ce,pipe DS_CMD_PIPE,app DS +21-236-11:36:59.037 00 TLMH-I:STS 58-012-14:20:56.022 ERROR CPU=CPU1 APPNAME=CFE_SB EVENT ID=8 Subscribe Err:Max Msgs(256)In Use,MsgId 0x9cf,pipe DS_CMD_PIPE,app DS +21-236-11:36:59.038 00 TLMH-I:STS 58-012-14:20:56.023 ERROR CPU=CPU1 APPNAME=CFE_SB EVENT ID=8 Subscribe Err:Max Msgs(256)In Use,MsgId 0x9d0,pipe DS_CMD_PIPE,app DS +21-236-11:36:59.039 00 TLMH-I:STS 58-012-14:20:56.023 ERROR CPU=CPU1 APPNAME=CFE_SB EVENT ID=8 Subscribe Err:Max Msgs(256)In Use,MsgId 0x9d1,pipe DS_CMD_PIPE,app DS +21-236-11:36:59.039 00 TLMH-I:STS 58-012-14:20:56.023 ERROR CPU=CPU1 APPNAME=CFE_SB EVENT ID=8 Subscribe Err:Max Msgs(256)In Use,MsgId 0x9d2,pipe DS_CMD_PIPE,app DS +21-236-11:36:59.040 00 TLMH-I:STS 58-012-14:20:56.023 ERROR CPU=CPU1 APPNAME=CFE_SB EVENT ID=8 Subscribe Err:Max Msgs(256)In Use,MsgId 0x9d3,pipe DS_CMD_PIPE,app DS +21-236-11:36:59.041 00 TLMH-I:STS 58-012-14:20:56.024 ERROR CPU=CPU1 APPNAME=CFE_SB EVENT ID=8 Subscribe Err:Max Msgs(256)In Use,MsgId 0x9d4,pipe DS_CMD_PIPE,app DS +21-236-11:36:59.042 00 TLMH-I:STS 58-012-14:20:56.024 ERROR CPU=CPU1 APPNAME=CFE_SB EVENT ID=8 Subscribe Err:Max Msgs(256)In Use,MsgId 0x9d5,pipe DS_CMD_PIPE,app DS +21-236-11:36:59.043 00 TLMH-I:STS 58-012-14:20:56.024 ERROR CPU=CPU1 APPNAME=CFE_SB EVENT ID=8 Subscribe Err:Max Msgs(256)In Use,MsgId 0x9d6,pipe DS_CMD_PIPE,app DS +21-236-11:36:59.043 00 TLMH-I:STS 58-012-14:20:56.024 ERROR CPU=CPU1 APPNAME=CFE_SB EVENT ID=8 Subscribe Err:Max Msgs(256)In Use,MsgId 0x9d7,pipe DS_CMD_PIPE,app DS +21-236-11:36:59.044 00 TLMH-I:STS 58-012-14:20:56.025 ERROR CPU=CPU1 APPNAME=CFE_SB EVENT ID=8 Subscribe Err:Max Msgs(256)In Use,MsgId 0x9d8,pipe DS_CMD_PIPE,app DS +21-236-11:36:59.044 00 TLMH-I:STS 58-012-14:20:56.025 ERROR CPU=CPU1 APPNAME=CFE_SB EVENT ID=8 Subscribe Err:Max Msgs(256)In Use,MsgId 0x9d9,pipe DS_CMD_PIPE,app DS +21-236-11:37:03.505 00 TLMH-I:STS 58-012-14:21:00.500 ERROR CPU=CPU1 APPNAME=DS EVENT ID=65 Invalid ADD MID command: filter table is full +21-236-11:38:29.676 00 TLMH-I:STS 58-012-14:21:33.100 INFO CPU=CPU1 APPNAME=TO_LAB_APP EVENT ID=3 TO telemetry output enabled for IP 192.168.1.101 diff --git a/test_and_ground/results/Caelum/scx_cpu1_ds_filter-2021-236-11h18m30s.logf b/test_and_ground/results/Caelum/scx_cpu1_ds_filter-2021-236-11h18m30s.logf new file mode 100644 index 0000000..564d412 --- /dev/null +++ b/test_and_ground/results/Caelum/scx_cpu1_ds_filter-2021-236-11h18m30s.logf @@ -0,0 +1,5263 @@ +21-236-11:18:30.134 00 UT_RUNPROC/99 +21-236-11:18:30.134 00 UT_RUNPROC/100 ; Build the database prefix using SC and CPU definitions from cfe_utils.h +21-236-11:18:30.134 00 UT_RUNPROC/101 local db_prefix, cpu_prefix +21-236-11:18:30.134 00 UT_RUNPROC/102 +21-236-11:18:30.134 00 UT_RUNPROC/103 ; If SC is set, use it +21-236-11:18:30.134 00 UT_RUNPROC/104 if (SC <> "") then +21-236-11:18:30.134 00 UT_RUNPROC/105 db_prefix = SC +21-236-11:18:30.134 00 UT_RUNPROC/106 endif +21-236-11:18:30.134 00 UT_RUNPROC/107 +21-236-11:18:30.134 00 UT_RUNPROC/109 db_prefix = db_prefix & CPU_CFG +21-236-11:18:30.134 00 UT_RUNPROC/110 +21-236-11:18:30.134 00 UT_RUNPROC/111 cpu_prefix = db_prefix +21-236-11:18:30.134 00 UT_RUNPROC/112 +21-236-11:18:30.134 00 UT_RUNPROC/113 ; Set the database prefix for CPU1 +21-236-11:18:30.134 00 UT_RUNPROC/114 if (numCPUs > 1) then +21-236-11:18:30.134 00 UT_RUNPROC/116 endif +21-236-11:18:30.134 00 UT_RUNPROC/117 +21-236-11:18:30.134 00 UT_RUNPROC/118 ; setup the database mnemonics for CPU1 +21-236-11:18:30.144 00 UT_RUNPROC/119 local cksumItem = cpu_prefix & "_ES_CKSUM" +21-236-11:18:30.144 00 UT_RUNPROC/120 local cfeMajorVerItem = cpu_prefix & "_ES_CFEMAJORVER" +21-236-11:18:30.144 00 UT_RUNPROC/121 local cfeMinorVerItem = cpu_prefix & "_ES_CFEMINORVER" +21-236-11:18:30.144 00 UT_RUNPROC/122 local cfeRevisionItem = cpu_prefix & "_ES_CFEREVISION" +21-236-11:18:30.144 00 UT_RUNPROC/123 local cfeMissionRevItem = cpu_prefix & "_ES_CFEMSNREV" +21-236-11:18:30.144 00 UT_RUNPROC/124 local osMajorVerItem = cpu_prefix & "_ES_OSMAJORVER" +21-236-11:18:30.144 00 UT_RUNPROC/125 local osMinorVerItem = cpu_prefix & "_ES_OSMINORVER" +21-236-11:18:30.145 00 UT_RUNPROC/126 local osRevisionItem = cpu_prefix & "_ES_OSREVISION" +21-236-11:18:30.145 00 UT_RUNPROC/127 local osMissionRevItem = cpu_prefix & "_ES_OSMISSIONREV" +21-236-11:18:30.145 00 UT_RUNPROC/128 +21-236-11:18:30.145 00 UT_RUNPROC/129 ; +21-236-11:18:30.145 00 UT_RUNPROC/130 ; Output FSW configuration information +21-236-11:18:30.145 00 UT_RUNPROC/131 ; +21-236-11:18:30.145 00 UT_RUNPROC/132 write "****************** FSW Configuration ******************" +21-236-11:18:30.145 00 SPR-I:OPRO ****************** FSW Configuration ****************** +21-236-11:18:30.145 00 UT_RUNPROC/134 if (numCPUs = 1) then +21-236-11:18:30.145 00 UT_RUNPROC/135 write " Checksum: ", {cksumItem} +21-236-11:18:30.145 00 SPR-I:OPRO Checksum: 29237 +21-236-11:18:30.145 00 UT_RUNPROC/136 write " cFE Version: ", {cfeMajorVerItem} & "." & {cfeMinorVerItem} & "." & {cfeRevisionItem} & "." & {cfeMissionRevItem} +21-236-11:18:30.145 00 SPR-I:OPRO cFE Version: 6.7.99.0 +21-236-11:18:30.145 00 UT_RUNPROC/137 write " OS Version: ", {osMajorVerItem} & "." & {osMinorVerItem} & "." & {osRevisionItem} & "." & {osMissionRevItem} +21-236-11:18:30.145 00 SPR-I:OPRO OS Version: 5.0.0.255 +21-236-11:18:30.146 00 UT_RUNPROC/138 write " " +21-236-11:18:30.146 00 SPR-I:OPRO +21-236-11:18:30.146 00 UT_RUNPROC/139 endif +21-236-11:18:30.146 00 UT_RUNPROC/140 +21-236-11:18:30.146 00 UT_RUNPROC/141 if (numCPUs >= 2) then +21-236-11:18:30.146 00 UT_RUNPROC/166 endif +21-236-11:18:30.146 00 UT_RUNPROC/167 +21-236-11:18:30.146 00 UT_RUNPROC/168 ; This proc only supports up to 3 CPUs. +21-236-11:18:30.146 00 UT_RUNPROC/169 ; If there are more than 3, the additional CPUs must be added below +21-236-11:18:30.146 00 UT_RUNPROC/170 if (numCPUs = 3) then +21-236-11:18:30.147 00 UT_RUNPROC/189 endif +21-236-11:18:30.147 00 UT_RUNPROC/190 +21-236-11:18:30.147 00 UT_RUNPROC/191 write " Connection Status" +21-236-11:18:30.147 00 SPR-I:OPRO Connection Status +21-236-11:18:30.147 00 UT_RUNPROC/192 write " -----------------" +21-236-11:18:30.147 00 SPR-I:OPRO ----------------- +21-236-11:18:30.147 00 UT_RUNPROC/193 write " CFDP: ", %select(packet_valid("my_entity_id"),"UP","DOWN") +21-236-11:18:30.147 00 SPR-I:OPRO CFDP: DOWN +21-236-11:18:30.147 00 UT_RUNPROC/194 write " UDP: ", p@GSE_ICHAN +21-236-11:18:30.147 00 SPR-I:OPRO UDP: UP +21-236-11:18:30.147 00 UT_RUNPROC/195 write " SWTS: ", p@GSE_SCHAN +21-236-11:18:30.147 00 SPR-I:OPRO SWTS: UNK +21-236-11:18:30.147 00 UT_RUNPROC/196 ; write " ITOS: ", p@GSE_ZCHAN +21-236-11:18:30.147 00 UT_RUNPROC/197 +21-236-11:18:30.147 00 UT_RUNPROC/199 gds_label = "" +21-236-11:18:30.147 00 UT_RUNPROC/200 gds_version = "N/A" +21-236-11:18:30.147 00 UT_RUNPROC/201 +21-236-11:18:30.147 00 UT_RUNPROC/202 #ifdef GDS_EXISTS +21-236-11:18:30.147 00 UT_RUNPROC/203 write " GDS: ", %select(packet_valid("GDS_EXECUTOR_SIMULATION_TIME"),"UP", "DOWN") +21-236-11:18:30.147 00 UT_RUNPROC/204 if (GSE_HCHAN = 1) then +21-236-11:18:30.148 00 UT_RUNPROC/205 gds_label = "GDS" +21-236-11:18:30.148 00 UT_RUNPROC/206 gds_version = GDS_EXECUTOR_GDS_VERSION_VALUE +21-236-11:18:30.148 00 UT_RUNPROC/207 endif +21-236-11:18:30.148 00 UT_RUNPROC/208 #endif +21-236-11:18:30.148 00 UT_RUNPROC/209 +21-236-11:18:30.148 00 UT_RUNPROC/211 write " CMD / TLM Path" +21-236-11:18:30.148 00 SPR-I:OPRO +21-236-11:18:30.148 00 UT_RUNPROC/211 write " CMD / TLM Path" +21-236-11:18:30.148 00 SPR-I:OPRO CMD / TLM Path +21-236-11:18:30.148 00 UT_RUNPROC/212 write " --------------" +21-236-11:18:30.148 00 SPR-I:OPRO -------------- +21-236-11:18:30.148 00 UT_RUNPROC/213 if (GSE_ICHAN = 1) then +21-236-11:18:30.148 00 UT_RUNPROC/214 cmd_tlm_path = "UDP" +21-236-11:18:30.148 00 UT_RUNPROC/219 endif +21-236-11:18:30.149 00 UT_RUNPROC/220 +21-236-11:18:30.149 00 UT_RUNPROC/221 write " ", cmd_tlm_path +21-236-11:18:30.149 00 SPR-I:OPRO UDP +21-236-11:18:30.149 00 UT_RUNPROC/222 write " ", gds_label +21-236-11:18:30.149 00 SPR-I:OPRO +21-236-11:18:30.149 00 UT_RUNPROC/224 write " ASIST / GDS Configuration" +21-236-11:18:30.149 00 SPR-I:OPRO +21-236-11:18:30.149 00 UT_RUNPROC/224 write " ASIST / GDS Configuration" +21-236-11:18:30.149 00 SPR-I:OPRO ASIST / GDS Configuration +21-236-11:18:30.149 00 UT_RUNPROC/225 write " -------------------------" +21-236-11:18:30.149 00 SPR-I:OPRO ------------------------- +21-236-11:18:30.154 00 UT_RUNPROC/226 write " Workstation: ", %upper(%liv(LOCALHOST)) +21-236-11:18:30.154 00 SPR-I:OPRO Workstation: GS582CFSLAB4 +21-236-11:18:30.154 00 UT_RUNPROC/227 write " Account: ", %env("ACCOUNT") +21-236-11:18:30.154 00 SPR-I:OPRO Account: cfs_test +21-236-11:18:30.154 00 UT_RUNPROC/228 write " Version: ", ASIST_VERSION +21-236-11:18:30.154 00 SPR-I:OPRO Version: 21.0.7 +21-236-11:18:30.154 00 UT_RUNPROC/229 write " Tlm DB: Version: ",vidtlm.version, " Date: ", tlmdbdate, " Time: ", vidtlm.timeof +21-236-11:18:30.154 00 SPR-I:OPRO Tlm DB: Version: 1.985 Date: 08-24-21 Time: 06:37:06 AM. +21-236-11:18:30.154 00 UT_RUNPROC/230 write " Cmd DB: Version: ",%rpad(command_parm_attr("verid_cmd", "version", "description"),4," ")," Date: ",cmddbdate," Time: ",command_parm_attr("verid_cmd", "timeof", "description") +21-236-11:18:30.154 00 SPR-I:OPRO Cmd DB: Version: 1.51 Date: 08-24-21 Time: 06:47:31 AM.EDT +21-236-11:18:30.155 00 UT_RUNPROC/231 +21-236-11:18:30.155 00 UT_RUNPROC/232 #ifdef GDS_EXISTS +21-236-11:18:30.155 00 UT_RUNPROC/233 write " GDS: ", gds_version +21-236-11:18:30.155 00 UT_RUNPROC/234 #endif +21-236-11:18:30.155 00 UT_RUNPROC/235 +21-236-11:18:30.155 00 UT_RUNPROC/237 write " Telemetry Info" +21-236-11:18:30.155 00 SPR-I:OPRO +21-236-11:18:30.155 00 UT_RUNPROC/237 write " Telemetry Info" +21-236-11:18:30.155 00 SPR-I:OPRO Telemetry Info +21-236-11:18:30.155 00 UT_RUNPROC/238 write " --------------" +21-236-11:18:30.155 00 SPR-I:OPRO -------------- +21-236-11:18:30.155 00 UT_RUNPROC/240 write " Pkt Loss Count: N/A" +21-236-11:18:30.155 00 SPR-I:OPRO Pkt Loss Count: N/A +21-236-11:18:30.155 00 UT_RUNPROC/241 write "**************** End FSW Configuration ***************" +21-236-11:18:30.155 00 SPR-I:OPRO **************** End FSW Configuration *************** +21-236-11:18:30.156 00 UT_RUNPROC/242 ; +21-236-11:18:30.156 00 UT_RUNPROC/243 ; Start the procedure +21-236-11:18:30.156 00 UT_RUNPROC/244 ; +21-236-11:18:30.156 00 UT_RUNPROC/245 write "Starting Procedure.... ", proc_to_run +21-236-11:18:30.156 00 SPR-I:OPRO Starting Procedure.... scx_cpu1_ds_filter +21-236-11:18:30.156 00 UT_RUNPROC/246 rstol_dir = "rstol 'start " & proc_to_run & "'" +21-236-11:18:30.156 00 UT_RUNPROC/247 stime = %gmt +21-236-11:18:30.156 00 UT_RUNPROC/248 native(rstol_dir) +21-236-11:18:30.295 00 SPR-I:OPRI --> start scx_cpu1_ds_filter +21-236-11:18:30.296 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/scx_cpu1_ds_filter.i +21-236-11:18:30.306 00 SPR-I:STS Procedure SCX_CPU1_DS_FILTER started +21-236-11:18:30.306 00 SCX_CPU1_DS_FI/2 ;******************************************************************************* +21-236-11:18:30.306 00 SCX_CPU1_DS_FI/3 ; Test Name: ds_filter +21-236-11:18:30.306 00 SCX_CPU1_DS_FI/4 ; Test Level: Build Verification +21-236-11:18:30.306 00 SCX_CPU1_DS_FI/5 ; Test Type: Functional +21-236-11:18:30.306 00 SCX_CPU1_DS_FI/6 ; +21-236-11:18:30.306 00 SCX_CPU1_DS_FI/7 ; Test Description +21-236-11:18:30.306 00 SCX_CPU1_DS_FI/8 ; This test verifies that the CFS Data Storage (DS) application filters +21-236-11:18:30.306 00 SCX_CPU1_DS_FI/9 ; messages according to the requirements. This test also verifies that +21-236-11:18:30.306 00 SCX_CPU1_DS_FI/10 ; the DS application handles anomalies appropriately. +21-236-11:18:30.306 00 SCX_CPU1_DS_FI/11 ; +21-236-11:18:30.306 00 SCX_CPU1_DS_FI/12 ; Requirements Tested +21-236-11:18:30.306 00 SCX_CPU1_DS_FI/13 ; cDS1002 For all DS commands, if the length contained in the message +21-236-11:18:30.306 00 SCX_CPU1_DS_FI/14 ; header is not equal to the expected length, DS shall reject the +21-236-11:18:30.306 00 SCX_CPU1_DS_FI/15 ; command and issue an event message. +21-236-11:18:30.306 00 SCX_CPU1_DS_FI/16 ; cDS1004 If DS accepts any command as valid, DS shall execute the +21-236-11:18:30.306 00 SCX_CPU1_DS_FI/17 ; command, increment the DS Valid Command Counter and issue an +21-236-11:18:30.306 00 SCX_CPU1_DS_FI/18 ; event message. +21-236-11:18:30.306 00 SCX_CPU1_DS_FI/19 ; cDS1005 If DS rejects any command, DS shall abort the command execution, +21-236-11:18:30.306 00 SCX_CPU1_DS_FI/20 ; increment the DS Command Rejected Counter and issue an event +21-236-11:18:30.306 00 SCX_CPU1_DS_FI/21 ; message. +21-236-11:18:30.306 00 SCX_CPU1_DS_FI/22 ; cDS2000 Upon receipt of a message, if the Packet Processing State is +21-236-11:18:30.306 00 SCX_CPU1_DS_FI/23 ; ENABLED, DS shall determine if the message shall be stored based +21-236-11:18:30.321 00 SCX_CPU1_DS_FI/24 ; on the contents of the Packet Filter table and the Destination +21-236-11:18:30.322 00 SCX_CPU1_DS_FI/25 ; File table. +21-236-11:18:30.322 00 SCX_CPU1_DS_FI/26 ; cDS2000.1 The Packet Filter Table contents shall include: +21-236-11:18:30.322 00 SCX_CPU1_DS_FI/27 ; a. Message ID +21-236-11:18:30.322 00 SCX_CPU1_DS_FI/28 ; b. Destination file table index +21-236-11:18:30.322 00 SCX_CPU1_DS_FI/29 ; c. Filter type (time/sequence count) +21-236-11:18:30.322 00 SCX_CPU1_DS_FI/30 ; d. Algoithm N value +21-236-11:18:30.322 00 SCX_CPU1_DS_FI/31 ; e. Algoithm X value +21-236-11:18:30.322 00 SCX_CPU1_DS_FI/32 ; f. Algoithm O value +21-236-11:18:30.322 00 SCX_CPU1_DS_FI/33 ; cDS2000.2 The Destination File Table contents shall include: +21-236-11:18:30.322 00 SCX_CPU1_DS_FI/34 ; a. Pathname +21-236-11:18:30.322 00 SCX_CPU1_DS_FI/35 ; b. Basename +21-236-11:18:30.322 00 SCX_CPU1_DS_FI/36 ; c. Extension +21-236-11:18:30.322 00 SCX_CPU1_DS_FI/37 ; d. Filename type (time/sequence) +21-236-11:18:30.322 00 SCX_CPU1_DS_FI/38 ; e. Default Destination enable state +21-236-11:18:30.322 00 SCX_CPU1_DS_FI/39 ; f. Max file size (in bytes) +21-236-11:18:30.322 00 SCX_CPU1_DS_FI/40 ; g. Max file age (in seconds) +21-236-11:18:30.322 00 SCX_CPU1_DS_FI/41 ; h. Initial Sequence Count +21-236-11:18:30.322 00 SCX_CPU1_DS_FI/42 ; cDS2001 DS shall store "N of X" messages starting at offset O. +21-236-11:18:30.322 00 SCX_CPU1_DS_FI/43 ; cDS2001.1 If either the X or the N value is zero, then the message shall +21-236-11:18:30.322 00 SCX_CPU1_DS_FI/44 ; not be stored. +21-236-11:18:30.322 00 SCX_CPU1_DS_FI/45 ; cDS2002 DS shall store each message in up to +21-236-11:18:30.322 00 SCX_CPU1_DS_FI/46 ; different destination files. +21-236-11:18:30.324 00 SCX_CPU1_DS_FI/47 ; cDS2002.1 Destination files shall be created when the first message is +21-236-11:18:30.324 00 SCX_CPU1_DS_FI/48 ; received that is passed by the filter algorithm for that +21-236-11:18:30.324 00 SCX_CPU1_DS_FI/49 ; particular message and selects that particular destination file. +21-236-11:18:30.324 00 SCX_CPU1_DS_FI/50 ; cDS2003 The input argument to the filter algorithm shall be determined +21-236-11:18:30.324 00 SCX_CPU1_DS_FI/51 ; by the Filter Type indicator. +21-236-11:18:30.324 00 SCX_CPU1_DS_FI/52 ; cDS2003.1 If Filter Type indicates Sequence based filtering, then the +21-236-11:18:30.324 00 SCX_CPU1_DS_FI/53 ; algorithm input argument is a value equal to the packet +21-236-11:18:30.324 00 SCX_CPU1_DS_FI/54 ; sequence count. +21-236-11:18:30.324 00 SCX_CPU1_DS_FI/55 ; cDS2003.2 If Filter Type indicated Time based filtering, then the +21-236-11:18:30.324 00 SCX_CPU1_DS_FI/56 ; algorithm input argument is a value created from the lower 11 +21-236-11:18:30.324 00 SCX_CPU1_DS_FI/57 ; bits of packet timestamp seconds plus the high 4 bits of +21-236-11:18:30.324 00 SCX_CPU1_DS_FI/58 ; timestamp subseconds. +21-236-11:18:30.324 00 SCX_CPU1_DS_FI/59 ; cDS3000 DS shall construct filenames based on the following definitions +21-236-11:18:30.324 00 SCX_CPU1_DS_FI/60 ; provided in the Destination File table: +21-236-11:18:30.324 00 SCX_CPU1_DS_FI/61 ; path + base + [time/sequence characters] + extension +21-236-11:18:30.324 00 SCX_CPU1_DS_FI/62 ; cDS3000.1 If Filename Type indicates naming based on Sequence, the +21-236-11:18:30.324 00 SCX_CPU1_DS_FI/63 ; constructed filename will include a character representation of +21-236-11:18:30.324 00 SCX_CPU1_DS_FI/64 ; the Sequence Count value from the Destination File table. +21-236-11:18:30.325 00 SCX_CPU1_DS_FI/65 ; cDS3000.1.1 If Filename Type indicates naming based on Sequence, the value +21-236-11:18:30.325 00 SCX_CPU1_DS_FI/66 ; of Sequence Count shall be incremented each time a file is +21-236-11:18:30.325 00 SCX_CPU1_DS_FI/67 ; created. +21-236-11:18:30.325 00 SCX_CPU1_DS_FI/68 ; cDS3000.2 If Filename Type indicates naming based on Time, the constructed +21-236-11:18:30.325 00 SCX_CPU1_DS_FI/69 ; filename will include a character representation of the packet +21-236-11:18:30.325 00 SCX_CPU1_DS_FI/70 ; timestamp. +21-236-11:18:30.325 00 SCX_CPU1_DS_FI/71 ; cDS3000.2.1 If Filename Type indicates naming based on Time, the file date +21-236-11:18:30.325 00 SCX_CPU1_DS_FI/72 ; and time shall be represented in the following format: +21-236-11:18:30.325 00 SCX_CPU1_DS_FI/73 ; "YYYYDDDHHMMSS". +21-236-11:18:30.325 00 SCX_CPU1_DS_FI/74 ; cDS3003 Each DS destination file shall contain a primary cFE file header +21-236-11:18:30.325 00 SCX_CPU1_DS_FI/75 ; with the following information: +21-236-11:18:30.325 00 SCX_CPU1_DS_FI/76 ; a. Content Type +21-236-11:18:30.325 00 SCX_CPU1_DS_FI/77 ; b. Sub Type +21-236-11:18:30.325 00 SCX_CPU1_DS_FI/78 ; c. Primary header length +21-236-11:18:30.325 00 SCX_CPU1_DS_FI/79 ; d. Spacecraft ID +21-236-11:18:30.325 00 SCX_CPU1_DS_FI/80 ; e. Processor ID +21-236-11:18:30.325 00 SCX_CPU1_DS_FI/81 ; f. Application ID +21-236-11:18:30.325 00 SCX_CPU1_DS_FI/82 ; g. File creation time (seconds) +21-236-11:18:30.325 00 SCX_CPU1_DS_FI/83 ; h. File creation time (sub-seconds) +21-236-11:18:30.325 00 SCX_CPU1_DS_FI/84 ; cDS3004 Each DS destination file shall contain a secondary file header +21-236-11:18:30.325 00 SCX_CPU1_DS_FI/85 ; with the following information: +21-236-11:18:30.325 00 SCX_CPU1_DS_FI/86 ; a. File close time (seconds) +21-236-11:18:30.325 00 SCX_CPU1_DS_FI/87 ; b. File close time (sub-seconds) +21-236-11:18:30.333 00 SCX_CPU1_DS_FI/88 ; c. File table index +21-236-11:18:30.333 00 SCX_CPU1_DS_FI/89 ; d. Qualified filename +21-236-11:18:30.333 00 SCX_CPU1_DS_FI/90 ; cDS5002 Upon receipt of a Close File command, DS shall close the +21-236-11:18:30.333 00 SCX_CPU1_DS_FI/91 ; command-specified files. +21-236-11:18:30.333 00 SCX_CPU1_DS_FI/92 ; cDS5008 Upon receipt of a Set File Index for a Packet Filter Table entry +21-236-11:18:30.333 00 SCX_CPU1_DS_FI/93 ; command, DS shall update the destination file index. +21-236-11:18:30.333 00 SCX_CPU1_DS_FI/94 ; cDS5009 Upon receipt of a Set Filter Type for a Packet Filter Table +21-236-11:18:30.333 00 SCX_CPU1_DS_FI/95 ; entry command, DS shall update the filter type to the command- +21-236-11:18:30.333 00 SCX_CPU1_DS_FI/96 ; specified filter type. +21-236-11:18:30.334 00 SCX_CPU1_DS_FI/97 ; cDS5010 Upon receipt of a Set Filter Parameter for a Packet Filter Table +21-236-11:18:30.334 00 SCX_CPU1_DS_FI/98 ; entry command, DS shall update the N, X, O Parameters to the +21-236-11:18:30.334 00 SCX_CPU1_DS_FI/99 ; command-specified values. +21-236-11:18:30.334 00 SCX_CPU1_DS_FI/100 ; cDS5016 Upon receipt of an Add Message ID to Packet Filter Table +21-236-11:18:30.334 00 SCX_CPU1_DS_FI/101 ; command, DS shall add the command-specified Message ID to the +21-236-11:18:30.334 00 SCX_CPU1_DS_FI/102 ; next unused entry in the Packet Filter Table +21-236-11:18:30.334 00 SCX_CPU1_DS_FI/103 ; cDS5016.1 If the command-specified MessageID is invalid, DS shall reject +21-236-11:18:30.334 00 SCX_CPU1_DS_FI/104 ; the command and send an event message. +21-236-11:18:30.334 00 SCX_CPU1_DS_FI/105 ; cDS5016.2 If the Packet Filter Table is not loaded, DS will reject the +21-236-11:18:30.334 00 SCX_CPU1_DS_FI/106 ; command and send an event message. +21-236-11:18:30.334 00 SCX_CPU1_DS_FI/107 ; cDS5016.3 If the command-specified MessageID is already specified in the +21-236-11:18:30.334 00 SCX_CPU1_DS_FI/108 ; Packet Filter Table, DS will reject the command and send an +21-236-11:18:30.334 00 SCX_CPU1_DS_FI/109 ; event message. +21-236-11:18:30.334 00 SCX_CPU1_DS_FI/110 ; cDS5016.4 If there are no unused entries in the Packet Filter Table, DS +21-236-11:18:30.334 00 SCX_CPU1_DS_FI/111 ; will reject the command and send an event message. +21-236-11:18:30.334 00 SCX_CPU1_DS_FI/112 ; cDS8000 DS shall generate a housekeeping message containing the +21-236-11:18:30.334 00 SCX_CPU1_DS_FI/113 ; following: +21-236-11:18:30.334 00 SCX_CPU1_DS_FI/114 ; a. Valid Ground Command Counter +21-236-11:18:30.334 00 SCX_CPU1_DS_FI/115 ; b. Command Rejected Counter +21-236-11:18:30.334 00 SCX_CPU1_DS_FI/116 ; c. Packets discarded (DS was disabled) Counter +21-236-11:18:30.334 00 SCX_CPU1_DS_FI/117 ; d. Packets discarded (pkt has no filter) Counter +21-236-11:18:30.334 00 SCX_CPU1_DS_FI/118 ; e. Packets discarded (failed filter test) Counter +21-236-11:18:30.334 00 SCX_CPU1_DS_FI/119 ; f. Packets that passed filter test Counter +21-236-11:18:30.335 00 SCX_CPU1_DS_FI/120 ; g. Good destination file I/O Counter +21-236-11:18:30.335 00 SCX_CPU1_DS_FI/121 ; h. Bad destination file I/O Counter +21-236-11:18:30.335 00 SCX_CPU1_DS_FI/122 ; i. Good updates to secondary header Counter +21-236-11:18:30.335 00 SCX_CPU1_DS_FI/123 ; j. Bad updates to secondary header Counter +21-236-11:18:30.335 00 SCX_CPU1_DS_FI/124 ; k. Destination file table loads Counter +21-236-11:18:30.335 00 SCX_CPU1_DS_FI/125 ; l. Failed attempts to get table data pointer Counter +21-236-11:18:30.335 00 SCX_CPU1_DS_FI/126 ; m. Packet filter table loads Counter +21-236-11:18:30.335 00 SCX_CPU1_DS_FI/127 ; n. Failed attempts to get table data pointer Counter +21-236-11:18:30.335 00 SCX_CPU1_DS_FI/128 ; o. Application State +21-236-11:18:30.335 00 SCX_CPU1_DS_FI/129 ; p. Destinatation file(s) state: +21-236-11:18:30.335 00 SCX_CPU1_DS_FI/130 ; 1. File age +21-236-11:18:30.335 00 SCX_CPU1_DS_FI/131 ; 2. File size +21-236-11:18:30.335 00 SCX_CPU1_DS_FI/132 ; 3. File rate +21-236-11:18:30.335 00 SCX_CPU1_DS_FI/133 ; 4. Sequence count +21-236-11:18:30.335 00 SCX_CPU1_DS_FI/134 ; 5. Enable State +21-236-11:18:30.335 00 SCX_CPU1_DS_FI/135 ; 6. Open State +21-236-11:18:30.335 00 SCX_CPU1_DS_FI/136 ; 7. Filename +21-236-11:18:30.340 00 SCX_CPU1_DS_FI/137 ; cDS9000 Upon initialization of the SC Application, SC shall initialize +21-236-11:18:30.340 00 SCX_CPU1_DS_FI/138 ; the following data to Zero: +21-236-11:18:30.340 00 SCX_CPU1_DS_FI/139 ; a. Valid Ground Command Counter +21-236-11:18:30.340 00 SCX_CPU1_DS_FI/140 ; b. Command Rejected Counter +21-236-11:18:30.340 00 SCX_CPU1_DS_FI/141 ; c. Packets discarded (DS was disabled) Counter +21-236-11:18:30.340 00 SCX_CPU1_DS_FI/142 ; d. Packets discarded (pkt has no filter) Counter +21-236-11:18:30.340 00 SCX_CPU1_DS_FI/143 ; e. Packets discarded (failed filter test) Counter +21-236-11:18:30.340 00 SCX_CPU1_DS_FI/144 ; f. Packets that passed filter test Counter +21-236-11:18:30.340 00 SCX_CPU1_DS_FI/145 ; g. Good destination file I/O Counter +21-236-11:18:30.340 00 SCX_CPU1_DS_FI/146 ; h. Bad destination file I/O Counter +21-236-11:18:30.340 00 SCX_CPU1_DS_FI/147 ; i. Good updates to secondary header Counter +21-236-11:18:30.341 00 SCX_CPU1_DS_FI/148 ; j. Bad updates to secondary header Counter +21-236-11:18:30.341 00 SCX_CPU1_DS_FI/149 ; k. Destination file table loads Counter +21-236-11:18:30.341 00 SCX_CPU1_DS_FI/150 ; l. Failed attempts to get table data pointer Counter +21-236-11:18:30.341 00 SCX_CPU1_DS_FI/151 ; m. Packet filter table loads Counter +21-236-11:18:30.341 00 SCX_CPU1_DS_FI/152 ; n. Failed attempts to get table data pointer Counter +21-236-11:18:30.341 00 SCX_CPU1_DS_FI/153 ; +21-236-11:18:30.341 00 SCX_CPU1_DS_FI/154 ; Prerequisite Conditions +21-236-11:18:30.341 00 SCX_CPU1_DS_FI/155 ; The cFE is up and running and ready to accept commands. +21-236-11:18:30.341 00 SCX_CPU1_DS_FI/156 ; The DS commands and telemetry items exist in the GSE database. +21-236-11:18:30.341 00 SCX_CPU1_DS_FI/157 ; The display pages exist for the DS Housekeeping. +21-236-11:18:30.341 00 SCX_CPU1_DS_FI/158 ; A DS Test application (TST_DS) exists in order to fully test the DS +21-236-11:18:30.341 00 SCX_CPU1_DS_FI/159 ; Application. +21-236-11:18:30.341 00 SCX_CPU1_DS_FI/160 ; +21-236-11:18:30.341 00 SCX_CPU1_DS_FI/161 ; Assumptions and Constraints +21-236-11:18:30.341 00 SCX_CPU1_DS_FI/162 ; None. +21-236-11:18:30.342 00 SCX_CPU1_DS_FI/163 ; +21-236-11:18:30.342 00 SCX_CPU1_DS_FI/164 ; Change History +21-236-11:18:30.342 00 SCX_CPU1_DS_FI/165 ; Date Name Description +21-236-11:18:30.342 00 SCX_CPU1_DS_FI/166 ; 11/16/09 Walt Moleski Original Procedure. +21-236-11:18:30.342 00 SCX_CPU1_DS_FI/167 ; 12/08/10 Walt Moleski Modified the procedure to use variables +21-236-11:18:30.342 00 SCX_CPU1_DS_FI/168 ; for the application name and ram disk. +21-236-11:18:30.342 00 SCX_CPU1_DS_FI/169 ; 09/14/11 Walt Moleski Updated for DS 2.2.0.0 +21-236-11:18:30.342 00 SCX_CPU1_DS_FI/170 ; 01/31/17 Walt Moleski Updated for DS 2.5.0.0 using CPU1 for +21-236-11:18:30.342 00 SCX_CPU1_DS_FI/171 ; commanding and added a hostCPU variable +21-236-11:18:30.342 00 SCX_CPU1_DS_FI/172 ; for the utility procs to connect to the +21-236-11:18:30.342 00 SCX_CPU1_DS_FI/173 ; proper host IP address. +21-236-11:18:30.342 00 SCX_CPU1_DS_FI/174 ; +21-236-11:18:30.342 00 SCX_CPU1_DS_FI/175 ; Arguments +21-236-11:18:30.342 00 SCX_CPU1_DS_FI/176 ; None. +21-236-11:18:30.342 00 SCX_CPU1_DS_FI/177 ; +21-236-11:18:30.342 00 SCX_CPU1_DS_FI/178 ; Procedures Called +21-236-11:18:30.342 00 SCX_CPU1_DS_FI/179 ; Name Description +21-236-11:18:30.342 00 SCX_CPU1_DS_FI/180 ; ut_tlmwait Wait for a specified telemetry point to update to a +21-236-11:18:30.342 00 SCX_CPU1_DS_FI/181 ; specified value. +21-236-11:18:30.342 00 SCX_CPU1_DS_FI/182 ; ut_pfindicate Print the pass fail status of a particular requirement +21-236-11:18:30.348 00 SCX_CPU1_DS_FI/183 ; number. +21-236-11:18:30.348 00 SCX_CPU1_DS_FI/184 ; ut_setupevents Performs setup to verify that a particular event +21-236-11:18:30.348 00 SCX_CPU1_DS_FI/185 ; message was received by ASIST. +21-236-11:18:30.349 00 SCX_CPU1_DS_FI/186 ; ut_setrequirements A directive to set the status of the cFE +21-236-11:18:30.349 00 SCX_CPU1_DS_FI/187 ; requirements array. +21-236-11:18:30.349 00 SCX_CPU1_DS_FI/188 ; +21-236-11:18:30.349 00 SCX_CPU1_DS_FI/189 ; Expected Test Results and Analysis +21-236-11:18:30.349 00 SCX_CPU1_DS_FI/190 ; +21-236-11:18:30.349 00 SCX_CPU1_DS_FI/191 ;********************************************************************** +21-236-11:18:30.349 00 SCX_CPU1_DS_FI/192 +21-236-11:18:30.349 00 SCX_CPU1_DS_FI/194 local logging = %liv (log_procedure) +21-236-11:18:30.349 00 SCX_CPU1_DS_FI/195 %liv (log_procedure) = FALSE +21-236-11:18:30.418 00 SCX_CPU1_DS_FI/210 +21-236-11:18:30.418 00 SCX_CPU1_DS_FI/211 #define DS_1002 0 +21-236-11:18:30.419 00 SCX_CPU1_DS_FI/212 #define DS_1004 1 +21-236-11:18:30.419 00 SCX_CPU1_DS_FI/213 #define DS_1005 2 +21-236-11:18:30.419 00 SCX_CPU1_DS_FI/214 #define DS_2000 3 +21-236-11:18:30.419 00 SCX_CPU1_DS_FI/215 #define DS_20001 4 +21-236-11:18:30.419 00 SCX_CPU1_DS_FI/216 #define DS_20002 5 +21-236-11:18:30.419 00 SCX_CPU1_DS_FI/217 #define DS_2001 6 +21-236-11:18:30.419 00 SCX_CPU1_DS_FI/218 #define DS_20011 7 +21-236-11:18:30.419 00 SCX_CPU1_DS_FI/219 #define DS_2002 8 +21-236-11:18:30.419 00 SCX_CPU1_DS_FI/220 #define DS_20021 9 +21-236-11:18:30.419 00 SCX_CPU1_DS_FI/221 #define DS_2003 10 +21-236-11:18:30.419 00 SCX_CPU1_DS_FI/222 #define DS_20031 11 +21-236-11:18:30.419 00 SCX_CPU1_DS_FI/223 #define DS_20032 12 +21-236-11:18:30.419 00 SCX_CPU1_DS_FI/224 #define DS_3000 13 +21-236-11:18:30.419 00 SCX_CPU1_DS_FI/225 #define DS_30001 14 +21-236-11:18:30.419 00 SCX_CPU1_DS_FI/226 #define DS_300011 15 +21-236-11:18:30.419 00 SCX_CPU1_DS_FI/227 #define DS_30002 16 +21-236-11:18:30.419 00 SCX_CPU1_DS_FI/228 #define DS_300021 17 +21-236-11:18:30.419 00 SCX_CPU1_DS_FI/229 #define DS_3003 18 +21-236-11:18:30.419 00 SCX_CPU1_DS_FI/230 #define DS_3004 19 +21-236-11:18:30.419 00 SCX_CPU1_DS_FI/231 #define DS_5002 20 +21-236-11:18:30.419 00 SCX_CPU1_DS_FI/232 #define DS_5008 21 +21-236-11:18:30.419 00 SCX_CPU1_DS_FI/233 #define DS_5009 22 +21-236-11:18:30.419 00 SCX_CPU1_DS_FI/234 #define DS_5010 23 +21-236-11:18:30.419 00 SCX_CPU1_DS_FI/235 #define DS_5016 24 +21-236-11:18:30.419 00 SCX_CPU1_DS_FI/236 #define DS_50161 25 +21-236-11:18:30.419 00 SCX_CPU1_DS_FI/237 #define DS_50162 26 +21-236-11:18:30.419 00 SCX_CPU1_DS_FI/238 #define DS_50163 27 +21-236-11:18:30.419 00 SCX_CPU1_DS_FI/239 #define DS_50164 28 +21-236-11:18:30.425 00 SCX_CPU1_DS_FI/240 #define DS_8000 29 +21-236-11:18:30.425 00 SCX_CPU1_DS_FI/241 #define DS_9000 30 +21-236-11:18:30.425 00 SCX_CPU1_DS_FI/242 +21-236-11:18:30.425 00 SCX_CPU1_DS_FI/243 global ut_req_array_size = 30 +21-236-11:18:30.425 00 SCX_CPU1_DS_FI/244 global ut_requirement[0 .. ut_req_array_size] +21-236-11:18:30.425 00 SCX_CPU1_DS_FI/245 +21-236-11:18:30.425 00 SCX_CPU1_DS_FI/246 for i = 0 to ut_req_array_size DO +21-236-11:18:30.425 00 SCX_CPU1_DS_FI/247 ut_requirement[i] = "U" +21-236-11:18:30.425 00 SCX_CPU1_DS_FI/248 enddo +21-236-11:18:30.425 00 SCX_CPU1_DS_FI/246 for i = 0 to ut_req_array_size DO +21-236-11:18:30.425 00 SCX_CPU1_DS_FI/247 ut_requirement[i] = "U" +21-236-11:18:30.425 00 SCX_CPU1_DS_FI/248 enddo +21-236-11:18:30.426 00 SCX_CPU1_DS_FI/246 for i = 0 to ut_req_array_size DO +21-236-11:18:30.426 00 SCX_CPU1_DS_FI/247 ut_requirement[i] = "U" +21-236-11:18:30.426 00 SCX_CPU1_DS_FI/248 enddo +21-236-11:18:30.426 00 SCX_CPU1_DS_FI/246 for i = 0 to ut_req_array_size DO +21-236-11:18:30.426 00 SCX_CPU1_DS_FI/247 ut_requirement[i] = "U" +21-236-11:18:30.426 00 SCX_CPU1_DS_FI/248 enddo +21-236-11:18:30.426 00 SCX_CPU1_DS_FI/246 for i = 0 to ut_req_array_size DO +21-236-11:18:30.426 00 SCX_CPU1_DS_FI/247 ut_requirement[i] = "U" +21-236-11:18:30.426 00 SCX_CPU1_DS_FI/248 enddo +21-236-11:18:30.426 00 SCX_CPU1_DS_FI/246 for i = 0 to ut_req_array_size DO +21-236-11:18:30.426 00 SCX_CPU1_DS_FI/247 ut_requirement[i] = "U" +21-236-11:18:30.426 00 SCX_CPU1_DS_FI/248 enddo +21-236-11:18:30.426 00 SCX_CPU1_DS_FI/246 for i = 0 to ut_req_array_size DO +21-236-11:18:30.430 00 SCX_CPU1_DS_FI/247 ut_requirement[i] = "U" +21-236-11:18:30.430 00 SCX_CPU1_DS_FI/248 enddo +21-236-11:18:30.430 00 SCX_CPU1_DS_FI/246 for i = 0 to ut_req_array_size DO +21-236-11:18:30.430 00 SCX_CPU1_DS_FI/247 ut_requirement[i] = "U" +21-236-11:18:30.430 00 SCX_CPU1_DS_FI/248 enddo +21-236-11:18:30.430 00 SCX_CPU1_DS_FI/246 for i = 0 to ut_req_array_size DO +21-236-11:18:30.430 00 SCX_CPU1_DS_FI/247 ut_requirement[i] = "U" +21-236-11:18:30.430 00 SCX_CPU1_DS_FI/248 enddo +21-236-11:18:30.431 00 SCX_CPU1_DS_FI/246 for i = 0 to ut_req_array_size DO +21-236-11:18:30.431 00 SCX_CPU1_DS_FI/247 ut_requirement[i] = "U" +21-236-11:18:30.431 00 SCX_CPU1_DS_FI/248 enddo +21-236-11:18:30.431 00 SCX_CPU1_DS_FI/246 for i = 0 to ut_req_array_size DO +21-236-11:18:30.431 00 SCX_CPU1_DS_FI/247 ut_requirement[i] = "U" +21-236-11:18:30.431 00 SCX_CPU1_DS_FI/248 enddo +21-236-11:18:30.431 00 SCX_CPU1_DS_FI/246 for i = 0 to ut_req_array_size DO +21-236-11:18:30.431 00 SCX_CPU1_DS_FI/247 ut_requirement[i] = "U" +21-236-11:18:30.431 00 SCX_CPU1_DS_FI/248 enddo +21-236-11:18:30.431 00 SCX_CPU1_DS_FI/246 for i = 0 to ut_req_array_size DO +21-236-11:18:30.431 00 SCX_CPU1_DS_FI/247 ut_requirement[i] = "U" +21-236-11:18:30.431 00 SCX_CPU1_DS_FI/248 enddo +21-236-11:18:30.431 00 SCX_CPU1_DS_FI/246 for i = 0 to ut_req_array_size DO +21-236-11:18:30.431 00 SCX_CPU1_DS_FI/247 ut_requirement[i] = "U" +21-236-11:18:30.431 00 SCX_CPU1_DS_FI/248 enddo +21-236-11:18:30.431 00 SCX_CPU1_DS_FI/246 for i = 0 to ut_req_array_size DO +21-236-11:18:30.435 00 SCX_CPU1_DS_FI/247 ut_requirement[i] = "U" +21-236-11:18:30.435 00 SCX_CPU1_DS_FI/248 enddo +21-236-11:18:30.435 00 SCX_CPU1_DS_FI/246 for i = 0 to ut_req_array_size DO +21-236-11:18:30.435 00 SCX_CPU1_DS_FI/247 ut_requirement[i] = "U" +21-236-11:18:30.435 00 SCX_CPU1_DS_FI/248 enddo +21-236-11:18:30.435 00 SCX_CPU1_DS_FI/246 for i = 0 to ut_req_array_size DO +21-236-11:18:30.435 00 SCX_CPU1_DS_FI/247 ut_requirement[i] = "U" +21-236-11:18:30.435 00 SCX_CPU1_DS_FI/248 enddo +21-236-11:18:30.435 00 SCX_CPU1_DS_FI/246 for i = 0 to ut_req_array_size DO +21-236-11:18:30.436 00 SCX_CPU1_DS_FI/247 ut_requirement[i] = "U" +21-236-11:18:30.436 00 SCX_CPU1_DS_FI/248 enddo +21-236-11:18:30.436 00 SCX_CPU1_DS_FI/246 for i = 0 to ut_req_array_size DO +21-236-11:18:30.759 00 SCX_CPU1_DS_FI/247 ut_requirement[i] = "U" +21-236-11:18:30.759 00 SCX_CPU1_DS_FI/248 enddo +21-236-11:18:30.759 00 SCX_CPU1_DS_FI/246 for i = 0 to ut_req_array_size DO +21-236-11:18:30.759 00 SCX_CPU1_DS_FI/247 ut_requirement[i] = "U" +21-236-11:18:30.759 00 SCX_CPU1_DS_FI/248 enddo +21-236-11:18:30.759 00 SCX_CPU1_DS_FI/246 for i = 0 to ut_req_array_size DO +21-236-11:18:30.759 00 SCX_CPU1_DS_FI/247 ut_requirement[i] = "U" +21-236-11:18:30.759 00 SCX_CPU1_DS_FI/248 enddo +21-236-11:18:30.759 00 SCX_CPU1_DS_FI/246 for i = 0 to ut_req_array_size DO +21-236-11:18:30.759 00 SCX_CPU1_DS_FI/247 ut_requirement[i] = "U" +21-236-11:18:30.759 00 SCX_CPU1_DS_FI/248 enddo +21-236-11:18:30.759 00 SCX_CPU1_DS_FI/246 for i = 0 to ut_req_array_size DO +21-236-11:18:30.760 00 SCX_CPU1_DS_FI/247 ut_requirement[i] = "U" +21-236-11:18:30.760 00 SCX_CPU1_DS_FI/248 enddo +21-236-11:18:30.760 00 SCX_CPU1_DS_FI/246 for i = 0 to ut_req_array_size DO +21-236-11:18:30.760 00 SCX_CPU1_DS_FI/247 ut_requirement[i] = "U" +21-236-11:18:30.760 00 SCX_CPU1_DS_FI/248 enddo +21-236-11:18:30.760 00 SCX_CPU1_DS_FI/246 for i = 0 to ut_req_array_size DO +21-236-11:18:30.760 00 SCX_CPU1_DS_FI/247 ut_requirement[i] = "U" +21-236-11:18:30.760 00 SCX_CPU1_DS_FI/248 enddo +21-236-11:18:30.760 00 SCX_CPU1_DS_FI/246 for i = 0 to ut_req_array_size DO +21-236-11:18:30.760 00 SCX_CPU1_DS_FI/247 ut_requirement[i] = "U" +21-236-11:18:30.760 00 SCX_CPU1_DS_FI/248 enddo +21-236-11:18:30.760 00 SCX_CPU1_DS_FI/246 for i = 0 to ut_req_array_size DO +21-236-11:18:30.760 00 SCX_CPU1_DS_FI/247 ut_requirement[i] = "U" +21-236-11:18:30.760 00 SCX_CPU1_DS_FI/248 enddo +21-236-11:18:30.761 00 SCX_CPU1_DS_FI/246 for i = 0 to ut_req_array_size DO +21-236-11:18:30.761 00 SCX_CPU1_DS_FI/247 ut_requirement[i] = "U" +21-236-11:18:30.761 00 SCX_CPU1_DS_FI/248 enddo +21-236-11:18:30.761 00 SCX_CPU1_DS_FI/246 for i = 0 to ut_req_array_size DO +21-236-11:18:30.761 00 SCX_CPU1_DS_FI/247 ut_requirement[i] = "U" +21-236-11:18:30.761 00 SCX_CPU1_DS_FI/248 enddo +21-236-11:18:30.761 00 SCX_CPU1_DS_FI/246 for i = 0 to ut_req_array_size DO +21-236-11:18:30.761 00 SCX_CPU1_DS_FI/247 ut_requirement[i] = "U" +21-236-11:18:30.761 00 SCX_CPU1_DS_FI/248 enddo +21-236-11:18:30.761 00 SCX_CPU1_DS_FI/246 for i = 0 to ut_req_array_size DO +21-236-11:18:30.761 00 SCX_CPU1_DS_FI/247 ut_requirement[i] = "U" +21-236-11:18:30.762 00 SCX_CPU1_DS_FI/248 enddo +21-236-11:18:30.762 00 SCX_CPU1_DS_FI/246 for i = 0 to ut_req_array_size DO +21-236-11:18:30.762 00 SCX_CPU1_DS_FI/249 +21-236-11:18:30.762 00 SCX_CPU1_DS_FI/250 ;********************************************************************** +21-236-11:18:30.762 00 SCX_CPU1_DS_FI/251 ; Set the local values +21-236-11:18:30.762 00 SCX_CPU1_DS_FI/252 ;********************************************************************** +21-236-11:18:30.762 00 SCX_CPU1_DS_FI/253 local cfe_requirements[0 .. ut_req_array_size] = ["DS_1002", "DS_1004", "DS_1005", "DS_2000", "DS_2000.1", "DS_2000.2", "DS_2001", "DS_2001.1", "DS_2002", "DS_2002.1", "DS_2003", "DS_2003.1", "DS_2003.2", "DS_3000", "DS_3000.1", "DS_3000.1.1", "DS_3000.2", "DS_3000.2.1", "DS_3003", "DS_3004", "DS_5002", "DS_5008", "DS_5009", "DS_5010", "DS_5016", "DS_5016.1", "DS_5016.2", "DS_5016.3", "DS_5016.4", "DS_8000", "DS_9000" ] +21-236-11:18:30.762 00 SCX_CPU1_DS_FI/254 +21-236-11:18:30.762 00 SCX_CPU1_DS_FI/255 ;********************************************************************** +21-236-11:18:30.762 00 SCX_CPU1_DS_FI/256 ; Define local variables +21-236-11:18:30.762 00 SCX_CPU1_DS_FI/257 ;********************************************************************** +21-236-11:18:30.762 00 SCX_CPU1_DS_FI/258 LOCAL rawcmd +21-236-11:18:30.762 00 SCX_CPU1_DS_FI/259 LOCAL fileTblPktId, fileTblAppId +21-236-11:18:30.762 00 SCX_CPU1_DS_FI/260 LOCAL filterTblPktId, filterTblAppId +21-236-11:18:30.762 00 SCX_CPU1_DS_FI/261 local DSAppName = "DS" +21-236-11:18:30.762 00 SCX_CPU1_DS_FI/262 local fileTblName = DSAppName & "." & DS_DESTINATION_TBL_NAME +21-236-11:18:30.762 00 SCX_CPU1_DS_FI/263 local filterTblName = DSAppName & "." & DS_FILTER_TBL_NAME +21-236-11:18:30.762 00 SCX_CPU1_DS_FI/264 local ramDir = "RAM:0" +21-236-11:18:30.762 00 SCX_CPU1_DS_FI/265 local hostCPU = "CPU3" +21-236-11:18:30.763 00 SCX_CPU1_DS_FI/266 +21-236-11:18:30.763 00 SCX_CPU1_DS_FI/269 fileTblPktId = "0F76" +21-236-11:18:30.763 00 SCX_CPU1_DS_FI/270 fileTblAppId = 3958 +21-236-11:18:30.763 00 SCX_CPU1_DS_FI/271 filterTblPktId = "0F77" +21-236-11:18:30.763 00 SCX_CPU1_DS_FI/272 filterTblAppId = 3959 +21-236-11:18:30.763 00 SCX_CPU1_DS_FI/273 local addMID = 0x0906 +21-236-11:18:30.763 00 SCX_CPU1_DS_FI/274 local fullMID = 0xA01 +21-236-11:18:30.763 00 SCX_CPU1_DS_FI/275 +21-236-11:18:30.763 00 SCX_CPU1_DS_FI/276 write ";***********************************************************************" +21-236-11:18:30.763 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:18:30.763 00 SCX_CPU1_DS_FI/277 write "; Step 1.0: Data Storage Test Setup." +21-236-11:18:30.763 00 SPR-I:OPRO ; Step 1.0: Data Storage Test Setup. +21-236-11:18:30.763 00 SCX_CPU1_DS_FI/278 write ";***********************************************************************" +21-236-11:18:30.763 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:18:30.764 00 SCX_CPU1_DS_FI/279 write "; Step 1.1: Command a Power-on Reset on CPU1." +21-236-11:18:30.764 00 SPR-I:OPRO ; Step 1.1: Command a Power-on Reset on CPU1. +21-236-11:18:30.764 00 SCX_CPU1_DS_FI/280 write ";***********************************************************************" +21-236-11:18:30.764 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:18:30.764 00 SCX_CPU1_DS_FI/281 /SCX_CPU1_ES_POWERONRESET +21-236-11:18:30.776 00 SCX_CPU1_DS_FI/282 wait 10 +21-236-11:18:30.776 00 SPR-I:STTE Wait mode - waiting 10 seconds ... +21-236-11:18:40.784 00 SCX_CPU1_DS_FI/283 +21-236-11:18:40.785 00 SCX_CPU1_DS_FI/284 close_data_center +21-236-11:18:40.786 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/clear_spacecraft_status.i +21-236-11:18:40.787 00 SPR-I:STS Procedure CLEAR_SPACECRAFT_STATUS started +21-236-11:18:40.788 00 CLEAR_SPACECRA/2 ; +21-236-11:18:40.788 00 CLEAR_SPACECRA/3 local logging = %liv(log_procedure) +21-236-11:18:40.788 00 CLEAR_SPACECRA/4 %liv (log_procedure) = FALSE +21-236-11:18:40.796 00 CLEAR_SPACECRA/135 +21-236-11:18:40.796 00 CLEAR_SPACECRA/136 endproc +21-236-11:18:40.796 00 SPR-I:STS Procedure CLEAR_SPACECRAFT_STATUS completed +21-236-11:18:40.825 00 SCX_CPU1_DS_FI/285 wait 60 +21-236-11:18:40.825 00 SPR-I:STTE Wait mode - waiting 60 seconds ... +21-236-11:19:40.871 00 SCX_CPU1_DS_FI/286 +21-236-11:19:40.871 00 SCX_CPU1_DS_FI/287 cfe_startup {hostCPU} +21-236-11:19:40.880 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:19:50.892 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:19:50.961 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/send_that_to_command.i +21-236-11:19:50.962 00 SPR-I:STS Procedure SEND_THAT_TO_COMMAND started +21-236-11:19:50.962 00 SEND_THAT_TO_C/2 ; +21-236-11:19:50.962 00 SEND_THAT_TO_C/3 local logging = %liv (log_procedure) +21-236-11:19:50.962 00 SEND_THAT_TO_C/4 %liv (log_procedure) = FALSE +21-236-11:19:50.963 00 SPR-I:OPRO Sending: /SCX_CPU1_TO_OUTPUT_ENA gs582cfslab4 +21-236-11:19:51.014 00 SEND_THAT_TO_C/83 +21-236-11:19:51.014 00 SEND_THAT_TO_C/84 endproc +21-236-11:19:51.014 00 SPR-I:STS Procedure SEND_THAT_TO_COMMAND completed +21-236-11:19:51.014 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:19:52.016 00 TLMH-I:STS 58-012-14:03:48.950 INFO CPU=CPU1 APPNAME=TO_LAB_APP EVENT ID=3 TO telemetry output enabled for IP 192.168.1.101 +21-236-11:19:55.019 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:19:55.019 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/fill_in_spacecraft_status.i +21-236-11:19:55.021 00 SPR-I:STS Procedure FILL_IN_SPACECRAFT_STATUS started +21-236-11:19:55.021 00 FILL_IN_SPACEC/2 ; +21-236-11:19:55.021 00 FILL_IN_SPACEC/3 local logging = %liv (log_procedure) +21-236-11:19:55.022 00 FILL_IN_SPACEC/4 %liv (log_procedure) = FALSE +21-236-11:19:55.026 00 FILL_IN_SPACEC/152 +21-236-11:19:55.026 00 FILL_IN_SPACEC/153 endproc +21-236-11:19:55.026 00 SPR-I:STS Procedure FILL_IN_SPACECRAFT_STATUS completed +21-236-11:19:55.026 00 SCX_CPU1_DS_FI/288 wait 5 +21-236-11:19:55.026 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:20:00.030 00 SCX_CPU1_DS_FI/289 +21-236-11:20:00.030 00 SCX_CPU1_DS_FI/290 write ";***********************************************************************" +21-236-11:20:00.031 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:20:00.031 00 SCX_CPU1_DS_FI/291 write "; Step 1.2: Upload the default DS table load images to CPU1." +21-236-11:20:00.031 00 SPR-I:OPRO ; Step 1.2: Upload the default DS table load images to CPU1. +21-236-11:20:00.031 00 SCX_CPU1_DS_FI/292 write ";***********************************************************************" +21-236-11:20:00.031 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:20:00.031 00 SCX_CPU1_DS_FI/294 s scx_cpu1_ds_tbl3 +21-236-11:20:00.031 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/scx_cpu1_ds_tbl3.i +21-236-11:20:00.034 00 SPR-I:STS Procedure SCX_CPU1_DS_TBL3 started +21-236-11:20:00.034 00 SCX_CPU1_DS_TB/2 ;******************************************************************************* +21-236-11:20:00.034 00 SCX_CPU1_DS_TB/3 ; Test Name: ds_tbl3 +21-236-11:20:00.034 00 SCX_CPU1_DS_TB/4 ; Test Level: Build Verification +21-236-11:20:00.034 00 SCX_CPU1_DS_TB/5 ; Test Type: Functional +21-236-11:20:00.034 00 SCX_CPU1_DS_TB/6 ; +21-236-11:20:00.034 00 SCX_CPU1_DS_TB/7 ; Test Description +21-236-11:20:00.035 00 SCX_CPU1_DS_TB/8 ; This procedure creates the initial CFS Data Storage (DS) Destination +21-236-11:20:00.035 00 SCX_CPU1_DS_TB/9 ; File and Packet Filter Table load image files. These files are currently +21-236-11:20:00.035 00 SCX_CPU1_DS_TB/10 ; used by the Filter and Reset No CDS test procedures. +21-236-11:20:00.035 00 SCX_CPU1_DS_TB/11 ; +21-236-11:20:00.035 00 SCX_CPU1_DS_TB/12 ; Prerequisite Conditions +21-236-11:20:00.035 00 SCX_CPU1_DS_TB/13 ; None. +21-236-11:20:00.035 00 SCX_CPU1_DS_TB/14 ; +21-236-11:20:00.035 00 SCX_CPU1_DS_TB/15 ; Assumptions and Constraints +21-236-11:20:00.035 00 SCX_CPU1_DS_TB/16 ; None. +21-236-11:20:00.035 00 SCX_CPU1_DS_TB/17 ; +21-236-11:20:00.035 00 SCX_CPU1_DS_TB/18 ; Change History +21-236-11:20:00.035 00 SCX_CPU1_DS_TB/19 ; Date Name Description +21-236-11:20:00.035 00 SCX_CPU1_DS_TB/20 ; 11/17/09 Walt Moleski Inital implemetation. +21-236-11:20:00.035 00 SCX_CPU1_DS_TB/21 ; 12/08/10 Walt Moleski Modified the procedure to use variables +21-236-11:20:00.035 00 SCX_CPU1_DS_TB/22 ; for the application name and ram disk. +21-236-11:20:00.035 00 SCX_CPU1_DS_TB/23 ; 01/31/17 Walt Moleski Updated for DS 2.5.0.0 using CPU1 for +21-236-11:20:00.037 00 SCX_CPU1_DS_TB/24 ; commanding and added a hostCPU variable +21-236-11:20:00.037 00 SCX_CPU1_DS_TB/25 ; for the utility procs to connect to the +21-236-11:20:00.037 00 SCX_CPU1_DS_TB/26 ; proper host IP address. +21-236-11:20:00.037 00 SCX_CPU1_DS_TB/27 ; +21-236-11:20:00.037 00 SCX_CPU1_DS_TB/28 ; Arguments +21-236-11:20:00.037 00 SCX_CPU1_DS_TB/29 ; None. +21-236-11:20:00.037 00 SCX_CPU1_DS_TB/30 ; +21-236-11:20:00.037 00 SCX_CPU1_DS_TB/31 ; Procedures Called +21-236-11:20:00.037 00 SCX_CPU1_DS_TB/32 ; Name Description +21-236-11:20:00.037 00 SCX_CPU1_DS_TB/33 ; +21-236-11:20:00.037 00 SCX_CPU1_DS_TB/34 ; Expected Test Results and Analysis +21-236-11:20:00.037 00 SCX_CPU1_DS_TB/35 ; +21-236-11:20:00.037 00 SCX_CPU1_DS_TB/36 ;********************************************************************** +21-236-11:20:00.037 00 SCX_CPU1_DS_TB/37 +21-236-11:20:00.037 00 SCX_CPU1_DS_TB/38 local logging = %liv (log_procedure) +21-236-11:20:00.037 00 SCX_CPU1_DS_TB/39 %liv (log_procedure) = FALSE +21-236-11:20:00.075 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:20:00.076 00 SPR-I:OPRO ; Step 1.0: Define DS Destination File And Packet Filter Tables. +21-236-11:20:00.076 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:20:00.080 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/create_tbl_file_from_cvt.i +21-236-11:20:00.081 00 SPR-I:STS Procedure CREATE_TBL_FILE_FROM_CVT started +21-236-11:20:00.082 00 SPR-I:OPRO ********** ds_filtfile.tbl ********** +21-236-11:20:00.082 00 SPR-I:OPRO +21-236-11:20:00.083 00 SPR-I:OPRO Content Type: cFE1 +21-236-11:20:00.083 00 SPR-I:OPRO Sub Type: 8 +21-236-11:20:00.083 00 SPR-I:OPRO Length: 12 +21-236-11:20:00.083 00 SPR-I:OPRO Spacecraft Id: SCX +21-236-11:20:00.083 00 SPR-I:OPRO Processor Id: CPU3 +21-236-11:20:00.083 00 SPR-I:OPRO Application Id: 3958 +21-236-11:20:00.083 00 SPR-I:OPRO Create Time Secs: 1629804000 +21-236-11:20:00.083 00 SPR-I:OPRO Create Time Subsecs: 0 +21-236-11:20:00.083 00 SPR-I:OPRO File Description: File Write Test File Table +21-236-11:20:00.083 00 SPR-I:OPRO +21-236-11:20:00.083 00 SPR-I:OPRO ********** DS.FILE_TBL ********** +21-236-11:20:00.083 00 SPR-I:OPRO +21-236-11:20:00.083 00 SPR-I:OPRO Start Mnemonic: SCX_CPU1_DS_DF_TBL_Description +21-236-11:20:00.083 00 SPR-I:OPRO Byte Offset: 0 +21-236-11:20:00.083 00 SPR-I:OPRO End Mnemonic: SCX_CPU1_DS_DF_TBL[7].SeqCnt +21-236-11:20:00.084 00 SPR-I:OPRO Number of Bytes: 1760 +21-236-11:20:00.084 00 SPR-I:OPRO +21-236-11:20:00.089 00 SPR-I:STS Loading file /s/opr/accounts/global/prc/partial_cvt_to_file_beta.i +21-236-11:20:00.089 00 SPR-I:STS Procedure PARTIAL_CVT_TO_FILE_BETA started +21-236-11:20:00.090 00 SPR-I:OPRO The unix command is cd /s/opr/accounts/cfs_test/image;cvt2file -s 116 -e 1875 P0F76 ds.file_tbl +21-236-11:20:00.093 00 SPR-I:STS Procedure PARTIAL_CVT_TO_FILE_BETA completed +21-236-11:20:00.094 00 SPR-I:OPRO cd /s/opr/accounts/cfs_test/image;cat ds_filtfile.tbl.tmp ds.file_tbl > ds_filtfile.tbl +21-236-11:20:00.097 00 SPR-I:OPRO cd /s/opr/accounts/cfs_test/image;rm ds.file_tbl ds_filtfile.tbl.tmp +21-236-11:20:00.101 00 SPR-I:STS Procedure CREATE_TBL_FILE_FROM_CVT completed +21-236-11:20:00.577 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/create_tbl_file_from_cvt.i +21-236-11:20:00.577 00 SPR-I:STS Procedure CREATE_TBL_FILE_FROM_CVT started +21-236-11:20:00.579 00 SPR-I:OPRO ********** ds_filtfilter.tbl ********** +21-236-11:20:00.579 00 SPR-I:OPRO +21-236-11:20:00.579 00 SPR-I:OPRO Content Type: cFE1 +21-236-11:20:00.579 00 SPR-I:OPRO Sub Type: 8 +21-236-11:20:00.579 00 SPR-I:OPRO Length: 12 +21-236-11:20:00.579 00 SPR-I:OPRO Spacecraft Id: SCX +21-236-11:20:00.580 00 SPR-I:OPRO Processor Id: CPU3 +21-236-11:20:00.580 00 SPR-I:OPRO Application Id: 3959 +21-236-11:20:00.580 00 SPR-I:OPRO Create Time Secs: 1629804000 +21-236-11:20:00.580 00 SPR-I:OPRO Create Time Subsecs: 0 +21-236-11:20:00.580 00 SPR-I:OPRO File Description: Filter Test Filter Table +21-236-11:20:00.580 00 SPR-I:OPRO +21-236-11:20:00.580 00 SPR-I:OPRO ********** DS.FILTER_TBL ********** +21-236-11:20:00.580 00 SPR-I:OPRO +21-236-11:20:00.580 00 SPR-I:OPRO Start Mnemonic: SCX_CPU1_DS_PF_TBL_Description +21-236-11:20:00.580 00 SPR-I:OPRO Byte Offset: 0 +21-236-11:20:00.580 00 SPR-I:OPRO End Mnemonic: SCX_CPU1_DS_PF_TBL[255].FilterParams[3].O_Value +21-236-11:20:00.580 00 SPR-I:OPRO Number of Bytes: 9248 +21-236-11:20:00.580 00 SPR-I:OPRO +21-236-11:20:00.585 00 SPR-I:STS Loading file /s/opr/accounts/global/prc/partial_cvt_to_file_beta.i +21-236-11:20:00.585 00 SPR-I:STS Procedure PARTIAL_CVT_TO_FILE_BETA started +21-236-11:20:00.586 00 SPR-I:OPRO The unix command is cd /s/opr/accounts/cfs_test/image;cvt2file -s 116 -e 9363 P0F77 ds.filter_tbl +21-236-11:20:00.589 00 SPR-I:STS Procedure PARTIAL_CVT_TO_FILE_BETA completed +21-236-11:20:00.590 00 SPR-I:OPRO cd /s/opr/accounts/cfs_test/image;cat ds_filtfilter.tbl.tmp ds.filter_tbl > ds_filtfilter.tbl +21-236-11:20:00.593 00 SPR-I:OPRO cd /s/opr/accounts/cfs_test/image;rm ds.filter_tbl ds_filtfilter.tbl.tmp +21-236-11:20:00.597 00 SPR-I:STS Procedure CREATE_TBL_FILE_FROM_CVT completed +21-236-11:20:00.598 00 SCX_CPU1_DS_TB/309 +21-236-11:20:00.598 00 SCX_CPU1_DS_TB/310 write ";*********************************************************************" +21-236-11:20:00.598 00 SPR-I:OPRO ;********************************************************************* +21-236-11:20:00.598 00 SCX_CPU1_DS_TB/311 write "; End procedure SCX_CPU1_ds_tbl3" +21-236-11:20:00.598 00 SPR-I:OPRO ; End procedure SCX_CPU1_ds_tbl3 +21-236-11:20:00.598 00 SCX_CPU1_DS_TB/312 write ";*********************************************************************" +21-236-11:20:00.598 00 SPR-I:OPRO ;********************************************************************* +21-236-11:20:00.598 00 SCX_CPU1_DS_TB/313 ENDPROC +21-236-11:20:00.598 00 SPR-I:STS Procedure SCX_CPU1_DS_TBL3 completed +21-236-11:20:00.598 00 SCX_CPU1_DS_FI/295 +21-236-11:20:00.598 00 SCX_CPU1_DS_FI/297 local destFileName = DS_DEF_DEST_FILENAME +21-236-11:20:00.599 00 SCX_CPU1_DS_FI/298 local filterFileName = DS_DEF_FILTER_FILENAME +21-236-11:20:00.599 00 SCX_CPU1_DS_FI/299 local slashLoc = %locate(destFileName,"/") +21-236-11:20:00.599 00 SCX_CPU1_DS_FI/300 +21-236-11:20:00.599 00 SCX_CPU1_DS_FI/302 while (slashLoc <> 0) do +21-236-11:20:00.599 00 SCX_CPU1_DS_FI/303 destFileName = %substring(destFileName,slashLoc+1,%length(destFileName)) +21-236-11:20:00.599 00 SCX_CPU1_DS_FI/304 slashLoc = %locate(destFileName,"/") +21-236-11:20:00.599 00 SCX_CPU1_DS_FI/305 enddo +21-236-11:20:00.599 00 SCX_CPU1_DS_FI/303 destFileName = %substring(destFileName,slashLoc+1,%length(destFileName)) +21-236-11:20:00.599 00 SCX_CPU1_DS_FI/304 slashLoc = %locate(destFileName,"/") +21-236-11:20:00.599 00 SCX_CPU1_DS_FI/305 enddo +21-236-11:20:00.599 00 SCX_CPU1_DS_FI/306 +21-236-11:20:00.599 00 SCX_CPU1_DS_FI/307 slashLoc = %locate(filterFileName,"/") +21-236-11:20:00.599 00 SCX_CPU1_DS_FI/309 while (slashLoc <> 0) do +21-236-11:20:00.599 00 SCX_CPU1_DS_FI/310 filterFileName = %substring(filterFileName,slashLoc+1,%length(filterFileName)) +21-236-11:20:00.599 00 SCX_CPU1_DS_FI/311 slashLoc = %locate(filterFileName,"/") +21-236-11:20:00.599 00 SCX_CPU1_DS_FI/312 enddo +21-236-11:20:00.599 00 SCX_CPU1_DS_FI/310 filterFileName = %substring(filterFileName,slashLoc+1,%length(filterFileName)) +21-236-11:20:00.599 00 SCX_CPU1_DS_FI/311 slashLoc = %locate(filterFileName,"/") +21-236-11:20:00.599 00 SCX_CPU1_DS_FI/312 enddo +21-236-11:20:00.605 00 SCX_CPU1_DS_FI/313 +21-236-11:20:00.605 00 SCX_CPU1_DS_FI/314 write "==> Default Filter Table filename = '",filterFileName,"'" +21-236-11:20:00.605 00 SPR-I:OPRO ==> Default Filter Table filename = 'ds_filter_tbl.tbl' +21-236-11:20:00.605 00 SCX_CPU1_DS_FI/315 +21-236-11:20:00.605 00 SCX_CPU1_DS_FI/317 ;s ftp_file("CF:0", "ds_filtfile.tbl", destFileName, hostCPU, "P") +21-236-11:20:00.605 00 SCX_CPU1_DS_FI/318 ;s ftp_file("CF:0", "ds_filtfilter.tbl", filterFileName, hostCPU, "P") +21-236-11:20:00.605 00 SCX_CPU1_DS_FI/319 +21-236-11:20:00.605 00 SCX_CPU1_DS_FI/320 ; Load the File table created above +21-236-11:20:00.605 00 SCX_CPU1_DS_FI/321 s load_table("ds_filtfile.tbl",hostCPU) +21-236-11:20:00.605 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/load_table.i +21-236-11:20:00.606 00 SPR-I:STS Procedure LOAD_TABLE started +21-236-11:20:00.606 00 LOAD_TABLE/2 ; +21-236-11:20:00.606 00 LOAD_TABLE/3 local logging = %liv (log_procedure) +21-236-11:20:00.606 00 LOAD_TABLE/4 %liv (log_procedure) = FALSE +21-236-11:20:00.607 00 SPR-I:OPRO Table Filename: ds_filtfile.tbl +21-236-11:20:00.608 00 SPR-I:OPRO The perl command is: perl /s/opr/accounts/global/tools/table_ftp.pl 192.168.1.8 ds_filtfile.tbl RAM:0 3 +21-236-11:20:00.608 00 SPR-I:OPRO +21-236-11:20:00.731 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-11:20:00.732 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:20:05.736 00 SPR-I:OPRO +21-236-11:20:05.738 00 SPR-I:OPRO Sending Command: /SCX_CPU1_TBL_LOAD LFILENAME="/ram/ds_filtfile.tbl" +21-236-11:20:05.755 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:20:06.520 00 TLMH-I:STS 58-012-14:04:03.501 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=12 Successful load of '/ram/ds_filtfile.tbl' into 'DS.FILE_TBL' working buffer +21-236-11:20:07.757 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:20:07.759 00 LOAD_TABLE/195 +21-236-11:20:07.759 00 LOAD_TABLE/196 ENDPROC +21-236-11:20:07.759 00 SPR-I:STS Procedure LOAD_TABLE completed +21-236-11:20:07.760 00 SCX_CPU1_DS_FI/322 wait 5 +21-236-11:20:07.760 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:20:12.764 00 SCX_CPU1_DS_FI/323 +21-236-11:20:12.764 00 SCX_CPU1_DS_FI/324 /SCX_CPU1_TBL_VALIDATE INACTIVE VTABLENAME=fileTblName +21-236-11:20:12.779 00 SCX_CPU1_DS_FI/325 wait 5 +21-236-11:20:12.779 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:20:15.024 00 TLMH-I:STS 58-012-14:04:12.007 INFO CPU=CPU1 APPNAME=DS EVENT ID=10 Destination file table verify results: desc text = OK, good entries = 8, bad = 0, unused = 8 +21-236-11:20:15.025 00 TLMH-I:STS 58-012-14:04:12.007 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=36 DS validation successful for Inactive 'DS.FILE_TBL' +21-236-11:20:17.790 00 SCX_CPU1_DS_FI/326 +21-236-11:20:17.790 00 SCX_CPU1_DS_FI/327 /SCX_CPU1_TBL_ACTIVATE ATableName=fileTblName +21-236-11:20:17.805 00 SCX_CPU1_DS_FI/328 wait 5 +21-236-11:20:17.805 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:20:19.022 00 TLMH-I:STS 58-012-14:04:16.007 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=37 DS Successfully Updated 'DS.FILE_TBL' +21-236-11:20:22.809 00 SCX_CPU1_DS_FI/329 +21-236-11:20:22.810 00 SCX_CPU1_DS_FI/330 ; Load the Filter table created above +21-236-11:20:22.810 00 SCX_CPU1_DS_FI/331 s load_table("ds_filtfilter.tbl",hostCPU) +21-236-11:20:22.811 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/load_table.i +21-236-11:20:22.812 00 SPR-I:STS Procedure LOAD_TABLE started +21-236-11:20:22.812 00 LOAD_TABLE/2 ; +21-236-11:20:22.812 00 LOAD_TABLE/3 local logging = %liv (log_procedure) +21-236-11:20:22.813 00 LOAD_TABLE/4 %liv (log_procedure) = FALSE +21-236-11:20:22.815 00 SPR-I:OPRO Table Filename: ds_filtfilter.tbl +21-236-11:20:22.817 00 SPR-I:OPRO The perl command is: perl /s/opr/accounts/global/tools/table_ftp.pl 192.168.1.8 ds_filtfilter.tbl RAM:0 3 +21-236-11:20:22.817 00 SPR-I:OPRO +21-236-11:20:22.962 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-11:20:22.962 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:20:27.967 00 SPR-I:OPRO +21-236-11:20:27.967 00 SPR-I:OPRO Sending Command: /SCX_CPU1_TBL_LOAD LFILENAME="/ram/ds_filtfilter.tbl" +21-236-11:20:27.981 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:20:28.518 00 TLMH-I:STS 58-012-14:04:25.501 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=12 Successful load of '/ram/ds_filtfilter.tbl' into 'DS.FILTER_TBL' working buffer +21-236-11:20:31.986 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:20:31.988 00 LOAD_TABLE/195 +21-236-11:20:31.988 00 LOAD_TABLE/196 ENDPROC +21-236-11:20:31.988 00 SPR-I:STS Procedure LOAD_TABLE completed +21-236-11:20:31.989 00 SCX_CPU1_DS_FI/332 wait 5 +21-236-11:20:31.989 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:20:36.992 00 SCX_CPU1_DS_FI/333 +21-236-11:20:36.993 00 SCX_CPU1_DS_FI/334 /SCX_CPU1_TBL_VALIDATE INACTIVE VTABLENAME=filterTblName +21-236-11:20:37.008 00 SCX_CPU1_DS_FI/335 wait 5 +21-236-11:20:37.008 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:20:39.021 00 TLMH-I:STS 58-012-14:04:36.007 INFO CPU=CPU1 APPNAME=DS EVENT ID=12 Filter table verify results: desc text = OK, good entries = 6, bad = 0, unused = 250 +21-236-11:20:39.022 00 TLMH-I:STS 58-012-14:04:36.007 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=36 DS validation successful for Inactive 'DS.FILTER_TBL' +21-236-11:20:42.011 00 SCX_CPU1_DS_FI/336 +21-236-11:20:42.011 00 SCX_CPU1_DS_FI/337 /SCX_CPU1_TBL_ACTIVATE ATableName=filterTblName +21-236-11:20:42.026 00 SCX_CPU1_DS_FI/338 wait 5 +21-236-11:20:42.026 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:20:43.017 00 TLMH-I:STS 58-012-14:04:40.008 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=37 DS Successfully Updated 'DS.FILTER_TBL' +21-236-11:20:47.031 00 SCX_CPU1_DS_FI/339 +21-236-11:20:47.031 00 SCX_CPU1_DS_FI/340 write ";***********************************************************************" +21-236-11:20:47.031 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:20:47.031 00 SCX_CPU1_DS_FI/341 write "; Step 1.3: Display the Housekeeping pages " +21-236-11:20:47.031 00 SPR-I:OPRO ; Step 1.3: Display the Housekeeping pages +21-236-11:20:47.031 00 SCX_CPU1_DS_FI/342 write ";***********************************************************************" +21-236-11:20:47.032 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:20:47.032 00 SCX_CPU1_DS_FI/343 page SCX_CPU1_DS_HK +21-236-11:20:47.133 00 SCX_CPU1_DS_FI/344 page SCX_CPU1_TST_DS_HK +21-236-11:20:47.205 00 SCX_CPU1_DS_FI/345 page SCX_CPU1_DS_FILTER_TBL +21-236-11:20:47.286 00 SCX_CPU1_DS_FI/346 page SCX_CPU1_DS_FILE_TBL +21-236-11:20:47.383 00 SCX_CPU1_DS_FI/347 +21-236-11:20:47.384 00 SCX_CPU1_DS_FI/348 write ";***********************************************************************" +21-236-11:20:47.384 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:20:47.384 00 SCX_CPU1_DS_FI/349 write "; Step 1.4: Start the Data Storage (DS) and Test Applications. " +21-236-11:20:47.384 00 SPR-I:OPRO ; Step 1.4: Start the Data Storage (DS) and Test Applications. +21-236-11:20:47.384 00 SCX_CPU1_DS_FI/350 write ";***********************************************************************" +21-236-11:20:47.384 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:20:47.384 00 SCX_CPU1_DS_FI/351 ;s scx_cpu1_ds_start_apps("1.4") +21-236-11:20:47.384 00 SCX_CPU1_DS_FI/352 ;wait 5 +21-236-11:20:47.384 00 SCX_CPU1_DS_FI/353 +21-236-11:20:47.384 00 SCX_CPU1_DS_FI/355 local hkPktId +21-236-11:20:47.384 00 SCX_CPU1_DS_FI/356 +21-236-11:20:47.384 00 SCX_CPU1_DS_FI/358 hkPktId = "p0B8" +21-236-11:20:47.384 00 SCX_CPU1_DS_FI/359 +21-236-11:20:47.384 00 SCX_CPU1_DS_FI/362 local seqTlmItem = hkPktId & "scnt" +21-236-11:20:47.384 00 SCX_CPU1_DS_FI/363 local currSCnt = {seqTlmItem} +21-236-11:20:47.384 00 SCX_CPU1_DS_FI/364 local expectedSCnt = currSCnt + 2 +21-236-11:20:47.384 00 SCX_CPU1_DS_FI/365 +21-236-11:20:47.384 00 SCX_CPU1_DS_FI/366 ut_tlmwait {seqTlmItem}, {expectedSCnt} +21-236-11:20:47.388 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:20:55.397 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:20:55.399 00 SCX_CPU1_DS_FI/367 if (UT_TW_Status = UT_Success) then +21-236-11:20:55.399 00 SCX_CPU1_DS_FI/368 write "<*> Passed (8000) - Housekeeping packet is being generated." +21-236-11:20:55.400 00 SPR-I:OPRO <*> Passed (8000) - Housekeeping packet is being generated. +21-236-11:20:55.400 00 SCX_CPU1_DS_FI/369 ut_setrequirements DS_8000, "P" +21-236-11:20:55.403 00 SCX_CPU1_DS_FI/373 endif +21-236-11:20:55.403 00 SCX_CPU1_DS_FI/374 +21-236-11:20:55.403 00 SCX_CPU1_DS_FI/378 if (SCX_CPU1_DS_CMDPC = 0) AND (SCX_CPU1_DS_CMDEC = 0) AND ;; +21-236-11:20:55.403 00 SCX_CPU1_DS_FI/379 (SCX_CPU1_DS_DisabledPktCnt = 0) AND ;; +21-236-11:20:55.403 00 SCX_CPU1_DS_FI/380 (SCX_CPU1_DS_FilteredPktCnt = 0) AND (SCX_CPU1_DS_PassedPktCnt = 0) AND ;; +21-236-11:20:55.403 00 SCX_CPU1_DS_FI/381 (SCX_CPU1_DS_FileWriteCnt = 0) AND (SCX_CPU1_DS_FileWriteErrCnt = 0) AND ;; +21-236-11:20:55.403 00 SCX_CPU1_DS_FI/382 (SCX_CPU1_DS_FileUpdCnt = 0) AND (SCX_CPU1_DS_FileUpdErrCnt = 0) AND ;; +21-236-11:20:55.403 00 SCX_CPU1_DS_FI/383 (SCX_CPU1_DS_DestLoadCnt = 2) AND (SCX_CPU1_DS_DestPtrErrCnt = 0) AND ;; +21-236-11:20:55.403 00 SCX_CPU1_DS_FI/384 (SCX_CPU1_DS_FilterLoadCnt = 2) AND (SCX_CPU1_DS_FilterPtrErrCnt = 0) then +21-236-11:20:55.403 00 SCX_CPU1_DS_FI/387 else +21-236-11:20:55.403 00 SCX_CPU1_DS_FI/388 write " Failed (9000) - Housekeeping telemetry NOT initialized properly at startup." +21-236-11:20:55.403 00 SPR-I:OPRO Failed (9000) - Housekeeping telemetry NOT initialized properly at startup. +21-236-11:20:55.403 00 SCX_CPU1_DS_FI/389 write "CMDPC = ", SCX_CPU1_DS_CMDPC +21-236-11:20:55.403 00 SPR-I:OPRO CMDPC = 0 +21-236-11:20:55.403 00 SCX_CPU1_DS_FI/390 write "CMDEC = ", SCX_CPU1_DS_CMDEC +21-236-11:20:55.403 00 SPR-I:OPRO CMDEC = 0 +21-236-11:20:55.403 00 SCX_CPU1_DS_FI/391 write "Disabled Pkts = ", SCX_CPU1_DS_DisabledPktCnt +21-236-11:20:55.404 00 SPR-I:OPRO Disabled Pkts = 0 +21-236-11:20:55.404 00 SCX_CPU1_DS_FI/392 write "Failed Filter Pkts = ", SCX_CPU1_DS_FilteredPktCnt +21-236-11:20:55.404 00 SPR-I:OPRO Failed Filter Pkts = 0 +21-236-11:20:55.404 00 SCX_CPU1_DS_FI/393 write "Passed Filter Pkts = ", SCX_CPU1_DS_PassedPktCnt +21-236-11:20:55.404 00 SPR-I:OPRO Passed Filter Pkts = 131 +21-236-11:20:55.415 00 SCX_CPU1_DS_FI/394 write "Good i/o writes = ", SCX_CPU1_DS_FileWriteCnt +21-236-11:20:55.415 00 SPR-I:OPRO Good i/o writes = 311 +21-236-11:20:55.415 00 SCX_CPU1_DS_FI/395 write "Bad i/o writes = ", SCX_CPU1_DS_FileWriteErrCnt +21-236-11:20:55.415 00 SPR-I:OPRO Bad i/o writes = 0 +21-236-11:20:55.415 00 SCX_CPU1_DS_FI/396 write "Good hdr writes = ", SCX_CPU1_DS_FileUpdCnt +21-236-11:20:55.415 00 SPR-I:OPRO Good hdr writes = 33 +21-236-11:20:55.415 00 SCX_CPU1_DS_FI/397 write "Bad hdr writes = ", SCX_CPU1_DS_FileUpdErrCnt +21-236-11:20:55.415 00 SPR-I:OPRO Bad hdr writes = 0 +21-236-11:20:55.415 00 SCX_CPU1_DS_FI/398 write "Dest Tbl Loads = ", SCX_CPU1_DS_DestLoadCnt +21-236-11:20:55.415 00 SPR-I:OPRO Dest Tbl Loads = 2 +21-236-11:20:55.415 00 SCX_CPU1_DS_FI/399 write "Dest Tbl ptr fails = ", SCX_CPU1_DS_DestPtrErrCnt +21-236-11:20:55.415 00 SPR-I:OPRO Dest Tbl ptr fails = 0 +21-236-11:20:55.415 00 SCX_CPU1_DS_FI/400 write "Filter Tbl Loads = ", SCX_CPU1_DS_FilterLoadCnt +21-236-11:20:55.415 00 SPR-I:OPRO Filter Tbl Loads = 2 +21-236-11:20:55.415 00 SCX_CPU1_DS_FI/401 write "Filter Tbl ptr fails = ", SCX_CPU1_DS_FilterPtrErrCnt +21-236-11:20:55.416 00 SPR-I:OPRO Filter Tbl ptr fails = 0 +21-236-11:20:55.416 00 SCX_CPU1_DS_FI/402 ut_setrequirements DS_9000, "F" +21-236-11:20:55.416 00 SCX_CPU1_DS_FI/403 endif +21-236-11:20:55.416 00 SCX_CPU1_DS_FI/404 +21-236-11:20:55.416 00 SCX_CPU1_DS_FI/405 wait 5 +21-236-11:20:55.416 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:21:00.420 00 SCX_CPU1_DS_FI/406 +21-236-11:21:00.420 00 SCX_CPU1_DS_FI/407 write ";***********************************************************************" +21-236-11:21:00.420 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:21:00.420 00 SCX_CPU1_DS_FI/408 write "; Step 1.5: Enable DEBUG Event Messages " +21-236-11:21:00.420 00 SPR-I:OPRO ; Step 1.5: Enable DEBUG Event Messages +21-236-11:21:00.420 00 SCX_CPU1_DS_FI/409 write ";***********************************************************************" +21-236-11:21:00.421 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:21:00.421 00 SCX_CPU1_DS_FI/410 local cmdCtr = SCX_CPU1_EVS_CMDPC + 1 +21-236-11:21:00.421 00 SCX_CPU1_DS_FI/411 +21-236-11:21:00.421 00 SCX_CPU1_DS_FI/413 /SCX_CPU1_EVS_EnaAppEVTType Application=DSAppName DEBUG +21-236-11:21:00.436 00 SCX_CPU1_DS_FI/414 +21-236-11:21:00.436 00 SCX_CPU1_DS_FI/415 ut_tlmwait SCX_CPU1_EVS_CMDPC, {cmdCtr} +21-236-11:21:00.449 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:21:03.455 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:21:03.457 00 SCX_CPU1_DS_FI/416 if (UT_TW_Status = UT_Success) then +21-236-11:21:03.457 00 SCX_CPU1_DS_FI/417 write "<*> Passed - Enable Debug events command sent properly." +21-236-11:21:03.457 00 SPR-I:OPRO <*> Passed - Enable Debug events command sent properly. +21-236-11:21:03.457 00 SCX_CPU1_DS_FI/420 endif +21-236-11:21:03.457 00 SCX_CPU1_DS_FI/421 +21-236-11:21:03.457 00 SCX_CPU1_DS_FI/422 write ";***********************************************************************" +21-236-11:21:03.458 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:21:03.458 00 SCX_CPU1_DS_FI/423 write "; Step 1.6: Dump the Packet Filter Table. " +21-236-11:21:03.458 00 SPR-I:OPRO ; Step 1.6: Dump the Packet Filter Table. +21-236-11:21:03.458 00 SCX_CPU1_DS_FI/424 write ";***********************************************************************" +21-236-11:21:03.458 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:21:03.458 00 SCX_CPU1_DS_FI/426 s get_tbl_to_cvt (ramDir,filterTblName,"A","cpu1_filtertbl16",hostCPU,filterTblPktId) +21-236-11:21:03.459 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/get_tbl_to_cvt.i +21-236-11:21:03.461 00 SPR-I:STS Procedure GET_TBL_TO_CVT started +21-236-11:21:03.461 00 GET_TBL_TO_CVT/2 ; +21-236-11:21:03.461 00 GET_TBL_TO_CVT/3 local logging = %liv (log_procedure) +21-236-11:21:03.461 00 GET_TBL_TO_CVT/4 %liv (log_procedure) = FALSE +21-236-11:21:03.466 00 SPR-I:OPRO Sending Command: /SCX_CPU1_TBL_DUMP ACTIVE DTABLENAME="DS.FILTER_TBL" DFILENAME="/ram/cpu1_filtertbl16" +21-236-11:21:03.477 00 SPR-I:STTE Wait mode - waiting 15 seconds ... +21-236-11:21:04.022 00 TLMH-I:STS 58-012-14:05:01.003 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=14 Successfully dumped Table 'DS.FILTER_TBL' to '/ram/cpu1_filtertbl16' +21-236-11:21:18.487 00 SPR-I:OPRO +21-236-11:21:18.487 00 SPR-I:OPRO The TBLNAME is: DS.FILTER_TBL +21-236-11:21:18.487 00 SPR-I:OPRO The APID is: P0F77 +21-236-11:21:18.487 00 SPR-I:OPRO The CPU is: CPU3 +21-236-11:21:18.488 00 SPR-I:OPRO The IP Address is: 192.168.1.8 +21-236-11:21:18.491 00 SPR-I:OPRO The perl command is: perl /s/opr/accounts/global/tools/ftp.pl RAM:0 cpu1_filtertbl16 cpu1_filtertbl16 binary 192.168.1.8 +21-236-11:21:18.675 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-11:21:18.675 00 SPR-I:STTE Wait mode - waiting 15 seconds ... +21-236-11:21:20.686 00 SPR-I:OPRI --> page SCX_CPU1_DS_FILE_HK +21-236-11:21:33.756 00 SPR-I:OPRO +21-236-11:21:33.780 00 SPR-I:OPRO The unix command is cvt -ws file_list[3959].file_write_time "`date +%y-%j-%T -r /s/opr/accounts/cfs_test/image/cpu1_filtertbl16`" +21-236-11:21:33.780 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:21:38.784 00 GET_TBL_TO_CVT/238 +21-236-11:21:38.784 00 GET_TBL_TO_CVT/239 ENDPROC +21-236-11:21:38.785 00 SPR-I:STS Procedure GET_TBL_TO_CVT completed +21-236-11:21:38.785 00 SCX_CPU1_DS_FI/427 +21-236-11:21:38.785 00 SCX_CPU1_DS_FI/428 local entryCount = 0 +21-236-11:21:38.785 00 SCX_CPU1_DS_FI/430 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-236-11:21:38.785 00 SCX_CPU1_DS_FI/431 if (SCX_CPU1_DS_PF_TBL[i].MessageID <> DS_UNUSED) then +21-236-11:21:38.786 00 SCX_CPU1_DS_FI/432 entryCount = entryCount + 1 +21-236-11:21:38.786 00 SCX_CPU1_DS_FI/433 write "==> MessageID = ",%hex(SCX_CPU1_DS_PF_TBL[i].MessageID,4) +21-236-11:21:38.786 00 SPR-I:OPRO ==> MessageID = 0900 +21-236-11:21:38.786 00 SCX_CPU1_DS_FI/434 for j = 0 to DS_FILTERS_PER_PACKET-1 do +21-236-11:21:38.787 00 SCX_CPU1_DS_FI/435 if (SCX_CPU1_DS_PF_TBL[i].FilterParams[j].FilterType <> DS_UNUSED) then +21-236-11:21:38.787 00 SCX_CPU1_DS_FI/436 write "==> File Index = ",SCX_CPU1_DS_PF_TBL[i].FilterParams[j].Index +21-236-11:21:38.788 00 SPR-I:OPRO ==> File Index = 0 +21-236-11:21:38.788 00 SCX_CPU1_DS_FI/437 write "==> Filter Type = ",SCX_CPU1_DS_PF_TBL[i].FilterParams[j].FilterType +21-236-11:21:38.788 00 SPR-I:OPRO ==> Filter Type = 1 +21-236-11:21:38.788 00 SCX_CPU1_DS_FI/438 write "==> N Value = ",SCX_CPU1_DS_PF_TBL[i].FilterParams[j].N_Value +21-236-11:21:38.789 00 SPR-I:OPRO ==> N Value = 1 +21-236-11:21:38.789 00 SCX_CPU1_DS_FI/439 write "==> X Value = ",SCX_CPU1_DS_PF_TBL[i].FilterParams[j].X_Value +21-236-11:21:38.790 00 SPR-I:OPRO ==> X Value = 1 +21-236-11:21:38.790 00 SCX_CPU1_DS_FI/440 write "==> O Value = ",SCX_CPU1_DS_PF_TBL[i].FilterParams[j].O_Value +21-236-11:21:38.790 00 SPR-I:OPRO ==> O Value = 0 +21-236-11:21:38.791 00 SCX_CPU1_DS_FI/441 endif +21-236-11:21:38.791 00 SCX_CPU1_DS_FI/442 enddo +21-236-11:21:38.814 00 SCX_CPU1_DS_FI/434 for j = 0 to DS_FILTERS_PER_PACKET-1 do +21-236-11:21:38.814 00 SCX_CPU1_DS_FI/435 if (SCX_CPU1_DS_PF_TBL[i].FilterParams[j].FilterType <> DS_UNUSED) then +21-236-11:21:38.815 00 SCX_CPU1_DS_FI/436 write "==> File Index = ",SCX_CPU1_DS_PF_TBL[i].FilterParams[j].Index +21-236-11:21:38.815 00 SPR-I:OPRO ==> File Index = 1 +21-236-11:21:38.815 00 SCX_CPU1_DS_FI/437 write "==> Filter Type = ",SCX_CPU1_DS_PF_TBL[i].FilterParams[j].FilterType +21-236-11:21:38.816 00 SPR-I:OPRO ==> Filter Type = 1 +21-236-11:21:38.816 00 SCX_CPU1_DS_FI/438 write "==> N Value = ",SCX_CPU1_DS_PF_TBL[i].FilterParams[j].N_Value +21-236-11:21:38.816 00 SPR-I:OPRO ==> N Value = 1 +21-236-11:21:38.816 00 SCX_CPU1_DS_FI/439 write "==> X Value = ",SCX_CPU1_DS_PF_TBL[i].FilterParams[j].X_Value +21-236-11:21:38.817 00 SPR-I:OPRO ==> X Value = 1 +21-236-11:21:38.817 00 SCX_CPU1_DS_FI/440 write "==> O Value = ",SCX_CPU1_DS_PF_TBL[i].FilterParams[j].O_Value +21-236-11:21:38.817 00 SPR-I:OPRO ==> O Value = 0 +21-236-11:21:38.817 00 SCX_CPU1_DS_FI/441 endif +21-236-11:21:38.817 00 SCX_CPU1_DS_FI/442 enddo +21-236-11:21:38.818 00 SCX_CPU1_DS_FI/434 for j = 0 to DS_FILTERS_PER_PACKET-1 do +21-236-11:21:38.818 00 SCX_CPU1_DS_FI/435 if (SCX_CPU1_DS_PF_TBL[i].FilterParams[j].FilterType <> DS_UNUSED) then +21-236-11:21:38.819 00 SCX_CPU1_DS_FI/436 write "==> File Index = ",SCX_CPU1_DS_PF_TBL[i].FilterParams[j].Index +21-236-11:21:38.819 00 SPR-I:OPRO ==> File Index = 2 +21-236-11:21:38.819 00 SCX_CPU1_DS_FI/437 write "==> Filter Type = ",SCX_CPU1_DS_PF_TBL[i].FilterParams[j].FilterType +21-236-11:21:38.819 00 SPR-I:OPRO ==> Filter Type = 1 +21-236-11:21:38.820 00 SCX_CPU1_DS_FI/438 write "==> N Value = ",SCX_CPU1_DS_PF_TBL[i].FilterParams[j].N_Value +21-236-11:21:38.820 00 SPR-I:OPRO ==> N Value = 1 +21-236-11:21:38.820 00 SCX_CPU1_DS_FI/439 write "==> X Value = ",SCX_CPU1_DS_PF_TBL[i].FilterParams[j].X_Value +21-236-11:21:38.820 00 SPR-I:OPRO ==> X Value = 1 +21-236-11:21:38.820 00 SCX_CPU1_DS_FI/440 write "==> O Value = ",SCX_CPU1_DS_PF_TBL[i].FilterParams[j].O_Value +21-236-11:21:38.821 00 SPR-I:OPRO ==> O Value = 0 +21-236-11:21:38.821 00 SCX_CPU1_DS_FI/441 endif +21-236-11:21:38.821 00 SCX_CPU1_DS_FI/442 enddo +21-236-11:21:38.821 00 SCX_CPU1_DS_FI/434 for j = 0 to DS_FILTERS_PER_PACKET-1 do +21-236-11:21:38.821 00 SCX_CPU1_DS_FI/435 if (SCX_CPU1_DS_PF_TBL[i].FilterParams[j].FilterType <> DS_UNUSED) then +21-236-11:21:38.822 00 SCX_CPU1_DS_FI/436 write "==> File Index = ",SCX_CPU1_DS_PF_TBL[i].FilterParams[j].Index +21-236-11:21:38.822 00 SPR-I:OPRO ==> File Index = 3 +21-236-11:21:38.822 00 SCX_CPU1_DS_FI/437 write "==> Filter Type = ",SCX_CPU1_DS_PF_TBL[i].FilterParams[j].FilterType +21-236-11:21:38.822 00 SPR-I:OPRO ==> Filter Type = 1 +21-236-11:21:38.822 00 SCX_CPU1_DS_FI/438 write "==> N Value = ",SCX_CPU1_DS_PF_TBL[i].FilterParams[j].N_Value +21-236-11:21:38.823 00 SPR-I:OPRO ==> N Value = 1 +21-236-11:21:38.823 00 SCX_CPU1_DS_FI/439 write "==> X Value = ",SCX_CPU1_DS_PF_TBL[i].FilterParams[j].X_Value +21-236-11:21:38.823 00 SPR-I:OPRO ==> X Value = 1 +21-236-11:21:38.826 00 SCX_CPU1_DS_FI/440 write "==> O Value = ",SCX_CPU1_DS_PF_TBL[i].FilterParams[j].O_Value +21-236-11:21:38.826 00 SPR-I:OPRO ==> O Value = 0 +21-236-11:21:38.826 00 SCX_CPU1_DS_FI/441 endif +21-236-11:21:38.826 00 SCX_CPU1_DS_FI/442 enddo +21-236-11:21:38.826 00 SCX_CPU1_DS_FI/434 for j = 0 to DS_FILTERS_PER_PACKET-1 do +21-236-11:21:38.827 00 SCX_CPU1_DS_FI/445 endif +21-236-11:21:38.827 00 SCX_CPU1_DS_FI/446 enddo +21-236-11:21:38.827 00 SCX_CPU1_DS_FI/430 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-236-11:21:38.827 00 SCX_CPU1_DS_FI/431 if (SCX_CPU1_DS_PF_TBL[i].MessageID <> DS_UNUSED) then +21-236-11:21:38.827 00 SCX_CPU1_DS_FI/432 entryCount = entryCount + 1 +21-236-11:21:38.827 00 SCX_CPU1_DS_FI/433 write "==> MessageID = ",%hex(SCX_CPU1_DS_PF_TBL[i].MessageID,4) +21-236-11:21:38.827 00 SPR-I:OPRO ==> MessageID = 0901 +21-236-11:21:38.828 00 SCX_CPU1_DS_FI/434 for j = 0 to DS_FILTERS_PER_PACKET-1 do +21-236-11:21:38.828 00 SCX_CPU1_DS_FI/435 if (SCX_CPU1_DS_PF_TBL[i].FilterParams[j].FilterType <> DS_UNUSED) then +21-236-11:21:38.828 00 SCX_CPU1_DS_FI/436 write "==> File Index = ",SCX_CPU1_DS_PF_TBL[i].FilterParams[j].Index +21-236-11:21:38.828 00 SPR-I:OPRO ==> File Index = 4 +21-236-11:21:38.828 00 SCX_CPU1_DS_FI/437 write "==> Filter Type = ",SCX_CPU1_DS_PF_TBL[i].FilterParams[j].FilterType +21-236-11:21:38.828 00 SPR-I:OPRO ==> Filter Type = 2 +21-236-11:21:38.828 00 SCX_CPU1_DS_FI/438 write "==> N Value = ",SCX_CPU1_DS_PF_TBL[i].FilterParams[j].N_Value +21-236-11:21:38.829 00 SPR-I:OPRO ==> N Value = 1 +21-236-11:21:38.829 00 SCX_CPU1_DS_FI/439 write "==> X Value = ",SCX_CPU1_DS_PF_TBL[i].FilterParams[j].X_Value +21-236-11:21:38.829 00 SPR-I:OPRO ==> X Value = 1 +21-236-11:21:38.829 00 SCX_CPU1_DS_FI/440 write "==> O Value = ",SCX_CPU1_DS_PF_TBL[i].FilterParams[j].O_Value +21-236-11:21:38.829 00 SPR-I:OPRO ==> O Value = 0 +21-236-11:21:38.829 00 SCX_CPU1_DS_FI/441 endif +21-236-11:21:38.829 00 SCX_CPU1_DS_FI/442 enddo +21-236-11:21:38.839 00 SCX_CPU1_DS_FI/434 for j = 0 to DS_FILTERS_PER_PACKET-1 do +21-236-11:21:38.839 00 SCX_CPU1_DS_FI/435 if (SCX_CPU1_DS_PF_TBL[i].FilterParams[j].FilterType <> DS_UNUSED) then +21-236-11:21:38.839 00 SCX_CPU1_DS_FI/436 write "==> File Index = ",SCX_CPU1_DS_PF_TBL[i].FilterParams[j].Index +21-236-11:21:38.840 00 SPR-I:OPRO ==> File Index = 5 +21-236-11:21:38.840 00 SCX_CPU1_DS_FI/437 write "==> Filter Type = ",SCX_CPU1_DS_PF_TBL[i].FilterParams[j].FilterType +21-236-11:21:38.840 00 SPR-I:OPRO ==> Filter Type = 2 +21-236-11:21:38.840 00 SCX_CPU1_DS_FI/438 write "==> N Value = ",SCX_CPU1_DS_PF_TBL[i].FilterParams[j].N_Value +21-236-11:21:38.840 00 SPR-I:OPRO ==> N Value = 1 +21-236-11:21:38.840 00 SCX_CPU1_DS_FI/439 write "==> X Value = ",SCX_CPU1_DS_PF_TBL[i].FilterParams[j].X_Value +21-236-11:21:38.840 00 SPR-I:OPRO ==> X Value = 1 +21-236-11:21:38.840 00 SCX_CPU1_DS_FI/440 write "==> O Value = ",SCX_CPU1_DS_PF_TBL[i].FilterParams[j].O_Value +21-236-11:21:38.840 00 SPR-I:OPRO ==> O Value = 0 +21-236-11:21:38.840 00 SCX_CPU1_DS_FI/441 endif +21-236-11:21:38.840 00 SCX_CPU1_DS_FI/442 enddo +21-236-11:21:38.841 00 SCX_CPU1_DS_FI/434 for j = 0 to DS_FILTERS_PER_PACKET-1 do +21-236-11:21:38.841 00 SCX_CPU1_DS_FI/435 if (SCX_CPU1_DS_PF_TBL[i].FilterParams[j].FilterType <> DS_UNUSED) then +21-236-11:21:38.841 00 SCX_CPU1_DS_FI/436 write "==> File Index = ",SCX_CPU1_DS_PF_TBL[i].FilterParams[j].Index +21-236-11:21:38.841 00 SPR-I:OPRO ==> File Index = 6 +21-236-11:21:38.841 00 SCX_CPU1_DS_FI/437 write "==> Filter Type = ",SCX_CPU1_DS_PF_TBL[i].FilterParams[j].FilterType +21-236-11:21:38.841 00 SPR-I:OPRO ==> Filter Type = 2 +21-236-11:21:38.841 00 SCX_CPU1_DS_FI/438 write "==> N Value = ",SCX_CPU1_DS_PF_TBL[i].FilterParams[j].N_Value +21-236-11:21:38.841 00 SPR-I:OPRO ==> N Value = 1 +21-236-11:21:38.841 00 SCX_CPU1_DS_FI/439 write "==> X Value = ",SCX_CPU1_DS_PF_TBL[i].FilterParams[j].X_Value +21-236-11:21:38.842 00 SPR-I:OPRO ==> X Value = 1 +21-236-11:21:38.842 00 SCX_CPU1_DS_FI/440 write "==> O Value = ",SCX_CPU1_DS_PF_TBL[i].FilterParams[j].O_Value +21-236-11:21:38.842 00 SPR-I:OPRO ==> O Value = 0 +21-236-11:21:38.842 00 SCX_CPU1_DS_FI/441 endif +21-236-11:21:38.842 00 SCX_CPU1_DS_FI/442 enddo +21-236-11:21:38.842 00 SCX_CPU1_DS_FI/434 for j = 0 to DS_FILTERS_PER_PACKET-1 do +21-236-11:21:38.842 00 SCX_CPU1_DS_FI/435 if (SCX_CPU1_DS_PF_TBL[i].FilterParams[j].FilterType <> DS_UNUSED) then +21-236-11:21:38.842 00 SCX_CPU1_DS_FI/436 write "==> File Index = ",SCX_CPU1_DS_PF_TBL[i].FilterParams[j].Index +21-236-11:21:38.842 00 SPR-I:OPRO ==> File Index = 7 +21-236-11:21:38.842 00 SCX_CPU1_DS_FI/437 write "==> Filter Type = ",SCX_CPU1_DS_PF_TBL[i].FilterParams[j].FilterType +21-236-11:21:38.842 00 SPR-I:OPRO ==> Filter Type = 2 +21-236-11:21:38.842 00 SCX_CPU1_DS_FI/438 write "==> N Value = ",SCX_CPU1_DS_PF_TBL[i].FilterParams[j].N_Value +21-236-11:21:38.843 00 SPR-I:OPRO ==> N Value = 1 +21-236-11:21:38.843 00 SCX_CPU1_DS_FI/439 write "==> X Value = ",SCX_CPU1_DS_PF_TBL[i].FilterParams[j].X_Value +21-236-11:21:38.843 00 SPR-I:OPRO ==> X Value = 1 +21-236-11:21:38.849 00 SCX_CPU1_DS_FI/440 write "==> O Value = ",SCX_CPU1_DS_PF_TBL[i].FilterParams[j].O_Value +21-236-11:21:38.849 00 SPR-I:OPRO ==> O Value = 0 +21-236-11:21:38.849 00 SCX_CPU1_DS_FI/441 endif +21-236-11:21:38.849 00 SCX_CPU1_DS_FI/442 enddo +21-236-11:21:38.849 00 SCX_CPU1_DS_FI/434 for j = 0 to DS_FILTERS_PER_PACKET-1 do +21-236-11:21:38.849 00 SCX_CPU1_DS_FI/445 endif +21-236-11:21:38.849 00 SCX_CPU1_DS_FI/446 enddo +21-236-11:21:38.850 00 SCX_CPU1_DS_FI/430 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-236-11:21:38.850 00 SCX_CPU1_DS_FI/431 if (SCX_CPU1_DS_PF_TBL[i].MessageID <> DS_UNUSED) then +21-236-11:21:38.850 00 SCX_CPU1_DS_FI/432 entryCount = entryCount + 1 +21-236-11:21:38.850 00 SCX_CPU1_DS_FI/433 write "==> MessageID = ",%hex(SCX_CPU1_DS_PF_TBL[i].MessageID,4) +21-236-11:21:38.850 00 SPR-I:OPRO ==> MessageID = 0902 +21-236-11:21:38.850 00 SCX_CPU1_DS_FI/434 for j = 0 to DS_FILTERS_PER_PACKET-1 do +21-236-11:21:38.850 00 SCX_CPU1_DS_FI/435 if (SCX_CPU1_DS_PF_TBL[i].FilterParams[j].FilterType <> DS_UNUSED) then +21-236-11:21:38.850 00 SCX_CPU1_DS_FI/436 write "==> File Index = ",SCX_CPU1_DS_PF_TBL[i].FilterParams[j].Index +21-236-11:21:38.850 00 SPR-I:OPRO ==> File Index = 0 +21-236-11:21:38.850 00 SCX_CPU1_DS_FI/437 write "==> Filter Type = ",SCX_CPU1_DS_PF_TBL[i].FilterParams[j].FilterType +21-236-11:21:38.850 00 SPR-I:OPRO ==> Filter Type = 1 +21-236-11:21:38.850 00 SCX_CPU1_DS_FI/438 write "==> N Value = ",SCX_CPU1_DS_PF_TBL[i].FilterParams[j].N_Value +21-236-11:21:38.851 00 SPR-I:OPRO ==> N Value = 1 +21-236-11:21:38.851 00 SCX_CPU1_DS_FI/439 write "==> X Value = ",SCX_CPU1_DS_PF_TBL[i].FilterParams[j].X_Value +21-236-11:21:38.851 00 SPR-I:OPRO ==> X Value = 3 +21-236-11:21:38.851 00 SCX_CPU1_DS_FI/440 write "==> O Value = ",SCX_CPU1_DS_PF_TBL[i].FilterParams[j].O_Value +21-236-11:21:38.851 00 SPR-I:OPRO ==> O Value = 0 +21-236-11:21:38.851 00 SCX_CPU1_DS_FI/441 endif +21-236-11:21:38.851 00 SCX_CPU1_DS_FI/442 enddo +21-236-11:21:38.851 00 SCX_CPU1_DS_FI/434 for j = 0 to DS_FILTERS_PER_PACKET-1 do +21-236-11:21:38.851 00 SCX_CPU1_DS_FI/435 if (SCX_CPU1_DS_PF_TBL[i].FilterParams[j].FilterType <> DS_UNUSED) then +21-236-11:21:38.851 00 SCX_CPU1_DS_FI/441 endif +21-236-11:21:38.851 00 SCX_CPU1_DS_FI/442 enddo +21-236-11:21:38.851 00 SCX_CPU1_DS_FI/434 for j = 0 to DS_FILTERS_PER_PACKET-1 do +21-236-11:21:38.852 00 SCX_CPU1_DS_FI/435 if (SCX_CPU1_DS_PF_TBL[i].FilterParams[j].FilterType <> DS_UNUSED) then +21-236-11:21:38.852 00 SCX_CPU1_DS_FI/441 endif +21-236-11:21:38.852 00 SCX_CPU1_DS_FI/442 enddo +21-236-11:21:38.852 00 SCX_CPU1_DS_FI/434 for j = 0 to DS_FILTERS_PER_PACKET-1 do +21-236-11:21:38.852 00 SCX_CPU1_DS_FI/435 if (SCX_CPU1_DS_PF_TBL[i].FilterParams[j].FilterType <> DS_UNUSED) then +21-236-11:21:38.856 00 SCX_CPU1_DS_FI/441 endif +21-236-11:21:38.857 00 SCX_CPU1_DS_FI/442 enddo +21-236-11:21:38.857 00 SCX_CPU1_DS_FI/434 for j = 0 to DS_FILTERS_PER_PACKET-1 do +21-236-11:21:38.857 00 SCX_CPU1_DS_FI/445 endif +21-236-11:21:38.857 00 SCX_CPU1_DS_FI/446 enddo +21-236-11:21:38.857 00 SCX_CPU1_DS_FI/430 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-236-11:21:38.857 00 SCX_CPU1_DS_FI/431 if (SCX_CPU1_DS_PF_TBL[i].MessageID <> DS_UNUSED) then +21-236-11:21:38.857 00 SCX_CPU1_DS_FI/432 entryCount = entryCount + 1 +21-236-11:21:38.857 00 SCX_CPU1_DS_FI/433 write "==> MessageID = ",%hex(SCX_CPU1_DS_PF_TBL[i].MessageID,4) +21-236-11:21:38.858 00 SPR-I:OPRO ==> MessageID = 0903 +21-236-11:21:38.858 00 SCX_CPU1_DS_FI/434 for j = 0 to DS_FILTERS_PER_PACKET-1 do +21-236-11:21:38.858 00 SCX_CPU1_DS_FI/435 if (SCX_CPU1_DS_PF_TBL[i].FilterParams[j].FilterType <> DS_UNUSED) then +21-236-11:21:38.858 00 SCX_CPU1_DS_FI/436 write "==> File Index = ",SCX_CPU1_DS_PF_TBL[i].FilterParams[j].Index +21-236-11:21:38.858 00 SPR-I:OPRO ==> File Index = 1 +21-236-11:21:38.858 00 SCX_CPU1_DS_FI/437 write "==> Filter Type = ",SCX_CPU1_DS_PF_TBL[i].FilterParams[j].FilterType +21-236-11:21:38.858 00 SPR-I:OPRO ==> Filter Type = 1 +21-236-11:21:38.858 00 SCX_CPU1_DS_FI/438 write "==> N Value = ",SCX_CPU1_DS_PF_TBL[i].FilterParams[j].N_Value +21-236-11:21:38.858 00 SPR-I:OPRO ==> N Value = 1 +21-236-11:21:38.858 00 SCX_CPU1_DS_FI/439 write "==> X Value = ",SCX_CPU1_DS_PF_TBL[i].FilterParams[j].X_Value +21-236-11:21:38.858 00 SPR-I:OPRO ==> X Value = 1 +21-236-11:21:38.858 00 SCX_CPU1_DS_FI/440 write "==> O Value = ",SCX_CPU1_DS_PF_TBL[i].FilterParams[j].O_Value +21-236-11:21:38.858 00 SPR-I:OPRO ==> O Value = 0 +21-236-11:21:38.858 00 SCX_CPU1_DS_FI/441 endif +21-236-11:21:38.858 00 SCX_CPU1_DS_FI/442 enddo +21-236-11:21:38.859 00 SCX_CPU1_DS_FI/434 for j = 0 to DS_FILTERS_PER_PACKET-1 do +21-236-11:21:38.859 00 SCX_CPU1_DS_FI/435 if (SCX_CPU1_DS_PF_TBL[i].FilterParams[j].FilterType <> DS_UNUSED) then +21-236-11:21:38.859 00 SCX_CPU1_DS_FI/441 endif +21-236-11:21:38.859 00 SCX_CPU1_DS_FI/442 enddo +21-236-11:21:38.863 00 SCX_CPU1_DS_FI/434 for j = 0 to DS_FILTERS_PER_PACKET-1 do +21-236-11:21:38.863 00 SCX_CPU1_DS_FI/435 if (SCX_CPU1_DS_PF_TBL[i].FilterParams[j].FilterType <> DS_UNUSED) then +21-236-11:21:38.863 00 SCX_CPU1_DS_FI/441 endif +21-236-11:21:38.863 00 SCX_CPU1_DS_FI/442 enddo +21-236-11:21:38.863 00 SCX_CPU1_DS_FI/434 for j = 0 to DS_FILTERS_PER_PACKET-1 do +21-236-11:21:38.863 00 SCX_CPU1_DS_FI/435 if (SCX_CPU1_DS_PF_TBL[i].FilterParams[j].FilterType <> DS_UNUSED) then +21-236-11:21:38.863 00 SCX_CPU1_DS_FI/441 endif +21-236-11:21:38.864 00 SCX_CPU1_DS_FI/442 enddo +21-236-11:21:38.864 00 SCX_CPU1_DS_FI/434 for j = 0 to DS_FILTERS_PER_PACKET-1 do +21-236-11:21:38.864 00 SCX_CPU1_DS_FI/445 endif +21-236-11:21:38.864 00 SCX_CPU1_DS_FI/446 enddo +21-236-11:21:38.864 00 SCX_CPU1_DS_FI/430 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-236-11:21:38.864 00 SCX_CPU1_DS_FI/431 if (SCX_CPU1_DS_PF_TBL[i].MessageID <> DS_UNUSED) then +21-236-11:21:38.864 00 SCX_CPU1_DS_FI/432 entryCount = entryCount + 1 +21-236-11:21:38.864 00 SCX_CPU1_DS_FI/433 write "==> MessageID = ",%hex(SCX_CPU1_DS_PF_TBL[i].MessageID,4) +21-236-11:21:38.864 00 SPR-I:OPRO ==> MessageID = 0904 +21-236-11:21:38.864 00 SCX_CPU1_DS_FI/434 for j = 0 to DS_FILTERS_PER_PACKET-1 do +21-236-11:21:38.864 00 SCX_CPU1_DS_FI/435 if (SCX_CPU1_DS_PF_TBL[i].FilterParams[j].FilterType <> DS_UNUSED) then +21-236-11:21:38.864 00 SCX_CPU1_DS_FI/436 write "==> File Index = ",SCX_CPU1_DS_PF_TBL[i].FilterParams[j].Index +21-236-11:21:38.865 00 SPR-I:OPRO ==> File Index = 4 +21-236-11:21:38.865 00 SCX_CPU1_DS_FI/437 write "==> Filter Type = ",SCX_CPU1_DS_PF_TBL[i].FilterParams[j].FilterType +21-236-11:21:38.865 00 SPR-I:OPRO ==> Filter Type = 1 +21-236-11:21:38.865 00 SCX_CPU1_DS_FI/438 write "==> N Value = ",SCX_CPU1_DS_PF_TBL[i].FilterParams[j].N_Value +21-236-11:21:38.865 00 SPR-I:OPRO ==> N Value = 1 +21-236-11:21:38.865 00 SCX_CPU1_DS_FI/439 write "==> X Value = ",SCX_CPU1_DS_PF_TBL[i].FilterParams[j].X_Value +21-236-11:21:38.865 00 SPR-I:OPRO ==> X Value = 1 +21-236-11:21:38.865 00 SCX_CPU1_DS_FI/440 write "==> O Value = ",SCX_CPU1_DS_PF_TBL[i].FilterParams[j].O_Value +21-236-11:21:38.865 00 SPR-I:OPRO ==> O Value = 0 +21-236-11:21:38.872 00 SCX_CPU1_DS_FI/441 endif +21-236-11:21:38.872 00 SCX_CPU1_DS_FI/442 enddo +21-236-11:21:38.872 00 SCX_CPU1_DS_FI/434 for j = 0 to DS_FILTERS_PER_PACKET-1 do +21-236-11:21:38.872 00 SCX_CPU1_DS_FI/435 if (SCX_CPU1_DS_PF_TBL[i].FilterParams[j].FilterType <> DS_UNUSED) then +21-236-11:21:38.872 00 SCX_CPU1_DS_FI/441 endif +21-236-11:21:38.872 00 SCX_CPU1_DS_FI/442 enddo +21-236-11:21:38.872 00 SCX_CPU1_DS_FI/434 for j = 0 to DS_FILTERS_PER_PACKET-1 do +21-236-11:21:38.872 00 SCX_CPU1_DS_FI/435 if (SCX_CPU1_DS_PF_TBL[i].FilterParams[j].FilterType <> DS_UNUSED) then +21-236-11:21:38.873 00 SCX_CPU1_DS_FI/441 endif +21-236-11:21:38.873 00 SCX_CPU1_DS_FI/442 enddo +21-236-11:21:38.873 00 SCX_CPU1_DS_FI/434 for j = 0 to DS_FILTERS_PER_PACKET-1 do +21-236-11:21:38.873 00 SCX_CPU1_DS_FI/435 if (SCX_CPU1_DS_PF_TBL[i].FilterParams[j].FilterType <> DS_UNUSED) then +21-236-11:21:38.873 00 SCX_CPU1_DS_FI/441 endif +21-236-11:21:38.873 00 SCX_CPU1_DS_FI/442 enddo +21-236-11:21:38.873 00 SCX_CPU1_DS_FI/434 for j = 0 to DS_FILTERS_PER_PACKET-1 do +21-236-11:21:38.873 00 SCX_CPU1_DS_FI/445 endif +21-236-11:21:38.873 00 SCX_CPU1_DS_FI/446 enddo +21-236-11:21:38.874 00 SCX_CPU1_DS_FI/430 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-236-11:21:38.874 00 SCX_CPU1_DS_FI/431 if (SCX_CPU1_DS_PF_TBL[i].MessageID <> DS_UNUSED) then +21-236-11:21:38.874 00 SCX_CPU1_DS_FI/432 entryCount = entryCount + 1 +21-236-11:21:38.874 00 SCX_CPU1_DS_FI/433 write "==> MessageID = ",%hex(SCX_CPU1_DS_PF_TBL[i].MessageID,4) +21-236-11:21:38.874 00 SPR-I:OPRO ==> MessageID = 0905 +21-236-11:21:38.874 00 SCX_CPU1_DS_FI/434 for j = 0 to DS_FILTERS_PER_PACKET-1 do +21-236-11:21:38.875 00 SCX_CPU1_DS_FI/435 if (SCX_CPU1_DS_PF_TBL[i].FilterParams[j].FilterType <> DS_UNUSED) then +21-236-11:21:38.875 00 SCX_CPU1_DS_FI/436 write "==> File Index = ",SCX_CPU1_DS_PF_TBL[i].FilterParams[j].Index +21-236-11:21:38.875 00 SPR-I:OPRO ==> File Index = 1 +21-236-11:21:38.875 00 SCX_CPU1_DS_FI/437 write "==> Filter Type = ",SCX_CPU1_DS_PF_TBL[i].FilterParams[j].FilterType +21-236-11:21:38.875 00 SPR-I:OPRO ==> Filter Type = 2 +21-236-11:21:38.875 00 SCX_CPU1_DS_FI/438 write "==> N Value = ",SCX_CPU1_DS_PF_TBL[i].FilterParams[j].N_Value +21-236-11:21:38.875 00 SPR-I:OPRO ==> N Value = 1 +21-236-11:21:38.875 00 SCX_CPU1_DS_FI/439 write "==> X Value = ",SCX_CPU1_DS_PF_TBL[i].FilterParams[j].X_Value +21-236-11:21:38.875 00 SPR-I:OPRO ==> X Value = 1 +21-236-11:21:38.875 00 SCX_CPU1_DS_FI/440 write "==> O Value = ",SCX_CPU1_DS_PF_TBL[i].FilterParams[j].O_Value +21-236-11:21:38.875 00 SPR-I:OPRO ==> O Value = 0 +21-236-11:21:38.875 00 SCX_CPU1_DS_FI/441 endif +21-236-11:21:38.875 00 SCX_CPU1_DS_FI/442 enddo +21-236-11:21:38.875 00 SCX_CPU1_DS_FI/434 for j = 0 to DS_FILTERS_PER_PACKET-1 do +21-236-11:21:38.876 00 SCX_CPU1_DS_FI/435 if (SCX_CPU1_DS_PF_TBL[i].FilterParams[j].FilterType <> DS_UNUSED) then +21-236-11:21:38.876 00 SCX_CPU1_DS_FI/441 endif +21-236-11:21:38.876 00 SCX_CPU1_DS_FI/442 enddo +21-236-11:21:38.876 00 SCX_CPU1_DS_FI/434 for j = 0 to DS_FILTERS_PER_PACKET-1 do +21-236-11:21:38.876 00 SCX_CPU1_DS_FI/435 if (SCX_CPU1_DS_PF_TBL[i].FilterParams[j].FilterType <> DS_UNUSED) then +21-236-11:21:38.876 00 SCX_CPU1_DS_FI/441 endif +21-236-11:21:38.876 00 SCX_CPU1_DS_FI/442 enddo +21-236-11:21:38.876 00 SCX_CPU1_DS_FI/434 for j = 0 to DS_FILTERS_PER_PACKET-1 do +21-236-11:21:38.876 00 SCX_CPU1_DS_FI/435 if (SCX_CPU1_DS_PF_TBL[i].FilterParams[j].FilterType <> DS_UNUSED) then +21-236-11:21:38.876 00 SCX_CPU1_DS_FI/441 endif +21-236-11:21:38.876 00 SCX_CPU1_DS_FI/442 enddo +21-236-11:21:38.876 00 SCX_CPU1_DS_FI/434 for j = 0 to DS_FILTERS_PER_PACKET-1 do +21-236-11:21:38.876 00 SCX_CPU1_DS_FI/445 endif +21-236-11:21:38.876 00 SCX_CPU1_DS_FI/446 enddo +21-236-11:21:38.877 00 SCX_CPU1_DS_FI/430 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-236-11:21:38.877 00 SCX_CPU1_DS_FI/431 if (SCX_CPU1_DS_PF_TBL[i].MessageID <> DS_UNUSED) then +21-236-11:21:38.877 00 SCX_CPU1_DS_FI/443 else +21-236-11:21:38.877 00 SCX_CPU1_DS_FI/444 i = DS_PACKETS_IN_FILTER_TABLE +21-236-11:21:38.877 00 SCX_CPU1_DS_FI/445 endif +21-236-11:21:38.877 00 SCX_CPU1_DS_FI/446 enddo +21-236-11:21:38.877 00 SCX_CPU1_DS_FI/430 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-236-11:21:38.877 00 SCX_CPU1_DS_FI/447 +21-236-11:21:38.877 00 SCX_CPU1_DS_FI/448 if (entryCount > 0) then +21-236-11:21:38.877 00 SCX_CPU1_DS_FI/449 write "<*> Passed (2000.1) - The Packet Filter Table contains ",entryCount," valid entries." +21-236-11:21:38.877 00 SPR-I:OPRO <*> Passed (2000.1) - The Packet Filter Table contains 6 valid entries. +21-236-11:21:38.877 00 SCX_CPU1_DS_FI/450 ut_setrequirements DS_20001, "P" +21-236-11:21:38.878 00 SCX_CPU1_DS_FI/454 endif +21-236-11:21:38.878 00 SCX_CPU1_DS_FI/455 +21-236-11:21:38.883 00 SCX_CPU1_DS_FI/456 wait 5 +21-236-11:21:38.883 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:21:43.887 00 SCX_CPU1_DS_FI/457 +21-236-11:21:43.887 00 SCX_CPU1_DS_FI/458 write ";***********************************************************************" +21-236-11:21:43.887 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:21:43.887 00 SCX_CPU1_DS_FI/459 write "; Step 1.7: Dump the Destination File Table. " +21-236-11:21:43.887 00 SPR-I:OPRO ; Step 1.7: Dump the Destination File Table. +21-236-11:21:43.887 00 SCX_CPU1_DS_FI/460 write ";***********************************************************************" +21-236-11:21:43.887 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:21:43.887 00 SCX_CPU1_DS_FI/462 s get_tbl_to_cvt (ramDir,fileTblName,"A","cpu1_filetbl17",hostCPU,fileTblPktId) +21-236-11:21:43.888 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/get_tbl_to_cvt.i +21-236-11:21:43.891 00 SPR-I:STS Procedure GET_TBL_TO_CVT started +21-236-11:21:43.892 00 GET_TBL_TO_CVT/2 ; +21-236-11:21:43.892 00 GET_TBL_TO_CVT/3 local logging = %liv (log_procedure) +21-236-11:21:43.892 00 GET_TBL_TO_CVT/4 %liv (log_procedure) = FALSE +21-236-11:21:43.910 00 SPR-I:OPRO Sending Command: /SCX_CPU1_TBL_DUMP ACTIVE DTABLENAME="DS.FILE_TBL" DFILENAME="/ram/cpu1_filetbl17" +21-236-11:21:43.926 00 SPR-I:STTE Wait mode - waiting 15 seconds ... +21-236-11:21:44.516 00 TLMH-I:STS 58-012-14:05:41.502 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=14 Successfully dumped Table 'DS.FILE_TBL' to '/ram/cpu1_filetbl17' +21-236-11:21:58.937 00 SPR-I:OPRO +21-236-11:21:58.937 00 SPR-I:OPRO The TBLNAME is: DS.FILE_TBL +21-236-11:21:58.937 00 SPR-I:OPRO The APID is: P0F76 +21-236-11:21:58.937 00 SPR-I:OPRO The CPU is: CPU3 +21-236-11:21:58.937 00 SPR-I:OPRO The IP Address is: 192.168.1.8 +21-236-11:21:58.938 00 SPR-I:OPRO The perl command is: perl /s/opr/accounts/global/tools/ftp.pl RAM:0 cpu1_filetbl17 cpu1_filetbl17 binary 192.168.1.8 +21-236-11:21:59.076 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-11:21:59.076 00 SPR-I:STTE Wait mode - waiting 15 seconds ... +21-236-11:22:14.087 00 SPR-I:OPRO +21-236-11:22:14.133 00 SPR-I:OPRO The unix command is cvt -ws file_list[3958].file_write_time "`date +%y-%j-%T -r /s/opr/accounts/cfs_test/image/cpu1_filetbl17`" +21-236-11:22:14.136 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:22:19.141 00 GET_TBL_TO_CVT/238 +21-236-11:22:19.141 00 GET_TBL_TO_CVT/239 ENDPROC +21-236-11:22:19.141 00 SPR-I:STS Procedure GET_TBL_TO_CVT completed +21-236-11:22:19.142 00 SCX_CPU1_DS_FI/463 +21-236-11:22:19.142 00 SCX_CPU1_DS_FI/464 entryCount = 0 +21-236-11:22:19.142 00 SCX_CPU1_DS_FI/466 for i = 0 to DS_DEST_FILE_CNT-1 do +21-236-11:22:19.143 00 SCX_CPU1_DS_FI/467 if (SCX_CPU1_DS_DF_TBL[i].FileNameType <> DS_UNUSED) then +21-236-11:22:19.143 00 SCX_CPU1_DS_FI/468 entryCount = entryCount + 1 +21-236-11:22:19.143 00 SCX_CPU1_DS_FI/469 write "==> Pathname = '",SCX_CPU1_DS_DF_TBL[i].Pathname,"'" +21-236-11:22:19.144 00 SPR-I:OPRO ==> Pathname = '/ram/' +21-236-11:22:19.144 00 SCX_CPU1_DS_FI/470 write "==> Basename = '",SCX_CPU1_DS_DF_TBL[i].Basename,"'" +21-236-11:22:19.144 00 SPR-I:OPRO ==> Basename = 'seq1' +21-236-11:22:19.144 00 SCX_CPU1_DS_FI/471 write "==> Extension = '",SCX_CPU1_DS_DF_TBL[i].Extension,"'" +21-236-11:22:19.144 00 SPR-I:OPRO ==> Extension = '.dat' +21-236-11:22:19.145 00 SCX_CPU1_DS_FI/472 write "==> Name Type = ",p@SCX_CPU1_DS_DF_TBL[i].FileNameType +21-236-11:22:19.145 00 SPR-I:OPRO ==> Name Type = Count +21-236-11:22:19.145 00 SCX_CPU1_DS_FI/473 write "==> State = ",p@SCX_CPU1_DS_DF_TBL[i].FileState +21-236-11:22:19.145 00 SPR-I:OPRO ==> State = Enabled +21-236-11:22:19.145 00 SCX_CPU1_DS_FI/474 write "==> Max Size = ",SCX_CPU1_DS_DF_TBL[i].FileSize +21-236-11:22:19.146 00 SPR-I:OPRO ==> Max Size = 1024 +21-236-11:22:19.146 00 SCX_CPU1_DS_FI/475 write "==> Max Age = ",SCX_CPU1_DS_DF_TBL[i].FileAge +21-236-11:22:19.146 00 SPR-I:OPRO ==> Max Age = 600 +21-236-11:22:19.146 00 SCX_CPU1_DS_FI/476 write "==> Seq Count = ",SCX_CPU1_DS_DF_TBL[i].SeqCnt +21-236-11:22:19.146 00 SPR-I:OPRO ==> Seq Count = 100 +21-236-11:22:19.170 00 SCX_CPU1_DS_FI/479 endif +21-236-11:22:19.170 00 SCX_CPU1_DS_FI/480 enddo +21-236-11:22:19.171 00 SCX_CPU1_DS_FI/466 for i = 0 to DS_DEST_FILE_CNT-1 do +21-236-11:22:19.171 00 SCX_CPU1_DS_FI/467 if (SCX_CPU1_DS_DF_TBL[i].FileNameType <> DS_UNUSED) then +21-236-11:22:19.171 00 SCX_CPU1_DS_FI/468 entryCount = entryCount + 1 +21-236-11:22:19.172 00 SCX_CPU1_DS_FI/469 write "==> Pathname = '",SCX_CPU1_DS_DF_TBL[i].Pathname,"'" +21-236-11:22:19.172 00 SPR-I:OPRO ==> Pathname = '/ram/' +21-236-11:22:19.172 00 SCX_CPU1_DS_FI/470 write "==> Basename = '",SCX_CPU1_DS_DF_TBL[i].Basename,"'" +21-236-11:22:19.173 00 SPR-I:OPRO ==> Basename = 'seq2' +21-236-11:22:19.173 00 SCX_CPU1_DS_FI/471 write "==> Extension = '",SCX_CPU1_DS_DF_TBL[i].Extension,"'" +21-236-11:22:19.173 00 SPR-I:OPRO ==> Extension = '.dat' +21-236-11:22:19.173 00 SCX_CPU1_DS_FI/472 write "==> Name Type = ",p@SCX_CPU1_DS_DF_TBL[i].FileNameType +21-236-11:22:19.174 00 SPR-I:OPRO ==> Name Type = Count +21-236-11:22:19.174 00 SCX_CPU1_DS_FI/473 write "==> State = ",p@SCX_CPU1_DS_DF_TBL[i].FileState +21-236-11:22:19.174 00 SPR-I:OPRO ==> State = Enabled +21-236-11:22:19.174 00 SCX_CPU1_DS_FI/474 write "==> Max Size = ",SCX_CPU1_DS_DF_TBL[i].FileSize +21-236-11:22:19.174 00 SPR-I:OPRO ==> Max Size = 1024 +21-236-11:22:19.174 00 SCX_CPU1_DS_FI/475 write "==> Max Age = ",SCX_CPU1_DS_DF_TBL[i].FileAge +21-236-11:22:19.175 00 SPR-I:OPRO ==> Max Age = 600 +21-236-11:22:19.175 00 SCX_CPU1_DS_FI/476 write "==> Seq Count = ",SCX_CPU1_DS_DF_TBL[i].SeqCnt +21-236-11:22:19.175 00 SPR-I:OPRO ==> Seq Count = 200 +21-236-11:22:19.175 00 SCX_CPU1_DS_FI/479 endif +21-236-11:22:19.175 00 SCX_CPU1_DS_FI/480 enddo +21-236-11:22:19.175 00 SCX_CPU1_DS_FI/466 for i = 0 to DS_DEST_FILE_CNT-1 do +21-236-11:22:19.176 00 SCX_CPU1_DS_FI/467 if (SCX_CPU1_DS_DF_TBL[i].FileNameType <> DS_UNUSED) then +21-236-11:22:19.176 00 SCX_CPU1_DS_FI/468 entryCount = entryCount + 1 +21-236-11:22:19.176 00 SCX_CPU1_DS_FI/469 write "==> Pathname = '",SCX_CPU1_DS_DF_TBL[i].Pathname,"'" +21-236-11:22:19.176 00 SPR-I:OPRO ==> Pathname = '/ram/' +21-236-11:22:19.177 00 SCX_CPU1_DS_FI/470 write "==> Basename = '",SCX_CPU1_DS_DF_TBL[i].Basename,"'" +21-236-11:22:19.177 00 SPR-I:OPRO ==> Basename = 'seq3' +21-236-11:22:19.177 00 SCX_CPU1_DS_FI/471 write "==> Extension = '",SCX_CPU1_DS_DF_TBL[i].Extension,"'" +21-236-11:22:19.177 00 SPR-I:OPRO ==> Extension = '.dat' +21-236-11:22:19.177 00 SCX_CPU1_DS_FI/472 write "==> Name Type = ",p@SCX_CPU1_DS_DF_TBL[i].FileNameType +21-236-11:22:19.178 00 SPR-I:OPRO ==> Name Type = Count +21-236-11:22:19.178 00 SCX_CPU1_DS_FI/473 write "==> State = ",p@SCX_CPU1_DS_DF_TBL[i].FileState +21-236-11:22:19.178 00 SPR-I:OPRO ==> State = Enabled +21-236-11:22:19.178 00 SCX_CPU1_DS_FI/474 write "==> Max Size = ",SCX_CPU1_DS_DF_TBL[i].FileSize +21-236-11:22:19.178 00 SPR-I:OPRO ==> Max Size = 1024 +21-236-11:22:19.178 00 SCX_CPU1_DS_FI/475 write "==> Max Age = ",SCX_CPU1_DS_DF_TBL[i].FileAge +21-236-11:22:19.179 00 SPR-I:OPRO ==> Max Age = 600 +21-236-11:22:19.179 00 SCX_CPU1_DS_FI/476 write "==> Seq Count = ",SCX_CPU1_DS_DF_TBL[i].SeqCnt +21-236-11:22:19.179 00 SPR-I:OPRO ==> Seq Count = 300 +21-236-11:22:19.179 00 SCX_CPU1_DS_FI/479 endif +21-236-11:22:19.179 00 SCX_CPU1_DS_FI/480 enddo +21-236-11:22:19.180 00 SCX_CPU1_DS_FI/466 for i = 0 to DS_DEST_FILE_CNT-1 do +21-236-11:22:19.181 00 SCX_CPU1_DS_FI/467 if (SCX_CPU1_DS_DF_TBL[i].FileNameType <> DS_UNUSED) then +21-236-11:22:19.182 00 SCX_CPU1_DS_FI/468 entryCount = entryCount + 1 +21-236-11:22:19.182 00 SCX_CPU1_DS_FI/469 write "==> Pathname = '",SCX_CPU1_DS_DF_TBL[i].Pathname,"'" +21-236-11:22:19.182 00 SPR-I:OPRO ==> Pathname = '/ram/' +21-236-11:22:19.182 00 SCX_CPU1_DS_FI/470 write "==> Basename = '",SCX_CPU1_DS_DF_TBL[i].Basename,"'" +21-236-11:22:19.182 00 SPR-I:OPRO ==> Basename = 'seq4' +21-236-11:22:19.183 00 SCX_CPU1_DS_FI/471 write "==> Extension = '",SCX_CPU1_DS_DF_TBL[i].Extension,"'" +21-236-11:22:19.183 00 SPR-I:OPRO ==> Extension = '.dat' +21-236-11:22:19.183 00 SCX_CPU1_DS_FI/472 write "==> Name Type = ",p@SCX_CPU1_DS_DF_TBL[i].FileNameType +21-236-11:22:19.184 00 SPR-I:OPRO ==> Name Type = Count +21-236-11:22:19.184 00 SCX_CPU1_DS_FI/473 write "==> State = ",p@SCX_CPU1_DS_DF_TBL[i].FileState +21-236-11:22:19.184 00 SPR-I:OPRO ==> State = Enabled +21-236-11:22:19.184 00 SCX_CPU1_DS_FI/474 write "==> Max Size = ",SCX_CPU1_DS_DF_TBL[i].FileSize +21-236-11:22:19.184 00 SPR-I:OPRO ==> Max Size = 1024 +21-236-11:22:19.184 00 SCX_CPU1_DS_FI/475 write "==> Max Age = ",SCX_CPU1_DS_DF_TBL[i].FileAge +21-236-11:22:19.184 00 SPR-I:OPRO ==> Max Age = 600 +21-236-11:22:19.184 00 SCX_CPU1_DS_FI/476 write "==> Seq Count = ",SCX_CPU1_DS_DF_TBL[i].SeqCnt +21-236-11:22:19.184 00 SPR-I:OPRO ==> Seq Count = 400 +21-236-11:22:19.184 00 SCX_CPU1_DS_FI/479 endif +21-236-11:22:19.185 00 SCX_CPU1_DS_FI/480 enddo +21-236-11:22:19.185 00 SCX_CPU1_DS_FI/466 for i = 0 to DS_DEST_FILE_CNT-1 do +21-236-11:22:19.185 00 SCX_CPU1_DS_FI/467 if (SCX_CPU1_DS_DF_TBL[i].FileNameType <> DS_UNUSED) then +21-236-11:22:19.185 00 SCX_CPU1_DS_FI/468 entryCount = entryCount + 1 +21-236-11:22:19.185 00 SCX_CPU1_DS_FI/469 write "==> Pathname = '",SCX_CPU1_DS_DF_TBL[i].Pathname,"'" +21-236-11:22:19.185 00 SPR-I:OPRO ==> Pathname = '/ram/' +21-236-11:22:19.185 00 SCX_CPU1_DS_FI/470 write "==> Basename = '",SCX_CPU1_DS_DF_TBL[i].Basename,"'" +21-236-11:22:19.186 00 SPR-I:OPRO ==> Basename = 'time1' +21-236-11:22:19.186 00 SCX_CPU1_DS_FI/471 write "==> Extension = '",SCX_CPU1_DS_DF_TBL[i].Extension,"'" +21-236-11:22:19.186 00 SPR-I:OPRO ==> Extension = '' +21-236-11:22:19.186 00 SCX_CPU1_DS_FI/472 write "==> Name Type = ",p@SCX_CPU1_DS_DF_TBL[i].FileNameType +21-236-11:22:19.186 00 SPR-I:OPRO ==> Name Type = Time +21-236-11:22:19.186 00 SCX_CPU1_DS_FI/473 write "==> State = ",p@SCX_CPU1_DS_DF_TBL[i].FileState +21-236-11:22:19.186 00 SPR-I:OPRO ==> State = Enabled +21-236-11:22:19.186 00 SCX_CPU1_DS_FI/474 write "==> Max Size = ",SCX_CPU1_DS_DF_TBL[i].FileSize +21-236-11:22:19.186 00 SPR-I:OPRO ==> Max Size = 1024 +21-236-11:22:19.186 00 SCX_CPU1_DS_FI/475 write "==> Max Age = ",SCX_CPU1_DS_DF_TBL[i].FileAge +21-236-11:22:19.187 00 SPR-I:OPRO ==> Max Age = 60 +21-236-11:22:19.187 00 SCX_CPU1_DS_FI/476 write "==> Seq Count = ",SCX_CPU1_DS_DF_TBL[i].SeqCnt +21-236-11:22:19.187 00 SPR-I:OPRO ==> Seq Count = 0 +21-236-11:22:19.187 00 SCX_CPU1_DS_FI/479 endif +21-236-11:22:19.187 00 SCX_CPU1_DS_FI/480 enddo +21-236-11:22:19.187 00 SCX_CPU1_DS_FI/466 for i = 0 to DS_DEST_FILE_CNT-1 do +21-236-11:22:19.187 00 SCX_CPU1_DS_FI/467 if (SCX_CPU1_DS_DF_TBL[i].FileNameType <> DS_UNUSED) then +21-236-11:22:19.198 00 SCX_CPU1_DS_FI/468 entryCount = entryCount + 1 +21-236-11:22:19.199 00 SCX_CPU1_DS_FI/469 write "==> Pathname = '",SCX_CPU1_DS_DF_TBL[i].Pathname,"'" +21-236-11:22:19.199 00 SPR-I:OPRO ==> Pathname = '/ram/' +21-236-11:22:19.199 00 SCX_CPU1_DS_FI/470 write "==> Basename = '",SCX_CPU1_DS_DF_TBL[i].Basename,"'" +21-236-11:22:19.199 00 SPR-I:OPRO ==> Basename = 'time2' +21-236-11:22:19.199 00 SCX_CPU1_DS_FI/471 write "==> Extension = '",SCX_CPU1_DS_DF_TBL[i].Extension,"'" +21-236-11:22:19.199 00 SPR-I:OPRO ==> Extension = '' +21-236-11:22:19.199 00 SCX_CPU1_DS_FI/472 write "==> Name Type = ",p@SCX_CPU1_DS_DF_TBL[i].FileNameType +21-236-11:22:19.199 00 SPR-I:OPRO ==> Name Type = Time +21-236-11:22:19.199 00 SCX_CPU1_DS_FI/473 write "==> State = ",p@SCX_CPU1_DS_DF_TBL[i].FileState +21-236-11:22:19.199 00 SPR-I:OPRO ==> State = Enabled +21-236-11:22:19.199 00 SCX_CPU1_DS_FI/474 write "==> Max Size = ",SCX_CPU1_DS_DF_TBL[i].FileSize +21-236-11:22:19.199 00 SPR-I:OPRO ==> Max Size = 1024 +21-236-11:22:19.199 00 SCX_CPU1_DS_FI/475 write "==> Max Age = ",SCX_CPU1_DS_DF_TBL[i].FileAge +21-236-11:22:19.199 00 SPR-I:OPRO ==> Max Age = 60 +21-236-11:22:19.199 00 SCX_CPU1_DS_FI/476 write "==> Seq Count = ",SCX_CPU1_DS_DF_TBL[i].SeqCnt +21-236-11:22:19.200 00 SPR-I:OPRO ==> Seq Count = 0 +21-236-11:22:19.200 00 SCX_CPU1_DS_FI/479 endif +21-236-11:22:19.200 00 SCX_CPU1_DS_FI/480 enddo +21-236-11:22:19.200 00 SCX_CPU1_DS_FI/466 for i = 0 to DS_DEST_FILE_CNT-1 do +21-236-11:22:19.200 00 SCX_CPU1_DS_FI/467 if (SCX_CPU1_DS_DF_TBL[i].FileNameType <> DS_UNUSED) then +21-236-11:22:19.200 00 SCX_CPU1_DS_FI/468 entryCount = entryCount + 1 +21-236-11:22:19.200 00 SCX_CPU1_DS_FI/469 write "==> Pathname = '",SCX_CPU1_DS_DF_TBL[i].Pathname,"'" +21-236-11:22:19.200 00 SPR-I:OPRO ==> Pathname = '/ram/' +21-236-11:22:19.200 00 SCX_CPU1_DS_FI/470 write "==> Basename = '",SCX_CPU1_DS_DF_TBL[i].Basename,"'" +21-236-11:22:19.200 00 SPR-I:OPRO ==> Basename = 'time3' +21-236-11:22:19.202 00 SCX_CPU1_DS_FI/471 write "==> Extension = '",SCX_CPU1_DS_DF_TBL[i].Extension,"'" +21-236-11:22:19.202 00 SPR-I:OPRO ==> Extension = '' +21-236-11:22:19.202 00 SCX_CPU1_DS_FI/472 write "==> Name Type = ",p@SCX_CPU1_DS_DF_TBL[i].FileNameType +21-236-11:22:19.202 00 SPR-I:OPRO ==> Name Type = Time +21-236-11:22:19.202 00 SCX_CPU1_DS_FI/473 write "==> State = ",p@SCX_CPU1_DS_DF_TBL[i].FileState +21-236-11:22:19.202 00 SPR-I:OPRO ==> State = Enabled +21-236-11:22:19.202 00 SCX_CPU1_DS_FI/474 write "==> Max Size = ",SCX_CPU1_DS_DF_TBL[i].FileSize +21-236-11:22:19.202 00 SPR-I:OPRO ==> Max Size = 1024 +21-236-11:22:19.202 00 SCX_CPU1_DS_FI/475 write "==> Max Age = ",SCX_CPU1_DS_DF_TBL[i].FileAge +21-236-11:22:19.203 00 SPR-I:OPRO ==> Max Age = 60 +21-236-11:22:19.203 00 SCX_CPU1_DS_FI/476 write "==> Seq Count = ",SCX_CPU1_DS_DF_TBL[i].SeqCnt +21-236-11:22:19.203 00 SPR-I:OPRO ==> Seq Count = 0 +21-236-11:22:19.203 00 SCX_CPU1_DS_FI/479 endif +21-236-11:22:19.203 00 SCX_CPU1_DS_FI/480 enddo +21-236-11:22:19.203 00 SCX_CPU1_DS_FI/466 for i = 0 to DS_DEST_FILE_CNT-1 do +21-236-11:22:19.203 00 SCX_CPU1_DS_FI/467 if (SCX_CPU1_DS_DF_TBL[i].FileNameType <> DS_UNUSED) then +21-236-11:22:19.203 00 SCX_CPU1_DS_FI/468 entryCount = entryCount + 1 +21-236-11:22:19.203 00 SCX_CPU1_DS_FI/469 write "==> Pathname = '",SCX_CPU1_DS_DF_TBL[i].Pathname,"'" +21-236-11:22:19.203 00 SPR-I:OPRO ==> Pathname = '/ram/' +21-236-11:22:19.209 00 SCX_CPU1_DS_FI/470 write "==> Basename = '",SCX_CPU1_DS_DF_TBL[i].Basename,"'" +21-236-11:22:19.209 00 SPR-I:OPRO ==> Basename = 'time4' +21-236-11:22:19.209 00 SCX_CPU1_DS_FI/471 write "==> Extension = '",SCX_CPU1_DS_DF_TBL[i].Extension,"'" +21-236-11:22:19.209 00 SPR-I:OPRO ==> Extension = '' +21-236-11:22:19.209 00 SCX_CPU1_DS_FI/472 write "==> Name Type = ",p@SCX_CPU1_DS_DF_TBL[i].FileNameType +21-236-11:22:19.209 00 SPR-I:OPRO ==> Name Type = Time +21-236-11:22:19.209 00 SCX_CPU1_DS_FI/473 write "==> State = ",p@SCX_CPU1_DS_DF_TBL[i].FileState +21-236-11:22:19.209 00 SPR-I:OPRO ==> State = Enabled +21-236-11:22:19.209 00 SCX_CPU1_DS_FI/474 write "==> Max Size = ",SCX_CPU1_DS_DF_TBL[i].FileSize +21-236-11:22:19.209 00 SPR-I:OPRO ==> Max Size = 1024 +21-236-11:22:19.209 00 SCX_CPU1_DS_FI/475 write "==> Max Age = ",SCX_CPU1_DS_DF_TBL[i].FileAge +21-236-11:22:19.209 00 SPR-I:OPRO ==> Max Age = 60 +21-236-11:22:19.209 00 SCX_CPU1_DS_FI/476 write "==> Seq Count = ",SCX_CPU1_DS_DF_TBL[i].SeqCnt +21-236-11:22:19.209 00 SPR-I:OPRO ==> Seq Count = 0 +21-236-11:22:19.209 00 SCX_CPU1_DS_FI/479 endif +21-236-11:22:19.210 00 SCX_CPU1_DS_FI/480 enddo +21-236-11:22:19.210 00 SCX_CPU1_DS_FI/466 for i = 0 to DS_DEST_FILE_CNT-1 do +21-236-11:22:19.210 00 SCX_CPU1_DS_FI/467 if (SCX_CPU1_DS_DF_TBL[i].FileNameType <> DS_UNUSED) then +21-236-11:22:19.210 00 SCX_CPU1_DS_FI/477 else +21-236-11:22:19.210 00 SCX_CPU1_DS_FI/478 i = DS_DEST_FILE_CNT +21-236-11:22:19.210 00 SCX_CPU1_DS_FI/479 endif +21-236-11:22:19.210 00 SCX_CPU1_DS_FI/480 enddo +21-236-11:22:19.210 00 SCX_CPU1_DS_FI/466 for i = 0 to DS_DEST_FILE_CNT-1 do +21-236-11:22:19.211 00 SCX_CPU1_DS_FI/481 +21-236-11:22:19.211 00 SCX_CPU1_DS_FI/482 if (entryCount > 0) then +21-236-11:22:19.211 00 SCX_CPU1_DS_FI/483 write "<*> Passed (2000.2) - The Destination File Table contains ",entryCount," valid entries." +21-236-11:22:19.211 00 SPR-I:OPRO <*> Passed (2000.2) - The Destination File Table contains 8 valid entries. +21-236-11:22:19.211 00 SCX_CPU1_DS_FI/484 ut_setrequirements DS_20002, "P" +21-236-11:22:19.212 00 SCX_CPU1_DS_FI/488 endif +21-236-11:22:19.212 00 SCX_CPU1_DS_FI/489 +21-236-11:22:19.212 00 SCX_CPU1_DS_FI/490 wait 5 +21-236-11:22:19.212 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:22:24.215 00 SCX_CPU1_DS_FI/491 +21-236-11:22:24.215 00 SCX_CPU1_DS_FI/492 write ";***********************************************************************" +21-236-11:22:24.215 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:22:24.215 00 SCX_CPU1_DS_FI/493 write "; Step 2.0: Message Filtering Test." +21-236-11:22:24.215 00 SPR-I:OPRO ; Step 2.0: Message Filtering Test. +21-236-11:22:24.216 00 SCX_CPU1_DS_FI/494 write ";***********************************************************************" +21-236-11:22:24.216 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:22:24.216 00 SCX_CPU1_DS_FI/495 write "; Step 2.1: Utilizing the TST_DS application, send valid messages to " +21-236-11:22:24.216 00 SPR-I:OPRO ; Step 2.1: Utilizing the TST_DS application, send valid messages to +21-236-11:22:24.216 00 SCX_CPU1_DS_FI/496 write "; the DS application using an entry that specifies Sequence filtering " +21-236-11:22:24.216 00 SPR-I:OPRO ; the DS application using an entry that specifies Sequence filtering +21-236-11:22:24.216 00 SCX_CPU1_DS_FI/497 write "; and the maximum number of Destination File entries. " +21-236-11:22:24.216 00 SPR-I:OPRO ; and the maximum number of Destination File entries. +21-236-11:22:24.216 00 SCX_CPU1_DS_FI/498 write ";***********************************************************************" +21-236-11:22:24.216 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:22:24.216 00 SCX_CPU1_DS_FI/499 write "; Step 2.1.1: Parse the tables to find an entry to use." +21-236-11:22:24.217 00 SPR-I:OPRO ; Step 2.1.1: Parse the tables to find an entry to use. +21-236-11:22:24.217 00 SCX_CPU1_DS_FI/500 write ";***********************************************************************" +21-236-11:22:24.217 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:22:24.217 00 SCX_CPU1_DS_FI/502 logging = %liv (log_procedure) +21-236-11:22:24.217 00 SCX_CPU1_DS_FI/503 %liv (log_procedure) = FALSE +21-236-11:22:24.264 00 SCX_CPU1_DS_FI/529 +21-236-11:22:24.264 00 SCX_CPU1_DS_FI/530 write "==> Found filter entry at ", filterEntry +21-236-11:22:24.264 00 SPR-I:OPRO ==> Found filter entry at 0 +21-236-11:22:24.264 00 SCX_CPU1_DS_FI/531 +21-236-11:22:24.264 00 SCX_CPU1_DS_FI/532 local seqMsgID = SCX_CPU1_DS_PF_TBL[filterEntry].MessageID +21-236-11:22:24.265 00 SCX_CPU1_DS_FI/533 +21-236-11:22:24.265 00 SCX_CPU1_DS_FI/534 wait 5 +21-236-11:22:24.265 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:22:29.268 00 SCX_CPU1_DS_FI/535 +21-236-11:22:29.268 00 SCX_CPU1_DS_FI/536 write ";***********************************************************************" +21-236-11:22:29.268 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:22:29.268 00 SCX_CPU1_DS_FI/537 write "; Step 2.1.2: Send the TST_DS command to send a message to DS using the" +21-236-11:22:29.268 00 SPR-I:OPRO ; Step 2.1.2: Send the TST_DS command to send a message to DS using the +21-236-11:22:29.269 00 SCX_CPU1_DS_FI/538 write "; MessageID found above. Send a message that will not exceed the file " +21-236-11:22:29.269 00 SPR-I:OPRO ; MessageID found above. Send a message that will not exceed the file +21-236-11:22:29.269 00 SCX_CPU1_DS_FI/539 write "; size constraint. The HK should contain info about the files opened. " +21-236-11:22:29.269 00 SPR-I:OPRO ; size constraint. The HK should contain info about the files opened. +21-236-11:22:29.269 00 SCX_CPU1_DS_FI/540 write ";***********************************************************************" +21-236-11:22:29.269 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:22:29.269 00 SCX_CPU1_DS_FI/542 ut_setupevents "SCX", "CPU1", "TST_DS", TST_DS_MSG1_SENT_INF_EID, "INFO", 1 +21-236-11:22:29.274 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:22:29.274 00 SPR-I:OPRO ; Setup event 1 with TST_DS INFO 5 +21-236-11:22:29.274 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:22:29.274 00 SCX_CPU1_DS_FI/543 +21-236-11:22:29.274 00 SCX_CPU1_DS_FI/544 local expPassedPkts = SCX_CPU1_DS_PassedPktCnt + 1 +21-236-11:22:29.274 00 SCX_CPU1_DS_FI/545 +21-236-11:22:29.274 00 SCX_CPU1_DS_FI/547 /SCX_CPU1_TST_DS_SENDMESSAGE MsgID=seqMsgID MsgType=1 Pattern=x'5A' +21-236-11:22:29.286 00 SCX_CPU1_DS_FI/548 +21-236-11:22:29.286 00 SCX_CPU1_DS_FI/550 ut_tlmwait SCX_CPU1_find_event[1].num_found_messages, 1 +21-236-11:22:29.289 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:22:30.015 00 TLMH-I:STS 58-012-14:06:27.003 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Message Size 116 to MID 0x00000900 +21-236-11:22:30.290 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:22:30.292 00 SCX_CPU1_DS_FI/551 if (UT_TW_Status = UT_Success) then +21-236-11:22:30.292 00 SCX_CPU1_DS_FI/552 write "<*> Passed - Expected Event Msg ",TST_DS_MSG1_SENT_INF_EID," rcv'd." +21-236-11:22:30.292 00 SPR-I:OPRO <*> Passed - Expected Event Msg 5 rcv'd. +21-236-11:22:30.292 00 SCX_CPU1_DS_FI/555 endif +21-236-11:22:30.292 00 SCX_CPU1_DS_FI/556 +21-236-11:22:30.292 00 SCX_CPU1_DS_FI/558 cmdCtr = SCX_CPU1_DS_CMDPC + 1 +21-236-11:22:30.293 00 SCX_CPU1_DS_FI/559 +21-236-11:22:30.293 00 SCX_CPU1_DS_FI/560 /SCX_CPU1_DS_GetFileInfo +21-236-11:22:30.308 00 SCX_CPU1_DS_FI/561 +21-236-11:22:30.308 00 SCX_CPU1_DS_FI/562 ut_tlmwait SCX_CPU1_DS_CMDPC, {cmdCtr} +21-236-11:22:30.327 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:22:31.018 00 TLMH-I:STS 58-012-14:06:28.003 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-11:22:31.328 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:22:31.330 00 SCX_CPU1_DS_FI/563 +21-236-11:22:31.330 00 SCX_CPU1_DS_FI/565 if (expPassedPkts = SCX_CPU1_DS_PassedPktCnt) then +21-236-11:22:31.330 00 SCX_CPU1_DS_FI/566 write "<*> Passed (2000) - Passed packet counter incremented properly." +21-236-11:22:31.330 00 SPR-I:OPRO <*> Passed (2000) - Passed packet counter incremented properly. +21-236-11:22:31.330 00 SCX_CPU1_DS_FI/567 ut_setrequirements DS_2000, "P" +21-236-11:22:31.334 00 SCX_CPU1_DS_FI/571 endif +21-236-11:22:31.334 00 SCX_CPU1_DS_FI/572 +21-236-11:22:31.334 00 SCX_CPU1_DS_FI/575 local hkSlot = 0 +21-236-11:22:31.335 00 SCX_CPU1_DS_FI/576 local fileCreateCnt = 0 +21-236-11:22:31.335 00 SCX_CPU1_DS_FI/577 local fileName = "" +21-236-11:22:31.335 00 SCX_CPU1_DS_FI/578 for i = 0 to DS_FILTERS_PER_PACKET-1 do +21-236-11:22:31.336 00 SCX_CPU1_DS_FI/579 hkSlot = seqFileIDs[i] +21-236-11:22:31.336 00 SCX_CPU1_DS_FI/580 if (SCX_CPU1_DS_FileState[hkSlot].FileName <> "") then +21-236-11:22:31.337 00 SCX_CPU1_DS_FI/581 fileName = SCX_CPU1_DS_FileState[hkSlot].FileName +21-236-11:22:31.337 00 SCX_CPU1_DS_FI/582 write "<*> Passed - A file was created with name '",fileName,"' for entry #",i +21-236-11:22:31.337 00 SPR-I:OPRO <*> Passed - A file was created with name '/ram/seq100000100.dat' for entry #0 +21-236-11:22:31.338 00 SCX_CPU1_DS_FI/583 fileCreateCnt = fileCreateCnt + 1 +21-236-11:22:31.338 00 SCX_CPU1_DS_FI/584 endif +21-236-11:22:31.338 00 SCX_CPU1_DS_FI/585 enddo +21-236-11:22:31.350 00 SCX_CPU1_DS_FI/578 for i = 0 to DS_FILTERS_PER_PACKET-1 do +21-236-11:22:31.350 00 SCX_CPU1_DS_FI/579 hkSlot = seqFileIDs[i] +21-236-11:22:31.350 00 SCX_CPU1_DS_FI/580 if (SCX_CPU1_DS_FileState[hkSlot].FileName <> "") then +21-236-11:22:31.350 00 SCX_CPU1_DS_FI/581 fileName = SCX_CPU1_DS_FileState[hkSlot].FileName +21-236-11:22:31.350 00 SCX_CPU1_DS_FI/582 write "<*> Passed - A file was created with name '",fileName,"' for entry #",i +21-236-11:22:31.350 00 SPR-I:OPRO <*> Passed - A file was created with name '/ram/seq200000204.dat' for entry #1 +21-236-11:22:31.350 00 SCX_CPU1_DS_FI/583 fileCreateCnt = fileCreateCnt + 1 +21-236-11:22:31.351 00 SCX_CPU1_DS_FI/584 endif +21-236-11:22:31.351 00 SCX_CPU1_DS_FI/585 enddo +21-236-11:22:31.351 00 SCX_CPU1_DS_FI/578 for i = 0 to DS_FILTERS_PER_PACKET-1 do +21-236-11:22:31.351 00 SCX_CPU1_DS_FI/579 hkSlot = seqFileIDs[i] +21-236-11:22:31.351 00 SCX_CPU1_DS_FI/580 if (SCX_CPU1_DS_FileState[hkSlot].FileName <> "") then +21-236-11:22:31.351 00 SCX_CPU1_DS_FI/581 fileName = SCX_CPU1_DS_FileState[hkSlot].FileName +21-236-11:22:31.351 00 SCX_CPU1_DS_FI/582 write "<*> Passed - A file was created with name '",fileName,"' for entry #",i +21-236-11:22:31.351 00 SPR-I:OPRO <*> Passed - A file was created with name '/ram/seq300000300.dat' for entry #2 +21-236-11:22:31.351 00 SCX_CPU1_DS_FI/583 fileCreateCnt = fileCreateCnt + 1 +21-236-11:22:31.351 00 SCX_CPU1_DS_FI/584 endif +21-236-11:22:31.351 00 SCX_CPU1_DS_FI/585 enddo +21-236-11:22:31.351 00 SCX_CPU1_DS_FI/578 for i = 0 to DS_FILTERS_PER_PACKET-1 do +21-236-11:22:31.351 00 SCX_CPU1_DS_FI/579 hkSlot = seqFileIDs[i] +21-236-11:22:31.351 00 SCX_CPU1_DS_FI/580 if (SCX_CPU1_DS_FileState[hkSlot].FileName <> "") then +21-236-11:22:31.352 00 SCX_CPU1_DS_FI/581 fileName = SCX_CPU1_DS_FileState[hkSlot].FileName +21-236-11:22:31.352 00 SCX_CPU1_DS_FI/582 write "<*> Passed - A file was created with name '",fileName,"' for entry #",i +21-236-11:22:31.352 00 SPR-I:OPRO <*> Passed - A file was created with name '/ram/seq400000400.dat' for entry #3 +21-236-11:22:31.353 00 SCX_CPU1_DS_FI/583 fileCreateCnt = fileCreateCnt + 1 +21-236-11:22:31.353 00 SCX_CPU1_DS_FI/584 endif +21-236-11:22:31.353 00 SCX_CPU1_DS_FI/585 enddo +21-236-11:22:31.353 00 SCX_CPU1_DS_FI/578 for i = 0 to DS_FILTERS_PER_PACKET-1 do +21-236-11:22:31.353 00 SCX_CPU1_DS_FI/586 +21-236-11:22:31.353 00 SCX_CPU1_DS_FI/588 if (fileCreateCnt = DS_FILTERS_PER_PACKET) then +21-236-11:22:31.353 00 SCX_CPU1_DS_FI/589 write "<*> Passed (2002;2002.1;3000;3000.1;3000.1.1) - The maximum number of files for a single message were created." +21-236-11:22:31.353 00 SPR-I:OPRO <*> Passed (2002;2002.1;3000;3000.1;3000.1.1) - The maximum number of files for a single message were created. +21-236-11:22:31.353 00 SCX_CPU1_DS_FI/590 ut_setrequirements DS_2002, "P" +21-236-11:22:31.354 00 SCX_CPU1_DS_FI/591 ut_setrequirements DS_20021, "P" +21-236-11:22:31.355 00 SCX_CPU1_DS_FI/592 ut_setrequirements DS_3000, "P" +21-236-11:22:31.356 00 SCX_CPU1_DS_FI/593 ut_setrequirements DS_30001, "A" +21-236-11:22:31.356 00 SCX_CPU1_DS_FI/594 ut_setrequirements DS_300011, "A" +21-236-11:22:31.379 00 SCX_CPU1_DS_FI/602 endif +21-236-11:22:31.379 00 SCX_CPU1_DS_FI/603 +21-236-11:22:31.379 00 SCX_CPU1_DS_FI/604 wait 5 +21-236-11:22:31.379 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:22:36.384 00 SCX_CPU1_DS_FI/605 +21-236-11:22:36.384 00 SCX_CPU1_DS_FI/606 write ";***********************************************************************" +21-236-11:22:36.384 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:22:36.384 00 SCX_CPU1_DS_FI/607 write "; Step 2.2: Utilizing the TST_DS application, send valid messages to " +21-236-11:22:36.384 00 SPR-I:OPRO ; Step 2.2: Utilizing the TST_DS application, send valid messages to +21-236-11:22:36.384 00 SCX_CPU1_DS_FI/608 write "; the DS application using an entry that specifies Time filtering and " +21-236-11:22:36.384 00 SPR-I:OPRO ; the DS application using an entry that specifies Time filtering and +21-236-11:22:36.384 00 SCX_CPU1_DS_FI/609 write "; the maximum number of Destination File entries. " +21-236-11:22:36.384 00 SPR-I:OPRO ; the maximum number of Destination File entries. +21-236-11:22:36.384 00 SCX_CPU1_DS_FI/610 write ";***********************************************************************" +21-236-11:22:36.384 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:22:36.385 00 SCX_CPU1_DS_FI/611 write "; Step 2.2.1: Parse the tables to find an entry to use." +21-236-11:22:36.385 00 SPR-I:OPRO ; Step 2.2.1: Parse the tables to find an entry to use. +21-236-11:22:36.385 00 SCX_CPU1_DS_FI/612 write ";***********************************************************************" +21-236-11:22:36.385 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:22:36.385 00 SCX_CPU1_DS_FI/614 logging = %liv (log_procedure) +21-236-11:22:36.385 00 SCX_CPU1_DS_FI/615 %liv (log_procedure) = FALSE +21-236-11:22:36.439 00 SCX_CPU1_DS_FI/641 +21-236-11:22:36.439 00 SCX_CPU1_DS_FI/642 write "==> Found filter entry at ", filterEntry +21-236-11:22:36.440 00 SPR-I:OPRO ==> Found filter entry at 1 +21-236-11:22:36.440 00 SCX_CPU1_DS_FI/643 +21-236-11:22:36.440 00 SCX_CPU1_DS_FI/644 local timeMsgID = SCX_CPU1_DS_PF_TBL[filterEntry].MessageID +21-236-11:22:36.440 00 SCX_CPU1_DS_FI/645 +21-236-11:22:36.440 00 SCX_CPU1_DS_FI/646 wait 5 +21-236-11:22:36.440 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:22:41.444 00 SCX_CPU1_DS_FI/647 +21-236-11:22:41.444 00 SCX_CPU1_DS_FI/648 write ";***********************************************************************" +21-236-11:22:41.444 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:22:41.444 00 SCX_CPU1_DS_FI/649 write "; Step 2.2.2: Send the TST_DS command to send a message to DS using the" +21-236-11:22:41.444 00 SPR-I:OPRO ; Step 2.2.2: Send the TST_DS command to send a message to DS using the +21-236-11:22:41.444 00 SCX_CPU1_DS_FI/650 write "; MessageID found above. Send a message that will not exceed the file " +21-236-11:22:41.444 00 SPR-I:OPRO ; MessageID found above. Send a message that will not exceed the file +21-236-11:22:41.444 00 SCX_CPU1_DS_FI/651 write "; size constraint. The HK should contain info about the files opened. " +21-236-11:22:41.445 00 SPR-I:OPRO ; size constraint. The HK should contain info about the files opened. +21-236-11:22:41.445 00 SCX_CPU1_DS_FI/652 write ";***********************************************************************" +21-236-11:22:41.445 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:22:41.445 00 SCX_CPU1_DS_FI/654 ut_setupevents "SCX", "CPU1", "TST_DS", TST_DS_MSG1_SENT_INF_EID, "INFO", 1 +21-236-11:22:41.451 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:22:41.452 00 SPR-I:OPRO ; Setup event 1 with TST_DS INFO 5 +21-236-11:22:41.452 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:22:41.453 00 SCX_CPU1_DS_FI/655 +21-236-11:22:41.453 00 SCX_CPU1_DS_FI/656 expPassedPkts = SCX_CPU1_DS_PassedPktCnt + 1 +21-236-11:22:41.453 00 SCX_CPU1_DS_FI/657 +21-236-11:22:41.453 00 SCX_CPU1_DS_FI/659 /SCX_CPU1_TST_DS_SENDMESSAGE MsgID=timeMsgID MsgType=1 Pattern=x'BB' +21-236-11:22:41.469 00 SCX_CPU1_DS_FI/660 +21-236-11:22:41.470 00 SCX_CPU1_DS_FI/662 ut_tlmwait SCX_CPU1_find_event[1].num_found_messages, 1 +21-236-11:22:41.480 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:22:42.015 00 TLMH-I:STS 58-012-14:06:39.006 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Message Size 116 to MID 0x00000901 +21-236-11:22:42.481 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:22:42.482 00 SCX_CPU1_DS_FI/663 if (UT_TW_Status = UT_Success) then +21-236-11:22:42.482 00 SCX_CPU1_DS_FI/664 write "<*> Passed - Expected Event Msg ",TST_DS_MSG1_SENT_INF_EID," rcv'd." +21-236-11:22:42.483 00 SPR-I:OPRO <*> Passed - Expected Event Msg 5 rcv'd. +21-236-11:22:42.483 00 SCX_CPU1_DS_FI/667 endif +21-236-11:22:42.483 00 SCX_CPU1_DS_FI/668 +21-236-11:22:42.483 00 SCX_CPU1_DS_FI/670 cmdCtr = SCX_CPU1_DS_CMDPC + 1 +21-236-11:22:42.483 00 SCX_CPU1_DS_FI/671 +21-236-11:22:42.483 00 SCX_CPU1_DS_FI/672 /SCX_CPU1_DS_GetFileInfo +21-236-11:22:42.498 00 SCX_CPU1_DS_FI/673 +21-236-11:22:42.498 00 SCX_CPU1_DS_FI/674 ut_tlmwait SCX_CPU1_DS_CMDPC, {cmdCtr} +21-236-11:22:42.512 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:22:43.017 00 TLMH-I:STS 58-012-14:06:40.003 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-11:22:43.513 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:22:43.514 00 SCX_CPU1_DS_FI/675 +21-236-11:22:43.515 00 SCX_CPU1_DS_FI/677 if (expPassedPkts = SCX_CPU1_DS_PassedPktCnt) then +21-236-11:22:43.515 00 SCX_CPU1_DS_FI/678 write "<*> Passed (2000) - Passed packet counter incremented properly." +21-236-11:22:43.515 00 SPR-I:OPRO <*> Passed (2000) - Passed packet counter incremented properly. +21-236-11:22:43.515 00 SCX_CPU1_DS_FI/679 ut_setrequirements DS_2000, "P" +21-236-11:22:43.518 00 SCX_CPU1_DS_FI/683 endif +21-236-11:22:43.518 00 SCX_CPU1_DS_FI/684 +21-236-11:22:43.518 00 SCX_CPU1_DS_FI/687 local hkSlot = 0 +21-236-11:22:43.519 00 SCX_CPU1_DS_FI/688 local fileCreateCnt = 0 +21-236-11:22:43.519 00 SCX_CPU1_DS_FI/689 local fileName = "" +21-236-11:22:43.519 00 SCX_CPU1_DS_FI/690 for i = 0 to DS_FILTERS_PER_PACKET-1 do +21-236-11:22:43.519 00 SCX_CPU1_DS_FI/691 hkSlot = timeFileIDs[i] +21-236-11:22:43.520 00 SCX_CPU1_DS_FI/692 if (SCX_CPU1_DS_FileState[hkSlot].FileName <> "") then +21-236-11:22:43.520 00 SCX_CPU1_DS_FI/693 fileName = SCX_CPU1_DS_FileState[hkSlot].FileName +21-236-11:22:43.521 00 SCX_CPU1_DS_FI/694 write "<*> Passed - A file was created with name '",fileName,"' for entry #",i +21-236-11:22:43.521 00 SPR-I:OPRO <*> Passed - A file was created with name '/ram/time11980012140639' for entry #0 +21-236-11:22:43.521 00 SCX_CPU1_DS_FI/695 fileCreateCnt = fileCreateCnt + 1 +21-236-11:22:43.521 00 SCX_CPU1_DS_FI/696 endif +21-236-11:22:43.522 00 SCX_CPU1_DS_FI/697 enddo +21-236-11:22:43.563 00 SCX_CPU1_DS_FI/690 for i = 0 to DS_FILTERS_PER_PACKET-1 do +21-236-11:22:43.563 00 SCX_CPU1_DS_FI/691 hkSlot = timeFileIDs[i] +21-236-11:22:43.563 00 SCX_CPU1_DS_FI/692 if (SCX_CPU1_DS_FileState[hkSlot].FileName <> "") then +21-236-11:22:43.563 00 SCX_CPU1_DS_FI/693 fileName = SCX_CPU1_DS_FileState[hkSlot].FileName +21-236-11:22:43.563 00 SCX_CPU1_DS_FI/694 write "<*> Passed - A file was created with name '",fileName,"' for entry #",i +21-236-11:22:43.563 00 SPR-I:OPRO <*> Passed - A file was created with name '/ram/time21980012140639' for entry #1 +21-236-11:22:43.563 00 SCX_CPU1_DS_FI/695 fileCreateCnt = fileCreateCnt + 1 +21-236-11:22:43.563 00 SCX_CPU1_DS_FI/696 endif +21-236-11:22:43.564 00 SCX_CPU1_DS_FI/697 enddo +21-236-11:22:43.564 00 SCX_CPU1_DS_FI/690 for i = 0 to DS_FILTERS_PER_PACKET-1 do +21-236-11:22:43.564 00 SCX_CPU1_DS_FI/691 hkSlot = timeFileIDs[i] +21-236-11:22:43.564 00 SCX_CPU1_DS_FI/692 if (SCX_CPU1_DS_FileState[hkSlot].FileName <> "") then +21-236-11:22:43.564 00 SCX_CPU1_DS_FI/693 fileName = SCX_CPU1_DS_FileState[hkSlot].FileName +21-236-11:22:43.564 00 SCX_CPU1_DS_FI/694 write "<*> Passed - A file was created with name '",fileName,"' for entry #",i +21-236-11:22:43.564 00 SPR-I:OPRO <*> Passed - A file was created with name '/ram/time31980012140639' for entry #2 +21-236-11:22:43.564 00 SCX_CPU1_DS_FI/695 fileCreateCnt = fileCreateCnt + 1 +21-236-11:22:43.565 00 SCX_CPU1_DS_FI/696 endif +21-236-11:22:43.565 00 SCX_CPU1_DS_FI/697 enddo +21-236-11:22:43.565 00 SCX_CPU1_DS_FI/690 for i = 0 to DS_FILTERS_PER_PACKET-1 do +21-236-11:22:43.565 00 SCX_CPU1_DS_FI/691 hkSlot = timeFileIDs[i] +21-236-11:22:43.565 00 SCX_CPU1_DS_FI/692 if (SCX_CPU1_DS_FileState[hkSlot].FileName <> "") then +21-236-11:22:43.565 00 SCX_CPU1_DS_FI/693 fileName = SCX_CPU1_DS_FileState[hkSlot].FileName +21-236-11:22:43.565 00 SCX_CPU1_DS_FI/694 write "<*> Passed - A file was created with name '",fileName,"' for entry #",i +21-236-11:22:43.565 00 SPR-I:OPRO <*> Passed - A file was created with name '/ram/time41980012140639' for entry #3 +21-236-11:22:43.567 00 SCX_CPU1_DS_FI/695 fileCreateCnt = fileCreateCnt + 1 +21-236-11:22:43.568 00 SCX_CPU1_DS_FI/696 endif +21-236-11:22:43.568 00 SCX_CPU1_DS_FI/697 enddo +21-236-11:22:43.568 00 SCX_CPU1_DS_FI/690 for i = 0 to DS_FILTERS_PER_PACKET-1 do +21-236-11:22:43.568 00 SCX_CPU1_DS_FI/698 +21-236-11:22:43.568 00 SCX_CPU1_DS_FI/700 if (fileCreateCnt = DS_FILTERS_PER_PACKET) then +21-236-11:22:43.568 00 SCX_CPU1_DS_FI/701 write "<*> Passed (2002;2002.1;3000;3000.2;3000.2.1) - The maximum number of files for a single message were created." +21-236-11:22:43.568 00 SPR-I:OPRO <*> Passed (2002;2002.1;3000;3000.2;3000.2.1) - The maximum number of files for a single message were created. +21-236-11:22:43.568 00 SCX_CPU1_DS_FI/702 ut_setrequirements DS_2002, "P" +21-236-11:22:43.569 00 SCX_CPU1_DS_FI/703 ut_setrequirements DS_20021, "P" +21-236-11:22:43.570 00 SCX_CPU1_DS_FI/704 ut_setrequirements DS_3000, "P" +21-236-11:22:43.571 00 SCX_CPU1_DS_FI/705 ut_setrequirements DS_30002, "A" +21-236-11:22:43.572 00 SCX_CPU1_DS_FI/706 ut_setrequirements DS_300021, "A" +21-236-11:22:43.573 00 SCX_CPU1_DS_FI/714 endif +21-236-11:22:43.599 00 SCX_CPU1_DS_FI/715 +21-236-11:22:43.599 00 SCX_CPU1_DS_FI/716 wait 5 +21-236-11:22:43.599 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:22:48.603 00 SCX_CPU1_DS_FI/717 +21-236-11:22:48.603 00 SCX_CPU1_DS_FI/718 write ";*********************************************************************" +21-236-11:22:48.603 00 SPR-I:OPRO ;********************************************************************* +21-236-11:22:48.603 00 SCX_CPU1_DS_FI/719 write "; Step 2.3: Close the files opened above. " +21-236-11:22:48.603 00 SPR-I:OPRO ; Step 2.3: Close the files opened above. +21-236-11:22:48.603 00 SCX_CPU1_DS_FI/720 write ";*********************************************************************" +21-236-11:22:48.603 00 SPR-I:OPRO ;********************************************************************* +21-236-11:22:48.603 00 SCX_CPU1_DS_FI/722 local seqFileName="", timeFileName="" +21-236-11:22:48.603 00 SCX_CPU1_DS_FI/723 local slashLoc=0 +21-236-11:22:48.603 00 SCX_CPU1_DS_FI/724 +21-236-11:22:48.603 00 SCX_CPU1_DS_FI/727 +21-236-11:22:48.603 00 SCX_CPU1_DS_FI/728 for i = 0 to DS_FILTERS_PER_PACKET-1 do +21-236-11:22:48.604 00 SCX_CPU1_DS_FI/730 seqFileName = SCX_CPU1_DS_FileState[seqFileIDs[i]].FileName +21-236-11:22:48.604 00 SCX_CPU1_DS_FI/731 timeFileName = SCX_CPU1_DS_FileState[timeFileIDs[i]].FileName +21-236-11:22:48.604 00 SCX_CPU1_DS_FI/732 +21-236-11:22:48.604 00 SCX_CPU1_DS_FI/734 ut_setupevents "SCX", "CPU1", {DSAppName}, DS_CLOSE_CMD_EID, "DEBUG", 1 +21-236-11:22:48.606 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:22:48.606 00 SPR-I:OPRO ; Setup event 1 with DS DEBUG 59 +21-236-11:22:48.606 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:22:48.607 00 SCX_CPU1_DS_FI/735 +21-236-11:22:48.607 00 SCX_CPU1_DS_FI/736 cmdCtr = SCX_CPU1_DS_CMDPC + 2 +21-236-11:22:48.607 00 SCX_CPU1_DS_FI/738 /SCX_CPU1_DS_CloseFile FileIndex=seqFileIDs[i] +21-236-11:22:48.609 00 SCX_CPU1_DS_FI/739 /SCX_CPU1_DS_CloseFile FileIndex=timeFileIDs[i] +21-236-11:22:48.660 00 SCX_CPU1_DS_FI/740 +21-236-11:22:48.660 00 SCX_CPU1_DS_FI/741 ut_tlmwait SCX_CPU1_DS_CMDPC, {cmdCtr} +21-236-11:22:48.663 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:22:49.520 00 TLMH-I:STS 58-012-14:06:46.501 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=59 DEST CLOSE command: file table index = 0 +21-236-11:22:49.521 00 TLMH-I:STS 58-012-14:06:46.501 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=59 DEST CLOSE command: file table index = 4 +21-236-11:22:51.666 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:22:51.668 00 SCX_CPU1_DS_FI/742 if (UT_TW_Status = UT_Success) then +21-236-11:22:51.668 00 SCX_CPU1_DS_FI/743 write "<*> Passed (1004;5002) - DS Close File commands sent properly." +21-236-11:22:51.668 00 SPR-I:OPRO <*> Passed (1004;5002) - DS Close File commands sent properly. +21-236-11:22:51.668 00 SCX_CPU1_DS_FI/744 ut_setrequirements DS_1004, "P" +21-236-11:22:51.671 00 SCX_CPU1_DS_FI/745 ut_setrequirements DS_5002, "P" +21-236-11:22:51.674 00 SCX_CPU1_DS_FI/750 endif +21-236-11:22:51.674 00 SCX_CPU1_DS_FI/751 +21-236-11:22:51.674 00 SCX_CPU1_DS_FI/753 ut_tlmwait SCX_CPU1_find_event[1].num_found_messages, 2 +21-236-11:22:51.687 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:22:51.689 00 SCX_CPU1_DS_FI/754 if (UT_TW_Status = UT_Success) then +21-236-11:22:51.690 00 SCX_CPU1_DS_FI/755 write "<*> Passed (1004;5002) - Expected Event Msg ",DS_CLOSE_CMD_EID," rcv'd." +21-236-11:22:51.690 00 SPR-I:OPRO <*> Passed (1004;5002) - Expected Event Msg 59 rcv'd. +21-236-11:22:51.690 00 SCX_CPU1_DS_FI/756 ut_setrequirements DS_1004, "P" +21-236-11:22:51.734 00 SCX_CPU1_DS_FI/757 ut_setrequirements DS_5002, "P" +21-236-11:22:51.735 00 SCX_CPU1_DS_FI/762 endif +21-236-11:22:51.735 00 SCX_CPU1_DS_FI/763 +21-236-11:22:51.735 00 SCX_CPU1_DS_FI/765 if (seqFileName <> "") then +21-236-11:22:51.735 00 SCX_CPU1_DS_FI/766 ut_setrequirements DS_3003, "A" +21-236-11:22:51.735 00 SCX_CPU1_DS_FI/767 ut_setrequirements DS_3004, "A" +21-236-11:22:51.736 00 SCX_CPU1_DS_FI/768 write "==> Downloading '",seqFileName,"'" +21-236-11:22:51.736 00 SPR-I:OPRO ==> Downloading '/ram/seq100000100.dat' +21-236-11:22:51.736 00 SCX_CPU1_DS_FI/769 slashLoc = %locate(seqFileName,"/") +21-236-11:22:51.736 00 SCX_CPU1_DS_FI/770 while (slashLoc <> 0) do +21-236-11:22:51.736 00 SCX_CPU1_DS_FI/771 seqFileName = %substring(seqFileName,slashLoc+1,%length(seqFileName)) +21-236-11:22:51.736 00 SCX_CPU1_DS_FI/772 slashLoc = %locate(seqFileName,"/") +21-236-11:22:51.736 00 SCX_CPU1_DS_FI/773 enddo +21-236-11:22:51.737 00 SCX_CPU1_DS_FI/771 seqFileName = %substring(seqFileName,slashLoc+1,%length(seqFileName)) +21-236-11:22:51.737 00 SCX_CPU1_DS_FI/772 slashLoc = %locate(seqFileName,"/") +21-236-11:22:51.761 00 SCX_CPU1_DS_FI/773 enddo +21-236-11:22:51.761 00 SCX_CPU1_DS_FI/774 write "==> FileName Only = '",seqFileName,"'" +21-236-11:22:51.761 00 SPR-I:OPRO ==> FileName Only = 'seq100000100.dat' +21-236-11:22:51.761 00 SCX_CPU1_DS_FI/777 s ftp_file(ramDir, seqFileName, seqFileName, hostCPU, "G") +21-236-11:22:51.761 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/ftp_file.i +21-236-11:22:51.761 00 SPR-I:STS Procedure FTP_FILE started +21-236-11:22:51.762 00 FTP_FILE/2 ; +21-236-11:22:51.762 00 FTP_FILE/3 local logging = %liv (log_procedure) +21-236-11:22:51.762 00 FTP_FILE/4 %liv (log_procedure) = FALSE +21-236-11:22:51.855 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-11:22:51.855 00 FTP_FILE/85 ENDPROC +21-236-11:22:51.855 00 SPR-I:STS Procedure FTP_FILE completed +21-236-11:22:51.856 00 SCX_CPU1_DS_FI/781 endif +21-236-11:22:51.856 00 SCX_CPU1_DS_FI/782 +21-236-11:22:51.856 00 SCX_CPU1_DS_FI/784 if (timeFileName <> "") then +21-236-11:22:51.856 00 SCX_CPU1_DS_FI/785 ut_setrequirements DS_3003, "A" +21-236-11:22:51.857 00 SCX_CPU1_DS_FI/786 ut_setrequirements DS_3004, "A" +21-236-11:22:51.858 00 SCX_CPU1_DS_FI/787 write "==> Downloading '",timeFileName,"'" +21-236-11:22:51.858 00 SPR-I:OPRO ==> Downloading '/ram/time11980012140639' +21-236-11:22:51.858 00 SCX_CPU1_DS_FI/788 slashLoc = %locate(timeFileName,"/") +21-236-11:22:51.858 00 SCX_CPU1_DS_FI/789 while (slashLoc <> 0) do +21-236-11:22:51.858 00 SCX_CPU1_DS_FI/790 timeFileName = %substring(timeFileName,slashLoc+1,%length(timeFileName)) +21-236-11:22:51.858 00 SCX_CPU1_DS_FI/791 slashLoc = %locate(timeFileName,"/") +21-236-11:22:51.858 00 SCX_CPU1_DS_FI/792 enddo +21-236-11:22:51.858 00 SCX_CPU1_DS_FI/790 timeFileName = %substring(timeFileName,slashLoc+1,%length(timeFileName)) +21-236-11:22:51.858 00 SCX_CPU1_DS_FI/791 slashLoc = %locate(timeFileName,"/") +21-236-11:22:51.859 00 SCX_CPU1_DS_FI/792 enddo +21-236-11:22:51.859 00 SCX_CPU1_DS_FI/793 write "==> FileName Only = '",timeFileName,"'" +21-236-11:22:51.859 00 SPR-I:OPRO ==> FileName Only = 'time11980012140639' +21-236-11:22:51.884 00 SCX_CPU1_DS_FI/796 s ftp_file(ramDir, timeFileName, timeFileName, hostCPU, "G") +21-236-11:22:51.884 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/ftp_file.i +21-236-11:22:51.884 00 SPR-I:STS Procedure FTP_FILE started +21-236-11:22:51.885 00 FTP_FILE/2 ; +21-236-11:22:51.885 00 FTP_FILE/3 local logging = %liv (log_procedure) +21-236-11:22:51.885 00 FTP_FILE/4 %liv (log_procedure) = FALSE +21-236-11:22:52.004 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-11:22:52.004 00 FTP_FILE/85 ENDPROC +21-236-11:22:52.004 00 SPR-I:STS Procedure FTP_FILE completed +21-236-11:22:52.004 00 SCX_CPU1_DS_FI/800 endif +21-236-11:22:52.004 00 SCX_CPU1_DS_FI/801 +21-236-11:22:52.004 00 SCX_CPU1_DS_FI/802 enddo +21-236-11:22:52.004 00 SCX_CPU1_DS_FI/728 for i = 0 to DS_FILTERS_PER_PACKET-1 do +21-236-11:22:52.004 00 SCX_CPU1_DS_FI/730 seqFileName = SCX_CPU1_DS_FileState[seqFileIDs[i]].FileName +21-236-11:22:52.005 00 SCX_CPU1_DS_FI/731 timeFileName = SCX_CPU1_DS_FileState[timeFileIDs[i]].FileName +21-236-11:22:52.005 00 SCX_CPU1_DS_FI/732 +21-236-11:22:52.005 00 SCX_CPU1_DS_FI/734 ut_setupevents "SCX", "CPU1", {DSAppName}, DS_CLOSE_CMD_EID, "DEBUG", 1 +21-236-11:22:52.007 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:22:52.007 00 SPR-I:OPRO ; Setup event 1 with DS DEBUG 59 +21-236-11:22:52.007 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:22:52.008 00 SCX_CPU1_DS_FI/735 +21-236-11:22:52.008 00 SCX_CPU1_DS_FI/736 cmdCtr = SCX_CPU1_DS_CMDPC + 2 +21-236-11:22:52.008 00 SCX_CPU1_DS_FI/738 /SCX_CPU1_DS_CloseFile FileIndex=seqFileIDs[i] +21-236-11:22:52.022 00 SCX_CPU1_DS_FI/739 /SCX_CPU1_DS_CloseFile FileIndex=timeFileIDs[i] +21-236-11:22:52.081 00 SCX_CPU1_DS_FI/740 +21-236-11:22:52.081 00 SCX_CPU1_DS_FI/741 ut_tlmwait SCX_CPU1_DS_CMDPC, {cmdCtr} +21-236-11:22:52.086 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:22:52.521 00 TLMH-I:STS 58-012-14:06:49.501 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=59 DEST CLOSE command: file table index = 1 +21-236-11:22:52.523 00 TLMH-I:STS 58-012-14:06:49.501 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=59 DEST CLOSE command: file table index = 5 +21-236-11:22:55.089 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:22:55.091 00 SCX_CPU1_DS_FI/742 if (UT_TW_Status = UT_Success) then +21-236-11:22:55.091 00 SCX_CPU1_DS_FI/743 write "<*> Passed (1004;5002) - DS Close File commands sent properly." +21-236-11:22:55.091 00 SPR-I:OPRO <*> Passed (1004;5002) - DS Close File commands sent properly. +21-236-11:22:55.091 00 SCX_CPU1_DS_FI/744 ut_setrequirements DS_1004, "P" +21-236-11:22:55.094 00 SCX_CPU1_DS_FI/745 ut_setrequirements DS_5002, "P" +21-236-11:22:55.097 00 SCX_CPU1_DS_FI/750 endif +21-236-11:22:55.097 00 SCX_CPU1_DS_FI/751 +21-236-11:22:55.098 00 SCX_CPU1_DS_FI/753 ut_tlmwait SCX_CPU1_find_event[1].num_found_messages, 2 +21-236-11:22:55.110 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:22:55.112 00 SCX_CPU1_DS_FI/754 if (UT_TW_Status = UT_Success) then +21-236-11:22:55.112 00 SCX_CPU1_DS_FI/755 write "<*> Passed (1004;5002) - Expected Event Msg ",DS_CLOSE_CMD_EID," rcv'd." +21-236-11:22:55.112 00 SPR-I:OPRO <*> Passed (1004;5002) - Expected Event Msg 59 rcv'd. +21-236-11:22:55.112 00 SCX_CPU1_DS_FI/756 ut_setrequirements DS_1004, "P" +21-236-11:22:55.150 00 SCX_CPU1_DS_FI/757 ut_setrequirements DS_5002, "P" +21-236-11:22:55.151 00 SCX_CPU1_DS_FI/762 endif +21-236-11:22:55.151 00 SCX_CPU1_DS_FI/763 +21-236-11:22:55.151 00 SCX_CPU1_DS_FI/765 if (seqFileName <> "") then +21-236-11:22:55.151 00 SCX_CPU1_DS_FI/766 ut_setrequirements DS_3003, "A" +21-236-11:22:55.152 00 SCX_CPU1_DS_FI/767 ut_setrequirements DS_3004, "A" +21-236-11:22:55.153 00 SCX_CPU1_DS_FI/768 write "==> Downloading '",seqFileName,"'" +21-236-11:22:55.153 00 SPR-I:OPRO ==> Downloading '/ram/seq200000204.dat' +21-236-11:22:55.153 00 SCX_CPU1_DS_FI/769 slashLoc = %locate(seqFileName,"/") +21-236-11:22:55.153 00 SCX_CPU1_DS_FI/770 while (slashLoc <> 0) do +21-236-11:22:55.153 00 SCX_CPU1_DS_FI/771 seqFileName = %substring(seqFileName,slashLoc+1,%length(seqFileName)) +21-236-11:22:55.153 00 SCX_CPU1_DS_FI/772 slashLoc = %locate(seqFileName,"/") +21-236-11:22:55.153 00 SCX_CPU1_DS_FI/773 enddo +21-236-11:22:55.154 00 SCX_CPU1_DS_FI/771 seqFileName = %substring(seqFileName,slashLoc+1,%length(seqFileName)) +21-236-11:22:55.154 00 SCX_CPU1_DS_FI/772 slashLoc = %locate(seqFileName,"/") +21-236-11:22:55.175 00 SCX_CPU1_DS_FI/773 enddo +21-236-11:22:55.176 00 SCX_CPU1_DS_FI/774 write "==> FileName Only = '",seqFileName,"'" +21-236-11:22:55.176 00 SPR-I:OPRO ==> FileName Only = 'seq200000204.dat' +21-236-11:22:55.176 00 SCX_CPU1_DS_FI/777 s ftp_file(ramDir, seqFileName, seqFileName, hostCPU, "G") +21-236-11:22:55.176 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/ftp_file.i +21-236-11:22:55.176 00 SPR-I:STS Procedure FTP_FILE started +21-236-11:22:55.176 00 FTP_FILE/2 ; +21-236-11:22:55.176 00 FTP_FILE/3 local logging = %liv (log_procedure) +21-236-11:22:55.176 00 FTP_FILE/4 %liv (log_procedure) = FALSE +21-236-11:22:55.261 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-11:22:55.261 00 FTP_FILE/85 ENDPROC +21-236-11:22:55.261 00 SPR-I:STS Procedure FTP_FILE completed +21-236-11:22:55.261 00 SCX_CPU1_DS_FI/781 endif +21-236-11:22:55.261 00 SCX_CPU1_DS_FI/782 +21-236-11:22:55.261 00 SCX_CPU1_DS_FI/784 if (timeFileName <> "") then +21-236-11:22:55.261 00 SCX_CPU1_DS_FI/785 ut_setrequirements DS_3003, "A" +21-236-11:22:55.262 00 SCX_CPU1_DS_FI/786 ut_setrequirements DS_3004, "A" +21-236-11:22:55.263 00 SCX_CPU1_DS_FI/787 write "==> Downloading '",timeFileName,"'" +21-236-11:22:55.263 00 SPR-I:OPRO ==> Downloading '/ram/time21980012140639' +21-236-11:22:55.263 00 SCX_CPU1_DS_FI/788 slashLoc = %locate(timeFileName,"/") +21-236-11:22:55.263 00 SCX_CPU1_DS_FI/789 while (slashLoc <> 0) do +21-236-11:22:55.263 00 SCX_CPU1_DS_FI/790 timeFileName = %substring(timeFileName,slashLoc+1,%length(timeFileName)) +21-236-11:22:55.263 00 SCX_CPU1_DS_FI/791 slashLoc = %locate(timeFileName,"/") +21-236-11:22:55.263 00 SCX_CPU1_DS_FI/792 enddo +21-236-11:22:55.263 00 SCX_CPU1_DS_FI/790 timeFileName = %substring(timeFileName,slashLoc+1,%length(timeFileName)) +21-236-11:22:55.263 00 SCX_CPU1_DS_FI/791 slashLoc = %locate(timeFileName,"/") +21-236-11:22:55.263 00 SCX_CPU1_DS_FI/792 enddo +21-236-11:22:55.263 00 SCX_CPU1_DS_FI/793 write "==> FileName Only = '",timeFileName,"'" +21-236-11:22:55.263 00 SPR-I:OPRO ==> FileName Only = 'time21980012140639' +21-236-11:22:55.281 00 SCX_CPU1_DS_FI/796 s ftp_file(ramDir, timeFileName, timeFileName, hostCPU, "G") +21-236-11:22:55.281 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/ftp_file.i +21-236-11:22:55.282 00 SPR-I:STS Procedure FTP_FILE started +21-236-11:22:55.282 00 FTP_FILE/2 ; +21-236-11:22:55.282 00 FTP_FILE/3 local logging = %liv (log_procedure) +21-236-11:22:55.282 00 FTP_FILE/4 %liv (log_procedure) = FALSE +21-236-11:22:55.372 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-11:22:55.372 00 FTP_FILE/85 ENDPROC +21-236-11:22:55.372 00 SPR-I:STS Procedure FTP_FILE completed +21-236-11:22:55.374 00 SCX_CPU1_DS_FI/800 endif +21-236-11:22:55.374 00 SCX_CPU1_DS_FI/801 +21-236-11:22:55.374 00 SCX_CPU1_DS_FI/802 enddo +21-236-11:22:55.374 00 SCX_CPU1_DS_FI/728 for i = 0 to DS_FILTERS_PER_PACKET-1 do +21-236-11:22:55.375 00 SCX_CPU1_DS_FI/730 seqFileName = SCX_CPU1_DS_FileState[seqFileIDs[i]].FileName +21-236-11:22:55.375 00 SCX_CPU1_DS_FI/731 timeFileName = SCX_CPU1_DS_FileState[timeFileIDs[i]].FileName +21-236-11:22:55.376 00 SCX_CPU1_DS_FI/732 +21-236-11:22:55.376 00 SCX_CPU1_DS_FI/734 ut_setupevents "SCX", "CPU1", {DSAppName}, DS_CLOSE_CMD_EID, "DEBUG", 1 +21-236-11:22:55.383 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:22:55.384 00 SPR-I:OPRO ; Setup event 1 with DS DEBUG 59 +21-236-11:22:55.384 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:22:55.385 00 SCX_CPU1_DS_FI/735 +21-236-11:22:55.385 00 SCX_CPU1_DS_FI/736 cmdCtr = SCX_CPU1_DS_CMDPC + 2 +21-236-11:22:55.386 00 SCX_CPU1_DS_FI/738 /SCX_CPU1_DS_CloseFile FileIndex=seqFileIDs[i] +21-236-11:22:55.401 00 SCX_CPU1_DS_FI/739 /SCX_CPU1_DS_CloseFile FileIndex=timeFileIDs[i] +21-236-11:22:55.469 00 SCX_CPU1_DS_FI/740 +21-236-11:22:55.470 00 SCX_CPU1_DS_FI/741 ut_tlmwait SCX_CPU1_DS_CMDPC, {cmdCtr} +21-236-11:22:55.477 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:22:56.014 00 TLMH-I:STS 58-012-14:06:53.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=59 DEST CLOSE command: file table index = 2 +21-236-11:22:56.015 00 TLMH-I:STS 58-012-14:06:53.002 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=59 DEST CLOSE command: file table index = 6 +21-236-11:22:59.481 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:22:59.482 00 SCX_CPU1_DS_FI/742 if (UT_TW_Status = UT_Success) then +21-236-11:22:59.482 00 SCX_CPU1_DS_FI/743 write "<*> Passed (1004;5002) - DS Close File commands sent properly." +21-236-11:22:59.483 00 SPR-I:OPRO <*> Passed (1004;5002) - DS Close File commands sent properly. +21-236-11:22:59.483 00 SCX_CPU1_DS_FI/744 ut_setrequirements DS_1004, "P" +21-236-11:22:59.486 00 SCX_CPU1_DS_FI/745 ut_setrequirements DS_5002, "P" +21-236-11:22:59.490 00 SCX_CPU1_DS_FI/750 endif +21-236-11:22:59.490 00 SCX_CPU1_DS_FI/751 +21-236-11:22:59.490 00 SCX_CPU1_DS_FI/753 ut_tlmwait SCX_CPU1_find_event[1].num_found_messages, 2 +21-236-11:22:59.504 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:22:59.505 00 SCX_CPU1_DS_FI/754 if (UT_TW_Status = UT_Success) then +21-236-11:22:59.506 00 SCX_CPU1_DS_FI/755 write "<*> Passed (1004;5002) - Expected Event Msg ",DS_CLOSE_CMD_EID," rcv'd." +21-236-11:22:59.506 00 SPR-I:OPRO <*> Passed (1004;5002) - Expected Event Msg 59 rcv'd. +21-236-11:22:59.506 00 SCX_CPU1_DS_FI/756 ut_setrequirements DS_1004, "P" +21-236-11:22:59.543 00 SCX_CPU1_DS_FI/757 ut_setrequirements DS_5002, "P" +21-236-11:22:59.543 00 SCX_CPU1_DS_FI/762 endif +21-236-11:22:59.543 00 SCX_CPU1_DS_FI/763 +21-236-11:22:59.543 00 SCX_CPU1_DS_FI/765 if (seqFileName <> "") then +21-236-11:22:59.544 00 SCX_CPU1_DS_FI/766 ut_setrequirements DS_3003, "A" +21-236-11:22:59.544 00 SCX_CPU1_DS_FI/767 ut_setrequirements DS_3004, "A" +21-236-11:22:59.545 00 SCX_CPU1_DS_FI/768 write "==> Downloading '",seqFileName,"'" +21-236-11:22:59.545 00 SPR-I:OPRO ==> Downloading '/ram/seq300000300.dat' +21-236-11:22:59.545 00 SCX_CPU1_DS_FI/769 slashLoc = %locate(seqFileName,"/") +21-236-11:22:59.545 00 SCX_CPU1_DS_FI/770 while (slashLoc <> 0) do +21-236-11:22:59.545 00 SCX_CPU1_DS_FI/771 seqFileName = %substring(seqFileName,slashLoc+1,%length(seqFileName)) +21-236-11:22:59.545 00 SCX_CPU1_DS_FI/772 slashLoc = %locate(seqFileName,"/") +21-236-11:22:59.545 00 SCX_CPU1_DS_FI/773 enddo +21-236-11:22:59.545 00 SCX_CPU1_DS_FI/771 seqFileName = %substring(seqFileName,slashLoc+1,%length(seqFileName)) +21-236-11:22:59.546 00 SCX_CPU1_DS_FI/772 slashLoc = %locate(seqFileName,"/") +21-236-11:22:59.568 00 SCX_CPU1_DS_FI/773 enddo +21-236-11:22:59.568 00 SCX_CPU1_DS_FI/774 write "==> FileName Only = '",seqFileName,"'" +21-236-11:22:59.568 00 SPR-I:OPRO ==> FileName Only = 'seq300000300.dat' +21-236-11:22:59.568 00 SCX_CPU1_DS_FI/777 s ftp_file(ramDir, seqFileName, seqFileName, hostCPU, "G") +21-236-11:22:59.568 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/ftp_file.i +21-236-11:22:59.569 00 SPR-I:STS Procedure FTP_FILE started +21-236-11:22:59.569 00 FTP_FILE/2 ; +21-236-11:22:59.569 00 FTP_FILE/3 local logging = %liv (log_procedure) +21-236-11:22:59.569 00 FTP_FILE/4 %liv (log_procedure) = FALSE +21-236-11:22:59.654 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-11:22:59.654 00 FTP_FILE/85 ENDPROC +21-236-11:22:59.654 00 SPR-I:STS Procedure FTP_FILE completed +21-236-11:22:59.654 00 SCX_CPU1_DS_FI/781 endif +21-236-11:22:59.654 00 SCX_CPU1_DS_FI/782 +21-236-11:22:59.654 00 SCX_CPU1_DS_FI/784 if (timeFileName <> "") then +21-236-11:22:59.654 00 SCX_CPU1_DS_FI/785 ut_setrequirements DS_3003, "A" +21-236-11:22:59.655 00 SCX_CPU1_DS_FI/786 ut_setrequirements DS_3004, "A" +21-236-11:22:59.656 00 SCX_CPU1_DS_FI/787 write "==> Downloading '",timeFileName,"'" +21-236-11:22:59.656 00 SPR-I:OPRO ==> Downloading '/ram/time31980012140639' +21-236-11:22:59.656 00 SCX_CPU1_DS_FI/788 slashLoc = %locate(timeFileName,"/") +21-236-11:22:59.656 00 SCX_CPU1_DS_FI/789 while (slashLoc <> 0) do +21-236-11:22:59.656 00 SCX_CPU1_DS_FI/790 timeFileName = %substring(timeFileName,slashLoc+1,%length(timeFileName)) +21-236-11:22:59.656 00 SCX_CPU1_DS_FI/791 slashLoc = %locate(timeFileName,"/") +21-236-11:22:59.656 00 SCX_CPU1_DS_FI/792 enddo +21-236-11:22:59.656 00 SCX_CPU1_DS_FI/790 timeFileName = %substring(timeFileName,slashLoc+1,%length(timeFileName)) +21-236-11:22:59.656 00 SCX_CPU1_DS_FI/791 slashLoc = %locate(timeFileName,"/") +21-236-11:22:59.657 00 SCX_CPU1_DS_FI/792 enddo +21-236-11:22:59.657 00 SCX_CPU1_DS_FI/793 write "==> FileName Only = '",timeFileName,"'" +21-236-11:22:59.657 00 SPR-I:OPRO ==> FileName Only = 'time31980012140639' +21-236-11:22:59.679 00 SCX_CPU1_DS_FI/796 s ftp_file(ramDir, timeFileName, timeFileName, hostCPU, "G") +21-236-11:22:59.681 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/ftp_file.i +21-236-11:22:59.681 00 SPR-I:STS Procedure FTP_FILE started +21-236-11:22:59.681 00 FTP_FILE/2 ; +21-236-11:22:59.681 00 FTP_FILE/3 local logging = %liv (log_procedure) +21-236-11:22:59.681 00 FTP_FILE/4 %liv (log_procedure) = FALSE +21-236-11:22:59.799 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-11:22:59.799 00 FTP_FILE/85 ENDPROC +21-236-11:22:59.799 00 SPR-I:STS Procedure FTP_FILE completed +21-236-11:22:59.799 00 SCX_CPU1_DS_FI/800 endif +21-236-11:22:59.799 00 SCX_CPU1_DS_FI/801 +21-236-11:22:59.799 00 SCX_CPU1_DS_FI/802 enddo +21-236-11:22:59.799 00 SCX_CPU1_DS_FI/728 for i = 0 to DS_FILTERS_PER_PACKET-1 do +21-236-11:22:59.799 00 SCX_CPU1_DS_FI/730 seqFileName = SCX_CPU1_DS_FileState[seqFileIDs[i]].FileName +21-236-11:22:59.800 00 SCX_CPU1_DS_FI/731 timeFileName = SCX_CPU1_DS_FileState[timeFileIDs[i]].FileName +21-236-11:22:59.800 00 SCX_CPU1_DS_FI/732 +21-236-11:22:59.800 00 SCX_CPU1_DS_FI/734 ut_setupevents "SCX", "CPU1", {DSAppName}, DS_CLOSE_CMD_EID, "DEBUG", 1 +21-236-11:22:59.802 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:22:59.802 00 SPR-I:OPRO ; Setup event 1 with DS DEBUG 59 +21-236-11:22:59.802 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:22:59.802 00 SCX_CPU1_DS_FI/735 +21-236-11:22:59.802 00 SCX_CPU1_DS_FI/736 cmdCtr = SCX_CPU1_DS_CMDPC + 2 +21-236-11:22:59.802 00 SCX_CPU1_DS_FI/738 /SCX_CPU1_DS_CloseFile FileIndex=seqFileIDs[i] +21-236-11:22:59.814 00 SCX_CPU1_DS_FI/739 /SCX_CPU1_DS_CloseFile FileIndex=timeFileIDs[i] +21-236-11:22:59.855 00 SCX_CPU1_DS_FI/740 +21-236-11:22:59.855 00 SCX_CPU1_DS_FI/741 ut_tlmwait SCX_CPU1_DS_CMDPC, {cmdCtr} +21-236-11:22:59.859 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:23:00.514 00 TLMH-I:STS 58-012-14:06:57.501 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=59 DEST CLOSE command: file table index = 3 +21-236-11:23:00.515 00 TLMH-I:STS 58-012-14:06:57.501 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=59 DEST CLOSE command: file table index = 7 +21-236-11:23:03.863 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:23:03.864 00 SCX_CPU1_DS_FI/742 if (UT_TW_Status = UT_Success) then +21-236-11:23:03.865 00 SCX_CPU1_DS_FI/743 write "<*> Passed (1004;5002) - DS Close File commands sent properly." +21-236-11:23:03.865 00 SPR-I:OPRO <*> Passed (1004;5002) - DS Close File commands sent properly. +21-236-11:23:03.865 00 SCX_CPU1_DS_FI/744 ut_setrequirements DS_1004, "P" +21-236-11:23:03.869 00 SCX_CPU1_DS_FI/745 ut_setrequirements DS_5002, "P" +21-236-11:23:03.872 00 SCX_CPU1_DS_FI/750 endif +21-236-11:23:03.872 00 SCX_CPU1_DS_FI/751 +21-236-11:23:03.872 00 SCX_CPU1_DS_FI/753 ut_tlmwait SCX_CPU1_find_event[1].num_found_messages, 2 +21-236-11:23:03.885 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:23:03.886 00 SCX_CPU1_DS_FI/754 if (UT_TW_Status = UT_Success) then +21-236-11:23:03.887 00 SCX_CPU1_DS_FI/755 write "<*> Passed (1004;5002) - Expected Event Msg ",DS_CLOSE_CMD_EID," rcv'd." +21-236-11:23:03.887 00 SPR-I:OPRO <*> Passed (1004;5002) - Expected Event Msg 59 rcv'd. +21-236-11:23:03.887 00 SCX_CPU1_DS_FI/756 ut_setrequirements DS_1004, "P" +21-236-11:23:03.924 00 SCX_CPU1_DS_FI/757 ut_setrequirements DS_5002, "P" +21-236-11:23:03.925 00 SCX_CPU1_DS_FI/762 endif +21-236-11:23:03.925 00 SCX_CPU1_DS_FI/763 +21-236-11:23:03.925 00 SCX_CPU1_DS_FI/765 if (seqFileName <> "") then +21-236-11:23:03.925 00 SCX_CPU1_DS_FI/766 ut_setrequirements DS_3003, "A" +21-236-11:23:03.926 00 SCX_CPU1_DS_FI/767 ut_setrequirements DS_3004, "A" +21-236-11:23:03.927 00 SCX_CPU1_DS_FI/768 write "==> Downloading '",seqFileName,"'" +21-236-11:23:03.927 00 SPR-I:OPRO ==> Downloading '/ram/seq400000400.dat' +21-236-11:23:03.927 00 SCX_CPU1_DS_FI/769 slashLoc = %locate(seqFileName,"/") +21-236-11:23:03.927 00 SCX_CPU1_DS_FI/770 while (slashLoc <> 0) do +21-236-11:23:03.927 00 SCX_CPU1_DS_FI/771 seqFileName = %substring(seqFileName,slashLoc+1,%length(seqFileName)) +21-236-11:23:03.927 00 SCX_CPU1_DS_FI/772 slashLoc = %locate(seqFileName,"/") +21-236-11:23:03.927 00 SCX_CPU1_DS_FI/773 enddo +21-236-11:23:03.927 00 SCX_CPU1_DS_FI/771 seqFileName = %substring(seqFileName,slashLoc+1,%length(seqFileName)) +21-236-11:23:03.927 00 SCX_CPU1_DS_FI/772 slashLoc = %locate(seqFileName,"/") +21-236-11:23:03.950 00 SCX_CPU1_DS_FI/773 enddo +21-236-11:23:03.950 00 SCX_CPU1_DS_FI/774 write "==> FileName Only = '",seqFileName,"'" +21-236-11:23:03.950 00 SPR-I:OPRO ==> FileName Only = 'seq400000400.dat' +21-236-11:23:03.950 00 SCX_CPU1_DS_FI/777 s ftp_file(ramDir, seqFileName, seqFileName, hostCPU, "G") +21-236-11:23:03.951 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/ftp_file.i +21-236-11:23:03.951 00 SPR-I:STS Procedure FTP_FILE started +21-236-11:23:03.951 00 FTP_FILE/2 ; +21-236-11:23:03.951 00 FTP_FILE/3 local logging = %liv (log_procedure) +21-236-11:23:03.951 00 FTP_FILE/4 %liv (log_procedure) = FALSE +21-236-11:23:04.044 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-11:23:04.044 00 FTP_FILE/85 ENDPROC +21-236-11:23:04.044 00 SPR-I:STS Procedure FTP_FILE completed +21-236-11:23:04.044 00 SCX_CPU1_DS_FI/781 endif +21-236-11:23:04.044 00 SCX_CPU1_DS_FI/782 +21-236-11:23:04.045 00 SCX_CPU1_DS_FI/784 if (timeFileName <> "") then +21-236-11:23:04.045 00 SCX_CPU1_DS_FI/785 ut_setrequirements DS_3003, "A" +21-236-11:23:04.046 00 SCX_CPU1_DS_FI/786 ut_setrequirements DS_3004, "A" +21-236-11:23:04.047 00 SCX_CPU1_DS_FI/787 write "==> Downloading '",timeFileName,"'" +21-236-11:23:04.047 00 SPR-I:OPRO ==> Downloading '/ram/time41980012140639' +21-236-11:23:04.047 00 SCX_CPU1_DS_FI/788 slashLoc = %locate(timeFileName,"/") +21-236-11:23:04.047 00 SCX_CPU1_DS_FI/789 while (slashLoc <> 0) do +21-236-11:23:04.047 00 SCX_CPU1_DS_FI/790 timeFileName = %substring(timeFileName,slashLoc+1,%length(timeFileName)) +21-236-11:23:04.047 00 SCX_CPU1_DS_FI/791 slashLoc = %locate(timeFileName,"/") +21-236-11:23:04.047 00 SCX_CPU1_DS_FI/792 enddo +21-236-11:23:04.047 00 SCX_CPU1_DS_FI/790 timeFileName = %substring(timeFileName,slashLoc+1,%length(timeFileName)) +21-236-11:23:04.048 00 SCX_CPU1_DS_FI/791 slashLoc = %locate(timeFileName,"/") +21-236-11:23:04.048 00 SCX_CPU1_DS_FI/792 enddo +21-236-11:23:04.048 00 SCX_CPU1_DS_FI/793 write "==> FileName Only = '",timeFileName,"'" +21-236-11:23:04.048 00 SPR-I:OPRO ==> FileName Only = 'time41980012140639' +21-236-11:23:04.073 00 SCX_CPU1_DS_FI/796 s ftp_file(ramDir, timeFileName, timeFileName, hostCPU, "G") +21-236-11:23:04.073 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/ftp_file.i +21-236-11:23:04.073 00 SPR-I:STS Procedure FTP_FILE started +21-236-11:23:04.073 00 FTP_FILE/2 ; +21-236-11:23:04.073 00 FTP_FILE/3 local logging = %liv (log_procedure) +21-236-11:23:04.073 00 FTP_FILE/4 %liv (log_procedure) = FALSE +21-236-11:23:04.180 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-11:23:04.180 00 FTP_FILE/85 ENDPROC +21-236-11:23:04.180 00 SPR-I:STS Procedure FTP_FILE completed +21-236-11:23:04.180 00 SCX_CPU1_DS_FI/800 endif +21-236-11:23:04.181 00 SCX_CPU1_DS_FI/801 +21-236-11:23:04.181 00 SCX_CPU1_DS_FI/802 enddo +21-236-11:23:04.181 00 SCX_CPU1_DS_FI/728 for i = 0 to DS_FILTERS_PER_PACKET-1 do +21-236-11:23:04.181 00 SCX_CPU1_DS_FI/803 +21-236-11:23:04.181 00 SCX_CPU1_DS_FI/805 cmdCtr = SCX_CPU1_DS_CMDPC + 1 +21-236-11:23:04.181 00 SCX_CPU1_DS_FI/806 +21-236-11:23:04.181 00 SCX_CPU1_DS_FI/807 /SCX_CPU1_DS_GetFileInfo +21-236-11:23:04.193 00 SCX_CPU1_DS_FI/808 +21-236-11:23:04.193 00 SCX_CPU1_DS_FI/809 ut_tlmwait SCX_CPU1_DS_CMDPC, {cmdCtr} +21-236-11:23:04.200 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:23:05.012 00 TLMH-I:STS 58-012-14:07:02.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-11:23:07.204 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:23:07.205 00 SCX_CPU1_DS_FI/810 +21-236-11:23:07.205 00 SCX_CPU1_DS_FI/811 wait 5 +21-236-11:23:07.206 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:23:12.209 00 SCX_CPU1_DS_FI/812 +21-236-11:23:12.209 00 SCX_CPU1_DS_FI/813 write ";***********************************************************************" +21-236-11:23:12.210 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:23:12.210 00 SCX_CPU1_DS_FI/814 write "; Step 2.4: Utilizing the TST_DS application, send 'N of X' messages " +21-236-11:23:12.210 00 SPR-I:OPRO ; Step 2.4: Utilizing the TST_DS application, send 'N of X' messages +21-236-11:23:12.210 00 SCX_CPU1_DS_FI/815 write "; to the DS application using an entry that specifies a single " +21-236-11:23:12.210 00 SPR-I:OPRO ; to the DS application using an entry that specifies a single +21-236-11:23:12.210 00 SCX_CPU1_DS_FI/816 write "; Destination File entry. " +21-236-11:23:12.210 00 SPR-I:OPRO ; Destination File entry. +21-236-11:23:12.210 00 SCX_CPU1_DS_FI/817 write ";***********************************************************************" +21-236-11:23:12.210 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:23:12.210 00 SCX_CPU1_DS_FI/818 write "; Step 2.4.1: Parse the tables to find an entry to use." +21-236-11:23:12.211 00 SPR-I:OPRO ; Step 2.4.1: Parse the tables to find an entry to use. +21-236-11:23:12.211 00 SCX_CPU1_DS_FI/819 write ";***********************************************************************" +21-236-11:23:12.211 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:23:12.211 00 SCX_CPU1_DS_FI/821 logging = %liv (log_procedure) +21-236-11:23:12.211 00 SCX_CPU1_DS_FI/822 %liv (log_procedure) = FALSE +21-236-11:23:12.306 00 SCX_CPU1_DS_FI/837 +21-236-11:23:12.306 00 SCX_CPU1_DS_FI/838 write "==> Found filter entry at ", filterEntry +21-236-11:23:12.306 00 SPR-I:OPRO ==> Found filter entry at 2 +21-236-11:23:12.306 00 SCX_CPU1_DS_FI/839 +21-236-11:23:12.306 00 SCX_CPU1_DS_FI/840 local oneMsgID = SCX_CPU1_DS_PF_TBL[filterEntry].MessageID +21-236-11:23:12.306 00 SCX_CPU1_DS_FI/841 local msgsToSend = SCX_CPU1_DS_PF_TBL[filterEntry].FilterParams[0].X_Value +21-236-11:23:12.306 00 SCX_CPU1_DS_FI/842 local msgsStored = SCX_CPU1_DS_PF_TBL[filterEntry].FilterParams[0].N_Value +21-236-11:23:12.306 00 SCX_CPU1_DS_FI/843 local storageOffset = SCX_CPU1_DS_PF_TBL[filterEntry].FilterParams[0].O_Value +21-236-11:23:12.306 00 SCX_CPU1_DS_FI/844 write "==> MsgID = '",%hex(oneMsgID,4),"' - N = ",msgsStored," X = ",msgsToSend," O = ",storageOffset +21-236-11:23:12.306 00 SPR-I:OPRO ==> MsgID = '0902' - N = 1 X = 3 O = 0 +21-236-11:23:12.306 00 SCX_CPU1_DS_FI/845 +21-236-11:23:12.306 00 SCX_CPU1_DS_FI/846 wait 5 +21-236-11:23:12.306 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:23:17.310 00 SCX_CPU1_DS_FI/847 +21-236-11:23:17.310 00 SCX_CPU1_DS_FI/848 write ";***********************************************************************" +21-236-11:23:17.310 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:23:17.310 00 SCX_CPU1_DS_FI/849 write "; Step 2.4.2: Send the TST_DS command to send X messages to DS. " +21-236-11:23:17.310 00 SPR-I:OPRO ; Step 2.4.2: Send the TST_DS command to send X messages to DS. +21-236-11:23:17.310 00 SCX_CPU1_DS_FI/850 write ";***********************************************************************" +21-236-11:23:17.311 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:23:17.311 00 SCX_CPU1_DS_FI/853 +21-236-11:23:17.311 00 SCX_CPU1_DS_FI/855 expPassedPkts = SCX_CPU1_DS_PassedPktCnt + msgsStored +21-236-11:23:17.311 00 SCX_CPU1_DS_FI/856 local expFilteredPkts = SCX_CPU1_DS_FilteredPktCnt + (msgsToSend - msgsStored) +21-236-11:23:17.311 00 SCX_CPU1_DS_FI/857 +21-236-11:23:17.311 00 SCX_CPU1_DS_FI/860 local expFileWrites = SCX_CPU1_DS_FileWriteCnt + 4 +21-236-11:23:17.312 00 SCX_CPU1_DS_FI/861 expFileWrites = expFileWrites + (msgsStored - 1) +21-236-11:23:17.312 00 SCX_CPU1_DS_FI/862 +21-236-11:23:17.312 00 SCX_CPU1_DS_FI/863 write "==> Passed Packet Cnt = ",SCX_CPU1_DS_PassedPktCnt," expected Cnt = ",expPassedPkts +21-236-11:23:17.312 00 SPR-I:OPRO ==> Passed Packet Cnt = 133 expected Cnt = 134 +21-236-11:23:17.312 00 SCX_CPU1_DS_FI/864 write "==> File Write Cnt = ",SCX_CPU1_DS_FileWriteCnt," expected Cnt = ",expFileWrites +21-236-11:23:17.313 00 SPR-I:OPRO ==> File Write Cnt = 334 expected Cnt = 338 +21-236-11:23:17.313 00 SCX_CPU1_DS_FI/865 +21-236-11:23:17.313 00 SCX_CPU1_DS_FI/868 ut_setupevents "SCX", "CPU1", "TST_DS", TST_DS_MSG1_SENT_INF_EID, "INFO", 1 +21-236-11:23:17.316 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:23:17.317 00 SPR-I:OPRO ; Setup event 1 with TST_DS INFO 5 +21-236-11:23:17.317 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:23:17.317 00 SCX_CPU1_DS_FI/869 +21-236-11:23:17.317 00 SCX_CPU1_DS_FI/870 local dataPattern = 0 +21-236-11:23:17.317 00 SCX_CPU1_DS_FI/871 for i = 1 to msgsToSend do +21-236-11:23:17.317 00 SCX_CPU1_DS_FI/873 dataPattern = i +21-236-11:23:17.317 00 SCX_CPU1_DS_FI/875 /SCX_CPU1_TST_DS_SENDMESSAGE MsgID=oneMsgID MsgType=1 Pattern=dataPattern +21-236-11:23:17.328 00 SCX_CPU1_DS_FI/876 wait 5 +21-236-11:23:17.328 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:23:18.018 00 TLMH-I:STS 58-012-14:07:15.001 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Message Size 116 to MID 0x00000902 +21-236-11:23:22.332 00 SCX_CPU1_DS_FI/877 enddo +21-236-11:23:22.333 00 SCX_CPU1_DS_FI/871 for i = 1 to msgsToSend do +21-236-11:23:22.333 00 SCX_CPU1_DS_FI/873 dataPattern = i +21-236-11:23:22.333 00 SCX_CPU1_DS_FI/875 /SCX_CPU1_TST_DS_SENDMESSAGE MsgID=oneMsgID MsgType=1 Pattern=dataPattern +21-236-11:23:22.348 00 SCX_CPU1_DS_FI/876 wait 5 +21-236-11:23:22.348 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:23:23.019 00 TLMH-I:STS 58-012-14:07:20.004 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Message Size 116 to MID 0x00000902 +21-236-11:23:23.109 00 SPR-I:OPRI --> native "cmdbrowse -console 1 &" +21-236-11:23:27.371 00 SCX_CPU1_DS_FI/877 enddo +21-236-11:23:27.372 00 SCX_CPU1_DS_FI/871 for i = 1 to msgsToSend do +21-236-11:23:27.372 00 SCX_CPU1_DS_FI/873 dataPattern = i +21-236-11:23:27.372 00 SCX_CPU1_DS_FI/875 /SCX_CPU1_TST_DS_SENDMESSAGE MsgID=oneMsgID MsgType=1 Pattern=dataPattern +21-236-11:23:27.383 00 SCX_CPU1_DS_FI/876 wait 5 +21-236-11:23:27.383 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:23:28.016 00 TLMH-I:STS 58-012-14:07:25.002 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Message Size 116 to MID 0x00000902 +21-236-11:23:32.387 00 SCX_CPU1_DS_FI/877 enddo +21-236-11:23:32.387 00 SCX_CPU1_DS_FI/871 for i = 1 to msgsToSend do +21-236-11:23:32.387 00 SCX_CPU1_DS_FI/878 +21-236-11:23:32.387 00 SCX_CPU1_DS_FI/880 if (SCX_CPU1_find_event[1].num_found_messages = msgsToSend) then +21-236-11:23:32.388 00 SCX_CPU1_DS_FI/881 write "<*> Passed - Rcv'd the expected number of Send events." +21-236-11:23:32.388 00 SPR-I:OPRO <*> Passed - Rcv'd the expected number of Send events. +21-236-11:23:32.388 00 SCX_CPU1_DS_FI/884 endif +21-236-11:23:32.388 00 SCX_CPU1_DS_FI/885 +21-236-11:23:32.388 00 SCX_CPU1_DS_FI/888 if (expPassedPkts = SCX_CPU1_DS_PassedPktCnt) AND ;; +21-236-11:23:32.388 00 SCX_CPU1_DS_FI/889 (expFilteredPkts = SCX_CPU1_DS_FilteredPktCnt) AND ;; +21-236-11:23:32.388 00 SCX_CPU1_DS_FI/890 (expFileWrites = SCX_CPU1_DS_FileWriteCnt) then +21-236-11:23:32.388 00 SCX_CPU1_DS_FI/891 write "<*> Passed (2000) - Counters incremented properly." +21-236-11:23:32.388 00 SPR-I:OPRO <*> Passed (2000) - Counters incremented properly. +21-236-11:23:32.388 00 SCX_CPU1_DS_FI/892 ut_setrequirements DS_2000, "P" +21-236-11:23:32.390 00 SCX_CPU1_DS_FI/896 endif +21-236-11:23:32.390 00 SCX_CPU1_DS_FI/897 +21-236-11:23:32.390 00 SCX_CPU1_DS_FI/899 cmdCtr = SCX_CPU1_DS_CMDPC + 1 +21-236-11:23:32.390 00 SCX_CPU1_DS_FI/900 +21-236-11:23:32.390 00 SCX_CPU1_DS_FI/901 /SCX_CPU1_DS_GetFileInfo +21-236-11:23:32.403 00 SCX_CPU1_DS_FI/902 +21-236-11:23:32.403 00 SCX_CPU1_DS_FI/903 ut_tlmwait SCX_CPU1_DS_CMDPC, {cmdCtr} +21-236-11:23:32.406 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:23:33.014 00 TLMH-I:STS 58-012-14:07:30.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-11:23:35.409 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:23:35.411 00 SCX_CPU1_DS_FI/904 +21-236-11:23:35.411 00 SCX_CPU1_DS_FI/906 local fileTblEntry = SCX_CPU1_DS_PF_TBL[filterEntry].FilterParams[0].Index +21-236-11:23:35.412 00 SCX_CPU1_DS_FI/907 if (SCX_CPU1_DS_FileState[fileTblEntry].FileName <> "") then +21-236-11:23:35.412 00 SCX_CPU1_DS_FI/908 fileName = SCX_CPU1_DS_FileState[fileTblEntry].FileName +21-236-11:23:35.412 00 SCX_CPU1_DS_FI/909 write "<*> Passed (2002.1;3000) - A file was created with name '",fileName,"'" +21-236-11:23:35.413 00 SPR-I:OPRO <*> Passed (2002.1;3000) - A file was created with name '/ram/seq100000101.dat' +21-236-11:23:35.413 00 SCX_CPU1_DS_FI/910 ut_setrequirements DS_20021, "P" +21-236-11:23:35.416 00 SCX_CPU1_DS_FI/911 ut_setrequirements DS_3000, "P" +21-236-11:23:35.418 00 SCX_CPU1_DS_FI/916 endif +21-236-11:23:35.418 00 SCX_CPU1_DS_FI/917 +21-236-11:23:35.418 00 SCX_CPU1_DS_FI/918 wait 5 +21-236-11:23:35.418 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:23:40.422 00 SCX_CPU1_DS_FI/919 +21-236-11:23:40.423 00 SCX_CPU1_DS_FI/920 write ";***********************************************************************" +21-236-11:23:40.423 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:23:40.423 00 SCX_CPU1_DS_FI/921 write "; Step 2.5: Close the Destination File opened in the above step." +21-236-11:23:40.423 00 SPR-I:OPRO ; Step 2.5: Close the Destination File opened in the above step. +21-236-11:23:40.423 00 SCX_CPU1_DS_FI/922 write ";***********************************************************************" +21-236-11:23:40.423 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:23:40.423 00 SCX_CPU1_DS_FI/924 ut_setupevents "SCX", "CPU1", {DSAppName}, DS_CLOSE_CMD_EID, "DEBUG", 1 +21-236-11:23:40.427 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:23:40.428 00 SPR-I:OPRO ; Setup event 1 with DS DEBUG 59 +21-236-11:23:40.428 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:23:40.428 00 SCX_CPU1_DS_FI/925 +21-236-11:23:40.428 00 SCX_CPU1_DS_FI/926 cmdCtr = SCX_CPU1_DS_CMDPC + 1 +21-236-11:23:40.428 00 SCX_CPU1_DS_FI/928 /SCX_CPU1_DS_CloseFile FileIndex=fileTblEntry +21-236-11:23:40.439 00 SCX_CPU1_DS_FI/929 +21-236-11:23:40.439 00 SCX_CPU1_DS_FI/930 ut_tlmwait SCX_CPU1_DS_CMDPC, {cmdCtr} +21-236-11:23:40.442 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:23:41.011 00 TLMH-I:STS 58-012-14:07:38.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=59 DEST CLOSE command: file table index = 0 +21-236-11:23:43.445 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:23:43.446 00 SCX_CPU1_DS_FI/931 if (UT_TW_Status = UT_Success) then +21-236-11:23:43.447 00 SCX_CPU1_DS_FI/932 write "<*> Passed (1004;5002) - DS Close File command sent properly." +21-236-11:23:43.447 00 SPR-I:OPRO <*> Passed (1004;5002) - DS Close File command sent properly. +21-236-11:23:43.447 00 SCX_CPU1_DS_FI/933 ut_setrequirements DS_1004, "P" +21-236-11:23:43.451 00 SCX_CPU1_DS_FI/934 ut_setrequirements DS_5002, "P" +21-236-11:23:43.454 00 SCX_CPU1_DS_FI/939 endif +21-236-11:23:43.454 00 SCX_CPU1_DS_FI/940 +21-236-11:23:43.454 00 SCX_CPU1_DS_FI/942 ut_tlmwait SCX_CPU1_find_event[1].num_found_messages, 1 +21-236-11:23:43.466 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:23:43.467 00 SCX_CPU1_DS_FI/943 if (UT_TW_Status = UT_Success) then +21-236-11:23:43.468 00 SCX_CPU1_DS_FI/944 write "<*> Passed (1004;5002) - Expected Event Msg ",DS_CLOSE_CMD_EID," rcv'd." +21-236-11:23:43.468 00 SPR-I:OPRO <*> Passed (1004;5002) - Expected Event Msg 59 rcv'd. +21-236-11:23:43.468 00 SCX_CPU1_DS_FI/945 ut_setrequirements DS_1004, "P" +21-236-11:23:43.505 00 SCX_CPU1_DS_FI/946 ut_setrequirements DS_5002, "P" +21-236-11:23:43.506 00 SCX_CPU1_DS_FI/951 endif +21-236-11:23:43.506 00 SCX_CPU1_DS_FI/952 +21-236-11:23:43.506 00 SCX_CPU1_DS_FI/954 if (fileName <> "") then +21-236-11:23:43.506 00 SCX_CPU1_DS_FI/955 ut_setrequirements DS_2001, "A" +21-236-11:23:43.507 00 SCX_CPU1_DS_FI/956 write "==> Downloading '",fileName,"'" +21-236-11:23:43.507 00 SPR-I:OPRO ==> Downloading '/ram/seq100000101.dat' +21-236-11:23:43.507 00 SCX_CPU1_DS_FI/957 slashLoc = %locate(fileName,"/") +21-236-11:23:43.507 00 SCX_CPU1_DS_FI/958 while (slashLoc <> 0) do +21-236-11:23:43.507 00 SCX_CPU1_DS_FI/959 fileName = %substring(fileName,slashLoc+1,%length(fileName)) +21-236-11:23:43.507 00 SCX_CPU1_DS_FI/960 slashLoc = %locate(fileName,"/") +21-236-11:23:43.507 00 SCX_CPU1_DS_FI/961 enddo +21-236-11:23:43.507 00 SCX_CPU1_DS_FI/959 fileName = %substring(fileName,slashLoc+1,%length(fileName)) +21-236-11:23:43.507 00 SCX_CPU1_DS_FI/960 slashLoc = %locate(fileName,"/") +21-236-11:23:43.507 00 SCX_CPU1_DS_FI/961 enddo +21-236-11:23:43.507 00 SCX_CPU1_DS_FI/962 write "==> FileName Only = '",fileName,"'" +21-236-11:23:43.507 00 SPR-I:OPRO ==> FileName Only = 'seq100000101.dat' +21-236-11:23:43.523 00 SCX_CPU1_DS_FI/965 s ftp_file(ramDir, fileName, fileName, hostCPU, "G") +21-236-11:23:43.524 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/ftp_file.i +21-236-11:23:43.524 00 SPR-I:STS Procedure FTP_FILE started +21-236-11:23:43.524 00 FTP_FILE/2 ; +21-236-11:23:43.524 00 FTP_FILE/3 local logging = %liv (log_procedure) +21-236-11:23:43.524 00 FTP_FILE/4 %liv (log_procedure) = FALSE +21-236-11:23:43.611 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-11:23:43.611 00 FTP_FILE/85 ENDPROC +21-236-11:23:43.611 00 SPR-I:STS Procedure FTP_FILE completed +21-236-11:23:43.612 00 SCX_CPU1_DS_FI/968 endif +21-236-11:23:43.612 00 SCX_CPU1_DS_FI/969 +21-236-11:23:43.612 00 SCX_CPU1_DS_FI/970 wait 5 +21-236-11:23:43.612 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:23:48.616 00 SCX_CPU1_DS_FI/971 +21-236-11:23:48.616 00 SCX_CPU1_DS_FI/972 write ";*********************************************************************" +21-236-11:23:48.616 00 SPR-I:OPRO ;********************************************************************* +21-236-11:23:48.616 00 SCX_CPU1_DS_FI/973 write "; Step 2.6: Send the Set Filter Parameter for a Packet Filter Table " +21-236-11:23:48.616 00 SPR-I:OPRO ; Step 2.6: Send the Set Filter Parameter for a Packet Filter Table +21-236-11:23:48.616 00 SCX_CPU1_DS_FI/974 write "; entry command specifying a different N_Value. " +21-236-11:23:48.616 00 SPR-I:OPRO ; entry command specifying a different N_Value. +21-236-11:23:48.617 00 SCX_CPU1_DS_FI/975 write ";*********************************************************************" +21-236-11:23:48.617 00 SPR-I:OPRO ;********************************************************************* +21-236-11:23:48.617 00 SCX_CPU1_DS_FI/976 ut_setupevents "SCX", "CPU1", {DSAppName}, DS_PARMS_CMD_EID, "DEBUG", 1 +21-236-11:23:48.624 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:23:48.624 00 SPR-I:OPRO ; Setup event 1 with DS DEBUG 41 +21-236-11:23:48.624 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:23:48.625 00 SCX_CPU1_DS_FI/977 +21-236-11:23:48.625 00 SCX_CPU1_DS_FI/979 msgsStored = msgsStored + 1 +21-236-11:23:48.625 00 SCX_CPU1_DS_FI/980 +21-236-11:23:48.625 00 SCX_CPU1_DS_FI/981 cmdCtr = SCX_CPU1_DS_CMDPC + 1 +21-236-11:23:48.626 00 SCX_CPU1_DS_FI/983 /SCX_CPU1_DS_SetFilterParams MessageID=oneMsgID ParamIndex=0 N_Value=msgsStored X_Value=msgsToSend O_Value=storageOffset +21-236-11:23:48.642 00 SCX_CPU1_DS_FI/984 +21-236-11:23:48.642 00 SCX_CPU1_DS_FI/985 ut_tlmwait SCX_CPU1_DS_CMDPC, {cmdCtr} +21-236-11:23:48.652 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:23:49.514 00 TLMH-I:STS 58-012-14:07:46.502 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=41 FILTER PARMS command: MID = 0x00000902, index = 2, filter = 0, N = 2, X = 3, O = 0 +21-236-11:23:51.656 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:23:51.658 00 SCX_CPU1_DS_FI/986 if (UT_TW_Status = UT_Success) then +21-236-11:23:51.658 00 SCX_CPU1_DS_FI/987 write "<*> Passed (1004;5010) - DS Set Filter Parameters command sent properly." +21-236-11:23:51.658 00 SPR-I:OPRO <*> Passed (1004;5010) - DS Set Filter Parameters command sent properly. +21-236-11:23:51.658 00 SCX_CPU1_DS_FI/988 ut_setrequirements DS_1004, "P" +21-236-11:23:51.663 00 SCX_CPU1_DS_FI/989 ut_setrequirements DS_5010, "P" +21-236-11:23:51.666 00 SCX_CPU1_DS_FI/994 endif +21-236-11:23:51.666 00 SCX_CPU1_DS_FI/995 +21-236-11:23:51.666 00 SCX_CPU1_DS_FI/997 ut_tlmwait SCX_CPU1_find_event[1].num_found_messages, 1 +21-236-11:23:51.678 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:23:51.680 00 SCX_CPU1_DS_FI/998 if (UT_TW_Status = UT_Success) then +21-236-11:23:51.680 00 SCX_CPU1_DS_FI/999 write "<*> Passed (1004;5010) - Expected Event Msg ",DS_PARMS_CMD_EID," rcv'd." +21-236-11:23:51.681 00 SPR-I:OPRO <*> Passed (1004;5010) - Expected Event Msg 41 rcv'd. +21-236-11:23:51.681 00 SCX_CPU1_DS_FI/1000 ut_setrequirements DS_1004, "P" +21-236-11:23:51.720 00 SCX_CPU1_DS_FI/1001 ut_setrequirements DS_5010, "P" +21-236-11:23:51.721 00 SCX_CPU1_DS_FI/1006 endif +21-236-11:23:51.721 00 SCX_CPU1_DS_FI/1007 +21-236-11:23:51.721 00 SCX_CPU1_DS_FI/1008 wait 5 +21-236-11:23:51.721 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:23:56.725 00 SCX_CPU1_DS_FI/1009 +21-236-11:23:56.725 00 SCX_CPU1_DS_FI/1010 write ";***********************************************************************" +21-236-11:23:56.725 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:23:56.725 00 SCX_CPU1_DS_FI/1011 write "; Step 2.7: Dump the Packet Filter Table. " +21-236-11:23:56.725 00 SPR-I:OPRO ; Step 2.7: Dump the Packet Filter Table. +21-236-11:23:56.725 00 SCX_CPU1_DS_FI/1012 write ";***********************************************************************" +21-236-11:23:56.725 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:23:56.725 00 SCX_CPU1_DS_FI/1014 s get_tbl_to_cvt (ramDir,filterTblName,"A","cpu1_filtertbl27",hostCPU,filterTblPktId) +21-236-11:23:56.726 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/get_tbl_to_cvt.i +21-236-11:23:56.730 00 SPR-I:STS Procedure GET_TBL_TO_CVT started +21-236-11:23:56.730 00 GET_TBL_TO_CVT/2 ; +21-236-11:23:56.731 00 GET_TBL_TO_CVT/3 local logging = %liv (log_procedure) +21-236-11:23:56.731 00 GET_TBL_TO_CVT/4 %liv (log_procedure) = FALSE +21-236-11:23:56.750 00 SPR-I:OPRO Sending Command: /SCX_CPU1_TBL_DUMP ACTIVE DTABLENAME="DS.FILTER_TBL" DFILENAME="/ram/cpu1_filtertbl27" +21-236-11:23:56.754 00 SPR-I:STTE Wait mode - waiting 15 seconds ... +21-236-11:23:57.512 00 TLMH-I:STS 58-012-14:07:54.503 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=14 Successfully dumped Table 'DS.FILTER_TBL' to '/ram/cpu1_filtertbl27' +21-236-11:24:11.765 00 SPR-I:OPRO +21-236-11:24:11.765 00 SPR-I:OPRO The TBLNAME is: DS.FILTER_TBL +21-236-11:24:11.765 00 SPR-I:OPRO The APID is: P0F77 +21-236-11:24:11.765 00 SPR-I:OPRO The CPU is: CPU3 +21-236-11:24:11.765 00 SPR-I:OPRO The IP Address is: 192.168.1.8 +21-236-11:24:11.767 00 SPR-I:OPRO The perl command is: perl /s/opr/accounts/global/tools/ftp.pl RAM:0 cpu1_filtertbl27 cpu1_filtertbl27 binary 192.168.1.8 +21-236-11:24:11.907 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-11:24:11.907 00 SPR-I:STTE Wait mode - waiting 15 seconds ... +21-236-11:24:26.918 00 SPR-I:OPRO +21-236-11:24:26.932 00 SPR-I:OPRO The unix command is cvt -ws file_list[3959].file_write_time "`date +%y-%j-%T -r /s/opr/accounts/cfs_test/image/cpu1_filtertbl27`" +21-236-11:24:26.932 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:24:31.937 00 GET_TBL_TO_CVT/238 +21-236-11:24:31.937 00 GET_TBL_TO_CVT/239 ENDPROC +21-236-11:24:31.937 00 SPR-I:STS Procedure GET_TBL_TO_CVT completed +21-236-11:24:31.938 00 SCX_CPU1_DS_FI/1015 +21-236-11:24:31.938 00 SCX_CPU1_DS_FI/1017 if (SCX_CPU1_DS_PF_TBL[filterEntry].FilterParams[0].N_Value = msgsStored) AND ;; +21-236-11:24:31.938 00 SCX_CPU1_DS_FI/1018 (SCX_CPU1_DS_PF_TBL[filterEntry].FilterParams[0].X_Value = msgsToSend) AND ;; +21-236-11:24:31.938 00 SCX_CPU1_DS_FI/1019 (SCX_CPU1_DS_PF_TBL[filterEntry].FilterParams[0].O_Value = storageOffset) then +21-236-11:24:31.940 00 SCX_CPU1_DS_FI/1020 write "<*> Passed (5010) - Parameter changes are reflected in the table." +21-236-11:24:31.940 00 SPR-I:OPRO <*> Passed (5010) - Parameter changes are reflected in the table. +21-236-11:24:31.940 00 SCX_CPU1_DS_FI/1021 ut_setrequirements DS_5010, "P" +21-236-11:24:31.943 00 SCX_CPU1_DS_FI/1025 endif +21-236-11:24:31.943 00 SCX_CPU1_DS_FI/1026 +21-236-11:24:31.943 00 SCX_CPU1_DS_FI/1027 wait 5 +21-236-11:24:31.943 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:24:36.947 00 SCX_CPU1_DS_FI/1028 +21-236-11:24:36.947 00 SCX_CPU1_DS_FI/1029 write ";***********************************************************************" +21-236-11:24:36.947 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:24:36.947 00 SCX_CPU1_DS_FI/1030 write "; Step 2.8: Utilizing the TST_DS application, send 'N of X' messages " +21-236-11:24:36.947 00 SPR-I:OPRO ; Step 2.8: Utilizing the TST_DS application, send 'N of X' messages +21-236-11:24:36.947 00 SCX_CPU1_DS_FI/1031 write "; to the DS application using the entry modified above. " +21-236-11:24:36.947 00 SPR-I:OPRO ; to the DS application using the entry modified above. +21-236-11:24:36.947 00 SCX_CPU1_DS_FI/1032 write ";***********************************************************************" +21-236-11:24:36.947 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:24:36.948 00 SCX_CPU1_DS_FI/1035 write "==> MsgID = '",%hex(oneMsgID,4),"' - N = ",msgsStored," X = ",msgsToSend," O = ",storageOffset +21-236-11:24:36.948 00 SPR-I:OPRO ==> MsgID = '0902' - N = 2 X = 3 O = 0 +21-236-11:24:36.948 00 SCX_CPU1_DS_FI/1036 +21-236-11:24:36.948 00 SCX_CPU1_DS_FI/1038 expPassedPkts = SCX_CPU1_DS_PassedPktCnt + msgsStored +21-236-11:24:36.948 00 SCX_CPU1_DS_FI/1039 expFilteredPkts = SCX_CPU1_DS_FilteredPktCnt + (msgsToSend - msgsStored) +21-236-11:24:36.949 00 SCX_CPU1_DS_FI/1040 +21-236-11:24:36.949 00 SCX_CPU1_DS_FI/1043 local expFileWrites = SCX_CPU1_DS_FileWriteCnt + 4 +21-236-11:24:36.949 00 SCX_CPU1_DS_FI/1044 expFileWrites = expFileWrites + (msgsStored - 1) +21-236-11:24:36.949 00 SCX_CPU1_DS_FI/1045 +21-236-11:24:36.949 00 SCX_CPU1_DS_FI/1046 write "==> Passed Packet Cnt = ",SCX_CPU1_DS_PassedPktCnt," expected Cnt = ",expPassedPkts +21-236-11:24:36.950 00 SPR-I:OPRO ==> Passed Packet Cnt = 134 expected Cnt = 136 +21-236-11:24:36.950 00 SCX_CPU1_DS_FI/1047 write "==> File Write Cnt = ",SCX_CPU1_DS_FileWriteCnt," expected Cnt = ",expFileWrites +21-236-11:24:36.950 00 SPR-I:OPRO ==> File Write Cnt = 338 expected Cnt = 343 +21-236-11:24:36.950 00 SCX_CPU1_DS_FI/1048 +21-236-11:24:36.950 00 SCX_CPU1_DS_FI/1051 ut_setupevents "SCX", "CPU1", "TST_DS", TST_DS_MSG1_SENT_INF_EID, "INFO", 1 +21-236-11:24:36.957 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:24:36.958 00 SPR-I:OPRO ; Setup event 1 with TST_DS INFO 5 +21-236-11:24:36.958 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:24:36.959 00 SCX_CPU1_DS_FI/1052 +21-236-11:24:36.959 00 SCX_CPU1_DS_FI/1053 for i = 1 to msgsToSend do +21-236-11:24:36.959 00 SCX_CPU1_DS_FI/1055 dataPattern = %hex(i,2) +21-236-11:24:36.960 00 SCX_CPU1_DS_FI/1057 /SCX_CPU1_TST_DS_SENDMESSAGE MsgID=oneMsgID MsgType=1 Pattern=dataPattern +21-236-11:24:36.965 00 SCX_CPU1_DS_FI/1058 wait 5 +21-236-11:24:36.965 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:24:37.511 00 TLMH-I:STS 58-012-14:08:34.502 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Message Size 116 to MID 0x00000902 +21-236-11:24:41.970 00 SCX_CPU1_DS_FI/1059 enddo +21-236-11:24:41.970 00 SCX_CPU1_DS_FI/1053 for i = 1 to msgsToSend do +21-236-11:24:41.971 00 SCX_CPU1_DS_FI/1055 dataPattern = %hex(i,2) +21-236-11:24:41.971 00 SCX_CPU1_DS_FI/1057 /SCX_CPU1_TST_DS_SENDMESSAGE MsgID=oneMsgID MsgType=1 Pattern=dataPattern +21-236-11:24:41.986 00 SCX_CPU1_DS_FI/1058 wait 5 +21-236-11:24:41.986 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:24:42.519 00 TLMH-I:STS 58-012-14:08:39.500 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Message Size 116 to MID 0x00000902 +21-236-11:24:46.990 00 SCX_CPU1_DS_FI/1059 enddo +21-236-11:24:46.990 00 SCX_CPU1_DS_FI/1053 for i = 1 to msgsToSend do +21-236-11:24:46.991 00 SCX_CPU1_DS_FI/1055 dataPattern = %hex(i,2) +21-236-11:24:46.991 00 SCX_CPU1_DS_FI/1057 /SCX_CPU1_TST_DS_SENDMESSAGE MsgID=oneMsgID MsgType=1 Pattern=dataPattern +21-236-11:24:47.006 00 SCX_CPU1_DS_FI/1058 wait 5 +21-236-11:24:47.006 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:24:47.517 00 TLMH-I:STS 58-012-14:08:44.500 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Message Size 116 to MID 0x00000902 +21-236-11:24:52.009 00 SCX_CPU1_DS_FI/1059 enddo +21-236-11:24:52.009 00 SCX_CPU1_DS_FI/1053 for i = 1 to msgsToSend do +21-236-11:24:52.009 00 SCX_CPU1_DS_FI/1060 +21-236-11:24:52.009 00 SCX_CPU1_DS_FI/1062 if (SCX_CPU1_find_event[1].num_found_messages = msgsToSend) then +21-236-11:24:52.009 00 SCX_CPU1_DS_FI/1063 write "<*> Passed - Rcv'd the expected number of Send events." +21-236-11:24:52.009 00 SPR-I:OPRO <*> Passed - Rcv'd the expected number of Send events. +21-236-11:24:52.009 00 SCX_CPU1_DS_FI/1066 endif +21-236-11:24:52.009 00 SCX_CPU1_DS_FI/1067 +21-236-11:24:52.009 00 SCX_CPU1_DS_FI/1070 if (expPassedPkts = SCX_CPU1_DS_PassedPktCnt) AND ;; +21-236-11:24:52.009 00 SCX_CPU1_DS_FI/1071 (expFilteredPkts = SCX_CPU1_DS_FilteredPktCnt) AND ;; +21-236-11:24:52.009 00 SCX_CPU1_DS_FI/1072 (expFileWrites = SCX_CPU1_DS_FileWriteCnt) then +21-236-11:24:52.009 00 SCX_CPU1_DS_FI/1073 write "<*> Passed (2000) - Counters incremented properly." +21-236-11:24:52.010 00 SPR-I:OPRO <*> Passed (2000) - Counters incremented properly. +21-236-11:24:52.010 00 SCX_CPU1_DS_FI/1074 ut_setrequirements DS_2000, "P" +21-236-11:24:52.011 00 SCX_CPU1_DS_FI/1078 endif +21-236-11:24:52.011 00 SCX_CPU1_DS_FI/1079 +21-236-11:24:52.011 00 SCX_CPU1_DS_FI/1081 cmdCtr = SCX_CPU1_DS_CMDPC + 1 +21-236-11:24:52.011 00 SCX_CPU1_DS_FI/1082 +21-236-11:24:52.011 00 SCX_CPU1_DS_FI/1083 /SCX_CPU1_DS_GetFileInfo +21-236-11:24:52.013 00 SCX_CPU1_DS_FI/1084 +21-236-11:24:52.013 00 SCX_CPU1_DS_FI/1085 ut_tlmwait SCX_CPU1_DS_CMDPC, {cmdCtr} +21-236-11:24:52.015 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:24:52.509 00 TLMH-I:STS 58-012-14:08:49.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-11:24:55.017 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:24:55.018 00 SCX_CPU1_DS_FI/1086 +21-236-11:24:55.018 00 SCX_CPU1_DS_FI/1088 fileTblEntry = SCX_CPU1_DS_PF_TBL[filterEntry].FilterParams[0].Index +21-236-11:24:55.018 00 SCX_CPU1_DS_FI/1089 if (SCX_CPU1_DS_FileState[fileTblEntry].FileName <> "") then +21-236-11:24:55.019 00 SCX_CPU1_DS_FI/1090 fileName = SCX_CPU1_DS_FileState[fileTblEntry].FileName +21-236-11:24:55.019 00 SCX_CPU1_DS_FI/1091 write "<*> Passed (2002.1;3000) - A file was created with name '",fileName,"'" +21-236-11:24:55.019 00 SPR-I:OPRO <*> Passed (2002.1;3000) - A file was created with name '/ram/seq100000102.dat' +21-236-11:24:55.019 00 SCX_CPU1_DS_FI/1092 ut_setrequirements DS_20021, "P" +21-236-11:24:55.023 00 SCX_CPU1_DS_FI/1093 ut_setrequirements DS_3000, "P" +21-236-11:24:55.026 00 SCX_CPU1_DS_FI/1098 endif +21-236-11:24:55.027 00 SCX_CPU1_DS_FI/1099 +21-236-11:24:55.027 00 SCX_CPU1_DS_FI/1100 wait 5 +21-236-11:24:55.027 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:25:00.031 00 SCX_CPU1_DS_FI/1101 +21-236-11:25:00.031 00 SCX_CPU1_DS_FI/1102 write ";***********************************************************************" +21-236-11:25:00.031 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:25:00.031 00 SCX_CPU1_DS_FI/1103 write "; Step 2.9: Close the Destination File opened in the above step." +21-236-11:25:00.031 00 SPR-I:OPRO ; Step 2.9: Close the Destination File opened in the above step. +21-236-11:25:00.031 00 SCX_CPU1_DS_FI/1104 write ";***********************************************************************" +21-236-11:25:00.031 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:25:00.032 00 SCX_CPU1_DS_FI/1106 ut_setupevents "SCX", "CPU1", {DSAppName}, DS_CLOSE_CMD_EID, "DEBUG", 1 +21-236-11:25:00.040 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:25:00.041 00 SPR-I:OPRO ; Setup event 1 with DS DEBUG 59 +21-236-11:25:00.041 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:25:00.042 00 SCX_CPU1_DS_FI/1107 +21-236-11:25:00.042 00 SCX_CPU1_DS_FI/1108 cmdCtr = SCX_CPU1_DS_CMDPC + 1 +21-236-11:25:00.042 00 SCX_CPU1_DS_FI/1110 /SCX_CPU1_DS_CloseFile FileIndex=fileTblEntry +21-236-11:25:00.055 00 SCX_CPU1_DS_FI/1111 +21-236-11:25:00.055 00 SCX_CPU1_DS_FI/1112 ut_tlmwait SCX_CPU1_DS_CMDPC, {cmdCtr} +21-236-11:25:00.059 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:25:00.520 00 TLMH-I:STS 58-012-14:08:57.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=59 DEST CLOSE command: file table index = 0 +21-236-11:25:03.062 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:25:03.063 00 SCX_CPU1_DS_FI/1113 if (UT_TW_Status = UT_Success) then +21-236-11:25:03.064 00 SCX_CPU1_DS_FI/1114 write "<*> Passed (1004;5002) - DS Close File command sent properly." +21-236-11:25:03.064 00 SPR-I:OPRO <*> Passed (1004;5002) - DS Close File command sent properly. +21-236-11:25:03.064 00 SCX_CPU1_DS_FI/1115 ut_setrequirements DS_1004, "P" +21-236-11:25:03.067 00 SCX_CPU1_DS_FI/1116 ut_setrequirements DS_5002, "P" +21-236-11:25:03.069 00 SCX_CPU1_DS_FI/1121 endif +21-236-11:25:03.069 00 SCX_CPU1_DS_FI/1122 +21-236-11:25:03.069 00 SCX_CPU1_DS_FI/1124 ut_tlmwait SCX_CPU1_find_event[1].num_found_messages, 1 +21-236-11:25:03.072 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:25:03.072 00 SCX_CPU1_DS_FI/1125 if (UT_TW_Status = UT_Success) then +21-236-11:25:03.072 00 SCX_CPU1_DS_FI/1126 write "<*> Passed (1004;5002) - Expected Event Msg ",DS_CLOSE_CMD_EID," rcv'd." +21-236-11:25:03.072 00 SPR-I:OPRO <*> Passed (1004;5002) - Expected Event Msg 59 rcv'd. +21-236-11:25:03.072 00 SCX_CPU1_DS_FI/1127 ut_setrequirements DS_1004, "P" +21-236-11:25:03.095 00 SCX_CPU1_DS_FI/1128 ut_setrequirements DS_5002, "P" +21-236-11:25:03.095 00 SCX_CPU1_DS_FI/1133 endif +21-236-11:25:03.095 00 SCX_CPU1_DS_FI/1134 +21-236-11:25:03.095 00 SCX_CPU1_DS_FI/1136 if (fileName <> "") then +21-236-11:25:03.095 00 SCX_CPU1_DS_FI/1137 ut_setrequirements DS_2001, "A" +21-236-11:25:03.096 00 SCX_CPU1_DS_FI/1138 write "==> Downloading '",fileName,"'" +21-236-11:25:03.096 00 SPR-I:OPRO ==> Downloading '/ram/seq100000102.dat' +21-236-11:25:03.096 00 SCX_CPU1_DS_FI/1139 slashLoc = %locate(fileName,"/") +21-236-11:25:03.096 00 SCX_CPU1_DS_FI/1140 while (slashLoc <> 0) do +21-236-11:25:03.096 00 SCX_CPU1_DS_FI/1141 fileName = %substring(fileName,slashLoc+1,%length(fileName)) +21-236-11:25:03.096 00 SCX_CPU1_DS_FI/1142 slashLoc = %locate(fileName,"/") +21-236-11:25:03.096 00 SCX_CPU1_DS_FI/1143 enddo +21-236-11:25:03.096 00 SCX_CPU1_DS_FI/1141 fileName = %substring(fileName,slashLoc+1,%length(fileName)) +21-236-11:25:03.096 00 SCX_CPU1_DS_FI/1142 slashLoc = %locate(fileName,"/") +21-236-11:25:03.096 00 SCX_CPU1_DS_FI/1143 enddo +21-236-11:25:03.097 00 SCX_CPU1_DS_FI/1144 write "==> FileName Only = '",fileName,"'" +21-236-11:25:03.097 00 SPR-I:OPRO ==> FileName Only = 'seq100000102.dat' +21-236-11:25:03.114 00 SCX_CPU1_DS_FI/1147 s ftp_file(ramDir, fileName, fileName, hostCPU, "G") +21-236-11:25:03.114 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/ftp_file.i +21-236-11:25:03.115 00 SPR-I:STS Procedure FTP_FILE started +21-236-11:25:03.115 00 FTP_FILE/2 ; +21-236-11:25:03.115 00 FTP_FILE/3 local logging = %liv (log_procedure) +21-236-11:25:03.115 00 FTP_FILE/4 %liv (log_procedure) = FALSE +21-236-11:25:03.213 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-11:25:03.214 00 FTP_FILE/85 ENDPROC +21-236-11:25:03.214 00 SPR-I:STS Procedure FTP_FILE completed +21-236-11:25:03.215 00 SCX_CPU1_DS_FI/1150 endif +21-236-11:25:03.215 00 SCX_CPU1_DS_FI/1151 +21-236-11:25:03.215 00 SCX_CPU1_DS_FI/1152 wait 5 +21-236-11:25:03.215 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:25:08.219 00 SCX_CPU1_DS_FI/1153 +21-236-11:25:08.219 00 SCX_CPU1_DS_FI/1154 write ";***********************************************************************" +21-236-11:25:08.219 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:25:08.219 00 SCX_CPU1_DS_FI/1155 write "; Step 2.10: Set the N_Value and X_Value to zero (0) for two separate " +21-236-11:25:08.219 00 SPR-I:OPRO ; Step 2.10: Set the N_Value and X_Value to zero (0) for two separate +21-236-11:25:08.219 00 SCX_CPU1_DS_FI/1156 write "; Filter Table entries. Use the one from above and find another." +21-236-11:25:08.219 00 SPR-I:OPRO ; Filter Table entries. Use the one from above and find another. +21-236-11:25:08.219 00 SCX_CPU1_DS_FI/1157 write ";***********************************************************************" +21-236-11:25:08.219 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:25:08.219 00 SCX_CPU1_DS_FI/1158 write "; Step 2.10.1: Parse the tables to find an entry to use." +21-236-11:25:08.219 00 SPR-I:OPRO ; Step 2.10.1: Parse the tables to find an entry to use. +21-236-11:25:08.219 00 SCX_CPU1_DS_FI/1159 write ";***********************************************************************" +21-236-11:25:08.219 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:25:08.219 00 SCX_CPU1_DS_FI/1161 logging = %liv (log_procedure) +21-236-11:25:08.219 00 SCX_CPU1_DS_FI/1162 %liv (log_procedure) = FALSE +21-236-11:25:08.293 00 SCX_CPU1_DS_FI/1177 +21-236-11:25:08.293 00 SCX_CPU1_DS_FI/1178 write "==> Found filter entry at ", xFilterEntry +21-236-11:25:08.293 00 SPR-I:OPRO ==> Found filter entry at 3 +21-236-11:25:08.293 00 SCX_CPU1_DS_FI/1179 +21-236-11:25:08.293 00 SCX_CPU1_DS_FI/1180 local xMsgID = SCX_CPU1_DS_PF_TBL[xFilterEntry].MessageID +21-236-11:25:08.293 00 SCX_CPU1_DS_FI/1181 local nValue = SCX_CPU1_DS_PF_TBL[xFilterEntry].FilterParams[0].N_Value +21-236-11:25:08.294 00 SCX_CPU1_DS_FI/1182 local oValue = SCX_CPU1_DS_PF_TBL[xFilterEntry].FilterParams[0].O_Value +21-236-11:25:08.294 00 SCX_CPU1_DS_FI/1183 local xFileIndex = SCX_CPU1_DS_PF_TBL[xFilterEntry].FilterParams[0].Index +21-236-11:25:08.294 00 SCX_CPU1_DS_FI/1184 +21-236-11:25:08.294 00 SCX_CPU1_DS_FI/1185 wait 5 +21-236-11:25:08.294 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:25:13.298 00 SCX_CPU1_DS_FI/1186 +21-236-11:25:13.298 00 SCX_CPU1_DS_FI/1187 write ";*********************************************************************" +21-236-11:25:13.298 00 SPR-I:OPRO ;********************************************************************* +21-236-11:25:13.298 00 SCX_CPU1_DS_FI/1188 write "; Step 2.10.2: Send the Set Filter Parameter entry command specifying " +21-236-11:25:13.298 00 SPR-I:OPRO ; Step 2.10.2: Send the Set Filter Parameter entry command specifying +21-236-11:25:13.298 00 SCX_CPU1_DS_FI/1189 write "; zero (0) for the N_Value parameter. " +21-236-11:25:13.298 00 SPR-I:OPRO ; zero (0) for the N_Value parameter. +21-236-11:25:13.298 00 SCX_CPU1_DS_FI/1190 write ";*********************************************************************" +21-236-11:25:13.298 00 SPR-I:OPRO ;********************************************************************* +21-236-11:25:13.298 00 SCX_CPU1_DS_FI/1192 ut_setupevents "SCX", "CPU1", {DSAppName}, DS_PARMS_CMD_EID, "DEBUG", 1 +21-236-11:25:13.303 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:25:13.304 00 SPR-I:OPRO ; Setup event 1 with DS DEBUG 41 +21-236-11:25:13.304 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:25:13.304 00 SCX_CPU1_DS_FI/1193 +21-236-11:25:13.304 00 SCX_CPU1_DS_FI/1195 msgsStored = msgsStored = 1 +21-236-11:25:13.304 00 SCX_CPU1_DS_FI/1196 +21-236-11:25:13.304 00 SCX_CPU1_DS_FI/1197 cmdCtr = SCX_CPU1_DS_CMDPC + 1 +21-236-11:25:13.304 00 SCX_CPU1_DS_FI/1199 /SCX_CPU1_DS_SetFilterParams MessageID=oneMsgID ParamIndex=0 N_Value=0 X_Value=msgsToSend O_Value=storageOffset +21-236-11:25:13.315 00 SCX_CPU1_DS_FI/1200 +21-236-11:25:13.315 00 SCX_CPU1_DS_FI/1201 ut_tlmwait SCX_CPU1_DS_CMDPC, {cmdCtr} +21-236-11:25:13.318 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:25:14.020 00 TLMH-I:STS 58-012-14:09:11.003 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=41 FILTER PARMS command: MID = 0x00000902, index = 2, filter = 0, N = 0, X = 3, O = 0 +21-236-11:25:15.320 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:25:15.322 00 SCX_CPU1_DS_FI/1202 if (UT_TW_Status = UT_Success) then +21-236-11:25:15.323 00 SCX_CPU1_DS_FI/1203 write "<*> Passed (1004;5010) - DS Set Filter Parameters command sent properly." +21-236-11:25:15.323 00 SPR-I:OPRO <*> Passed (1004;5010) - DS Set Filter Parameters command sent properly. +21-236-11:25:15.323 00 SCX_CPU1_DS_FI/1204 ut_setrequirements DS_1004, "P" +21-236-11:25:15.326 00 SCX_CPU1_DS_FI/1205 ut_setrequirements DS_5010, "P" +21-236-11:25:15.327 00 SCX_CPU1_DS_FI/1210 endif +21-236-11:25:15.327 00 SCX_CPU1_DS_FI/1211 +21-236-11:25:15.327 00 SCX_CPU1_DS_FI/1213 ut_tlmwait SCX_CPU1_find_event[1].num_found_messages, 1 +21-236-11:25:15.330 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:25:15.331 00 SCX_CPU1_DS_FI/1214 if (UT_TW_Status = UT_Success) then +21-236-11:25:15.331 00 SCX_CPU1_DS_FI/1215 write "<*> Passed (1004;5010) - Expected Event Msg ",DS_PARMS_CMD_EID," rcv'd." +21-236-11:25:15.331 00 SPR-I:OPRO <*> Passed (1004;5010) - Expected Event Msg 41 rcv'd. +21-236-11:25:15.331 00 SCX_CPU1_DS_FI/1216 ut_setrequirements DS_1004, "P" +21-236-11:25:15.354 00 SCX_CPU1_DS_FI/1217 ut_setrequirements DS_5010, "P" +21-236-11:25:15.355 00 SCX_CPU1_DS_FI/1222 endif +21-236-11:25:15.355 00 SCX_CPU1_DS_FI/1223 +21-236-11:25:15.355 00 SCX_CPU1_DS_FI/1224 wait 5 +21-236-11:25:15.355 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:25:20.358 00 SCX_CPU1_DS_FI/1225 +21-236-11:25:20.359 00 SCX_CPU1_DS_FI/1226 write ";*********************************************************************" +21-236-11:25:20.359 00 SPR-I:OPRO ;********************************************************************* +21-236-11:25:20.359 00 SCX_CPU1_DS_FI/1227 write "; Step 2.10.3: Send the Set Filter Parameter entry command specifying " +21-236-11:25:20.359 00 SPR-I:OPRO ; Step 2.10.3: Send the Set Filter Parameter entry command specifying +21-236-11:25:20.359 00 SCX_CPU1_DS_FI/1228 write "; zero (0) for the X_Value parameter. " +21-236-11:25:20.359 00 SPR-I:OPRO ; zero (0) for the X_Value parameter. +21-236-11:25:20.359 00 SCX_CPU1_DS_FI/1229 write ";*********************************************************************" +21-236-11:25:20.359 00 SPR-I:OPRO ;********************************************************************* +21-236-11:25:20.360 00 SCX_CPU1_DS_FI/1230 ut_setupevents "SCX", "CPU1", {DSAppName}, DS_PARMS_CMD_EID, "DEBUG", 1 +21-236-11:25:20.365 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:25:20.365 00 SPR-I:OPRO ; Setup event 1 with DS DEBUG 41 +21-236-11:25:20.365 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:25:20.366 00 SCX_CPU1_DS_FI/1231 +21-236-11:25:20.366 00 SCX_CPU1_DS_FI/1233 msgsStored = msgsStored = 1 +21-236-11:25:20.366 00 SCX_CPU1_DS_FI/1234 +21-236-11:25:20.366 00 SCX_CPU1_DS_FI/1235 cmdCtr = SCX_CPU1_DS_CMDPC + 1 +21-236-11:25:20.366 00 SCX_CPU1_DS_FI/1237 /SCX_CPU1_DS_SetFilterParams MessageID=xMsgID ParamIndex=0 N_Value=0 X_Value=0 O_Value=oValue +21-236-11:25:20.377 00 SCX_CPU1_DS_FI/1238 +21-236-11:25:20.377 00 SCX_CPU1_DS_FI/1239 ut_tlmwait SCX_CPU1_DS_CMDPC, {cmdCtr} +21-236-11:25:20.380 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:25:21.018 00 TLMH-I:STS 58-012-14:09:18.003 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=41 FILTER PARMS command: MID = 0x00000903, index = 3, filter = 0, N = 0, X = 0, O = 0 +21-236-11:25:23.384 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:25:23.386 00 SCX_CPU1_DS_FI/1240 if (UT_TW_Status = UT_Success) then +21-236-11:25:23.386 00 SCX_CPU1_DS_FI/1241 write "<*> Passed (1004;5010) - DS Set Filter Parameters command sent properly." +21-236-11:25:23.386 00 SPR-I:OPRO <*> Passed (1004;5010) - DS Set Filter Parameters command sent properly. +21-236-11:25:23.386 00 SCX_CPU1_DS_FI/1242 ut_setrequirements DS_1004, "P" +21-236-11:25:23.389 00 SCX_CPU1_DS_FI/1243 ut_setrequirements DS_5010, "P" +21-236-11:25:23.391 00 SCX_CPU1_DS_FI/1248 endif +21-236-11:25:23.391 00 SCX_CPU1_DS_FI/1249 +21-236-11:25:23.391 00 SCX_CPU1_DS_FI/1251 ut_tlmwait SCX_CPU1_find_event[1].num_found_messages, 1 +21-236-11:25:23.395 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:25:23.396 00 SCX_CPU1_DS_FI/1252 if (UT_TW_Status = UT_Success) then +21-236-11:25:23.396 00 SCX_CPU1_DS_FI/1253 write "<*> Passed (1004;5010) - Expected Event Msg ",DS_PARMS_CMD_EID," rcv'd." +21-236-11:25:23.396 00 SPR-I:OPRO <*> Passed (1004;5010) - Expected Event Msg 41 rcv'd. +21-236-11:25:23.396 00 SCX_CPU1_DS_FI/1254 ut_setrequirements DS_1004, "P" +21-236-11:25:23.423 00 SCX_CPU1_DS_FI/1255 ut_setrequirements DS_5010, "P" +21-236-11:25:23.424 00 SCX_CPU1_DS_FI/1260 endif +21-236-11:25:23.424 00 SCX_CPU1_DS_FI/1261 +21-236-11:25:23.424 00 SCX_CPU1_DS_FI/1262 wait 5 +21-236-11:25:23.424 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:25:28.427 00 SCX_CPU1_DS_FI/1263 +21-236-11:25:28.428 00 SCX_CPU1_DS_FI/1264 write ";***********************************************************************" +21-236-11:25:28.428 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:25:28.428 00 SCX_CPU1_DS_FI/1265 write "; Step 2.11: Dump the Packet Filter Table. " +21-236-11:25:28.428 00 SPR-I:OPRO ; Step 2.11: Dump the Packet Filter Table. +21-236-11:25:28.428 00 SCX_CPU1_DS_FI/1266 write ";***********************************************************************" +21-236-11:25:28.428 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:25:28.428 00 SCX_CPU1_DS_FI/1268 s get_tbl_to_cvt (ramDir,filterTblName,"A","cpu1_filtertbl211",hostCPU,filterTblPktId) +21-236-11:25:28.429 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/get_tbl_to_cvt.i +21-236-11:25:28.431 00 SPR-I:STS Procedure GET_TBL_TO_CVT started +21-236-11:25:28.431 00 GET_TBL_TO_CVT/2 ; +21-236-11:25:28.431 00 GET_TBL_TO_CVT/3 local logging = %liv (log_procedure) +21-236-11:25:28.431 00 GET_TBL_TO_CVT/4 %liv (log_procedure) = FALSE +21-236-11:25:28.437 00 SPR-I:OPRO Sending Command: /SCX_CPU1_TBL_DUMP ACTIVE DTABLENAME="DS.FILTER_TBL" DFILENAME="/ram/cpu1_filtertbl211" +21-236-11:25:28.448 00 SPR-I:STTE Wait mode - waiting 15 seconds ... +21-236-11:25:29.012 00 TLMH-I:STS 58-012-14:09:26.003 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=14 Successfully dumped Table 'DS.FILTER_TBL' to '/ram/cpu1_filtertbl211' +21-236-11:25:43.460 00 SPR-I:OPRO +21-236-11:25:43.460 00 SPR-I:OPRO The TBLNAME is: DS.FILTER_TBL +21-236-11:25:43.460 00 SPR-I:OPRO The APID is: P0F77 +21-236-11:25:43.460 00 SPR-I:OPRO The CPU is: CPU3 +21-236-11:25:43.460 00 SPR-I:OPRO The IP Address is: 192.168.1.8 +21-236-11:25:43.461 00 SPR-I:OPRO The perl command is: perl /s/opr/accounts/global/tools/ftp.pl RAM:0 cpu1_filtertbl211 cpu1_filtertbl211 binary 192.168.1.8 +21-236-11:25:43.629 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-11:25:43.629 00 SPR-I:STTE Wait mode - waiting 15 seconds ... +21-236-11:25:58.641 00 SPR-I:OPRO +21-236-11:25:58.685 00 SPR-I:OPRO The unix command is cvt -ws file_list[3959].file_write_time "`date +%y-%j-%T -r /s/opr/accounts/cfs_test/image/cpu1_filtertbl211`" +21-236-11:25:58.685 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:26:03.690 00 GET_TBL_TO_CVT/238 +21-236-11:26:03.690 00 GET_TBL_TO_CVT/239 ENDPROC +21-236-11:26:03.690 00 SPR-I:STS Procedure GET_TBL_TO_CVT completed +21-236-11:26:03.691 00 SCX_CPU1_DS_FI/1269 +21-236-11:26:03.691 00 SCX_CPU1_DS_FI/1271 if (SCX_CPU1_DS_PF_TBL[filterEntry].FilterParams[0].N_Value = 0) AND ;; +21-236-11:26:03.691 00 SCX_CPU1_DS_FI/1272 (SCX_CPU1_DS_PF_TBL[filterEntry].FilterParams[0].X_Value = msgsToSend) AND ;; +21-236-11:26:03.691 00 SCX_CPU1_DS_FI/1273 (SCX_CPU1_DS_PF_TBL[filterEntry].FilterParams[0].O_Value = storageOffset) AND ;; +21-236-11:26:03.691 00 SCX_CPU1_DS_FI/1274 (SCX_CPU1_DS_PF_TBL[xFilterEntry].FilterParams[0].N_Value = 0) AND ;; +21-236-11:26:03.692 00 SCX_CPU1_DS_FI/1275 (SCX_CPU1_DS_PF_TBL[xFilterEntry].FilterParams[0].X_Value = 0) AND ;; +21-236-11:26:03.692 00 SCX_CPU1_DS_FI/1276 (SCX_CPU1_DS_PF_TBL[xFilterEntry].FilterParams[0].O_Value = oValue) then +21-236-11:26:03.694 00 SCX_CPU1_DS_FI/1277 write "<*> Passed (5010) - Parameter changes are reflected in the table." +21-236-11:26:03.694 00 SPR-I:OPRO <*> Passed (5010) - Parameter changes are reflected in the table. +21-236-11:26:03.694 00 SCX_CPU1_DS_FI/1278 ut_setrequirements DS_5010, "P" +21-236-11:26:03.697 00 SCX_CPU1_DS_FI/1282 endif +21-236-11:26:03.697 00 SCX_CPU1_DS_FI/1283 +21-236-11:26:03.697 00 SCX_CPU1_DS_FI/1284 wait 5 +21-236-11:26:03.697 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:26:08.701 00 SCX_CPU1_DS_FI/1285 +21-236-11:26:08.702 00 SCX_CPU1_DS_FI/1286 write ";***********************************************************************" +21-236-11:26:08.702 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:26:08.702 00 SCX_CPU1_DS_FI/1287 write "; Step 2.12: Send the TST_DS command to send messages to DS using the" +21-236-11:26:08.702 00 SPR-I:OPRO ; Step 2.12: Send the TST_DS command to send messages to DS using the +21-236-11:26:08.702 00 SCX_CPU1_DS_FI/1288 write "; message IDs whose parameters were set in the above steps." +21-236-11:26:08.702 00 SPR-I:OPRO ; message IDs whose parameters were set in the above steps. +21-236-11:26:08.702 00 SCX_CPU1_DS_FI/1289 write ";***********************************************************************" +21-236-11:26:08.702 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:26:08.702 00 SCX_CPU1_DS_FI/1291 ut_setupevents "SCX", "CPU1", "TST_DS", TST_DS_MSG1_SENT_INF_EID, "INFO", 1 +21-236-11:26:08.709 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:26:08.709 00 SPR-I:OPRO ; Setup event 1 with TST_DS INFO 5 +21-236-11:26:08.710 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:26:08.711 00 SCX_CPU1_DS_FI/1292 +21-236-11:26:08.711 00 SCX_CPU1_DS_FI/1294 for i = 1 to msgsToSend do +21-236-11:26:08.711 00 SCX_CPU1_DS_FI/1296 /SCX_CPU1_TST_DS_SENDMESSAGE MsgID=oneMsgID MsgType=1 Pattern=x'55' +21-236-11:26:08.717 00 SCX_CPU1_DS_FI/1297 wait 5 +21-236-11:26:08.717 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:26:09.514 00 TLMH-I:STS 58-012-14:10:06.500 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Message Size 116 to MID 0x00000902 +21-236-11:26:13.721 00 SCX_CPU1_DS_FI/1298 enddo +21-236-11:26:13.722 00 SCX_CPU1_DS_FI/1294 for i = 1 to msgsToSend do +21-236-11:26:13.722 00 SCX_CPU1_DS_FI/1296 /SCX_CPU1_TST_DS_SENDMESSAGE MsgID=oneMsgID MsgType=1 Pattern=x'55' +21-236-11:26:13.737 00 SCX_CPU1_DS_FI/1297 wait 5 +21-236-11:26:13.738 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:26:14.510 00 TLMH-I:STS 58-012-14:10:11.500 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Message Size 116 to MID 0x00000902 +21-236-11:26:18.741 00 SCX_CPU1_DS_FI/1298 enddo +21-236-11:26:18.742 00 SCX_CPU1_DS_FI/1294 for i = 1 to msgsToSend do +21-236-11:26:18.742 00 SCX_CPU1_DS_FI/1296 /SCX_CPU1_TST_DS_SENDMESSAGE MsgID=oneMsgID MsgType=1 Pattern=x'55' +21-236-11:26:18.757 00 SCX_CPU1_DS_FI/1297 wait 5 +21-236-11:26:18.757 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:26:19.515 00 TLMH-I:STS 58-012-14:10:16.500 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Message Size 116 to MID 0x00000902 +21-236-11:26:23.761 00 SCX_CPU1_DS_FI/1298 enddo +21-236-11:26:23.762 00 SCX_CPU1_DS_FI/1294 for i = 1 to msgsToSend do +21-236-11:26:23.762 00 SCX_CPU1_DS_FI/1299 +21-236-11:26:23.762 00 SCX_CPU1_DS_FI/1300 /SCX_CPU1_TST_DS_SENDMESSAGE MsgID=xMsgID MsgType=1 Pattern=x'AA' +21-236-11:26:23.778 00 SCX_CPU1_DS_FI/1301 wait 5 +21-236-11:26:23.778 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:26:24.513 00 TLMH-I:STS 58-012-14:10:21.500 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Message Size 116 to MID 0x00000903 +21-236-11:26:28.782 00 SCX_CPU1_DS_FI/1302 +21-236-11:26:28.782 00 SCX_CPU1_DS_FI/1304 cmdCtr = SCX_CPU1_DS_CMDPC + 1 +21-236-11:26:28.782 00 SCX_CPU1_DS_FI/1305 +21-236-11:26:28.782 00 SCX_CPU1_DS_FI/1306 /SCX_CPU1_DS_GetFileInfo +21-236-11:26:28.797 00 SCX_CPU1_DS_FI/1307 +21-236-11:26:28.797 00 SCX_CPU1_DS_FI/1308 ut_tlmwait SCX_CPU1_DS_CMDPC, {cmdCtr} +21-236-11:26:28.808 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:26:29.516 00 TLMH-I:STS 58-012-14:10:26.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-11:26:31.811 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:26:31.813 00 SCX_CPU1_DS_FI/1309 +21-236-11:26:31.813 00 SCX_CPU1_DS_FI/1311 if (SCX_CPU1_find_event[1].num_found_messages = msgsToSend+1) then +21-236-11:26:31.814 00 SCX_CPU1_DS_FI/1312 write "<*> Passed - Rcv'd the expected number of Send events." +21-236-11:26:31.814 00 SPR-I:OPRO <*> Passed - Rcv'd the expected number of Send events. +21-236-11:26:31.814 00 SCX_CPU1_DS_FI/1315 endif +21-236-11:26:31.814 00 SCX_CPU1_DS_FI/1316 +21-236-11:26:31.814 00 SCX_CPU1_DS_FI/1320 fileName = SCX_CPU1_DS_FileState[fileTblEntry].FileName +21-236-11:26:31.815 00 SCX_CPU1_DS_FI/1321 if (fileName = "") then +21-236-11:26:31.815 00 SCX_CPU1_DS_FI/1322 write "<*> Passed (2001.1) - A file was not created." +21-236-11:26:31.815 00 SPR-I:OPRO <*> Passed (2001.1) - A file was not created. +21-236-11:26:31.815 00 SCX_CPU1_DS_FI/1323 ut_setrequirements DS_20011, "P" +21-236-11:26:31.818 00 SCX_CPU1_DS_FI/1327 endif +21-236-11:26:31.818 00 SCX_CPU1_DS_FI/1328 +21-236-11:26:31.818 00 SCX_CPU1_DS_FI/1329 fileName = SCX_CPU1_DS_FileState[xFileIndex].FileName +21-236-11:26:31.818 00 SCX_CPU1_DS_FI/1330 if (fileName = "") then +21-236-11:26:31.818 00 SCX_CPU1_DS_FI/1331 write "<*> Passed (2001.1) - A file was not created." +21-236-11:26:31.818 00 SPR-I:OPRO <*> Passed (2001.1) - A file was not created. +21-236-11:26:31.818 00 SCX_CPU1_DS_FI/1332 ut_setrequirements DS_20011, "P" +21-236-11:26:31.837 00 SCX_CPU1_DS_FI/1336 endif +21-236-11:26:31.837 00 SCX_CPU1_DS_FI/1337 +21-236-11:26:31.837 00 SCX_CPU1_DS_FI/1338 wait 5 +21-236-11:26:31.837 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:26:36.840 00 SCX_CPU1_DS_FI/1339 +21-236-11:26:36.841 00 SCX_CPU1_DS_FI/1340 write ";***********************************************************************" +21-236-11:26:36.841 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:26:36.841 00 SCX_CPU1_DS_FI/1341 write "; Step 2.13: Send the Set File Index for a Packet Filter Table entry " +21-236-11:26:36.841 00 SPR-I:OPRO ; Step 2.13: Send the Set File Index for a Packet Filter Table entry +21-236-11:26:36.841 00 SCX_CPU1_DS_FI/1342 write "; command for an entry that specifies Sequence filtering with a " +21-236-11:26:36.841 00 SPR-I:OPRO ; command for an entry that specifies Sequence filtering with a +21-236-11:26:36.841 00 SCX_CPU1_DS_FI/1343 write "; Destination File entry that specifies Time file type naming. " +21-236-11:26:36.841 00 SPR-I:OPRO ; Destination File entry that specifies Time file type naming. +21-236-11:26:36.842 00 SCX_CPU1_DS_FI/1344 write ";***********************************************************************" +21-236-11:26:36.842 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:26:36.842 00 SCX_CPU1_DS_FI/1345 write "; Step 2.13.1: Parse the tables to find an entry to use." +21-236-11:26:36.842 00 SPR-I:OPRO ; Step 2.13.1: Parse the tables to find an entry to use. +21-236-11:26:36.842 00 SCX_CPU1_DS_FI/1346 write ";***********************************************************************" +21-236-11:26:36.842 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:26:36.842 00 SCX_CPU1_DS_FI/1348 logging = %liv (log_procedure) +21-236-11:26:36.842 00 SCX_CPU1_DS_FI/1349 %liv (log_procedure) = FALSE +21-236-11:26:36.954 00 SCX_CPU1_DS_FI/1377 +21-236-11:26:36.954 00 SCX_CPU1_DS_FI/1378 write "==> Found filter entry at ", filterEntry +21-236-11:26:36.954 00 SPR-I:OPRO ==> Found filter entry at 4 +21-236-11:26:36.954 00 SCX_CPU1_DS_FI/1379 write "==> Found file entry at ", timeFileEntry +21-236-11:26:36.954 00 SPR-I:OPRO ==> Found file entry at 4 +21-236-11:26:36.954 00 SCX_CPU1_DS_FI/1380 +21-236-11:26:36.954 00 SCX_CPU1_DS_FI/1381 local timeFileMsgID = SCX_CPU1_DS_PF_TBL[filterEntry].MessageID +21-236-11:26:36.954 00 SCX_CPU1_DS_FI/1382 +21-236-11:26:36.954 00 SCX_CPU1_DS_FI/1383 wait 5 +21-236-11:26:36.954 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:26:41.958 00 SCX_CPU1_DS_FI/1384 +21-236-11:26:41.958 00 SCX_CPU1_DS_FI/1385 write ";***********************************************************************" +21-236-11:26:41.958 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:26:41.958 00 SCX_CPU1_DS_FI/1386 write "; Step 2.13.2: Send the Set File Index command using the entries found " +21-236-11:26:41.959 00 SPR-I:OPRO ; Step 2.13.2: Send the Set File Index command using the entries found +21-236-11:26:41.959 00 SCX_CPU1_DS_FI/1387 write "; in the above step. " +21-236-11:26:41.959 00 SPR-I:OPRO ; in the above step. +21-236-11:26:41.959 00 SCX_CPU1_DS_FI/1388 write ";***********************************************************************" +21-236-11:26:41.959 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:26:41.959 00 SCX_CPU1_DS_FI/1389 ut_setupevents "SCX", "CPU1", {DSAppName}, DS_FILE_CMD_EID, "DEBUG", 1 +21-236-11:26:41.966 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:26:41.967 00 SPR-I:OPRO ; Setup event 1 with DS DEBUG 37 +21-236-11:26:41.967 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:26:41.968 00 SCX_CPU1_DS_FI/1390 +21-236-11:26:41.968 00 SCX_CPU1_DS_FI/1391 cmdCtr = SCX_CPU1_DS_CMDPC + 1 +21-236-11:26:41.968 00 SCX_CPU1_DS_FI/1393 /SCX_CPU1_DS_SetFilterFile MessageID=timeFileMsgID ParamIndex=0 FileIndex=timeFileEntry +21-236-11:26:41.984 00 SCX_CPU1_DS_FI/1394 +21-236-11:26:41.984 00 SCX_CPU1_DS_FI/1395 ut_tlmwait SCX_CPU1_DS_CMDPC, {cmdCtr} +21-236-11:26:41.997 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:26:42.509 00 TLMH-I:STS 58-012-14:10:39.502 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=37 FILTER FILE command: MID = 0x00000904, index = 4, filter = 0, file = 4 +21-236-11:26:43.999 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:26:44.001 00 SCX_CPU1_DS_FI/1396 if (UT_TW_Status = UT_Success) then +21-236-11:26:44.001 00 SCX_CPU1_DS_FI/1397 write "<*> Passed (1004;5008) - DS Set Filter File command sent properly." +21-236-11:26:44.001 00 SPR-I:OPRO <*> Passed (1004;5008) - DS Set Filter File command sent properly. +21-236-11:26:44.001 00 SCX_CPU1_DS_FI/1398 ut_setrequirements DS_1004, "P" +21-236-11:26:44.004 00 SCX_CPU1_DS_FI/1399 ut_setrequirements DS_5008, "P" +21-236-11:26:44.008 00 SCX_CPU1_DS_FI/1404 endif +21-236-11:26:44.008 00 SCX_CPU1_DS_FI/1405 +21-236-11:26:44.008 00 SCX_CPU1_DS_FI/1407 ut_tlmwait SCX_CPU1_find_event[1].num_found_messages, 1 +21-236-11:26:44.019 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:26:44.022 00 SCX_CPU1_DS_FI/1408 if (UT_TW_Status = UT_Success) then +21-236-11:26:44.022 00 SCX_CPU1_DS_FI/1409 write "<*> Passed (1004;5008) - Expected Event Msg ",DS_FILE_CMD_EID," rcv'd." +21-236-11:26:44.022 00 SPR-I:OPRO <*> Passed (1004;5008) - Expected Event Msg 37 rcv'd. +21-236-11:26:44.022 00 SCX_CPU1_DS_FI/1410 ut_setrequirements DS_1004, "P" +21-236-11:26:44.062 00 SCX_CPU1_DS_FI/1411 ut_setrequirements DS_5008, "P" +21-236-11:26:44.063 00 SCX_CPU1_DS_FI/1416 endif +21-236-11:26:44.063 00 SCX_CPU1_DS_FI/1417 +21-236-11:26:44.063 00 SCX_CPU1_DS_FI/1418 wait 5 +21-236-11:26:44.063 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:26:49.067 00 SCX_CPU1_DS_FI/1419 +21-236-11:26:49.077 00 SPR-I:OPRI --> s display_next_page (256,4,"PREV",3959) +21-236-11:26:49.077 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/display_next_page.i +21-236-11:26:49.077 00 SPR-I:STS Procedure DISPLAY_NEXT_PAGE started +21-236-11:26:49.078 00 DISPLAY_NEXT_P/2 ; +21-236-11:26:49.078 00 DISPLAY_NEXT_P/3 local logging = %liv (log_procedure) +21-236-11:26:49.078 00 DISPLAY_NEXT_P/4 %liv (log_procedure) = FALSE +21-236-11:26:49.078 00 DISPLAY_NEXT_P/85 +21-236-11:26:49.078 00 DISPLAY_NEXT_P/86 ENDPROC +21-236-11:26:49.078 00 SPR-I:STS Procedure DISPLAY_NEXT_PAGE completed +21-236-11:26:49.079 00 SCX_CPU1_DS_FI/1420 write ";***********************************************************************" +21-236-11:26:49.079 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:26:49.079 00 SCX_CPU1_DS_FI/1421 write "; Step 2.13.3: Dump the Packet Filter Table. " +21-236-11:26:49.079 00 SPR-I:OPRO ; Step 2.13.3: Dump the Packet Filter Table. +21-236-11:26:49.079 00 SCX_CPU1_DS_FI/1422 write ";***********************************************************************" +21-236-11:26:49.079 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:26:49.079 00 SCX_CPU1_DS_FI/1424 s get_tbl_to_cvt (ramDir,filterTblName,"A","cpu1_filtertbl2133",hostCPU,filterTblPktId) +21-236-11:26:49.079 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/get_tbl_to_cvt.i +21-236-11:26:49.079 00 SPR-I:STS Procedure GET_TBL_TO_CVT started +21-236-11:26:49.079 00 GET_TBL_TO_CVT/2 ; +21-236-11:26:49.080 00 GET_TBL_TO_CVT/3 local logging = %liv (log_procedure) +21-236-11:26:49.080 00 GET_TBL_TO_CVT/4 %liv (log_procedure) = FALSE +21-236-11:26:49.083 00 SPR-I:OPRO Sending Command: /SCX_CPU1_TBL_DUMP ACTIVE DTABLENAME="DS.FILTER_TBL" DFILENAME="/ram/cpu1_filtertbl2133" +21-236-11:26:49.095 00 SPR-I:STTE Wait mode - waiting 15 seconds ... +21-236-11:26:50.009 00 TLMH-I:STS 58-012-14:10:47.003 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=14 Successfully dumped Table 'DS.FILTER_TBL' to '/ram/cpu1_filtertbl2133' +21-236-11:27:04.107 00 SPR-I:OPRO +21-236-11:27:04.107 00 SPR-I:OPRO The TBLNAME is: DS.FILTER_TBL +21-236-11:27:04.107 00 SPR-I:OPRO The APID is: P0F77 +21-236-11:27:04.107 00 SPR-I:OPRO The CPU is: CPU3 +21-236-11:27:04.107 00 SPR-I:OPRO The IP Address is: 192.168.1.8 +21-236-11:27:04.110 00 SPR-I:OPRO The perl command is: perl /s/opr/accounts/global/tools/ftp.pl RAM:0 cpu1_filtertbl2133 cpu1_filtertbl2133 binary 192.168.1.8 +21-236-11:27:04.284 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-11:27:04.284 00 SPR-I:STTE Wait mode - waiting 15 seconds ... +21-236-11:27:07.296 00 SPR-I:OPRI --> s display_next_page (16,8,"NEXT",3959,"TLM") +21-236-11:27:07.296 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/display_next_page.i +21-236-11:27:07.296 00 SPR-I:STS Procedure DISPLAY_NEXT_PAGE started +21-236-11:27:07.297 00 SPR-I:STS Procedure DISPLAY_NEXT_PAGE completed +21-236-11:27:08.309 00 SPR-I:OPRI --> s display_next_page (16,8,"PREV",3959,"TLM") +21-236-11:27:08.310 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/display_next_page.i +21-236-11:27:08.311 00 SPR-I:STS Procedure DISPLAY_NEXT_PAGE started +21-236-11:27:08.317 00 SPR-I:STS Procedure DISPLAY_NEXT_PAGE completed +21-236-11:27:19.325 00 SPR-I:OPRO +21-236-11:27:19.343 00 SPR-I:OPRO The unix command is cvt -ws file_list[3959].file_write_time "`date +%y-%j-%T -r /s/opr/accounts/cfs_test/image/cpu1_filtertbl2133`" +21-236-11:27:19.343 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:27:24.347 00 GET_TBL_TO_CVT/238 +21-236-11:27:24.348 00 GET_TBL_TO_CVT/239 ENDPROC +21-236-11:27:24.348 00 SPR-I:STS Procedure GET_TBL_TO_CVT completed +21-236-11:27:24.349 00 SCX_CPU1_DS_FI/1425 +21-236-11:27:24.349 00 SCX_CPU1_DS_FI/1427 if (SCX_CPU1_DS_PF_TBL[filterEntry].FilterParams[0].Index = timeFileEntry) then +21-236-11:27:24.350 00 SCX_CPU1_DS_FI/1428 write "<*> Passed (5008) - Parameter changes are reflected in the table." +21-236-11:27:24.350 00 SPR-I:OPRO <*> Passed (5008) - Parameter changes are reflected in the table. +21-236-11:27:24.350 00 SCX_CPU1_DS_FI/1429 ut_setrequirements DS_5008, "P" +21-236-11:27:24.353 00 SCX_CPU1_DS_FI/1433 endif +21-236-11:27:24.353 00 SCX_CPU1_DS_FI/1434 +21-236-11:27:24.353 00 SCX_CPU1_DS_FI/1435 wait 5 +21-236-11:27:24.353 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:27:29.357 00 SCX_CPU1_DS_FI/1436 +21-236-11:27:29.357 00 SCX_CPU1_DS_FI/1437 write ";***********************************************************************" +21-236-11:27:29.358 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:27:29.358 00 SCX_CPU1_DS_FI/1438 write "; Step 2.14: Send the TST_DS command to send a message to DS using the " +21-236-11:27:29.358 00 SPR-I:OPRO ; Step 2.14: Send the TST_DS command to send a message to DS using the +21-236-11:27:29.358 00 SCX_CPU1_DS_FI/1439 write "; MessageID found above. Send a message that will not exceed the file " +21-236-11:27:29.358 00 SPR-I:OPRO ; MessageID found above. Send a message that will not exceed the file +21-236-11:27:29.358 00 SCX_CPU1_DS_FI/1440 write "; size constraint. The HK should contain info about the file opened. " +21-236-11:27:29.358 00 SPR-I:OPRO ; size constraint. The HK should contain info about the file opened. +21-236-11:27:29.358 00 SCX_CPU1_DS_FI/1441 write ";***********************************************************************" +21-236-11:27:29.358 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:27:29.358 00 SCX_CPU1_DS_FI/1443 ut_setupevents "SCX", "CPU1", "TST_DS", TST_DS_MSG1_SENT_INF_EID, "INFO", 1 +21-236-11:27:29.363 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:27:29.363 00 SPR-I:OPRO ; Setup event 1 with TST_DS INFO 5 +21-236-11:27:29.363 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:27:29.364 00 SCX_CPU1_DS_FI/1444 +21-236-11:27:29.364 00 SCX_CPU1_DS_FI/1445 expPassedPkts = SCX_CPU1_DS_PassedPktCnt + 1 +21-236-11:27:29.364 00 SCX_CPU1_DS_FI/1446 +21-236-11:27:29.364 00 SCX_CPU1_DS_FI/1448 /SCX_CPU1_TST_DS_SENDMESSAGE MsgID=timeFileMsgID MsgType=1 Pattern=x'FF' +21-236-11:27:29.375 00 SCX_CPU1_DS_FI/1449 +21-236-11:27:29.375 00 SCX_CPU1_DS_FI/1451 ut_tlmwait SCX_CPU1_find_event[1].num_found_messages, 1 +21-236-11:27:29.378 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:27:30.017 00 TLMH-I:STS 58-012-14:11:27.003 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Message Size 116 to MID 0x00000904 +21-236-11:27:30.379 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:27:30.381 00 SCX_CPU1_DS_FI/1452 if (UT_TW_Status = UT_Success) then +21-236-11:27:30.381 00 SCX_CPU1_DS_FI/1453 write "<*> Passed - Expected Event Msg ",TST_DS_MSG1_SENT_INF_EID," rcv'd." +21-236-11:27:30.381 00 SPR-I:OPRO <*> Passed - Expected Event Msg 5 rcv'd. +21-236-11:27:30.381 00 SCX_CPU1_DS_FI/1456 endif +21-236-11:27:30.381 00 SCX_CPU1_DS_FI/1457 +21-236-11:27:30.382 00 SCX_CPU1_DS_FI/1459 cmdCtr = SCX_CPU1_DS_CMDPC + 1 +21-236-11:27:30.382 00 SCX_CPU1_DS_FI/1460 +21-236-11:27:30.382 00 SCX_CPU1_DS_FI/1461 /SCX_CPU1_DS_GetFileInfo +21-236-11:27:30.397 00 SCX_CPU1_DS_FI/1462 +21-236-11:27:30.397 00 SCX_CPU1_DS_FI/1463 ut_tlmwait SCX_CPU1_DS_CMDPC, {cmdCtr} +21-236-11:27:30.410 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:27:31.012 00 TLMH-I:STS 58-012-14:11:28.003 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-11:27:31.411 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:27:31.413 00 SCX_CPU1_DS_FI/1464 +21-236-11:27:31.413 00 SCX_CPU1_DS_FI/1466 if (expPassedPkts = SCX_CPU1_DS_PassedPktCnt) then +21-236-11:27:31.413 00 SCX_CPU1_DS_FI/1467 write "<*> Passed (2000) - Passed packet counter incremented properly." +21-236-11:27:31.413 00 SPR-I:OPRO <*> Passed (2000) - Passed packet counter incremented properly. +21-236-11:27:31.413 00 SCX_CPU1_DS_FI/1468 ut_setrequirements DS_2000, "P" +21-236-11:27:31.416 00 SCX_CPU1_DS_FI/1472 endif +21-236-11:27:31.416 00 SCX_CPU1_DS_FI/1473 +21-236-11:27:31.416 00 SCX_CPU1_DS_FI/1475 fileName = "" +21-236-11:27:31.416 00 SCX_CPU1_DS_FI/1476 if (SCX_CPU1_DS_FileState[timeFileEntry].FileName <> "") then +21-236-11:27:31.417 00 SCX_CPU1_DS_FI/1477 fileName = SCX_CPU1_DS_FileState[timeFileEntry].FileName +21-236-11:27:31.417 00 SCX_CPU1_DS_FI/1478 write "<*> Passed (2002.1;3000;3000.2;3000.2.1) - A file was created with name '",fileName,"'" +21-236-11:27:31.418 00 SPR-I:OPRO <*> Passed (2002.1;3000;3000.2;3000.2.1) - A file was created with name '/ram/time11980012141127' +21-236-11:27:31.418 00 SCX_CPU1_DS_FI/1479 ut_setrequirements DS_20021, "P" +21-236-11:27:31.422 00 SCX_CPU1_DS_FI/1480 ut_setrequirements DS_3000, "P" +21-236-11:27:31.425 00 SCX_CPU1_DS_FI/1481 ut_setrequirements DS_30002, "A" +21-236-11:27:31.479 00 SCX_CPU1_DS_FI/1482 ut_setrequirements DS_300021, "A" +21-236-11:27:31.483 00 SCX_CPU1_DS_FI/1489 endif +21-236-11:27:31.483 00 SCX_CPU1_DS_FI/1490 +21-236-11:27:31.484 00 SCX_CPU1_DS_FI/1491 wait 5 +21-236-11:27:31.484 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:27:36.488 00 SCX_CPU1_DS_FI/1492 +21-236-11:27:36.488 00 SCX_CPU1_DS_FI/1493 write ";***********************************************************************" +21-236-11:27:36.488 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:27:36.488 00 SCX_CPU1_DS_FI/1494 write "; Step 2.15: Close the Destination File opened in the above step." +21-236-11:27:36.488 00 SPR-I:OPRO ; Step 2.15: Close the Destination File opened in the above step. +21-236-11:27:36.488 00 SCX_CPU1_DS_FI/1495 write ";***********************************************************************" +21-236-11:27:36.488 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:27:36.488 00 SCX_CPU1_DS_FI/1497 ut_setupevents "SCX", "CPU1", {DSAppName}, DS_CLOSE_CMD_EID, "DEBUG", 1 +21-236-11:27:36.494 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:27:36.494 00 SPR-I:OPRO ; Setup event 1 with DS DEBUG 59 +21-236-11:27:36.494 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:27:36.495 00 SCX_CPU1_DS_FI/1498 +21-236-11:27:36.495 00 SCX_CPU1_DS_FI/1499 cmdCtr = SCX_CPU1_DS_CMDPC + 1 +21-236-11:27:36.495 00 SCX_CPU1_DS_FI/1501 /SCX_CPU1_DS_CloseFile FileIndex=timeFileEntry +21-236-11:27:36.507 00 SCX_CPU1_DS_FI/1502 +21-236-11:27:36.507 00 SCX_CPU1_DS_FI/1503 ut_tlmwait SCX_CPU1_DS_CMDPC, {cmdCtr} +21-236-11:27:36.512 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:27:37.016 00 TLMH-I:STS 58-012-14:11:34.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=59 DEST CLOSE command: file table index = 4 +21-236-11:27:39.515 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:27:39.517 00 SCX_CPU1_DS_FI/1504 if (UT_TW_Status = UT_Success) then +21-236-11:27:39.518 00 SCX_CPU1_DS_FI/1505 write "<*> Passed (1004;5002) - DS Close File command sent properly." +21-236-11:27:39.518 00 SPR-I:OPRO <*> Passed (1004;5002) - DS Close File command sent properly. +21-236-11:27:39.518 00 SCX_CPU1_DS_FI/1506 ut_setrequirements DS_1004, "P" +21-236-11:27:39.520 00 SCX_CPU1_DS_FI/1507 ut_setrequirements DS_5002, "P" +21-236-11:27:39.522 00 SCX_CPU1_DS_FI/1512 endif +21-236-11:27:39.522 00 SCX_CPU1_DS_FI/1513 +21-236-11:27:39.522 00 SCX_CPU1_DS_FI/1515 ut_tlmwait SCX_CPU1_find_event[1].num_found_messages, 1 +21-236-11:27:39.525 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:27:39.526 00 SCX_CPU1_DS_FI/1516 if (UT_TW_Status = UT_Success) then +21-236-11:27:39.526 00 SCX_CPU1_DS_FI/1517 write "<*> Passed (1004;5002) - Expected Event Msg ",DS_CLOSE_CMD_EID," rcv'd." +21-236-11:27:39.526 00 SPR-I:OPRO <*> Passed (1004;5002) - Expected Event Msg 59 rcv'd. +21-236-11:27:39.526 00 SCX_CPU1_DS_FI/1518 ut_setrequirements DS_1004, "P" +21-236-11:27:39.551 00 SCX_CPU1_DS_FI/1519 ut_setrequirements DS_5002, "P" +21-236-11:27:39.553 00 SCX_CPU1_DS_FI/1524 endif +21-236-11:27:39.553 00 SCX_CPU1_DS_FI/1525 +21-236-11:27:39.553 00 SCX_CPU1_DS_FI/1527 if (fileName <> "") then +21-236-11:27:39.553 00 SCX_CPU1_DS_FI/1528 ut_setrequirements DS_3003, "A" +21-236-11:27:39.554 00 SCX_CPU1_DS_FI/1529 ut_setrequirements DS_3004, "A" +21-236-11:27:39.555 00 SCX_CPU1_DS_FI/1530 write "==> Downloading '",fileName,"'" +21-236-11:27:39.555 00 SPR-I:OPRO ==> Downloading '/ram/time11980012141127' +21-236-11:27:39.555 00 SCX_CPU1_DS_FI/1531 slashLoc = %locate(fileName,"/") +21-236-11:27:39.555 00 SCX_CPU1_DS_FI/1532 while (slashLoc <> 0) do +21-236-11:27:39.555 00 SCX_CPU1_DS_FI/1533 fileName = %substring(fileName,slashLoc+1,%length(fileName)) +21-236-11:27:39.555 00 SCX_CPU1_DS_FI/1534 slashLoc = %locate(fileName,"/") +21-236-11:27:39.555 00 SCX_CPU1_DS_FI/1535 enddo +21-236-11:27:39.556 00 SCX_CPU1_DS_FI/1533 fileName = %substring(fileName,slashLoc+1,%length(fileName)) +21-236-11:27:39.556 00 SCX_CPU1_DS_FI/1534 slashLoc = %locate(fileName,"/") +21-236-11:27:39.578 00 SCX_CPU1_DS_FI/1535 enddo +21-236-11:27:39.578 00 SCX_CPU1_DS_FI/1536 write "==> FileName Only = '",fileName,"'" +21-236-11:27:39.578 00 SPR-I:OPRO ==> FileName Only = 'time11980012141127' +21-236-11:27:39.578 00 SCX_CPU1_DS_FI/1539 s ftp_file(ramDir, fileName, fileName, hostCPU, "G") +21-236-11:27:39.578 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/ftp_file.i +21-236-11:27:39.578 00 SPR-I:STS Procedure FTP_FILE started +21-236-11:27:39.578 00 FTP_FILE/2 ; +21-236-11:27:39.578 00 FTP_FILE/3 local logging = %liv (log_procedure) +21-236-11:27:39.578 00 FTP_FILE/4 %liv (log_procedure) = FALSE +21-236-11:27:39.664 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-11:27:39.664 00 FTP_FILE/85 ENDPROC +21-236-11:27:39.664 00 SPR-I:STS Procedure FTP_FILE completed +21-236-11:27:39.665 00 SCX_CPU1_DS_FI/1543 endif +21-236-11:27:39.665 00 SCX_CPU1_DS_FI/1544 +21-236-11:27:39.665 00 SCX_CPU1_DS_FI/1545 wait 5 +21-236-11:27:39.665 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:27:44.668 00 SCX_CPU1_DS_FI/1546 +21-236-11:27:44.668 00 SCX_CPU1_DS_FI/1547 write ";***********************************************************************" +21-236-11:27:44.668 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:27:44.668 00 SCX_CPU1_DS_FI/1548 write "; Step 2.16: Send the Set File Index for a Packet Filter Table entry " +21-236-11:27:44.668 00 SPR-I:OPRO ; Step 2.16: Send the Set File Index for a Packet Filter Table entry +21-236-11:27:44.668 00 SCX_CPU1_DS_FI/1549 write "; command for an entry that specifies Time filtering with a " +21-236-11:27:44.668 00 SPR-I:OPRO ; command for an entry that specifies Time filtering with a +21-236-11:27:44.668 00 SCX_CPU1_DS_FI/1550 write "; Destination File entry that specifies Sequence file type naming. " +21-236-11:27:44.668 00 SPR-I:OPRO ; Destination File entry that specifies Sequence file type naming. +21-236-11:27:44.668 00 SCX_CPU1_DS_FI/1551 write ";***********************************************************************" +21-236-11:27:44.668 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:27:44.668 00 SCX_CPU1_DS_FI/1552 write "; Step 2.16.1: Parse the tables to find an entry to use." +21-236-11:27:44.668 00 SPR-I:OPRO ; Step 2.16.1: Parse the tables to find an entry to use. +21-236-11:27:44.668 00 SCX_CPU1_DS_FI/1553 write ";***********************************************************************" +21-236-11:27:44.668 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:27:44.668 00 SCX_CPU1_DS_FI/1555 logging = %liv (log_procedure) +21-236-11:27:44.668 00 SCX_CPU1_DS_FI/1556 %liv (log_procedure) = FALSE +21-236-11:27:44.784 00 SCX_CPU1_DS_FI/1584 +21-236-11:27:44.784 00 SCX_CPU1_DS_FI/1585 write "==> Found filter entry at ", filterEntry +21-236-11:27:44.784 00 SPR-I:OPRO ==> Found filter entry at 5 +21-236-11:27:44.784 00 SCX_CPU1_DS_FI/1586 write "==> Found file entry at ", seqFileEntry +21-236-11:27:44.784 00 SPR-I:OPRO ==> Found file entry at 0 +21-236-11:27:44.784 00 SCX_CPU1_DS_FI/1587 +21-236-11:27:44.784 00 SCX_CPU1_DS_FI/1588 local seqFileMsgID = SCX_CPU1_DS_PF_TBL[filterEntry].MessageID +21-236-11:27:44.784 00 SCX_CPU1_DS_FI/1589 +21-236-11:27:44.784 00 SCX_CPU1_DS_FI/1590 wait 5 +21-236-11:27:44.784 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:27:49.789 00 SCX_CPU1_DS_FI/1591 +21-236-11:27:49.789 00 SCX_CPU1_DS_FI/1592 write ";***********************************************************************" +21-236-11:27:49.789 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:27:49.789 00 SCX_CPU1_DS_FI/1593 write "; Step 2.16.2: Send the Set File Index command using the entries found " +21-236-11:27:49.789 00 SPR-I:OPRO ; Step 2.16.2: Send the Set File Index command using the entries found +21-236-11:27:49.789 00 SCX_CPU1_DS_FI/1594 write "; in the above step. " +21-236-11:27:49.789 00 SPR-I:OPRO ; in the above step. +21-236-11:27:49.789 00 SCX_CPU1_DS_FI/1595 write ";***********************************************************************" +21-236-11:27:49.789 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:27:49.790 00 SCX_CPU1_DS_FI/1596 ut_setupevents "SCX", "CPU1", {DSAppName}, DS_FILE_CMD_EID, "DEBUG", 1 +21-236-11:27:49.796 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:27:49.796 00 SPR-I:OPRO ; Setup event 1 with DS DEBUG 37 +21-236-11:27:49.796 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:27:49.798 00 SCX_CPU1_DS_FI/1597 +21-236-11:27:49.798 00 SCX_CPU1_DS_FI/1598 cmdCtr = SCX_CPU1_DS_CMDPC + 1 +21-236-11:27:49.798 00 SCX_CPU1_DS_FI/1600 /SCX_CPU1_DS_SetFilterFile MessageID=seqFileMsgID ParamIndex=0 FileIndex=seqFileEntry +21-236-11:27:49.804 00 SCX_CPU1_DS_FI/1601 +21-236-11:27:49.804 00 SCX_CPU1_DS_FI/1602 ut_tlmwait SCX_CPU1_DS_CMDPC, {cmdCtr} +21-236-11:27:49.816 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:27:50.517 00 TLMH-I:STS 58-012-14:11:47.502 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=37 FILTER FILE command: MID = 0x00000905, index = 5, filter = 0, file = 0 +21-236-11:27:51.818 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:27:51.820 00 SCX_CPU1_DS_FI/1603 if (UT_TW_Status = UT_Success) then +21-236-11:27:51.820 00 SCX_CPU1_DS_FI/1604 write "<*> Passed (1004;5008) - DS Set Filter File command sent properly." +21-236-11:27:51.820 00 SPR-I:OPRO <*> Passed (1004;5008) - DS Set Filter File command sent properly. +21-236-11:27:51.820 00 SCX_CPU1_DS_FI/1605 ut_setrequirements DS_1004, "P" +21-236-11:27:51.823 00 SCX_CPU1_DS_FI/1606 ut_setrequirements DS_5008, "P" +21-236-11:27:51.826 00 SCX_CPU1_DS_FI/1611 endif +21-236-11:27:51.826 00 SCX_CPU1_DS_FI/1612 +21-236-11:27:51.827 00 SCX_CPU1_DS_FI/1614 ut_tlmwait SCX_CPU1_find_event[1].num_found_messages, 1 +21-236-11:27:51.839 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:27:51.840 00 SCX_CPU1_DS_FI/1615 if (UT_TW_Status = UT_Success) then +21-236-11:27:51.841 00 SCX_CPU1_DS_FI/1616 write "<*> Passed (1004;5008) - Expected Event Msg ",DS_FILE_CMD_EID," rcv'd." +21-236-11:27:51.841 00 SPR-I:OPRO <*> Passed (1004;5008) - Expected Event Msg 37 rcv'd. +21-236-11:27:51.841 00 SCX_CPU1_DS_FI/1617 ut_setrequirements DS_1004, "P" +21-236-11:27:51.880 00 SCX_CPU1_DS_FI/1618 ut_setrequirements DS_5008, "P" +21-236-11:27:51.882 00 SCX_CPU1_DS_FI/1623 endif +21-236-11:27:51.882 00 SCX_CPU1_DS_FI/1624 +21-236-11:27:51.882 00 SCX_CPU1_DS_FI/1625 wait 5 +21-236-11:27:51.882 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:27:56.886 00 SCX_CPU1_DS_FI/1626 +21-236-11:27:56.886 00 SCX_CPU1_DS_FI/1627 write ";***********************************************************************" +21-236-11:27:56.886 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:27:56.886 00 SCX_CPU1_DS_FI/1628 write "; Step 2.16.3: Dump the Packet Filter Table. " +21-236-11:27:56.886 00 SPR-I:OPRO ; Step 2.16.3: Dump the Packet Filter Table. +21-236-11:27:56.886 00 SCX_CPU1_DS_FI/1629 write ";***********************************************************************" +21-236-11:27:56.886 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:27:56.886 00 SCX_CPU1_DS_FI/1631 s get_tbl_to_cvt (ramDir,filterTblName,"A","cpu1_filtertbl2163",hostCPU,filterTblPktId) +21-236-11:27:56.886 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/get_tbl_to_cvt.i +21-236-11:27:56.887 00 SPR-I:STS Procedure GET_TBL_TO_CVT started +21-236-11:27:56.887 00 GET_TBL_TO_CVT/2 ; +21-236-11:27:56.887 00 GET_TBL_TO_CVT/3 local logging = %liv (log_procedure) +21-236-11:27:56.887 00 GET_TBL_TO_CVT/4 %liv (log_procedure) = FALSE +21-236-11:27:56.893 00 SPR-I:OPRO Sending Command: /SCX_CPU1_TBL_DUMP ACTIVE DTABLENAME="DS.FILTER_TBL" DFILENAME="/ram/cpu1_filtertbl2163" +21-236-11:27:56.894 00 SPR-I:STTE Wait mode - waiting 15 seconds ... +21-236-11:27:57.517 00 TLMH-I:STS 58-012-14:11:54.503 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=14 Successfully dumped Table 'DS.FILTER_TBL' to '/ram/cpu1_filtertbl2163' +21-236-11:28:11.905 00 SPR-I:OPRO +21-236-11:28:11.905 00 SPR-I:OPRO The TBLNAME is: DS.FILTER_TBL +21-236-11:28:11.905 00 SPR-I:OPRO The APID is: P0F77 +21-236-11:28:11.905 00 SPR-I:OPRO The CPU is: CPU3 +21-236-11:28:11.905 00 SPR-I:OPRO The IP Address is: 192.168.1.8 +21-236-11:28:11.906 00 SPR-I:OPRO The perl command is: perl /s/opr/accounts/global/tools/ftp.pl RAM:0 cpu1_filtertbl2163 cpu1_filtertbl2163 binary 192.168.1.8 +21-236-11:28:12.046 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-11:28:12.046 00 SPR-I:STTE Wait mode - waiting 15 seconds ... +21-236-11:28:27.059 00 SPR-I:OPRO +21-236-11:28:27.103 00 SPR-I:OPRO The unix command is cvt -ws file_list[3959].file_write_time "`date +%y-%j-%T -r /s/opr/accounts/cfs_test/image/cpu1_filtertbl2163`" +21-236-11:28:27.103 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:28:32.108 00 GET_TBL_TO_CVT/238 +21-236-11:28:32.108 00 GET_TBL_TO_CVT/239 ENDPROC +21-236-11:28:32.108 00 SPR-I:STS Procedure GET_TBL_TO_CVT completed +21-236-11:28:32.110 00 SCX_CPU1_DS_FI/1632 +21-236-11:28:32.110 00 SCX_CPU1_DS_FI/1634 if (SCX_CPU1_DS_PF_TBL[filterEntry].FilterParams[0].Index = seqFileEntry) then +21-236-11:28:32.110 00 SCX_CPU1_DS_FI/1635 write "<*> Passed (5008) - Parameter changes are reflected in the table." +21-236-11:28:32.110 00 SPR-I:OPRO <*> Passed (5008) - Parameter changes are reflected in the table. +21-236-11:28:32.111 00 SCX_CPU1_DS_FI/1636 ut_setrequirements DS_5008, "P" +21-236-11:28:32.113 00 SCX_CPU1_DS_FI/1640 endif +21-236-11:28:32.114 00 SCX_CPU1_DS_FI/1641 +21-236-11:28:32.114 00 SCX_CPU1_DS_FI/1642 wait 5 +21-236-11:28:32.114 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:28:37.118 00 SCX_CPU1_DS_FI/1643 +21-236-11:28:37.118 00 SCX_CPU1_DS_FI/1644 write ";***********************************************************************" +21-236-11:28:37.118 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:28:37.119 00 SCX_CPU1_DS_FI/1645 write "; Step 2.17: Send the TST_DS command to send a message to DS using the " +21-236-11:28:37.119 00 SPR-I:OPRO ; Step 2.17: Send the TST_DS command to send a message to DS using the +21-236-11:28:37.119 00 SCX_CPU1_DS_FI/1646 write "; MessageID found above. Send a message that will not exceed the file " +21-236-11:28:37.119 00 SPR-I:OPRO ; MessageID found above. Send a message that will not exceed the file +21-236-11:28:37.119 00 SCX_CPU1_DS_FI/1647 write "; size constraint. The HK should contain info about the file opened. " +21-236-11:28:37.119 00 SPR-I:OPRO ; size constraint. The HK should contain info about the file opened. +21-236-11:28:37.119 00 SCX_CPU1_DS_FI/1648 write ";***********************************************************************" +21-236-11:28:37.119 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:28:37.120 00 SCX_CPU1_DS_FI/1650 ut_setupevents "SCX", "CPU1", "TST_DS", TST_DS_MSG1_SENT_INF_EID, "INFO", 1 +21-236-11:28:37.126 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:28:37.127 00 SPR-I:OPRO ; Setup event 1 with TST_DS INFO 5 +21-236-11:28:37.127 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:28:37.128 00 SCX_CPU1_DS_FI/1651 +21-236-11:28:37.129 00 SCX_CPU1_DS_FI/1652 expPassedPkts = SCX_CPU1_DS_PassedPktCnt + 1 +21-236-11:28:37.129 00 SCX_CPU1_DS_FI/1653 +21-236-11:28:37.129 00 SCX_CPU1_DS_FI/1655 /SCX_CPU1_TST_DS_SENDMESSAGE MsgID=seqFileMsgID MsgType=1 Pattern=x'55' +21-236-11:28:37.145 00 SCX_CPU1_DS_FI/1656 +21-236-11:28:37.145 00 SCX_CPU1_DS_FI/1658 ut_tlmwait SCX_CPU1_find_event[1].num_found_messages, 1 +21-236-11:28:37.158 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:28:38.016 00 TLMH-I:STS 58-012-14:12:35.003 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Message Size 116 to MID 0x00000905 +21-236-11:28:38.159 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:28:38.161 00 SCX_CPU1_DS_FI/1659 if (UT_TW_Status = UT_Success) then +21-236-11:28:38.161 00 SCX_CPU1_DS_FI/1660 write "<*> Passed - Expected Event Msg ",TST_DS_MSG1_SENT_INF_EID," rcv'd." +21-236-11:28:38.161 00 SPR-I:OPRO <*> Passed - Expected Event Msg 5 rcv'd. +21-236-11:28:38.162 00 SCX_CPU1_DS_FI/1663 endif +21-236-11:28:38.162 00 SCX_CPU1_DS_FI/1664 +21-236-11:28:38.162 00 SCX_CPU1_DS_FI/1666 cmdCtr = SCX_CPU1_DS_CMDPC + 1 +21-236-11:28:38.162 00 SCX_CPU1_DS_FI/1667 +21-236-11:28:38.162 00 SCX_CPU1_DS_FI/1668 /SCX_CPU1_DS_GetFileInfo +21-236-11:28:38.177 00 SCX_CPU1_DS_FI/1669 +21-236-11:28:38.177 00 SCX_CPU1_DS_FI/1670 ut_tlmwait SCX_CPU1_DS_CMDPC, {cmdCtr} +21-236-11:28:38.188 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:28:39.009 00 TLMH-I:STS 58-012-14:12:36.003 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-11:28:39.190 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:28:39.192 00 SCX_CPU1_DS_FI/1671 +21-236-11:28:39.192 00 SCX_CPU1_DS_FI/1673 if (expPassedPkts = SCX_CPU1_DS_PassedPktCnt) then +21-236-11:28:39.192 00 SCX_CPU1_DS_FI/1674 write "<*> Passed (2000) - Passed packet counter incremented properly." +21-236-11:28:39.193 00 SPR-I:OPRO <*> Passed (2000) - Passed packet counter incremented properly. +21-236-11:28:39.193 00 SCX_CPU1_DS_FI/1675 ut_setrequirements DS_2000, "P" +21-236-11:28:39.196 00 SCX_CPU1_DS_FI/1679 endif +21-236-11:28:39.196 00 SCX_CPU1_DS_FI/1680 +21-236-11:28:39.196 00 SCX_CPU1_DS_FI/1682 fileName = "" +21-236-11:28:39.196 00 SCX_CPU1_DS_FI/1683 if (SCX_CPU1_DS_FileState[seqFileEntry].FileName <> "") then +21-236-11:28:39.197 00 SCX_CPU1_DS_FI/1684 fileName = SCX_CPU1_DS_FileState[seqFileEntry].FileName +21-236-11:28:39.197 00 SCX_CPU1_DS_FI/1685 write "<*> Passed (2002.1;3000;3000.1;3000.1.1) - A file was created with name '",fileName,"'" +21-236-11:28:39.197 00 SPR-I:OPRO <*> Passed (2002.1;3000;3000.1;3000.1.1) - A file was created with name '/ram/seq100000103.dat' +21-236-11:28:39.198 00 SCX_CPU1_DS_FI/1686 ut_setrequirements DS_20021, "P" +21-236-11:28:39.202 00 SCX_CPU1_DS_FI/1687 ut_setrequirements DS_3000, "P" +21-236-11:28:39.206 00 SCX_CPU1_DS_FI/1688 ut_setrequirements DS_30001, "A" +21-236-11:28:39.234 00 SCX_CPU1_DS_FI/1689 ut_setrequirements DS_300011, "A" +21-236-11:28:39.235 00 SCX_CPU1_DS_FI/1696 endif +21-236-11:28:39.235 00 SCX_CPU1_DS_FI/1697 +21-236-11:28:39.235 00 SCX_CPU1_DS_FI/1698 wait 5 +21-236-11:28:39.235 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:28:44.238 00 SCX_CPU1_DS_FI/1699 +21-236-11:28:44.238 00 SCX_CPU1_DS_FI/1700 write ";***********************************************************************" +21-236-11:28:44.239 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:28:44.239 00 SCX_CPU1_DS_FI/1701 write "; Step 2.18: Close the Destination File opened in the above step." +21-236-11:28:44.240 00 SPR-I:OPRO ; Step 2.18: Close the Destination File opened in the above step. +21-236-11:28:44.240 00 SCX_CPU1_DS_FI/1702 write ";***********************************************************************" +21-236-11:28:44.240 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:28:44.240 00 SCX_CPU1_DS_FI/1704 ut_setupevents "SCX", "CPU1", {DSAppName}, DS_CLOSE_CMD_EID, "DEBUG", 1 +21-236-11:28:44.244 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:28:44.244 00 SPR-I:OPRO ; Setup event 1 with DS DEBUG 59 +21-236-11:28:44.244 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:28:44.245 00 SCX_CPU1_DS_FI/1705 +21-236-11:28:44.245 00 SCX_CPU1_DS_FI/1706 cmdCtr = SCX_CPU1_DS_CMDPC + 1 +21-236-11:28:44.245 00 SCX_CPU1_DS_FI/1708 /SCX_CPU1_DS_CloseFile FileIndex=seqFileEntry +21-236-11:28:44.256 00 SCX_CPU1_DS_FI/1709 +21-236-11:28:44.256 00 SCX_CPU1_DS_FI/1710 ut_tlmwait SCX_CPU1_DS_CMDPC, {cmdCtr} +21-236-11:28:44.259 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:28:45.010 00 TLMH-I:STS 58-012-14:12:42.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=59 DEST CLOSE command: file table index = 0 +21-236-11:28:47.262 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:28:47.263 00 SCX_CPU1_DS_FI/1711 if (UT_TW_Status = UT_Success) then +21-236-11:28:47.263 00 SCX_CPU1_DS_FI/1712 write "<*> Passed (1004;5002) - DS Close File command sent properly." +21-236-11:28:47.263 00 SPR-I:OPRO <*> Passed (1004;5002) - DS Close File command sent properly. +21-236-11:28:47.263 00 SCX_CPU1_DS_FI/1713 ut_setrequirements DS_1004, "P" +21-236-11:28:47.265 00 SCX_CPU1_DS_FI/1714 ut_setrequirements DS_5002, "P" +21-236-11:28:47.266 00 SCX_CPU1_DS_FI/1719 endif +21-236-11:28:47.266 00 SCX_CPU1_DS_FI/1720 +21-236-11:28:47.266 00 SCX_CPU1_DS_FI/1722 ut_tlmwait SCX_CPU1_find_event[1].num_found_messages, 1 +21-236-11:28:47.271 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:28:47.272 00 SCX_CPU1_DS_FI/1723 if (UT_TW_Status = UT_Success) then +21-236-11:28:47.272 00 SCX_CPU1_DS_FI/1724 write "<*> Passed (1004;5002) - Expected Event Msg ",DS_CLOSE_CMD_EID," rcv'd." +21-236-11:28:47.272 00 SPR-I:OPRO <*> Passed (1004;5002) - Expected Event Msg 59 rcv'd. +21-236-11:28:47.272 00 SCX_CPU1_DS_FI/1725 ut_setrequirements DS_1004, "P" +21-236-11:28:47.301 00 SCX_CPU1_DS_FI/1726 ut_setrequirements DS_5002, "P" +21-236-11:28:47.301 00 SCX_CPU1_DS_FI/1731 endif +21-236-11:28:47.301 00 SCX_CPU1_DS_FI/1732 +21-236-11:28:47.301 00 SCX_CPU1_DS_FI/1734 if (fileName <> "") then +21-236-11:28:47.301 00 SCX_CPU1_DS_FI/1735 ut_setrequirements DS_3003, "A" +21-236-11:28:47.302 00 SCX_CPU1_DS_FI/1736 ut_setrequirements DS_3004, "A" +21-236-11:28:47.303 00 SCX_CPU1_DS_FI/1737 write "==> Downloading '",fileName,"'" +21-236-11:28:47.303 00 SPR-I:OPRO ==> Downloading '/ram/seq100000103.dat' +21-236-11:28:47.303 00 SCX_CPU1_DS_FI/1738 slashLoc = %locate(fileName,"/") +21-236-11:28:47.303 00 SCX_CPU1_DS_FI/1739 while (slashLoc <> 0) do +21-236-11:28:47.303 00 SCX_CPU1_DS_FI/1740 fileName = %substring(fileName,slashLoc+1,%length(fileName)) +21-236-11:28:47.303 00 SCX_CPU1_DS_FI/1741 slashLoc = %locate(fileName,"/") +21-236-11:28:47.303 00 SCX_CPU1_DS_FI/1742 enddo +21-236-11:28:47.305 00 SCX_CPU1_DS_FI/1740 fileName = %substring(fileName,slashLoc+1,%length(fileName)) +21-236-11:28:47.305 00 SCX_CPU1_DS_FI/1741 slashLoc = %locate(fileName,"/") +21-236-11:28:47.327 00 SCX_CPU1_DS_FI/1742 enddo +21-236-11:28:47.327 00 SCX_CPU1_DS_FI/1743 write "==> FileName Only = '",fileName,"'" +21-236-11:28:47.327 00 SPR-I:OPRO ==> FileName Only = 'seq100000103.dat' +21-236-11:28:47.327 00 SCX_CPU1_DS_FI/1746 s ftp_file(ramDir, fileName, fileName, hostCPU, "G") +21-236-11:28:47.328 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/ftp_file.i +21-236-11:28:47.328 00 SPR-I:STS Procedure FTP_FILE started +21-236-11:28:47.328 00 FTP_FILE/2 ; +21-236-11:28:47.328 00 FTP_FILE/3 local logging = %liv (log_procedure) +21-236-11:28:47.328 00 FTP_FILE/4 %liv (log_procedure) = FALSE +21-236-11:28:47.420 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-11:28:47.420 00 FTP_FILE/85 ENDPROC +21-236-11:28:47.420 00 SPR-I:STS Procedure FTP_FILE completed +21-236-11:28:47.421 00 SCX_CPU1_DS_FI/1750 endif +21-236-11:28:47.421 00 SCX_CPU1_DS_FI/1751 +21-236-11:28:47.421 00 SCX_CPU1_DS_FI/1752 wait 5 +21-236-11:28:47.421 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:28:52.425 00 SCX_CPU1_DS_FI/1753 +21-236-11:28:52.425 00 SCX_CPU1_DS_FI/1754 write ";*********************************************************************" +21-236-11:28:52.425 00 SPR-I:OPRO ;********************************************************************* +21-236-11:28:52.425 00 SCX_CPU1_DS_FI/1755 write "; Step 3.0: Commanding Tests " +21-236-11:28:52.425 00 SPR-I:OPRO ; Step 3.0: Commanding Tests +21-236-11:28:52.425 00 SCX_CPU1_DS_FI/1756 write ";*********************************************************************" +21-236-11:28:52.425 00 SPR-I:OPRO ;********************************************************************* +21-236-11:28:52.425 00 SCX_CPU1_DS_FI/1757 write "; Step 3.1: Using the Packet Filter Table entry from Step 2.18, send " +21-236-11:28:52.425 00 SPR-I:OPRO ; Step 3.1: Using the Packet Filter Table entry from Step 2.18, send +21-236-11:28:52.425 00 SCX_CPU1_DS_FI/1758 write "; the Set File Index command using a different Destination File index." +21-236-11:28:52.426 00 SPR-I:OPRO ; the Set File Index command using a different Destination File index. +21-236-11:28:52.426 00 SCX_CPU1_DS_FI/1759 write ";*********************************************************************" +21-236-11:28:52.426 00 SPR-I:OPRO ;********************************************************************* +21-236-11:28:52.426 00 SCX_CPU1_DS_FI/1761 local newFileEntry = 0 +21-236-11:28:52.426 00 SCX_CPU1_DS_FI/1762 foundEntry = FALSE +21-236-11:28:52.426 00 SCX_CPU1_DS_FI/1763 for i = 0 to DS_DEST_FILE_CNT-1 do +21-236-11:28:52.426 00 SCX_CPU1_DS_FI/1764 if (i <> seqFileEntry) AND ;; +21-236-11:28:52.426 00 SCX_CPU1_DS_FI/1765 (SCX_CPU1_DS_DF_TBL[i].FileNameType = DS_BY_COUNT) AND ;; +21-236-11:28:52.426 00 SCX_CPU1_DS_FI/1766 (foundEntry = FALSE) then +21-236-11:28:52.427 00 SCX_CPU1_DS_FI/1769 endif +21-236-11:28:52.427 00 SCX_CPU1_DS_FI/1770 enddo +21-236-11:28:52.428 00 SCX_CPU1_DS_FI/1763 for i = 0 to DS_DEST_FILE_CNT-1 do +21-236-11:28:52.428 00 SCX_CPU1_DS_FI/1764 if (i <> seqFileEntry) AND ;; +21-236-11:28:52.428 00 SCX_CPU1_DS_FI/1765 (SCX_CPU1_DS_DF_TBL[i].FileNameType = DS_BY_COUNT) AND ;; +21-236-11:28:52.428 00 SCX_CPU1_DS_FI/1766 (foundEntry = FALSE) then +21-236-11:28:52.429 00 SCX_CPU1_DS_FI/1767 newFileEntry = i +21-236-11:28:52.429 00 SCX_CPU1_DS_FI/1768 foundEntry = TRUE +21-236-11:28:52.429 00 SCX_CPU1_DS_FI/1769 endif +21-236-11:28:52.429 00 SCX_CPU1_DS_FI/1770 enddo +21-236-11:28:52.430 00 SCX_CPU1_DS_FI/1763 for i = 0 to DS_DEST_FILE_CNT-1 do +21-236-11:28:52.430 00 SCX_CPU1_DS_FI/1764 if (i <> seqFileEntry) AND ;; +21-236-11:28:52.430 00 SCX_CPU1_DS_FI/1765 (SCX_CPU1_DS_DF_TBL[i].FileNameType = DS_BY_COUNT) AND ;; +21-236-11:28:52.430 00 SCX_CPU1_DS_FI/1766 (foundEntry = FALSE) then +21-236-11:28:52.431 00 SCX_CPU1_DS_FI/1769 endif +21-236-11:28:52.431 00 SCX_CPU1_DS_FI/1770 enddo +21-236-11:28:52.432 00 SCX_CPU1_DS_FI/1763 for i = 0 to DS_DEST_FILE_CNT-1 do +21-236-11:28:52.432 00 SCX_CPU1_DS_FI/1764 if (i <> seqFileEntry) AND ;; +21-236-11:28:52.432 00 SCX_CPU1_DS_FI/1765 (SCX_CPU1_DS_DF_TBL[i].FileNameType = DS_BY_COUNT) AND ;; +21-236-11:28:52.432 00 SCX_CPU1_DS_FI/1766 (foundEntry = FALSE) then +21-236-11:28:52.433 00 SCX_CPU1_DS_FI/1769 endif +21-236-11:28:52.433 00 SCX_CPU1_DS_FI/1770 enddo +21-236-11:28:52.434 00 SCX_CPU1_DS_FI/1763 for i = 0 to DS_DEST_FILE_CNT-1 do +21-236-11:28:52.434 00 SCX_CPU1_DS_FI/1764 if (i <> seqFileEntry) AND ;; +21-236-11:28:52.434 00 SCX_CPU1_DS_FI/1765 (SCX_CPU1_DS_DF_TBL[i].FileNameType = DS_BY_COUNT) AND ;; +21-236-11:28:52.434 00 SCX_CPU1_DS_FI/1766 (foundEntry = FALSE) then +21-236-11:28:52.435 00 SCX_CPU1_DS_FI/1769 endif +21-236-11:28:52.435 00 SCX_CPU1_DS_FI/1770 enddo +21-236-11:28:52.435 00 SCX_CPU1_DS_FI/1763 for i = 0 to DS_DEST_FILE_CNT-1 do +21-236-11:28:52.436 00 SCX_CPU1_DS_FI/1764 if (i <> seqFileEntry) AND ;; +21-236-11:28:52.436 00 SCX_CPU1_DS_FI/1765 (SCX_CPU1_DS_DF_TBL[i].FileNameType = DS_BY_COUNT) AND ;; +21-236-11:28:52.436 00 SCX_CPU1_DS_FI/1766 (foundEntry = FALSE) then +21-236-11:28:52.437 00 SCX_CPU1_DS_FI/1769 endif +21-236-11:28:52.437 00 SCX_CPU1_DS_FI/1770 enddo +21-236-11:28:52.437 00 SCX_CPU1_DS_FI/1763 for i = 0 to DS_DEST_FILE_CNT-1 do +21-236-11:28:52.438 00 SCX_CPU1_DS_FI/1764 if (i <> seqFileEntry) AND ;; +21-236-11:28:52.438 00 SCX_CPU1_DS_FI/1765 (SCX_CPU1_DS_DF_TBL[i].FileNameType = DS_BY_COUNT) AND ;; +21-236-11:28:52.438 00 SCX_CPU1_DS_FI/1766 (foundEntry = FALSE) then +21-236-11:28:52.438 00 SCX_CPU1_DS_FI/1769 endif +21-236-11:28:52.439 00 SCX_CPU1_DS_FI/1770 enddo +21-236-11:28:52.439 00 SCX_CPU1_DS_FI/1763 for i = 0 to DS_DEST_FILE_CNT-1 do +21-236-11:28:52.440 00 SCX_CPU1_DS_FI/1764 if (i <> seqFileEntry) AND ;; +21-236-11:28:52.440 00 SCX_CPU1_DS_FI/1765 (SCX_CPU1_DS_DF_TBL[i].FileNameType = DS_BY_COUNT) AND ;; +21-236-11:28:52.440 00 SCX_CPU1_DS_FI/1766 (foundEntry = FALSE) then +21-236-11:28:52.441 00 SCX_CPU1_DS_FI/1769 endif +21-236-11:28:52.441 00 SCX_CPU1_DS_FI/1770 enddo +21-236-11:28:52.442 00 SCX_CPU1_DS_FI/1763 for i = 0 to DS_DEST_FILE_CNT-1 do +21-236-11:28:52.442 00 SCX_CPU1_DS_FI/1764 if (i <> seqFileEntry) AND ;; +21-236-11:28:52.442 00 SCX_CPU1_DS_FI/1765 (SCX_CPU1_DS_DF_TBL[i].FileNameType = DS_BY_COUNT) AND ;; +21-236-11:28:52.442 00 SCX_CPU1_DS_FI/1766 (foundEntry = FALSE) then +21-236-11:28:52.443 00 SCX_CPU1_DS_FI/1769 endif +21-236-11:28:52.443 00 SCX_CPU1_DS_FI/1770 enddo +21-236-11:28:52.444 00 SCX_CPU1_DS_FI/1763 for i = 0 to DS_DEST_FILE_CNT-1 do +21-236-11:28:52.444 00 SCX_CPU1_DS_FI/1764 if (i <> seqFileEntry) AND ;; +21-236-11:28:52.444 00 SCX_CPU1_DS_FI/1765 (SCX_CPU1_DS_DF_TBL[i].FileNameType = DS_BY_COUNT) AND ;; +21-236-11:28:52.444 00 SCX_CPU1_DS_FI/1766 (foundEntry = FALSE) then +21-236-11:28:52.445 00 SCX_CPU1_DS_FI/1769 endif +21-236-11:28:52.445 00 SCX_CPU1_DS_FI/1770 enddo +21-236-11:28:52.446 00 SCX_CPU1_DS_FI/1763 for i = 0 to DS_DEST_FILE_CNT-1 do +21-236-11:28:52.446 00 SCX_CPU1_DS_FI/1764 if (i <> seqFileEntry) AND ;; +21-236-11:28:52.446 00 SCX_CPU1_DS_FI/1765 (SCX_CPU1_DS_DF_TBL[i].FileNameType = DS_BY_COUNT) AND ;; +21-236-11:28:52.446 00 SCX_CPU1_DS_FI/1766 (foundEntry = FALSE) then +21-236-11:28:52.447 00 SCX_CPU1_DS_FI/1769 endif +21-236-11:28:52.447 00 SCX_CPU1_DS_FI/1770 enddo +21-236-11:28:52.448 00 SCX_CPU1_DS_FI/1763 for i = 0 to DS_DEST_FILE_CNT-1 do +21-236-11:28:52.448 00 SCX_CPU1_DS_FI/1764 if (i <> seqFileEntry) AND ;; +21-236-11:28:52.448 00 SCX_CPU1_DS_FI/1765 (SCX_CPU1_DS_DF_TBL[i].FileNameType = DS_BY_COUNT) AND ;; +21-236-11:28:52.448 00 SCX_CPU1_DS_FI/1766 (foundEntry = FALSE) then +21-236-11:28:52.449 00 SCX_CPU1_DS_FI/1769 endif +21-236-11:28:52.449 00 SCX_CPU1_DS_FI/1770 enddo +21-236-11:28:52.450 00 SCX_CPU1_DS_FI/1763 for i = 0 to DS_DEST_FILE_CNT-1 do +21-236-11:28:52.450 00 SCX_CPU1_DS_FI/1764 if (i <> seqFileEntry) AND ;; +21-236-11:28:52.450 00 SCX_CPU1_DS_FI/1765 (SCX_CPU1_DS_DF_TBL[i].FileNameType = DS_BY_COUNT) AND ;; +21-236-11:28:52.450 00 SCX_CPU1_DS_FI/1766 (foundEntry = FALSE) then +21-236-11:28:52.451 00 SCX_CPU1_DS_FI/1769 endif +21-236-11:28:52.451 00 SCX_CPU1_DS_FI/1770 enddo +21-236-11:28:52.452 00 SCX_CPU1_DS_FI/1763 for i = 0 to DS_DEST_FILE_CNT-1 do +21-236-11:28:52.452 00 SCX_CPU1_DS_FI/1764 if (i <> seqFileEntry) AND ;; +21-236-11:28:52.452 00 SCX_CPU1_DS_FI/1765 (SCX_CPU1_DS_DF_TBL[i].FileNameType = DS_BY_COUNT) AND ;; +21-236-11:28:52.452 00 SCX_CPU1_DS_FI/1766 (foundEntry = FALSE) then +21-236-11:28:52.453 00 SCX_CPU1_DS_FI/1769 endif +21-236-11:28:52.453 00 SCX_CPU1_DS_FI/1770 enddo +21-236-11:28:52.454 00 SCX_CPU1_DS_FI/1763 for i = 0 to DS_DEST_FILE_CNT-1 do +21-236-11:28:52.461 00 SCX_CPU1_DS_FI/1764 if (i <> seqFileEntry) AND ;; +21-236-11:28:52.462 00 SCX_CPU1_DS_FI/1765 (SCX_CPU1_DS_DF_TBL[i].FileNameType = DS_BY_COUNT) AND ;; +21-236-11:28:52.462 00 SCX_CPU1_DS_FI/1766 (foundEntry = FALSE) then +21-236-11:28:52.462 00 SCX_CPU1_DS_FI/1769 endif +21-236-11:28:52.462 00 SCX_CPU1_DS_FI/1770 enddo +21-236-11:28:52.462 00 SCX_CPU1_DS_FI/1763 for i = 0 to DS_DEST_FILE_CNT-1 do +21-236-11:28:52.463 00 SCX_CPU1_DS_FI/1764 if (i <> seqFileEntry) AND ;; +21-236-11:28:52.463 00 SCX_CPU1_DS_FI/1765 (SCX_CPU1_DS_DF_TBL[i].FileNameType = DS_BY_COUNT) AND ;; +21-236-11:28:52.463 00 SCX_CPU1_DS_FI/1766 (foundEntry = FALSE) then +21-236-11:28:52.463 00 SCX_CPU1_DS_FI/1769 endif +21-236-11:28:52.463 00 SCX_CPU1_DS_FI/1770 enddo +21-236-11:28:52.463 00 SCX_CPU1_DS_FI/1763 for i = 0 to DS_DEST_FILE_CNT-1 do +21-236-11:28:52.464 00 SCX_CPU1_DS_FI/1771 +21-236-11:28:52.464 00 SCX_CPU1_DS_FI/1772 write "==> Found file entry at ", newFileEntry +21-236-11:28:52.464 00 SPR-I:OPRO ==> Found file entry at 1 +21-236-11:28:52.464 00 SCX_CPU1_DS_FI/1773 +21-236-11:28:52.464 00 SCX_CPU1_DS_FI/1775 ut_setupevents "SCX", "CPU1", {DSAppName}, DS_FILE_CMD_EID, "DEBUG", 1 +21-236-11:28:52.467 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:28:52.467 00 SPR-I:OPRO ; Setup event 1 with DS DEBUG 37 +21-236-11:28:52.467 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:28:52.468 00 SCX_CPU1_DS_FI/1776 +21-236-11:28:52.468 00 SCX_CPU1_DS_FI/1777 cmdCtr = SCX_CPU1_DS_CMDPC + 1 +21-236-11:28:52.468 00 SCX_CPU1_DS_FI/1779 /SCX_CPU1_DS_SetFilterFile MessageID=seqFileMsgID ParamIndex=0 FileIndex=newFileEntry +21-236-11:28:52.472 00 SCX_CPU1_DS_FI/1780 +21-236-11:28:52.472 00 SCX_CPU1_DS_FI/1781 ut_tlmwait SCX_CPU1_DS_CMDPC, {cmdCtr} +21-236-11:28:52.477 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:28:53.015 00 TLMH-I:STS 58-012-14:12:50.002 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=37 FILTER FILE command: MID = 0x00000905, index = 5, filter = 0, file = 1 +21-236-11:28:55.480 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:28:55.482 00 SCX_CPU1_DS_FI/1782 if (UT_TW_Status = UT_Success) then +21-236-11:28:55.482 00 SCX_CPU1_DS_FI/1783 write "<*> Passed (1004;5008) - DS Set Filter File command sent properly." +21-236-11:28:55.482 00 SPR-I:OPRO <*> Passed (1004;5008) - DS Set Filter File command sent properly. +21-236-11:28:55.482 00 SCX_CPU1_DS_FI/1784 ut_setrequirements DS_1004, "P" +21-236-11:28:55.486 00 SCX_CPU1_DS_FI/1785 ut_setrequirements DS_5008, "P" +21-236-11:28:55.487 00 SCX_CPU1_DS_FI/1790 endif +21-236-11:28:55.487 00 SCX_CPU1_DS_FI/1791 +21-236-11:28:55.487 00 SCX_CPU1_DS_FI/1793 ut_tlmwait SCX_CPU1_find_event[1].num_found_messages, 1 +21-236-11:28:55.490 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:28:55.491 00 SCX_CPU1_DS_FI/1794 if (UT_TW_Status = UT_Success) then +21-236-11:28:55.491 00 SCX_CPU1_DS_FI/1795 write "<*> Passed (1004;5008) - Expected Event Msg ",DS_FILE_CMD_EID," rcv'd." +21-236-11:28:55.491 00 SPR-I:OPRO <*> Passed (1004;5008) - Expected Event Msg 37 rcv'd. +21-236-11:28:55.491 00 SCX_CPU1_DS_FI/1796 ut_setrequirements DS_1004, "P" +21-236-11:28:55.516 00 SCX_CPU1_DS_FI/1797 ut_setrequirements DS_5008, "P" +21-236-11:28:55.517 00 SCX_CPU1_DS_FI/1802 endif +21-236-11:28:55.517 00 SCX_CPU1_DS_FI/1803 +21-236-11:28:55.517 00 SCX_CPU1_DS_FI/1804 wait 5 +21-236-11:28:55.517 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:29:00.520 00 SCX_CPU1_DS_FI/1805 +21-236-11:29:00.521 00 SCX_CPU1_DS_FI/1806 write ";***********************************************************************" +21-236-11:29:00.521 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:29:00.521 00 SCX_CPU1_DS_FI/1807 write "; Step 3.2: Dump the Packet Filter Table. " +21-236-11:29:00.521 00 SPR-I:OPRO ; Step 3.2: Dump the Packet Filter Table. +21-236-11:29:00.521 00 SCX_CPU1_DS_FI/1808 write ";***********************************************************************" +21-236-11:29:00.521 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:29:00.521 00 SCX_CPU1_DS_FI/1810 s get_tbl_to_cvt (ramDir,filterTblName,"A","cpu1_filtertbl32",hostCPU,filterTblPktId) +21-236-11:29:00.522 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/get_tbl_to_cvt.i +21-236-11:29:00.524 00 SPR-I:STS Procedure GET_TBL_TO_CVT started +21-236-11:29:00.525 00 GET_TBL_TO_CVT/2 ; +21-236-11:29:00.525 00 GET_TBL_TO_CVT/3 local logging = %liv (log_procedure) +21-236-11:29:00.525 00 GET_TBL_TO_CVT/4 %liv (log_procedure) = FALSE +21-236-11:29:00.529 00 SPR-I:OPRO Sending Command: /SCX_CPU1_TBL_DUMP ACTIVE DTABLENAME="DS.FILTER_TBL" DFILENAME="/ram/cpu1_filtertbl32" +21-236-11:29:00.531 00 SPR-I:STTE Wait mode - waiting 15 seconds ... +21-236-11:29:01.009 00 TLMH-I:STS 58-012-14:12:58.003 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=14 Successfully dumped Table 'DS.FILTER_TBL' to '/ram/cpu1_filtertbl32' +21-236-11:29:15.542 00 SPR-I:OPRO +21-236-11:29:15.542 00 SPR-I:OPRO The TBLNAME is: DS.FILTER_TBL +21-236-11:29:15.542 00 SPR-I:OPRO The APID is: P0F77 +21-236-11:29:15.542 00 SPR-I:OPRO The CPU is: CPU3 +21-236-11:29:15.543 00 SPR-I:OPRO The IP Address is: 192.168.1.8 +21-236-11:29:15.546 00 SPR-I:OPRO The perl command is: perl /s/opr/accounts/global/tools/ftp.pl RAM:0 cpu1_filtertbl32 cpu1_filtertbl32 binary 192.168.1.8 +21-236-11:29:15.694 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-11:29:15.694 00 SPR-I:STTE Wait mode - waiting 15 seconds ... +21-236-11:29:30.706 00 SPR-I:OPRO +21-236-11:29:30.743 00 SPR-I:OPRO The unix command is cvt -ws file_list[3959].file_write_time "`date +%y-%j-%T -r /s/opr/accounts/cfs_test/image/cpu1_filtertbl32`" +21-236-11:29:30.746 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:29:35.750 00 GET_TBL_TO_CVT/238 +21-236-11:29:35.750 00 GET_TBL_TO_CVT/239 ENDPROC +21-236-11:29:35.750 00 SPR-I:STS Procedure GET_TBL_TO_CVT completed +21-236-11:29:35.752 00 SCX_CPU1_DS_FI/1811 +21-236-11:29:35.752 00 SCX_CPU1_DS_FI/1813 if (SCX_CPU1_DS_PF_TBL[filterEntry].FilterParams[0].Index = newFileEntry) then +21-236-11:29:35.753 00 SCX_CPU1_DS_FI/1814 write "<*> Passed (5008) - Parameter changes are reflected in the table." +21-236-11:29:35.753 00 SPR-I:OPRO <*> Passed (5008) - Parameter changes are reflected in the table. +21-236-11:29:35.753 00 SCX_CPU1_DS_FI/1815 ut_setrequirements DS_5008, "P" +21-236-11:29:35.756 00 SCX_CPU1_DS_FI/1819 endif +21-236-11:29:35.756 00 SCX_CPU1_DS_FI/1820 +21-236-11:29:35.757 00 SCX_CPU1_DS_FI/1821 wait 5 +21-236-11:29:35.757 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:29:40.765 00 SCX_CPU1_DS_FI/1822 +21-236-11:29:40.765 00 SCX_CPU1_DS_FI/1823 write ";***********************************************************************" +21-236-11:29:40.765 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:29:40.765 00 SCX_CPU1_DS_FI/1824 write "; Step 3.3: Send the TST_DS command to send a message to DS using the " +21-236-11:29:40.765 00 SPR-I:OPRO ; Step 3.3: Send the TST_DS command to send a message to DS using the +21-236-11:29:40.766 00 SCX_CPU1_DS_FI/1825 write "; MessageID used above. Send a message that will not exceed the file " +21-236-11:29:40.766 00 SPR-I:OPRO ; MessageID used above. Send a message that will not exceed the file +21-236-11:29:40.766 00 SCX_CPU1_DS_FI/1826 write "; size constraint. The HK should contain info about the file opened. " +21-236-11:29:40.766 00 SPR-I:OPRO ; size constraint. The HK should contain info about the file opened. +21-236-11:29:40.766 00 SCX_CPU1_DS_FI/1827 write ";***********************************************************************" +21-236-11:29:40.766 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:29:40.766 00 SCX_CPU1_DS_FI/1829 ut_setupevents "SCX", "CPU1", "TST_DS", TST_DS_MSG1_SENT_INF_EID, "INFO", 1 +21-236-11:29:40.774 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:29:40.775 00 SPR-I:OPRO ; Setup event 1 with TST_DS INFO 5 +21-236-11:29:40.775 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:29:40.777 00 SCX_CPU1_DS_FI/1830 +21-236-11:29:40.777 00 SCX_CPU1_DS_FI/1831 expPassedPkts = SCX_CPU1_DS_PassedPktCnt + 1 +21-236-11:29:40.777 00 SCX_CPU1_DS_FI/1832 +21-236-11:29:40.777 00 SCX_CPU1_DS_FI/1834 /SCX_CPU1_TST_DS_SENDMESSAGE MsgID=seqFileMsgID MsgType=1 Pattern=x'AA' +21-236-11:29:40.793 00 SCX_CPU1_DS_FI/1835 +21-236-11:29:40.793 00 SCX_CPU1_DS_FI/1837 ut_tlmwait SCX_CPU1_find_event[1].num_found_messages, 1 +21-236-11:29:40.800 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:29:41.510 00 TLMH-I:STS 58-012-14:13:38.501 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Message Size 116 to MID 0x00000905 +21-236-11:29:41.801 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:29:41.803 00 SCX_CPU1_DS_FI/1838 if (UT_TW_Status = UT_Success) then +21-236-11:29:41.804 00 SCX_CPU1_DS_FI/1839 write "<*> Passed - Expected Event Msg ",TST_DS_MSG1_SENT_INF_EID," rcv'd." +21-236-11:29:41.804 00 SPR-I:OPRO <*> Passed - Expected Event Msg 5 rcv'd. +21-236-11:29:41.804 00 SCX_CPU1_DS_FI/1842 endif +21-236-11:29:41.804 00 SCX_CPU1_DS_FI/1843 +21-236-11:29:41.804 00 SCX_CPU1_DS_FI/1845 cmdCtr = SCX_CPU1_DS_CMDPC + 1 +21-236-11:29:41.804 00 SCX_CPU1_DS_FI/1846 +21-236-11:29:41.804 00 SCX_CPU1_DS_FI/1847 /SCX_CPU1_DS_GetFileInfo +21-236-11:29:41.819 00 SCX_CPU1_DS_FI/1848 +21-236-11:29:41.819 00 SCX_CPU1_DS_FI/1849 ut_tlmwait SCX_CPU1_DS_CMDPC, {cmdCtr} +21-236-11:29:41.833 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:29:42.511 00 TLMH-I:STS 58-012-14:13:39.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-11:29:43.835 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:29:43.837 00 SCX_CPU1_DS_FI/1850 +21-236-11:29:43.837 00 SCX_CPU1_DS_FI/1852 if (expPassedPkts = SCX_CPU1_DS_PassedPktCnt) then +21-236-11:29:43.837 00 SCX_CPU1_DS_FI/1853 write "<*> Passed (2000) - Passed packet counter incremented properly." +21-236-11:29:43.838 00 SPR-I:OPRO <*> Passed (2000) - Passed packet counter incremented properly. +21-236-11:29:43.838 00 SCX_CPU1_DS_FI/1854 ut_setrequirements DS_2000, "P" +21-236-11:29:43.841 00 SCX_CPU1_DS_FI/1858 endif +21-236-11:29:43.841 00 SCX_CPU1_DS_FI/1859 +21-236-11:29:43.841 00 SCX_CPU1_DS_FI/1861 fileName = "" +21-236-11:29:43.842 00 SCX_CPU1_DS_FI/1862 if (SCX_CPU1_DS_FileState[newFileEntry].FileName <> "") then +21-236-11:29:43.842 00 SCX_CPU1_DS_FI/1863 fileName = SCX_CPU1_DS_FileState[newFileEntry].FileName +21-236-11:29:43.843 00 SCX_CPU1_DS_FI/1864 write "<*> Passed (2002.1;3000) - A file was created with name '",fileName,"'" +21-236-11:29:43.843 00 SPR-I:OPRO <*> Passed (2002.1;3000) - A file was created with name '/ram/seq200000205.dat' +21-236-11:29:43.843 00 SCX_CPU1_DS_FI/1865 ut_setrequirements DS_20021, "P" +21-236-11:29:43.846 00 SCX_CPU1_DS_FI/1866 ut_setrequirements DS_3000, "P" +21-236-11:29:43.849 00 SCX_CPU1_DS_FI/1871 endif +21-236-11:29:43.883 00 SCX_CPU1_DS_FI/1872 +21-236-11:29:43.883 00 SCX_CPU1_DS_FI/1875 ut_setupevents "SCX", "CPU1", {DSAppName}, DS_CLOSE_CMD_EID, "DEBUG", 1 +21-236-11:29:43.886 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:29:43.886 00 SPR-I:OPRO ; Setup event 1 with DS DEBUG 59 +21-236-11:29:43.886 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:29:43.886 00 SCX_CPU1_DS_FI/1876 +21-236-11:29:43.886 00 SCX_CPU1_DS_FI/1877 cmdCtr = SCX_CPU1_DS_CMDPC + 1 +21-236-11:29:43.886 00 SCX_CPU1_DS_FI/1879 /SCX_CPU1_DS_CloseFile FileIndex=newFileEntry +21-236-11:29:43.898 00 SCX_CPU1_DS_FI/1880 +21-236-11:29:43.898 00 SCX_CPU1_DS_FI/1881 ut_tlmwait SCX_CPU1_DS_CMDPC, {cmdCtr} +21-236-11:29:43.901 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:29:44.511 00 TLMH-I:STS 58-012-14:13:41.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=59 DEST CLOSE command: file table index = 1 +21-236-11:29:47.906 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:29:47.908 00 SCX_CPU1_DS_FI/1882 if (UT_TW_Status = UT_Success) then +21-236-11:29:47.908 00 SCX_CPU1_DS_FI/1883 write "<*> Passed (1004;5002) - DS Close File command sent properly." +21-236-11:29:47.908 00 SPR-I:OPRO <*> Passed (1004;5002) - DS Close File command sent properly. +21-236-11:29:47.909 00 SCX_CPU1_DS_FI/1884 ut_setrequirements DS_1004, "P" +21-236-11:29:47.911 00 SCX_CPU1_DS_FI/1885 ut_setrequirements DS_5002, "P" +21-236-11:29:47.912 00 SCX_CPU1_DS_FI/1890 endif +21-236-11:29:47.912 00 SCX_CPU1_DS_FI/1891 +21-236-11:29:47.912 00 SCX_CPU1_DS_FI/1893 ut_tlmwait SCX_CPU1_find_event[1].num_found_messages, 1 +21-236-11:29:47.916 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:29:47.916 00 SCX_CPU1_DS_FI/1894 if (UT_TW_Status = UT_Success) then +21-236-11:29:47.917 00 SCX_CPU1_DS_FI/1895 write "<*> Passed (1004;5002) - Expected Event Msg ",DS_CLOSE_CMD_EID," rcv'd." +21-236-11:29:47.917 00 SPR-I:OPRO <*> Passed (1004;5002) - Expected Event Msg 59 rcv'd. +21-236-11:29:47.917 00 SCX_CPU1_DS_FI/1896 ut_setrequirements DS_1004, "P" +21-236-11:29:47.944 00 SCX_CPU1_DS_FI/1897 ut_setrequirements DS_5002, "P" +21-236-11:29:47.945 00 SCX_CPU1_DS_FI/1902 endif +21-236-11:29:47.945 00 SCX_CPU1_DS_FI/1903 +21-236-11:29:47.945 00 SCX_CPU1_DS_FI/1905 if (fileName <> "") then +21-236-11:29:47.945 00 SCX_CPU1_DS_FI/1906 ut_setrequirements DS_2001, "A" +21-236-11:29:47.945 00 SCX_CPU1_DS_FI/1907 write "==> Downloading '",fileName,"'" +21-236-11:29:47.945 00 SPR-I:OPRO ==> Downloading '/ram/seq200000205.dat' +21-236-11:29:47.946 00 SCX_CPU1_DS_FI/1908 slashLoc = %locate(fileName,"/") +21-236-11:29:47.946 00 SCX_CPU1_DS_FI/1909 while (slashLoc <> 0) do +21-236-11:29:47.946 00 SCX_CPU1_DS_FI/1910 fileName = %substring(fileName,slashLoc+1,%length(fileName)) +21-236-11:29:47.946 00 SCX_CPU1_DS_FI/1911 slashLoc = %locate(fileName,"/") +21-236-11:29:47.946 00 SCX_CPU1_DS_FI/1912 enddo +21-236-11:29:47.946 00 SCX_CPU1_DS_FI/1910 fileName = %substring(fileName,slashLoc+1,%length(fileName)) +21-236-11:29:47.946 00 SCX_CPU1_DS_FI/1911 slashLoc = %locate(fileName,"/") +21-236-11:29:47.946 00 SCX_CPU1_DS_FI/1912 enddo +21-236-11:29:47.946 00 SCX_CPU1_DS_FI/1913 write "==> FileName Only = '",fileName,"'" +21-236-11:29:47.946 00 SPR-I:OPRO ==> FileName Only = 'seq200000205.dat' +21-236-11:29:47.965 00 SCX_CPU1_DS_FI/1916 s ftp_file(ramDir, fileName, fileName, hostCPU, "G") +21-236-11:29:47.965 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/ftp_file.i +21-236-11:29:47.966 00 SPR-I:STS Procedure FTP_FILE started +21-236-11:29:47.966 00 FTP_FILE/2 ; +21-236-11:29:47.966 00 FTP_FILE/3 local logging = %liv (log_procedure) +21-236-11:29:47.966 00 FTP_FILE/4 %liv (log_procedure) = FALSE +21-236-11:29:48.062 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-11:29:48.062 00 FTP_FILE/85 ENDPROC +21-236-11:29:48.062 00 SPR-I:STS Procedure FTP_FILE completed +21-236-11:29:48.063 00 SCX_CPU1_DS_FI/1919 endif +21-236-11:29:48.063 00 SCX_CPU1_DS_FI/1920 +21-236-11:29:48.063 00 SCX_CPU1_DS_FI/1921 wait 5 +21-236-11:29:48.063 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:29:53.067 00 SCX_CPU1_DS_FI/1922 +21-236-11:29:53.067 00 SCX_CPU1_DS_FI/1923 write ";*********************************************************************" +21-236-11:29:53.067 00 SPR-I:OPRO ;********************************************************************* +21-236-11:29:53.067 00 SCX_CPU1_DS_FI/1924 write "; Step 3.4: Send the Set File Index command with an invalid length." +21-236-11:29:53.067 00 SPR-I:OPRO ; Step 3.4: Send the Set File Index command with an invalid length. +21-236-11:29:53.067 00 SCX_CPU1_DS_FI/1925 write ";*********************************************************************" +21-236-11:29:53.067 00 SPR-I:OPRO ;********************************************************************* +21-236-11:29:53.067 00 SCX_CPU1_DS_FI/1926 ut_setupevents "SCX", "CPU1", {DSAppName}, DS_FILE_CMD_ERR_EID, "ERROR", 1 +21-236-11:29:53.069 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:29:53.069 00 SPR-I:OPRO ; Setup event 1 with DS ERROR 38 +21-236-11:29:53.069 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:29:53.069 00 SCX_CPU1_DS_FI/1927 +21-236-11:29:53.070 00 SCX_CPU1_DS_FI/1928 local errcnt = SCX_CPU1_DS_CMDEC + 1 +21-236-11:29:53.070 00 SCX_CPU1_DS_FI/1929 +21-236-11:29:53.070 00 SCX_CPU1_DS_FI/1931 rawcmd = "18BBc0000008038F" +21-236-11:29:53.070 00 SCX_CPU1_DS_FI/1932 +21-236-11:29:53.070 00 SCX_CPU1_DS_FI/1933 ut_sendrawcmd "SCX_CPU1_DS", (rawcmd) +21-236-11:29:53.074 00 SPR-I:OPRO Sending: 18BBc0000008038F +21-236-11:29:53.091 00 SPR-I:OPRO ; Telemetry update will wait a maximum of 24 seconds +21-236-11:29:53.092 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:29:54.014 00 TLMH-I:STS 58-012-14:13:51.001 ERROR CPU=CPU1 APPNAME=DS EVENT ID=38 Invalid FILTER FILE command length: expected = 16, actual = 15 +21-236-11:29:55.094 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:29:55.098 00 SCX_CPU1_DS_FI/1934 +21-236-11:29:55.098 00 SCX_CPU1_DS_FI/1935 ut_tlmwait SCX_CPU1_DS_CMDEC, {errcnt} +21-236-11:29:55.110 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:29:55.112 00 SCX_CPU1_DS_FI/1936 if (UT_TW_Status = UT_Success) then +21-236-11:29:55.112 00 SCX_CPU1_DS_FI/1937 write "<*> Passed (1002;1005) - Command Rejected Counter incremented." +21-236-11:29:55.112 00 SPR-I:OPRO <*> Passed (1002;1005) - Command Rejected Counter incremented. +21-236-11:29:55.112 00 SCX_CPU1_DS_FI/1938 ut_setrequirements DS_1002, "P" +21-236-11:29:55.116 00 SCX_CPU1_DS_FI/1939 ut_setrequirements DS_1005, "P" +21-236-11:29:55.119 00 SCX_CPU1_DS_FI/1944 endif +21-236-11:29:55.119 00 SCX_CPU1_DS_FI/1945 +21-236-11:29:55.119 00 SCX_CPU1_DS_FI/1946 if (SCX_CPU1_find_event[1].num_found_messages = 1) THEN +21-236-11:29:55.119 00 SCX_CPU1_DS_FI/1947 write "<*> Passed (1005) - Event message ",SCX_CPU1_find_event[1].eventid, " received" +21-236-11:29:55.120 00 SPR-I:OPRO <*> Passed (1005) - Event message 38 received +21-236-11:29:55.120 00 SCX_CPU1_DS_FI/1948 ut_setrequirements DS_1005, "P" +21-236-11:29:55.161 00 SCX_CPU1_DS_FI/1952 endif +21-236-11:29:55.161 00 SCX_CPU1_DS_FI/1953 +21-236-11:29:55.161 00 SCX_CPU1_DS_FI/1954 wait 5 +21-236-11:29:55.161 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:30:00.165 00 SCX_CPU1_DS_FI/1955 +21-236-11:30:00.166 00 SCX_CPU1_DS_FI/1956 write ";*********************************************************************" +21-236-11:30:00.166 00 SPR-I:OPRO ;********************************************************************* +21-236-11:30:00.166 00 SCX_CPU1_DS_FI/1957 write "; Step 3.5: Send the Set File Index command with invalid arguments." +21-236-11:30:00.166 00 SPR-I:OPRO ; Step 3.5: Send the Set File Index command with invalid arguments. +21-236-11:30:00.166 00 SCX_CPU1_DS_FI/1958 write ";*********************************************************************" +21-236-11:30:00.166 00 SPR-I:OPRO ;********************************************************************* +21-236-11:30:00.166 00 SCX_CPU1_DS_FI/1959 write "; Step 3.5.1: Send the Set File Index command with message ID that " +21-236-11:30:00.166 00 SPR-I:OPRO ; Step 3.5.1: Send the Set File Index command with message ID that +21-236-11:30:00.166 00 SCX_CPU1_DS_FI/1960 write "; does not exist in the table. " +21-236-11:30:00.166 00 SPR-I:OPRO ; does not exist in the table. +21-236-11:30:00.166 00 SCX_CPU1_DS_FI/1961 write ";*********************************************************************" +21-236-11:30:00.166 00 SPR-I:OPRO ;********************************************************************* +21-236-11:30:00.167 00 SCX_CPU1_DS_FI/1963 ut_setupevents "SCX", "CPU1", {DSAppName}, DS_FILE_CMD_ERR_EID, "ERROR", 1 +21-236-11:30:00.173 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:30:00.173 00 SPR-I:OPRO ; Setup event 1 with DS ERROR 38 +21-236-11:30:00.173 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:30:00.175 00 SCX_CPU1_DS_FI/1964 +21-236-11:30:00.175 00 SCX_CPU1_DS_FI/1965 errcnt = SCX_CPU1_DS_CMDEC + 1 +21-236-11:30:00.175 00 SCX_CPU1_DS_FI/1967 /SCX_CPU1_DS_SetFilterFile MessageID=x'F345' ParamIndex=0 FileIndex=newFileEntry +21-236-11:30:00.190 00 SCX_CPU1_DS_FI/1968 +21-236-11:30:00.191 00 SCX_CPU1_DS_FI/1969 ut_tlmwait SCX_CPU1_DS_CMDEC, {errcnt} +21-236-11:30:00.203 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:30:01.013 00 TLMH-I:STS 58-012-14:13:58.001 ERROR CPU=CPU1 APPNAME=DS EVENT ID=38 Invalid FILTER FILE command: Message ID 0x0000F345 is not in filter table +21-236-11:30:03.207 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:30:03.209 00 SCX_CPU1_DS_FI/1970 if (UT_TW_Status = UT_Success) then +21-236-11:30:03.209 00 SCX_CPU1_DS_FI/1971 write "<*> Passed (1005) - DS Set Filter File command failed as expected." +21-236-11:30:03.209 00 SPR-I:OPRO <*> Passed (1005) - DS Set Filter File command failed as expected. +21-236-11:30:03.210 00 SCX_CPU1_DS_FI/1972 ut_setrequirements DS_1005, "P" +21-236-11:30:03.212 00 SCX_CPU1_DS_FI/1976 endif +21-236-11:30:03.212 00 SCX_CPU1_DS_FI/1977 +21-236-11:30:03.212 00 SCX_CPU1_DS_FI/1979 ut_tlmwait SCX_CPU1_find_event[1].num_found_messages, 1 +21-236-11:30:03.215 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:30:03.215 00 SCX_CPU1_DS_FI/1980 if (UT_TW_Status = UT_Success) then +21-236-11:30:03.215 00 SCX_CPU1_DS_FI/1981 write "<*> Passed (1005) - Expected Event Msg ",DS_FILE_CMD_ERR_EID," rcv'd." +21-236-11:30:03.215 00 SPR-I:OPRO <*> Passed (1005) - Expected Event Msg 38 rcv'd. +21-236-11:30:03.215 00 SCX_CPU1_DS_FI/1982 ut_setrequirements DS_1005, "P" +21-236-11:30:03.216 00 SCX_CPU1_DS_FI/1986 endif +21-236-11:30:03.216 00 SCX_CPU1_DS_FI/1987 +21-236-11:30:03.216 00 SCX_CPU1_DS_FI/1988 wait 5 +21-236-11:30:03.216 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:30:08.235 00 SCX_CPU1_DS_FI/1989 +21-236-11:30:08.235 00 SCX_CPU1_DS_FI/1990 write ";*********************************************************************" +21-236-11:30:08.235 00 SPR-I:OPRO ;********************************************************************* +21-236-11:30:08.235 00 SCX_CPU1_DS_FI/1991 write "; Step 3.5.2: Send the Set File Index command with an invalid " +21-236-11:30:08.235 00 SPR-I:OPRO ; Step 3.5.2: Send the Set File Index command with an invalid +21-236-11:30:08.236 00 SCX_CPU1_DS_FI/1992 write "; parameter index. " +21-236-11:30:08.236 00 SPR-I:OPRO ; parameter index. +21-236-11:30:08.236 00 SCX_CPU1_DS_FI/1993 write ";*********************************************************************" +21-236-11:30:08.236 00 SPR-I:OPRO ;********************************************************************* +21-236-11:30:08.236 00 SCX_CPU1_DS_FI/1995 ut_setupevents "SCX", "CPU1", {DSAppName}, DS_FILE_CMD_ERR_EID, "ERROR", 1 +21-236-11:30:08.243 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:30:08.243 00 SPR-I:OPRO ; Setup event 1 with DS ERROR 38 +21-236-11:30:08.244 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:30:08.245 00 SCX_CPU1_DS_FI/1996 +21-236-11:30:08.245 00 SCX_CPU1_DS_FI/1997 errcnt = SCX_CPU1_DS_CMDEC + 1 +21-236-11:30:08.246 00 SCX_CPU1_DS_FI/1999 /SCX_CPU1_DS_SetFilterFile MessageID=seqFileMsgID ParamIndex=DS_FILTERS_PER_PACKET FileIndex=newFileEntry +21-236-11:30:08.262 00 SCX_CPU1_DS_FI/2000 +21-236-11:30:08.262 00 SCX_CPU1_DS_FI/2001 ut_tlmwait SCX_CPU1_DS_CMDEC, {errcnt} +21-236-11:30:08.272 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:30:09.017 00 TLMH-I:STS 58-012-14:14:06.001 ERROR CPU=CPU1 APPNAME=DS EVENT ID=38 Invalid FILTER FILE command arg: filter parameters index = 4 +21-236-11:30:11.275 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:30:11.277 00 SCX_CPU1_DS_FI/2002 if (UT_TW_Status = UT_Success) then +21-236-11:30:11.278 00 SCX_CPU1_DS_FI/2003 write "<*> Passed (1005) - DS Set Filter File command failed as expected." +21-236-11:30:11.278 00 SPR-I:OPRO <*> Passed (1005) - DS Set Filter File command failed as expected. +21-236-11:30:11.278 00 SCX_CPU1_DS_FI/2004 ut_setrequirements DS_1005, "P" +21-236-11:30:11.282 00 SCX_CPU1_DS_FI/2008 endif +21-236-11:30:11.282 00 SCX_CPU1_DS_FI/2009 +21-236-11:30:11.283 00 SCX_CPU1_DS_FI/2011 ut_tlmwait SCX_CPU1_find_event[1].num_found_messages, 1 +21-236-11:30:11.296 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:30:11.299 00 SCX_CPU1_DS_FI/2012 if (UT_TW_Status = UT_Success) then +21-236-11:30:11.299 00 SCX_CPU1_DS_FI/2013 write "<*> Passed (1005) - Expected Event Msg ",DS_FILE_CMD_ERR_EID," rcv'd." +21-236-11:30:11.299 00 SPR-I:OPRO <*> Passed (1005) - Expected Event Msg 38 rcv'd. +21-236-11:30:11.299 00 SCX_CPU1_DS_FI/2014 ut_setrequirements DS_1005, "P" +21-236-11:30:11.303 00 SCX_CPU1_DS_FI/2018 endif +21-236-11:30:11.303 00 SCX_CPU1_DS_FI/2019 +21-236-11:30:11.303 00 SCX_CPU1_DS_FI/2020 wait 5 +21-236-11:30:11.303 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:30:16.337 00 SCX_CPU1_DS_FI/2021 +21-236-11:30:16.337 00 SCX_CPU1_DS_FI/2022 write ";*********************************************************************" +21-236-11:30:16.337 00 SPR-I:OPRO ;********************************************************************* +21-236-11:30:16.337 00 SCX_CPU1_DS_FI/2023 write "; Step 3.5.3: Send the Set File Index command with an invalid " +21-236-11:30:16.337 00 SPR-I:OPRO ; Step 3.5.3: Send the Set File Index command with an invalid +21-236-11:30:16.337 00 SCX_CPU1_DS_FI/2024 write "; file index. " +21-236-11:30:16.337 00 SPR-I:OPRO ; file index. +21-236-11:30:16.337 00 SCX_CPU1_DS_FI/2025 write ";*********************************************************************" +21-236-11:30:16.338 00 SPR-I:OPRO ;********************************************************************* +21-236-11:30:16.338 00 SCX_CPU1_DS_FI/2027 ut_setupevents "SCX", "CPU1", {DSAppName}, DS_FILE_CMD_ERR_EID, "ERROR", 1 +21-236-11:30:16.346 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:30:16.347 00 SPR-I:OPRO ; Setup event 1 with DS ERROR 38 +21-236-11:30:16.347 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:30:16.348 00 SCX_CPU1_DS_FI/2028 +21-236-11:30:16.348 00 SCX_CPU1_DS_FI/2029 errcnt = SCX_CPU1_DS_CMDEC + 1 +21-236-11:30:16.349 00 SCX_CPU1_DS_FI/2031 /SCX_CPU1_DS_SetFilterFile MessageID=seqFileMsgID ParamIndex=0 FileIndex=DS_DEST_FILE_CNT +21-236-11:30:16.364 00 SCX_CPU1_DS_FI/2032 +21-236-11:30:16.365 00 SCX_CPU1_DS_FI/2033 ut_tlmwait SCX_CPU1_DS_CMDEC, {errcnt} +21-236-11:30:16.375 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:30:17.015 00 TLMH-I:STS 58-012-14:14:14.001 ERROR CPU=CPU1 APPNAME=DS EVENT ID=38 Invalid FILTER FILE command arg: file table index = 16 +21-236-11:30:19.378 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:30:19.380 00 SCX_CPU1_DS_FI/2034 if (UT_TW_Status = UT_Success) then +21-236-11:30:19.380 00 SCX_CPU1_DS_FI/2035 write "<*> Passed (1005) - DS Set Filter File command failed as expected." +21-236-11:30:19.380 00 SPR-I:OPRO <*> Passed (1005) - DS Set Filter File command failed as expected. +21-236-11:30:19.380 00 SCX_CPU1_DS_FI/2036 ut_setrequirements DS_1005, "P" +21-236-11:30:19.383 00 SCX_CPU1_DS_FI/2040 endif +21-236-11:30:19.383 00 SCX_CPU1_DS_FI/2041 +21-236-11:30:19.383 00 SCX_CPU1_DS_FI/2043 ut_tlmwait SCX_CPU1_find_event[1].num_found_messages, 1 +21-236-11:30:19.386 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:30:19.386 00 SCX_CPU1_DS_FI/2044 if (UT_TW_Status = UT_Success) then +21-236-11:30:19.386 00 SCX_CPU1_DS_FI/2045 write "<*> Passed (1005) - Expected Event Msg ",DS_FILE_CMD_ERR_EID," rcv'd." +21-236-11:30:19.386 00 SPR-I:OPRO <*> Passed (1005) - Expected Event Msg 38 rcv'd. +21-236-11:30:19.386 00 SCX_CPU1_DS_FI/2046 ut_setrequirements DS_1005, "P" +21-236-11:30:19.387 00 SCX_CPU1_DS_FI/2050 endif +21-236-11:30:19.387 00 SCX_CPU1_DS_FI/2051 +21-236-11:30:19.387 00 SCX_CPU1_DS_FI/2052 wait 5 +21-236-11:30:19.387 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:30:24.406 00 SCX_CPU1_DS_FI/2053 +21-236-11:30:24.406 00 SCX_CPU1_DS_FI/2054 write ";*********************************************************************" +21-236-11:30:24.406 00 SPR-I:OPRO ;********************************************************************* +21-236-11:30:24.407 00 SCX_CPU1_DS_FI/2055 write "; Step 3.6: Send the Set Filter Type command. " +21-236-11:30:24.407 00 SPR-I:OPRO ; Step 3.6: Send the Set Filter Type command. +21-236-11:30:24.407 00 SCX_CPU1_DS_FI/2056 write ";*********************************************************************" +21-236-11:30:24.407 00 SPR-I:OPRO ;********************************************************************* +21-236-11:30:24.407 00 SCX_CPU1_DS_FI/2058 local existingFilterType = SCX_CPU1_DS_PF_TBL[filterEntry].FilterParams[0].FilterType +21-236-11:30:24.407 00 SCX_CPU1_DS_FI/2059 local newFilterType = 0 +21-236-11:30:24.408 00 SCX_CPU1_DS_FI/2060 if (existingFilterType = DS_BY_COUNT) then +21-236-11:30:24.408 00 SCX_CPU1_DS_FI/2062 else +21-236-11:30:24.408 00 SCX_CPU1_DS_FI/2063 newFilterType = DS_BY_COUNT +21-236-11:30:24.408 00 SCX_CPU1_DS_FI/2064 endif +21-236-11:30:24.408 00 SCX_CPU1_DS_FI/2065 +21-236-11:30:24.408 00 SCX_CPU1_DS_FI/2067 seqFileMsgID = SCX_CPU1_DS_PF_TBL[filterEntry].MessageID +21-236-11:30:24.409 00 SCX_CPU1_DS_FI/2068 +21-236-11:30:24.409 00 SCX_CPU1_DS_FI/2070 ut_setupevents "SCX", "CPU1", {DSAppName}, DS_FTYPE_CMD_EID, "DEBUG", 1 +21-236-11:30:24.415 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:30:24.416 00 SPR-I:OPRO ; Setup event 1 with DS DEBUG 39 +21-236-11:30:24.416 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:30:24.418 00 SCX_CPU1_DS_FI/2071 +21-236-11:30:24.418 00 SCX_CPU1_DS_FI/2072 cmdCtr = SCX_CPU1_DS_CMDPC + 1 +21-236-11:30:24.419 00 SCX_CPU1_DS_FI/2074 /SCX_CPU1_DS_SetFilterType MessageID=seqFileMsgID, ParamIndex=0, FilterType=newFilterType +21-236-11:30:24.434 00 SCX_CPU1_DS_FI/2075 +21-236-11:30:24.434 00 SCX_CPU1_DS_FI/2076 ut_tlmwait SCX_CPU1_DS_CMDPC, {cmdCtr} +21-236-11:30:24.450 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:30:25.015 00 TLMH-I:STS 58-012-14:14:22.002 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=39 FILTER TYPE command: MID = 0x00000905, index = 5, filter = 0, type = 1 +21-236-11:30:27.453 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:30:27.455 00 SCX_CPU1_DS_FI/2077 if (UT_TW_Status = UT_Success) then +21-236-11:30:27.455 00 SCX_CPU1_DS_FI/2078 write "<*> Passed (1004;5009) - DS Set Filter Type command sent properly." +21-236-11:30:27.455 00 SPR-I:OPRO <*> Passed (1004;5009) - DS Set Filter Type command sent properly. +21-236-11:30:27.456 00 SCX_CPU1_DS_FI/2079 ut_setrequirements DS_1004, "P" +21-236-11:30:27.459 00 SCX_CPU1_DS_FI/2080 ut_setrequirements DS_5009, "P" +21-236-11:30:27.462 00 SCX_CPU1_DS_FI/2085 endif +21-236-11:30:27.462 00 SCX_CPU1_DS_FI/2086 +21-236-11:30:27.463 00 SCX_CPU1_DS_FI/2088 ut_tlmwait SCX_CPU1_find_event[1].num_found_messages, 1 +21-236-11:30:27.474 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:30:27.476 00 SCX_CPU1_DS_FI/2089 if (UT_TW_Status = UT_Success) then +21-236-11:30:27.476 00 SCX_CPU1_DS_FI/2090 write "<*> Passed (1004;5009) - Expected Event Msg ",DS_FTYPE_CMD_EID," rcv'd." +21-236-11:30:27.476 00 SPR-I:OPRO <*> Passed (1004;5009) - Expected Event Msg 39 rcv'd. +21-236-11:30:27.477 00 SCX_CPU1_DS_FI/2091 ut_setrequirements DS_1004, "P" +21-236-11:30:27.520 00 SCX_CPU1_DS_FI/2092 ut_setrequirements DS_5009, "P" +21-236-11:30:27.521 00 SCX_CPU1_DS_FI/2097 endif +21-236-11:30:27.521 00 SCX_CPU1_DS_FI/2098 +21-236-11:30:27.521 00 SCX_CPU1_DS_FI/2099 wait 5 +21-236-11:30:27.521 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:30:32.525 00 SCX_CPU1_DS_FI/2100 +21-236-11:30:32.525 00 SCX_CPU1_DS_FI/2101 write ";***********************************************************************" +21-236-11:30:32.525 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:30:32.525 00 SCX_CPU1_DS_FI/2102 write "; Step 3.7: Dump the Packet Filter Table. " +21-236-11:30:32.525 00 SPR-I:OPRO ; Step 3.7: Dump the Packet Filter Table. +21-236-11:30:32.525 00 SCX_CPU1_DS_FI/2103 write ";***********************************************************************" +21-236-11:30:32.526 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:30:32.526 00 SCX_CPU1_DS_FI/2105 s get_tbl_to_cvt (ramDir,filterTblName,"A","cpu1_filtertbl37",hostCPU,filterTblPktId) +21-236-11:30:32.526 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/get_tbl_to_cvt.i +21-236-11:30:32.529 00 SPR-I:STS Procedure GET_TBL_TO_CVT started +21-236-11:30:32.530 00 GET_TBL_TO_CVT/2 ; +21-236-11:30:32.530 00 GET_TBL_TO_CVT/3 local logging = %liv (log_procedure) +21-236-11:30:32.530 00 GET_TBL_TO_CVT/4 %liv (log_procedure) = FALSE +21-236-11:30:32.553 00 SPR-I:OPRO Sending Command: /SCX_CPU1_TBL_DUMP ACTIVE DTABLENAME="DS.FILTER_TBL" DFILENAME="/ram/cpu1_filtertbl37" +21-236-11:30:32.575 00 SPR-I:STTE Wait mode - waiting 15 seconds ... +21-236-11:30:33.015 00 TLMH-I:STS 58-012-14:14:30.003 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=14 Successfully dumped Table 'DS.FILTER_TBL' to '/ram/cpu1_filtertbl37' +21-236-11:30:47.585 00 SPR-I:OPRO +21-236-11:30:47.585 00 SPR-I:OPRO The TBLNAME is: DS.FILTER_TBL +21-236-11:30:47.586 00 SPR-I:OPRO The APID is: P0F77 +21-236-11:30:47.586 00 SPR-I:OPRO The CPU is: CPU3 +21-236-11:30:47.586 00 SPR-I:OPRO The IP Address is: 192.168.1.8 +21-236-11:30:47.589 00 SPR-I:OPRO The perl command is: perl /s/opr/accounts/global/tools/ftp.pl RAM:0 cpu1_filtertbl37 cpu1_filtertbl37 binary 192.168.1.8 +21-236-11:30:47.772 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-11:30:47.772 00 SPR-I:STTE Wait mode - waiting 15 seconds ... +21-236-11:31:02.785 00 SPR-I:OPRO +21-236-11:31:02.800 00 SPR-I:OPRO The unix command is cvt -ws file_list[3959].file_write_time "`date +%y-%j-%T -r /s/opr/accounts/cfs_test/image/cpu1_filtertbl37`" +21-236-11:31:02.800 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:31:07.804 00 GET_TBL_TO_CVT/238 +21-236-11:31:07.804 00 GET_TBL_TO_CVT/239 ENDPROC +21-236-11:31:07.804 00 SPR-I:STS Procedure GET_TBL_TO_CVT completed +21-236-11:31:07.807 00 SCX_CPU1_DS_FI/2106 +21-236-11:31:07.807 00 SCX_CPU1_DS_FI/2108 if (SCX_CPU1_DS_PF_TBL[filterEntry].FilterParams[0].FilterType = newFilterType) then +21-236-11:31:07.807 00 SCX_CPU1_DS_FI/2109 write "<*> Passed (5009) - Parameter changes are reflected in the table." +21-236-11:31:07.807 00 SPR-I:OPRO <*> Passed (5009) - Parameter changes are reflected in the table. +21-236-11:31:07.807 00 SCX_CPU1_DS_FI/2110 ut_setrequirements DS_5009, "P" +21-236-11:31:07.812 00 SCX_CPU1_DS_FI/2114 endif +21-236-11:31:07.812 00 SCX_CPU1_DS_FI/2115 +21-236-11:31:07.812 00 SCX_CPU1_DS_FI/2116 wait 5 +21-236-11:31:07.812 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:31:12.816 00 SCX_CPU1_DS_FI/2117 +21-236-11:31:12.816 00 SCX_CPU1_DS_FI/2118 write ";***********************************************************************" +21-236-11:31:12.816 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:31:12.816 00 SCX_CPU1_DS_FI/2119 write "; Step 3.8: Send the TST_DS command to send a message to DS using the " +21-236-11:31:12.816 00 SPR-I:OPRO ; Step 3.8: Send the TST_DS command to send a message to DS using the +21-236-11:31:12.816 00 SCX_CPU1_DS_FI/2120 write "; MessageID used above. Send a message that will not exceed the file " +21-236-11:31:12.817 00 SPR-I:OPRO ; MessageID used above. Send a message that will not exceed the file +21-236-11:31:12.817 00 SCX_CPU1_DS_FI/2121 write "; size constraint. The HK should contain info about the file opened. " +21-236-11:31:12.817 00 SPR-I:OPRO ; size constraint. The HK should contain info about the file opened. +21-236-11:31:12.817 00 SCX_CPU1_DS_FI/2122 write ";***********************************************************************" +21-236-11:31:12.817 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:31:12.817 00 SCX_CPU1_DS_FI/2124 ut_setupevents "SCX", "CPU1", "TST_DS", TST_DS_MSG1_SENT_INF_EID, "INFO", 1 +21-236-11:31:12.823 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:31:12.824 00 SPR-I:OPRO ; Setup event 1 with TST_DS INFO 5 +21-236-11:31:12.824 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:31:12.825 00 SCX_CPU1_DS_FI/2125 +21-236-11:31:12.826 00 SCX_CPU1_DS_FI/2126 expPassedPkts = SCX_CPU1_DS_PassedPktCnt + 1 +21-236-11:31:12.826 00 SCX_CPU1_DS_FI/2127 +21-236-11:31:12.826 00 SCX_CPU1_DS_FI/2129 /SCX_CPU1_TST_DS_SENDMESSAGE MsgID=seqFileMsgID MsgType=1 Pattern=x'55' +21-236-11:31:12.849 00 SCX_CPU1_DS_FI/2130 +21-236-11:31:12.849 00 SCX_CPU1_DS_FI/2132 ut_tlmwait SCX_CPU1_find_event[1].num_found_messages, 1 +21-236-11:31:12.856 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:31:13.511 00 TLMH-I:STS 58-012-14:15:10.501 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Message Size 116 to MID 0x00000905 +21-236-11:31:13.856 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:31:13.858 00 SCX_CPU1_DS_FI/2133 if (UT_TW_Status = UT_Success) then +21-236-11:31:13.859 00 SCX_CPU1_DS_FI/2134 write "<*> Passed - Expected Event Msg ",TST_DS_MSG1_SENT_INF_EID," rcv'd." +21-236-11:31:13.859 00 SPR-I:OPRO <*> Passed - Expected Event Msg 5 rcv'd. +21-236-11:31:13.859 00 SCX_CPU1_DS_FI/2137 endif +21-236-11:31:13.859 00 SCX_CPU1_DS_FI/2138 +21-236-11:31:13.859 00 SCX_CPU1_DS_FI/2140 cmdCtr = SCX_CPU1_DS_CMDPC + 1 +21-236-11:31:13.859 00 SCX_CPU1_DS_FI/2141 +21-236-11:31:13.860 00 SCX_CPU1_DS_FI/2142 /SCX_CPU1_DS_GetFileInfo +21-236-11:31:13.875 00 SCX_CPU1_DS_FI/2143 +21-236-11:31:13.875 00 SCX_CPU1_DS_FI/2144 ut_tlmwait SCX_CPU1_DS_CMDPC, {cmdCtr} +21-236-11:31:13.892 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:31:14.515 00 TLMH-I:STS 58-012-14:15:11.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-11:31:15.895 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:31:15.897 00 SCX_CPU1_DS_FI/2145 +21-236-11:31:15.897 00 SCX_CPU1_DS_FI/2147 if (expPassedPkts = SCX_CPU1_DS_PassedPktCnt) then +21-236-11:31:15.897 00 SCX_CPU1_DS_FI/2148 write "<*> Passed (2000) - Passed packet counter incremented properly." +21-236-11:31:15.897 00 SPR-I:OPRO <*> Passed (2000) - Passed packet counter incremented properly. +21-236-11:31:15.897 00 SCX_CPU1_DS_FI/2149 ut_setrequirements DS_2000, "P" +21-236-11:31:15.901 00 SCX_CPU1_DS_FI/2153 endif +21-236-11:31:15.901 00 SCX_CPU1_DS_FI/2154 +21-236-11:31:15.901 00 SCX_CPU1_DS_FI/2156 fileName = "" +21-236-11:31:15.901 00 SCX_CPU1_DS_FI/2157 if (SCX_CPU1_DS_FileState[newFileEntry].FileName <> "") then +21-236-11:31:15.902 00 SCX_CPU1_DS_FI/2158 fileName = SCX_CPU1_DS_FileState[newFileEntry].FileName +21-236-11:31:15.902 00 SCX_CPU1_DS_FI/2159 write "<*> Passed (2002.1;3000) - A file was created with name '",fileName,"'" +21-236-11:31:15.902 00 SPR-I:OPRO <*> Passed (2002.1;3000) - A file was created with name '/ram/seq200000206.dat' +21-236-11:31:15.902 00 SCX_CPU1_DS_FI/2160 ut_setrequirements DS_20021, "P" +21-236-11:31:15.906 00 SCX_CPU1_DS_FI/2161 ut_setrequirements DS_3000, "P" +21-236-11:31:15.910 00 SCX_CPU1_DS_FI/2166 endif +21-236-11:31:15.943 00 SCX_CPU1_DS_FI/2167 +21-236-11:31:15.943 00 SCX_CPU1_DS_FI/2170 ut_setupevents "SCX", "CPU1", {DSAppName}, DS_CLOSE_CMD_EID, "DEBUG", 1 +21-236-11:31:15.946 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:31:15.946 00 SPR-I:OPRO ; Setup event 1 with DS DEBUG 59 +21-236-11:31:15.946 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:31:15.947 00 SCX_CPU1_DS_FI/2171 +21-236-11:31:15.947 00 SCX_CPU1_DS_FI/2172 cmdCtr = SCX_CPU1_DS_CMDPC + 1 +21-236-11:31:15.947 00 SCX_CPU1_DS_FI/2174 /SCX_CPU1_DS_CloseFile FileIndex=newFileEntry +21-236-11:31:15.949 00 SCX_CPU1_DS_FI/2175 +21-236-11:31:15.949 00 SCX_CPU1_DS_FI/2176 ut_tlmwait SCX_CPU1_DS_CMDPC, {cmdCtr} +21-236-11:31:15.953 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:31:16.512 00 TLMH-I:STS 58-012-14:15:13.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=59 DEST CLOSE command: file table index = 1 +21-236-11:31:19.958 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:31:19.960 00 SCX_CPU1_DS_FI/2177 if (UT_TW_Status = UT_Success) then +21-236-11:31:19.960 00 SCX_CPU1_DS_FI/2178 write "<*> Passed (1004;5002) - DS Close File command sent properly." +21-236-11:31:19.960 00 SPR-I:OPRO <*> Passed (1004;5002) - DS Close File command sent properly. +21-236-11:31:19.960 00 SCX_CPU1_DS_FI/2179 ut_setrequirements DS_1004, "P" +21-236-11:31:19.963 00 SCX_CPU1_DS_FI/2180 ut_setrequirements DS_5002, "P" +21-236-11:31:19.965 00 SCX_CPU1_DS_FI/2185 endif +21-236-11:31:19.965 00 SCX_CPU1_DS_FI/2186 +21-236-11:31:19.965 00 SCX_CPU1_DS_FI/2188 ut_tlmwait SCX_CPU1_find_event[1].num_found_messages, 1 +21-236-11:31:19.968 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:31:19.968 00 SCX_CPU1_DS_FI/2189 if (UT_TW_Status = UT_Success) then +21-236-11:31:19.968 00 SCX_CPU1_DS_FI/2190 write "<*> Passed (1004;5002) - Expected Event Msg ",DS_CLOSE_CMD_EID," rcv'd." +21-236-11:31:19.968 00 SPR-I:OPRO <*> Passed (1004;5002) - Expected Event Msg 59 rcv'd. +21-236-11:31:19.968 00 SCX_CPU1_DS_FI/2191 ut_setrequirements DS_1004, "P" +21-236-11:31:19.989 00 SCX_CPU1_DS_FI/2192 ut_setrequirements DS_5002, "P" +21-236-11:31:19.990 00 SCX_CPU1_DS_FI/2197 endif +21-236-11:31:19.990 00 SCX_CPU1_DS_FI/2198 +21-236-11:31:19.990 00 SCX_CPU1_DS_FI/2200 if (fileName <> "") then +21-236-11:31:19.990 00 SCX_CPU1_DS_FI/2201 ut_setrequirements DS_2001, "A" +21-236-11:31:19.991 00 SCX_CPU1_DS_FI/2202 write "==> Downloading '",fileName,"'" +21-236-11:31:19.991 00 SPR-I:OPRO ==> Downloading '/ram/seq200000206.dat' +21-236-11:31:19.991 00 SCX_CPU1_DS_FI/2203 slashLoc = %locate(fileName,"/") +21-236-11:31:19.991 00 SCX_CPU1_DS_FI/2204 while (slashLoc <> 0) do +21-236-11:31:19.991 00 SCX_CPU1_DS_FI/2205 fileName = %substring(fileName,slashLoc+1,%length(fileName)) +21-236-11:31:19.991 00 SCX_CPU1_DS_FI/2206 slashLoc = %locate(fileName,"/") +21-236-11:31:19.991 00 SCX_CPU1_DS_FI/2207 enddo +21-236-11:31:19.991 00 SCX_CPU1_DS_FI/2205 fileName = %substring(fileName,slashLoc+1,%length(fileName)) +21-236-11:31:19.991 00 SCX_CPU1_DS_FI/2206 slashLoc = %locate(fileName,"/") +21-236-11:31:19.991 00 SCX_CPU1_DS_FI/2207 enddo +21-236-11:31:19.991 00 SCX_CPU1_DS_FI/2208 write "==> FileName Only = '",fileName,"'" +21-236-11:31:19.991 00 SPR-I:OPRO ==> FileName Only = 'seq200000206.dat' +21-236-11:31:20.008 00 SCX_CPU1_DS_FI/2211 s ftp_file(ramDir, fileName, fileName, hostCPU, "G") +21-236-11:31:20.009 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/ftp_file.i +21-236-11:31:20.009 00 SPR-I:STS Procedure FTP_FILE started +21-236-11:31:20.009 00 FTP_FILE/2 ; +21-236-11:31:20.009 00 FTP_FILE/3 local logging = %liv (log_procedure) +21-236-11:31:20.009 00 FTP_FILE/4 %liv (log_procedure) = FALSE +21-236-11:31:20.108 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-11:31:20.108 00 FTP_FILE/85 ENDPROC +21-236-11:31:20.108 00 SPR-I:STS Procedure FTP_FILE completed +21-236-11:31:20.108 00 SCX_CPU1_DS_FI/2214 endif +21-236-11:31:20.108 00 SCX_CPU1_DS_FI/2215 +21-236-11:31:20.108 00 SCX_CPU1_DS_FI/2216 wait 5 +21-236-11:31:20.108 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:31:25.112 00 SCX_CPU1_DS_FI/2217 +21-236-11:31:25.112 00 SCX_CPU1_DS_FI/2218 +21-236-11:31:25.112 00 SCX_CPU1_DS_FI/2219 write ";*********************************************************************" +21-236-11:31:25.112 00 SPR-I:OPRO ;********************************************************************* +21-236-11:31:25.112 00 SCX_CPU1_DS_FI/2220 write "; Step 3.9: Send the Set Filter Type command with an invalid length." +21-236-11:31:25.112 00 SPR-I:OPRO ; Step 3.9: Send the Set Filter Type command with an invalid length. +21-236-11:31:25.112 00 SCX_CPU1_DS_FI/2221 write ";*********************************************************************" +21-236-11:31:25.112 00 SPR-I:OPRO ;********************************************************************* +21-236-11:31:25.112 00 SCX_CPU1_DS_FI/2222 ut_setupevents "SCX", "CPU1", {DSAppName}, DS_FTYPE_CMD_ERR_EID, "ERROR", 1 +21-236-11:31:25.115 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:31:25.115 00 SPR-I:OPRO ; Setup event 1 with DS ERROR 40 +21-236-11:31:25.115 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:31:25.115 00 SCX_CPU1_DS_FI/2223 +21-236-11:31:25.115 00 SCX_CPU1_DS_FI/2224 errcnt = SCX_CPU1_DS_CMDEC + 1 +21-236-11:31:25.116 00 SCX_CPU1_DS_FI/2225 +21-236-11:31:25.116 00 SCX_CPU1_DS_FI/2227 rawcmd = "18BBc0000008049E" +21-236-11:31:25.116 00 SCX_CPU1_DS_FI/2228 +21-236-11:31:25.116 00 SCX_CPU1_DS_FI/2229 ut_sendrawcmd "SCX_CPU1_DS", (rawcmd) +21-236-11:31:25.121 00 SPR-I:OPRO Sending: 18BBc0000008049E +21-236-11:31:25.137 00 SPR-I:OPRO ; Telemetry update will wait a maximum of 24 seconds +21-236-11:31:25.137 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:31:26.008 00 TLMH-I:STS 58-012-14:15:23.001 ERROR CPU=CPU1 APPNAME=DS EVENT ID=40 Invalid FILTER TYPE command length: expected = 16, actual = 15 +21-236-11:31:27.139 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:31:27.143 00 SCX_CPU1_DS_FI/2230 +21-236-11:31:27.143 00 SCX_CPU1_DS_FI/2231 ut_tlmwait SCX_CPU1_DS_CMDEC, {errcnt} +21-236-11:31:27.147 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:31:27.147 00 SCX_CPU1_DS_FI/2232 if (UT_TW_Status = UT_Success) then +21-236-11:31:27.147 00 SCX_CPU1_DS_FI/2233 write "<*> Passed (1002;1005) - Command Rejected Counter incremented." +21-236-11:31:27.147 00 SPR-I:OPRO <*> Passed (1002;1005) - Command Rejected Counter incremented. +21-236-11:31:27.147 00 SCX_CPU1_DS_FI/2234 ut_setrequirements DS_1002, "P" +21-236-11:31:27.148 00 SCX_CPU1_DS_FI/2235 ut_setrequirements DS_1005, "P" +21-236-11:31:27.148 00 SCX_CPU1_DS_FI/2240 endif +21-236-11:31:27.148 00 SCX_CPU1_DS_FI/2241 +21-236-11:31:27.148 00 SCX_CPU1_DS_FI/2242 if (SCX_CPU1_find_event[1].num_found_messages = 1) THEN +21-236-11:31:27.148 00 SCX_CPU1_DS_FI/2243 write "<*> Passed (1005) - Event message ",SCX_CPU1_find_event[1].eventid, " received" +21-236-11:31:27.148 00 SPR-I:OPRO <*> Passed (1005) - Event message 40 received +21-236-11:31:27.149 00 SCX_CPU1_DS_FI/2244 ut_setrequirements DS_1005, "P" +21-236-11:31:27.170 00 SCX_CPU1_DS_FI/2248 endif +21-236-11:31:27.170 00 SCX_CPU1_DS_FI/2249 +21-236-11:31:27.170 00 SCX_CPU1_DS_FI/2250 wait 5 +21-236-11:31:27.170 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:31:32.174 00 SCX_CPU1_DS_FI/2251 +21-236-11:31:32.175 00 SCX_CPU1_DS_FI/2252 write ";*********************************************************************" +21-236-11:31:32.175 00 SPR-I:OPRO ;********************************************************************* +21-236-11:31:32.175 00 SCX_CPU1_DS_FI/2253 write "; Step 3.10: Send the Set Filter Type command with invalid arguments." +21-236-11:31:32.175 00 SPR-I:OPRO ; Step 3.10: Send the Set Filter Type command with invalid arguments. +21-236-11:31:32.175 00 SCX_CPU1_DS_FI/2254 write ";*********************************************************************" +21-236-11:31:32.175 00 SPR-I:OPRO ;********************************************************************* +21-236-11:31:32.175 00 SCX_CPU1_DS_FI/2255 write "; Step 3.10.1: Send the Set Filter Type command with an invalid message" +21-236-11:31:32.175 00 SPR-I:OPRO ; Step 3.10.1: Send the Set Filter Type command with an invalid message +21-236-11:31:32.175 00 SCX_CPU1_DS_FI/2256 write ";*********************************************************************" +21-236-11:31:32.175 00 SPR-I:OPRO ;********************************************************************* +21-236-11:31:32.175 00 SCX_CPU1_DS_FI/2258 ut_setupevents "SCX", "CPU1", {DSAppName}, DS_FTYPE_CMD_ERR_EID, "ERROR", 1 +21-236-11:31:32.183 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:31:32.184 00 SPR-I:OPRO ; Setup event 1 with DS ERROR 40 +21-236-11:31:32.184 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:31:32.187 00 SCX_CPU1_DS_FI/2259 +21-236-11:31:32.187 00 SCX_CPU1_DS_FI/2260 errcnt = SCX_CPU1_DS_CMDEC + 1 +21-236-11:31:32.188 00 SCX_CPU1_DS_FI/2262 /SCX_CPU1_DS_SetFilterType MessageID=x'1345' ParamIndex=0 FilterType=DS_BY_COUNT +21-236-11:31:32.203 00 SCX_CPU1_DS_FI/2263 +21-236-11:31:32.203 00 SCX_CPU1_DS_FI/2264 ut_tlmwait SCX_CPU1_DS_CMDEC, {errcnt} +21-236-11:31:32.213 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:31:33.008 00 TLMH-I:STS 58-012-14:15:30.001 ERROR CPU=CPU1 APPNAME=DS EVENT ID=40 Invalid FILTER TYPE command: Message ID 0x00001345 is not in filter table +21-236-11:31:35.216 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:31:35.218 00 SCX_CPU1_DS_FI/2265 if (UT_TW_Status = UT_Success) then +21-236-11:31:35.219 00 SCX_CPU1_DS_FI/2266 write "<*> Passed (1005) - DS Set Filter Type command failed as expected." +21-236-11:31:35.219 00 SPR-I:OPRO <*> Passed (1005) - DS Set Filter Type command failed as expected. +21-236-11:31:35.219 00 SCX_CPU1_DS_FI/2267 ut_setrequirements DS_1005, "P" +21-236-11:31:35.222 00 SCX_CPU1_DS_FI/2271 endif +21-236-11:31:35.222 00 SCX_CPU1_DS_FI/2272 +21-236-11:31:35.222 00 SCX_CPU1_DS_FI/2274 ut_tlmwait SCX_CPU1_find_event[1].num_found_messages, 1 +21-236-11:31:35.224 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:31:35.225 00 SCX_CPU1_DS_FI/2275 if (UT_TW_Status = UT_Success) then +21-236-11:31:35.225 00 SCX_CPU1_DS_FI/2276 write "<*> Passed (1005) - Expected Event Msg ",DS_FTYPE_CMD_ERR_EID," rcv'd." +21-236-11:31:35.225 00 SPR-I:OPRO <*> Passed (1005) - Expected Event Msg 40 rcv'd. +21-236-11:31:35.225 00 SCX_CPU1_DS_FI/2277 ut_setrequirements DS_1005, "P" +21-236-11:31:35.225 00 SCX_CPU1_DS_FI/2281 endif +21-236-11:31:35.226 00 SCX_CPU1_DS_FI/2282 +21-236-11:31:35.226 00 SCX_CPU1_DS_FI/2283 wait 5 +21-236-11:31:35.226 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:31:40.244 00 SCX_CPU1_DS_FI/2284 +21-236-11:31:40.244 00 SCX_CPU1_DS_FI/2285 write ";*********************************************************************" +21-236-11:31:40.245 00 SPR-I:OPRO ;********************************************************************* +21-236-11:31:40.245 00 SCX_CPU1_DS_FI/2286 write "; Step 3.10.2: Send the Set Filter Type command with an invalid " +21-236-11:31:40.245 00 SPR-I:OPRO ; Step 3.10.2: Send the Set Filter Type command with an invalid +21-236-11:31:40.245 00 SCX_CPU1_DS_FI/2287 write "; parameter index. " +21-236-11:31:40.245 00 SPR-I:OPRO ; parameter index. +21-236-11:31:40.245 00 SCX_CPU1_DS_FI/2288 write ";*********************************************************************" +21-236-11:31:40.245 00 SPR-I:OPRO ;********************************************************************* +21-236-11:31:40.245 00 SCX_CPU1_DS_FI/2290 ut_setupevents "SCX", "CPU1", {DSAppName}, DS_FTYPE_CMD_ERR_EID, "ERROR", 1 +21-236-11:31:40.253 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:31:40.253 00 SPR-I:OPRO ; Setup event 1 with DS ERROR 40 +21-236-11:31:40.253 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:31:40.255 00 SCX_CPU1_DS_FI/2291 +21-236-11:31:40.255 00 SCX_CPU1_DS_FI/2292 errcnt = SCX_CPU1_DS_CMDEC + 1 +21-236-11:31:40.256 00 SCX_CPU1_DS_FI/2294 /SCX_CPU1_DS_SetFilterType MessageID=seqFileMsgID ParamIndex=DS_FILTERS_PER_PACKET FilterType=DS_BY_COUNT +21-236-11:31:40.271 00 SCX_CPU1_DS_FI/2295 +21-236-11:31:40.271 00 SCX_CPU1_DS_FI/2296 ut_tlmwait SCX_CPU1_DS_CMDEC, {errcnt} +21-236-11:31:40.281 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:31:41.007 00 TLMH-I:STS 58-012-14:15:38.001 ERROR CPU=CPU1 APPNAME=DS EVENT ID=40 Invalid FILTER TYPE command arg: filter parameters index = 4 +21-236-11:31:43.285 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:31:43.287 00 SCX_CPU1_DS_FI/2297 if (UT_TW_Status = UT_Success) then +21-236-11:31:43.287 00 SCX_CPU1_DS_FI/2298 write "<*> Passed (1005) - DS Set Filter Type command failed as expected." +21-236-11:31:43.287 00 SPR-I:OPRO <*> Passed (1005) - DS Set Filter Type command failed as expected. +21-236-11:31:43.288 00 SCX_CPU1_DS_FI/2299 ut_setrequirements DS_1005, "P" +21-236-11:31:43.292 00 SCX_CPU1_DS_FI/2303 endif +21-236-11:31:43.292 00 SCX_CPU1_DS_FI/2304 +21-236-11:31:43.292 00 SCX_CPU1_DS_FI/2306 ut_tlmwait SCX_CPU1_find_event[1].num_found_messages, 1 +21-236-11:31:43.305 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:31:43.308 00 SCX_CPU1_DS_FI/2307 if (UT_TW_Status = UT_Success) then +21-236-11:31:43.308 00 SCX_CPU1_DS_FI/2308 write "<*> Passed (1005) - Expected Event Msg ",DS_FTYPE_CMD_ERR_EID," rcv'd." +21-236-11:31:43.308 00 SPR-I:OPRO <*> Passed (1005) - Expected Event Msg 40 rcv'd. +21-236-11:31:43.308 00 SCX_CPU1_DS_FI/2309 ut_setrequirements DS_1005, "P" +21-236-11:31:43.313 00 SCX_CPU1_DS_FI/2313 endif +21-236-11:31:43.313 00 SCX_CPU1_DS_FI/2314 +21-236-11:31:43.313 00 SCX_CPU1_DS_FI/2315 wait 5 +21-236-11:31:43.313 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:31:48.346 00 SCX_CPU1_DS_FI/2316 +21-236-11:31:48.346 00 SCX_CPU1_DS_FI/2317 write ";*********************************************************************" +21-236-11:31:48.346 00 SPR-I:OPRO ;********************************************************************* +21-236-11:31:48.346 00 SCX_CPU1_DS_FI/2318 write "; Step 3.10.3: Send the Set Filter Type command with an invalid filter " +21-236-11:31:48.346 00 SPR-I:OPRO ; Step 3.10.3: Send the Set Filter Type command with an invalid filter +21-236-11:31:48.346 00 SCX_CPU1_DS_FI/2319 write "; type. " +21-236-11:31:48.346 00 SPR-I:OPRO ; type. +21-236-11:31:48.347 00 SCX_CPU1_DS_FI/2320 write ";*********************************************************************" +21-236-11:31:48.347 00 SPR-I:OPRO ;********************************************************************* +21-236-11:31:48.347 00 SCX_CPU1_DS_FI/2321 ut_setupevents "SCX", "CPU1", {DSAppName}, DS_FTYPE_CMD_ERR_EID, "ERROR", 1 +21-236-11:31:48.349 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:31:48.349 00 SPR-I:OPRO ; Setup event 1 with DS ERROR 40 +21-236-11:31:48.349 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:31:48.350 00 SCX_CPU1_DS_FI/2322 +21-236-11:31:48.350 00 SCX_CPU1_DS_FI/2324 errcnt = SCX_CPU1_DS_CMDEC + 1 +21-236-11:31:48.350 00 SCX_CPU1_DS_FI/2326 /SCX_CPU1_DS_SetFilterType MessageID=seqFileMsgID ParamIndex=0 FilterType=3 +21-236-11:31:48.362 00 SCX_CPU1_DS_FI/2327 +21-236-11:31:48.362 00 SCX_CPU1_DS_FI/2328 ut_tlmwait SCX_CPU1_DS_CMDEC, {errcnt} +21-236-11:31:48.368 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:31:49.011 00 TLMH-I:STS 58-012-14:15:46.001 ERROR CPU=CPU1 APPNAME=DS EVENT ID=40 Invalid FILTER TYPE command arg: filter type = 3 +21-236-11:31:51.371 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:31:51.374 00 SCX_CPU1_DS_FI/2329 if (UT_TW_Status = UT_Success) then +21-236-11:31:51.374 00 SCX_CPU1_DS_FI/2330 write "<*> Passed (1005) - DS Set Filter Type command failed as expected." +21-236-11:31:51.374 00 SPR-I:OPRO <*> Passed (1005) - DS Set Filter Type command failed as expected. +21-236-11:31:51.374 00 SCX_CPU1_DS_FI/2331 ut_setrequirements DS_1005, "P" +21-236-11:31:51.378 00 SCX_CPU1_DS_FI/2335 endif +21-236-11:31:51.379 00 SCX_CPU1_DS_FI/2336 +21-236-11:31:51.379 00 SCX_CPU1_DS_FI/2338 ut_tlmwait SCX_CPU1_find_event[1].num_found_messages, 1 +21-236-11:31:51.392 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:31:51.405 00 SCX_CPU1_DS_FI/2339 if (UT_TW_Status = UT_Success) then +21-236-11:31:51.405 00 SCX_CPU1_DS_FI/2340 write "<*> Passed (1005) - Expected Event Msg ",DS_FTYPE_CMD_ERR_EID," rcv'd." +21-236-11:31:51.405 00 SPR-I:OPRO <*> Passed (1005) - Expected Event Msg 40 rcv'd. +21-236-11:31:51.405 00 SCX_CPU1_DS_FI/2341 ut_setrequirements DS_1005, "P" +21-236-11:31:51.407 00 SCX_CPU1_DS_FI/2345 endif +21-236-11:31:51.407 00 SCX_CPU1_DS_FI/2346 +21-236-11:31:51.407 00 SCX_CPU1_DS_FI/2347 wait 5 +21-236-11:31:51.407 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:31:56.410 00 SCX_CPU1_DS_FI/2348 +21-236-11:31:56.411 00 SCX_CPU1_DS_FI/2349 write ";*********************************************************************" +21-236-11:31:56.411 00 SPR-I:OPRO ;********************************************************************* +21-236-11:31:56.411 00 SCX_CPU1_DS_FI/2350 write "; Step 3.11: Send the Set Filter Parameter command. " +21-236-11:31:56.411 00 SPR-I:OPRO ; Step 3.11: Send the Set Filter Parameter command. +21-236-11:31:56.411 00 SCX_CPU1_DS_FI/2351 write ";*********************************************************************" +21-236-11:31:56.411 00 SPR-I:OPRO ;********************************************************************* +21-236-11:31:56.411 00 SCX_CPU1_DS_FI/2353 local existingNVal = SCX_CPU1_DS_PF_TBL[filterEntry].FilterParams[0].N_Value +21-236-11:31:56.412 00 SCX_CPU1_DS_FI/2354 local existingXVal = SCX_CPU1_DS_PF_TBL[filterEntry].FilterParams[0].X_Value +21-236-11:31:56.412 00 SCX_CPU1_DS_FI/2355 local existingOVal = SCX_CPU1_DS_PF_TBL[filterEntry].FilterParams[0].O_Value +21-236-11:31:56.413 00 SCX_CPU1_DS_FI/2356 local newNVal = existingNVal + 3 +21-236-11:31:56.413 00 SCX_CPU1_DS_FI/2357 local newXVal = existingXVal + 5 +21-236-11:31:56.413 00 SCX_CPU1_DS_FI/2358 local newOVal = existingOVal + 2 +21-236-11:31:56.413 00 SCX_CPU1_DS_FI/2359 +21-236-11:31:56.413 00 SCX_CPU1_DS_FI/2361 ut_setupevents "SCX", "CPU1", {DSAppName}, DS_PARMS_CMD_EID, "DEBUG", 1 +21-236-11:31:56.419 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:31:56.420 00 SPR-I:OPRO ; Setup event 1 with DS DEBUG 41 +21-236-11:31:56.420 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:31:56.422 00 SCX_CPU1_DS_FI/2362 +21-236-11:31:56.422 00 SCX_CPU1_DS_FI/2363 cmdCtr = SCX_CPU1_DS_CMDPC + 1 +21-236-11:31:56.422 00 SCX_CPU1_DS_FI/2365 /SCX_CPU1_DS_SetFilterParams MessageID=seqFileMsgID ParamIndex=0 N_Value=newNVal X_Value=newXVal O_Value=newOVal +21-236-11:31:56.438 00 SCX_CPU1_DS_FI/2366 +21-236-11:31:56.438 00 SCX_CPU1_DS_FI/2367 ut_tlmwait SCX_CPU1_DS_CMDPC, {cmdCtr} +21-236-11:31:56.444 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:31:57.010 00 TLMH-I:STS 58-012-14:15:54.003 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=41 FILTER PARMS command: MID = 0x00000905, index = 5, filter = 0, N = 4, X = 6, O = 2 +21-236-11:31:59.447 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:31:59.449 00 SCX_CPU1_DS_FI/2368 if (UT_TW_Status = UT_Success) then +21-236-11:31:59.449 00 SCX_CPU1_DS_FI/2369 write "<*> Passed (1004;5010) - DS Set Filter Parameters command sent properly." +21-236-11:31:59.450 00 SPR-I:OPRO <*> Passed (1004;5010) - DS Set Filter Parameters command sent properly. +21-236-11:31:59.450 00 SCX_CPU1_DS_FI/2370 ut_setrequirements DS_1004, "P" +21-236-11:31:59.454 00 SCX_CPU1_DS_FI/2371 ut_setrequirements DS_5010, "P" +21-236-11:31:59.458 00 SCX_CPU1_DS_FI/2376 endif +21-236-11:31:59.459 00 SCX_CPU1_DS_FI/2377 +21-236-11:31:59.459 00 SCX_CPU1_DS_FI/2379 ut_tlmwait SCX_CPU1_find_event[1].num_found_messages, 1 +21-236-11:31:59.473 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:31:59.475 00 SCX_CPU1_DS_FI/2380 if (UT_TW_Status = UT_Success) then +21-236-11:31:59.475 00 SCX_CPU1_DS_FI/2381 write "<*> Passed (1004;5010) - Expected Event Msg ",DS_PARMS_CMD_EID," rcv'd." +21-236-11:31:59.476 00 SPR-I:OPRO <*> Passed (1004;5010) - Expected Event Msg 41 rcv'd. +21-236-11:31:59.476 00 SCX_CPU1_DS_FI/2382 ut_setrequirements DS_1004, "P" +21-236-11:31:59.479 00 SCX_CPU1_DS_FI/2383 ut_setrequirements DS_5010, "P" +21-236-11:31:59.481 00 SCX_CPU1_DS_FI/2388 endif +21-236-11:31:59.481 00 SCX_CPU1_DS_FI/2389 +21-236-11:31:59.481 00 SCX_CPU1_DS_FI/2390 wait 5 +21-236-11:31:59.481 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:32:04.519 00 SCX_CPU1_DS_FI/2391 +21-236-11:32:04.519 00 SCX_CPU1_DS_FI/2392 write ";***********************************************************************" +21-236-11:32:04.519 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:32:04.519 00 SCX_CPU1_DS_FI/2393 write "; Step 3.12: Dump the Packet Filter Table. " +21-236-11:32:04.519 00 SPR-I:OPRO ; Step 3.12: Dump the Packet Filter Table. +21-236-11:32:04.519 00 SCX_CPU1_DS_FI/2394 write ";***********************************************************************" +21-236-11:32:04.519 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:32:04.519 00 SCX_CPU1_DS_FI/2396 s get_tbl_to_cvt (ramDir,filterTblName,"A","cpu1_filtertbl312",hostCPU,filterTblPktId) +21-236-11:32:04.520 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/get_tbl_to_cvt.i +21-236-11:32:04.522 00 SPR-I:STS Procedure GET_TBL_TO_CVT started +21-236-11:32:04.523 00 GET_TBL_TO_CVT/2 ; +21-236-11:32:04.523 00 GET_TBL_TO_CVT/3 local logging = %liv (log_procedure) +21-236-11:32:04.523 00 GET_TBL_TO_CVT/4 %liv (log_procedure) = FALSE +21-236-11:32:04.530 00 SPR-I:OPRO Sending Command: /SCX_CPU1_TBL_DUMP ACTIVE DTABLENAME="DS.FILTER_TBL" DFILENAME="/ram/cpu1_filtertbl312" +21-236-11:32:04.541 00 SPR-I:STTE Wait mode - waiting 15 seconds ... +21-236-11:32:05.011 00 TLMH-I:STS 58-012-14:16:02.003 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=14 Successfully dumped Table 'DS.FILTER_TBL' to '/ram/cpu1_filtertbl312' +21-236-11:32:19.553 00 SPR-I:OPRO +21-236-11:32:19.554 00 SPR-I:OPRO The TBLNAME is: DS.FILTER_TBL +21-236-11:32:19.554 00 SPR-I:OPRO The APID is: P0F77 +21-236-11:32:19.554 00 SPR-I:OPRO The CPU is: CPU3 +21-236-11:32:19.555 00 SPR-I:OPRO The IP Address is: 192.168.1.8 +21-236-11:32:19.559 00 SPR-I:OPRO The perl command is: perl /s/opr/accounts/global/tools/ftp.pl RAM:0 cpu1_filtertbl312 cpu1_filtertbl312 binary 192.168.1.8 +21-236-11:32:19.736 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-11:32:19.736 00 SPR-I:STTE Wait mode - waiting 15 seconds ... +21-236-11:32:34.749 00 SPR-I:OPRO +21-236-11:32:34.762 00 SPR-I:OPRO The unix command is cvt -ws file_list[3959].file_write_time "`date +%y-%j-%T -r /s/opr/accounts/cfs_test/image/cpu1_filtertbl312`" +21-236-11:32:34.762 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:32:39.767 00 GET_TBL_TO_CVT/238 +21-236-11:32:39.767 00 GET_TBL_TO_CVT/239 ENDPROC +21-236-11:32:39.767 00 SPR-I:STS Procedure GET_TBL_TO_CVT completed +21-236-11:32:39.769 00 SCX_CPU1_DS_FI/2397 +21-236-11:32:39.769 00 SCX_CPU1_DS_FI/2399 if (SCX_CPU1_DS_PF_TBL[filterEntry].FilterParams[0].N_Value = newNVal) AND ;; +21-236-11:32:39.769 00 SCX_CPU1_DS_FI/2400 (SCX_CPU1_DS_PF_TBL[filterEntry].FilterParams[0].X_Value = newXVal) AND ;; +21-236-11:32:39.769 00 SCX_CPU1_DS_FI/2401 (SCX_CPU1_DS_PF_TBL[filterEntry].FilterParams[0].O_Value = newOVal) then +21-236-11:32:39.770 00 SCX_CPU1_DS_FI/2402 write "<*> Passed (5010) - Parameter changes are reflected in the table." +21-236-11:32:39.771 00 SPR-I:OPRO <*> Passed (5010) - Parameter changes are reflected in the table. +21-236-11:32:39.771 00 SCX_CPU1_DS_FI/2403 ut_setrequirements DS_5010, "P" +21-236-11:32:39.773 00 SCX_CPU1_DS_FI/2407 endif +21-236-11:32:39.773 00 SCX_CPU1_DS_FI/2408 +21-236-11:32:39.773 00 SCX_CPU1_DS_FI/2409 wait 5 +21-236-11:32:39.774 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:32:44.778 00 SCX_CPU1_DS_FI/2410 +21-236-11:32:44.778 00 SCX_CPU1_DS_FI/2411 write ";*********************************************************************" +21-236-11:32:44.778 00 SPR-I:OPRO ;********************************************************************* +21-236-11:32:44.778 00 SCX_CPU1_DS_FI/2412 write "; Step 3.13: Determine if the Filtering Algorithm works properly for " +21-236-11:32:44.778 00 SPR-I:OPRO ; Step 3.13: Determine if the Filtering Algorithm works properly for +21-236-11:32:44.778 00 SCX_CPU1_DS_FI/2413 write "; Sequence based filtering. " +21-236-11:32:44.778 00 SPR-I:OPRO ; Sequence based filtering. +21-236-11:32:44.778 00 SCX_CPU1_DS_FI/2414 write ";*********************************************************************" +21-236-11:32:44.778 00 SPR-I:OPRO ;********************************************************************* +21-236-11:32:44.778 00 SCX_CPU1_DS_FI/2415 write "; Step 3.13.1: Determine if the Filter Type is set to Sequence based. " +21-236-11:32:44.779 00 SPR-I:OPRO ; Step 3.13.1: Determine if the Filter Type is set to Sequence based. +21-236-11:32:44.779 00 SCX_CPU1_DS_FI/2416 write ";*********************************************************************" +21-236-11:32:44.779 00 SPR-I:OPRO ;********************************************************************* +21-236-11:32:44.779 00 SCX_CPU1_DS_FI/2418 existingFilterType = SCX_CPU1_DS_PF_TBL[filterEntry].FilterParams[0].FilterType +21-236-11:32:44.779 00 SCX_CPU1_DS_FI/2419 +21-236-11:32:44.780 00 SCX_CPU1_DS_FI/2421 if (existingFilterType = DS_BY_TIME) then +21-236-11:32:44.780 00 SCX_CPU1_DS_FI/2451 endif +21-236-11:32:44.780 00 SCX_CPU1_DS_FI/2452 +21-236-11:32:44.780 00 SCX_CPU1_DS_FI/2453 wait 5 +21-236-11:32:44.780 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:32:49.784 00 SCX_CPU1_DS_FI/2454 +21-236-11:32:49.784 00 SCX_CPU1_DS_FI/2455 write ";***********************************************************************" +21-236-11:32:49.784 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:32:49.784 00 SCX_CPU1_DS_FI/2456 write "; Step 3.13.2: Send the TST_DS command to send a message to DS using " +21-236-11:32:49.784 00 SPR-I:OPRO ; Step 3.13.2: Send the TST_DS command to send a message to DS using +21-236-11:32:49.784 00 SCX_CPU1_DS_FI/2457 write "; the MessageID used above. Send 'X' messages. The HK should contain " +21-236-11:32:49.784 00 SPR-I:OPRO ; the MessageID used above. Send 'X' messages. The HK should contain +21-236-11:32:49.784 00 SCX_CPU1_DS_FI/2458 write "; information about the file opened. " +21-236-11:32:49.784 00 SPR-I:OPRO ; information about the file opened. +21-236-11:32:49.784 00 SCX_CPU1_DS_FI/2459 write ";***********************************************************************" +21-236-11:32:49.784 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:32:49.784 00 SCX_CPU1_DS_FI/2461 ut_setupevents "SCX", "CPU1", "TST_DS", TST_DS_MSG1_SENT_INF_EID, "INFO", 1 +21-236-11:32:49.786 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:32:49.786 00 SPR-I:OPRO ; Setup event 1 with TST_DS INFO 5 +21-236-11:32:49.786 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:32:49.786 00 SCX_CPU1_DS_FI/2462 +21-236-11:32:49.786 00 SCX_CPU1_DS_FI/2463 expPassedPkts = SCX_CPU1_DS_PassedPktCnt + newNVal +21-236-11:32:49.786 00 SCX_CPU1_DS_FI/2464 +21-236-11:32:49.786 00 SCX_CPU1_DS_FI/2466 for i = 1 to newXVal do +21-236-11:32:49.787 00 SCX_CPU1_DS_FI/2468 dataPattern = i +21-236-11:32:49.787 00 SCX_CPU1_DS_FI/2469 /SCX_CPU1_TST_DS_SENDMESSAGE MsgID=seqFileMsgID MsgType=1 Pattern=dataPattern +21-236-11:32:49.798 00 SCX_CPU1_DS_FI/2470 wait 5 +21-236-11:32:49.798 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:32:50.513 00 TLMH-I:STS 58-012-14:16:47.501 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Message Size 116 to MID 0x00000905 +21-236-11:32:54.802 00 SCX_CPU1_DS_FI/2471 enddo +21-236-11:32:54.803 00 SCX_CPU1_DS_FI/2466 for i = 1 to newXVal do +21-236-11:32:54.804 00 SCX_CPU1_DS_FI/2468 dataPattern = i +21-236-11:32:54.804 00 SCX_CPU1_DS_FI/2469 /SCX_CPU1_TST_DS_SENDMESSAGE MsgID=seqFileMsgID MsgType=1 Pattern=dataPattern +21-236-11:32:54.819 00 SCX_CPU1_DS_FI/2470 wait 5 +21-236-11:32:54.819 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:32:55.515 00 TLMH-I:STS 58-012-14:16:52.500 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Message Size 116 to MID 0x00000905 +21-236-11:32:59.823 00 SCX_CPU1_DS_FI/2471 enddo +21-236-11:32:59.824 00 SCX_CPU1_DS_FI/2466 for i = 1 to newXVal do +21-236-11:32:59.825 00 SCX_CPU1_DS_FI/2468 dataPattern = i +21-236-11:32:59.825 00 SCX_CPU1_DS_FI/2469 /SCX_CPU1_TST_DS_SENDMESSAGE MsgID=seqFileMsgID MsgType=1 Pattern=dataPattern +21-236-11:32:59.840 00 SCX_CPU1_DS_FI/2470 wait 5 +21-236-11:32:59.841 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:33:00.513 00 TLMH-I:STS 58-012-14:16:57.500 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Message Size 116 to MID 0x00000905 +21-236-11:33:04.845 00 SCX_CPU1_DS_FI/2471 enddo +21-236-11:33:04.845 00 SCX_CPU1_DS_FI/2466 for i = 1 to newXVal do +21-236-11:33:04.845 00 SCX_CPU1_DS_FI/2468 dataPattern = i +21-236-11:33:04.845 00 SCX_CPU1_DS_FI/2469 /SCX_CPU1_TST_DS_SENDMESSAGE MsgID=seqFileMsgID MsgType=1 Pattern=dataPattern +21-236-11:33:04.857 00 SCX_CPU1_DS_FI/2470 wait 5 +21-236-11:33:04.858 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:33:05.508 00 TLMH-I:STS 58-012-14:17:02.500 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Message Size 116 to MID 0x00000905 +21-236-11:33:09.861 00 SCX_CPU1_DS_FI/2471 enddo +21-236-11:33:09.863 00 SCX_CPU1_DS_FI/2466 for i = 1 to newXVal do +21-236-11:33:09.863 00 SCX_CPU1_DS_FI/2468 dataPattern = i +21-236-11:33:09.864 00 SCX_CPU1_DS_FI/2469 /SCX_CPU1_TST_DS_SENDMESSAGE MsgID=seqFileMsgID MsgType=1 Pattern=dataPattern +21-236-11:33:09.877 00 SCX_CPU1_DS_FI/2470 wait 5 +21-236-11:33:09.877 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:33:10.514 00 TLMH-I:STS 58-012-14:17:07.500 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Message Size 116 to MID 0x00000905 +21-236-11:33:14.881 00 SCX_CPU1_DS_FI/2471 enddo +21-236-11:33:14.882 00 SCX_CPU1_DS_FI/2466 for i = 1 to newXVal do +21-236-11:33:14.883 00 SCX_CPU1_DS_FI/2468 dataPattern = i +21-236-11:33:14.883 00 SCX_CPU1_DS_FI/2469 /SCX_CPU1_TST_DS_SENDMESSAGE MsgID=seqFileMsgID MsgType=1 Pattern=dataPattern +21-236-11:33:14.898 00 SCX_CPU1_DS_FI/2470 wait 5 +21-236-11:33:14.898 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:33:15.512 00 TLMH-I:STS 58-012-14:17:12.500 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Message Size 116 to MID 0x00000905 +21-236-11:33:19.901 00 SCX_CPU1_DS_FI/2471 enddo +21-236-11:33:19.902 00 SCX_CPU1_DS_FI/2466 for i = 1 to newXVal do +21-236-11:33:19.902 00 SCX_CPU1_DS_FI/2472 +21-236-11:33:19.903 00 SCX_CPU1_DS_FI/2474 if (SCX_CPU1_find_event[1].num_found_messages = newXVal) then +21-236-11:33:19.903 00 SCX_CPU1_DS_FI/2475 write "<*> Passed - Expected Event Msgs ",TST_DS_MSG1_SENT_INF_EID," rcv'd." +21-236-11:33:19.903 00 SPR-I:OPRO <*> Passed - Expected Event Msgs 5 rcv'd. +21-236-11:33:19.903 00 SCX_CPU1_DS_FI/2478 endif +21-236-11:33:19.903 00 SCX_CPU1_DS_FI/2479 +21-236-11:33:19.903 00 SCX_CPU1_DS_FI/2481 cmdCtr = SCX_CPU1_DS_CMDPC + 1 +21-236-11:33:19.904 00 SCX_CPU1_DS_FI/2482 +21-236-11:33:19.904 00 SCX_CPU1_DS_FI/2483 /SCX_CPU1_DS_GetFileInfo +21-236-11:33:19.918 00 SCX_CPU1_DS_FI/2484 +21-236-11:33:19.919 00 SCX_CPU1_DS_FI/2485 ut_tlmwait SCX_CPU1_DS_CMDPC, {cmdCtr} +21-236-11:33:19.932 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:33:20.509 00 TLMH-I:STS 58-012-14:17:17.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-11:33:23.937 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:33:23.940 00 SCX_CPU1_DS_FI/2486 +21-236-11:33:23.940 00 SCX_CPU1_DS_FI/2488 if (expPassedPkts = SCX_CPU1_DS_PassedPktCnt) then +21-236-11:33:23.941 00 SCX_CPU1_DS_FI/2489 write "<*> Passed (2000) - Passed packet counter incremented properly." +21-236-11:33:23.941 00 SPR-I:OPRO <*> Passed (2000) - Passed packet counter incremented properly. +21-236-11:33:23.941 00 SCX_CPU1_DS_FI/2490 ut_setrequirements DS_2000, "P" +21-236-11:33:23.946 00 SCX_CPU1_DS_FI/2494 endif +21-236-11:33:23.946 00 SCX_CPU1_DS_FI/2495 +21-236-11:33:23.946 00 SCX_CPU1_DS_FI/2497 fileName = "" +21-236-11:33:23.946 00 SCX_CPU1_DS_FI/2498 if (SCX_CPU1_DS_FileState[newFileEntry].FileName <> "") then +21-236-11:33:23.946 00 SCX_CPU1_DS_FI/2499 fileName = SCX_CPU1_DS_FileState[newFileEntry].FileName +21-236-11:33:23.947 00 SCX_CPU1_DS_FI/2500 write "<*> Passed (2002.1;2003;2003.1;3000) - A file was created with name '",fileName,"'" +21-236-11:33:23.947 00 SPR-I:OPRO <*> Passed (2002.1;2003;2003.1;3000) - A file was created with name '/ram/seq200000207.dat' +21-236-11:33:23.947 00 SCX_CPU1_DS_FI/2501 ut_setrequirements DS_20021, "P" +21-236-11:33:23.951 00 SCX_CPU1_DS_FI/2502 ut_setrequirements DS_2003, "A" +21-236-11:33:23.955 00 SCX_CPU1_DS_FI/2503 ut_setrequirements DS_20031, "A" +21-236-11:33:23.983 00 SCX_CPU1_DS_FI/2504 ut_setrequirements DS_3000, "P" +21-236-11:33:23.984 00 SCX_CPU1_DS_FI/2511 endif +21-236-11:33:23.984 00 SCX_CPU1_DS_FI/2512 +21-236-11:33:23.984 00 SCX_CPU1_DS_FI/2513 write ";***********************************************************************" +21-236-11:33:23.984 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:33:23.984 00 SCX_CPU1_DS_FI/2514 write "; Step 3.13.3: Close and download the file created above. " +21-236-11:33:23.984 00 SPR-I:OPRO ; Step 3.13.3: Close and download the file created above. +21-236-11:33:23.984 00 SCX_CPU1_DS_FI/2515 write ";***********************************************************************" +21-236-11:33:23.984 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:33:23.984 00 SCX_CPU1_DS_FI/2518 ut_setupevents "SCX", "CPU1", {DSAppName}, DS_CLOSE_CMD_EID, "DEBUG", 1 +21-236-11:33:23.986 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:33:23.987 00 SPR-I:OPRO ; Setup event 1 with DS DEBUG 59 +21-236-11:33:23.987 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:33:24.014 00 SCX_CPU1_DS_FI/2519 +21-236-11:33:24.014 00 SCX_CPU1_DS_FI/2520 cmdCtr = SCX_CPU1_DS_CMDPC + 1 +21-236-11:33:24.014 00 SCX_CPU1_DS_FI/2522 /SCX_CPU1_DS_CloseFile FileIndex=newFileEntry +21-236-11:33:24.026 00 SCX_CPU1_DS_FI/2523 +21-236-11:33:24.026 00 SCX_CPU1_DS_FI/2524 ut_tlmwait SCX_CPU1_DS_CMDPC, {cmdCtr} +21-236-11:33:24.029 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:33:24.513 00 TLMH-I:STS 58-012-14:17:21.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=59 DEST CLOSE command: file table index = 1 +21-236-11:33:27.033 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:33:27.036 00 SCX_CPU1_DS_FI/2525 if (UT_TW_Status = UT_Success) then +21-236-11:33:27.036 00 SCX_CPU1_DS_FI/2526 write "<*> Passed (1004;5002) - DS Close File command sent properly." +21-236-11:33:27.036 00 SPR-I:OPRO <*> Passed (1004;5002) - DS Close File command sent properly. +21-236-11:33:27.036 00 SCX_CPU1_DS_FI/2527 ut_setrequirements DS_1004, "P" +21-236-11:33:27.039 00 SCX_CPU1_DS_FI/2528 ut_setrequirements DS_5002, "P" +21-236-11:33:27.040 00 SCX_CPU1_DS_FI/2533 endif +21-236-11:33:27.040 00 SCX_CPU1_DS_FI/2534 +21-236-11:33:27.040 00 SCX_CPU1_DS_FI/2536 ut_tlmwait SCX_CPU1_find_event[1].num_found_messages, 1 +21-236-11:33:27.043 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:33:27.044 00 SCX_CPU1_DS_FI/2537 if (UT_TW_Status = UT_Success) then +21-236-11:33:27.044 00 SCX_CPU1_DS_FI/2538 write "<*> Passed (1004;5002) - Expected Event Msg ",DS_CLOSE_CMD_EID," rcv'd." +21-236-11:33:27.044 00 SPR-I:OPRO <*> Passed (1004;5002) - Expected Event Msg 59 rcv'd. +21-236-11:33:27.044 00 SCX_CPU1_DS_FI/2539 ut_setrequirements DS_1004, "P" +21-236-11:33:27.070 00 SCX_CPU1_DS_FI/2540 ut_setrequirements DS_5002, "P" +21-236-11:33:27.071 00 SCX_CPU1_DS_FI/2545 endif +21-236-11:33:27.071 00 SCX_CPU1_DS_FI/2546 +21-236-11:33:27.071 00 SCX_CPU1_DS_FI/2548 if (fileName <> "") then +21-236-11:33:27.071 00 SCX_CPU1_DS_FI/2549 ut_setrequirements DS_2001, "A" +21-236-11:33:27.072 00 SCX_CPU1_DS_FI/2550 write "==> Downloading '",fileName,"'" +21-236-11:33:27.072 00 SPR-I:OPRO ==> Downloading '/ram/seq200000207.dat' +21-236-11:33:27.072 00 SCX_CPU1_DS_FI/2551 slashLoc = %locate(fileName,"/") +21-236-11:33:27.072 00 SCX_CPU1_DS_FI/2552 while (slashLoc <> 0) do +21-236-11:33:27.072 00 SCX_CPU1_DS_FI/2553 fileName = %substring(fileName,slashLoc+1,%length(fileName)) +21-236-11:33:27.072 00 SCX_CPU1_DS_FI/2554 slashLoc = %locate(fileName,"/") +21-236-11:33:27.072 00 SCX_CPU1_DS_FI/2555 enddo +21-236-11:33:27.073 00 SCX_CPU1_DS_FI/2553 fileName = %substring(fileName,slashLoc+1,%length(fileName)) +21-236-11:33:27.073 00 SCX_CPU1_DS_FI/2554 slashLoc = %locate(fileName,"/") +21-236-11:33:27.073 00 SCX_CPU1_DS_FI/2555 enddo +21-236-11:33:27.073 00 SCX_CPU1_DS_FI/2556 write "==> FileName Only = '",fileName,"'" +21-236-11:33:27.073 00 SPR-I:OPRO ==> FileName Only = 'seq200000207.dat' +21-236-11:33:27.090 00 SCX_CPU1_DS_FI/2559 s ftp_file(ramDir, fileName, fileName, hostCPU, "G") +21-236-11:33:27.090 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/ftp_file.i +21-236-11:33:27.090 00 SPR-I:STS Procedure FTP_FILE started +21-236-11:33:27.091 00 FTP_FILE/2 ; +21-236-11:33:27.091 00 FTP_FILE/3 local logging = %liv (log_procedure) +21-236-11:33:27.091 00 FTP_FILE/4 %liv (log_procedure) = FALSE +21-236-11:33:27.193 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-11:33:27.193 00 FTP_FILE/85 ENDPROC +21-236-11:33:27.193 00 SPR-I:STS Procedure FTP_FILE completed +21-236-11:33:27.194 00 SCX_CPU1_DS_FI/2562 endif +21-236-11:33:27.194 00 SCX_CPU1_DS_FI/2563 +21-236-11:33:27.194 00 SCX_CPU1_DS_FI/2564 wait 5 +21-236-11:33:27.194 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:33:32.197 00 SCX_CPU1_DS_FI/2565 +21-236-11:33:32.197 00 SCX_CPU1_DS_FI/2566 write ";*********************************************************************" +21-236-11:33:32.197 00 SPR-I:OPRO ;********************************************************************* +21-236-11:33:32.197 00 SCX_CPU1_DS_FI/2567 write "; Step 3.14: Send the Set Filter Parameter command with an invalid " +21-236-11:33:32.197 00 SPR-I:OPRO ; Step 3.14: Send the Set Filter Parameter command with an invalid +21-236-11:33:32.197 00 SCX_CPU1_DS_FI/2568 write "; length." +21-236-11:33:32.197 00 SPR-I:OPRO ; length. +21-236-11:33:32.197 00 SCX_CPU1_DS_FI/2569 write ";*********************************************************************" +21-236-11:33:32.197 00 SPR-I:OPRO ;********************************************************************* +21-236-11:33:32.197 00 SCX_CPU1_DS_FI/2570 ut_setupevents "SCX", "CPU1", {DSAppName}, DS_PARMS_CMD_ERR_EID, "ERROR", 1 +21-236-11:33:32.200 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:33:32.200 00 SPR-I:OPRO ; Setup event 1 with DS ERROR 42 +21-236-11:33:32.200 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:33:32.201 00 SCX_CPU1_DS_FI/2571 +21-236-11:33:32.201 00 SCX_CPU1_DS_FI/2572 errcnt = SCX_CPU1_DS_CMDEC + 1 +21-236-11:33:32.201 00 SCX_CPU1_DS_FI/2573 +21-236-11:33:32.201 00 SCX_CPU1_DS_FI/2575 rawcmd = "18BBc000000C058A" +21-236-11:33:32.201 00 SCX_CPU1_DS_FI/2576 +21-236-11:33:32.201 00 SCX_CPU1_DS_FI/2577 ut_sendrawcmd "SCX_CPU1_DS", (rawcmd) +21-236-11:33:32.206 00 SPR-I:OPRO Sending: 18BBc000000C058A +21-236-11:33:32.220 00 SPR-I:OPRO ; Telemetry update will wait a maximum of 24 seconds +21-236-11:33:32.221 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:33:33.005 00 TLMH-I:STS 58-012-14:17:30.001 ERROR CPU=CPU1 APPNAME=DS EVENT ID=42 Invalid FILTER PARMS command length: expected = 20, actual = 19 +21-236-11:33:35.224 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:33:35.229 00 SCX_CPU1_DS_FI/2578 +21-236-11:33:35.229 00 SCX_CPU1_DS_FI/2579 ut_tlmwait SCX_CPU1_DS_CMDEC, {errcnt} +21-236-11:33:35.242 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:33:35.244 00 SCX_CPU1_DS_FI/2580 if (UT_TW_Status = UT_Success) then +21-236-11:33:35.244 00 SCX_CPU1_DS_FI/2581 write "<*> Passed (1002;1005) - Command Rejected Counter incremented." +21-236-11:33:35.244 00 SPR-I:OPRO <*> Passed (1002;1005) - Command Rejected Counter incremented. +21-236-11:33:35.244 00 SCX_CPU1_DS_FI/2582 ut_setrequirements DS_1002, "P" +21-236-11:33:35.248 00 SCX_CPU1_DS_FI/2583 ut_setrequirements DS_1005, "P" +21-236-11:33:35.252 00 SCX_CPU1_DS_FI/2588 endif +21-236-11:33:35.252 00 SCX_CPU1_DS_FI/2589 +21-236-11:33:35.252 00 SCX_CPU1_DS_FI/2590 if (SCX_CPU1_find_event[1].num_found_messages = 1) THEN +21-236-11:33:35.252 00 SCX_CPU1_DS_FI/2591 write "<*> Passed (1005) - Event message ",SCX_CPU1_find_event[1].eventid, " received" +21-236-11:33:35.252 00 SPR-I:OPRO <*> Passed (1005) - Event message 42 received +21-236-11:33:35.252 00 SCX_CPU1_DS_FI/2592 ut_setrequirements DS_1005, "P" +21-236-11:33:35.262 00 SCX_CPU1_DS_FI/2596 endif +21-236-11:33:35.262 00 SCX_CPU1_DS_FI/2597 +21-236-11:33:35.262 00 SCX_CPU1_DS_FI/2598 wait 5 +21-236-11:33:35.262 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:33:40.266 00 SCX_CPU1_DS_FI/2599 +21-236-11:33:40.266 00 SCX_CPU1_DS_FI/2600 write ";***********************************************************************" +21-236-11:33:40.267 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:33:40.267 00 SCX_CPU1_DS_FI/2601 write "; Step 3.15: Send the Set Filter Parameter command with invalid " +21-236-11:33:40.267 00 SPR-I:OPRO ; Step 3.15: Send the Set Filter Parameter command with invalid +21-236-11:33:40.267 00 SCX_CPU1_DS_FI/2602 write "; arguments." +21-236-11:33:40.267 00 SPR-I:OPRO ; arguments. +21-236-11:33:40.267 00 SCX_CPU1_DS_FI/2603 write ";***********************************************************************" +21-236-11:33:40.267 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:33:40.267 00 SCX_CPU1_DS_FI/2604 write "; Step 3.15.1: Send the Set Filter Parameter command with an invalid " +21-236-11:33:40.267 00 SPR-I:OPRO ; Step 3.15.1: Send the Set Filter Parameter command with an invalid +21-236-11:33:40.267 00 SCX_CPU1_DS_FI/2605 write "; message ID. " +21-236-11:33:40.268 00 SPR-I:OPRO ; message ID. +21-236-11:33:40.268 00 SCX_CPU1_DS_FI/2606 write ";***********************************************************************" +21-236-11:33:40.268 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:33:40.268 00 SCX_CPU1_DS_FI/2608 ut_setupevents "SCX", "CPU1", {DSAppName}, DS_PARMS_CMD_ERR_EID, "ERROR", 1 +21-236-11:33:40.275 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:33:40.276 00 SPR-I:OPRO ; Setup event 1 with DS ERROR 42 +21-236-11:33:40.276 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:33:40.278 00 SCX_CPU1_DS_FI/2609 +21-236-11:33:40.279 00 SCX_CPU1_DS_FI/2610 errcnt = SCX_CPU1_DS_CMDEC + 1 +21-236-11:33:40.279 00 SCX_CPU1_DS_FI/2612 /SCX_CPU1_DS_SetFilterParams MessageID=x'ABCD' ParamIndex=0 N_Value=newNVal X_Value=newXVal O_Value=newOVal +21-236-11:33:40.295 00 SCX_CPU1_DS_FI/2613 +21-236-11:33:40.295 00 SCX_CPU1_DS_FI/2614 ut_tlmwait SCX_CPU1_DS_CMDEC, {errcnt} +21-236-11:33:40.305 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:33:41.015 00 TLMH-I:STS 58-012-14:17:38.001 ERROR CPU=CPU1 APPNAME=DS EVENT ID=42 Invalid FILTER PARMS command: Message ID 0x0000ABCD is not in filter table +21-236-11:33:43.309 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:33:43.311 00 SCX_CPU1_DS_FI/2615 if (UT_TW_Status = UT_Success) then +21-236-11:33:43.312 00 SCX_CPU1_DS_FI/2616 write "<*> Passed (1005) - DS Set Filter Parameters command failed as expected." +21-236-11:33:43.312 00 SPR-I:OPRO <*> Passed (1005) - DS Set Filter Parameters command failed as expected. +21-236-11:33:43.312 00 SCX_CPU1_DS_FI/2617 ut_setrequirements DS_1005, "P" +21-236-11:33:43.316 00 SCX_CPU1_DS_FI/2621 endif +21-236-11:33:43.316 00 SCX_CPU1_DS_FI/2622 +21-236-11:33:43.316 00 SCX_CPU1_DS_FI/2624 ut_tlmwait SCX_CPU1_find_event[1].num_found_messages, 1 +21-236-11:33:43.329 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:33:43.331 00 SCX_CPU1_DS_FI/2625 if (UT_TW_Status = UT_Success) then +21-236-11:33:43.331 00 SCX_CPU1_DS_FI/2626 write "<*> Passed (1005) - Expected Event Msg ",DS_PARMS_CMD_ERR_EID," rcv'd." +21-236-11:33:43.331 00 SPR-I:OPRO <*> Passed (1005) - Expected Event Msg 42 rcv'd. +21-236-11:33:43.331 00 SCX_CPU1_DS_FI/2627 ut_setrequirements DS_1005, "P" +21-236-11:33:43.335 00 SCX_CPU1_DS_FI/2631 endif +21-236-11:33:43.335 00 SCX_CPU1_DS_FI/2632 +21-236-11:33:43.335 00 SCX_CPU1_DS_FI/2633 wait 5 +21-236-11:33:43.336 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:33:48.368 00 SCX_CPU1_DS_FI/2634 +21-236-11:33:48.368 00 SCX_CPU1_DS_FI/2635 write ";*********************************************************************" +21-236-11:33:48.368 00 SPR-I:OPRO ;********************************************************************* +21-236-11:33:48.368 00 SCX_CPU1_DS_FI/2636 write "; Step 3.15.2: Send the Set Filter Parameters command with an invalid " +21-236-11:33:48.368 00 SPR-I:OPRO ; Step 3.15.2: Send the Set Filter Parameters command with an invalid +21-236-11:33:48.368 00 SCX_CPU1_DS_FI/2637 write "; parameter index. " +21-236-11:33:48.368 00 SPR-I:OPRO ; parameter index. +21-236-11:33:48.368 00 SCX_CPU1_DS_FI/2638 write ";*********************************************************************" +21-236-11:33:48.368 00 SPR-I:OPRO ;********************************************************************* +21-236-11:33:48.368 00 SCX_CPU1_DS_FI/2640 ut_setupevents "SCX", "CPU1", {DSAppName}, DS_PARMS_CMD_ERR_EID, "ERROR", 1 +21-236-11:33:48.374 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:33:48.375 00 SPR-I:OPRO ; Setup event 1 with DS ERROR 42 +21-236-11:33:48.375 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:33:48.377 00 SCX_CPU1_DS_FI/2641 +21-236-11:33:48.377 00 SCX_CPU1_DS_FI/2642 errcnt = SCX_CPU1_DS_CMDEC + 1 +21-236-11:33:48.378 00 SCX_CPU1_DS_FI/2644 /SCX_CPU1_DS_SetFilterParams MessageID=x'ABCD' ParamIndex=DS_FILTERS_PER_PACKET N_Value=newNVal X_Value=newXVal O_Value=newOVal +21-236-11:33:48.394 00 SCX_CPU1_DS_FI/2645 +21-236-11:33:48.394 00 SCX_CPU1_DS_FI/2646 ut_tlmwait SCX_CPU1_DS_CMDEC, {errcnt} +21-236-11:33:48.404 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:33:49.009 00 TLMH-I:STS 58-012-14:17:46.001 ERROR CPU=CPU1 APPNAME=DS EVENT ID=42 Invalid FILTER PARMS command arg: filter parameters index = 4 +21-236-11:33:51.407 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:33:51.409 00 SCX_CPU1_DS_FI/2647 if (UT_TW_Status = UT_Success) then +21-236-11:33:51.409 00 SCX_CPU1_DS_FI/2648 write "<*> Passed (1005) - DS Set Filter File command failed as expected." +21-236-11:33:51.409 00 SPR-I:OPRO <*> Passed (1005) - DS Set Filter File command failed as expected. +21-236-11:33:51.410 00 SCX_CPU1_DS_FI/2649 ut_setrequirements DS_1005, "P" +21-236-11:33:51.413 00 SCX_CPU1_DS_FI/2653 endif +21-236-11:33:51.413 00 SCX_CPU1_DS_FI/2654 +21-236-11:33:51.413 00 SCX_CPU1_DS_FI/2656 ut_tlmwait SCX_CPU1_find_event[1].num_found_messages, 1 +21-236-11:33:51.416 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:33:51.416 00 SCX_CPU1_DS_FI/2657 if (UT_TW_Status = UT_Success) then +21-236-11:33:51.416 00 SCX_CPU1_DS_FI/2658 write "<*> Passed (1005) - Expected Event Msg ",DS_PARMS_CMD_ERR_EID," rcv'd." +21-236-11:33:51.416 00 SPR-I:OPRO <*> Passed (1005) - Expected Event Msg 42 rcv'd. +21-236-11:33:51.416 00 SCX_CPU1_DS_FI/2659 ut_setrequirements DS_1005, "P" +21-236-11:33:51.417 00 SCX_CPU1_DS_FI/2663 endif +21-236-11:33:51.417 00 SCX_CPU1_DS_FI/2664 +21-236-11:33:51.417 00 SCX_CPU1_DS_FI/2665 wait 5 +21-236-11:33:51.417 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:33:56.434 00 SCX_CPU1_DS_FI/2666 +21-236-11:33:56.435 00 SCX_CPU1_DS_FI/2667 write ";*********************************************************************" +21-236-11:33:56.435 00 SPR-I:OPRO ;********************************************************************* +21-236-11:33:56.435 00 SCX_CPU1_DS_FI/2668 write "; Step 3.15.3: Send the Set Filter Parameters command with an N value " +21-236-11:33:56.435 00 SPR-I:OPRO ; Step 3.15.3: Send the Set Filter Parameters command with an N value +21-236-11:33:56.435 00 SCX_CPU1_DS_FI/2669 write "; greater than the X value. " +21-236-11:33:56.435 00 SPR-I:OPRO ; greater than the X value. +21-236-11:33:56.435 00 SCX_CPU1_DS_FI/2670 write ";*********************************************************************" +21-236-11:33:56.435 00 SPR-I:OPRO ;********************************************************************* +21-236-11:33:56.435 00 SCX_CPU1_DS_FI/2672 ut_setupevents "SCX", "CPU1", {DSAppName}, DS_PARMS_CMD_ERR_EID, "ERROR", 1 +21-236-11:33:56.437 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:33:56.437 00 SPR-I:OPRO ; Setup event 1 with DS ERROR 42 +21-236-11:33:56.437 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:33:56.437 00 SCX_CPU1_DS_FI/2673 +21-236-11:33:56.438 00 SCX_CPU1_DS_FI/2674 errcnt = SCX_CPU1_DS_CMDEC + 1 +21-236-11:33:56.438 00 SCX_CPU1_DS_FI/2676 /SCX_CPU1_DS_SetFilterParams MessageID=seqFileMsgID ParamIndex=0 N_Value=5 X_Value=3 O_Value=0 +21-236-11:33:56.450 00 SCX_CPU1_DS_FI/2677 +21-236-11:33:56.450 00 SCX_CPU1_DS_FI/2678 ut_tlmwait SCX_CPU1_DS_CMDEC, {errcnt} +21-236-11:33:56.453 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:33:57.012 00 TLMH-I:STS 58-012-14:17:54.001 ERROR CPU=CPU1 APPNAME=DS EVENT ID=42 Invalid FILTER PARMS command arg: N = 5, X = 3, O = 0 +21-236-11:33:59.457 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:33:59.459 00 SCX_CPU1_DS_FI/2679 if (UT_TW_Status = UT_Success) then +21-236-11:33:59.459 00 SCX_CPU1_DS_FI/2680 write "<*> Passed (1005) - DS Set Filter File command failed as expected." +21-236-11:33:59.460 00 SPR-I:OPRO <*> Passed (1005) - DS Set Filter File command failed as expected. +21-236-11:33:59.460 00 SCX_CPU1_DS_FI/2681 ut_setrequirements DS_1005, "P" +21-236-11:33:59.463 00 SCX_CPU1_DS_FI/2685 endif +21-236-11:33:59.463 00 SCX_CPU1_DS_FI/2686 +21-236-11:33:59.463 00 SCX_CPU1_DS_FI/2688 ut_tlmwait SCX_CPU1_find_event[1].num_found_messages, 1 +21-236-11:33:59.465 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:33:59.466 00 SCX_CPU1_DS_FI/2689 if (UT_TW_Status = UT_Success) then +21-236-11:33:59.466 00 SCX_CPU1_DS_FI/2690 write "<*> Passed (1005) - Expected Event Msg ",DS_PARMS_CMD_ERR_EID," rcv'd." +21-236-11:33:59.466 00 SPR-I:OPRO <*> Passed (1005) - Expected Event Msg 42 rcv'd. +21-236-11:33:59.466 00 SCX_CPU1_DS_FI/2691 ut_setrequirements DS_1005, "P" +21-236-11:33:59.467 00 SCX_CPU1_DS_FI/2695 endif +21-236-11:33:59.467 00 SCX_CPU1_DS_FI/2696 +21-236-11:33:59.467 00 SCX_CPU1_DS_FI/2697 wait 5 +21-236-11:33:59.467 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:34:04.485 00 SCX_CPU1_DS_FI/2698 +21-236-11:34:04.485 00 SCX_CPU1_DS_FI/2699 write ";*********************************************************************" +21-236-11:34:04.485 00 SPR-I:OPRO ;********************************************************************* +21-236-11:34:04.485 00 SCX_CPU1_DS_FI/2700 write "; Step 3.15.4: Send the Set Filter Parameters command with an O value " +21-236-11:34:04.485 00 SPR-I:OPRO ; Step 3.15.4: Send the Set Filter Parameters command with an O value +21-236-11:34:04.485 00 SCX_CPU1_DS_FI/2701 write "; greater than the X value. " +21-236-11:34:04.485 00 SPR-I:OPRO ; greater than the X value. +21-236-11:34:04.485 00 SCX_CPU1_DS_FI/2702 write ";*********************************************************************" +21-236-11:34:04.485 00 SPR-I:OPRO ;********************************************************************* +21-236-11:34:04.485 00 SCX_CPU1_DS_FI/2704 ut_setupevents "SCX", "CPU1", {DSAppName}, DS_PARMS_CMD_ERR_EID, "ERROR", 1 +21-236-11:34:04.487 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:34:04.487 00 SPR-I:OPRO ; Setup event 1 with DS ERROR 42 +21-236-11:34:04.487 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:34:04.488 00 SCX_CPU1_DS_FI/2705 +21-236-11:34:04.488 00 SCX_CPU1_DS_FI/2706 errcnt = SCX_CPU1_DS_CMDEC + 1 +21-236-11:34:04.488 00 SCX_CPU1_DS_FI/2708 /SCX_CPU1_DS_SetFilterParams MessageID=seqFileMsgID ParamIndex=0 N_Value=1 X_Value=3 O_Value=4 +21-236-11:34:04.500 00 SCX_CPU1_DS_FI/2709 +21-236-11:34:04.500 00 SCX_CPU1_DS_FI/2710 ut_tlmwait SCX_CPU1_DS_CMDEC, {errcnt} +21-236-11:34:04.505 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:34:05.007 00 TLMH-I:STS 58-012-14:18:02.001 ERROR CPU=CPU1 APPNAME=DS EVENT ID=42 Invalid FILTER PARMS command arg: N = 1, X = 3, O = 4 +21-236-11:34:07.508 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:34:07.510 00 SCX_CPU1_DS_FI/2711 if (UT_TW_Status = UT_Success) then +21-236-11:34:07.511 00 SCX_CPU1_DS_FI/2712 write "<*> Passed (1005) - DS Set Filter File command failed as expected." +21-236-11:34:07.511 00 SPR-I:OPRO <*> Passed (1005) - DS Set Filter File command failed as expected. +21-236-11:34:07.511 00 SCX_CPU1_DS_FI/2713 ut_setrequirements DS_1005, "P" +21-236-11:34:07.514 00 SCX_CPU1_DS_FI/2717 endif +21-236-11:34:07.514 00 SCX_CPU1_DS_FI/2718 +21-236-11:34:07.514 00 SCX_CPU1_DS_FI/2720 ut_tlmwait SCX_CPU1_find_event[1].num_found_messages, 1 +21-236-11:34:07.527 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:34:07.530 00 SCX_CPU1_DS_FI/2721 if (UT_TW_Status = UT_Success) then +21-236-11:34:07.530 00 SCX_CPU1_DS_FI/2722 write "<*> Passed (1005) - Expected Event Msg ",DS_PARMS_CMD_ERR_EID," rcv'd." +21-236-11:34:07.530 00 SPR-I:OPRO <*> Passed (1005) - Expected Event Msg 42 rcv'd. +21-236-11:34:07.530 00 SCX_CPU1_DS_FI/2723 ut_setrequirements DS_1005, "P" +21-236-11:34:07.534 00 SCX_CPU1_DS_FI/2727 endif +21-236-11:34:07.534 00 SCX_CPU1_DS_FI/2728 +21-236-11:34:07.534 00 SCX_CPU1_DS_FI/2729 wait 5 +21-236-11:34:07.534 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:34:12.564 00 SCX_CPU1_DS_FI/2730 +21-236-11:34:12.564 00 SCX_CPU1_DS_FI/2731 write ";*********************************************************************" +21-236-11:34:12.564 00 SPR-I:OPRO ;********************************************************************* +21-236-11:34:12.564 00 SCX_CPU1_DS_FI/2732 write "; Step 3.16: Determine if the Filtering Algorithm works properly for " +21-236-11:34:12.564 00 SPR-I:OPRO ; Step 3.16: Determine if the Filtering Algorithm works properly for +21-236-11:34:12.565 00 SCX_CPU1_DS_FI/2733 write "; Time based filtering. " +21-236-11:34:12.565 00 SPR-I:OPRO ; Time based filtering. +21-236-11:34:12.565 00 SCX_CPU1_DS_FI/2734 write ";*********************************************************************" +21-236-11:34:12.565 00 SPR-I:OPRO ;********************************************************************* +21-236-11:34:12.565 00 SCX_CPU1_DS_FI/2735 write "; Step 3.16.1: Determine if the Filter Type is set to Time based. " +21-236-11:34:12.565 00 SPR-I:OPRO ; Step 3.16.1: Determine if the Filter Type is set to Time based. +21-236-11:34:12.565 00 SCX_CPU1_DS_FI/2736 write ";*********************************************************************" +21-236-11:34:12.565 00 SPR-I:OPRO ;********************************************************************* +21-236-11:34:12.565 00 SCX_CPU1_DS_FI/2738 existingFilterType = SCX_CPU1_DS_PF_TBL[filterEntry].FilterParams[0].FilterType +21-236-11:34:12.566 00 SCX_CPU1_DS_FI/2739 +21-236-11:34:12.566 00 SCX_CPU1_DS_FI/2741 if (existingFilterType = DS_BY_COUNT) then +21-236-11:34:12.566 00 SCX_CPU1_DS_FI/2743 ut_setupevents "SCX", "CPU1", {DSAppName}, DS_FTYPE_CMD_EID, "DEBUG", 1 +21-236-11:34:12.573 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:34:12.574 00 SPR-I:OPRO ; Setup event 1 with DS DEBUG 39 +21-236-11:34:12.575 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:34:12.577 00 SCX_CPU1_DS_FI/2744 +21-236-11:34:12.577 00 SCX_CPU1_DS_FI/2745 cmdCtr = SCX_CPU1_DS_CMDPC + 1 +21-236-11:34:12.577 00 SCX_CPU1_DS_FI/2747 /SCX_CPU1_DS_SetFilterType MessageID=seqFileMsgID, ParamIndex=0, FilterType=DS_BY_TIME +21-236-11:34:12.593 00 SCX_CPU1_DS_FI/2748 +21-236-11:34:12.593 00 SCX_CPU1_DS_FI/2749 ut_tlmwait SCX_CPU1_DS_CMDPC, {cmdCtr} +21-236-11:34:12.602 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:34:13.010 00 TLMH-I:STS 58-012-14:18:10.002 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=39 FILTER TYPE command: MID = 0x00000905, index = 5, filter = 0, type = 2 +21-236-11:34:15.606 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:34:15.608 00 SCX_CPU1_DS_FI/2750 if (UT_TW_Status = UT_Success) then +21-236-11:34:15.608 00 SCX_CPU1_DS_FI/2751 write "<*> Passed (1004;5009) - DS Set Filter Type command sent properly." +21-236-11:34:15.608 00 SPR-I:OPRO <*> Passed (1004;5009) - DS Set Filter Type command sent properly. +21-236-11:34:15.609 00 SCX_CPU1_DS_FI/2752 ut_setrequirements DS_1004, "P" +21-236-11:34:15.612 00 SCX_CPU1_DS_FI/2753 ut_setrequirements DS_5009, "P" +21-236-11:34:15.613 00 SCX_CPU1_DS_FI/2758 endif +21-236-11:34:15.613 00 SCX_CPU1_DS_FI/2759 +21-236-11:34:15.613 00 SCX_CPU1_DS_FI/2761 ut_tlmwait SCX_CPU1_find_event[1].num_found_messages, 1 +21-236-11:34:15.616 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:34:15.617 00 SCX_CPU1_DS_FI/2762 if (UT_TW_Status = UT_Success) then +21-236-11:34:15.617 00 SCX_CPU1_DS_FI/2763 write "<*> Passed (1004;5009) - Expected Event Msg ",DS_FTYPE_CMD_EID," rcv'd." +21-236-11:34:15.617 00 SPR-I:OPRO <*> Passed (1004;5009) - Expected Event Msg 39 rcv'd. +21-236-11:34:15.617 00 SCX_CPU1_DS_FI/2764 ut_setrequirements DS_1004, "P" +21-236-11:34:15.642 00 SCX_CPU1_DS_FI/2765 ut_setrequirements DS_5009, "P" +21-236-11:34:15.643 00 SCX_CPU1_DS_FI/2770 endif +21-236-11:34:15.643 00 SCX_CPU1_DS_FI/2771 endif +21-236-11:34:15.643 00 SCX_CPU1_DS_FI/2772 +21-236-11:34:15.643 00 SCX_CPU1_DS_FI/2773 wait 5 +21-236-11:34:15.643 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:34:20.647 00 SCX_CPU1_DS_FI/2774 +21-236-11:34:20.647 00 SCX_CPU1_DS_FI/2775 write ";***********************************************************************" +21-236-11:34:20.647 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:34:20.647 00 SCX_CPU1_DS_FI/2776 write "; Step 3.16.2: Send the TST_DS command to send a message to DS using " +21-236-11:34:20.647 00 SPR-I:OPRO ; Step 3.16.2: Send the TST_DS command to send a message to DS using +21-236-11:34:20.647 00 SCX_CPU1_DS_FI/2777 write "; the MessageID used above. Send 'X' messages. The HK should contain " +21-236-11:34:20.647 00 SPR-I:OPRO ; the MessageID used above. Send 'X' messages. The HK should contain +21-236-11:34:20.647 00 SCX_CPU1_DS_FI/2778 write "; information about the file opened. " +21-236-11:34:20.647 00 SPR-I:OPRO ; information about the file opened. +21-236-11:34:20.647 00 SCX_CPU1_DS_FI/2779 write ";***********************************************************************" +21-236-11:34:20.647 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:34:20.648 00 SCX_CPU1_DS_FI/2781 ut_setupevents "SCX", "CPU1", "TST_DS", TST_DS_MSG1_SENT_INF_EID, "INFO", 1 +21-236-11:34:20.653 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:34:20.653 00 SPR-I:OPRO ; Setup event 1 with TST_DS INFO 5 +21-236-11:34:20.653 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:34:20.653 00 SCX_CPU1_DS_FI/2782 +21-236-11:34:20.653 00 SCX_CPU1_DS_FI/2783 expPassedPkts = SCX_CPU1_DS_PassedPktCnt + newNVal +21-236-11:34:20.653 00 SCX_CPU1_DS_FI/2784 local subSecs = 0 +21-236-11:34:20.653 00 SCX_CPU1_DS_FI/2785 local subSecsInc = x'10000000' +21-236-11:34:20.654 00 SCX_CPU1_DS_FI/2786 +21-236-11:34:20.654 00 SCX_CPU1_DS_FI/2788 for i = 1 to newXVal do +21-236-11:34:20.654 00 SCX_CPU1_DS_FI/2790 subSecs = subSecs + subSecsInc +21-236-11:34:20.654 00 SCX_CPU1_DS_FI/2791 +21-236-11:34:20.654 00 SCX_CPU1_DS_FI/2793 dataPattern = i +21-236-11:34:20.654 00 SCX_CPU1_DS_FI/2794 /SCX_CPU1_TST_DS_SENDTIMEMESSAGE MsgID=seqFileMsgID MsgType=1 Pattern=dataPattern Seconds=0 SubSecs=subSecs +21-236-11:34:20.665 00 SCX_CPU1_DS_FI/2795 wait 5 +21-236-11:34:20.665 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:34:21.512 00 TLMH-I:STS 58-012-14:18:18.500 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Time Message Size 116 to MID 0x00000905 +21-236-11:34:25.670 00 SCX_CPU1_DS_FI/2796 enddo +21-236-11:34:25.671 00 SCX_CPU1_DS_FI/2788 for i = 1 to newXVal do +21-236-11:34:25.671 00 SCX_CPU1_DS_FI/2790 subSecs = subSecs + subSecsInc +21-236-11:34:25.671 00 SCX_CPU1_DS_FI/2791 +21-236-11:34:25.672 00 SCX_CPU1_DS_FI/2793 dataPattern = i +21-236-11:34:25.672 00 SCX_CPU1_DS_FI/2794 /SCX_CPU1_TST_DS_SENDTIMEMESSAGE MsgID=seqFileMsgID MsgType=1 Pattern=dataPattern Seconds=0 SubSecs=subSecs +21-236-11:34:25.687 00 SCX_CPU1_DS_FI/2795 wait 5 +21-236-11:34:25.687 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:34:26.507 00 TLMH-I:STS 58-012-14:18:23.501 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Time Message Size 116 to MID 0x00000905 +21-236-11:34:30.690 00 SCX_CPU1_DS_FI/2796 enddo +21-236-11:34:30.691 00 SCX_CPU1_DS_FI/2788 for i = 1 to newXVal do +21-236-11:34:30.692 00 SCX_CPU1_DS_FI/2790 subSecs = subSecs + subSecsInc +21-236-11:34:30.692 00 SCX_CPU1_DS_FI/2791 +21-236-11:34:30.692 00 SCX_CPU1_DS_FI/2793 dataPattern = i +21-236-11:34:30.692 00 SCX_CPU1_DS_FI/2794 /SCX_CPU1_TST_DS_SENDTIMEMESSAGE MsgID=seqFileMsgID MsgType=1 Pattern=dataPattern Seconds=0 SubSecs=subSecs +21-236-11:34:30.707 00 SCX_CPU1_DS_FI/2795 wait 5 +21-236-11:34:30.707 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:34:31.509 00 TLMH-I:STS 58-012-14:18:28.500 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Time Message Size 116 to MID 0x00000905 +21-236-11:34:35.711 00 SCX_CPU1_DS_FI/2796 enddo +21-236-11:34:35.712 00 SCX_CPU1_DS_FI/2788 for i = 1 to newXVal do +21-236-11:34:35.713 00 SCX_CPU1_DS_FI/2790 subSecs = subSecs + subSecsInc +21-236-11:34:35.713 00 SCX_CPU1_DS_FI/2791 +21-236-11:34:35.713 00 SCX_CPU1_DS_FI/2793 dataPattern = i +21-236-11:34:35.713 00 SCX_CPU1_DS_FI/2794 /SCX_CPU1_TST_DS_SENDTIMEMESSAGE MsgID=seqFileMsgID MsgType=1 Pattern=dataPattern Seconds=0 SubSecs=subSecs +21-236-11:34:35.728 00 SCX_CPU1_DS_FI/2795 wait 5 +21-236-11:34:35.728 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:34:36.511 00 TLMH-I:STS 58-012-14:18:33.500 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Time Message Size 116 to MID 0x00000905 +21-236-11:34:40.732 00 SCX_CPU1_DS_FI/2796 enddo +21-236-11:34:40.733 00 SCX_CPU1_DS_FI/2788 for i = 1 to newXVal do +21-236-11:34:40.733 00 SCX_CPU1_DS_FI/2790 subSecs = subSecs + subSecsInc +21-236-11:34:40.734 00 SCX_CPU1_DS_FI/2791 +21-236-11:34:40.734 00 SCX_CPU1_DS_FI/2793 dataPattern = i +21-236-11:34:40.734 00 SCX_CPU1_DS_FI/2794 /SCX_CPU1_TST_DS_SENDTIMEMESSAGE MsgID=seqFileMsgID MsgType=1 Pattern=dataPattern Seconds=0 SubSecs=subSecs +21-236-11:34:40.750 00 SCX_CPU1_DS_FI/2795 wait 5 +21-236-11:34:40.750 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:34:41.507 00 TLMH-I:STS 58-012-14:18:38.500 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Time Message Size 116 to MID 0x00000905 +21-236-11:34:45.753 00 SCX_CPU1_DS_FI/2796 enddo +21-236-11:34:45.754 00 SCX_CPU1_DS_FI/2788 for i = 1 to newXVal do +21-236-11:34:45.754 00 SCX_CPU1_DS_FI/2790 subSecs = subSecs + subSecsInc +21-236-11:34:45.755 00 SCX_CPU1_DS_FI/2791 +21-236-11:34:45.755 00 SCX_CPU1_DS_FI/2793 dataPattern = i +21-236-11:34:45.755 00 SCX_CPU1_DS_FI/2794 /SCX_CPU1_TST_DS_SENDTIMEMESSAGE MsgID=seqFileMsgID MsgType=1 Pattern=dataPattern Seconds=0 SubSecs=subSecs +21-236-11:34:45.770 00 SCX_CPU1_DS_FI/2795 wait 5 +21-236-11:34:45.770 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:34:46.510 00 TLMH-I:STS 58-012-14:18:43.500 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Time Message Size 116 to MID 0x00000905 +21-236-11:34:50.774 00 SCX_CPU1_DS_FI/2796 enddo +21-236-11:34:50.775 00 SCX_CPU1_DS_FI/2788 for i = 1 to newXVal do +21-236-11:34:50.776 00 SCX_CPU1_DS_FI/2797 +21-236-11:34:50.776 00 SCX_CPU1_DS_FI/2799 if (SCX_CPU1_find_event[1].num_found_messages = newXVal) then +21-236-11:34:50.776 00 SCX_CPU1_DS_FI/2800 write "<*> Passed - Expected Event Msgs ",TST_DS_MSG1_SENT_INF_EID," rcv'd." +21-236-11:34:50.776 00 SPR-I:OPRO <*> Passed - Expected Event Msgs 5 rcv'd. +21-236-11:34:50.776 00 SCX_CPU1_DS_FI/2803 endif +21-236-11:34:50.776 00 SCX_CPU1_DS_FI/2804 +21-236-11:34:50.776 00 SCX_CPU1_DS_FI/2806 cmdCtr = SCX_CPU1_DS_CMDPC + 1 +21-236-11:34:50.777 00 SCX_CPU1_DS_FI/2807 +21-236-11:34:50.777 00 SCX_CPU1_DS_FI/2808 /SCX_CPU1_DS_GetFileInfo +21-236-11:34:50.791 00 SCX_CPU1_DS_FI/2809 +21-236-11:34:50.791 00 SCX_CPU1_DS_FI/2810 ut_tlmwait SCX_CPU1_DS_CMDPC, {cmdCtr} +21-236-11:34:50.794 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:34:51.510 00 TLMH-I:STS 58-012-14:18:48.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-11:34:55.799 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:34:55.801 00 SCX_CPU1_DS_FI/2811 +21-236-11:34:55.802 00 SCX_CPU1_DS_FI/2813 if (expPassedPkts = SCX_CPU1_DS_PassedPktCnt) then +21-236-11:34:55.802 00 SCX_CPU1_DS_FI/2814 write "<*> Passed (2000) - Passed packet counter incremented properly." +21-236-11:34:55.802 00 SPR-I:OPRO <*> Passed (2000) - Passed packet counter incremented properly. +21-236-11:34:55.802 00 SCX_CPU1_DS_FI/2815 ut_setrequirements DS_2000, "P" +21-236-11:34:55.804 00 SCX_CPU1_DS_FI/2819 endif +21-236-11:34:55.804 00 SCX_CPU1_DS_FI/2820 +21-236-11:34:55.804 00 SCX_CPU1_DS_FI/2822 fileName = "" +21-236-11:34:55.804 00 SCX_CPU1_DS_FI/2823 if (SCX_CPU1_DS_FileState[newFileEntry].FileName <> "") then +21-236-11:34:55.804 00 SCX_CPU1_DS_FI/2824 fileName = SCX_CPU1_DS_FileState[newFileEntry].FileName +21-236-11:34:55.804 00 SCX_CPU1_DS_FI/2825 write "<*> Passed (2002.1;2003;2003.2;3000) - A file was created with name '",fileName,"'" +21-236-11:34:55.805 00 SPR-I:OPRO <*> Passed (2002.1;2003;2003.2;3000) - A file was created with name '/ram/seq200000208.dat' +21-236-11:34:55.805 00 SCX_CPU1_DS_FI/2826 ut_setrequirements DS_20021, "P" +21-236-11:34:55.806 00 SCX_CPU1_DS_FI/2827 ut_setrequirements DS_2003, "A" +21-236-11:34:55.807 00 SCX_CPU1_DS_FI/2828 ut_setrequirements DS_20032, "A" +21-236-11:34:55.822 00 SCX_CPU1_DS_FI/2829 ut_setrequirements DS_3000, "P" +21-236-11:34:55.823 00 SCX_CPU1_DS_FI/2836 endif +21-236-11:34:55.823 00 SCX_CPU1_DS_FI/2837 +21-236-11:34:55.823 00 SCX_CPU1_DS_FI/2838 write ";***********************************************************************" +21-236-11:34:55.823 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:34:55.823 00 SCX_CPU1_DS_FI/2839 write "; Step 3.16.3: Close and download the file created above. " +21-236-11:34:55.823 00 SPR-I:OPRO ; Step 3.16.3: Close and download the file created above. +21-236-11:34:55.823 00 SCX_CPU1_DS_FI/2840 write ";***********************************************************************" +21-236-11:34:55.823 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:34:55.823 00 SCX_CPU1_DS_FI/2843 ut_setupevents "SCX", "CPU1", {DSAppName}, DS_CLOSE_CMD_EID, "DEBUG", 1 +21-236-11:34:55.825 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:34:55.825 00 SPR-I:OPRO ; Setup event 1 with DS DEBUG 59 +21-236-11:34:55.825 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:34:55.856 00 SCX_CPU1_DS_FI/2844 +21-236-11:34:55.856 00 SCX_CPU1_DS_FI/2845 cmdCtr = SCX_CPU1_DS_CMDPC + 1 +21-236-11:34:55.856 00 SCX_CPU1_DS_FI/2847 /SCX_CPU1_DS_CloseFile FileIndex=newFileEntry +21-236-11:34:55.867 00 SCX_CPU1_DS_FI/2848 +21-236-11:34:55.867 00 SCX_CPU1_DS_FI/2849 ut_tlmwait SCX_CPU1_DS_CMDPC, {cmdCtr} +21-236-11:34:55.870 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:34:56.507 00 TLMH-I:STS 58-012-14:18:53.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=59 DEST CLOSE command: file table index = 1 +21-236-11:34:59.874 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:34:59.875 00 SCX_CPU1_DS_FI/2850 if (UT_TW_Status = UT_Success) then +21-236-11:34:59.875 00 SCX_CPU1_DS_FI/2851 write "<*> Passed (1004;5002) - DS Close File command sent properly." +21-236-11:34:59.875 00 SPR-I:OPRO <*> Passed (1004;5002) - DS Close File command sent properly. +21-236-11:34:59.875 00 SCX_CPU1_DS_FI/2852 ut_setrequirements DS_1004, "P" +21-236-11:34:59.877 00 SCX_CPU1_DS_FI/2853 ut_setrequirements DS_5002, "P" +21-236-11:34:59.879 00 SCX_CPU1_DS_FI/2858 endif +21-236-11:34:59.879 00 SCX_CPU1_DS_FI/2859 +21-236-11:34:59.880 00 SCX_CPU1_DS_FI/2861 ut_tlmwait SCX_CPU1_find_event[1].num_found_messages, 1 +21-236-11:34:59.883 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:34:59.884 00 SCX_CPU1_DS_FI/2862 if (UT_TW_Status = UT_Success) then +21-236-11:34:59.884 00 SCX_CPU1_DS_FI/2863 write "<*> Passed (1004;5002) - Expected Event Msg ",DS_CLOSE_CMD_EID," rcv'd." +21-236-11:34:59.884 00 SPR-I:OPRO <*> Passed (1004;5002) - Expected Event Msg 59 rcv'd. +21-236-11:34:59.884 00 SCX_CPU1_DS_FI/2864 ut_setrequirements DS_1004, "P" +21-236-11:34:59.910 00 SCX_CPU1_DS_FI/2865 ut_setrequirements DS_5002, "P" +21-236-11:34:59.912 00 SCX_CPU1_DS_FI/2870 endif +21-236-11:34:59.913 00 SCX_CPU1_DS_FI/2871 +21-236-11:34:59.913 00 SCX_CPU1_DS_FI/2873 if (fileName <> "") then +21-236-11:34:59.913 00 SCX_CPU1_DS_FI/2874 ut_setrequirements DS_2001, "A" +21-236-11:34:59.913 00 SCX_CPU1_DS_FI/2875 write "==> Downloading '",fileName,"'" +21-236-11:34:59.914 00 SPR-I:OPRO ==> Downloading '/ram/seq200000208.dat' +21-236-11:34:59.914 00 SCX_CPU1_DS_FI/2876 slashLoc = %locate(fileName,"/") +21-236-11:34:59.914 00 SCX_CPU1_DS_FI/2877 while (slashLoc <> 0) do +21-236-11:34:59.914 00 SCX_CPU1_DS_FI/2878 fileName = %substring(fileName,slashLoc+1,%length(fileName)) +21-236-11:34:59.914 00 SCX_CPU1_DS_FI/2879 slashLoc = %locate(fileName,"/") +21-236-11:34:59.914 00 SCX_CPU1_DS_FI/2880 enddo +21-236-11:34:59.914 00 SCX_CPU1_DS_FI/2878 fileName = %substring(fileName,slashLoc+1,%length(fileName)) +21-236-11:34:59.914 00 SCX_CPU1_DS_FI/2879 slashLoc = %locate(fileName,"/") +21-236-11:34:59.914 00 SCX_CPU1_DS_FI/2880 enddo +21-236-11:34:59.914 00 SCX_CPU1_DS_FI/2881 write "==> FileName Only = '",fileName,"'" +21-236-11:34:59.914 00 SPR-I:OPRO ==> FileName Only = 'seq200000208.dat' +21-236-11:34:59.932 00 SCX_CPU1_DS_FI/2884 s ftp_file(ramDir, fileName, fileName, hostCPU, "G") +21-236-11:34:59.932 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/ftp_file.i +21-236-11:34:59.932 00 SPR-I:STS Procedure FTP_FILE started +21-236-11:34:59.933 00 FTP_FILE/2 ; +21-236-11:34:59.933 00 FTP_FILE/3 local logging = %liv (log_procedure) +21-236-11:34:59.933 00 FTP_FILE/4 %liv (log_procedure) = FALSE +21-236-11:35:00.040 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-11:35:00.041 00 FTP_FILE/85 ENDPROC +21-236-11:35:00.041 00 SPR-I:STS Procedure FTP_FILE completed +21-236-11:35:00.041 00 SCX_CPU1_DS_FI/2887 endif +21-236-11:35:00.041 00 SCX_CPU1_DS_FI/2888 +21-236-11:35:00.041 00 SCX_CPU1_DS_FI/2889 wait 5 +21-236-11:35:00.041 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:35:05.045 00 SCX_CPU1_DS_FI/2890 +21-236-11:35:05.045 00 SCX_CPU1_DS_FI/2891 write ";*********************************************************************" +21-236-11:35:05.045 00 SPR-I:OPRO ;********************************************************************* +21-236-11:35:05.045 00 SCX_CPU1_DS_FI/2892 write "; Step 4.0: Packet Filter Table Add command test " +21-236-11:35:05.045 00 SPR-I:OPRO ; Step 4.0: Packet Filter Table Add command test +21-236-11:35:05.045 00 SCX_CPU1_DS_FI/2893 write ";*********************************************************************" +21-236-11:35:05.046 00 SPR-I:OPRO ;********************************************************************* +21-236-11:35:05.046 00 SCX_CPU1_DS_FI/2894 write "; Step 4.1: Send the Add Messge ID command " +21-236-11:35:05.046 00 SPR-I:OPRO ; Step 4.1: Send the Add Messge ID command +21-236-11:35:05.046 00 SCX_CPU1_DS_FI/2895 write ";*********************************************************************" +21-236-11:35:05.046 00 SPR-I:OPRO ;********************************************************************* +21-236-11:35:05.046 00 SCX_CPU1_DS_FI/2897 ut_setupevents "SCX", "CPU1", {DSAppName}, DS_ADD_MID_CMD_EID, "DEBUG", 1 +21-236-11:35:05.053 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:35:05.053 00 SPR-I:OPRO ; Setup event 1 with DS DEBUG 64 +21-236-11:35:05.053 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:35:05.055 00 SCX_CPU1_DS_FI/2898 +21-236-11:35:05.055 00 SCX_CPU1_DS_FI/2899 cmdCtr = SCX_CPU1_DS_CMDPC + 1 +21-236-11:35:05.056 00 SCX_CPU1_DS_FI/2901 /SCX_CPU1_DS_AddMID MessageID=addMID +21-236-11:35:05.069 00 SCX_CPU1_DS_FI/2902 +21-236-11:35:05.069 00 SCX_CPU1_DS_FI/2903 ut_tlmwait SCX_CPU1_DS_CMDPC, {cmdCtr} +21-236-11:35:05.073 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:35:05.511 00 TLMH-I:STS 58-012-14:19:02.502 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=64 ADD MID command: MID = 0x00000906, filter index = 6, hash index = 6 +21-236-11:35:07.075 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:35:07.077 00 SCX_CPU1_DS_FI/2904 if (UT_TW_Status = UT_Success) then +21-236-11:35:07.078 00 SCX_CPU1_DS_FI/2905 write "<*> Passed (1004;5016) - DS Add MID command sent properly." +21-236-11:35:07.078 00 SPR-I:OPRO <*> Passed (1004;5016) - DS Add MID command sent properly. +21-236-11:35:07.078 00 SCX_CPU1_DS_FI/2906 ut_setrequirements DS_1004, "P" +21-236-11:35:07.081 00 SCX_CPU1_DS_FI/2907 ut_setrequirements DS_5016, "P" +21-236-11:35:07.085 00 SCX_CPU1_DS_FI/2912 endif +21-236-11:35:07.086 00 SCX_CPU1_DS_FI/2913 +21-236-11:35:07.086 00 SCX_CPU1_DS_FI/2915 ut_tlmwait SCX_CPU1_find_event[1].num_found_messages, 1 +21-236-11:35:07.099 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:35:07.102 00 SCX_CPU1_DS_FI/2916 if (UT_TW_Status = UT_Success) then +21-236-11:35:07.102 00 SCX_CPU1_DS_FI/2917 write "<*> Passed (1004) - Expected Event Msg ",DS_ADD_MID_CMD_EID," rcv'd." +21-236-11:35:07.102 00 SPR-I:OPRO <*> Passed (1004) - Expected Event Msg 64 rcv'd. +21-236-11:35:07.102 00 SCX_CPU1_DS_FI/2918 ut_setrequirements DS_1004, "P" +21-236-11:35:07.140 00 SCX_CPU1_DS_FI/2919 ut_setrequirements DS_5002, "P" +21-236-11:35:07.141 00 SCX_CPU1_DS_FI/2923 endif +21-236-11:35:07.141 00 SCX_CPU1_DS_FI/2924 +21-236-11:35:07.141 00 SCX_CPU1_DS_FI/2925 wait 5 +21-236-11:35:07.141 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:35:12.145 00 SCX_CPU1_DS_FI/2926 +21-236-11:35:12.145 00 SCX_CPU1_DS_FI/2927 write ";*********************************************************************" +21-236-11:35:12.145 00 SPR-I:OPRO ;********************************************************************* +21-236-11:35:12.145 00 SCX_CPU1_DS_FI/2928 write "; Step 4.2: Dump the table and verify that the MID used above exists " +21-236-11:35:12.145 00 SPR-I:OPRO ; Step 4.2: Dump the table and verify that the MID used above exists +21-236-11:35:12.146 00 SCX_CPU1_DS_FI/2929 write ";*********************************************************************" +21-236-11:35:12.146 00 SPR-I:OPRO ;********************************************************************* +21-236-11:35:12.146 00 SCX_CPU1_DS_FI/2931 s get_tbl_to_cvt (ramDir,filterTblName,"A","cpu1_filtertbl42",hostCPU,filterTblPktId) +21-236-11:35:12.146 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/get_tbl_to_cvt.i +21-236-11:35:12.149 00 SPR-I:STS Procedure GET_TBL_TO_CVT started +21-236-11:35:12.149 00 GET_TBL_TO_CVT/2 ; +21-236-11:35:12.149 00 GET_TBL_TO_CVT/3 local logging = %liv (log_procedure) +21-236-11:35:12.149 00 GET_TBL_TO_CVT/4 %liv (log_procedure) = FALSE +21-236-11:35:12.157 00 SPR-I:OPRO Sending Command: /SCX_CPU1_TBL_DUMP ACTIVE DTABLENAME="DS.FILTER_TBL" DFILENAME="/ram/cpu1_filtertbl42" +21-236-11:35:12.169 00 SPR-I:STTE Wait mode - waiting 15 seconds ... +21-236-11:35:13.009 00 TLMH-I:STS 58-012-14:19:10.004 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=14 Successfully dumped Table 'DS.FILTER_TBL' to '/ram/cpu1_filtertbl42' +21-236-11:35:27.180 00 SPR-I:OPRO +21-236-11:35:27.180 00 SPR-I:OPRO The TBLNAME is: DS.FILTER_TBL +21-236-11:35:27.181 00 SPR-I:OPRO The APID is: P0F77 +21-236-11:35:27.181 00 SPR-I:OPRO The CPU is: CPU3 +21-236-11:35:27.181 00 SPR-I:OPRO The IP Address is: 192.168.1.8 +21-236-11:35:27.185 00 SPR-I:OPRO The perl command is: perl /s/opr/accounts/global/tools/ftp.pl RAM:0 cpu1_filtertbl42 cpu1_filtertbl42 binary 192.168.1.8 +21-236-11:35:27.326 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-11:35:27.326 00 SPR-I:STTE Wait mode - waiting 15 seconds ... +21-236-11:35:42.338 00 SPR-I:OPRO +21-236-11:35:42.379 00 SPR-I:OPRO The unix command is cvt -ws file_list[3959].file_write_time "`date +%y-%j-%T -r /s/opr/accounts/cfs_test/image/cpu1_filtertbl42`" +21-236-11:35:42.379 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:35:47.384 00 GET_TBL_TO_CVT/238 +21-236-11:35:47.384 00 GET_TBL_TO_CVT/239 ENDPROC +21-236-11:35:47.384 00 SPR-I:STS Procedure GET_TBL_TO_CVT completed +21-236-11:35:47.388 00 SCX_CPU1_DS_FI/2932 +21-236-11:35:47.388 00 SCX_CPU1_DS_FI/2933 local foundMID = FALSE +21-236-11:35:47.388 00 SCX_CPU1_DS_FI/2935 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-236-11:35:47.389 00 SCX_CPU1_DS_FI/2936 if (SCX_CPU1_DS_PF_TBL[i].MessageID = addMID) then +21-236-11:35:47.389 00 SCX_CPU1_DS_FI/2940 endif +21-236-11:35:47.389 00 SCX_CPU1_DS_FI/2941 enddo +21-236-11:35:47.391 00 SCX_CPU1_DS_FI/2935 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-236-11:35:47.392 00 SCX_CPU1_DS_FI/2936 if (SCX_CPU1_DS_PF_TBL[i].MessageID = addMID) then +21-236-11:35:47.392 00 SCX_CPU1_DS_FI/2940 endif +21-236-11:35:47.393 00 SCX_CPU1_DS_FI/2941 enddo +21-236-11:35:47.395 00 SCX_CPU1_DS_FI/2935 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-236-11:35:47.395 00 SCX_CPU1_DS_FI/2936 if (SCX_CPU1_DS_PF_TBL[i].MessageID = addMID) then +21-236-11:35:47.396 00 SCX_CPU1_DS_FI/2940 endif +21-236-11:35:47.396 00 SCX_CPU1_DS_FI/2941 enddo +21-236-11:35:47.398 00 SCX_CPU1_DS_FI/2935 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-236-11:35:47.398 00 SCX_CPU1_DS_FI/2936 if (SCX_CPU1_DS_PF_TBL[i].MessageID = addMID) then +21-236-11:35:47.399 00 SCX_CPU1_DS_FI/2940 endif +21-236-11:35:47.399 00 SCX_CPU1_DS_FI/2941 enddo +21-236-11:35:47.401 00 SCX_CPU1_DS_FI/2935 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-236-11:35:47.401 00 SCX_CPU1_DS_FI/2936 if (SCX_CPU1_DS_PF_TBL[i].MessageID = addMID) then +21-236-11:35:47.402 00 SCX_CPU1_DS_FI/2940 endif +21-236-11:35:47.419 00 SCX_CPU1_DS_FI/2941 enddo +21-236-11:35:47.420 00 SCX_CPU1_DS_FI/2935 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-236-11:35:47.420 00 SCX_CPU1_DS_FI/2936 if (SCX_CPU1_DS_PF_TBL[i].MessageID = addMID) then +21-236-11:35:47.421 00 SCX_CPU1_DS_FI/2940 endif +21-236-11:35:47.421 00 SCX_CPU1_DS_FI/2941 enddo +21-236-11:35:47.422 00 SCX_CPU1_DS_FI/2935 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-236-11:35:47.422 00 SCX_CPU1_DS_FI/2936 if (SCX_CPU1_DS_PF_TBL[i].MessageID = addMID) then +21-236-11:35:47.422 00 SCX_CPU1_DS_FI/2937 write "<*> Passed (5016) - Found Message ID ",%hex(addMID,4)," at entry ",i," of the table." +21-236-11:35:47.422 00 SPR-I:OPRO <*> Passed (5016) - Found Message ID 0906 at entry 6 of the table. +21-236-11:35:47.422 00 SCX_CPU1_DS_FI/2938 foundMID = TRUE +21-236-11:35:47.422 00 SCX_CPU1_DS_FI/2939 break +21-236-11:35:47.422 00 SCX_CPU1_DS_FI/2942 +21-236-11:35:47.423 00 SCX_CPU1_DS_FI/2943 if (foundMID = FALSE) then +21-236-11:35:47.423 00 SCX_CPU1_DS_FI/2945 endif +21-236-11:35:47.423 00 SCX_CPU1_DS_FI/2946 +21-236-11:35:47.423 00 SCX_CPU1_DS_FI/2947 wait 5 +21-236-11:35:47.423 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:35:52.427 00 SCX_CPU1_DS_FI/2948 +21-236-11:35:52.427 00 SCX_CPU1_DS_FI/2949 write ";*********************************************************************" +21-236-11:35:52.428 00 SPR-I:OPRO ;********************************************************************* +21-236-11:35:52.428 00 SCX_CPU1_DS_FI/2950 write "; Step 4.3: Try to add an invalid Message ID to the Filter table " +21-236-11:35:52.428 00 SPR-I:OPRO ; Step 4.3: Try to add an invalid Message ID to the Filter table +21-236-11:35:52.428 00 SCX_CPU1_DS_FI/2951 write ";*********************************************************************" +21-236-11:35:52.428 00 SPR-I:OPRO ;********************************************************************* +21-236-11:35:52.428 00 SCX_CPU1_DS_FI/2953 ut_setupevents "SCX", "CPU1", {DSAppName}, DS_ADD_MID_CMD_ERR_EID, "ERROR", 1 +21-236-11:35:52.436 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:35:52.436 00 SPR-I:OPRO ; Setup event 1 with DS ERROR 65 +21-236-11:35:52.437 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:35:52.439 00 SCX_CPU1_DS_FI/2954 +21-236-11:35:52.439 00 SCX_CPU1_DS_FI/2955 errcnt = SCX_CPU1_DS_CMDEC + 1 +21-236-11:35:52.439 00 SCX_CPU1_DS_FI/2957 /SCX_CPU1_DS_AddMID MessageID=0 +21-236-11:35:52.455 00 SCX_CPU1_DS_FI/2958 +21-236-11:35:52.455 00 SCX_CPU1_DS_FI/2959 ut_tlmwait SCX_CPU1_DS_CMDEC, {errcnt} +21-236-11:35:52.471 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:35:53.005 00 TLMH-I:STS 58-012-14:19:50.001 ERROR CPU=CPU1 APPNAME=DS EVENT ID=65 Invalid ADD MID command arg: invalid MID = 0x00000000 +21-236-11:35:55.475 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:35:55.477 00 SCX_CPU1_DS_FI/2960 if (UT_TW_Status = UT_Success) then +21-236-11:35:55.477 00 SCX_CPU1_DS_FI/2961 write "<*> Passed (1005;5016.1) - DS Add MID command failed as expected." +21-236-11:35:55.477 00 SPR-I:OPRO <*> Passed (1005;5016.1) - DS Add MID command failed as expected. +21-236-11:35:55.477 00 SCX_CPU1_DS_FI/2962 ut_setrequirements DS_1005, "P" +21-236-11:35:55.480 00 SCX_CPU1_DS_FI/2963 ut_setrequirements DS_50161, "P" +21-236-11:35:55.481 00 SCX_CPU1_DS_FI/2968 endif +21-236-11:35:55.481 00 SCX_CPU1_DS_FI/2969 +21-236-11:35:55.481 00 SCX_CPU1_DS_FI/2971 ut_tlmwait SCX_CPU1_find_event[1].num_found_messages, 1 +21-236-11:35:55.484 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:35:55.485 00 SCX_CPU1_DS_FI/2972 if (UT_TW_Status = UT_Success) then +21-236-11:35:55.485 00 SCX_CPU1_DS_FI/2973 write "<*> Passed (1005;5016.1) - Expected Event Msg ",DS_ADD_MID_CMD_ERR_EID," rcv'd." +21-236-11:35:55.485 00 SPR-I:OPRO <*> Passed (1005;5016.1) - Expected Event Msg 65 rcv'd. +21-236-11:35:55.485 00 SCX_CPU1_DS_FI/2974 ut_setrequirements DS_1005, "P" +21-236-11:35:55.508 00 SCX_CPU1_DS_FI/2975 ut_setrequirements DS_50161, "P" +21-236-11:35:55.508 00 SCX_CPU1_DS_FI/2980 endif +21-236-11:35:55.508 00 SCX_CPU1_DS_FI/2981 +21-236-11:35:55.508 00 SCX_CPU1_DS_FI/2982 wait 5 +21-236-11:35:55.508 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:36:00.512 00 SCX_CPU1_DS_FI/2983 +21-236-11:36:00.512 00 SCX_CPU1_DS_FI/2984 write ";*********************************************************************" +21-236-11:36:00.512 00 SPR-I:OPRO ;********************************************************************* +21-236-11:36:00.512 00 SCX_CPU1_DS_FI/2985 write "; Step 4.4: Try to add a Message ID that is already contained in the " +21-236-11:36:00.512 00 SPR-I:OPRO ; Step 4.4: Try to add a Message ID that is already contained in the +21-236-11:36:00.512 00 SCX_CPU1_DS_FI/2986 write "; Filter table " +21-236-11:36:00.512 00 SPR-I:OPRO ; Filter table +21-236-11:36:00.513 00 SCX_CPU1_DS_FI/2987 write ";*********************************************************************" +21-236-11:36:00.513 00 SPR-I:OPRO ;********************************************************************* +21-236-11:36:00.513 00 SCX_CPU1_DS_FI/2989 ut_setupevents "SCX", "CPU1", {DSAppName}, DS_ADD_MID_CMD_ERR_EID, "ERROR", 1 +21-236-11:36:00.520 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:36:00.520 00 SPR-I:OPRO ; Setup event 1 with DS ERROR 65 +21-236-11:36:00.520 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:36:00.521 00 SCX_CPU1_DS_FI/2990 +21-236-11:36:00.521 00 SCX_CPU1_DS_FI/2991 errcnt = SCX_CPU1_DS_CMDEC + 1 +21-236-11:36:00.521 00 SCX_CPU1_DS_FI/2993 /SCX_CPU1_DS_AddMID MessageID=seqMsgID +21-236-11:36:00.532 00 SCX_CPU1_DS_FI/2994 +21-236-11:36:00.532 00 SCX_CPU1_DS_FI/2995 ut_tlmwait SCX_CPU1_DS_CMDEC, {errcnt} +21-236-11:36:00.536 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:36:01.009 00 TLMH-I:STS 58-012-14:19:58.001 ERROR CPU=CPU1 APPNAME=DS EVENT ID=65 Invalid ADD MID command: MID = 0x00000900 is already in filter table at index = 0 +21-236-11:36:03.540 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:36:03.542 00 SCX_CPU1_DS_FI/2996 if (UT_TW_Status = UT_Success) then +21-236-11:36:03.542 00 SCX_CPU1_DS_FI/2997 write "<*> Passed (1005;5016.3) - DS Add MID command failed as expected." +21-236-11:36:03.542 00 SPR-I:OPRO <*> Passed (1005;5016.3) - DS Add MID command failed as expected. +21-236-11:36:03.542 00 SCX_CPU1_DS_FI/2998 ut_setrequirements DS_1005, "P" +21-236-11:36:03.544 00 SCX_CPU1_DS_FI/2999 ut_setrequirements DS_50163, "P" +21-236-11:36:03.547 00 SCX_CPU1_DS_FI/3004 endif +21-236-11:36:03.547 00 SCX_CPU1_DS_FI/3005 +21-236-11:36:03.548 00 SCX_CPU1_DS_FI/3007 ut_tlmwait SCX_CPU1_find_event[1].num_found_messages, 1 +21-236-11:36:03.556 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:36:03.557 00 SCX_CPU1_DS_FI/3008 if (UT_TW_Status = UT_Success) then +21-236-11:36:03.557 00 SCX_CPU1_DS_FI/3009 write "<*> Passed (1005;5016.3) - Expected Event Msg ",DS_ADD_MID_CMD_ERR_EID," rcv'd." +21-236-11:36:03.558 00 SPR-I:OPRO <*> Passed (1005;5016.3) - Expected Event Msg 65 rcv'd. +21-236-11:36:03.558 00 SCX_CPU1_DS_FI/3010 ut_setrequirements DS_1005, "P" +21-236-11:36:03.587 00 SCX_CPU1_DS_FI/3011 ut_setrequirements DS_50163, "P" +21-236-11:36:03.588 00 SCX_CPU1_DS_FI/3016 endif +21-236-11:36:03.588 00 SCX_CPU1_DS_FI/3017 +21-236-11:36:03.588 00 SCX_CPU1_DS_FI/3018 wait 5 +21-236-11:36:03.588 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:36:08.592 00 SCX_CPU1_DS_FI/3019 +21-236-11:36:08.592 00 SCX_CPU1_DS_FI/3020 write ";*********************************************************************" +21-236-11:36:08.592 00 SPR-I:OPRO ;********************************************************************* +21-236-11:36:08.592 00 SCX_CPU1_DS_FI/3021 write "; Step 4.5: Try to add a message ID when the table is not loaded " +21-236-11:36:08.593 00 SPR-I:OPRO ; Step 4.5: Try to add a message ID when the table is not loaded +21-236-11:36:08.593 00 SCX_CPU1_DS_FI/3022 write ";*********************************************************************" +21-236-11:36:08.593 00 SPR-I:OPRO ;********************************************************************* +21-236-11:36:08.593 00 SCX_CPU1_DS_FI/3023 write "; Step 4.5.1: Remove the default Packet Filter Table " +21-236-11:36:08.593 00 SPR-I:OPRO ; Step 4.5.1: Remove the default Packet Filter Table +21-236-11:36:08.593 00 SCX_CPU1_DS_FI/3024 write ";*********************************************************************" +21-236-11:36:08.593 00 SPR-I:OPRO ;********************************************************************* +21-236-11:36:08.593 00 SCX_CPU1_DS_FI/3026 s ftp_file("CF:0", "na", filterFileName, hostCPU, "R") +21-236-11:36:08.594 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/ftp_file.i +21-236-11:36:08.594 00 SPR-I:STS Procedure FTP_FILE started +21-236-11:36:08.595 00 FTP_FILE/2 ; +21-236-11:36:08.595 00 FTP_FILE/3 local logging = %liv (log_procedure) +21-236-11:36:08.595 00 FTP_FILE/4 %liv (log_procedure) = FALSE +21-236-11:36:08.761 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-11:36:08.761 00 FTP_FILE/85 ENDPROC +21-236-11:36:08.761 00 SPR-I:STS Procedure FTP_FILE completed +21-236-11:36:08.763 00 SCX_CPU1_DS_FI/3027 +21-236-11:36:08.763 00 SCX_CPU1_DS_FI/3028 wait 5 +21-236-11:36:08.763 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:36:13.766 00 SCX_CPU1_DS_FI/3029 +21-236-11:36:13.767 00 SCX_CPU1_DS_FI/3030 write ";*********************************************************************" +21-236-11:36:13.767 00 SPR-I:OPRO ;********************************************************************* +21-236-11:36:13.767 00 SCX_CPU1_DS_FI/3031 write "; Step 4.5.2: Stop and restart the DS and TST_DS apps " +21-236-11:36:13.767 00 SPR-I:OPRO ; Step 4.5.2: Stop and restart the DS and TST_DS apps +21-236-11:36:13.767 00 SCX_CPU1_DS_FI/3032 write ";*********************************************************************" +21-236-11:36:13.767 00 SPR-I:OPRO ;********************************************************************* +21-236-11:36:13.767 00 SCX_CPU1_DS_FI/3033 ;/SCX_CPU1_ES_DELETEAPP Application="TST_DS" +21-236-11:36:13.767 00 SCX_CPU1_DS_FI/3034 ;wait 2 +21-236-11:36:13.768 00 SCX_CPU1_DS_FI/3035 ;/SCX_CPU1_ES_DELETEAPP Application=DSAppName +21-236-11:36:13.768 00 SCX_CPU1_DS_FI/3036 ;wait 10 +21-236-11:36:13.768 00 SCX_CPU1_DS_FI/3037 +21-236-11:36:13.768 00 SCX_CPU1_DS_FI/3039 ;s scx_cpu1_ds_start_apps("4.5.2") +21-236-11:36:13.768 00 SCX_CPU1_DS_FI/3040 ;wait 5 +21-236-11:36:13.768 00 SCX_CPU1_DS_FI/3041 +21-236-11:36:13.768 00 SCX_CPU1_DS_FI/3042 /SCX_CPU1_ES_RestartApp Application="DS" +21-236-11:36:13.783 00 SCX_CPU1_DS_FI/3043 wait 20 +21-236-11:36:13.783 00 SPR-I:STTE Wait mode - waiting 20 seconds ... +21-236-11:36:20.013 00 TLMH-I:STS 58-012-14:20:17.363 INFO CPU=CPU1 APPNAME=CFE_ES EVENT ID=10 Restart Application DS Completed, AppID=1114124 +21-236-11:36:20.509 00 TLMH-I:STS 58-012-14:20:17.434 INFO CPU=CPU1 APPNAME=DS EVENT ID=10 Destination file table verify results: desc text = OK, good entries = 8, bad = 0, unused = 8 +21-236-11:36:20.510 00 TLMH-I:STS 58-012-14:20:17.451 ERROR CPU=CPU1 APPNAME=CFE_TBL EVENT ID=53 DS: Unable to open file (FileDescriptor=-1) +21-236-11:36:20.511 00 TLMH-I:STS 58-012-14:20:17.451 ERROR CPU=CPU1 APPNAME=DS EVENT ID=8 Unable to load default Filter Table: Filename = '/cf/ds_filter_tbl.tbl', Error = 0xCC00002C +21-236-11:36:20.511 00 TLMH-I:STS 58-012-14:20:17.452 INFO CPU=CPU1 APPNAME=DS EVENT ID=1 Application initialized, version 2.6.0.0, data at 0x3ac1c0 +21-236-11:36:33.797 00 SCX_CPU1_DS_FI/3044 +21-236-11:36:33.798 00 SCX_CPU1_DS_FI/3045 write ";*********************************************************************" +21-236-11:36:33.798 00 SPR-I:OPRO ;********************************************************************* +21-236-11:36:33.798 00 SCX_CPU1_DS_FI/3046 write "; Step 4.5.3: Try to add a Message ID to an unloaded Filter table " +21-236-11:36:33.798 00 SPR-I:OPRO ; Step 4.5.3: Try to add a Message ID to an unloaded Filter table +21-236-11:36:33.798 00 SCX_CPU1_DS_FI/3047 write ";*********************************************************************" +21-236-11:36:33.798 00 SPR-I:OPRO ;********************************************************************* +21-236-11:36:33.798 00 SCX_CPU1_DS_FI/3049 ut_setupevents "SCX", "CPU1", {DSAppName}, DS_ADD_MID_CMD_ERR_EID, "ERROR", 1 +21-236-11:36:33.806 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:36:33.807 00 SPR-I:OPRO ; Setup event 1 with DS ERROR 65 +21-236-11:36:33.807 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:36:33.808 00 SCX_CPU1_DS_FI/3050 +21-236-11:36:33.808 00 SCX_CPU1_DS_FI/3051 errcnt = SCX_CPU1_DS_CMDEC + 1 +21-236-11:36:33.809 00 SCX_CPU1_DS_FI/3053 /SCX_CPU1_DS_AddMID MessageID=seqMsgID +21-236-11:36:33.824 00 SCX_CPU1_DS_FI/3054 +21-236-11:36:33.825 00 SCX_CPU1_DS_FI/3055 ut_tlmwait SCX_CPU1_DS_CMDEC, {errcnt} +21-236-11:36:33.838 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:36:34.513 00 TLMH-I:STS 58-012-14:20:31.500 ERROR CPU=CPU1 APPNAME=DS EVENT ID=65 Invalid ADD MID command: filter table is not loaded +21-236-11:36:35.840 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:36:35.842 00 SCX_CPU1_DS_FI/3056 if (UT_TW_Status = UT_Success) then +21-236-11:36:35.842 00 SCX_CPU1_DS_FI/3057 write "<*> Passed (1005;5016.2) - DS Add MID command failed as expected." +21-236-11:36:35.842 00 SPR-I:OPRO <*> Passed (1005;5016.2) - DS Add MID command failed as expected. +21-236-11:36:35.842 00 SCX_CPU1_DS_FI/3058 ut_setrequirements DS_1005, "P" +21-236-11:36:35.845 00 SCX_CPU1_DS_FI/3059 ut_setrequirements DS_50162, "P" +21-236-11:36:35.846 00 SCX_CPU1_DS_FI/3064 endif +21-236-11:36:35.846 00 SCX_CPU1_DS_FI/3065 +21-236-11:36:35.846 00 SCX_CPU1_DS_FI/3067 ut_tlmwait SCX_CPU1_find_event[1].num_found_messages, 1 +21-236-11:36:35.849 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:36:35.849 00 SCX_CPU1_DS_FI/3068 if (UT_TW_Status = UT_Success) then +21-236-11:36:35.849 00 SCX_CPU1_DS_FI/3069 write "<*> Passed (1005;5016.2) - Expected Event Msg ",DS_ADD_MID_CMD_ERR_EID," rcv'd." +21-236-11:36:35.849 00 SPR-I:OPRO <*> Passed (1005;5016.2) - Expected Event Msg 65 rcv'd. +21-236-11:36:35.849 00 SCX_CPU1_DS_FI/3070 ut_setrequirements DS_1005, "P" +21-236-11:36:35.870 00 SCX_CPU1_DS_FI/3071 ut_setrequirements DS_50162, "P" +21-236-11:36:35.871 00 SCX_CPU1_DS_FI/3076 endif +21-236-11:36:35.871 00 SCX_CPU1_DS_FI/3077 +21-236-11:36:35.871 00 SCX_CPU1_DS_FI/3078 wait 5 +21-236-11:36:35.871 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:36:40.875 00 SCX_CPU1_DS_FI/3079 +21-236-11:36:40.875 00 SCX_CPU1_DS_FI/3080 write ";*********************************************************************" +21-236-11:36:40.875 00 SPR-I:OPRO ;********************************************************************* +21-236-11:36:40.875 00 SCX_CPU1_DS_FI/3081 write "; Step 4.6: Try to add a message ID when the table is full. " +21-236-11:36:40.875 00 SPR-I:OPRO ; Step 4.6: Try to add a message ID when the table is full. +21-236-11:36:40.875 00 SCX_CPU1_DS_FI/3082 write ";*********************************************************************" +21-236-11:36:40.876 00 SPR-I:OPRO ;********************************************************************* +21-236-11:36:40.876 00 SCX_CPU1_DS_FI/3083 write "; Step 4.6.1: Create and upload a full Packet Filter Table " +21-236-11:36:40.876 00 SPR-I:OPRO ; Step 4.6.1: Create and upload a full Packet Filter Table +21-236-11:36:40.876 00 SCX_CPU1_DS_FI/3084 write ";*********************************************************************" +21-236-11:36:40.876 00 SPR-I:OPRO ;********************************************************************* +21-236-11:36:40.876 00 SCX_CPU1_DS_FI/3086 s scx_cpu1_ds_tbl5 +21-236-11:36:40.877 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/scx_cpu1_ds_tbl5.i +21-236-11:36:40.883 00 SPR-I:STS Procedure SCX_CPU1_DS_TBL5 started +21-236-11:36:40.884 00 SCX_CPU1_DS_TB/2 ;******************************************************************************* +21-236-11:36:40.884 00 SCX_CPU1_DS_TB/3 ; Test Name: ds_tbl5 +21-236-11:36:40.884 00 SCX_CPU1_DS_TB/4 ; Test Level: Build Verification +21-236-11:36:40.884 00 SCX_CPU1_DS_TB/5 ; Test Type: Functional +21-236-11:36:40.884 00 SCX_CPU1_DS_TB/6 ; +21-236-11:36:40.884 00 SCX_CPU1_DS_TB/7 ; Test Description +21-236-11:36:40.884 00 SCX_CPU1_DS_TB/8 ; This procedure creates a full CFS Data Storage (DS) Packet Filter Table +21-236-11:36:40.885 00 SCX_CPU1_DS_TB/9 ; load image file. +21-236-11:36:40.885 00 SCX_CPU1_DS_TB/10 ; +21-236-11:36:40.885 00 SCX_CPU1_DS_TB/11 ; Prerequisite Conditions +21-236-11:36:40.885 00 SCX_CPU1_DS_TB/12 ; None. +21-236-11:36:40.885 00 SCX_CPU1_DS_TB/13 ; +21-236-11:36:40.885 00 SCX_CPU1_DS_TB/14 ; Assumptions and Constraints +21-236-11:36:40.885 00 SCX_CPU1_DS_TB/15 ; None. +21-236-11:36:40.885 00 SCX_CPU1_DS_TB/16 ; +21-236-11:36:40.885 00 SCX_CPU1_DS_TB/17 ; Change History +21-236-11:36:40.886 00 SCX_CPU1_DS_TB/18 ; Date Name Description +21-236-11:36:40.886 00 SCX_CPU1_DS_TB/19 ; 09/14/11 Walt Moleski Inital implemetation. +21-236-11:36:40.886 00 SCX_CPU1_DS_TB/20 ; 01/31/17 Walt Moleski Updated for DS 2.5.0.0 using CPU1 for +21-236-11:36:40.886 00 SCX_CPU1_DS_TB/21 ; commanding and added a hostCPU variable +21-236-11:36:40.886 00 SCX_CPU1_DS_TB/22 ; for the utility procs to connect to the +21-236-11:36:40.886 00 SCX_CPU1_DS_TB/23 ; proper host IP address. +21-236-11:36:40.888 00 SCX_CPU1_DS_TB/24 ; +21-236-11:36:40.889 00 SCX_CPU1_DS_TB/25 ; Arguments +21-236-11:36:40.889 00 SCX_CPU1_DS_TB/26 ; None. +21-236-11:36:40.889 00 SCX_CPU1_DS_TB/27 ; +21-236-11:36:40.889 00 SCX_CPU1_DS_TB/28 ; Procedures Called +21-236-11:36:40.889 00 SCX_CPU1_DS_TB/29 ; Name Description +21-236-11:36:40.889 00 SCX_CPU1_DS_TB/30 ; +21-236-11:36:40.889 00 SCX_CPU1_DS_TB/31 ; Expected Test Results and Analysis +21-236-11:36:40.889 00 SCX_CPU1_DS_TB/32 ; +21-236-11:36:40.889 00 SCX_CPU1_DS_TB/33 ;********************************************************************** +21-236-11:36:40.889 00 SCX_CPU1_DS_TB/34 +21-236-11:36:40.889 00 SCX_CPU1_DS_TB/35 local logging = %liv (log_procedure) +21-236-11:36:40.889 00 SCX_CPU1_DS_TB/36 %liv (log_procedure) = FALSE +21-236-11:36:40.926 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:36:40.926 00 SPR-I:OPRO ; Step 1.0: Define DS Packet Filter Tables. +21-236-11:36:40.926 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:36:41.339 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/create_tbl_file_from_cvt.i +21-236-11:36:41.340 00 SPR-I:STS Procedure CREATE_TBL_FILE_FROM_CVT started +21-236-11:36:41.341 00 SPR-I:OPRO ********** ds_fullfilter.tbl ********** +21-236-11:36:41.341 00 SPR-I:OPRO +21-236-11:36:41.342 00 SPR-I:OPRO Content Type: cFE1 +21-236-11:36:41.342 00 SPR-I:OPRO Sub Type: 8 +21-236-11:36:41.342 00 SPR-I:OPRO Length: 12 +21-236-11:36:41.342 00 SPR-I:OPRO Spacecraft Id: SCX +21-236-11:36:41.342 00 SPR-I:OPRO Processor Id: CPU3 +21-236-11:36:41.342 00 SPR-I:OPRO Application Id: 3959 +21-236-11:36:41.342 00 SPR-I:OPRO Create Time Secs: 1629805001 +21-236-11:36:41.342 00 SPR-I:OPRO Create Time Subsecs: 0 +21-236-11:36:41.342 00 SPR-I:OPRO File Description: Full Filter Table Test +21-236-11:36:41.342 00 SPR-I:OPRO +21-236-11:36:41.342 00 SPR-I:OPRO ********** DS.FILTER_TBL ********** +21-236-11:36:41.342 00 SPR-I:OPRO +21-236-11:36:41.342 00 SPR-I:OPRO Start Mnemonic: SCX_CPU1_DS_PF_TBL_Description +21-236-11:36:41.342 00 SPR-I:OPRO Byte Offset: 0 +21-236-11:36:41.342 00 SPR-I:OPRO End Mnemonic: SCX_CPU1_DS_PF_TBL[255].FilterParams[3].O_Value +21-236-11:36:41.342 00 SPR-I:OPRO Number of Bytes: 9248 +21-236-11:36:41.342 00 SPR-I:OPRO +21-236-11:36:41.349 00 SPR-I:STS Loading file /s/opr/accounts/global/prc/partial_cvt_to_file_beta.i +21-236-11:36:41.349 00 SPR-I:STS Procedure PARTIAL_CVT_TO_FILE_BETA started +21-236-11:36:41.349 00 SPR-I:OPRO The unix command is cd /s/opr/accounts/cfs_test/image;cvt2file -s 116 -e 9363 P0F77 ds.filter_tbl +21-236-11:36:41.353 00 SPR-I:STS Procedure PARTIAL_CVT_TO_FILE_BETA completed +21-236-11:36:41.353 00 SPR-I:OPRO cd /s/opr/accounts/cfs_test/image;cat ds_fullfilter.tbl.tmp ds.filter_tbl > ds_fullfilter.tbl +21-236-11:36:41.357 00 SPR-I:OPRO cd /s/opr/accounts/cfs_test/image;rm ds.filter_tbl ds_fullfilter.tbl.tmp +21-236-11:36:41.364 00 SPR-I:STS Procedure CREATE_TBL_FILE_FROM_CVT completed +21-236-11:36:41.364 00 SCX_CPU1_DS_TB/86 +21-236-11:36:41.364 00 SCX_CPU1_DS_TB/87 write ";*********************************************************************" +21-236-11:36:41.364 00 SPR-I:OPRO ;********************************************************************* +21-236-11:36:41.364 00 SCX_CPU1_DS_TB/88 write "; End procedure SCX_CPU1_ds_tbl5" +21-236-11:36:41.364 00 SPR-I:OPRO ; End procedure SCX_CPU1_ds_tbl5 +21-236-11:36:41.364 00 SCX_CPU1_DS_TB/89 write ";*********************************************************************" +21-236-11:36:41.364 00 SPR-I:OPRO ;********************************************************************* +21-236-11:36:41.364 00 SCX_CPU1_DS_TB/90 ENDPROC +21-236-11:36:41.364 00 SPR-I:STS Procedure SCX_CPU1_DS_TBL5 completed +21-236-11:36:41.365 00 SCX_CPU1_DS_FI/3087 +21-236-11:36:41.365 00 SCX_CPU1_DS_FI/3089 ;s ftp_file("CF:0", "ds_fullfilter.tbl", filterFileName, hostCPU, "P") +21-236-11:36:41.365 00 SCX_CPU1_DS_FI/3090 ;wait 5 +21-236-11:36:41.365 00 SCX_CPU1_DS_FI/3091 +21-236-11:36:41.365 00 SCX_CPU1_DS_FI/3092 ; Load the File table created above +21-236-11:36:41.365 00 SCX_CPU1_DS_FI/3093 s load_table("ds_fullfilter.tbl",hostCPU) +21-236-11:36:41.365 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/load_table.i +21-236-11:36:41.366 00 SPR-I:STS Procedure LOAD_TABLE started +21-236-11:36:41.366 00 LOAD_TABLE/2 ; +21-236-11:36:41.366 00 LOAD_TABLE/3 local logging = %liv (log_procedure) +21-236-11:36:41.366 00 LOAD_TABLE/4 %liv (log_procedure) = FALSE +21-236-11:36:41.367 00 SPR-I:OPRO Table Filename: ds_fullfilter.tbl +21-236-11:36:41.368 00 SPR-I:OPRO The perl command is: perl /s/opr/accounts/global/tools/table_ftp.pl 192.168.1.8 ds_fullfilter.tbl RAM:0 3 +21-236-11:36:41.368 00 SPR-I:OPRO +21-236-11:36:41.511 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-11:36:41.511 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:36:46.516 00 SPR-I:OPRO +21-236-11:36:46.518 00 SPR-I:OPRO Sending Command: /SCX_CPU1_TBL_LOAD LFILENAME="/ram/ds_fullfilter.tbl" +21-236-11:36:46.552 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:36:47.008 00 TLMH-I:STS 58-012-14:20:44.002 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=12 Successful load of '/ram/ds_fullfilter.tbl' into 'DS.FILTER_TBL' working buffer +21-236-11:36:47.555 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:36:47.555 00 LOAD_TABLE/195 +21-236-11:36:47.555 00 LOAD_TABLE/196 ENDPROC +21-236-11:36:47.555 00 SPR-I:STS Procedure LOAD_TABLE completed +21-236-11:36:47.556 00 SCX_CPU1_DS_FI/3094 wait 5 +21-236-11:36:47.556 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:36:52.560 00 SCX_CPU1_DS_FI/3095 +21-236-11:36:52.560 00 SCX_CPU1_DS_FI/3096 /SCX_CPU1_TBL_VALIDATE INACTIVE VTABLENAME=filterTblName +21-236-11:36:52.572 00 SCX_CPU1_DS_FI/3097 wait 5 +21-236-11:36:52.572 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:36:55.010 00 TLMH-I:STS 58-012-14:20:52.004 INFO CPU=CPU1 APPNAME=DS EVENT ID=12 Filter table verify results: desc text = OK, good entries = 256, bad = 0, unused = 0 +21-236-11:36:55.011 00 TLMH-I:STS 58-012-14:20:52.004 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=36 DS validation successful for Inactive 'DS.FILTER_TBL' +21-236-11:36:57.575 00 SCX_CPU1_DS_FI/3098 +21-236-11:36:57.575 00 SCX_CPU1_DS_FI/3099 /SCX_CPU1_TBL_ACTIVATE ATableName=filterTblName +21-236-11:36:57.589 00 SCX_CPU1_DS_FI/3100 wait 5 +21-236-11:36:57.589 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:36:59.010 00 TLMH-I:STS 58-012-14:20:56.004 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=37 DS Successfully Updated 'DS.FILTER_TBL' +21-236-11:36:59.011 00 TLMH-I:STS 58-012-14:20:56.017 ERROR CPU=CPU1 APPNAME=CFE_SB EVENT ID=8 Subscribe Err:Max Msgs(256)In Use,MsgId 0x9bb,pipe DS_CMD_PIPE,app DS +21-236-11:36:59.012 00 TLMH-I:STS 58-012-14:20:56.017 ERROR CPU=CPU1 APPNAME=CFE_SB EVENT ID=8 Subscribe Err:Max Msgs(256)In Use,MsgId 0x9bc,pipe DS_CMD_PIPE,app DS +21-236-11:36:59.013 00 TLMH-I:STS 58-012-14:20:56.018 ERROR CPU=CPU1 APPNAME=CFE_SB EVENT ID=8 Subscribe Err:Max Msgs(256)In Use,MsgId 0x9bd,pipe DS_CMD_PIPE,app DS +21-236-11:36:59.015 00 TLMH-I:STS 58-012-14:20:56.018 ERROR CPU=CPU1 APPNAME=CFE_SB EVENT ID=8 Subscribe Err:Max Msgs(256)In Use,MsgId 0x9be,pipe DS_CMD_PIPE,app DS +21-236-11:36:59.016 00 TLMH-I:STS 58-012-14:20:56.018 ERROR CPU=CPU1 APPNAME=CFE_SB EVENT ID=8 Subscribe Err:Max Msgs(256)In Use,MsgId 0x9bf,pipe DS_CMD_PIPE,app DS +21-236-11:36:59.017 00 TLMH-I:STS 58-012-14:20:56.018 ERROR CPU=CPU1 APPNAME=CFE_SB EVENT ID=8 Subscribe Err:Max Msgs(256)In Use,MsgId 0x9c0,pipe DS_CMD_PIPE,app DS +21-236-11:36:59.019 00 TLMH-I:STS 58-012-14:20:56.019 ERROR CPU=CPU1 APPNAME=CFE_SB EVENT ID=8 Subscribe Err:Max Msgs(256)In Use,MsgId 0x9c1,pipe DS_CMD_PIPE,app DS +21-236-11:36:59.020 00 TLMH-I:STS 58-012-14:20:56.019 ERROR CPU=CPU1 APPNAME=CFE_SB EVENT ID=8 Subscribe Err:Max Msgs(256)In Use,MsgId 0x9c2,pipe DS_CMD_PIPE,app DS +21-236-11:36:59.021 00 TLMH-I:STS 58-012-14:20:56.019 ERROR CPU=CPU1 APPNAME=CFE_SB EVENT ID=8 Subscribe Err:Max Msgs(256)In Use,MsgId 0x9c3,pipe DS_CMD_PIPE,app DS +21-236-11:36:59.023 00 TLMH-I:STS 58-012-14:20:56.019 ERROR CPU=CPU1 APPNAME=CFE_SB EVENT ID=8 Subscribe Err:Max Msgs(256)In Use,MsgId 0x9c4,pipe DS_CMD_PIPE,app DS +21-236-11:36:59.024 00 TLMH-I:STS 58-012-14:20:56.020 ERROR CPU=CPU1 APPNAME=CFE_SB EVENT ID=8 Subscribe Err:Max Msgs(256)In Use,MsgId 0x9c5,pipe DS_CMD_PIPE,app DS +21-236-11:36:59.025 00 TLMH-I:STS 58-012-14:20:56.020 ERROR CPU=CPU1 APPNAME=CFE_SB EVENT ID=8 Subscribe Err:Max Msgs(256)In Use,MsgId 0x9c6,pipe DS_CMD_PIPE,app DS +21-236-11:36:59.026 00 TLMH-I:STS 58-012-14:20:56.020 ERROR CPU=CPU1 APPNAME=CFE_SB EVENT ID=8 Subscribe Err:Max Msgs(256)In Use,MsgId 0x9c7,pipe DS_CMD_PIPE,app DS +21-236-11:36:59.027 00 TLMH-I:STS 58-012-14:20:56.020 ERROR CPU=CPU1 APPNAME=CFE_SB EVENT ID=8 Subscribe Err:Max Msgs(256)In Use,MsgId 0x9c8,pipe DS_CMD_PIPE,app DS +21-236-11:36:59.028 00 TLMH-I:STS 58-012-14:20:56.021 ERROR CPU=CPU1 APPNAME=CFE_SB EVENT ID=8 Subscribe Err:Max Msgs(256)In Use,MsgId 0x9c9,pipe DS_CMD_PIPE,app DS +21-236-11:36:59.029 00 TLMH-I:STS 58-012-14:20:56.021 ERROR CPU=CPU1 APPNAME=CFE_SB EVENT ID=8 Subscribe Err:Max Msgs(256)In Use,MsgId 0x9ca,pipe DS_CMD_PIPE,app DS +21-236-11:36:59.031 00 TLMH-I:STS 58-012-14:20:56.021 ERROR CPU=CPU1 APPNAME=CFE_SB EVENT ID=8 Subscribe Err:Max Msgs(256)In Use,MsgId 0x9cb,pipe DS_CMD_PIPE,app DS +21-236-11:36:59.032 00 TLMH-I:STS 58-012-14:20:56.021 ERROR CPU=CPU1 APPNAME=CFE_SB EVENT ID=8 Subscribe Err:Max Msgs(256)In Use,MsgId 0x9cc,pipe DS_CMD_PIPE,app DS +21-236-11:36:59.034 00 TLMH-I:STS 58-012-14:20:56.022 ERROR CPU=CPU1 APPNAME=CFE_SB EVENT ID=8 Subscribe Err:Max Msgs(256)In Use,MsgId 0x9cd,pipe DS_CMD_PIPE,app DS +21-236-11:36:59.035 00 TLMH-I:STS 58-012-14:20:56.022 ERROR CPU=CPU1 APPNAME=CFE_SB EVENT ID=8 Subscribe Err:Max Msgs(256)In Use,MsgId 0x9ce,pipe DS_CMD_PIPE,app DS +21-236-11:36:59.037 00 TLMH-I:STS 58-012-14:20:56.022 ERROR CPU=CPU1 APPNAME=CFE_SB EVENT ID=8 Subscribe Err:Max Msgs(256)In Use,MsgId 0x9cf,pipe DS_CMD_PIPE,app DS +21-236-11:36:59.038 00 TLMH-I:STS 58-012-14:20:56.023 ERROR CPU=CPU1 APPNAME=CFE_SB EVENT ID=8 Subscribe Err:Max Msgs(256)In Use,MsgId 0x9d0,pipe DS_CMD_PIPE,app DS +21-236-11:36:59.039 00 TLMH-I:STS 58-012-14:20:56.023 ERROR CPU=CPU1 APPNAME=CFE_SB EVENT ID=8 Subscribe Err:Max Msgs(256)In Use,MsgId 0x9d1,pipe DS_CMD_PIPE,app DS +21-236-11:36:59.039 00 TLMH-I:STS 58-012-14:20:56.023 ERROR CPU=CPU1 APPNAME=CFE_SB EVENT ID=8 Subscribe Err:Max Msgs(256)In Use,MsgId 0x9d2,pipe DS_CMD_PIPE,app DS +21-236-11:36:59.040 00 TLMH-I:STS 58-012-14:20:56.023 ERROR CPU=CPU1 APPNAME=CFE_SB EVENT ID=8 Subscribe Err:Max Msgs(256)In Use,MsgId 0x9d3,pipe DS_CMD_PIPE,app DS +21-236-11:36:59.041 00 TLMH-I:STS 58-012-14:20:56.024 ERROR CPU=CPU1 APPNAME=CFE_SB EVENT ID=8 Subscribe Err:Max Msgs(256)In Use,MsgId 0x9d4,pipe DS_CMD_PIPE,app DS +21-236-11:36:59.042 00 TLMH-I:STS 58-012-14:20:56.024 ERROR CPU=CPU1 APPNAME=CFE_SB EVENT ID=8 Subscribe Err:Max Msgs(256)In Use,MsgId 0x9d5,pipe DS_CMD_PIPE,app DS +21-236-11:36:59.043 00 TLMH-I:STS 58-012-14:20:56.024 ERROR CPU=CPU1 APPNAME=CFE_SB EVENT ID=8 Subscribe Err:Max Msgs(256)In Use,MsgId 0x9d6,pipe DS_CMD_PIPE,app DS +21-236-11:36:59.043 00 TLMH-I:STS 58-012-14:20:56.024 ERROR CPU=CPU1 APPNAME=CFE_SB EVENT ID=8 Subscribe Err:Max Msgs(256)In Use,MsgId 0x9d7,pipe DS_CMD_PIPE,app DS +21-236-11:36:59.044 00 TLMH-I:STS 58-012-14:20:56.025 ERROR CPU=CPU1 APPNAME=CFE_SB EVENT ID=8 Subscribe Err:Max Msgs(256)In Use,MsgId 0x9d8,pipe DS_CMD_PIPE,app DS +21-236-11:36:59.044 00 TLMH-I:STS 58-012-14:20:56.025 ERROR CPU=CPU1 APPNAME=CFE_SB EVENT ID=8 Subscribe Err:Max Msgs(256)In Use,MsgId 0x9d9,pipe DS_CMD_PIPE,app DS +21-236-11:37:02.592 00 SCX_CPU1_DS_FI/3101 +21-236-11:37:02.592 00 SCX_CPU1_DS_FI/3102 write ";*********************************************************************" +21-236-11:37:02.592 00 SPR-I:OPRO ;********************************************************************* +21-236-11:37:02.592 00 SCX_CPU1_DS_FI/3103 write "; Step 4.6.2: Stop and restart the DS and TST_DS apps " +21-236-11:37:02.593 00 SPR-I:OPRO ; Step 4.6.2: Stop and restart the DS and TST_DS apps +21-236-11:37:02.593 00 SCX_CPU1_DS_FI/3104 write ";*********************************************************************" +21-236-11:37:02.593 00 SPR-I:OPRO ;********************************************************************* +21-236-11:37:02.593 00 SCX_CPU1_DS_FI/3105 ;/SCX_CPU1_ES_DELETEAPP Application="TST_DS" +21-236-11:37:02.593 00 SCX_CPU1_DS_FI/3106 ;wait 2 +21-236-11:37:02.593 00 SCX_CPU1_DS_FI/3107 ;/SCX_CPU1_ES_DELETEAPP Application=DSAppName +21-236-11:37:02.593 00 SCX_CPU1_DS_FI/3108 ;wait 10 +21-236-11:37:02.593 00 SCX_CPU1_DS_FI/3109 +21-236-11:37:02.593 00 SCX_CPU1_DS_FI/3111 ;s scx_cpu1_ds_start_apps("4.6.2") +21-236-11:37:02.593 00 SCX_CPU1_DS_FI/3112 ;wait 5 +21-236-11:37:02.593 00 SCX_CPU1_DS_FI/3113 +21-236-11:37:02.593 00 SCX_CPU1_DS_FI/3114 write ";*********************************************************************" +21-236-11:37:02.593 00 SPR-I:OPRO ;********************************************************************* +21-236-11:37:02.593 00 SCX_CPU1_DS_FI/3115 write "; Step 4.6.3: Try to add a Message ID to a full Packet Filter table " +21-236-11:37:02.593 00 SPR-I:OPRO ; Step 4.6.3: Try to add a Message ID to a full Packet Filter table +21-236-11:37:02.593 00 SCX_CPU1_DS_FI/3116 write ";*********************************************************************" +21-236-11:37:02.593 00 SPR-I:OPRO ;********************************************************************* +21-236-11:37:02.593 00 SCX_CPU1_DS_FI/3118 ut_setupevents "SCX", "CPU1", {DSAppName}, DS_ADD_MID_CMD_ERR_EID, "ERROR", 1 +21-236-11:37:02.595 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:37:02.595 00 SPR-I:OPRO ; Setup event 1 with DS ERROR 65 +21-236-11:37:02.595 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:37:02.595 00 SCX_CPU1_DS_FI/3119 +21-236-11:37:02.596 00 SCX_CPU1_DS_FI/3121 /SCX_CPU1_DS_AddMID MessageID=fullMID +21-236-11:37:02.607 00 SCX_CPU1_DS_FI/3122 +21-236-11:37:02.607 00 SCX_CPU1_DS_FI/3124 ut_tlmwait SCX_CPU1_find_event[1].num_found_messages, 1 +21-236-11:37:02.610 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:37:03.505 00 TLMH-I:STS 58-012-14:21:00.500 ERROR CPU=CPU1 APPNAME=DS EVENT ID=65 Invalid ADD MID command: filter table is full +21-236-11:37:03.610 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:37:03.611 00 SCX_CPU1_DS_FI/3125 if (UT_TW_Status = UT_Success) then +21-236-11:37:03.611 00 SCX_CPU1_DS_FI/3126 write "<*> Passed (1005;5016.4) - Expected Event Msg ",DS_ADD_MID_CMD_ERR_EID," rcv'd." +21-236-11:37:03.611 00 SPR-I:OPRO <*> Passed (1005;5016.4) - Expected Event Msg 65 rcv'd. +21-236-11:37:03.611 00 SCX_CPU1_DS_FI/3127 ut_setrequirements DS_1005, "P" +21-236-11:37:03.613 00 SCX_CPU1_DS_FI/3128 ut_setrequirements DS_50164, "P" +21-236-11:37:03.614 00 SCX_CPU1_DS_FI/3133 endif +21-236-11:37:03.614 00 SCX_CPU1_DS_FI/3134 +21-236-11:37:03.614 00 SCX_CPU1_DS_FI/3135 wait 5 +21-236-11:37:03.614 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:37:08.618 00 SCX_CPU1_DS_FI/3136 +21-236-11:37:08.619 00 SCX_CPU1_DS_FI/3137 step5_0: +21-236-11:37:08.619 00 SCX_CPU1_DS_FI/3138 write ";*********************************************************************" +21-236-11:37:08.619 00 SPR-I:OPRO ;********************************************************************* +21-236-11:37:08.619 00 SCX_CPU1_DS_FI/3139 write "; Step 5.0: Clean-up - Send the Processor Reset command. " +21-236-11:37:08.619 00 SPR-I:OPRO ; Step 5.0: Clean-up - Send the Processor Reset command. +21-236-11:37:08.619 00 SCX_CPU1_DS_FI/3140 write ";*********************************************************************" +21-236-11:37:08.619 00 SPR-I:OPRO ;********************************************************************* +21-236-11:37:08.619 00 SCX_CPU1_DS_FI/3141 /SCX_CPU1_ES_PROCESSORRESET +21-236-11:37:08.635 00 SCX_CPU1_DS_FI/3142 wait 10 +21-236-11:37:08.635 00 SPR-I:STTE Wait mode - waiting 10 seconds ... +21-236-11:37:18.643 00 SCX_CPU1_DS_FI/3143 +21-236-11:37:18.643 00 SCX_CPU1_DS_FI/3144 close_data_center +21-236-11:37:18.644 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/clear_spacecraft_status.i +21-236-11:37:18.645 00 SPR-I:STS Procedure CLEAR_SPACECRAFT_STATUS started +21-236-11:37:18.646 00 CLEAR_SPACECRA/2 ; +21-236-11:37:18.646 00 CLEAR_SPACECRA/3 local logging = %liv(log_procedure) +21-236-11:37:18.646 00 CLEAR_SPACECRA/4 %liv (log_procedure) = FALSE +21-236-11:37:18.658 00 CLEAR_SPACECRA/135 +21-236-11:37:18.658 00 CLEAR_SPACECRA/136 endproc +21-236-11:37:18.658 00 SPR-I:STS Procedure CLEAR_SPACECRAFT_STATUS completed +21-236-11:37:18.721 00 SCX_CPU1_DS_FI/3145 wait 60 +21-236-11:37:18.721 00 SPR-I:STTE Wait mode - waiting 60 seconds ... +21-236-11:38:18.767 00 SCX_CPU1_DS_FI/3146 +21-236-11:38:18.767 00 SCX_CPU1_DS_FI/3147 cfe_startup {hostCPU} +21-236-11:38:18.779 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:38:28.789 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:38:28.855 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/send_that_to_command.i +21-236-11:38:28.855 00 SPR-I:STS Procedure SEND_THAT_TO_COMMAND started +21-236-11:38:28.856 00 SEND_THAT_TO_C/2 ; +21-236-11:38:28.856 00 SEND_THAT_TO_C/3 local logging = %liv (log_procedure) +21-236-11:38:28.856 00 SEND_THAT_TO_C/4 %liv (log_procedure) = FALSE +21-236-11:38:28.857 00 SPR-I:OPRO Sending: /SCX_CPU1_TO_OUTPUT_ENA gs582cfslab4 +21-236-11:38:28.908 00 SEND_THAT_TO_C/83 +21-236-11:38:28.908 00 SEND_THAT_TO_C/84 endproc +21-236-11:38:28.908 00 SPR-I:STS Procedure SEND_THAT_TO_COMMAND completed +21-236-11:38:28.908 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:38:29.676 00 TLMH-I:STS 58-012-14:21:33.100 INFO CPU=CPU1 APPNAME=TO_LAB_APP EVENT ID=3 TO telemetry output enabled for IP 192.168.1.101 +21-236-11:38:32.912 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:38:32.912 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/fill_in_spacecraft_status.i +21-236-11:38:32.914 00 SPR-I:STS Procedure FILL_IN_SPACECRAFT_STATUS started +21-236-11:38:32.914 00 FILL_IN_SPACEC/2 ; +21-236-11:38:32.914 00 FILL_IN_SPACEC/3 local logging = %liv (log_procedure) +21-236-11:38:32.914 00 FILL_IN_SPACEC/4 %liv (log_procedure) = FALSE +21-236-11:38:32.920 00 FILL_IN_SPACEC/152 +21-236-11:38:32.920 00 FILL_IN_SPACEC/153 endproc +21-236-11:38:32.920 00 SPR-I:STS Procedure FILL_IN_SPACECRAFT_STATUS completed +21-236-11:38:32.921 00 SCX_CPU1_DS_FI/3148 wait 5 +21-236-11:38:32.921 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:38:37.924 00 SCX_CPU1_DS_FI/3149 +21-236-11:38:37.924 00 SCX_CPU1_DS_FI/3150 write "**** Requirements Status Reporting" +21-236-11:38:37.925 00 SPR-I:OPRO **** Requirements Status Reporting +21-236-11:38:37.925 00 SCX_CPU1_DS_FI/3151 +21-236-11:38:37.925 00 SCX_CPU1_DS_FI/3152 write "--------------------------" +21-236-11:38:37.925 00 SPR-I:OPRO -------------------------- +21-236-11:38:37.925 00 SCX_CPU1_DS_FI/3153 write " Requirement(s) Report" +21-236-11:38:37.925 00 SPR-I:OPRO Requirement(s) Report +21-236-11:38:37.926 00 SCX_CPU1_DS_FI/3154 write "--------------------------" +21-236-11:38:37.926 00 SPR-I:OPRO -------------------------- +21-236-11:38:37.926 00 SCX_CPU1_DS_FI/3155 +21-236-11:38:37.926 00 SCX_CPU1_DS_FI/3156 FOR i = 0 to ut_req_array_size DO +21-236-11:38:37.926 00 SCX_CPU1_DS_FI/3157 ut_pfindicate {cfe_requirements[i]} {ut_requirement[i]} +21-236-11:38:37.927 00 SPR-I:OPRO FSW Requirement: DS_1002 P/F: P +21-236-11:38:37.929 00 SCX_CPU1_DS_FI/3158 ENDDO +21-236-11:38:37.929 00 SCX_CPU1_DS_FI/3156 FOR i = 0 to ut_req_array_size DO +21-236-11:38:37.930 00 SCX_CPU1_DS_FI/3157 ut_pfindicate {cfe_requirements[i]} {ut_requirement[i]} +21-236-11:38:37.930 00 SPR-I:OPRO FSW Requirement: DS_1004 P/F: P +21-236-11:38:37.931 00 SCX_CPU1_DS_FI/3158 ENDDO +21-236-11:38:37.931 00 SCX_CPU1_DS_FI/3156 FOR i = 0 to ut_req_array_size DO +21-236-11:38:37.931 00 SCX_CPU1_DS_FI/3157 ut_pfindicate {cfe_requirements[i]} {ut_requirement[i]} +21-236-11:38:37.932 00 SPR-I:OPRO FSW Requirement: DS_1005 P/F: P +21-236-11:38:37.932 00 SCX_CPU1_DS_FI/3158 ENDDO +21-236-11:38:37.933 00 SCX_CPU1_DS_FI/3156 FOR i = 0 to ut_req_array_size DO +21-236-11:38:37.933 00 SCX_CPU1_DS_FI/3157 ut_pfindicate {cfe_requirements[i]} {ut_requirement[i]} +21-236-11:38:37.933 00 SPR-I:OPRO FSW Requirement: DS_2000 P/F: P +21-236-11:38:37.934 00 SCX_CPU1_DS_FI/3158 ENDDO +21-236-11:38:37.935 00 SCX_CPU1_DS_FI/3156 FOR i = 0 to ut_req_array_size DO +21-236-11:38:37.935 00 SCX_CPU1_DS_FI/3157 ut_pfindicate {cfe_requirements[i]} {ut_requirement[i]} +21-236-11:38:37.935 00 SPR-I:OPRO FSW Requirement: DS_2000.1 P/F: P +21-236-11:38:37.964 00 SCX_CPU1_DS_FI/3158 ENDDO +21-236-11:38:37.964 00 SCX_CPU1_DS_FI/3156 FOR i = 0 to ut_req_array_size DO +21-236-11:38:37.964 00 SCX_CPU1_DS_FI/3157 ut_pfindicate {cfe_requirements[i]} {ut_requirement[i]} +21-236-11:38:37.965 00 SPR-I:OPRO FSW Requirement: DS_2000.2 P/F: P +21-236-11:38:37.967 00 SCX_CPU1_DS_FI/3158 ENDDO +21-236-11:38:37.967 00 SCX_CPU1_DS_FI/3156 FOR i = 0 to ut_req_array_size DO +21-236-11:38:37.967 00 SCX_CPU1_DS_FI/3157 ut_pfindicate {cfe_requirements[i]} {ut_requirement[i]} +21-236-11:38:37.968 00 SPR-I:OPRO FSW Requirement: DS_2001 P/F: A +21-236-11:38:37.968 00 SCX_CPU1_DS_FI/3158 ENDDO +21-236-11:38:37.969 00 SCX_CPU1_DS_FI/3156 FOR i = 0 to ut_req_array_size DO +21-236-11:38:37.969 00 SCX_CPU1_DS_FI/3157 ut_pfindicate {cfe_requirements[i]} {ut_requirement[i]} +21-236-11:38:37.969 00 SPR-I:OPRO FSW Requirement: DS_2001.1 P/F: P +21-236-11:38:37.970 00 SCX_CPU1_DS_FI/3158 ENDDO +21-236-11:38:37.970 00 SCX_CPU1_DS_FI/3156 FOR i = 0 to ut_req_array_size DO +21-236-11:38:37.970 00 SCX_CPU1_DS_FI/3157 ut_pfindicate {cfe_requirements[i]} {ut_requirement[i]} +21-236-11:38:37.970 00 SPR-I:OPRO FSW Requirement: DS_2002 P/F: P +21-236-11:38:37.991 00 SCX_CPU1_DS_FI/3158 ENDDO +21-236-11:38:37.992 00 SCX_CPU1_DS_FI/3156 FOR i = 0 to ut_req_array_size DO +21-236-11:38:37.992 00 SCX_CPU1_DS_FI/3157 ut_pfindicate {cfe_requirements[i]} {ut_requirement[i]} +21-236-11:38:37.992 00 SPR-I:OPRO FSW Requirement: DS_2002.1 P/F: P +21-236-11:38:37.993 00 SCX_CPU1_DS_FI/3158 ENDDO +21-236-11:38:37.993 00 SCX_CPU1_DS_FI/3156 FOR i = 0 to ut_req_array_size DO +21-236-11:38:37.993 00 SCX_CPU1_DS_FI/3157 ut_pfindicate {cfe_requirements[i]} {ut_requirement[i]} +21-236-11:38:37.994 00 SPR-I:OPRO FSW Requirement: DS_2003 P/F: A +21-236-11:38:37.994 00 SCX_CPU1_DS_FI/3158 ENDDO +21-236-11:38:37.994 00 SCX_CPU1_DS_FI/3156 FOR i = 0 to ut_req_array_size DO +21-236-11:38:37.994 00 SCX_CPU1_DS_FI/3157 ut_pfindicate {cfe_requirements[i]} {ut_requirement[i]} +21-236-11:38:37.995 00 SPR-I:OPRO FSW Requirement: DS_2003.1 P/F: A +21-236-11:38:38.011 00 SCX_CPU1_DS_FI/3158 ENDDO +21-236-11:38:38.011 00 SCX_CPU1_DS_FI/3156 FOR i = 0 to ut_req_array_size DO +21-236-11:38:38.012 00 SCX_CPU1_DS_FI/3157 ut_pfindicate {cfe_requirements[i]} {ut_requirement[i]} +21-236-11:38:38.012 00 SPR-I:OPRO FSW Requirement: DS_2003.2 P/F: A +21-236-11:38:38.012 00 SCX_CPU1_DS_FI/3158 ENDDO +21-236-11:38:38.013 00 SCX_CPU1_DS_FI/3156 FOR i = 0 to ut_req_array_size DO +21-236-11:38:38.013 00 SCX_CPU1_DS_FI/3157 ut_pfindicate {cfe_requirements[i]} {ut_requirement[i]} +21-236-11:38:38.013 00 SPR-I:OPRO FSW Requirement: DS_3000 P/F: P +21-236-11:38:38.013 00 SCX_CPU1_DS_FI/3158 ENDDO +21-236-11:38:38.013 00 SCX_CPU1_DS_FI/3156 FOR i = 0 to ut_req_array_size DO +21-236-11:38:38.014 00 SCX_CPU1_DS_FI/3157 ut_pfindicate {cfe_requirements[i]} {ut_requirement[i]} +21-236-11:38:38.014 00 SPR-I:OPRO FSW Requirement: DS_3000.1 P/F: A +21-236-11:38:38.030 00 SCX_CPU1_DS_FI/3158 ENDDO +21-236-11:38:38.030 00 SCX_CPU1_DS_FI/3156 FOR i = 0 to ut_req_array_size DO +21-236-11:38:38.031 00 SCX_CPU1_DS_FI/3157 ut_pfindicate {cfe_requirements[i]} {ut_requirement[i]} +21-236-11:38:38.031 00 SPR-I:OPRO FSW Requirement: DS_3000.1.1 P/F: A +21-236-11:38:38.031 00 SCX_CPU1_DS_FI/3158 ENDDO +21-236-11:38:38.031 00 SCX_CPU1_DS_FI/3156 FOR i = 0 to ut_req_array_size DO +21-236-11:38:38.031 00 SCX_CPU1_DS_FI/3157 ut_pfindicate {cfe_requirements[i]} {ut_requirement[i]} +21-236-11:38:38.032 00 SPR-I:OPRO FSW Requirement: DS_3000.2 P/F: A +21-236-11:38:38.032 00 SCX_CPU1_DS_FI/3158 ENDDO +21-236-11:38:38.032 00 SCX_CPU1_DS_FI/3156 FOR i = 0 to ut_req_array_size DO +21-236-11:38:38.032 00 SCX_CPU1_DS_FI/3157 ut_pfindicate {cfe_requirements[i]} {ut_requirement[i]} +21-236-11:38:38.033 00 SPR-I:OPRO FSW Requirement: DS_3000.2.1 P/F: A +21-236-11:38:38.050 00 SCX_CPU1_DS_FI/3158 ENDDO +21-236-11:38:38.050 00 SCX_CPU1_DS_FI/3156 FOR i = 0 to ut_req_array_size DO +21-236-11:38:38.051 00 SCX_CPU1_DS_FI/3157 ut_pfindicate {cfe_requirements[i]} {ut_requirement[i]} +21-236-11:38:38.051 00 SPR-I:OPRO FSW Requirement: DS_3003 P/F: A +21-236-11:38:38.051 00 SCX_CPU1_DS_FI/3158 ENDDO +21-236-11:38:38.051 00 SCX_CPU1_DS_FI/3156 FOR i = 0 to ut_req_array_size DO +21-236-11:38:38.051 00 SCX_CPU1_DS_FI/3157 ut_pfindicate {cfe_requirements[i]} {ut_requirement[i]} +21-236-11:38:38.052 00 SPR-I:OPRO FSW Requirement: DS_3004 P/F: A +21-236-11:38:38.052 00 SCX_CPU1_DS_FI/3158 ENDDO +21-236-11:38:38.052 00 SCX_CPU1_DS_FI/3156 FOR i = 0 to ut_req_array_size DO +21-236-11:38:38.052 00 SCX_CPU1_DS_FI/3157 ut_pfindicate {cfe_requirements[i]} {ut_requirement[i]} +21-236-11:38:38.052 00 SPR-I:OPRO FSW Requirement: DS_5002 P/F: P +21-236-11:38:38.069 00 SCX_CPU1_DS_FI/3158 ENDDO +21-236-11:38:38.070 00 SCX_CPU1_DS_FI/3156 FOR i = 0 to ut_req_array_size DO +21-236-11:38:38.070 00 SCX_CPU1_DS_FI/3157 ut_pfindicate {cfe_requirements[i]} {ut_requirement[i]} +21-236-11:38:38.070 00 SPR-I:OPRO FSW Requirement: DS_5008 P/F: P +21-236-11:38:38.070 00 SCX_CPU1_DS_FI/3158 ENDDO +21-236-11:38:38.071 00 SCX_CPU1_DS_FI/3156 FOR i = 0 to ut_req_array_size DO +21-236-11:38:38.071 00 SCX_CPU1_DS_FI/3157 ut_pfindicate {cfe_requirements[i]} {ut_requirement[i]} +21-236-11:38:38.071 00 SPR-I:OPRO FSW Requirement: DS_5009 P/F: P +21-236-11:38:38.071 00 SCX_CPU1_DS_FI/3158 ENDDO +21-236-11:38:38.072 00 SCX_CPU1_DS_FI/3156 FOR i = 0 to ut_req_array_size DO +21-236-11:38:38.072 00 SCX_CPU1_DS_FI/3157 ut_pfindicate {cfe_requirements[i]} {ut_requirement[i]} +21-236-11:38:38.072 00 SPR-I:OPRO FSW Requirement: DS_5010 P/F: P +21-236-11:38:38.095 00 SCX_CPU1_DS_FI/3158 ENDDO +21-236-11:38:38.095 00 SCX_CPU1_DS_FI/3156 FOR i = 0 to ut_req_array_size DO +21-236-11:38:38.095 00 SCX_CPU1_DS_FI/3157 ut_pfindicate {cfe_requirements[i]} {ut_requirement[i]} +21-236-11:38:38.096 00 SPR-I:OPRO FSW Requirement: DS_5016 P/F: P +21-236-11:38:38.096 00 SCX_CPU1_DS_FI/3158 ENDDO +21-236-11:38:38.096 00 SCX_CPU1_DS_FI/3156 FOR i = 0 to ut_req_array_size DO +21-236-11:38:38.096 00 SCX_CPU1_DS_FI/3157 ut_pfindicate {cfe_requirements[i]} {ut_requirement[i]} +21-236-11:38:38.097 00 SPR-I:OPRO FSW Requirement: DS_5016.1 P/F: P +21-236-11:38:38.097 00 SCX_CPU1_DS_FI/3158 ENDDO +21-236-11:38:38.098 00 SCX_CPU1_DS_FI/3156 FOR i = 0 to ut_req_array_size DO +21-236-11:38:38.118 00 SCX_CPU1_DS_FI/3157 ut_pfindicate {cfe_requirements[i]} {ut_requirement[i]} +21-236-11:38:38.119 00 SPR-I:OPRO FSW Requirement: DS_5016.2 P/F: P +21-236-11:38:38.119 00 SCX_CPU1_DS_FI/3158 ENDDO +21-236-11:38:38.119 00 SCX_CPU1_DS_FI/3156 FOR i = 0 to ut_req_array_size DO +21-236-11:38:38.119 00 SCX_CPU1_DS_FI/3157 ut_pfindicate {cfe_requirements[i]} {ut_requirement[i]} +21-236-11:38:38.120 00 SPR-I:OPRO FSW Requirement: DS_5016.3 P/F: P +21-236-11:38:38.120 00 SCX_CPU1_DS_FI/3158 ENDDO +21-236-11:38:38.120 00 SCX_CPU1_DS_FI/3156 FOR i = 0 to ut_req_array_size DO +21-236-11:38:38.120 00 SCX_CPU1_DS_FI/3157 ut_pfindicate {cfe_requirements[i]} {ut_requirement[i]} +21-236-11:38:38.120 00 SPR-I:OPRO FSW Requirement: DS_5016.4 P/F: P +21-236-11:38:38.121 00 SCX_CPU1_DS_FI/3158 ENDDO +21-236-11:38:38.121 00 SCX_CPU1_DS_FI/3156 FOR i = 0 to ut_req_array_size DO +21-236-11:38:38.121 00 SCX_CPU1_DS_FI/3157 ut_pfindicate {cfe_requirements[i]} {ut_requirement[i]} +21-236-11:38:38.122 00 SPR-I:OPRO FSW Requirement: DS_8000 P/F: P +21-236-11:38:38.139 00 SCX_CPU1_DS_FI/3158 ENDDO +21-236-11:38:38.139 00 SCX_CPU1_DS_FI/3156 FOR i = 0 to ut_req_array_size DO +21-236-11:38:38.139 00 SCX_CPU1_DS_FI/3157 ut_pfindicate {cfe_requirements[i]} {ut_requirement[i]} +21-236-11:38:38.139 00 SPR-I:OPRO FSW Requirement: DS_9000 P/F: F +21-236-11:38:38.139 00 SCX_CPU1_DS_FI/3158 ENDDO +21-236-11:38:38.140 00 SCX_CPU1_DS_FI/3156 FOR i = 0 to ut_req_array_size DO +21-236-11:38:38.140 00 SCX_CPU1_DS_FI/3159 +21-236-11:38:38.140 00 SCX_CPU1_DS_FI/3160 drop ut_requirement ; needed to clear global variables +21-236-11:38:38.140 00 SPR-I:STS Variable "UT_REQUIREMENT" deleted +21-236-11:38:38.140 00 SCX_CPU1_DS_FI/3161 drop ut_req_array_size ; needed to clear global variables +21-236-11:38:38.140 00 SPR-I:STS Variable "UT_REQ_ARRAY_SIZE" deleted +21-236-11:38:38.140 00 SCX_CPU1_DS_FI/3162 +21-236-11:38:38.140 00 SCX_CPU1_DS_FI/3163 write ";*********************************************************************" +21-236-11:38:38.140 00 SPR-I:OPRO ;********************************************************************* +21-236-11:38:38.158 00 SCX_CPU1_DS_FI/3164 write "; End procedure SCX_CPU1_ds_filter" +21-236-11:38:38.158 00 SPR-I:OPRO ; End procedure SCX_CPU1_ds_filter +21-236-11:38:38.158 00 SCX_CPU1_DS_FI/3165 write ";*********************************************************************" +21-236-11:38:38.158 00 SPR-I:OPRO ;********************************************************************* +21-236-11:38:38.158 00 SCX_CPU1_DS_FI/3166 ENDPROC +21-236-11:38:38.158 00 SPR-I:STS Procedure SCX_CPU1_DS_FILTER completed +21-236-11:38:38.160 00 UT_RUNPROC/249 +21-236-11:38:38.160 00 UT_RUNPROC/264 #endif +21-236-11:38:38.160 00 UT_RUNPROC/265 +21-236-11:38:38.160 00 UT_RUNPROC/266 write "*** Telemetry Info ***" +21-236-11:38:38.160 00 SPR-I:OPRO *** Telemetry Info *** +21-236-11:38:38.160 00 UT_RUNPROC/268 ;;; write "Pkt Loss Count: ", TO_PCKTSDISCARD +21-236-11:38:38.160 00 UT_RUNPROC/269 write "Pkt Loss Count: N/A" +21-236-11:38:38.160 00 SPR-I:OPRO +21-236-11:38:38.160 00 UT_RUNPROC/269 write "Pkt Loss Count: N/A" +21-236-11:38:38.160 00 SPR-I:OPRO Pkt Loss Count: N/A +21-236-11:38:38.160 00 UT_RUNPROC/271 write "******************" +21-236-11:38:38.160 00 SPR-I:OPRO +21-236-11:38:38.160 00 UT_RUNPROC/271 write "******************" +21-236-11:38:38.160 00 SPR-I:OPRO ****************** +21-236-11:38:38.160 00 UT_RUNPROC/273 +21-236-11:38:38.160 00 SPR-I:OPRO +21-236-11:38:38.164 00 UT_RUNPROC/273 +21-236-11:38:38.164 00 UT_RUNPROC/274 etime = %gmt +21-236-11:38:38.164 00 UT_RUNPROC/275 write "Elapsed time: ", etime-stime, " seconds" +21-236-11:38:38.164 00 SPR-I:OPRO Elapsed time: 1208.01 seconds +21-236-11:38:38.164 00 UT_RUNPROC/276 write "Elapsed time: ", (etime-stime)/60, " minutes" +21-236-11:38:38.164 00 SPR-I:OPRO Elapsed time: 20.1335 minutes +21-236-11:38:38.164 00 UT_RUNPROC/277 ; +21-236-11:38:38.164 00 UT_RUNPROC/278 ; wait for completion of procedure +21-236-11:38:38.164 00 UT_RUNPROC/279 ; +21-236-11:38:38.164 00 UT_RUNPROC/280 wait(10) +21-236-11:38:38.165 00 SPR-I:STTE Wait mode - waiting 10 seconds ... +21-236-11:38:48.171 00 UT_RUNPROC/281 ; +21-236-11:38:48.171 00 UT_RUNPROC/282 ; close the log to procedure log name for archive +21-236-11:38:48.171 00 UT_RUNPROC/283 ; +21-236-11:38:48.171 00 UT_RUNPROC/284 local test_log_string = "/test_logs/" +21-236-11:38:48.172 00 UT_RUNPROC/285 if ((logoff_when_done = 0) and (%length(opt_parm) <> 0)) then +21-236-11:38:48.172 00 UT_RUNPROC/286 test_log_string = test_log_string & opt_parm & "/" +21-236-11:38:48.172 00 UT_RUNPROC/287 endif +21-236-11:38:48.172 00 UT_RUNPROC/288 +21-236-11:38:48.172 00 UT_RUNPROC/289 write "Creating filtered log at " & %env("WORK") & test_log_string ;; +21-236-11:38:48.172 00 UT_RUNPROC/290 & log_name & "f" +21-236-11:38:48.173 00 SPR-I:OPRO Creating filtered log at /s/opr/accounts/cfs_test/test_logs/DS2.6.0/scx_cpu1_ds_filter-2021-236-11h18m30s.logf +21-236-11:38:48.173 00 UT_RUNPROC/291 write "Creating filtered output log at " & %env("WORK") & test_log_string ;; +21-236-11:38:48.173 00 UT_RUNPROC/292 & log_name & "p" +21-236-11:38:48.173 00 SPR-I:OPRO Creating filtered output log at /s/opr/accounts/cfs_test/test_logs/DS2.6.0/scx_cpu1_ds_filter-2021-236-11h18m30s.logp +21-236-11:38:48.173 00 UT_RUNPROC/293 write "Creating filtered output log (without SFDUs) at " & %env("WORK") ;; +21-236-11:38:48.173 00 UT_RUNPROC/294 & test_log_string & log_name & "s" +21-236-11:38:48.173 00 SPR-I:OPRO Creating filtered output log (without SFDUs) at /s/opr/accounts/cfs_test/test_logs/DS2.6.0/scx_cpu1_ds_filter-2021-236-11h18m30s.logs +21-236-11:38:48.174 00 UT_RUNPROC/295 write "Creating filtered event log at " & %env("WORK") & test_log_string ;; +21-236-11:38:48.174 00 UT_RUNPROC/296 & log_name & "e" +21-236-11:38:48.174 00 SPR-I:OPRO Creating filtered event log at /s/opr/accounts/cfs_test/test_logs/DS2.6.0/scx_cpu1_ds_filter-2021-236-11h18m30s.loge +21-236-11:38:48.174 00 UT_RUNPROC/297 write "Creating filtered requirements log at " & %env("WORK") ;; +21-236-11:38:48.174 00 UT_RUNPROC/298 & test_log_string & log_name & "r" +21-236-11:38:48.175 00 SPR-I:OPRO Creating filtered requirements log at /s/opr/accounts/cfs_test/test_logs/DS2.6.0/scx_cpu1_ds_filter-2021-236-11h18m30s.logr +21-236-11:38:48.175 00 UT_RUNPROC/299 +21-236-11:38:48.175 00 UT_RUNPROC/300 rstol_dir = "rstol 'newlog " & log_name & "'" +21-236-11:38:48.175 00 UT_RUNPROC/301 native(rstol_dir) +21-236-11:38:48.316 00 SPR-I:OPRI --> newlog scx_cpu1_ds_filter-2021-236-11h18m30s.log diff --git a/test_and_ground/results/Caelum/scx_cpu1_ds_filter-2021-236-11h18m30s.logp b/test_and_ground/results/Caelum/scx_cpu1_ds_filter-2021-236-11h18m30s.logp new file mode 100644 index 0000000..fdd9624 --- /dev/null +++ b/test_and_ground/results/Caelum/scx_cpu1_ds_filter-2021-236-11h18m30s.logp @@ -0,0 +1,1897 @@ +21-236-11:18:30.145 00 SPR-I:OPRO ****************** FSW Configuration ****************** +21-236-11:18:30.145 00 SPR-I:OPRO Checksum: 29237 +21-236-11:18:30.145 00 SPR-I:OPRO cFE Version: 6.7.99.0 +21-236-11:18:30.145 00 SPR-I:OPRO OS Version: 5.0.0.255 +21-236-11:18:30.146 00 SPR-I:OPRO +21-236-11:18:30.147 00 SPR-I:OPRO Connection Status +21-236-11:18:30.147 00 SPR-I:OPRO ----------------- +21-236-11:18:30.147 00 SPR-I:OPRO CFDP: DOWN +21-236-11:18:30.147 00 SPR-I:OPRO UDP: UP +21-236-11:18:30.147 00 SPR-I:OPRO SWTS: UNK +21-236-11:18:30.148 00 SPR-I:OPRO +21-236-11:18:30.148 00 SPR-I:OPRO CMD / TLM Path +21-236-11:18:30.148 00 SPR-I:OPRO -------------- +21-236-11:18:30.149 00 SPR-I:OPRO UDP +21-236-11:18:30.149 00 SPR-I:OPRO +21-236-11:18:30.149 00 SPR-I:OPRO +21-236-11:18:30.149 00 SPR-I:OPRO ASIST / GDS Configuration +21-236-11:18:30.149 00 SPR-I:OPRO ------------------------- +21-236-11:18:30.154 00 SPR-I:OPRO Workstation: GS582CFSLAB4 +21-236-11:18:30.154 00 SPR-I:OPRO Account: cfs_test +21-236-11:18:30.154 00 SPR-I:OPRO Version: 21.0.7 +21-236-11:18:30.154 00 SPR-I:OPRO Tlm DB: Version: 1.985 Date: 08-24-21 Time: 06:37:06 AM. +21-236-11:18:30.154 00 SPR-I:OPRO Cmd DB: Version: 1.51 Date: 08-24-21 Time: 06:47:31 AM.EDT +21-236-11:18:30.155 00 SPR-I:OPRO +21-236-11:18:30.155 00 SPR-I:OPRO Telemetry Info +21-236-11:18:30.155 00 SPR-I:OPRO -------------- +21-236-11:18:30.155 00 SPR-I:OPRO Pkt Loss Count: N/A +21-236-11:18:30.155 00 SPR-I:OPRO **************** End FSW Configuration *************** +21-236-11:18:30.156 00 SPR-I:OPRO Starting Procedure.... scx_cpu1_ds_filter +21-236-11:18:30.295 00 SPR-I:OPRI --> start scx_cpu1_ds_filter +21-236-11:18:30.296 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/scx_cpu1_ds_filter.i +21-236-11:18:30.306 00 SPR-I:STS Procedure SCX_CPU1_DS_FILTER started +21-236-11:18:30.763 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:18:30.763 00 SPR-I:OPRO ; Step 1.0: Data Storage Test Setup. +21-236-11:18:30.763 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:18:30.764 00 SPR-I:OPRO ; Step 1.1: Command a Power-on Reset on CPU1. +21-236-11:18:30.764 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:18:30.765 00 CMH-I:CMD Command is /SCX_CPU1_ES_POWERONRESET ;;; (SCX CPU1 ES Power-On Reset command code) +21-236-11:18:30.765 00 CMH-I:CMD Command SFDU received:<1806C000000302220002> from gs582cfslab4:SPR +21-236-11:18:30.776 00 SPR-I:STTE Wait mode - waiting 10 seconds ... +21-236-11:18:40.786 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/clear_spacecraft_status.i +21-236-11:18:40.787 00 SPR-I:STS Procedure CLEAR_SPACECRAFT_STATUS started +21-236-11:18:40.796 00 SPR-I:STS Procedure CLEAR_SPACECRAFT_STATUS completed +21-236-11:18:40.825 00 SPR-I:STTE Wait mode - waiting 60 seconds ... +21-236-11:19:40.880 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:19:46.849 00 CMH-I:STS Connected to FEDS:FEDS for commanding (internal ID 0). +21-236-11:19:50.892 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:19:50.894 00 CMH-I:CMD SFDU is /DDIR DATA="open udp_read C%03X 1235 packet_only" ;;; ( ) +21-236-11:19:50.910 00 CMH-I:CMD SFDU is /DDIR DATA="open udp_write CPKT cpu3 1234 ascii_pkt" ;;; ( ) +21-236-11:19:50.961 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/send_that_to_command.i +21-236-11:19:50.962 00 SPR-I:STS Procedure SEND_THAT_TO_COMMAND started +21-236-11:19:50.963 00 SPR-I:OPRO Sending: /SCX_CPU1_TO_OUTPUT_ENA gs582cfslab4 +21-236-11:19:50.963 00 CMH-I:CMD Command is /SCX_CPU1_TO_OUTPUT_ENA GS582CFSLAB4 ;;; (SCX CPU1 Enables TO output) +21-236-11:19:50.963 00 CMH-I:CMD Command SFDU received:<1880C0000011069A3139322E3136382E312E313031000000> from gs582cfslab4:SPR +21-236-11:19:51.014 00 SPR-I:STS Procedure SEND_THAT_TO_COMMAND completed +21-236-11:19:51.014 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:19:52.016 00 TLMH-I:STS 58-012-14:03:48.950 INFO CPU=CPU1 APPNAME=TO_LAB_APP EVENT ID=3 TO telemetry output enabled for IP 192.168.1.101 +21-236-11:19:55.019 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:19:55.019 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/fill_in_spacecraft_status.i +21-236-11:19:55.021 00 SPR-I:STS Procedure FILL_IN_SPACECRAFT_STATUS started +21-236-11:19:55.026 00 SPR-I:STS Procedure FILL_IN_SPACECRAFT_STATUS completed +21-236-11:19:55.026 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:20:00.031 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:20:00.031 00 SPR-I:OPRO ; Step 1.2: Upload the default DS table load images to CPU1. +21-236-11:20:00.031 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:20:00.031 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/scx_cpu1_ds_tbl3.i +21-236-11:20:00.034 00 SPR-I:STS Procedure SCX_CPU1_DS_TBL3 started +21-236-11:20:00.075 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:20:00.076 00 SPR-I:OPRO ; Step 1.0: Define DS Destination File And Packet Filter Tables. +21-236-11:20:00.076 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:20:00.080 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/create_tbl_file_from_cvt.i +21-236-11:20:00.081 00 SPR-I:STS Procedure CREATE_TBL_FILE_FROM_CVT started +21-236-11:20:00.082 00 SPR-I:OPRO ********** ds_filtfile.tbl ********** +21-236-11:20:00.082 00 SPR-I:OPRO +21-236-11:20:00.083 00 SPR-I:OPRO Content Type: cFE1 +21-236-11:20:00.083 00 SPR-I:OPRO Sub Type: 8 +21-236-11:20:00.083 00 SPR-I:OPRO Length: 12 +21-236-11:20:00.083 00 SPR-I:OPRO Spacecraft Id: SCX +21-236-11:20:00.083 00 SPR-I:OPRO Processor Id: CPU3 +21-236-11:20:00.083 00 SPR-I:OPRO Application Id: 3958 +21-236-11:20:00.083 00 SPR-I:OPRO Create Time Secs: 1629804000 +21-236-11:20:00.083 00 SPR-I:OPRO Create Time Subsecs: 0 +21-236-11:20:00.083 00 SPR-I:OPRO File Description: File Write Test File Table +21-236-11:20:00.083 00 SPR-I:OPRO +21-236-11:20:00.083 00 SPR-I:OPRO ********** DS.FILE_TBL ********** +21-236-11:20:00.083 00 SPR-I:OPRO +21-236-11:20:00.083 00 SPR-I:OPRO Start Mnemonic: SCX_CPU1_DS_DF_TBL_Description +21-236-11:20:00.083 00 SPR-I:OPRO Byte Offset: 0 +21-236-11:20:00.083 00 SPR-I:OPRO End Mnemonic: SCX_CPU1_DS_DF_TBL[7].SeqCnt +21-236-11:20:00.084 00 SPR-I:OPRO Number of Bytes: 1760 +21-236-11:20:00.084 00 SPR-I:OPRO +21-236-11:20:00.089 00 SPR-I:STS Loading file /s/opr/accounts/global/prc/partial_cvt_to_file_beta.i +21-236-11:20:00.089 00 SPR-I:STS Procedure PARTIAL_CVT_TO_FILE_BETA started +21-236-11:20:00.090 00 SPR-I:OPRO The unix command is cd /s/opr/accounts/cfs_test/image;cvt2file -s 116 -e 1875 P0F76 ds.file_tbl +21-236-11:20:00.093 00 SPR-I:STS Procedure PARTIAL_CVT_TO_FILE_BETA completed +21-236-11:20:00.094 00 SPR-I:OPRO cd /s/opr/accounts/cfs_test/image;cat ds_filtfile.tbl.tmp ds.file_tbl > ds_filtfile.tbl +21-236-11:20:00.097 00 SPR-I:OPRO cd /s/opr/accounts/cfs_test/image;rm ds.file_tbl ds_filtfile.tbl.tmp +21-236-11:20:00.101 00 SPR-I:STS Procedure CREATE_TBL_FILE_FROM_CVT completed +21-236-11:20:00.577 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/create_tbl_file_from_cvt.i +21-236-11:20:00.577 00 SPR-I:STS Procedure CREATE_TBL_FILE_FROM_CVT started +21-236-11:20:00.579 00 SPR-I:OPRO ********** ds_filtfilter.tbl ********** +21-236-11:20:00.579 00 SPR-I:OPRO +21-236-11:20:00.579 00 SPR-I:OPRO Content Type: cFE1 +21-236-11:20:00.579 00 SPR-I:OPRO Sub Type: 8 +21-236-11:20:00.579 00 SPR-I:OPRO Length: 12 +21-236-11:20:00.579 00 SPR-I:OPRO Spacecraft Id: SCX +21-236-11:20:00.580 00 SPR-I:OPRO Processor Id: CPU3 +21-236-11:20:00.580 00 SPR-I:OPRO Application Id: 3959 +21-236-11:20:00.580 00 SPR-I:OPRO Create Time Secs: 1629804000 +21-236-11:20:00.580 00 SPR-I:OPRO Create Time Subsecs: 0 +21-236-11:20:00.580 00 SPR-I:OPRO File Description: Filter Test Filter Table +21-236-11:20:00.580 00 SPR-I:OPRO +21-236-11:20:00.580 00 SPR-I:OPRO ********** DS.FILTER_TBL ********** +21-236-11:20:00.580 00 SPR-I:OPRO +21-236-11:20:00.580 00 SPR-I:OPRO Start Mnemonic: SCX_CPU1_DS_PF_TBL_Description +21-236-11:20:00.580 00 SPR-I:OPRO Byte Offset: 0 +21-236-11:20:00.580 00 SPR-I:OPRO End Mnemonic: SCX_CPU1_DS_PF_TBL[255].FilterParams[3].O_Value +21-236-11:20:00.580 00 SPR-I:OPRO Number of Bytes: 9248 +21-236-11:20:00.580 00 SPR-I:OPRO +21-236-11:20:00.585 00 SPR-I:STS Loading file /s/opr/accounts/global/prc/partial_cvt_to_file_beta.i +21-236-11:20:00.585 00 SPR-I:STS Procedure PARTIAL_CVT_TO_FILE_BETA started +21-236-11:20:00.586 00 SPR-I:OPRO The unix command is cd /s/opr/accounts/cfs_test/image;cvt2file -s 116 -e 9363 P0F77 ds.filter_tbl +21-236-11:20:00.589 00 SPR-I:STS Procedure PARTIAL_CVT_TO_FILE_BETA completed +21-236-11:20:00.590 00 SPR-I:OPRO cd /s/opr/accounts/cfs_test/image;cat ds_filtfilter.tbl.tmp ds.filter_tbl > ds_filtfilter.tbl +21-236-11:20:00.593 00 SPR-I:OPRO cd /s/opr/accounts/cfs_test/image;rm ds.filter_tbl ds_filtfilter.tbl.tmp +21-236-11:20:00.597 00 SPR-I:STS Procedure CREATE_TBL_FILE_FROM_CVT completed +21-236-11:20:00.598 00 SPR-I:OPRO ;********************************************************************* +21-236-11:20:00.598 00 SPR-I:OPRO ; End procedure SCX_CPU1_ds_tbl3 +21-236-11:20:00.598 00 SPR-I:OPRO ;********************************************************************* +21-236-11:20:00.598 00 SPR-I:STS Procedure SCX_CPU1_DS_TBL3 completed +21-236-11:20:00.605 00 SPR-I:OPRO ==> Default Filter Table filename = 'ds_filter_tbl.tbl' +21-236-11:20:00.605 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/load_table.i +21-236-11:20:00.606 00 SPR-I:STS Procedure LOAD_TABLE started +21-236-11:20:00.607 00 SPR-I:OPRO Table Filename: ds_filtfile.tbl +21-236-11:20:00.608 00 SPR-I:OPRO The perl command is: perl /s/opr/accounts/global/tools/table_ftp.pl 192.168.1.8 ds_filtfile.tbl RAM:0 3 +21-236-11:20:00.608 00 SPR-I:OPRO +21-236-11:20:00.731 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-11:20:00.732 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:20:05.736 00 SPR-I:OPRO +21-236-11:20:05.738 00 SPR-I:OPRO Sending Command: /SCX_CPU1_TBL_LOAD LFILENAME="/ram/ds_filtfile.tbl" +21-236-11:20:05.740 00 CMH-I:CMD Command is /SCX_CPU1_TBL_LOAD LFILENAME="/ram/ds_filtfile.tbl" ;;; (SCX CPU1 TBL load table command) +21-236-11:20:05.740 00 CMH-I:CMD Command SFDU received:<1804C000004102132F72616D2F64735F66696C7466696C652E74626C0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-236-11:20:05.755 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:20:06.520 00 TLMH-I:STS 58-012-14:04:03.501 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=12 Successful load of '/ram/ds_filtfile.tbl' into 'DS.FILE_TBL' working buffer +21-236-11:20:07.757 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:20:07.759 00 SPR-I:STS Procedure LOAD_TABLE completed +21-236-11:20:07.760 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:20:12.765 00 CMH-I:CMD Command is /SCX_CPU1_TBL_VALIDATE INACTIVE VTABLENAME="DS.FILE_TBL" ;;; (SCX CPU1 TBL validate table command) +21-236-11:20:12.765 00 CMH-I:CMD Command SFDU received:<1804C000002B0436000044532E46494C455F54424C0000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-236-11:20:12.779 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:20:15.024 00 TLMH-I:STS 58-012-14:04:12.007 INFO CPU=CPU1 APPNAME=DS EVENT ID=10 Destination file table verify results: desc text = OK, good entries = 8, bad = 0, unused = 8 +21-236-11:20:15.025 00 TLMH-I:STS 58-012-14:04:12.007 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=36 DS validation successful for Inactive 'DS.FILE_TBL' +21-236-11:20:17.792 00 CMH-I:CMD Command is /SCX_CPU1_TBL_ACTIVATE ATABLENAME="DS.FILE_TBL" ;;; (SCX CPU1 TBL activate table command) +21-236-11:20:17.792 00 CMH-I:CMD Command SFDU received:<1804C0000029053544532E46494C455F54424C0000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-236-11:20:17.805 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:20:19.022 00 TLMH-I:STS 58-012-14:04:16.007 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=37 DS Successfully Updated 'DS.FILE_TBL' +21-236-11:20:22.811 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/load_table.i +21-236-11:20:22.812 00 SPR-I:STS Procedure LOAD_TABLE started +21-236-11:20:22.815 00 SPR-I:OPRO Table Filename: ds_filtfilter.tbl +21-236-11:20:22.817 00 SPR-I:OPRO The perl command is: perl /s/opr/accounts/global/tools/table_ftp.pl 192.168.1.8 ds_filtfilter.tbl RAM:0 3 +21-236-11:20:22.817 00 SPR-I:OPRO +21-236-11:20:22.962 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-11:20:22.962 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:20:27.967 00 SPR-I:OPRO +21-236-11:20:27.967 00 SPR-I:OPRO Sending Command: /SCX_CPU1_TBL_LOAD LFILENAME="/ram/ds_filtfilter.tbl" +21-236-11:20:27.968 00 CMH-I:CMD Command is /SCX_CPU1_TBL_LOAD LFILENAME="/ram/ds_filtfilter.tbl" ;;; (SCX CPU1 TBL load table command) +21-236-11:20:27.968 00 CMH-I:CMD Command SFDU received:<1804C000004102152F72616D2F64735F66696C7466696C7465722E74626C000000000000000000000000000000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-236-11:20:27.981 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:20:28.518 00 TLMH-I:STS 58-012-14:04:25.501 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=12 Successful load of '/ram/ds_filtfilter.tbl' into 'DS.FILTER_TBL' working buffer +21-236-11:20:31.986 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:20:31.988 00 SPR-I:STS Procedure LOAD_TABLE completed +21-236-11:20:31.989 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:20:36.994 00 CMH-I:CMD Command is /SCX_CPU1_TBL_VALIDATE INACTIVE VTABLENAME="DS.FILTER_TBL" ;;; (SCX CPU1 TBL validate table command) +21-236-11:20:36.994 00 CMH-I:CMD Command SFDU received:<1804C000002B0430000044532E46494C5445525F54424C000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-236-11:20:37.008 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:20:39.021 00 TLMH-I:STS 58-012-14:04:36.007 INFO CPU=CPU1 APPNAME=DS EVENT ID=12 Filter table verify results: desc text = OK, good entries = 6, bad = 0, unused = 250 +21-236-11:20:39.022 00 TLMH-I:STS 58-012-14:04:36.007 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=36 DS validation successful for Inactive 'DS.FILTER_TBL' +21-236-11:20:42.013 00 CMH-I:CMD Command is /SCX_CPU1_TBL_ACTIVATE ATABLENAME="DS.FILTER_TBL" ;;; (SCX CPU1 TBL activate table command) +21-236-11:20:42.013 00 CMH-I:CMD Command SFDU received:<1804C0000029053344532E46494C5445525F54424C000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-236-11:20:42.026 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:20:43.017 00 TLMH-I:STS 58-012-14:04:40.008 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=37 DS Successfully Updated 'DS.FILTER_TBL' +21-236-11:20:47.031 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:20:47.031 00 SPR-I:OPRO ; Step 1.3: Display the Housekeeping pages +21-236-11:20:47.032 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:20:47.130 00 DPD-I:STS Page SCX_CPU1_DS_HK added (cid:1). +21-236-11:20:47.202 00 DPD-I:STS Page SCX_CPU1_TST_DS_HK added (cid:1). +21-236-11:20:47.282 00 DPD-I:STS Page SCX_CPU1_DS_FILTER_TBL added (cid:1). +21-236-11:20:47.380 00 DPD-I:STS Page SCX_CPU1_DS_FILE_TBL added (cid:1). +21-236-11:20:47.384 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:20:47.384 00 SPR-I:OPRO ; Step 1.4: Start the Data Storage (DS) and Test Applications. +21-236-11:20:47.384 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:20:47.388 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:20:55.397 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:20:55.400 00 SPR-I:OPRO <*> Passed (8000) - Housekeeping packet is being generated. +21-236-11:20:55.403 00 SPR-I:OPRO Failed (9000) - Housekeeping telemetry NOT initialized properly at startup. +21-236-11:20:55.403 00 SPR-I:OPRO CMDPC = 0 +21-236-11:20:55.403 00 SPR-I:OPRO CMDEC = 0 +21-236-11:20:55.404 00 SPR-I:OPRO Disabled Pkts = 0 +21-236-11:20:55.404 00 SPR-I:OPRO Failed Filter Pkts = 0 +21-236-11:20:55.404 00 SPR-I:OPRO Passed Filter Pkts = 131 +21-236-11:20:55.415 00 SPR-I:OPRO Good i/o writes = 311 +21-236-11:20:55.415 00 SPR-I:OPRO Bad i/o writes = 0 +21-236-11:20:55.415 00 SPR-I:OPRO Good hdr writes = 33 +21-236-11:20:55.415 00 SPR-I:OPRO Bad hdr writes = 0 +21-236-11:20:55.415 00 SPR-I:OPRO Dest Tbl Loads = 2 +21-236-11:20:55.415 00 SPR-I:OPRO Dest Tbl ptr fails = 0 +21-236-11:20:55.415 00 SPR-I:OPRO Filter Tbl Loads = 2 +21-236-11:20:55.416 00 SPR-I:OPRO Filter Tbl ptr fails = 0 +21-236-11:20:55.416 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:21:00.420 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:21:00.420 00 SPR-I:OPRO ; Step 1.5: Enable DEBUG Event Messages +21-236-11:21:00.421 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:21:00.423 00 CMH-I:CMD Command is /SCX_CPU1_EVS_ENAAPPEVTTYPE APPLICATION="DS" DEBUG ;;; (SCX CPU1 EVS Enable Event Type for the App) +21-236-11:21:00.423 00 CMH-I:CMD Or Command is /SCX_CPU1_EVS_ENAAPPEVTTYPEMASK APPLICATION="DS" BITMASK= 1 (x1) ;;; (SCX CPU1 EVS Enable Event Type for the App (mask)) +21-236-11:21:00.423 00 CMH-I:CMD Command SFDU received:<1801C0000017052244530000000000000000000000000000000000000100> from gs582cfslab4:SPR +21-236-11:21:00.449 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:21:03.455 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:21:03.457 00 SPR-I:OPRO <*> Passed - Enable Debug events command sent properly. +21-236-11:21:03.458 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:21:03.458 00 SPR-I:OPRO ; Step 1.6: Dump the Packet Filter Table. +21-236-11:21:03.458 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:21:03.459 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/get_tbl_to_cvt.i +21-236-11:21:03.461 00 SPR-I:STS Procedure GET_TBL_TO_CVT started +21-236-11:21:03.466 00 SPR-I:OPRO Sending Command: /SCX_CPU1_TBL_DUMP ACTIVE DTABLENAME="DS.FILTER_TBL" DFILENAME="/ram/cpu1_filtertbl16" +21-236-11:21:03.466 00 CMH-I:CMD Command is /SCX_CPU1_TBL_DUMP ACTIVE DTABLENAME="DS.FILTER_TBL" DFILENAME="/ram/cpu1_filtertbl16" ;;; (SCX CPU1 TBL dump table command) +21-236-11:21:03.466 00 CMH-I:CMD Command SFDU received:<1804C000006B037D000144532E46494C5445525F54424C0000000000000000000000000000000000000000000000000000002F72616D2F637075315F66696C74657274626C313600000000000000000000000000000000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-236-11:21:03.477 00 SPR-I:STTE Wait mode - waiting 15 seconds ... +21-236-11:21:04.022 00 TLMH-I:STS 58-012-14:05:01.003 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=14 Successfully dumped Table 'DS.FILTER_TBL' to '/ram/cpu1_filtertbl16' +21-236-11:21:18.487 00 SPR-I:OPRO +21-236-11:21:18.487 00 SPR-I:OPRO The TBLNAME is: DS.FILTER_TBL +21-236-11:21:18.487 00 SPR-I:OPRO The APID is: P0F77 +21-236-11:21:18.487 00 SPR-I:OPRO The CPU is: CPU3 +21-236-11:21:18.488 00 SPR-I:OPRO The IP Address is: 192.168.1.8 +21-236-11:21:18.491 00 SPR-I:OPRO The perl command is: perl /s/opr/accounts/global/tools/ftp.pl RAM:0 cpu1_filtertbl16 cpu1_filtertbl16 binary 192.168.1.8 +21-236-11:21:18.675 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-11:21:18.675 00 SPR-I:STTE Wait mode - waiting 15 seconds ... +21-236-11:21:20.686 00 SPR-I:OPRI --> page SCX_CPU1_DS_FILE_HK +21-236-11:21:20.745 00 DPD-I:STS Page SCX_CPU1_DS_FILE_HK added (cid:1). +21-236-11:21:33.756 00 SPR-I:OPRO +21-236-11:21:33.780 00 SPR-I:OPRO The unix command is cvt -ws file_list[3959].file_write_time "`date +%y-%j-%T -r /s/opr/accounts/cfs_test/image/cpu1_filtertbl16`" +21-236-11:21:33.780 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:21:38.785 00 SPR-I:STS Procedure GET_TBL_TO_CVT completed +21-236-11:21:38.786 00 SPR-I:OPRO ==> MessageID = 0900 +21-236-11:21:38.788 00 SPR-I:OPRO ==> File Index = 0 +21-236-11:21:38.788 00 SPR-I:OPRO ==> Filter Type = 1 +21-236-11:21:38.789 00 SPR-I:OPRO ==> N Value = 1 +21-236-11:21:38.790 00 SPR-I:OPRO ==> X Value = 1 +21-236-11:21:38.790 00 SPR-I:OPRO ==> O Value = 0 +21-236-11:21:38.815 00 SPR-I:OPRO ==> File Index = 1 +21-236-11:21:38.816 00 SPR-I:OPRO ==> Filter Type = 1 +21-236-11:21:38.816 00 SPR-I:OPRO ==> N Value = 1 +21-236-11:21:38.817 00 SPR-I:OPRO ==> X Value = 1 +21-236-11:21:38.817 00 SPR-I:OPRO ==> O Value = 0 +21-236-11:21:38.819 00 SPR-I:OPRO ==> File Index = 2 +21-236-11:21:38.819 00 SPR-I:OPRO ==> Filter Type = 1 +21-236-11:21:38.820 00 SPR-I:OPRO ==> N Value = 1 +21-236-11:21:38.820 00 SPR-I:OPRO ==> X Value = 1 +21-236-11:21:38.821 00 SPR-I:OPRO ==> O Value = 0 +21-236-11:21:38.822 00 SPR-I:OPRO ==> File Index = 3 +21-236-11:21:38.822 00 SPR-I:OPRO ==> Filter Type = 1 +21-236-11:21:38.823 00 SPR-I:OPRO ==> N Value = 1 +21-236-11:21:38.823 00 SPR-I:OPRO ==> X Value = 1 +21-236-11:21:38.826 00 SPR-I:OPRO ==> O Value = 0 +21-236-11:21:38.827 00 SPR-I:OPRO ==> MessageID = 0901 +21-236-11:21:38.828 00 SPR-I:OPRO ==> File Index = 4 +21-236-11:21:38.828 00 SPR-I:OPRO ==> Filter Type = 2 +21-236-11:21:38.829 00 SPR-I:OPRO ==> N Value = 1 +21-236-11:21:38.829 00 SPR-I:OPRO ==> X Value = 1 +21-236-11:21:38.829 00 SPR-I:OPRO ==> O Value = 0 +21-236-11:21:38.840 00 SPR-I:OPRO ==> File Index = 5 +21-236-11:21:38.840 00 SPR-I:OPRO ==> Filter Type = 2 +21-236-11:21:38.840 00 SPR-I:OPRO ==> N Value = 1 +21-236-11:21:38.840 00 SPR-I:OPRO ==> X Value = 1 +21-236-11:21:38.840 00 SPR-I:OPRO ==> O Value = 0 +21-236-11:21:38.841 00 SPR-I:OPRO ==> File Index = 6 +21-236-11:21:38.841 00 SPR-I:OPRO ==> Filter Type = 2 +21-236-11:21:38.841 00 SPR-I:OPRO ==> N Value = 1 +21-236-11:21:38.842 00 SPR-I:OPRO ==> X Value = 1 +21-236-11:21:38.842 00 SPR-I:OPRO ==> O Value = 0 +21-236-11:21:38.842 00 SPR-I:OPRO ==> File Index = 7 +21-236-11:21:38.842 00 SPR-I:OPRO ==> Filter Type = 2 +21-236-11:21:38.843 00 SPR-I:OPRO ==> N Value = 1 +21-236-11:21:38.843 00 SPR-I:OPRO ==> X Value = 1 +21-236-11:21:38.849 00 SPR-I:OPRO ==> O Value = 0 +21-236-11:21:38.850 00 SPR-I:OPRO ==> MessageID = 0902 +21-236-11:21:38.850 00 SPR-I:OPRO ==> File Index = 0 +21-236-11:21:38.850 00 SPR-I:OPRO ==> Filter Type = 1 +21-236-11:21:38.851 00 SPR-I:OPRO ==> N Value = 1 +21-236-11:21:38.851 00 SPR-I:OPRO ==> X Value = 3 +21-236-11:21:38.851 00 SPR-I:OPRO ==> O Value = 0 +21-236-11:21:38.858 00 SPR-I:OPRO ==> MessageID = 0903 +21-236-11:21:38.858 00 SPR-I:OPRO ==> File Index = 1 +21-236-11:21:38.858 00 SPR-I:OPRO ==> Filter Type = 1 +21-236-11:21:38.858 00 SPR-I:OPRO ==> N Value = 1 +21-236-11:21:38.858 00 SPR-I:OPRO ==> X Value = 1 +21-236-11:21:38.858 00 SPR-I:OPRO ==> O Value = 0 +21-236-11:21:38.864 00 SPR-I:OPRO ==> MessageID = 0904 +21-236-11:21:38.865 00 SPR-I:OPRO ==> File Index = 4 +21-236-11:21:38.865 00 SPR-I:OPRO ==> Filter Type = 1 +21-236-11:21:38.865 00 SPR-I:OPRO ==> N Value = 1 +21-236-11:21:38.865 00 SPR-I:OPRO ==> X Value = 1 +21-236-11:21:38.865 00 SPR-I:OPRO ==> O Value = 0 +21-236-11:21:38.874 00 SPR-I:OPRO ==> MessageID = 0905 +21-236-11:21:38.875 00 SPR-I:OPRO ==> File Index = 1 +21-236-11:21:38.875 00 SPR-I:OPRO ==> Filter Type = 2 +21-236-11:21:38.875 00 SPR-I:OPRO ==> N Value = 1 +21-236-11:21:38.875 00 SPR-I:OPRO ==> X Value = 1 +21-236-11:21:38.875 00 SPR-I:OPRO ==> O Value = 0 +21-236-11:21:38.877 00 SPR-I:OPRO <*> Passed (2000.1) - The Packet Filter Table contains 6 valid entries. +21-236-11:21:38.883 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:21:43.887 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:21:43.887 00 SPR-I:OPRO ; Step 1.7: Dump the Destination File Table. +21-236-11:21:43.887 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:21:43.888 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/get_tbl_to_cvt.i +21-236-11:21:43.891 00 SPR-I:STS Procedure GET_TBL_TO_CVT started +21-236-11:21:43.910 00 SPR-I:OPRO Sending Command: /SCX_CPU1_TBL_DUMP ACTIVE DTABLENAME="DS.FILE_TBL" DFILENAME="/ram/cpu1_filetbl17" +21-236-11:21:43.911 00 CMH-I:CMD Command is /SCX_CPU1_TBL_DUMP ACTIVE DTABLENAME="DS.FILE_TBL" DFILENAME="/ram/cpu1_filetbl17" ;;; (SCX CPU1 TBL dump table command) +21-236-11:21:43.911 00 CMH-I:CMD Command SFDU received:<1804C000006B037C000144532E46494C455F54424C00000000000000000000000000000000000000000000000000000000002F72616D2F637075315F66696C6574626C3137000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-236-11:21:43.926 00 SPR-I:STTE Wait mode - waiting 15 seconds ... +21-236-11:21:44.516 00 TLMH-I:STS 58-012-14:05:41.502 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=14 Successfully dumped Table 'DS.FILE_TBL' to '/ram/cpu1_filetbl17' +21-236-11:21:58.937 00 SPR-I:OPRO +21-236-11:21:58.937 00 SPR-I:OPRO The TBLNAME is: DS.FILE_TBL +21-236-11:21:58.937 00 SPR-I:OPRO The APID is: P0F76 +21-236-11:21:58.937 00 SPR-I:OPRO The CPU is: CPU3 +21-236-11:21:58.937 00 SPR-I:OPRO The IP Address is: 192.168.1.8 +21-236-11:21:58.938 00 SPR-I:OPRO The perl command is: perl /s/opr/accounts/global/tools/ftp.pl RAM:0 cpu1_filetbl17 cpu1_filetbl17 binary 192.168.1.8 +21-236-11:21:59.076 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-11:21:59.076 00 SPR-I:STTE Wait mode - waiting 15 seconds ... +21-236-11:22:14.087 00 SPR-I:OPRO +21-236-11:22:14.133 00 SPR-I:OPRO The unix command is cvt -ws file_list[3958].file_write_time "`date +%y-%j-%T -r /s/opr/accounts/cfs_test/image/cpu1_filetbl17`" +21-236-11:22:14.136 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:22:19.141 00 SPR-I:STS Procedure GET_TBL_TO_CVT completed +21-236-11:22:19.144 00 SPR-I:OPRO ==> Pathname = '/ram/' +21-236-11:22:19.144 00 SPR-I:OPRO ==> Basename = 'seq1' +21-236-11:22:19.144 00 SPR-I:OPRO ==> Extension = '.dat' +21-236-11:22:19.145 00 SPR-I:OPRO ==> Name Type = Count +21-236-11:22:19.145 00 SPR-I:OPRO ==> State = Enabled +21-236-11:22:19.146 00 SPR-I:OPRO ==> Max Size = 1024 +21-236-11:22:19.146 00 SPR-I:OPRO ==> Max Age = 600 +21-236-11:22:19.146 00 SPR-I:OPRO ==> Seq Count = 100 +21-236-11:22:19.172 00 SPR-I:OPRO ==> Pathname = '/ram/' +21-236-11:22:19.173 00 SPR-I:OPRO ==> Basename = 'seq2' +21-236-11:22:19.173 00 SPR-I:OPRO ==> Extension = '.dat' +21-236-11:22:19.174 00 SPR-I:OPRO ==> Name Type = Count +21-236-11:22:19.174 00 SPR-I:OPRO ==> State = Enabled +21-236-11:22:19.174 00 SPR-I:OPRO ==> Max Size = 1024 +21-236-11:22:19.175 00 SPR-I:OPRO ==> Max Age = 600 +21-236-11:22:19.175 00 SPR-I:OPRO ==> Seq Count = 200 +21-236-11:22:19.176 00 SPR-I:OPRO ==> Pathname = '/ram/' +21-236-11:22:19.177 00 SPR-I:OPRO ==> Basename = 'seq3' +21-236-11:22:19.177 00 SPR-I:OPRO ==> Extension = '.dat' +21-236-11:22:19.178 00 SPR-I:OPRO ==> Name Type = Count +21-236-11:22:19.178 00 SPR-I:OPRO ==> State = Enabled +21-236-11:22:19.178 00 SPR-I:OPRO ==> Max Size = 1024 +21-236-11:22:19.179 00 SPR-I:OPRO ==> Max Age = 600 +21-236-11:22:19.179 00 SPR-I:OPRO ==> Seq Count = 300 +21-236-11:22:19.182 00 SPR-I:OPRO ==> Pathname = '/ram/' +21-236-11:22:19.182 00 SPR-I:OPRO ==> Basename = 'seq4' +21-236-11:22:19.183 00 SPR-I:OPRO ==> Extension = '.dat' +21-236-11:22:19.184 00 SPR-I:OPRO ==> Name Type = Count +21-236-11:22:19.184 00 SPR-I:OPRO ==> State = Enabled +21-236-11:22:19.184 00 SPR-I:OPRO ==> Max Size = 1024 +21-236-11:22:19.184 00 SPR-I:OPRO ==> Max Age = 600 +21-236-11:22:19.184 00 SPR-I:OPRO ==> Seq Count = 400 +21-236-11:22:19.185 00 SPR-I:OPRO ==> Pathname = '/ram/' +21-236-11:22:19.186 00 SPR-I:OPRO ==> Basename = 'time1' +21-236-11:22:19.186 00 SPR-I:OPRO ==> Extension = '' +21-236-11:22:19.186 00 SPR-I:OPRO ==> Name Type = Time +21-236-11:22:19.186 00 SPR-I:OPRO ==> State = Enabled +21-236-11:22:19.186 00 SPR-I:OPRO ==> Max Size = 1024 +21-236-11:22:19.187 00 SPR-I:OPRO ==> Max Age = 60 +21-236-11:22:19.187 00 SPR-I:OPRO ==> Seq Count = 0 +21-236-11:22:19.199 00 SPR-I:OPRO ==> Pathname = '/ram/' +21-236-11:22:19.199 00 SPR-I:OPRO ==> Basename = 'time2' +21-236-11:22:19.199 00 SPR-I:OPRO ==> Extension = '' +21-236-11:22:19.199 00 SPR-I:OPRO ==> Name Type = Time +21-236-11:22:19.199 00 SPR-I:OPRO ==> State = Enabled +21-236-11:22:19.199 00 SPR-I:OPRO ==> Max Size = 1024 +21-236-11:22:19.199 00 SPR-I:OPRO ==> Max Age = 60 +21-236-11:22:19.200 00 SPR-I:OPRO ==> Seq Count = 0 +21-236-11:22:19.200 00 SPR-I:OPRO ==> Pathname = '/ram/' +21-236-11:22:19.200 00 SPR-I:OPRO ==> Basename = 'time3' +21-236-11:22:19.202 00 SPR-I:OPRO ==> Extension = '' +21-236-11:22:19.202 00 SPR-I:OPRO ==> Name Type = Time +21-236-11:22:19.202 00 SPR-I:OPRO ==> State = Enabled +21-236-11:22:19.202 00 SPR-I:OPRO ==> Max Size = 1024 +21-236-11:22:19.203 00 SPR-I:OPRO ==> Max Age = 60 +21-236-11:22:19.203 00 SPR-I:OPRO ==> Seq Count = 0 +21-236-11:22:19.203 00 SPR-I:OPRO ==> Pathname = '/ram/' +21-236-11:22:19.209 00 SPR-I:OPRO ==> Basename = 'time4' +21-236-11:22:19.209 00 SPR-I:OPRO ==> Extension = '' +21-236-11:22:19.209 00 SPR-I:OPRO ==> Name Type = Time +21-236-11:22:19.209 00 SPR-I:OPRO ==> State = Enabled +21-236-11:22:19.209 00 SPR-I:OPRO ==> Max Size = 1024 +21-236-11:22:19.209 00 SPR-I:OPRO ==> Max Age = 60 +21-236-11:22:19.209 00 SPR-I:OPRO ==> Seq Count = 0 +21-236-11:22:19.211 00 SPR-I:OPRO <*> Passed (2000.2) - The Destination File Table contains 8 valid entries. +21-236-11:22:19.212 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:22:24.215 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:22:24.215 00 SPR-I:OPRO ; Step 2.0: Message Filtering Test. +21-236-11:22:24.216 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:22:24.216 00 SPR-I:OPRO ; Step 2.1: Utilizing the TST_DS application, send valid messages to +21-236-11:22:24.216 00 SPR-I:OPRO ; the DS application using an entry that specifies Sequence filtering +21-236-11:22:24.216 00 SPR-I:OPRO ; and the maximum number of Destination File entries. +21-236-11:22:24.216 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:22:24.217 00 SPR-I:OPRO ; Step 2.1.1: Parse the tables to find an entry to use. +21-236-11:22:24.217 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:22:24.264 00 SPR-I:OPRO ==> Found filter entry at 0 +21-236-11:22:24.265 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:22:29.268 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:22:29.268 00 SPR-I:OPRO ; Step 2.1.2: Send the TST_DS command to send a message to DS using the +21-236-11:22:29.269 00 SPR-I:OPRO ; MessageID found above. Send a message that will not exceed the file +21-236-11:22:29.269 00 SPR-I:OPRO ; size constraint. The HK should contain info about the files opened. +21-236-11:22:29.269 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:22:29.274 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:22:29.274 00 SPR-I:OPRO ; Setup event 1 with TST_DS INFO 5 +21-236-11:22:29.274 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:22:29.275 00 CMH-I:CMD Command is /SCX_CPU1_TST_DS_SENDMESSAGE MSGID= 2304 (x900) MSGTYPE= 1 (x1) PATTERN= 90 (x5A) ;;; (SCX CPU1 TST_DS Send Message command code) +21-236-11:22:29.275 00 CMH-I:CMD Command SFDU received:<1943C0000009033D00000900015A0000> from gs582cfslab4:SPR +21-236-11:22:29.289 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:22:30.015 00 TLMH-I:STS 58-012-14:06:27.003 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Message Size 116 to MID 0x00000900 +21-236-11:22:30.290 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:22:30.292 00 SPR-I:OPRO <*> Passed - Expected Event Msg 5 rcv'd. +21-236-11:22:30.295 00 CMH-I:CMD Command is /SCX_CPU1_DS_GETFILEINFO ;;; (The Get File Info command) +21-236-11:22:30.295 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-11:22:30.327 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:22:31.018 00 TLMH-I:STS 58-012-14:06:28.003 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-11:22:31.328 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:22:31.330 00 SPR-I:OPRO <*> Passed (2000) - Passed packet counter incremented properly. +21-236-11:22:31.337 00 SPR-I:OPRO <*> Passed - A file was created with name '/ram/seq100000100.dat' for entry #0 +21-236-11:22:31.350 00 SPR-I:OPRO <*> Passed - A file was created with name '/ram/seq200000204.dat' for entry #1 +21-236-11:22:31.351 00 SPR-I:OPRO <*> Passed - A file was created with name '/ram/seq300000300.dat' for entry #2 +21-236-11:22:31.352 00 SPR-I:OPRO <*> Passed - A file was created with name '/ram/seq400000400.dat' for entry #3 +21-236-11:22:31.353 00 SPR-I:OPRO <*> Passed (2002;2002.1;3000;3000.1;3000.1.1) - The maximum number of files for a single message were created. +21-236-11:22:31.379 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:22:36.384 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:22:36.384 00 SPR-I:OPRO ; Step 2.2: Utilizing the TST_DS application, send valid messages to +21-236-11:22:36.384 00 SPR-I:OPRO ; the DS application using an entry that specifies Time filtering and +21-236-11:22:36.384 00 SPR-I:OPRO ; the maximum number of Destination File entries. +21-236-11:22:36.384 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:22:36.385 00 SPR-I:OPRO ; Step 2.2.1: Parse the tables to find an entry to use. +21-236-11:22:36.385 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:22:36.440 00 SPR-I:OPRO ==> Found filter entry at 1 +21-236-11:22:36.440 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:22:41.444 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:22:41.444 00 SPR-I:OPRO ; Step 2.2.2: Send the TST_DS command to send a message to DS using the +21-236-11:22:41.444 00 SPR-I:OPRO ; MessageID found above. Send a message that will not exceed the file +21-236-11:22:41.445 00 SPR-I:OPRO ; size constraint. The HK should contain info about the files opened. +21-236-11:22:41.445 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:22:41.451 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:22:41.452 00 SPR-I:OPRO ; Setup event 1 with TST_DS INFO 5 +21-236-11:22:41.452 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:22:41.455 00 CMH-I:CMD Command is /SCX_CPU1_TST_DS_SENDMESSAGE MSGID= 2305 (x901) MSGTYPE= 1 (x1) PATTERN= 187 (xBB) ;;; (SCX CPU1 TST_DS Send Message command code) +21-236-11:22:41.455 00 CMH-I:CMD Command SFDU received:<1943C000000903DD0000090101BB0000> from gs582cfslab4:SPR +21-236-11:22:41.480 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:22:42.015 00 TLMH-I:STS 58-012-14:06:39.006 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Message Size 116 to MID 0x00000901 +21-236-11:22:42.481 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:22:42.483 00 SPR-I:OPRO <*> Passed - Expected Event Msg 5 rcv'd. +21-236-11:22:42.485 00 CMH-I:CMD Command is /SCX_CPU1_DS_GETFILEINFO ;;; (The Get File Info command) +21-236-11:22:42.485 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-11:22:42.512 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:22:43.017 00 TLMH-I:STS 58-012-14:06:40.003 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-11:22:43.513 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:22:43.515 00 SPR-I:OPRO <*> Passed (2000) - Passed packet counter incremented properly. +21-236-11:22:43.521 00 SPR-I:OPRO <*> Passed - A file was created with name '/ram/time11980012140639' for entry #0 +21-236-11:22:43.563 00 SPR-I:OPRO <*> Passed - A file was created with name '/ram/time21980012140639' for entry #1 +21-236-11:22:43.564 00 SPR-I:OPRO <*> Passed - A file was created with name '/ram/time31980012140639' for entry #2 +21-236-11:22:43.565 00 SPR-I:OPRO <*> Passed - A file was created with name '/ram/time41980012140639' for entry #3 +21-236-11:22:43.568 00 SPR-I:OPRO <*> Passed (2002;2002.1;3000;3000.2;3000.2.1) - The maximum number of files for a single message were created. +21-236-11:22:43.599 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:22:48.603 00 SPR-I:OPRO ;********************************************************************* +21-236-11:22:48.603 00 SPR-I:OPRO ; Step 2.3: Close the files opened above. +21-236-11:22:48.603 00 SPR-I:OPRO ;********************************************************************* +21-236-11:22:48.606 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:22:48.606 00 SPR-I:OPRO ; Setup event 1 with DS DEBUG 59 +21-236-11:22:48.606 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:22:48.607 00 CMH-I:CMD Command is /SCX_CPU1_DS_CLOSEFILE FILEINDEX= 0 (x0) ;;; (SCX CPU1 DS Close Destination File command) +21-236-11:22:48.608 00 CMH-I:CMD Command SFDU received:<18BBC00000050E9700000000> from gs582cfslab4:SPR +21-236-11:22:48.609 00 CMH-I:CMD Command is /SCX_CPU1_DS_CLOSEFILE FILEINDEX= 4 (x4) ;;; (SCX CPU1 DS Close Destination File command) +21-236-11:22:48.610 00 CMH-I:CMD Command SFDU received:<18BBC00000050E9300040000> from gs582cfslab4:SPR +21-236-11:22:48.663 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:22:49.520 00 TLMH-I:STS 58-012-14:06:46.501 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=59 DEST CLOSE command: file table index = 0 +21-236-11:22:49.521 00 TLMH-I:STS 58-012-14:06:46.501 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=59 DEST CLOSE command: file table index = 4 +21-236-11:22:51.666 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:22:51.668 00 SPR-I:OPRO <*> Passed (1004;5002) - DS Close File commands sent properly. +21-236-11:22:51.687 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:22:51.690 00 SPR-I:OPRO <*> Passed (1004;5002) - Expected Event Msg 59 rcv'd. +21-236-11:22:51.736 00 SPR-I:OPRO ==> Downloading '/ram/seq100000100.dat' +21-236-11:22:51.761 00 SPR-I:OPRO ==> FileName Only = 'seq100000100.dat' +21-236-11:22:51.761 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/ftp_file.i +21-236-11:22:51.761 00 SPR-I:STS Procedure FTP_FILE started +21-236-11:22:51.855 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-11:22:51.855 00 SPR-I:STS Procedure FTP_FILE completed +21-236-11:22:51.858 00 SPR-I:OPRO ==> Downloading '/ram/time11980012140639' +21-236-11:22:51.859 00 SPR-I:OPRO ==> FileName Only = 'time11980012140639' +21-236-11:22:51.884 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/ftp_file.i +21-236-11:22:51.884 00 SPR-I:STS Procedure FTP_FILE started +21-236-11:22:52.004 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-11:22:52.004 00 SPR-I:STS Procedure FTP_FILE completed +21-236-11:22:52.007 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:22:52.007 00 SPR-I:OPRO ; Setup event 1 with DS DEBUG 59 +21-236-11:22:52.007 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:22:52.008 00 CMH-I:CMD Command is /SCX_CPU1_DS_CLOSEFILE FILEINDEX= 1 (x1) ;;; (SCX CPU1 DS Close Destination File command) +21-236-11:22:52.008 00 CMH-I:CMD Command SFDU received:<18BBC00000050E9600010000> from gs582cfslab4:SPR +21-236-11:22:52.023 00 CMH-I:CMD Command is /SCX_CPU1_DS_CLOSEFILE FILEINDEX= 5 (x5) ;;; (SCX CPU1 DS Close Destination File command) +21-236-11:22:52.023 00 CMH-I:CMD Command SFDU received:<18BBC00000050E9200050000> from gs582cfslab4:SPR +21-236-11:22:52.086 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:22:52.521 00 TLMH-I:STS 58-012-14:06:49.501 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=59 DEST CLOSE command: file table index = 1 +21-236-11:22:52.523 00 TLMH-I:STS 58-012-14:06:49.501 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=59 DEST CLOSE command: file table index = 5 +21-236-11:22:55.089 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:22:55.091 00 SPR-I:OPRO <*> Passed (1004;5002) - DS Close File commands sent properly. +21-236-11:22:55.110 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:22:55.112 00 SPR-I:OPRO <*> Passed (1004;5002) - Expected Event Msg 59 rcv'd. +21-236-11:22:55.153 00 SPR-I:OPRO ==> Downloading '/ram/seq200000204.dat' +21-236-11:22:55.176 00 SPR-I:OPRO ==> FileName Only = 'seq200000204.dat' +21-236-11:22:55.176 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/ftp_file.i +21-236-11:22:55.176 00 SPR-I:STS Procedure FTP_FILE started +21-236-11:22:55.261 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-11:22:55.261 00 SPR-I:STS Procedure FTP_FILE completed +21-236-11:22:55.263 00 SPR-I:OPRO ==> Downloading '/ram/time21980012140639' +21-236-11:22:55.263 00 SPR-I:OPRO ==> FileName Only = 'time21980012140639' +21-236-11:22:55.281 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/ftp_file.i +21-236-11:22:55.282 00 SPR-I:STS Procedure FTP_FILE started +21-236-11:22:55.372 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-11:22:55.372 00 SPR-I:STS Procedure FTP_FILE completed +21-236-11:22:55.383 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:22:55.384 00 SPR-I:OPRO ; Setup event 1 with DS DEBUG 59 +21-236-11:22:55.384 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:22:55.388 00 CMH-I:CMD Command is /SCX_CPU1_DS_CLOSEFILE FILEINDEX= 2 (x2) ;;; (SCX CPU1 DS Close Destination File command) +21-236-11:22:55.388 00 CMH-I:CMD Command SFDU received:<18BBC00000050E9500020000> from gs582cfslab4:SPR +21-236-11:22:55.415 00 CMH-I:CMD Command is /SCX_CPU1_DS_CLOSEFILE FILEINDEX= 6 (x6) ;;; (SCX CPU1 DS Close Destination File command) +21-236-11:22:55.416 00 CMH-I:CMD Command SFDU received:<18BBC00000050E9100060000> from gs582cfslab4:SPR +21-236-11:22:55.477 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:22:56.014 00 TLMH-I:STS 58-012-14:06:53.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=59 DEST CLOSE command: file table index = 2 +21-236-11:22:56.015 00 TLMH-I:STS 58-012-14:06:53.002 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=59 DEST CLOSE command: file table index = 6 +21-236-11:22:59.481 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:22:59.483 00 SPR-I:OPRO <*> Passed (1004;5002) - DS Close File commands sent properly. +21-236-11:22:59.504 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:22:59.506 00 SPR-I:OPRO <*> Passed (1004;5002) - Expected Event Msg 59 rcv'd. +21-236-11:22:59.545 00 SPR-I:OPRO ==> Downloading '/ram/seq300000300.dat' +21-236-11:22:59.568 00 SPR-I:OPRO ==> FileName Only = 'seq300000300.dat' +21-236-11:22:59.568 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/ftp_file.i +21-236-11:22:59.569 00 SPR-I:STS Procedure FTP_FILE started +21-236-11:22:59.654 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-11:22:59.654 00 SPR-I:STS Procedure FTP_FILE completed +21-236-11:22:59.656 00 SPR-I:OPRO ==> Downloading '/ram/time31980012140639' +21-236-11:22:59.657 00 SPR-I:OPRO ==> FileName Only = 'time31980012140639' +21-236-11:22:59.681 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/ftp_file.i +21-236-11:22:59.681 00 SPR-I:STS Procedure FTP_FILE started +21-236-11:22:59.799 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-11:22:59.799 00 SPR-I:STS Procedure FTP_FILE completed +21-236-11:22:59.802 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:22:59.802 00 SPR-I:OPRO ; Setup event 1 with DS DEBUG 59 +21-236-11:22:59.802 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:22:59.803 00 CMH-I:CMD Command is /SCX_CPU1_DS_CLOSEFILE FILEINDEX= 3 (x3) ;;; (SCX CPU1 DS Close Destination File command) +21-236-11:22:59.803 00 CMH-I:CMD Command SFDU received:<18BBC00000050E9400030000> from gs582cfslab4:SPR +21-236-11:22:59.814 00 CMH-I:CMD Command is /SCX_CPU1_DS_CLOSEFILE FILEINDEX= 7 (x7) ;;; (SCX CPU1 DS Close Destination File command) +21-236-11:22:59.814 00 CMH-I:CMD Command SFDU received:<18BBC00000050E9000070000> from gs582cfslab4:SPR +21-236-11:22:59.859 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:23:00.514 00 TLMH-I:STS 58-012-14:06:57.501 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=59 DEST CLOSE command: file table index = 3 +21-236-11:23:00.515 00 TLMH-I:STS 58-012-14:06:57.501 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=59 DEST CLOSE command: file table index = 7 +21-236-11:23:03.863 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:23:03.865 00 SPR-I:OPRO <*> Passed (1004;5002) - DS Close File commands sent properly. +21-236-11:23:03.885 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:23:03.887 00 SPR-I:OPRO <*> Passed (1004;5002) - Expected Event Msg 59 rcv'd. +21-236-11:23:03.927 00 SPR-I:OPRO ==> Downloading '/ram/seq400000400.dat' +21-236-11:23:03.950 00 SPR-I:OPRO ==> FileName Only = 'seq400000400.dat' +21-236-11:23:03.951 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/ftp_file.i +21-236-11:23:03.951 00 SPR-I:STS Procedure FTP_FILE started +21-236-11:23:04.044 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-11:23:04.044 00 SPR-I:STS Procedure FTP_FILE completed +21-236-11:23:04.047 00 SPR-I:OPRO ==> Downloading '/ram/time41980012140639' +21-236-11:23:04.048 00 SPR-I:OPRO ==> FileName Only = 'time41980012140639' +21-236-11:23:04.073 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/ftp_file.i +21-236-11:23:04.073 00 SPR-I:STS Procedure FTP_FILE started +21-236-11:23:04.180 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-11:23:04.180 00 SPR-I:STS Procedure FTP_FILE completed +21-236-11:23:04.182 00 CMH-I:CMD Command is /SCX_CPU1_DS_GETFILEINFO ;;; (The Get File Info command) +21-236-11:23:04.182 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-11:23:04.200 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:23:05.012 00 TLMH-I:STS 58-012-14:07:02.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-11:23:07.204 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:23:07.206 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:23:12.210 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:23:12.210 00 SPR-I:OPRO ; Step 2.4: Utilizing the TST_DS application, send 'N of X' messages +21-236-11:23:12.210 00 SPR-I:OPRO ; to the DS application using an entry that specifies a single +21-236-11:23:12.210 00 SPR-I:OPRO ; Destination File entry. +21-236-11:23:12.210 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:23:12.211 00 SPR-I:OPRO ; Step 2.4.1: Parse the tables to find an entry to use. +21-236-11:23:12.211 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:23:12.306 00 SPR-I:OPRO ==> Found filter entry at 2 +21-236-11:23:12.306 00 SPR-I:OPRO ==> MsgID = '0902' - N = 1 X = 3 O = 0 +21-236-11:23:12.306 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:23:17.310 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:23:17.310 00 SPR-I:OPRO ; Step 2.4.2: Send the TST_DS command to send X messages to DS. +21-236-11:23:17.311 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:23:17.312 00 SPR-I:OPRO ==> Passed Packet Cnt = 133 expected Cnt = 134 +21-236-11:23:17.313 00 SPR-I:OPRO ==> File Write Cnt = 334 expected Cnt = 338 +21-236-11:23:17.316 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:23:17.317 00 SPR-I:OPRO ; Setup event 1 with TST_DS INFO 5 +21-236-11:23:17.317 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:23:17.317 00 CMH-I:CMD Command is /SCX_CPU1_TST_DS_SENDMESSAGE MSGID= 2306 (x902) MSGTYPE= 1 (x1) PATTERN= 1 (x1) ;;; (SCX CPU1 TST_DS Send Message command code) +21-236-11:23:17.317 00 CMH-I:CMD Command SFDU received:<1943C000000903640000090201010000> from gs582cfslab4:SPR +21-236-11:23:17.328 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:23:18.018 00 TLMH-I:STS 58-012-14:07:15.001 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Message Size 116 to MID 0x00000902 +21-236-11:23:22.335 00 CMH-I:CMD Command is /SCX_CPU1_TST_DS_SENDMESSAGE MSGID= 2306 (x902) MSGTYPE= 1 (x1) PATTERN= 2 (x2) ;;; (SCX CPU1 TST_DS Send Message command code) +21-236-11:23:22.335 00 CMH-I:CMD Command SFDU received:<1943C000000903670000090201020000> from gs582cfslab4:SPR +21-236-11:23:22.348 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:23:23.019 00 TLMH-I:STS 58-012-14:07:20.004 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Message Size 116 to MID 0x00000902 +21-236-11:23:23.109 00 SPR-I:OPRI --> native "cmdbrowse -console 1 &" +21-236-11:23:27.372 00 CMH-I:CMD Command is /SCX_CPU1_TST_DS_SENDMESSAGE MSGID= 2306 (x902) MSGTYPE= 1 (x1) PATTERN= 3 (x3) ;;; (SCX CPU1 TST_DS Send Message command code) +21-236-11:23:27.372 00 CMH-I:CMD Command SFDU received:<1943C000000903660000090201030000> from gs582cfslab4:SPR +21-236-11:23:27.383 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:23:28.016 00 TLMH-I:STS 58-012-14:07:25.002 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Message Size 116 to MID 0x00000902 +21-236-11:23:32.388 00 SPR-I:OPRO <*> Passed - Rcv'd the expected number of Send events. +21-236-11:23:32.388 00 SPR-I:OPRO <*> Passed (2000) - Counters incremented properly. +21-236-11:23:32.391 00 CMH-I:CMD Command is /SCX_CPU1_DS_GETFILEINFO ;;; (The Get File Info command) +21-236-11:23:32.391 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-11:23:32.406 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:23:33.014 00 TLMH-I:STS 58-012-14:07:30.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-11:23:35.409 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:23:35.413 00 SPR-I:OPRO <*> Passed (2002.1;3000) - A file was created with name '/ram/seq100000101.dat' +21-236-11:23:35.418 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:23:40.423 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:23:40.423 00 SPR-I:OPRO ; Step 2.5: Close the Destination File opened in the above step. +21-236-11:23:40.423 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:23:40.427 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:23:40.428 00 SPR-I:OPRO ; Setup event 1 with DS DEBUG 59 +21-236-11:23:40.428 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:23:40.428 00 CMH-I:CMD Command is /SCX_CPU1_DS_CLOSEFILE FILEINDEX= 0 (x0) ;;; (SCX CPU1 DS Close Destination File command) +21-236-11:23:40.428 00 CMH-I:CMD Command SFDU received:<18BBC00000050E9700000000> from gs582cfslab4:SPR +21-236-11:23:40.442 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:23:41.011 00 TLMH-I:STS 58-012-14:07:38.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=59 DEST CLOSE command: file table index = 0 +21-236-11:23:43.445 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:23:43.447 00 SPR-I:OPRO <*> Passed (1004;5002) - DS Close File command sent properly. +21-236-11:23:43.466 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:23:43.468 00 SPR-I:OPRO <*> Passed (1004;5002) - Expected Event Msg 59 rcv'd. +21-236-11:23:43.507 00 SPR-I:OPRO ==> Downloading '/ram/seq100000101.dat' +21-236-11:23:43.507 00 SPR-I:OPRO ==> FileName Only = 'seq100000101.dat' +21-236-11:23:43.524 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/ftp_file.i +21-236-11:23:43.524 00 SPR-I:STS Procedure FTP_FILE started +21-236-11:23:43.611 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-11:23:43.611 00 SPR-I:STS Procedure FTP_FILE completed +21-236-11:23:43.612 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:23:48.616 00 SPR-I:OPRO ;********************************************************************* +21-236-11:23:48.616 00 SPR-I:OPRO ; Step 2.6: Send the Set Filter Parameter for a Packet Filter Table +21-236-11:23:48.616 00 SPR-I:OPRO ; entry command specifying a different N_Value. +21-236-11:23:48.617 00 SPR-I:OPRO ;********************************************************************* +21-236-11:23:48.624 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:23:48.624 00 SPR-I:OPRO ; Setup event 1 with DS DEBUG 41 +21-236-11:23:48.624 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:23:48.627 00 CMH-I:CMD Command is /SCX_CPU1_DS_SETFILTERPARAMS MESSAGEID= 2306 (x902) PARAMINDEX= 0 (x0) N_VALUE= 2 (x2) X_VALUE= 3 (x3) O_VALUE= 0 (x0) ;;; (SCX CPU1 DS Set Filter Paramaters command) +21-236-11:23:48.628 00 CMH-I:CMD Command SFDU received:<18BBC000000D059E000009020000000200030000> from gs582cfslab4:SPR +21-236-11:23:48.652 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:23:49.514 00 TLMH-I:STS 58-012-14:07:46.502 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=41 FILTER PARMS command: MID = 0x00000902, index = 2, filter = 0, N = 2, X = 3, O = 0 +21-236-11:23:51.656 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:23:51.658 00 SPR-I:OPRO <*> Passed (1004;5010) - DS Set Filter Parameters command sent properly. +21-236-11:23:51.678 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:23:51.681 00 SPR-I:OPRO <*> Passed (1004;5010) - Expected Event Msg 41 rcv'd. +21-236-11:23:51.721 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:23:56.725 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:23:56.725 00 SPR-I:OPRO ; Step 2.7: Dump the Packet Filter Table. +21-236-11:23:56.725 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:23:56.726 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/get_tbl_to_cvt.i +21-236-11:23:56.730 00 SPR-I:STS Procedure GET_TBL_TO_CVT started +21-236-11:23:56.750 00 SPR-I:OPRO Sending Command: /SCX_CPU1_TBL_DUMP ACTIVE DTABLENAME="DS.FILTER_TBL" DFILENAME="/ram/cpu1_filtertbl27" +21-236-11:23:56.752 00 CMH-I:CMD Command is /SCX_CPU1_TBL_DUMP ACTIVE DTABLENAME="DS.FILTER_TBL" DFILENAME="/ram/cpu1_filtertbl27" ;;; (SCX CPU1 TBL dump table command) +21-236-11:23:56.752 00 CMH-I:CMD Command SFDU received:<1804C000006B037F000144532E46494C5445525F54424C0000000000000000000000000000000000000000000000000000002F72616D2F637075315F66696C74657274626C323700000000000000000000000000000000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-236-11:23:56.754 00 SPR-I:STTE Wait mode - waiting 15 seconds ... +21-236-11:23:57.512 00 TLMH-I:STS 58-012-14:07:54.503 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=14 Successfully dumped Table 'DS.FILTER_TBL' to '/ram/cpu1_filtertbl27' +21-236-11:24:11.765 00 SPR-I:OPRO +21-236-11:24:11.765 00 SPR-I:OPRO The TBLNAME is: DS.FILTER_TBL +21-236-11:24:11.765 00 SPR-I:OPRO The APID is: P0F77 +21-236-11:24:11.765 00 SPR-I:OPRO The CPU is: CPU3 +21-236-11:24:11.765 00 SPR-I:OPRO The IP Address is: 192.168.1.8 +21-236-11:24:11.767 00 SPR-I:OPRO The perl command is: perl /s/opr/accounts/global/tools/ftp.pl RAM:0 cpu1_filtertbl27 cpu1_filtertbl27 binary 192.168.1.8 +21-236-11:24:11.907 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-11:24:11.907 00 SPR-I:STTE Wait mode - waiting 15 seconds ... +21-236-11:24:26.918 00 SPR-I:OPRO +21-236-11:24:26.932 00 SPR-I:OPRO The unix command is cvt -ws file_list[3959].file_write_time "`date +%y-%j-%T -r /s/opr/accounts/cfs_test/image/cpu1_filtertbl27`" +21-236-11:24:26.932 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:24:31.937 00 SPR-I:STS Procedure GET_TBL_TO_CVT completed +21-236-11:24:31.940 00 SPR-I:OPRO <*> Passed (5010) - Parameter changes are reflected in the table. +21-236-11:24:31.943 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:24:36.947 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:24:36.947 00 SPR-I:OPRO ; Step 2.8: Utilizing the TST_DS application, send 'N of X' messages +21-236-11:24:36.947 00 SPR-I:OPRO ; to the DS application using the entry modified above. +21-236-11:24:36.947 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:24:36.948 00 SPR-I:OPRO ==> MsgID = '0902' - N = 2 X = 3 O = 0 +21-236-11:24:36.950 00 SPR-I:OPRO ==> Passed Packet Cnt = 134 expected Cnt = 136 +21-236-11:24:36.950 00 SPR-I:OPRO ==> File Write Cnt = 338 expected Cnt = 343 +21-236-11:24:36.957 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:24:36.958 00 SPR-I:OPRO ; Setup event 1 with TST_DS INFO 5 +21-236-11:24:36.958 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:24:36.962 00 CMH-I:CMD Command is /SCX_CPU1_TST_DS_SENDMESSAGE MSGID= 2306 (x902) MSGTYPE= 1 (x1) PATTERN= 1 (x1) ;;; (SCX CPU1 TST_DS Send Message command code) +21-236-11:24:36.962 00 CMH-I:CMD Command SFDU received:<1943C000000903640000090201010000> from gs582cfslab4:SPR +21-236-11:24:36.965 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:24:37.511 00 TLMH-I:STS 58-012-14:08:34.502 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Message Size 116 to MID 0x00000902 +21-236-11:24:41.972 00 CMH-I:CMD Command is /SCX_CPU1_TST_DS_SENDMESSAGE MSGID= 2306 (x902) MSGTYPE= 1 (x1) PATTERN= 2 (x2) ;;; (SCX CPU1 TST_DS Send Message command code) +21-236-11:24:41.973 00 CMH-I:CMD Command SFDU received:<1943C000000903670000090201020000> from gs582cfslab4:SPR +21-236-11:24:41.986 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:24:42.519 00 TLMH-I:STS 58-012-14:08:39.500 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Message Size 116 to MID 0x00000902 +21-236-11:24:46.993 00 CMH-I:CMD Command is /SCX_CPU1_TST_DS_SENDMESSAGE MSGID= 2306 (x902) MSGTYPE= 1 (x1) PATTERN= 3 (x3) ;;; (SCX CPU1 TST_DS Send Message command code) +21-236-11:24:46.993 00 CMH-I:CMD Command SFDU received:<1943C000000903660000090201030000> from gs582cfslab4:SPR +21-236-11:24:47.006 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:24:47.517 00 TLMH-I:STS 58-012-14:08:44.500 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Message Size 116 to MID 0x00000902 +21-236-11:24:52.009 00 SPR-I:OPRO <*> Passed - Rcv'd the expected number of Send events. +21-236-11:24:52.010 00 SPR-I:OPRO <*> Passed (2000) - Counters incremented properly. +21-236-11:24:52.012 00 CMH-I:CMD Command is /SCX_CPU1_DS_GETFILEINFO ;;; (The Get File Info command) +21-236-11:24:52.012 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-11:24:52.015 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:24:52.509 00 TLMH-I:STS 58-012-14:08:49.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-11:24:55.017 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:24:55.019 00 SPR-I:OPRO <*> Passed (2002.1;3000) - A file was created with name '/ram/seq100000102.dat' +21-236-11:24:55.027 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:25:00.031 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:25:00.031 00 SPR-I:OPRO ; Step 2.9: Close the Destination File opened in the above step. +21-236-11:25:00.031 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:25:00.040 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:25:00.041 00 SPR-I:OPRO ; Setup event 1 with DS DEBUG 59 +21-236-11:25:00.041 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:25:00.043 00 CMH-I:CMD Command is /SCX_CPU1_DS_CLOSEFILE FILEINDEX= 0 (x0) ;;; (SCX CPU1 DS Close Destination File command) +21-236-11:25:00.043 00 CMH-I:CMD Command SFDU received:<18BBC00000050E9700000000> from gs582cfslab4:SPR +21-236-11:25:00.059 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:25:00.520 00 TLMH-I:STS 58-012-14:08:57.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=59 DEST CLOSE command: file table index = 0 +21-236-11:25:03.062 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:25:03.064 00 SPR-I:OPRO <*> Passed (1004;5002) - DS Close File command sent properly. +21-236-11:25:03.072 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:25:03.072 00 SPR-I:OPRO <*> Passed (1004;5002) - Expected Event Msg 59 rcv'd. +21-236-11:25:03.096 00 SPR-I:OPRO ==> Downloading '/ram/seq100000102.dat' +21-236-11:25:03.097 00 SPR-I:OPRO ==> FileName Only = 'seq100000102.dat' +21-236-11:25:03.114 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/ftp_file.i +21-236-11:25:03.115 00 SPR-I:STS Procedure FTP_FILE started +21-236-11:25:03.213 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-11:25:03.214 00 SPR-I:STS Procedure FTP_FILE completed +21-236-11:25:03.215 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:25:08.219 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:25:08.219 00 SPR-I:OPRO ; Step 2.10: Set the N_Value and X_Value to zero (0) for two separate +21-236-11:25:08.219 00 SPR-I:OPRO ; Filter Table entries. Use the one from above and find another. +21-236-11:25:08.219 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:25:08.219 00 SPR-I:OPRO ; Step 2.10.1: Parse the tables to find an entry to use. +21-236-11:25:08.219 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:25:08.293 00 SPR-I:OPRO ==> Found filter entry at 3 +21-236-11:25:08.294 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:25:13.298 00 SPR-I:OPRO ;********************************************************************* +21-236-11:25:13.298 00 SPR-I:OPRO ; Step 2.10.2: Send the Set Filter Parameter entry command specifying +21-236-11:25:13.298 00 SPR-I:OPRO ; zero (0) for the N_Value parameter. +21-236-11:25:13.298 00 SPR-I:OPRO ;********************************************************************* +21-236-11:25:13.303 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:25:13.304 00 SPR-I:OPRO ; Setup event 1 with DS DEBUG 41 +21-236-11:25:13.304 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:25:13.305 00 CMH-I:CMD Command is /SCX_CPU1_DS_SETFILTERPARAMS MESSAGEID= 2306 (x902) PARAMINDEX= 0 (x0) N_VALUE= 0 (x0) X_VALUE= 3 (x3) O_VALUE= 0 (x0) ;;; (SCX CPU1 DS Set Filter Paramaters command) +21-236-11:25:13.305 00 CMH-I:CMD Command SFDU received:<18BBC000000D059C000009020000000000030000> from gs582cfslab4:SPR +21-236-11:25:13.318 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:25:14.020 00 TLMH-I:STS 58-012-14:09:11.003 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=41 FILTER PARMS command: MID = 0x00000902, index = 2, filter = 0, N = 0, X = 3, O = 0 +21-236-11:25:15.320 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:25:15.323 00 SPR-I:OPRO <*> Passed (1004;5010) - DS Set Filter Parameters command sent properly. +21-236-11:25:15.330 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:25:15.331 00 SPR-I:OPRO <*> Passed (1004;5010) - Expected Event Msg 41 rcv'd. +21-236-11:25:15.355 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:25:20.359 00 SPR-I:OPRO ;********************************************************************* +21-236-11:25:20.359 00 SPR-I:OPRO ; Step 2.10.3: Send the Set Filter Parameter entry command specifying +21-236-11:25:20.359 00 SPR-I:OPRO ; zero (0) for the X_Value parameter. +21-236-11:25:20.359 00 SPR-I:OPRO ;********************************************************************* +21-236-11:25:20.365 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:25:20.365 00 SPR-I:OPRO ; Setup event 1 with DS DEBUG 41 +21-236-11:25:20.365 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:25:20.366 00 CMH-I:CMD Command is /SCX_CPU1_DS_SETFILTERPARAMS MESSAGEID= 2307 (x903) PARAMINDEX= 0 (x0) N_VALUE= 0 (x0) X_VALUE= 0 (x0) O_VALUE= 0 (x0) ;;; (SCX CPU1 DS Set Filter Paramaters command) +21-236-11:25:20.366 00 CMH-I:CMD Command SFDU received:<18BBC000000D059E000009030000000000000000> from gs582cfslab4:SPR +21-236-11:25:20.380 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:25:21.018 00 TLMH-I:STS 58-012-14:09:18.003 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=41 FILTER PARMS command: MID = 0x00000903, index = 3, filter = 0, N = 0, X = 0, O = 0 +21-236-11:25:23.384 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:25:23.386 00 SPR-I:OPRO <*> Passed (1004;5010) - DS Set Filter Parameters command sent properly. +21-236-11:25:23.395 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:25:23.396 00 SPR-I:OPRO <*> Passed (1004;5010) - Expected Event Msg 41 rcv'd. +21-236-11:25:23.424 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:25:28.428 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:25:28.428 00 SPR-I:OPRO ; Step 2.11: Dump the Packet Filter Table. +21-236-11:25:28.428 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:25:28.429 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/get_tbl_to_cvt.i +21-236-11:25:28.431 00 SPR-I:STS Procedure GET_TBL_TO_CVT started +21-236-11:25:28.437 00 SPR-I:OPRO Sending Command: /SCX_CPU1_TBL_DUMP ACTIVE DTABLENAME="DS.FILTER_TBL" DFILENAME="/ram/cpu1_filtertbl211" +21-236-11:25:28.437 00 CMH-I:CMD Command is /SCX_CPU1_TBL_DUMP ACTIVE DTABLENAME="DS.FILTER_TBL" DFILENAME="/ram/cpu1_filtertbl211" ;;; (SCX CPU1 TBL dump table command) +21-236-11:25:28.437 00 CMH-I:CMD Command SFDU received:<1804C000006B0348000144532E46494C5445525F54424C0000000000000000000000000000000000000000000000000000002F72616D2F637075315F66696C74657274626C323131000000000000000000000000000000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-236-11:25:28.448 00 SPR-I:STTE Wait mode - waiting 15 seconds ... +21-236-11:25:29.012 00 TLMH-I:STS 58-012-14:09:26.003 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=14 Successfully dumped Table 'DS.FILTER_TBL' to '/ram/cpu1_filtertbl211' +21-236-11:25:43.460 00 SPR-I:OPRO +21-236-11:25:43.460 00 SPR-I:OPRO The TBLNAME is: DS.FILTER_TBL +21-236-11:25:43.460 00 SPR-I:OPRO The APID is: P0F77 +21-236-11:25:43.460 00 SPR-I:OPRO The CPU is: CPU3 +21-236-11:25:43.460 00 SPR-I:OPRO The IP Address is: 192.168.1.8 +21-236-11:25:43.461 00 SPR-I:OPRO The perl command is: perl /s/opr/accounts/global/tools/ftp.pl RAM:0 cpu1_filtertbl211 cpu1_filtertbl211 binary 192.168.1.8 +21-236-11:25:43.629 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-11:25:43.629 00 SPR-I:STTE Wait mode - waiting 15 seconds ... +21-236-11:25:58.641 00 SPR-I:OPRO +21-236-11:25:58.685 00 SPR-I:OPRO The unix command is cvt -ws file_list[3959].file_write_time "`date +%y-%j-%T -r /s/opr/accounts/cfs_test/image/cpu1_filtertbl211`" +21-236-11:25:58.685 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:26:03.690 00 SPR-I:STS Procedure GET_TBL_TO_CVT completed +21-236-11:26:03.694 00 SPR-I:OPRO <*> Passed (5010) - Parameter changes are reflected in the table. +21-236-11:26:03.697 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:26:08.702 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:26:08.702 00 SPR-I:OPRO ; Step 2.12: Send the TST_DS command to send messages to DS using the +21-236-11:26:08.702 00 SPR-I:OPRO ; message IDs whose parameters were set in the above steps. +21-236-11:26:08.702 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:26:08.709 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:26:08.709 00 SPR-I:OPRO ; Setup event 1 with TST_DS INFO 5 +21-236-11:26:08.710 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:26:08.713 00 CMH-I:CMD Command is /SCX_CPU1_TST_DS_SENDMESSAGE MSGID= 2306 (x902) MSGTYPE= 1 (x1) PATTERN= 85 (x55) ;;; (SCX CPU1 TST_DS Send Message command code) +21-236-11:26:08.713 00 CMH-I:CMD Command SFDU received:<1943C000000903300000090201550000> from gs582cfslab4:SPR +21-236-11:26:08.717 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:26:09.514 00 TLMH-I:STS 58-012-14:10:06.500 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Message Size 116 to MID 0x00000902 +21-236-11:26:13.724 00 CMH-I:CMD Command is /SCX_CPU1_TST_DS_SENDMESSAGE MSGID= 2306 (x902) MSGTYPE= 1 (x1) PATTERN= 85 (x55) ;;; (SCX CPU1 TST_DS Send Message command code) +21-236-11:26:13.724 00 CMH-I:CMD Command SFDU received:<1943C000000903300000090201550000> from gs582cfslab4:SPR +21-236-11:26:13.738 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:26:14.510 00 TLMH-I:STS 58-012-14:10:11.500 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Message Size 116 to MID 0x00000902 +21-236-11:26:18.744 00 CMH-I:CMD Command is /SCX_CPU1_TST_DS_SENDMESSAGE MSGID= 2306 (x902) MSGTYPE= 1 (x1) PATTERN= 85 (x55) ;;; (SCX CPU1 TST_DS Send Message command code) +21-236-11:26:18.744 00 CMH-I:CMD Command SFDU received:<1943C000000903300000090201550000> from gs582cfslab4:SPR +21-236-11:26:18.757 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:26:19.515 00 TLMH-I:STS 58-012-14:10:16.500 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Message Size 116 to MID 0x00000902 +21-236-11:26:23.764 00 CMH-I:CMD Command is /SCX_CPU1_TST_DS_SENDMESSAGE MSGID= 2307 (x903) MSGTYPE= 1 (x1) PATTERN= 170 (xAA) ;;; (SCX CPU1 TST_DS Send Message command code) +21-236-11:26:23.764 00 CMH-I:CMD Command SFDU received:<1943C000000903CE0000090301AA0000> from gs582cfslab4:SPR +21-236-11:26:23.778 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:26:24.513 00 TLMH-I:STS 58-012-14:10:21.500 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Message Size 116 to MID 0x00000903 +21-236-11:26:28.784 00 CMH-I:CMD Command is /SCX_CPU1_DS_GETFILEINFO ;;; (The Get File Info command) +21-236-11:26:28.784 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-11:26:28.808 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:26:29.516 00 TLMH-I:STS 58-012-14:10:26.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-11:26:31.811 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:26:31.814 00 SPR-I:OPRO <*> Passed - Rcv'd the expected number of Send events. +21-236-11:26:31.815 00 SPR-I:OPRO <*> Passed (2001.1) - A file was not created. +21-236-11:26:31.818 00 SPR-I:OPRO <*> Passed (2001.1) - A file was not created. +21-236-11:26:31.837 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:26:36.841 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:26:36.841 00 SPR-I:OPRO ; Step 2.13: Send the Set File Index for a Packet Filter Table entry +21-236-11:26:36.841 00 SPR-I:OPRO ; command for an entry that specifies Sequence filtering with a +21-236-11:26:36.841 00 SPR-I:OPRO ; Destination File entry that specifies Time file type naming. +21-236-11:26:36.842 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:26:36.842 00 SPR-I:OPRO ; Step 2.13.1: Parse the tables to find an entry to use. +21-236-11:26:36.842 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:26:36.954 00 SPR-I:OPRO ==> Found filter entry at 4 +21-236-11:26:36.954 00 SPR-I:OPRO ==> Found file entry at 4 +21-236-11:26:36.954 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:26:41.958 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:26:41.959 00 SPR-I:OPRO ; Step 2.13.2: Send the Set File Index command using the entries found +21-236-11:26:41.959 00 SPR-I:OPRO ; in the above step. +21-236-11:26:41.959 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:26:41.966 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:26:41.967 00 SPR-I:OPRO ; Setup event 1 with DS DEBUG 37 +21-236-11:26:41.967 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:26:41.970 00 CMH-I:CMD Command is /SCX_CPU1_DS_SETFILTERFILE MESSAGEID= 2308 (x904) PARAMINDEX= 0 (x0) FILEINDEX= 4 (x4) ;;; (SCX CPU1 DS Set Filter File Selection command) +21-236-11:26:41.970 00 CMH-I:CMD Command SFDU received:<18BBC0000009039F0000090400000004> from gs582cfslab4:SPR +21-236-11:26:41.997 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:26:42.509 00 TLMH-I:STS 58-012-14:10:39.502 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=37 FILTER FILE command: MID = 0x00000904, index = 4, filter = 0, file = 4 +21-236-11:26:43.999 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:26:44.001 00 SPR-I:OPRO <*> Passed (1004;5008) - DS Set Filter File command sent properly. +21-236-11:26:44.019 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:26:44.022 00 SPR-I:OPRO <*> Passed (1004;5008) - Expected Event Msg 37 rcv'd. +21-236-11:26:44.063 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:26:49.077 00 SPR-I:OPRI --> s display_next_page (256,4,"PREV",3959) +21-236-11:26:49.077 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/display_next_page.i +21-236-11:26:49.077 00 SPR-I:STS Procedure DISPLAY_NEXT_PAGE started +21-236-11:26:49.078 00 SPR-I:STS Procedure DISPLAY_NEXT_PAGE completed +21-236-11:26:49.079 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:26:49.079 00 SPR-I:OPRO ; Step 2.13.3: Dump the Packet Filter Table. +21-236-11:26:49.079 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:26:49.079 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/get_tbl_to_cvt.i +21-236-11:26:49.079 00 SPR-I:STS Procedure GET_TBL_TO_CVT started +21-236-11:26:49.083 00 SPR-I:OPRO Sending Command: /SCX_CPU1_TBL_DUMP ACTIVE DTABLENAME="DS.FILTER_TBL" DFILENAME="/ram/cpu1_filtertbl2133" +21-236-11:26:49.084 00 CMH-I:CMD Command is /SCX_CPU1_TBL_DUMP ACTIVE DTABLENAME="DS.FILTER_TBL" DFILENAME="/ram/cpu1_filtertbl2133" ;;; (SCX CPU1 TBL dump table command) +21-236-11:26:49.084 00 CMH-I:CMD Command SFDU received:<1804C000006B0379000144532E46494C5445525F54424C0000000000000000000000000000000000000000000000000000002F72616D2F637075315F66696C74657274626C323133330000000000000000000000000000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-236-11:26:49.095 00 SPR-I:STTE Wait mode - waiting 15 seconds ... +21-236-11:26:50.009 00 TLMH-I:STS 58-012-14:10:47.003 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=14 Successfully dumped Table 'DS.FILTER_TBL' to '/ram/cpu1_filtertbl2133' +21-236-11:27:04.107 00 SPR-I:OPRO +21-236-11:27:04.107 00 SPR-I:OPRO The TBLNAME is: DS.FILTER_TBL +21-236-11:27:04.107 00 SPR-I:OPRO The APID is: P0F77 +21-236-11:27:04.107 00 SPR-I:OPRO The CPU is: CPU3 +21-236-11:27:04.107 00 SPR-I:OPRO The IP Address is: 192.168.1.8 +21-236-11:27:04.110 00 SPR-I:OPRO The perl command is: perl /s/opr/accounts/global/tools/ftp.pl RAM:0 cpu1_filtertbl2133 cpu1_filtertbl2133 binary 192.168.1.8 +21-236-11:27:04.284 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-11:27:04.284 00 SPR-I:STTE Wait mode - waiting 15 seconds ... +21-236-11:27:07.296 00 SPR-I:OPRI --> s display_next_page (16,8,"NEXT",3959,"TLM") +21-236-11:27:07.296 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/display_next_page.i +21-236-11:27:07.296 00 SPR-I:STS Procedure DISPLAY_NEXT_PAGE started +21-236-11:27:07.297 00 SPR-I:STS Procedure DISPLAY_NEXT_PAGE completed +21-236-11:27:08.309 00 SPR-I:OPRI --> s display_next_page (16,8,"PREV",3959,"TLM") +21-236-11:27:08.310 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/display_next_page.i +21-236-11:27:08.311 00 SPR-I:STS Procedure DISPLAY_NEXT_PAGE started +21-236-11:27:08.317 00 SPR-I:STS Procedure DISPLAY_NEXT_PAGE completed +21-236-11:27:19.325 00 SPR-I:OPRO +21-236-11:27:19.343 00 SPR-I:OPRO The unix command is cvt -ws file_list[3959].file_write_time "`date +%y-%j-%T -r /s/opr/accounts/cfs_test/image/cpu1_filtertbl2133`" +21-236-11:27:19.343 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:27:24.348 00 SPR-I:STS Procedure GET_TBL_TO_CVT completed +21-236-11:27:24.350 00 SPR-I:OPRO <*> Passed (5008) - Parameter changes are reflected in the table. +21-236-11:27:24.353 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:27:29.358 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:27:29.358 00 SPR-I:OPRO ; Step 2.14: Send the TST_DS command to send a message to DS using the +21-236-11:27:29.358 00 SPR-I:OPRO ; MessageID found above. Send a message that will not exceed the file +21-236-11:27:29.358 00 SPR-I:OPRO ; size constraint. The HK should contain info about the file opened. +21-236-11:27:29.358 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:27:29.363 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:27:29.363 00 SPR-I:OPRO ; Setup event 1 with TST_DS INFO 5 +21-236-11:27:29.363 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:27:29.364 00 CMH-I:CMD Command is /SCX_CPU1_TST_DS_SENDMESSAGE MSGID= 2308 (x904) MSGTYPE= 1 (x1) PATTERN= 255 (xFF) ;;; (SCX CPU1 TST_DS Send Message command code) +21-236-11:27:29.364 00 CMH-I:CMD Command SFDU received:<1943C0000009039C0000090401FF0000> from gs582cfslab4:SPR +21-236-11:27:29.378 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:27:30.017 00 TLMH-I:STS 58-012-14:11:27.003 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Message Size 116 to MID 0x00000904 +21-236-11:27:30.379 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:27:30.381 00 SPR-I:OPRO <*> Passed - Expected Event Msg 5 rcv'd. +21-236-11:27:30.383 00 CMH-I:CMD Command is /SCX_CPU1_DS_GETFILEINFO ;;; (The Get File Info command) +21-236-11:27:30.384 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-11:27:30.410 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:27:31.012 00 TLMH-I:STS 58-012-14:11:28.003 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-11:27:31.411 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:27:31.413 00 SPR-I:OPRO <*> Passed (2000) - Passed packet counter incremented properly. +21-236-11:27:31.418 00 SPR-I:OPRO <*> Passed (2002.1;3000;3000.2;3000.2.1) - A file was created with name '/ram/time11980012141127' +21-236-11:27:31.484 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:27:36.488 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:27:36.488 00 SPR-I:OPRO ; Step 2.15: Close the Destination File opened in the above step. +21-236-11:27:36.488 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:27:36.494 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:27:36.494 00 SPR-I:OPRO ; Setup event 1 with DS DEBUG 59 +21-236-11:27:36.494 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:27:36.496 00 CMH-I:CMD Command is /SCX_CPU1_DS_CLOSEFILE FILEINDEX= 4 (x4) ;;; (SCX CPU1 DS Close Destination File command) +21-236-11:27:36.496 00 CMH-I:CMD Command SFDU received:<18BBC00000050E9300040000> from gs582cfslab4:SPR +21-236-11:27:36.512 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:27:37.016 00 TLMH-I:STS 58-012-14:11:34.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=59 DEST CLOSE command: file table index = 4 +21-236-11:27:39.515 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:27:39.518 00 SPR-I:OPRO <*> Passed (1004;5002) - DS Close File command sent properly. +21-236-11:27:39.525 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:27:39.526 00 SPR-I:OPRO <*> Passed (1004;5002) - Expected Event Msg 59 rcv'd. +21-236-11:27:39.555 00 SPR-I:OPRO ==> Downloading '/ram/time11980012141127' +21-236-11:27:39.578 00 SPR-I:OPRO ==> FileName Only = 'time11980012141127' +21-236-11:27:39.578 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/ftp_file.i +21-236-11:27:39.578 00 SPR-I:STS Procedure FTP_FILE started +21-236-11:27:39.664 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-11:27:39.664 00 SPR-I:STS Procedure FTP_FILE completed +21-236-11:27:39.665 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:27:44.668 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:27:44.668 00 SPR-I:OPRO ; Step 2.16: Send the Set File Index for a Packet Filter Table entry +21-236-11:27:44.668 00 SPR-I:OPRO ; command for an entry that specifies Time filtering with a +21-236-11:27:44.668 00 SPR-I:OPRO ; Destination File entry that specifies Sequence file type naming. +21-236-11:27:44.668 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:27:44.668 00 SPR-I:OPRO ; Step 2.16.1: Parse the tables to find an entry to use. +21-236-11:27:44.668 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:27:44.784 00 SPR-I:OPRO ==> Found filter entry at 5 +21-236-11:27:44.784 00 SPR-I:OPRO ==> Found file entry at 0 +21-236-11:27:44.784 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:27:49.789 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:27:49.789 00 SPR-I:OPRO ; Step 2.16.2: Send the Set File Index command using the entries found +21-236-11:27:49.789 00 SPR-I:OPRO ; in the above step. +21-236-11:27:49.789 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:27:49.796 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:27:49.796 00 SPR-I:OPRO ; Setup event 1 with DS DEBUG 37 +21-236-11:27:49.796 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:27:49.800 00 CMH-I:CMD Command is /SCX_CPU1_DS_SETFILTERFILE MESSAGEID= 2309 (x905) PARAMINDEX= 0 (x0) FILEINDEX= 0 (x0) ;;; (SCX CPU1 DS Set Filter File Selection command) +21-236-11:27:49.800 00 CMH-I:CMD Command SFDU received:<18BBC0000009039A0000090500000000> from gs582cfslab4:SPR +21-236-11:27:49.816 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:27:50.517 00 TLMH-I:STS 58-012-14:11:47.502 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=37 FILTER FILE command: MID = 0x00000905, index = 5, filter = 0, file = 0 +21-236-11:27:51.818 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:27:51.820 00 SPR-I:OPRO <*> Passed (1004;5008) - DS Set Filter File command sent properly. +21-236-11:27:51.839 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:27:51.841 00 SPR-I:OPRO <*> Passed (1004;5008) - Expected Event Msg 37 rcv'd. +21-236-11:27:51.882 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:27:56.886 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:27:56.886 00 SPR-I:OPRO ; Step 2.16.3: Dump the Packet Filter Table. +21-236-11:27:56.886 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:27:56.886 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/get_tbl_to_cvt.i +21-236-11:27:56.887 00 SPR-I:STS Procedure GET_TBL_TO_CVT started +21-236-11:27:56.893 00 SPR-I:OPRO Sending Command: /SCX_CPU1_TBL_DUMP ACTIVE DTABLENAME="DS.FILTER_TBL" DFILENAME="/ram/cpu1_filtertbl2163" +21-236-11:27:56.894 00 CMH-I:CMD Command is /SCX_CPU1_TBL_DUMP ACTIVE DTABLENAME="DS.FILTER_TBL" DFILENAME="/ram/cpu1_filtertbl2163" ;;; (SCX CPU1 TBL dump table command) +21-236-11:27:56.894 00 CMH-I:CMD Command SFDU received:<1804C000006B037C000144532E46494C5445525F54424C0000000000000000000000000000000000000000000000000000002F72616D2F637075315F66696C74657274626C323136330000000000000000000000000000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-236-11:27:56.894 00 SPR-I:STTE Wait mode - waiting 15 seconds ... +21-236-11:27:57.517 00 TLMH-I:STS 58-012-14:11:54.503 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=14 Successfully dumped Table 'DS.FILTER_TBL' to '/ram/cpu1_filtertbl2163' +21-236-11:28:11.905 00 SPR-I:OPRO +21-236-11:28:11.905 00 SPR-I:OPRO The TBLNAME is: DS.FILTER_TBL +21-236-11:28:11.905 00 SPR-I:OPRO The APID is: P0F77 +21-236-11:28:11.905 00 SPR-I:OPRO The CPU is: CPU3 +21-236-11:28:11.905 00 SPR-I:OPRO The IP Address is: 192.168.1.8 +21-236-11:28:11.906 00 SPR-I:OPRO The perl command is: perl /s/opr/accounts/global/tools/ftp.pl RAM:0 cpu1_filtertbl2163 cpu1_filtertbl2163 binary 192.168.1.8 +21-236-11:28:12.046 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-11:28:12.046 00 SPR-I:STTE Wait mode - waiting 15 seconds ... +21-236-11:28:27.059 00 SPR-I:OPRO +21-236-11:28:27.103 00 SPR-I:OPRO The unix command is cvt -ws file_list[3959].file_write_time "`date +%y-%j-%T -r /s/opr/accounts/cfs_test/image/cpu1_filtertbl2163`" +21-236-11:28:27.103 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:28:32.108 00 SPR-I:STS Procedure GET_TBL_TO_CVT completed +21-236-11:28:32.110 00 SPR-I:OPRO <*> Passed (5008) - Parameter changes are reflected in the table. +21-236-11:28:32.114 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:28:37.118 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:28:37.119 00 SPR-I:OPRO ; Step 2.17: Send the TST_DS command to send a message to DS using the +21-236-11:28:37.119 00 SPR-I:OPRO ; MessageID found above. Send a message that will not exceed the file +21-236-11:28:37.119 00 SPR-I:OPRO ; size constraint. The HK should contain info about the file opened. +21-236-11:28:37.119 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:28:37.126 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:28:37.127 00 SPR-I:OPRO ; Setup event 1 with TST_DS INFO 5 +21-236-11:28:37.127 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:28:37.131 00 CMH-I:CMD Command is /SCX_CPU1_TST_DS_SENDMESSAGE MSGID= 2309 (x905) MSGTYPE= 1 (x1) PATTERN= 85 (x55) ;;; (SCX CPU1 TST_DS Send Message command code) +21-236-11:28:37.131 00 CMH-I:CMD Command SFDU received:<1943C000000903370000090501550000> from gs582cfslab4:SPR +21-236-11:28:37.158 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:28:38.016 00 TLMH-I:STS 58-012-14:12:35.003 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Message Size 116 to MID 0x00000905 +21-236-11:28:38.159 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:28:38.161 00 SPR-I:OPRO <*> Passed - Expected Event Msg 5 rcv'd. +21-236-11:28:38.163 00 CMH-I:CMD Command is /SCX_CPU1_DS_GETFILEINFO ;;; (The Get File Info command) +21-236-11:28:38.164 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-11:28:38.188 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:28:39.009 00 TLMH-I:STS 58-012-14:12:36.003 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-11:28:39.190 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:28:39.193 00 SPR-I:OPRO <*> Passed (2000) - Passed packet counter incremented properly. +21-236-11:28:39.197 00 SPR-I:OPRO <*> Passed (2002.1;3000;3000.1;3000.1.1) - A file was created with name '/ram/seq100000103.dat' +21-236-11:28:39.235 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:28:44.239 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:28:44.240 00 SPR-I:OPRO ; Step 2.18: Close the Destination File opened in the above step. +21-236-11:28:44.240 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:28:44.244 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:28:44.244 00 SPR-I:OPRO ; Setup event 1 with DS DEBUG 59 +21-236-11:28:44.244 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:28:44.245 00 CMH-I:CMD Command is /SCX_CPU1_DS_CLOSEFILE FILEINDEX= 0 (x0) ;;; (SCX CPU1 DS Close Destination File command) +21-236-11:28:44.245 00 CMH-I:CMD Command SFDU received:<18BBC00000050E9700000000> from gs582cfslab4:SPR +21-236-11:28:44.259 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:28:45.010 00 TLMH-I:STS 58-012-14:12:42.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=59 DEST CLOSE command: file table index = 0 +21-236-11:28:47.262 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:28:47.263 00 SPR-I:OPRO <*> Passed (1004;5002) - DS Close File command sent properly. +21-236-11:28:47.271 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:28:47.272 00 SPR-I:OPRO <*> Passed (1004;5002) - Expected Event Msg 59 rcv'd. +21-236-11:28:47.303 00 SPR-I:OPRO ==> Downloading '/ram/seq100000103.dat' +21-236-11:28:47.327 00 SPR-I:OPRO ==> FileName Only = 'seq100000103.dat' +21-236-11:28:47.328 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/ftp_file.i +21-236-11:28:47.328 00 SPR-I:STS Procedure FTP_FILE started +21-236-11:28:47.420 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-11:28:47.420 00 SPR-I:STS Procedure FTP_FILE completed +21-236-11:28:47.421 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:28:52.425 00 SPR-I:OPRO ;********************************************************************* +21-236-11:28:52.425 00 SPR-I:OPRO ; Step 3.0: Commanding Tests +21-236-11:28:52.425 00 SPR-I:OPRO ;********************************************************************* +21-236-11:28:52.425 00 SPR-I:OPRO ; Step 3.1: Using the Packet Filter Table entry from Step 2.18, send +21-236-11:28:52.426 00 SPR-I:OPRO ; the Set File Index command using a different Destination File index. +21-236-11:28:52.426 00 SPR-I:OPRO ;********************************************************************* +21-236-11:28:52.464 00 SPR-I:OPRO ==> Found file entry at 1 +21-236-11:28:52.467 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:28:52.467 00 SPR-I:OPRO ; Setup event 1 with DS DEBUG 37 +21-236-11:28:52.467 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:28:52.469 00 CMH-I:CMD Command is /SCX_CPU1_DS_SETFILTERFILE MESSAGEID= 2309 (x905) PARAMINDEX= 0 (x0) FILEINDEX= 1 (x1) ;;; (SCX CPU1 DS Set Filter File Selection command) +21-236-11:28:52.469 00 CMH-I:CMD Command SFDU received:<18BBC0000009039B0000090500000001> from gs582cfslab4:SPR +21-236-11:28:52.477 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:28:53.015 00 TLMH-I:STS 58-012-14:12:50.002 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=37 FILTER FILE command: MID = 0x00000905, index = 5, filter = 0, file = 1 +21-236-11:28:55.480 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:28:55.482 00 SPR-I:OPRO <*> Passed (1004;5008) - DS Set Filter File command sent properly. +21-236-11:28:55.490 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:28:55.491 00 SPR-I:OPRO <*> Passed (1004;5008) - Expected Event Msg 37 rcv'd. +21-236-11:28:55.517 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:29:00.521 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:29:00.521 00 SPR-I:OPRO ; Step 3.2: Dump the Packet Filter Table. +21-236-11:29:00.521 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:29:00.522 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/get_tbl_to_cvt.i +21-236-11:29:00.524 00 SPR-I:STS Procedure GET_TBL_TO_CVT started +21-236-11:29:00.529 00 SPR-I:OPRO Sending Command: /SCX_CPU1_TBL_DUMP ACTIVE DTABLENAME="DS.FILTER_TBL" DFILENAME="/ram/cpu1_filtertbl32" +21-236-11:29:00.530 00 CMH-I:CMD Command is /SCX_CPU1_TBL_DUMP ACTIVE DTABLENAME="DS.FILTER_TBL" DFILENAME="/ram/cpu1_filtertbl32" ;;; (SCX CPU1 TBL dump table command) +21-236-11:29:00.530 00 CMH-I:CMD Command SFDU received:<1804C000006B037B000144532E46494C5445525F54424C0000000000000000000000000000000000000000000000000000002F72616D2F637075315F66696C74657274626C333200000000000000000000000000000000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-236-11:29:00.531 00 SPR-I:STTE Wait mode - waiting 15 seconds ... +21-236-11:29:01.009 00 TLMH-I:STS 58-012-14:12:58.003 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=14 Successfully dumped Table 'DS.FILTER_TBL' to '/ram/cpu1_filtertbl32' +21-236-11:29:15.542 00 SPR-I:OPRO +21-236-11:29:15.542 00 SPR-I:OPRO The TBLNAME is: DS.FILTER_TBL +21-236-11:29:15.542 00 SPR-I:OPRO The APID is: P0F77 +21-236-11:29:15.542 00 SPR-I:OPRO The CPU is: CPU3 +21-236-11:29:15.543 00 SPR-I:OPRO The IP Address is: 192.168.1.8 +21-236-11:29:15.546 00 SPR-I:OPRO The perl command is: perl /s/opr/accounts/global/tools/ftp.pl RAM:0 cpu1_filtertbl32 cpu1_filtertbl32 binary 192.168.1.8 +21-236-11:29:15.694 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-11:29:15.694 00 SPR-I:STTE Wait mode - waiting 15 seconds ... +21-236-11:29:30.706 00 SPR-I:OPRO +21-236-11:29:30.743 00 SPR-I:OPRO The unix command is cvt -ws file_list[3959].file_write_time "`date +%y-%j-%T -r /s/opr/accounts/cfs_test/image/cpu1_filtertbl32`" +21-236-11:29:30.746 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:29:35.750 00 SPR-I:STS Procedure GET_TBL_TO_CVT completed +21-236-11:29:35.753 00 SPR-I:OPRO <*> Passed (5008) - Parameter changes are reflected in the table. +21-236-11:29:35.757 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:29:40.765 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:29:40.765 00 SPR-I:OPRO ; Step 3.3: Send the TST_DS command to send a message to DS using the +21-236-11:29:40.766 00 SPR-I:OPRO ; MessageID used above. Send a message that will not exceed the file +21-236-11:29:40.766 00 SPR-I:OPRO ; size constraint. The HK should contain info about the file opened. +21-236-11:29:40.766 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:29:40.774 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:29:40.775 00 SPR-I:OPRO ; Setup event 1 with TST_DS INFO 5 +21-236-11:29:40.775 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:29:40.779 00 CMH-I:CMD Command is /SCX_CPU1_TST_DS_SENDMESSAGE MSGID= 2309 (x905) MSGTYPE= 1 (x1) PATTERN= 170 (xAA) ;;; (SCX CPU1 TST_DS Send Message command code) +21-236-11:29:40.779 00 CMH-I:CMD Command SFDU received:<1943C000000903C80000090501AA0000> from gs582cfslab4:SPR +21-236-11:29:40.800 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:29:41.510 00 TLMH-I:STS 58-012-14:13:38.501 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Message Size 116 to MID 0x00000905 +21-236-11:29:41.801 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:29:41.804 00 SPR-I:OPRO <*> Passed - Expected Event Msg 5 rcv'd. +21-236-11:29:41.806 00 CMH-I:CMD Command is /SCX_CPU1_DS_GETFILEINFO ;;; (The Get File Info command) +21-236-11:29:41.806 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-11:29:41.833 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:29:42.511 00 TLMH-I:STS 58-012-14:13:39.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-11:29:43.835 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:29:43.838 00 SPR-I:OPRO <*> Passed (2000) - Passed packet counter incremented properly. +21-236-11:29:43.843 00 SPR-I:OPRO <*> Passed (2002.1;3000) - A file was created with name '/ram/seq200000205.dat' +21-236-11:29:43.886 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:29:43.886 00 SPR-I:OPRO ; Setup event 1 with DS DEBUG 59 +21-236-11:29:43.886 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:29:43.887 00 CMH-I:CMD Command is /SCX_CPU1_DS_CLOSEFILE FILEINDEX= 1 (x1) ;;; (SCX CPU1 DS Close Destination File command) +21-236-11:29:43.887 00 CMH-I:CMD Command SFDU received:<18BBC00000050E9600010000> from gs582cfslab4:SPR +21-236-11:29:43.901 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:29:44.511 00 TLMH-I:STS 58-012-14:13:41.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=59 DEST CLOSE command: file table index = 1 +21-236-11:29:47.906 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:29:47.908 00 SPR-I:OPRO <*> Passed (1004;5002) - DS Close File command sent properly. +21-236-11:29:47.916 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:29:47.917 00 SPR-I:OPRO <*> Passed (1004;5002) - Expected Event Msg 59 rcv'd. +21-236-11:29:47.945 00 SPR-I:OPRO ==> Downloading '/ram/seq200000205.dat' +21-236-11:29:47.946 00 SPR-I:OPRO ==> FileName Only = 'seq200000205.dat' +21-236-11:29:47.965 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/ftp_file.i +21-236-11:29:47.966 00 SPR-I:STS Procedure FTP_FILE started +21-236-11:29:48.062 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-11:29:48.062 00 SPR-I:STS Procedure FTP_FILE completed +21-236-11:29:48.063 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:29:53.067 00 SPR-I:OPRO ;********************************************************************* +21-236-11:29:53.067 00 SPR-I:OPRO ; Step 3.4: Send the Set File Index command with an invalid length. +21-236-11:29:53.067 00 SPR-I:OPRO ;********************************************************************* +21-236-11:29:53.069 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:29:53.069 00 SPR-I:OPRO ; Setup event 1 with DS ERROR 38 +21-236-11:29:53.069 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:29:53.074 00 SPR-I:OPRO Sending: 18BBc0000008038F +21-236-11:29:53.076 00 CMH-I:CMD Command SFDU received:<18BBC0000008038F> from gs582cfslab4:SPR +21-236-11:29:53.091 00 SPR-I:OPRO ; Telemetry update will wait a maximum of 24 seconds +21-236-11:29:53.092 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:29:54.014 00 TLMH-I:STS 58-012-14:13:51.001 ERROR CPU=CPU1 APPNAME=DS EVENT ID=38 Invalid FILTER FILE command length: expected = 16, actual = 15 +21-236-11:29:55.094 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:29:55.110 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:29:55.112 00 SPR-I:OPRO <*> Passed (1002;1005) - Command Rejected Counter incremented. +21-236-11:29:55.120 00 SPR-I:OPRO <*> Passed (1005) - Event message 38 received +21-236-11:29:55.161 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:30:00.166 00 SPR-I:OPRO ;********************************************************************* +21-236-11:30:00.166 00 SPR-I:OPRO ; Step 3.5: Send the Set File Index command with invalid arguments. +21-236-11:30:00.166 00 SPR-I:OPRO ;********************************************************************* +21-236-11:30:00.166 00 SPR-I:OPRO ; Step 3.5.1: Send the Set File Index command with message ID that +21-236-11:30:00.166 00 SPR-I:OPRO ; does not exist in the table. +21-236-11:30:00.166 00 SPR-I:OPRO ;********************************************************************* +21-236-11:30:00.173 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:30:00.173 00 SPR-I:OPRO ; Setup event 1 with DS ERROR 38 +21-236-11:30:00.173 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:30:00.177 00 CMH-I:CMD Command is /SCX_CPU1_DS_SETFILTERFILE MESSAGEID= 62277 (xF345) PARAMINDEX= 0 (x0) FILEINDEX= 1 (x1) ;;; (SCX CPU1 DS Set Filter File Selection command) +21-236-11:30:00.177 00 CMH-I:CMD Command SFDU received:<18BBC000000903210000F34500000001> from gs582cfslab4:SPR +21-236-11:30:00.203 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:30:01.013 00 TLMH-I:STS 58-012-14:13:58.001 ERROR CPU=CPU1 APPNAME=DS EVENT ID=38 Invalid FILTER FILE command: Message ID 0x0000F345 is not in filter table +21-236-11:30:03.207 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:30:03.209 00 SPR-I:OPRO <*> Passed (1005) - DS Set Filter File command failed as expected. +21-236-11:30:03.215 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:30:03.215 00 SPR-I:OPRO <*> Passed (1005) - Expected Event Msg 38 rcv'd. +21-236-11:30:03.216 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:30:08.235 00 SPR-I:OPRO ;********************************************************************* +21-236-11:30:08.235 00 SPR-I:OPRO ; Step 3.5.2: Send the Set File Index command with an invalid +21-236-11:30:08.236 00 SPR-I:OPRO ; parameter index. +21-236-11:30:08.236 00 SPR-I:OPRO ;********************************************************************* +21-236-11:30:08.243 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:30:08.243 00 SPR-I:OPRO ; Setup event 1 with DS ERROR 38 +21-236-11:30:08.244 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:30:08.248 00 CMH-I:CMD Command is /SCX_CPU1_DS_SETFILTERFILE MESSAGEID= 2309 (x905) PARAMINDEX= 4 (x4) FILEINDEX= 1 (x1) ;;; (SCX CPU1 DS Set Filter File Selection command) +21-236-11:30:08.248 00 CMH-I:CMD Command SFDU received:<18BBC0000009039F0000090500040001> from gs582cfslab4:SPR +21-236-11:30:08.272 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:30:09.017 00 TLMH-I:STS 58-012-14:14:06.001 ERROR CPU=CPU1 APPNAME=DS EVENT ID=38 Invalid FILTER FILE command arg: filter parameters index = 4 +21-236-11:30:11.275 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:30:11.278 00 SPR-I:OPRO <*> Passed (1005) - DS Set Filter File command failed as expected. +21-236-11:30:11.296 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:30:11.299 00 SPR-I:OPRO <*> Passed (1005) - Expected Event Msg 38 rcv'd. +21-236-11:30:11.303 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:30:16.337 00 SPR-I:OPRO ;********************************************************************* +21-236-11:30:16.337 00 SPR-I:OPRO ; Step 3.5.3: Send the Set File Index command with an invalid +21-236-11:30:16.337 00 SPR-I:OPRO ; file index. +21-236-11:30:16.338 00 SPR-I:OPRO ;********************************************************************* +21-236-11:30:16.346 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:30:16.347 00 SPR-I:OPRO ; Setup event 1 with DS ERROR 38 +21-236-11:30:16.347 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:30:16.351 00 CMH-I:CMD Command is /SCX_CPU1_DS_SETFILTERFILE MESSAGEID= 2309 (x905) PARAMINDEX= 0 (x0) FILEINDEX= 16 (x10) ;;; (SCX CPU1 DS Set Filter File Selection command) +21-236-11:30:16.351 00 CMH-I:CMD Command SFDU received:<18BBC0000009038A0000090500000010> from gs582cfslab4:SPR +21-236-11:30:16.375 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:30:17.015 00 TLMH-I:STS 58-012-14:14:14.001 ERROR CPU=CPU1 APPNAME=DS EVENT ID=38 Invalid FILTER FILE command arg: file table index = 16 +21-236-11:30:19.378 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:30:19.380 00 SPR-I:OPRO <*> Passed (1005) - DS Set Filter File command failed as expected. +21-236-11:30:19.386 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:30:19.386 00 SPR-I:OPRO <*> Passed (1005) - Expected Event Msg 38 rcv'd. +21-236-11:30:19.387 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:30:24.406 00 SPR-I:OPRO ;********************************************************************* +21-236-11:30:24.407 00 SPR-I:OPRO ; Step 3.6: Send the Set Filter Type command. +21-236-11:30:24.407 00 SPR-I:OPRO ;********************************************************************* +21-236-11:30:24.415 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:30:24.416 00 SPR-I:OPRO ; Setup event 1 with DS DEBUG 39 +21-236-11:30:24.416 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:30:24.421 00 CMH-I:CMD Command is /SCX_CPU1_DS_SETFILTERTYPE MESSAGEID= 2309 (x905) PARAMINDEX= 0 (x0) FILTERTYPE= 1 (x1) ;;; (SCX CPU1 DS Set Filter Type command) +21-236-11:30:24.421 00 CMH-I:CMD Command SFDU received:<18BBC0000009049C0000090500000001> from gs582cfslab4:SPR +21-236-11:30:24.450 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:30:25.015 00 TLMH-I:STS 58-012-14:14:22.002 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=39 FILTER TYPE command: MID = 0x00000905, index = 5, filter = 0, type = 1 +21-236-11:30:27.453 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:30:27.455 00 SPR-I:OPRO <*> Passed (1004;5009) - DS Set Filter Type command sent properly. +21-236-11:30:27.474 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:30:27.476 00 SPR-I:OPRO <*> Passed (1004;5009) - Expected Event Msg 39 rcv'd. +21-236-11:30:27.521 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:30:32.525 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:30:32.525 00 SPR-I:OPRO ; Step 3.7: Dump the Packet Filter Table. +21-236-11:30:32.526 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:30:32.526 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/get_tbl_to_cvt.i +21-236-11:30:32.529 00 SPR-I:STS Procedure GET_TBL_TO_CVT started +21-236-11:30:32.553 00 SPR-I:OPRO Sending Command: /SCX_CPU1_TBL_DUMP ACTIVE DTABLENAME="DS.FILTER_TBL" DFILENAME="/ram/cpu1_filtertbl37" +21-236-11:30:32.554 00 CMH-I:CMD Command is /SCX_CPU1_TBL_DUMP ACTIVE DTABLENAME="DS.FILTER_TBL" DFILENAME="/ram/cpu1_filtertbl37" ;;; (SCX CPU1 TBL dump table command) +21-236-11:30:32.555 00 CMH-I:CMD Command SFDU received:<1804C000006B037E000144532E46494C5445525F54424C0000000000000000000000000000000000000000000000000000002F72616D2F637075315F66696C74657274626C333700000000000000000000000000000000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-236-11:30:32.575 00 SPR-I:STTE Wait mode - waiting 15 seconds ... +21-236-11:30:33.015 00 TLMH-I:STS 58-012-14:14:30.003 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=14 Successfully dumped Table 'DS.FILTER_TBL' to '/ram/cpu1_filtertbl37' +21-236-11:30:47.585 00 SPR-I:OPRO +21-236-11:30:47.585 00 SPR-I:OPRO The TBLNAME is: DS.FILTER_TBL +21-236-11:30:47.586 00 SPR-I:OPRO The APID is: P0F77 +21-236-11:30:47.586 00 SPR-I:OPRO The CPU is: CPU3 +21-236-11:30:47.586 00 SPR-I:OPRO The IP Address is: 192.168.1.8 +21-236-11:30:47.589 00 SPR-I:OPRO The perl command is: perl /s/opr/accounts/global/tools/ftp.pl RAM:0 cpu1_filtertbl37 cpu1_filtertbl37 binary 192.168.1.8 +21-236-11:30:47.772 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-11:30:47.772 00 SPR-I:STTE Wait mode - waiting 15 seconds ... +21-236-11:31:02.785 00 SPR-I:OPRO +21-236-11:31:02.800 00 SPR-I:OPRO The unix command is cvt -ws file_list[3959].file_write_time "`date +%y-%j-%T -r /s/opr/accounts/cfs_test/image/cpu1_filtertbl37`" +21-236-11:31:02.800 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:31:07.804 00 SPR-I:STS Procedure GET_TBL_TO_CVT completed +21-236-11:31:07.807 00 SPR-I:OPRO <*> Passed (5009) - Parameter changes are reflected in the table. +21-236-11:31:07.812 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:31:12.816 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:31:12.816 00 SPR-I:OPRO ; Step 3.8: Send the TST_DS command to send a message to DS using the +21-236-11:31:12.817 00 SPR-I:OPRO ; MessageID used above. Send a message that will not exceed the file +21-236-11:31:12.817 00 SPR-I:OPRO ; size constraint. The HK should contain info about the file opened. +21-236-11:31:12.817 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:31:12.823 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:31:12.824 00 SPR-I:OPRO ; Setup event 1 with TST_DS INFO 5 +21-236-11:31:12.824 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:31:12.828 00 CMH-I:CMD Command is /SCX_CPU1_TST_DS_SENDMESSAGE MSGID= 2309 (x905) MSGTYPE= 1 (x1) PATTERN= 85 (x55) ;;; (SCX CPU1 TST_DS Send Message command code) +21-236-11:31:12.828 00 CMH-I:CMD Command SFDU received:<1943C000000903370000090501550000> from gs582cfslab4:SPR +21-236-11:31:12.856 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:31:13.511 00 TLMH-I:STS 58-012-14:15:10.501 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Message Size 116 to MID 0x00000905 +21-236-11:31:13.856 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:31:13.859 00 SPR-I:OPRO <*> Passed - Expected Event Msg 5 rcv'd. +21-236-11:31:13.861 00 CMH-I:CMD Command is /SCX_CPU1_DS_GETFILEINFO ;;; (The Get File Info command) +21-236-11:31:13.861 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-11:31:13.892 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:31:14.515 00 TLMH-I:STS 58-012-14:15:11.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-11:31:15.895 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:31:15.897 00 SPR-I:OPRO <*> Passed (2000) - Passed packet counter incremented properly. +21-236-11:31:15.902 00 SPR-I:OPRO <*> Passed (2002.1;3000) - A file was created with name '/ram/seq200000206.dat' +21-236-11:31:15.946 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:31:15.946 00 SPR-I:OPRO ; Setup event 1 with DS DEBUG 59 +21-236-11:31:15.946 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:31:15.948 00 CMH-I:CMD Command is /SCX_CPU1_DS_CLOSEFILE FILEINDEX= 1 (x1) ;;; (SCX CPU1 DS Close Destination File command) +21-236-11:31:15.948 00 CMH-I:CMD Command SFDU received:<18BBC00000050E9600010000> from gs582cfslab4:SPR +21-236-11:31:15.953 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:31:16.512 00 TLMH-I:STS 58-012-14:15:13.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=59 DEST CLOSE command: file table index = 1 +21-236-11:31:19.958 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:31:19.960 00 SPR-I:OPRO <*> Passed (1004;5002) - DS Close File command sent properly. +21-236-11:31:19.968 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:31:19.968 00 SPR-I:OPRO <*> Passed (1004;5002) - Expected Event Msg 59 rcv'd. +21-236-11:31:19.991 00 SPR-I:OPRO ==> Downloading '/ram/seq200000206.dat' +21-236-11:31:19.991 00 SPR-I:OPRO ==> FileName Only = 'seq200000206.dat' +21-236-11:31:20.009 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/ftp_file.i +21-236-11:31:20.009 00 SPR-I:STS Procedure FTP_FILE started +21-236-11:31:20.108 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-11:31:20.108 00 SPR-I:STS Procedure FTP_FILE completed +21-236-11:31:20.108 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:31:25.112 00 SPR-I:OPRO ;********************************************************************* +21-236-11:31:25.112 00 SPR-I:OPRO ; Step 3.9: Send the Set Filter Type command with an invalid length. +21-236-11:31:25.112 00 SPR-I:OPRO ;********************************************************************* +21-236-11:31:25.115 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:31:25.115 00 SPR-I:OPRO ; Setup event 1 with DS ERROR 40 +21-236-11:31:25.115 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:31:25.121 00 SPR-I:OPRO Sending: 18BBc0000008049E +21-236-11:31:25.122 00 CMH-I:CMD Command SFDU received:<18BBC0000008049E> from gs582cfslab4:SPR +21-236-11:31:25.137 00 SPR-I:OPRO ; Telemetry update will wait a maximum of 24 seconds +21-236-11:31:25.137 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:31:26.008 00 TLMH-I:STS 58-012-14:15:23.001 ERROR CPU=CPU1 APPNAME=DS EVENT ID=40 Invalid FILTER TYPE command length: expected = 16, actual = 15 +21-236-11:31:27.139 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:31:27.147 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:31:27.147 00 SPR-I:OPRO <*> Passed (1002;1005) - Command Rejected Counter incremented. +21-236-11:31:27.148 00 SPR-I:OPRO <*> Passed (1005) - Event message 40 received +21-236-11:31:27.170 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:31:32.175 00 SPR-I:OPRO ;********************************************************************* +21-236-11:31:32.175 00 SPR-I:OPRO ; Step 3.10: Send the Set Filter Type command with invalid arguments. +21-236-11:31:32.175 00 SPR-I:OPRO ;********************************************************************* +21-236-11:31:32.175 00 SPR-I:OPRO ; Step 3.10.1: Send the Set Filter Type command with an invalid message +21-236-11:31:32.175 00 SPR-I:OPRO ;********************************************************************* +21-236-11:31:32.183 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:31:32.184 00 SPR-I:OPRO ; Setup event 1 with DS ERROR 40 +21-236-11:31:32.184 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:31:32.189 00 CMH-I:CMD Command is /SCX_CPU1_DS_SETFILTERTYPE MESSAGEID= 4933 (x1345) PARAMINDEX= 0 (x0) FILTERTYPE= 1 (x1) ;;; (SCX CPU1 DS Set Filter Type command) +21-236-11:31:32.190 00 CMH-I:CMD Command SFDU received:<18BBC000000904C60000134500000001> from gs582cfslab4:SPR +21-236-11:31:32.213 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:31:33.008 00 TLMH-I:STS 58-012-14:15:30.001 ERROR CPU=CPU1 APPNAME=DS EVENT ID=40 Invalid FILTER TYPE command: Message ID 0x00001345 is not in filter table +21-236-11:31:35.216 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:31:35.219 00 SPR-I:OPRO <*> Passed (1005) - DS Set Filter Type command failed as expected. +21-236-11:31:35.224 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:31:35.225 00 SPR-I:OPRO <*> Passed (1005) - Expected Event Msg 40 rcv'd. +21-236-11:31:35.226 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:31:40.245 00 SPR-I:OPRO ;********************************************************************* +21-236-11:31:40.245 00 SPR-I:OPRO ; Step 3.10.2: Send the Set Filter Type command with an invalid +21-236-11:31:40.245 00 SPR-I:OPRO ; parameter index. +21-236-11:31:40.245 00 SPR-I:OPRO ;********************************************************************* +21-236-11:31:40.253 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:31:40.253 00 SPR-I:OPRO ; Setup event 1 with DS ERROR 40 +21-236-11:31:40.253 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:31:40.257 00 CMH-I:CMD Command is /SCX_CPU1_DS_SETFILTERTYPE MESSAGEID= 2309 (x905) PARAMINDEX= 4 (x4) FILTERTYPE= 1 (x1) ;;; (SCX CPU1 DS Set Filter Type command) +21-236-11:31:40.258 00 CMH-I:CMD Command SFDU received:<18BBC000000904980000090500040001> from gs582cfslab4:SPR +21-236-11:31:40.281 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:31:41.007 00 TLMH-I:STS 58-012-14:15:38.001 ERROR CPU=CPU1 APPNAME=DS EVENT ID=40 Invalid FILTER TYPE command arg: filter parameters index = 4 +21-236-11:31:43.285 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:31:43.287 00 SPR-I:OPRO <*> Passed (1005) - DS Set Filter Type command failed as expected. +21-236-11:31:43.305 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:31:43.308 00 SPR-I:OPRO <*> Passed (1005) - Expected Event Msg 40 rcv'd. +21-236-11:31:43.313 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:31:48.346 00 SPR-I:OPRO ;********************************************************************* +21-236-11:31:48.346 00 SPR-I:OPRO ; Step 3.10.3: Send the Set Filter Type command with an invalid filter +21-236-11:31:48.346 00 SPR-I:OPRO ; type. +21-236-11:31:48.347 00 SPR-I:OPRO ;********************************************************************* +21-236-11:31:48.349 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:31:48.349 00 SPR-I:OPRO ; Setup event 1 with DS ERROR 40 +21-236-11:31:48.349 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:31:48.351 00 CMH-I:CMD Command is /SCX_CPU1_DS_SETFILTERTYPE MESSAGEID= 2309 (x905) PARAMINDEX= 0 (x0) FILTERTYPE= 3 (x3) ;;; (SCX CPU1 DS Set Filter Type command) +21-236-11:31:48.351 00 CMH-I:CMD Command SFDU received:<18BBC0000009049E0000090500000003> from gs582cfslab4:SPR +21-236-11:31:48.368 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:31:49.011 00 TLMH-I:STS 58-012-14:15:46.001 ERROR CPU=CPU1 APPNAME=DS EVENT ID=40 Invalid FILTER TYPE command arg: filter type = 3 +21-236-11:31:51.371 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:31:51.374 00 SPR-I:OPRO <*> Passed (1005) - DS Set Filter Type command failed as expected. +21-236-11:31:51.392 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:31:51.405 00 SPR-I:OPRO <*> Passed (1005) - Expected Event Msg 40 rcv'd. +21-236-11:31:51.407 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:31:56.411 00 SPR-I:OPRO ;********************************************************************* +21-236-11:31:56.411 00 SPR-I:OPRO ; Step 3.11: Send the Set Filter Parameter command. +21-236-11:31:56.411 00 SPR-I:OPRO ;********************************************************************* +21-236-11:31:56.419 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:31:56.420 00 SPR-I:OPRO ; Setup event 1 with DS DEBUG 41 +21-236-11:31:56.420 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:31:56.424 00 CMH-I:CMD Command is /SCX_CPU1_DS_SETFILTERPARAMS MESSAGEID= 2309 (x905) PARAMINDEX= 0 (x0) N_VALUE= 4 (x4) X_VALUE= 6 (x6) O_VALUE= 2 (x2) ;;; (SCX CPU1 DS Set Filter Paramaters command) +21-236-11:31:56.424 00 CMH-I:CMD Command SFDU received:<18BBC000000D0598000009050000000400060002> from gs582cfslab4:SPR +21-236-11:31:56.444 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:31:57.010 00 TLMH-I:STS 58-012-14:15:54.003 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=41 FILTER PARMS command: MID = 0x00000905, index = 5, filter = 0, N = 4, X = 6, O = 2 +21-236-11:31:59.447 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:31:59.450 00 SPR-I:OPRO <*> Passed (1004;5010) - DS Set Filter Parameters command sent properly. +21-236-11:31:59.473 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:31:59.476 00 SPR-I:OPRO <*> Passed (1004;5010) - Expected Event Msg 41 rcv'd. +21-236-11:31:59.481 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:32:04.519 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:32:04.519 00 SPR-I:OPRO ; Step 3.12: Dump the Packet Filter Table. +21-236-11:32:04.519 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:32:04.520 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/get_tbl_to_cvt.i +21-236-11:32:04.522 00 SPR-I:STS Procedure GET_TBL_TO_CVT started +21-236-11:32:04.530 00 SPR-I:OPRO Sending Command: /SCX_CPU1_TBL_DUMP ACTIVE DTABLENAME="DS.FILTER_TBL" DFILENAME="/ram/cpu1_filtertbl312" +21-236-11:32:04.530 00 CMH-I:CMD Command is /SCX_CPU1_TBL_DUMP ACTIVE DTABLENAME="DS.FILTER_TBL" DFILENAME="/ram/cpu1_filtertbl312" ;;; (SCX CPU1 TBL dump table command) +21-236-11:32:04.530 00 CMH-I:CMD Command SFDU received:<1804C000006B034A000144532E46494C5445525F54424C0000000000000000000000000000000000000000000000000000002F72616D2F637075315F66696C74657274626C333132000000000000000000000000000000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-236-11:32:04.541 00 SPR-I:STTE Wait mode - waiting 15 seconds ... +21-236-11:32:05.011 00 TLMH-I:STS 58-012-14:16:02.003 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=14 Successfully dumped Table 'DS.FILTER_TBL' to '/ram/cpu1_filtertbl312' +21-236-11:32:19.553 00 SPR-I:OPRO +21-236-11:32:19.554 00 SPR-I:OPRO The TBLNAME is: DS.FILTER_TBL +21-236-11:32:19.554 00 SPR-I:OPRO The APID is: P0F77 +21-236-11:32:19.554 00 SPR-I:OPRO The CPU is: CPU3 +21-236-11:32:19.555 00 SPR-I:OPRO The IP Address is: 192.168.1.8 +21-236-11:32:19.559 00 SPR-I:OPRO The perl command is: perl /s/opr/accounts/global/tools/ftp.pl RAM:0 cpu1_filtertbl312 cpu1_filtertbl312 binary 192.168.1.8 +21-236-11:32:19.736 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-11:32:19.736 00 SPR-I:STTE Wait mode - waiting 15 seconds ... +21-236-11:32:34.749 00 SPR-I:OPRO +21-236-11:32:34.762 00 SPR-I:OPRO The unix command is cvt -ws file_list[3959].file_write_time "`date +%y-%j-%T -r /s/opr/accounts/cfs_test/image/cpu1_filtertbl312`" +21-236-11:32:34.762 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:32:39.767 00 SPR-I:STS Procedure GET_TBL_TO_CVT completed +21-236-11:32:39.771 00 SPR-I:OPRO <*> Passed (5010) - Parameter changes are reflected in the table. +21-236-11:32:39.774 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:32:44.778 00 SPR-I:OPRO ;********************************************************************* +21-236-11:32:44.778 00 SPR-I:OPRO ; Step 3.13: Determine if the Filtering Algorithm works properly for +21-236-11:32:44.778 00 SPR-I:OPRO ; Sequence based filtering. +21-236-11:32:44.778 00 SPR-I:OPRO ;********************************************************************* +21-236-11:32:44.779 00 SPR-I:OPRO ; Step 3.13.1: Determine if the Filter Type is set to Sequence based. +21-236-11:32:44.779 00 SPR-I:OPRO ;********************************************************************* +21-236-11:32:44.780 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:32:49.784 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:32:49.784 00 SPR-I:OPRO ; Step 3.13.2: Send the TST_DS command to send a message to DS using +21-236-11:32:49.784 00 SPR-I:OPRO ; the MessageID used above. Send 'X' messages. The HK should contain +21-236-11:32:49.784 00 SPR-I:OPRO ; information about the file opened. +21-236-11:32:49.784 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:32:49.786 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:32:49.786 00 SPR-I:OPRO ; Setup event 1 with TST_DS INFO 5 +21-236-11:32:49.786 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:32:49.787 00 CMH-I:CMD Command is /SCX_CPU1_TST_DS_SENDMESSAGE MSGID= 2309 (x905) MSGTYPE= 1 (x1) PATTERN= 1 (x1) ;;; (SCX CPU1 TST_DS Send Message command code) +21-236-11:32:49.787 00 CMH-I:CMD Command SFDU received:<1943C000000903630000090501010000> from gs582cfslab4:SPR +21-236-11:32:49.798 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:32:50.513 00 TLMH-I:STS 58-012-14:16:47.501 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Message Size 116 to MID 0x00000905 +21-236-11:32:54.805 00 CMH-I:CMD Command is /SCX_CPU1_TST_DS_SENDMESSAGE MSGID= 2309 (x905) MSGTYPE= 1 (x1) PATTERN= 2 (x2) ;;; (SCX CPU1 TST_DS Send Message command code) +21-236-11:32:54.805 00 CMH-I:CMD Command SFDU received:<1943C000000903600000090501020000> from gs582cfslab4:SPR +21-236-11:32:54.819 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:32:55.515 00 TLMH-I:STS 58-012-14:16:52.500 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Message Size 116 to MID 0x00000905 +21-236-11:32:59.827 00 CMH-I:CMD Command is /SCX_CPU1_TST_DS_SENDMESSAGE MSGID= 2309 (x905) MSGTYPE= 1 (x1) PATTERN= 3 (x3) ;;; (SCX CPU1 TST_DS Send Message command code) +21-236-11:32:59.827 00 CMH-I:CMD Command SFDU received:<1943C000000903610000090501030000> from gs582cfslab4:SPR +21-236-11:32:59.841 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:33:00.513 00 TLMH-I:STS 58-012-14:16:57.500 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Message Size 116 to MID 0x00000905 +21-236-11:33:04.846 00 CMH-I:CMD Command is /SCX_CPU1_TST_DS_SENDMESSAGE MSGID= 2309 (x905) MSGTYPE= 1 (x1) PATTERN= 4 (x4) ;;; (SCX CPU1 TST_DS Send Message command code) +21-236-11:33:04.846 00 CMH-I:CMD Command SFDU received:<1943C000000903660000090501040000> from gs582cfslab4:SPR +21-236-11:33:04.858 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:33:05.508 00 TLMH-I:STS 58-012-14:17:02.500 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Message Size 116 to MID 0x00000905 +21-236-11:33:09.865 00 CMH-I:CMD Command is /SCX_CPU1_TST_DS_SENDMESSAGE MSGID= 2309 (x905) MSGTYPE= 1 (x1) PATTERN= 5 (x5) ;;; (SCX CPU1 TST_DS Send Message command code) +21-236-11:33:09.866 00 CMH-I:CMD Command SFDU received:<1943C000000903670000090501050000> from gs582cfslab4:SPR +21-236-11:33:09.877 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:33:10.514 00 TLMH-I:STS 58-012-14:17:07.500 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Message Size 116 to MID 0x00000905 +21-236-11:33:14.885 00 CMH-I:CMD Command is /SCX_CPU1_TST_DS_SENDMESSAGE MSGID= 2309 (x905) MSGTYPE= 1 (x1) PATTERN= 6 (x6) ;;; (SCX CPU1 TST_DS Send Message command code) +21-236-11:33:14.885 00 CMH-I:CMD Command SFDU received:<1943C000000903640000090501060000> from gs582cfslab4:SPR +21-236-11:33:14.898 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:33:15.512 00 TLMH-I:STS 58-012-14:17:12.500 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Message Size 116 to MID 0x00000905 +21-236-11:33:19.903 00 SPR-I:OPRO <*> Passed - Expected Event Msgs 5 rcv'd. +21-236-11:33:19.905 00 CMH-I:CMD Command is /SCX_CPU1_DS_GETFILEINFO ;;; (The Get File Info command) +21-236-11:33:19.905 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-11:33:19.932 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:33:20.509 00 TLMH-I:STS 58-012-14:17:17.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-11:33:23.937 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:33:23.941 00 SPR-I:OPRO <*> Passed (2000) - Passed packet counter incremented properly. +21-236-11:33:23.947 00 SPR-I:OPRO <*> Passed (2002.1;2003;2003.1;3000) - A file was created with name '/ram/seq200000207.dat' +21-236-11:33:23.984 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:33:23.984 00 SPR-I:OPRO ; Step 3.13.3: Close and download the file created above. +21-236-11:33:23.984 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:33:23.986 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:33:23.987 00 SPR-I:OPRO ; Setup event 1 with DS DEBUG 59 +21-236-11:33:23.987 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:33:24.015 00 CMH-I:CMD Command is /SCX_CPU1_DS_CLOSEFILE FILEINDEX= 1 (x1) ;;; (SCX CPU1 DS Close Destination File command) +21-236-11:33:24.015 00 CMH-I:CMD Command SFDU received:<18BBC00000050E9600010000> from gs582cfslab4:SPR +21-236-11:33:24.029 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:33:24.513 00 TLMH-I:STS 58-012-14:17:21.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=59 DEST CLOSE command: file table index = 1 +21-236-11:33:27.033 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:33:27.036 00 SPR-I:OPRO <*> Passed (1004;5002) - DS Close File command sent properly. +21-236-11:33:27.043 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:33:27.044 00 SPR-I:OPRO <*> Passed (1004;5002) - Expected Event Msg 59 rcv'd. +21-236-11:33:27.072 00 SPR-I:OPRO ==> Downloading '/ram/seq200000207.dat' +21-236-11:33:27.073 00 SPR-I:OPRO ==> FileName Only = 'seq200000207.dat' +21-236-11:33:27.090 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/ftp_file.i +21-236-11:33:27.090 00 SPR-I:STS Procedure FTP_FILE started +21-236-11:33:27.193 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-11:33:27.193 00 SPR-I:STS Procedure FTP_FILE completed +21-236-11:33:27.194 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:33:32.197 00 SPR-I:OPRO ;********************************************************************* +21-236-11:33:32.197 00 SPR-I:OPRO ; Step 3.14: Send the Set Filter Parameter command with an invalid +21-236-11:33:32.197 00 SPR-I:OPRO ; length. +21-236-11:33:32.197 00 SPR-I:OPRO ;********************************************************************* +21-236-11:33:32.200 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:33:32.200 00 SPR-I:OPRO ; Setup event 1 with DS ERROR 42 +21-236-11:33:32.200 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:33:32.206 00 SPR-I:OPRO Sending: 18BBc000000C058A +21-236-11:33:32.208 00 CMH-I:CMD Command SFDU received:<18BBC000000C058A> from gs582cfslab4:SPR +21-236-11:33:32.220 00 SPR-I:OPRO ; Telemetry update will wait a maximum of 24 seconds +21-236-11:33:32.221 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:33:33.005 00 TLMH-I:STS 58-012-14:17:30.001 ERROR CPU=CPU1 APPNAME=DS EVENT ID=42 Invalid FILTER PARMS command length: expected = 20, actual = 19 +21-236-11:33:35.224 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:33:35.242 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:33:35.244 00 SPR-I:OPRO <*> Passed (1002;1005) - Command Rejected Counter incremented. +21-236-11:33:35.252 00 SPR-I:OPRO <*> Passed (1005) - Event message 42 received +21-236-11:33:35.262 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:33:40.267 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:33:40.267 00 SPR-I:OPRO ; Step 3.15: Send the Set Filter Parameter command with invalid +21-236-11:33:40.267 00 SPR-I:OPRO ; arguments. +21-236-11:33:40.267 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:33:40.267 00 SPR-I:OPRO ; Step 3.15.1: Send the Set Filter Parameter command with an invalid +21-236-11:33:40.268 00 SPR-I:OPRO ; message ID. +21-236-11:33:40.268 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:33:40.275 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:33:40.276 00 SPR-I:OPRO ; Setup event 1 with DS ERROR 42 +21-236-11:33:40.276 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:33:40.281 00 CMH-I:CMD Command is /SCX_CPU1_DS_SETFILTERPARAMS MESSAGEID= 43981 (xABCD) PARAMINDEX= 0 (x0) N_VALUE= 4 (x4) X_VALUE= 6 (x6) O_VALUE= 2 (x2) ;;; (SCX CPU1 DS Set Filter Paramaters command) +21-236-11:33:40.282 00 CMH-I:CMD Command SFDU received:<18BBC000000D05F20000ABCD0000000400060002> from gs582cfslab4:SPR +21-236-11:33:40.305 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:33:41.015 00 TLMH-I:STS 58-012-14:17:38.001 ERROR CPU=CPU1 APPNAME=DS EVENT ID=42 Invalid FILTER PARMS command: Message ID 0x0000ABCD is not in filter table +21-236-11:33:43.309 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:33:43.312 00 SPR-I:OPRO <*> Passed (1005) - DS Set Filter Parameters command failed as expected. +21-236-11:33:43.329 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:33:43.331 00 SPR-I:OPRO <*> Passed (1005) - Expected Event Msg 42 rcv'd. +21-236-11:33:43.336 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:33:48.368 00 SPR-I:OPRO ;********************************************************************* +21-236-11:33:48.368 00 SPR-I:OPRO ; Step 3.15.2: Send the Set Filter Parameters command with an invalid +21-236-11:33:48.368 00 SPR-I:OPRO ; parameter index. +21-236-11:33:48.368 00 SPR-I:OPRO ;********************************************************************* +21-236-11:33:48.374 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:33:48.375 00 SPR-I:OPRO ; Setup event 1 with DS ERROR 42 +21-236-11:33:48.375 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:33:48.379 00 CMH-I:CMD Command is /SCX_CPU1_DS_SETFILTERPARAMS MESSAGEID= 43981 (xABCD) PARAMINDEX= 4 (x4) N_VALUE= 4 (x4) X_VALUE= 6 (x6) O_VALUE= 2 (x2) ;;; (SCX CPU1 DS Set Filter Paramaters command) +21-236-11:33:48.380 00 CMH-I:CMD Command SFDU received:<18BBC000000D05F60000ABCD0004000400060002> from gs582cfslab4:SPR +21-236-11:33:48.404 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:33:49.009 00 TLMH-I:STS 58-012-14:17:46.001 ERROR CPU=CPU1 APPNAME=DS EVENT ID=42 Invalid FILTER PARMS command arg: filter parameters index = 4 +21-236-11:33:51.407 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:33:51.409 00 SPR-I:OPRO <*> Passed (1005) - DS Set Filter File command failed as expected. +21-236-11:33:51.416 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:33:51.416 00 SPR-I:OPRO <*> Passed (1005) - Expected Event Msg 42 rcv'd. +21-236-11:33:51.417 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:33:56.435 00 SPR-I:OPRO ;********************************************************************* +21-236-11:33:56.435 00 SPR-I:OPRO ; Step 3.15.3: Send the Set Filter Parameters command with an N value +21-236-11:33:56.435 00 SPR-I:OPRO ; greater than the X value. +21-236-11:33:56.435 00 SPR-I:OPRO ;********************************************************************* +21-236-11:33:56.437 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:33:56.437 00 SPR-I:OPRO ; Setup event 1 with DS ERROR 42 +21-236-11:33:56.437 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:33:56.438 00 CMH-I:CMD Command is /SCX_CPU1_DS_SETFILTERPARAMS MESSAGEID= 2309 (x905) PARAMINDEX= 0 (x0) N_VALUE= 5 (x5) X_VALUE= 3 (x3) O_VALUE= 0 (x0) ;;; (SCX CPU1 DS Set Filter Paramaters command) +21-236-11:33:56.439 00 CMH-I:CMD Command SFDU received:<18BBC000000D059E000009050000000500030000> from gs582cfslab4:SPR +21-236-11:33:56.453 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:33:57.012 00 TLMH-I:STS 58-012-14:17:54.001 ERROR CPU=CPU1 APPNAME=DS EVENT ID=42 Invalid FILTER PARMS command arg: N = 5, X = 3, O = 0 +21-236-11:33:59.457 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:33:59.460 00 SPR-I:OPRO <*> Passed (1005) - DS Set Filter File command failed as expected. +21-236-11:33:59.465 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:33:59.466 00 SPR-I:OPRO <*> Passed (1005) - Expected Event Msg 42 rcv'd. +21-236-11:33:59.467 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:34:04.485 00 SPR-I:OPRO ;********************************************************************* +21-236-11:34:04.485 00 SPR-I:OPRO ; Step 3.15.4: Send the Set Filter Parameters command with an O value +21-236-11:34:04.485 00 SPR-I:OPRO ; greater than the X value. +21-236-11:34:04.485 00 SPR-I:OPRO ;********************************************************************* +21-236-11:34:04.487 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:34:04.487 00 SPR-I:OPRO ; Setup event 1 with DS ERROR 42 +21-236-11:34:04.487 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:34:04.488 00 CMH-I:CMD Command is /SCX_CPU1_DS_SETFILTERPARAMS MESSAGEID= 2309 (x905) PARAMINDEX= 0 (x0) N_VALUE= 1 (x1) X_VALUE= 3 (x3) O_VALUE= 4 (x4) ;;; (SCX CPU1 DS Set Filter Paramaters command) +21-236-11:34:04.489 00 CMH-I:CMD Command SFDU received:<18BBC000000D059E000009050000000100030004> from gs582cfslab4:SPR +21-236-11:34:04.505 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:34:05.007 00 TLMH-I:STS 58-012-14:18:02.001 ERROR CPU=CPU1 APPNAME=DS EVENT ID=42 Invalid FILTER PARMS command arg: N = 1, X = 3, O = 4 +21-236-11:34:07.508 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:34:07.511 00 SPR-I:OPRO <*> Passed (1005) - DS Set Filter File command failed as expected. +21-236-11:34:07.527 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:34:07.530 00 SPR-I:OPRO <*> Passed (1005) - Expected Event Msg 42 rcv'd. +21-236-11:34:07.534 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:34:12.564 00 SPR-I:OPRO ;********************************************************************* +21-236-11:34:12.564 00 SPR-I:OPRO ; Step 3.16: Determine if the Filtering Algorithm works properly for +21-236-11:34:12.565 00 SPR-I:OPRO ; Time based filtering. +21-236-11:34:12.565 00 SPR-I:OPRO ;********************************************************************* +21-236-11:34:12.565 00 SPR-I:OPRO ; Step 3.16.1: Determine if the Filter Type is set to Time based. +21-236-11:34:12.565 00 SPR-I:OPRO ;********************************************************************* +21-236-11:34:12.573 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:34:12.574 00 SPR-I:OPRO ; Setup event 1 with DS DEBUG 39 +21-236-11:34:12.575 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:34:12.579 00 CMH-I:CMD Command is /SCX_CPU1_DS_SETFILTERTYPE MESSAGEID= 2309 (x905) PARAMINDEX= 0 (x0) FILTERTYPE= 2 (x2) ;;; (SCX CPU1 DS Set Filter Type command) +21-236-11:34:12.579 00 CMH-I:CMD Command SFDU received:<18BBC0000009049F0000090500000002> from gs582cfslab4:SPR +21-236-11:34:12.602 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:34:13.010 00 TLMH-I:STS 58-012-14:18:10.002 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=39 FILTER TYPE command: MID = 0x00000905, index = 5, filter = 0, type = 2 +21-236-11:34:15.606 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:34:15.608 00 SPR-I:OPRO <*> Passed (1004;5009) - DS Set Filter Type command sent properly. +21-236-11:34:15.616 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:34:15.617 00 SPR-I:OPRO <*> Passed (1004;5009) - Expected Event Msg 39 rcv'd. +21-236-11:34:15.643 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:34:20.647 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:34:20.647 00 SPR-I:OPRO ; Step 3.16.2: Send the TST_DS command to send a message to DS using +21-236-11:34:20.647 00 SPR-I:OPRO ; the MessageID used above. Send 'X' messages. The HK should contain +21-236-11:34:20.647 00 SPR-I:OPRO ; information about the file opened. +21-236-11:34:20.647 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:34:20.653 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:34:20.653 00 SPR-I:OPRO ; Setup event 1 with TST_DS INFO 5 +21-236-11:34:20.653 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:34:20.654 00 CMH-I:CMD Command is /SCX_CPU1_TST_DS_SENDTIMEMESSAGE MSGID= 2309 (x905) MSGTYPE= 1 (x1) PATTERN= 1 (x1) SECONDS= 0 (x0) SUBSECS= 268435456 (x10000000) ;;; (SCX CPU1 TST_DS Send Time Message command code) +21-236-11:34:20.654 00 CMH-I:CMD Command SFDU received:<1943C0000011056D00000905010100000000000010000000> from gs582cfslab4:SPR +21-236-11:34:20.665 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:34:21.512 00 TLMH-I:STS 58-012-14:18:18.500 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Time Message Size 116 to MID 0x00000905 +21-236-11:34:25.673 00 CMH-I:CMD Command is /SCX_CPU1_TST_DS_SENDTIMEMESSAGE MSGID= 2309 (x905) MSGTYPE= 1 (x1) PATTERN= 2 (x2) SECONDS= 0 (x0) SUBSECS= 536870912 (x20000000) ;;; (SCX CPU1 TST_DS Send Time Message command code) +21-236-11:34:25.674 00 CMH-I:CMD Command SFDU received:<1943C0000011055E00000905010200000000000020000000> from gs582cfslab4:SPR +21-236-11:34:25.687 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:34:26.507 00 TLMH-I:STS 58-012-14:18:23.501 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Time Message Size 116 to MID 0x00000905 +21-236-11:34:30.694 00 CMH-I:CMD Command is /SCX_CPU1_TST_DS_SENDTIMEMESSAGE MSGID= 2309 (x905) MSGTYPE= 1 (x1) PATTERN= 3 (x3) SECONDS= 0 (x0) SUBSECS= 805306368 (x30000000) ;;; (SCX CPU1 TST_DS Send Time Message command code) +21-236-11:34:30.694 00 CMH-I:CMD Command SFDU received:<1943C0000011054F00000905010300000000000030000000> from gs582cfslab4:SPR +21-236-11:34:30.707 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:34:31.509 00 TLMH-I:STS 58-012-14:18:28.500 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Time Message Size 116 to MID 0x00000905 +21-236-11:34:35.715 00 CMH-I:CMD Command is /SCX_CPU1_TST_DS_SENDTIMEMESSAGE MSGID= 2309 (x905) MSGTYPE= 1 (x1) PATTERN= 4 (x4) SECONDS= 0 (x0) SUBSECS= 1073741824 (x40000000) ;;; (SCX CPU1 TST_DS Send Time Message command code) +21-236-11:34:35.715 00 CMH-I:CMD Command SFDU received:<1943C0000011053800000905010400000000000040000000> from gs582cfslab4:SPR +21-236-11:34:35.728 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:34:36.511 00 TLMH-I:STS 58-012-14:18:33.500 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Time Message Size 116 to MID 0x00000905 +21-236-11:34:40.736 00 CMH-I:CMD Command is /SCX_CPU1_TST_DS_SENDTIMEMESSAGE MSGID= 2309 (x905) MSGTYPE= 1 (x1) PATTERN= 5 (x5) SECONDS= 0 (x0) SUBSECS= 1342177280 (x50000000) ;;; (SCX CPU1 TST_DS Send Time Message command code) +21-236-11:34:40.736 00 CMH-I:CMD Command SFDU received:<1943C0000011052900000905010500000000000050000000> from gs582cfslab4:SPR +21-236-11:34:40.750 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:34:41.507 00 TLMH-I:STS 58-012-14:18:38.500 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Time Message Size 116 to MID 0x00000905 +21-236-11:34:45.757 00 CMH-I:CMD Command is /SCX_CPU1_TST_DS_SENDTIMEMESSAGE MSGID= 2309 (x905) MSGTYPE= 1 (x1) PATTERN= 6 (x6) SECONDS= 0 (x0) SUBSECS= 1610612736 (x60000000) ;;; (SCX CPU1 TST_DS Send Time Message command code) +21-236-11:34:45.757 00 CMH-I:CMD Command SFDU received:<1943C0000011051A00000905010600000000000060000000> from gs582cfslab4:SPR +21-236-11:34:45.770 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:34:46.510 00 TLMH-I:STS 58-012-14:18:43.500 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Time Message Size 116 to MID 0x00000905 +21-236-11:34:50.776 00 SPR-I:OPRO <*> Passed - Expected Event Msgs 5 rcv'd. +21-236-11:34:50.778 00 CMH-I:CMD Command is /SCX_CPU1_DS_GETFILEINFO ;;; (The Get File Info command) +21-236-11:34:50.778 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-11:34:50.794 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:34:51.510 00 TLMH-I:STS 58-012-14:18:48.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-11:34:55.799 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:34:55.802 00 SPR-I:OPRO <*> Passed (2000) - Passed packet counter incremented properly. +21-236-11:34:55.805 00 SPR-I:OPRO <*> Passed (2002.1;2003;2003.2;3000) - A file was created with name '/ram/seq200000208.dat' +21-236-11:34:55.823 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:34:55.823 00 SPR-I:OPRO ; Step 3.16.3: Close and download the file created above. +21-236-11:34:55.823 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:34:55.825 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:34:55.825 00 SPR-I:OPRO ; Setup event 1 with DS DEBUG 59 +21-236-11:34:55.825 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:34:55.856 00 CMH-I:CMD Command is /SCX_CPU1_DS_CLOSEFILE FILEINDEX= 1 (x1) ;;; (SCX CPU1 DS Close Destination File command) +21-236-11:34:55.856 00 CMH-I:CMD Command SFDU received:<18BBC00000050E9600010000> from gs582cfslab4:SPR +21-236-11:34:55.870 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:34:56.507 00 TLMH-I:STS 58-012-14:18:53.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=59 DEST CLOSE command: file table index = 1 +21-236-11:34:59.874 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:34:59.875 00 SPR-I:OPRO <*> Passed (1004;5002) - DS Close File command sent properly. +21-236-11:34:59.883 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:34:59.884 00 SPR-I:OPRO <*> Passed (1004;5002) - Expected Event Msg 59 rcv'd. +21-236-11:34:59.914 00 SPR-I:OPRO ==> Downloading '/ram/seq200000208.dat' +21-236-11:34:59.914 00 SPR-I:OPRO ==> FileName Only = 'seq200000208.dat' +21-236-11:34:59.932 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/ftp_file.i +21-236-11:34:59.932 00 SPR-I:STS Procedure FTP_FILE started +21-236-11:35:00.040 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-11:35:00.041 00 SPR-I:STS Procedure FTP_FILE completed +21-236-11:35:00.041 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:35:05.045 00 SPR-I:OPRO ;********************************************************************* +21-236-11:35:05.045 00 SPR-I:OPRO ; Step 4.0: Packet Filter Table Add command test +21-236-11:35:05.046 00 SPR-I:OPRO ;********************************************************************* +21-236-11:35:05.046 00 SPR-I:OPRO ; Step 4.1: Send the Add Messge ID command +21-236-11:35:05.046 00 SPR-I:OPRO ;********************************************************************* +21-236-11:35:05.053 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:35:05.053 00 SPR-I:OPRO ; Setup event 1 with DS DEBUG 64 +21-236-11:35:05.053 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:35:05.058 00 CMH-I:CMD Command is /SCX_CPU1_DS_ADDMID MESSAGEID= 2310 (x906) ;;; (SCX CPU1 DS Add Message ID command) +21-236-11:35:05.058 00 CMH-I:CMD Command SFDU received:<18BBC0000005108600000906> from gs582cfslab4:SPR +21-236-11:35:05.073 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:35:05.511 00 TLMH-I:STS 58-012-14:19:02.502 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=64 ADD MID command: MID = 0x00000906, filter index = 6, hash index = 6 +21-236-11:35:07.075 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:35:07.078 00 SPR-I:OPRO <*> Passed (1004;5016) - DS Add MID command sent properly. +21-236-11:35:07.099 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:35:07.102 00 SPR-I:OPRO <*> Passed (1004) - Expected Event Msg 64 rcv'd. +21-236-11:35:07.141 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:35:12.145 00 SPR-I:OPRO ;********************************************************************* +21-236-11:35:12.145 00 SPR-I:OPRO ; Step 4.2: Dump the table and verify that the MID used above exists +21-236-11:35:12.146 00 SPR-I:OPRO ;********************************************************************* +21-236-11:35:12.146 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/get_tbl_to_cvt.i +21-236-11:35:12.149 00 SPR-I:STS Procedure GET_TBL_TO_CVT started +21-236-11:35:12.157 00 SPR-I:OPRO Sending Command: /SCX_CPU1_TBL_DUMP ACTIVE DTABLENAME="DS.FILTER_TBL" DFILENAME="/ram/cpu1_filtertbl42" +21-236-11:35:12.157 00 CMH-I:CMD Command is /SCX_CPU1_TBL_DUMP ACTIVE DTABLENAME="DS.FILTER_TBL" DFILENAME="/ram/cpu1_filtertbl42" ;;; (SCX CPU1 TBL dump table command) +21-236-11:35:12.158 00 CMH-I:CMD Command SFDU received:<1804C000006B037C000144532E46494C5445525F54424C0000000000000000000000000000000000000000000000000000002F72616D2F637075315F66696C74657274626C343200000000000000000000000000000000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-236-11:35:12.169 00 SPR-I:STTE Wait mode - waiting 15 seconds ... +21-236-11:35:13.009 00 TLMH-I:STS 58-012-14:19:10.004 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=14 Successfully dumped Table 'DS.FILTER_TBL' to '/ram/cpu1_filtertbl42' +21-236-11:35:27.180 00 SPR-I:OPRO +21-236-11:35:27.180 00 SPR-I:OPRO The TBLNAME is: DS.FILTER_TBL +21-236-11:35:27.181 00 SPR-I:OPRO The APID is: P0F77 +21-236-11:35:27.181 00 SPR-I:OPRO The CPU is: CPU3 +21-236-11:35:27.181 00 SPR-I:OPRO The IP Address is: 192.168.1.8 +21-236-11:35:27.185 00 SPR-I:OPRO The perl command is: perl /s/opr/accounts/global/tools/ftp.pl RAM:0 cpu1_filtertbl42 cpu1_filtertbl42 binary 192.168.1.8 +21-236-11:35:27.326 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-11:35:27.326 00 SPR-I:STTE Wait mode - waiting 15 seconds ... +21-236-11:35:42.338 00 SPR-I:OPRO +21-236-11:35:42.379 00 SPR-I:OPRO The unix command is cvt -ws file_list[3959].file_write_time "`date +%y-%j-%T -r /s/opr/accounts/cfs_test/image/cpu1_filtertbl42`" +21-236-11:35:42.379 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:35:47.384 00 SPR-I:STS Procedure GET_TBL_TO_CVT completed +21-236-11:35:47.422 00 SPR-I:OPRO <*> Passed (5016) - Found Message ID 0906 at entry 6 of the table. +21-236-11:35:47.423 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:35:52.428 00 SPR-I:OPRO ;********************************************************************* +21-236-11:35:52.428 00 SPR-I:OPRO ; Step 4.3: Try to add an invalid Message ID to the Filter table +21-236-11:35:52.428 00 SPR-I:OPRO ;********************************************************************* +21-236-11:35:52.436 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:35:52.436 00 SPR-I:OPRO ; Setup event 1 with DS ERROR 65 +21-236-11:35:52.437 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:35:52.441 00 CMH-I:CMD Command is /SCX_CPU1_DS_ADDMID MESSAGEID= 0 (x0) ;;; (SCX CPU1 DS Add Message ID command) +21-236-11:35:52.441 00 CMH-I:CMD Command SFDU received:<18BBC0000005108900000000> from gs582cfslab4:SPR +21-236-11:35:52.471 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:35:53.005 00 TLMH-I:STS 58-012-14:19:50.001 ERROR CPU=CPU1 APPNAME=DS EVENT ID=65 Invalid ADD MID command arg: invalid MID = 0x00000000 +21-236-11:35:55.475 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:35:55.477 00 SPR-I:OPRO <*> Passed (1005;5016.1) - DS Add MID command failed as expected. +21-236-11:35:55.484 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:35:55.485 00 SPR-I:OPRO <*> Passed (1005;5016.1) - Expected Event Msg 65 rcv'd. +21-236-11:35:55.508 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:36:00.512 00 SPR-I:OPRO ;********************************************************************* +21-236-11:36:00.512 00 SPR-I:OPRO ; Step 4.4: Try to add a Message ID that is already contained in the +21-236-11:36:00.512 00 SPR-I:OPRO ; Filter table +21-236-11:36:00.513 00 SPR-I:OPRO ;********************************************************************* +21-236-11:36:00.520 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:36:00.520 00 SPR-I:OPRO ; Setup event 1 with DS ERROR 65 +21-236-11:36:00.520 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:36:00.522 00 CMH-I:CMD Command is /SCX_CPU1_DS_ADDMID MESSAGEID= 2304 (x900) ;;; (SCX CPU1 DS Add Message ID command) +21-236-11:36:00.522 00 CMH-I:CMD Command SFDU received:<18BBC0000005108000000900> from gs582cfslab4:SPR +21-236-11:36:00.536 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:36:01.009 00 TLMH-I:STS 58-012-14:19:58.001 ERROR CPU=CPU1 APPNAME=DS EVENT ID=65 Invalid ADD MID command: MID = 0x00000900 is already in filter table at index = 0 +21-236-11:36:03.540 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:36:03.542 00 SPR-I:OPRO <*> Passed (1005;5016.3) - DS Add MID command failed as expected. +21-236-11:36:03.556 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:36:03.558 00 SPR-I:OPRO <*> Passed (1005;5016.3) - Expected Event Msg 65 rcv'd. +21-236-11:36:03.588 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:36:08.592 00 SPR-I:OPRO ;********************************************************************* +21-236-11:36:08.593 00 SPR-I:OPRO ; Step 4.5: Try to add a message ID when the table is not loaded +21-236-11:36:08.593 00 SPR-I:OPRO ;********************************************************************* +21-236-11:36:08.593 00 SPR-I:OPRO ; Step 4.5.1: Remove the default Packet Filter Table +21-236-11:36:08.593 00 SPR-I:OPRO ;********************************************************************* +21-236-11:36:08.594 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/ftp_file.i +21-236-11:36:08.594 00 SPR-I:STS Procedure FTP_FILE started +21-236-11:36:08.761 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-11:36:08.761 00 SPR-I:STS Procedure FTP_FILE completed +21-236-11:36:08.763 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:36:13.767 00 SPR-I:OPRO ;********************************************************************* +21-236-11:36:13.767 00 SPR-I:OPRO ; Step 4.5.2: Stop and restart the DS and TST_DS apps +21-236-11:36:13.767 00 SPR-I:OPRO ;********************************************************************* +21-236-11:36:13.770 00 CMH-I:CMD Command is /SCX_CPU1_ES_RESTARTAPP APPLICATION="DS" ;;; (SCX CPU1 ES Restart Application command code) +21-236-11:36:13.770 00 CMH-I:CMD Command SFDU received:<1806C000001506254453000000000000000000000000000000000000> from gs582cfslab4:SPR +21-236-11:36:13.783 00 SPR-I:STTE Wait mode - waiting 20 seconds ... +21-236-11:36:20.013 00 TLMH-I:STS 58-012-14:20:17.363 INFO CPU=CPU1 APPNAME=CFE_ES EVENT ID=10 Restart Application DS Completed, AppID=1114124 +21-236-11:36:20.509 00 TLMH-I:STS 58-012-14:20:17.434 INFO CPU=CPU1 APPNAME=DS EVENT ID=10 Destination file table verify results: desc text = OK, good entries = 8, bad = 0, unused = 8 +21-236-11:36:20.510 00 TLMH-I:STS 58-012-14:20:17.451 ERROR CPU=CPU1 APPNAME=CFE_TBL EVENT ID=53 DS: Unable to open file (FileDescriptor=-1) +21-236-11:36:20.511 00 TLMH-I:STS 58-012-14:20:17.451 ERROR CPU=CPU1 APPNAME=DS EVENT ID=8 Unable to load default Filter Table: Filename = '/cf/ds_filter_tbl.tbl', Error = 0xCC00002C +21-236-11:36:20.511 00 TLMH-I:STS 58-012-14:20:17.452 INFO CPU=CPU1 APPNAME=DS EVENT ID=1 Application initialized, version 2.6.0.0, data at 0x3ac1c0 +21-236-11:36:33.798 00 SPR-I:OPRO ;********************************************************************* +21-236-11:36:33.798 00 SPR-I:OPRO ; Step 4.5.3: Try to add a Message ID to an unloaded Filter table +21-236-11:36:33.798 00 SPR-I:OPRO ;********************************************************************* +21-236-11:36:33.806 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:36:33.807 00 SPR-I:OPRO ; Setup event 1 with DS ERROR 65 +21-236-11:36:33.807 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:36:33.811 00 CMH-I:CMD Command is /SCX_CPU1_DS_ADDMID MESSAGEID= 2304 (x900) ;;; (SCX CPU1 DS Add Message ID command) +21-236-11:36:33.811 00 CMH-I:CMD Command SFDU received:<18BBC0000005108000000900> from gs582cfslab4:SPR +21-236-11:36:33.838 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:36:34.513 00 TLMH-I:STS 58-012-14:20:31.500 ERROR CPU=CPU1 APPNAME=DS EVENT ID=65 Invalid ADD MID command: filter table is not loaded +21-236-11:36:35.840 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:36:35.842 00 SPR-I:OPRO <*> Passed (1005;5016.2) - DS Add MID command failed as expected. +21-236-11:36:35.849 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:36:35.849 00 SPR-I:OPRO <*> Passed (1005;5016.2) - Expected Event Msg 65 rcv'd. +21-236-11:36:35.871 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:36:40.875 00 SPR-I:OPRO ;********************************************************************* +21-236-11:36:40.875 00 SPR-I:OPRO ; Step 4.6: Try to add a message ID when the table is full. +21-236-11:36:40.876 00 SPR-I:OPRO ;********************************************************************* +21-236-11:36:40.876 00 SPR-I:OPRO ; Step 4.6.1: Create and upload a full Packet Filter Table +21-236-11:36:40.876 00 SPR-I:OPRO ;********************************************************************* +21-236-11:36:40.877 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/scx_cpu1_ds_tbl5.i +21-236-11:36:40.883 00 SPR-I:STS Procedure SCX_CPU1_DS_TBL5 started +21-236-11:36:40.926 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:36:40.926 00 SPR-I:OPRO ; Step 1.0: Define DS Packet Filter Tables. +21-236-11:36:40.926 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:36:41.339 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/create_tbl_file_from_cvt.i +21-236-11:36:41.340 00 SPR-I:STS Procedure CREATE_TBL_FILE_FROM_CVT started +21-236-11:36:41.341 00 SPR-I:OPRO ********** ds_fullfilter.tbl ********** +21-236-11:36:41.341 00 SPR-I:OPRO +21-236-11:36:41.342 00 SPR-I:OPRO Content Type: cFE1 +21-236-11:36:41.342 00 SPR-I:OPRO Sub Type: 8 +21-236-11:36:41.342 00 SPR-I:OPRO Length: 12 +21-236-11:36:41.342 00 SPR-I:OPRO Spacecraft Id: SCX +21-236-11:36:41.342 00 SPR-I:OPRO Processor Id: CPU3 +21-236-11:36:41.342 00 SPR-I:OPRO Application Id: 3959 +21-236-11:36:41.342 00 SPR-I:OPRO Create Time Secs: 1629805001 +21-236-11:36:41.342 00 SPR-I:OPRO Create Time Subsecs: 0 +21-236-11:36:41.342 00 SPR-I:OPRO File Description: Full Filter Table Test +21-236-11:36:41.342 00 SPR-I:OPRO +21-236-11:36:41.342 00 SPR-I:OPRO ********** DS.FILTER_TBL ********** +21-236-11:36:41.342 00 SPR-I:OPRO +21-236-11:36:41.342 00 SPR-I:OPRO Start Mnemonic: SCX_CPU1_DS_PF_TBL_Description +21-236-11:36:41.342 00 SPR-I:OPRO Byte Offset: 0 +21-236-11:36:41.342 00 SPR-I:OPRO End Mnemonic: SCX_CPU1_DS_PF_TBL[255].FilterParams[3].O_Value +21-236-11:36:41.342 00 SPR-I:OPRO Number of Bytes: 9248 +21-236-11:36:41.342 00 SPR-I:OPRO +21-236-11:36:41.349 00 SPR-I:STS Loading file /s/opr/accounts/global/prc/partial_cvt_to_file_beta.i +21-236-11:36:41.349 00 SPR-I:STS Procedure PARTIAL_CVT_TO_FILE_BETA started +21-236-11:36:41.349 00 SPR-I:OPRO The unix command is cd /s/opr/accounts/cfs_test/image;cvt2file -s 116 -e 9363 P0F77 ds.filter_tbl +21-236-11:36:41.353 00 SPR-I:STS Procedure PARTIAL_CVT_TO_FILE_BETA completed +21-236-11:36:41.353 00 SPR-I:OPRO cd /s/opr/accounts/cfs_test/image;cat ds_fullfilter.tbl.tmp ds.filter_tbl > ds_fullfilter.tbl +21-236-11:36:41.357 00 SPR-I:OPRO cd /s/opr/accounts/cfs_test/image;rm ds.filter_tbl ds_fullfilter.tbl.tmp +21-236-11:36:41.364 00 SPR-I:STS Procedure CREATE_TBL_FILE_FROM_CVT completed +21-236-11:36:41.364 00 SPR-I:OPRO ;********************************************************************* +21-236-11:36:41.364 00 SPR-I:OPRO ; End procedure SCX_CPU1_ds_tbl5 +21-236-11:36:41.364 00 SPR-I:OPRO ;********************************************************************* +21-236-11:36:41.364 00 SPR-I:STS Procedure SCX_CPU1_DS_TBL5 completed +21-236-11:36:41.365 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/load_table.i +21-236-11:36:41.366 00 SPR-I:STS Procedure LOAD_TABLE started +21-236-11:36:41.367 00 SPR-I:OPRO Table Filename: ds_fullfilter.tbl +21-236-11:36:41.368 00 SPR-I:OPRO The perl command is: perl /s/opr/accounts/global/tools/table_ftp.pl 192.168.1.8 ds_fullfilter.tbl RAM:0 3 +21-236-11:36:41.368 00 SPR-I:OPRO +21-236-11:36:41.511 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-11:36:41.511 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:36:46.516 00 SPR-I:OPRO +21-236-11:36:46.518 00 SPR-I:OPRO Sending Command: /SCX_CPU1_TBL_LOAD LFILENAME="/ram/ds_fullfilter.tbl" +21-236-11:36:46.520 00 CMH-I:CMD Command is /SCX_CPU1_TBL_LOAD LFILENAME="/ram/ds_fullfilter.tbl" ;;; (SCX CPU1 TBL load table command) +21-236-11:36:46.520 00 CMH-I:CMD Command SFDU received:<1804C000004102112F72616D2F64735F66756C6C66696C7465722E74626C000000000000000000000000000000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-236-11:36:46.552 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:36:47.008 00 TLMH-I:STS 58-012-14:20:44.002 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=12 Successful load of '/ram/ds_fullfilter.tbl' into 'DS.FILTER_TBL' working buffer +21-236-11:36:47.555 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:36:47.555 00 SPR-I:STS Procedure LOAD_TABLE completed +21-236-11:36:47.556 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:36:52.561 00 CMH-I:CMD Command is /SCX_CPU1_TBL_VALIDATE INACTIVE VTABLENAME="DS.FILTER_TBL" ;;; (SCX CPU1 TBL validate table command) +21-236-11:36:52.561 00 CMH-I:CMD Command SFDU received:<1804C000002B0430000044532E46494C5445525F54424C000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-236-11:36:52.572 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:36:55.010 00 TLMH-I:STS 58-012-14:20:52.004 INFO CPU=CPU1 APPNAME=DS EVENT ID=12 Filter table verify results: desc text = OK, good entries = 256, bad = 0, unused = 0 +21-236-11:36:55.011 00 TLMH-I:STS 58-012-14:20:52.004 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=36 DS validation successful for Inactive 'DS.FILTER_TBL' +21-236-11:36:57.576 00 CMH-I:CMD Command is /SCX_CPU1_TBL_ACTIVATE ATABLENAME="DS.FILTER_TBL" ;;; (SCX CPU1 TBL activate table command) +21-236-11:36:57.577 00 CMH-I:CMD Command SFDU received:<1804C0000029053344532E46494C5445525F54424C000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-236-11:36:57.589 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:36:59.010 00 TLMH-I:STS 58-012-14:20:56.004 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=37 DS Successfully Updated 'DS.FILTER_TBL' +21-236-11:36:59.011 00 TLMH-I:STS 58-012-14:20:56.017 ERROR CPU=CPU1 APPNAME=CFE_SB EVENT ID=8 Subscribe Err:Max Msgs(256)In Use,MsgId 0x9bb,pipe DS_CMD_PIPE,app DS +21-236-11:36:59.012 00 TLMH-I:STS 58-012-14:20:56.017 ERROR CPU=CPU1 APPNAME=CFE_SB EVENT ID=8 Subscribe Err:Max Msgs(256)In Use,MsgId 0x9bc,pipe DS_CMD_PIPE,app DS +21-236-11:36:59.013 00 TLMH-I:STS 58-012-14:20:56.018 ERROR CPU=CPU1 APPNAME=CFE_SB EVENT ID=8 Subscribe Err:Max Msgs(256)In Use,MsgId 0x9bd,pipe DS_CMD_PIPE,app DS +21-236-11:36:59.015 00 TLMH-I:STS 58-012-14:20:56.018 ERROR CPU=CPU1 APPNAME=CFE_SB EVENT ID=8 Subscribe Err:Max Msgs(256)In Use,MsgId 0x9be,pipe DS_CMD_PIPE,app DS +21-236-11:36:59.016 00 TLMH-I:STS 58-012-14:20:56.018 ERROR CPU=CPU1 APPNAME=CFE_SB EVENT ID=8 Subscribe Err:Max Msgs(256)In Use,MsgId 0x9bf,pipe DS_CMD_PIPE,app DS +21-236-11:36:59.017 00 TLMH-I:STS 58-012-14:20:56.018 ERROR CPU=CPU1 APPNAME=CFE_SB EVENT ID=8 Subscribe Err:Max Msgs(256)In Use,MsgId 0x9c0,pipe DS_CMD_PIPE,app DS +21-236-11:36:59.019 00 TLMH-I:STS 58-012-14:20:56.019 ERROR CPU=CPU1 APPNAME=CFE_SB EVENT ID=8 Subscribe Err:Max Msgs(256)In Use,MsgId 0x9c1,pipe DS_CMD_PIPE,app DS +21-236-11:36:59.020 00 TLMH-I:STS 58-012-14:20:56.019 ERROR CPU=CPU1 APPNAME=CFE_SB EVENT ID=8 Subscribe Err:Max Msgs(256)In Use,MsgId 0x9c2,pipe DS_CMD_PIPE,app DS +21-236-11:36:59.021 00 TLMH-I:STS 58-012-14:20:56.019 ERROR CPU=CPU1 APPNAME=CFE_SB EVENT ID=8 Subscribe Err:Max Msgs(256)In Use,MsgId 0x9c3,pipe DS_CMD_PIPE,app DS +21-236-11:36:59.023 00 TLMH-I:STS 58-012-14:20:56.019 ERROR CPU=CPU1 APPNAME=CFE_SB EVENT ID=8 Subscribe Err:Max Msgs(256)In Use,MsgId 0x9c4,pipe DS_CMD_PIPE,app DS +21-236-11:36:59.024 00 TLMH-I:STS 58-012-14:20:56.020 ERROR CPU=CPU1 APPNAME=CFE_SB EVENT ID=8 Subscribe Err:Max Msgs(256)In Use,MsgId 0x9c5,pipe DS_CMD_PIPE,app DS +21-236-11:36:59.025 00 TLMH-I:STS 58-012-14:20:56.020 ERROR CPU=CPU1 APPNAME=CFE_SB EVENT ID=8 Subscribe Err:Max Msgs(256)In Use,MsgId 0x9c6,pipe DS_CMD_PIPE,app DS +21-236-11:36:59.026 00 TLMH-I:STS 58-012-14:20:56.020 ERROR CPU=CPU1 APPNAME=CFE_SB EVENT ID=8 Subscribe Err:Max Msgs(256)In Use,MsgId 0x9c7,pipe DS_CMD_PIPE,app DS +21-236-11:36:59.027 00 TLMH-I:STS 58-012-14:20:56.020 ERROR CPU=CPU1 APPNAME=CFE_SB EVENT ID=8 Subscribe Err:Max Msgs(256)In Use,MsgId 0x9c8,pipe DS_CMD_PIPE,app DS +21-236-11:36:59.028 00 TLMH-I:STS 58-012-14:20:56.021 ERROR CPU=CPU1 APPNAME=CFE_SB EVENT ID=8 Subscribe Err:Max Msgs(256)In Use,MsgId 0x9c9,pipe DS_CMD_PIPE,app DS +21-236-11:36:59.029 00 TLMH-I:STS 58-012-14:20:56.021 ERROR CPU=CPU1 APPNAME=CFE_SB EVENT ID=8 Subscribe Err:Max Msgs(256)In Use,MsgId 0x9ca,pipe DS_CMD_PIPE,app DS +21-236-11:36:59.031 00 TLMH-I:STS 58-012-14:20:56.021 ERROR CPU=CPU1 APPNAME=CFE_SB EVENT ID=8 Subscribe Err:Max Msgs(256)In Use,MsgId 0x9cb,pipe DS_CMD_PIPE,app DS +21-236-11:36:59.032 00 TLMH-I:STS 58-012-14:20:56.021 ERROR CPU=CPU1 APPNAME=CFE_SB EVENT ID=8 Subscribe Err:Max Msgs(256)In Use,MsgId 0x9cc,pipe DS_CMD_PIPE,app DS +21-236-11:36:59.034 00 TLMH-I:STS 58-012-14:20:56.022 ERROR CPU=CPU1 APPNAME=CFE_SB EVENT ID=8 Subscribe Err:Max Msgs(256)In Use,MsgId 0x9cd,pipe DS_CMD_PIPE,app DS +21-236-11:36:59.035 00 TLMH-I:STS 58-012-14:20:56.022 ERROR CPU=CPU1 APPNAME=CFE_SB EVENT ID=8 Subscribe Err:Max Msgs(256)In Use,MsgId 0x9ce,pipe DS_CMD_PIPE,app DS +21-236-11:36:59.037 00 TLMH-I:STS 58-012-14:20:56.022 ERROR CPU=CPU1 APPNAME=CFE_SB EVENT ID=8 Subscribe Err:Max Msgs(256)In Use,MsgId 0x9cf,pipe DS_CMD_PIPE,app DS +21-236-11:36:59.038 00 TLMH-I:STS 58-012-14:20:56.023 ERROR CPU=CPU1 APPNAME=CFE_SB EVENT ID=8 Subscribe Err:Max Msgs(256)In Use,MsgId 0x9d0,pipe DS_CMD_PIPE,app DS +21-236-11:36:59.039 00 TLMH-I:STS 58-012-14:20:56.023 ERROR CPU=CPU1 APPNAME=CFE_SB EVENT ID=8 Subscribe Err:Max Msgs(256)In Use,MsgId 0x9d1,pipe DS_CMD_PIPE,app DS +21-236-11:36:59.039 00 TLMH-I:STS 58-012-14:20:56.023 ERROR CPU=CPU1 APPNAME=CFE_SB EVENT ID=8 Subscribe Err:Max Msgs(256)In Use,MsgId 0x9d2,pipe DS_CMD_PIPE,app DS +21-236-11:36:59.040 00 TLMH-I:STS 58-012-14:20:56.023 ERROR CPU=CPU1 APPNAME=CFE_SB EVENT ID=8 Subscribe Err:Max Msgs(256)In Use,MsgId 0x9d3,pipe DS_CMD_PIPE,app DS +21-236-11:36:59.041 00 TLMH-I:STS 58-012-14:20:56.024 ERROR CPU=CPU1 APPNAME=CFE_SB EVENT ID=8 Subscribe Err:Max Msgs(256)In Use,MsgId 0x9d4,pipe DS_CMD_PIPE,app DS +21-236-11:36:59.042 00 TLMH-I:STS 58-012-14:20:56.024 ERROR CPU=CPU1 APPNAME=CFE_SB EVENT ID=8 Subscribe Err:Max Msgs(256)In Use,MsgId 0x9d5,pipe DS_CMD_PIPE,app DS +21-236-11:36:59.043 00 TLMH-I:STS 58-012-14:20:56.024 ERROR CPU=CPU1 APPNAME=CFE_SB EVENT ID=8 Subscribe Err:Max Msgs(256)In Use,MsgId 0x9d6,pipe DS_CMD_PIPE,app DS +21-236-11:36:59.043 00 TLMH-I:STS 58-012-14:20:56.024 ERROR CPU=CPU1 APPNAME=CFE_SB EVENT ID=8 Subscribe Err:Max Msgs(256)In Use,MsgId 0x9d7,pipe DS_CMD_PIPE,app DS +21-236-11:36:59.044 00 TLMH-I:STS 58-012-14:20:56.025 ERROR CPU=CPU1 APPNAME=CFE_SB EVENT ID=8 Subscribe Err:Max Msgs(256)In Use,MsgId 0x9d8,pipe DS_CMD_PIPE,app DS +21-236-11:36:59.044 00 TLMH-I:STS 58-012-14:20:56.025 ERROR CPU=CPU1 APPNAME=CFE_SB EVENT ID=8 Subscribe Err:Max Msgs(256)In Use,MsgId 0x9d9,pipe DS_CMD_PIPE,app DS +21-236-11:37:02.592 00 SPR-I:OPRO ;********************************************************************* +21-236-11:37:02.593 00 SPR-I:OPRO ; Step 4.6.2: Stop and restart the DS and TST_DS apps +21-236-11:37:02.593 00 SPR-I:OPRO ;********************************************************************* +21-236-11:37:02.593 00 SPR-I:OPRO ;********************************************************************* +21-236-11:37:02.593 00 SPR-I:OPRO ; Step 4.6.3: Try to add a Message ID to a full Packet Filter table +21-236-11:37:02.593 00 SPR-I:OPRO ;********************************************************************* +21-236-11:37:02.595 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:37:02.595 00 SPR-I:OPRO ; Setup event 1 with DS ERROR 65 +21-236-11:37:02.595 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:37:02.596 00 CMH-I:CMD Command is /SCX_CPU1_DS_ADDMID MESSAGEID= 2561 (xA01) ;;; (SCX CPU1 DS Add Message ID command) +21-236-11:37:02.596 00 CMH-I:CMD Command SFDU received:<18BBC0000005108200000A01> from gs582cfslab4:SPR +21-236-11:37:02.610 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:37:03.505 00 TLMH-I:STS 58-012-14:21:00.500 ERROR CPU=CPU1 APPNAME=DS EVENT ID=65 Invalid ADD MID command: filter table is full +21-236-11:37:03.610 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:37:03.611 00 SPR-I:OPRO <*> Passed (1005;5016.4) - Expected Event Msg 65 rcv'd. +21-236-11:37:03.614 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:37:08.619 00 SPR-I:OPRO ;********************************************************************* +21-236-11:37:08.619 00 SPR-I:OPRO ; Step 5.0: Clean-up - Send the Processor Reset command. +21-236-11:37:08.619 00 SPR-I:OPRO ;********************************************************************* +21-236-11:37:08.621 00 CMH-I:CMD Command is /SCX_CPU1_ES_PROCESSORRESET ;;; (SCX CPU1 ES Processor Reset command code) +21-236-11:37:08.621 00 CMH-I:CMD Command SFDU received:<1806C000000302210001> from gs582cfslab4:SPR +21-236-11:37:08.635 00 SPR-I:STTE Wait mode - waiting 10 seconds ... +21-236-11:37:18.644 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/clear_spacecraft_status.i +21-236-11:37:18.645 00 SPR-I:STS Procedure CLEAR_SPACECRAFT_STATUS started +21-236-11:37:18.658 00 SPR-I:STS Procedure CLEAR_SPACECRAFT_STATUS completed +21-236-11:37:18.721 00 SPR-I:STTE Wait mode - waiting 60 seconds ... +21-236-11:38:18.779 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:38:24.745 00 CMH-I:STS Connected to FEDS:FEDS for commanding (internal ID 0). +21-236-11:38:28.789 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:38:28.790 00 CMH-I:CMD SFDU is /DDIR DATA="open udp_read C%03X 1235 packet_only" ;;; ( ) +21-236-11:38:28.804 00 CMH-I:CMD SFDU is /DDIR DATA="open udp_write CPKT cpu3 1234 ascii_pkt" ;;; ( ) +21-236-11:38:28.855 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/send_that_to_command.i +21-236-11:38:28.855 00 SPR-I:STS Procedure SEND_THAT_TO_COMMAND started +21-236-11:38:28.857 00 SPR-I:OPRO Sending: /SCX_CPU1_TO_OUTPUT_ENA gs582cfslab4 +21-236-11:38:28.858 00 CMH-I:CMD Command is /SCX_CPU1_TO_OUTPUT_ENA GS582CFSLAB4 ;;; (SCX CPU1 Enables TO output) +21-236-11:38:28.858 00 CMH-I:CMD Command SFDU received:<1880C0000011069A3139322E3136382E312E313031000000> from gs582cfslab4:SPR +21-236-11:38:28.908 00 SPR-I:STS Procedure SEND_THAT_TO_COMMAND completed +21-236-11:38:28.908 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:38:29.676 00 TLMH-I:STS 58-012-14:21:33.100 INFO CPU=CPU1 APPNAME=TO_LAB_APP EVENT ID=3 TO telemetry output enabled for IP 192.168.1.101 +21-236-11:38:32.912 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:38:32.912 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/fill_in_spacecraft_status.i +21-236-11:38:32.914 00 SPR-I:STS Procedure FILL_IN_SPACECRAFT_STATUS started +21-236-11:38:32.920 00 SPR-I:STS Procedure FILL_IN_SPACECRAFT_STATUS completed +21-236-11:38:32.921 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:38:37.925 00 SPR-I:OPRO **** Requirements Status Reporting +21-236-11:38:37.925 00 SPR-I:OPRO -------------------------- +21-236-11:38:37.925 00 SPR-I:OPRO Requirement(s) Report +21-236-11:38:37.926 00 SPR-I:OPRO -------------------------- +21-236-11:38:37.927 00 SPR-I:OPRO FSW Requirement: DS_1002 P/F: P +21-236-11:38:37.930 00 SPR-I:OPRO FSW Requirement: DS_1004 P/F: P +21-236-11:38:37.932 00 SPR-I:OPRO FSW Requirement: DS_1005 P/F: P +21-236-11:38:37.933 00 SPR-I:OPRO FSW Requirement: DS_2000 P/F: P +21-236-11:38:37.935 00 SPR-I:OPRO FSW Requirement: DS_2000.1 P/F: P +21-236-11:38:37.965 00 SPR-I:OPRO FSW Requirement: DS_2000.2 P/F: P +21-236-11:38:37.968 00 SPR-I:OPRO FSW Requirement: DS_2001 P/F: A +21-236-11:38:37.969 00 SPR-I:OPRO FSW Requirement: DS_2001.1 P/F: P +21-236-11:38:37.970 00 SPR-I:OPRO FSW Requirement: DS_2002 P/F: P +21-236-11:38:37.992 00 SPR-I:OPRO FSW Requirement: DS_2002.1 P/F: P +21-236-11:38:37.994 00 SPR-I:OPRO FSW Requirement: DS_2003 P/F: A +21-236-11:38:37.995 00 SPR-I:OPRO FSW Requirement: DS_2003.1 P/F: A +21-236-11:38:38.012 00 SPR-I:OPRO FSW Requirement: DS_2003.2 P/F: A +21-236-11:38:38.013 00 SPR-I:OPRO FSW Requirement: DS_3000 P/F: P +21-236-11:38:38.014 00 SPR-I:OPRO FSW Requirement: DS_3000.1 P/F: A +21-236-11:38:38.031 00 SPR-I:OPRO FSW Requirement: DS_3000.1.1 P/F: A +21-236-11:38:38.032 00 SPR-I:OPRO FSW Requirement: DS_3000.2 P/F: A +21-236-11:38:38.033 00 SPR-I:OPRO FSW Requirement: DS_3000.2.1 P/F: A +21-236-11:38:38.051 00 SPR-I:OPRO FSW Requirement: DS_3003 P/F: A +21-236-11:38:38.052 00 SPR-I:OPRO FSW Requirement: DS_3004 P/F: A +21-236-11:38:38.052 00 SPR-I:OPRO FSW Requirement: DS_5002 P/F: P +21-236-11:38:38.070 00 SPR-I:OPRO FSW Requirement: DS_5008 P/F: P +21-236-11:38:38.071 00 SPR-I:OPRO FSW Requirement: DS_5009 P/F: P +21-236-11:38:38.072 00 SPR-I:OPRO FSW Requirement: DS_5010 P/F: P +21-236-11:38:38.096 00 SPR-I:OPRO FSW Requirement: DS_5016 P/F: P +21-236-11:38:38.097 00 SPR-I:OPRO FSW Requirement: DS_5016.1 P/F: P +21-236-11:38:38.119 00 SPR-I:OPRO FSW Requirement: DS_5016.2 P/F: P +21-236-11:38:38.120 00 SPR-I:OPRO FSW Requirement: DS_5016.3 P/F: P +21-236-11:38:38.120 00 SPR-I:OPRO FSW Requirement: DS_5016.4 P/F: P +21-236-11:38:38.122 00 SPR-I:OPRO FSW Requirement: DS_8000 P/F: P +21-236-11:38:38.139 00 SPR-I:OPRO FSW Requirement: DS_9000 P/F: F +21-236-11:38:38.140 00 SPR-I:STS Variable "UT_REQUIREMENT" deleted +21-236-11:38:38.140 00 SPR-I:STS Variable "UT_REQ_ARRAY_SIZE" deleted +21-236-11:38:38.140 00 SPR-I:OPRO ;********************************************************************* +21-236-11:38:38.158 00 SPR-I:OPRO ; End procedure SCX_CPU1_ds_filter +21-236-11:38:38.158 00 SPR-I:OPRO ;********************************************************************* +21-236-11:38:38.158 00 SPR-I:STS Procedure SCX_CPU1_DS_FILTER completed +21-236-11:38:38.160 00 SPR-I:OPRO *** Telemetry Info *** +21-236-11:38:38.160 00 SPR-I:OPRO +21-236-11:38:38.160 00 SPR-I:OPRO Pkt Loss Count: N/A +21-236-11:38:38.160 00 SPR-I:OPRO +21-236-11:38:38.160 00 SPR-I:OPRO ****************** +21-236-11:38:38.160 00 SPR-I:OPRO +21-236-11:38:38.164 00 SPR-I:OPRO Elapsed time: 1208.01 seconds +21-236-11:38:38.164 00 SPR-I:OPRO Elapsed time: 20.1335 minutes +21-236-11:38:38.165 00 SPR-I:STTE Wait mode - waiting 10 seconds ... +21-236-11:38:48.173 00 SPR-I:OPRO Creating filtered log at /s/opr/accounts/cfs_test/test_logs/DS2.6.0/scx_cpu1_ds_filter-2021-236-11h18m30s.logf +21-236-11:38:48.173 00 SPR-I:OPRO Creating filtered output log at /s/opr/accounts/cfs_test/test_logs/DS2.6.0/scx_cpu1_ds_filter-2021-236-11h18m30s.logp +21-236-11:38:48.173 00 SPR-I:OPRO Creating filtered output log (without SFDUs) at /s/opr/accounts/cfs_test/test_logs/DS2.6.0/scx_cpu1_ds_filter-2021-236-11h18m30s.logs +21-236-11:38:48.174 00 SPR-I:OPRO Creating filtered event log at /s/opr/accounts/cfs_test/test_logs/DS2.6.0/scx_cpu1_ds_filter-2021-236-11h18m30s.loge +21-236-11:38:48.175 00 SPR-I:OPRO Creating filtered requirements log at /s/opr/accounts/cfs_test/test_logs/DS2.6.0/scx_cpu1_ds_filter-2021-236-11h18m30s.logr +21-236-11:38:48.316 00 SPR-I:OPRI --> newlog scx_cpu1_ds_filter-2021-236-11h18m30s.log diff --git a/test_and_ground/results/Caelum/scx_cpu1_ds_filter-2021-236-11h18m30s.logr b/test_and_ground/results/Caelum/scx_cpu1_ds_filter-2021-236-11h18m30s.logr new file mode 100644 index 0000000..72f98b8 --- /dev/null +++ b/test_and_ground/results/Caelum/scx_cpu1_ds_filter-2021-236-11h18m30s.logr @@ -0,0 +1,31 @@ +21-236-11:38:37.927 00 SPR-I:OPRO FSW Requirement: DS_1002 P/F: P +21-236-11:38:37.930 00 SPR-I:OPRO FSW Requirement: DS_1004 P/F: P +21-236-11:38:37.932 00 SPR-I:OPRO FSW Requirement: DS_1005 P/F: P +21-236-11:38:37.933 00 SPR-I:OPRO FSW Requirement: DS_2000 P/F: P +21-236-11:38:37.935 00 SPR-I:OPRO FSW Requirement: DS_2000.1 P/F: P +21-236-11:38:37.965 00 SPR-I:OPRO FSW Requirement: DS_2000.2 P/F: P +21-236-11:38:37.968 00 SPR-I:OPRO FSW Requirement: DS_2001 P/F: A +21-236-11:38:37.969 00 SPR-I:OPRO FSW Requirement: DS_2001.1 P/F: P +21-236-11:38:37.970 00 SPR-I:OPRO FSW Requirement: DS_2002 P/F: P +21-236-11:38:37.992 00 SPR-I:OPRO FSW Requirement: DS_2002.1 P/F: P +21-236-11:38:37.994 00 SPR-I:OPRO FSW Requirement: DS_2003 P/F: A +21-236-11:38:37.995 00 SPR-I:OPRO FSW Requirement: DS_2003.1 P/F: A +21-236-11:38:38.012 00 SPR-I:OPRO FSW Requirement: DS_2003.2 P/F: A +21-236-11:38:38.013 00 SPR-I:OPRO FSW Requirement: DS_3000 P/F: P +21-236-11:38:38.014 00 SPR-I:OPRO FSW Requirement: DS_3000.1 P/F: A +21-236-11:38:38.031 00 SPR-I:OPRO FSW Requirement: DS_3000.1.1 P/F: A +21-236-11:38:38.032 00 SPR-I:OPRO FSW Requirement: DS_3000.2 P/F: A +21-236-11:38:38.033 00 SPR-I:OPRO FSW Requirement: DS_3000.2.1 P/F: A +21-236-11:38:38.051 00 SPR-I:OPRO FSW Requirement: DS_3003 P/F: A +21-236-11:38:38.052 00 SPR-I:OPRO FSW Requirement: DS_3004 P/F: A +21-236-11:38:38.052 00 SPR-I:OPRO FSW Requirement: DS_5002 P/F: P +21-236-11:38:38.070 00 SPR-I:OPRO FSW Requirement: DS_5008 P/F: P +21-236-11:38:38.071 00 SPR-I:OPRO FSW Requirement: DS_5009 P/F: P +21-236-11:38:38.072 00 SPR-I:OPRO FSW Requirement: DS_5010 P/F: P +21-236-11:38:38.096 00 SPR-I:OPRO FSW Requirement: DS_5016 P/F: P +21-236-11:38:38.097 00 SPR-I:OPRO FSW Requirement: DS_5016.1 P/F: P +21-236-11:38:38.119 00 SPR-I:OPRO FSW Requirement: DS_5016.2 P/F: P +21-236-11:38:38.120 00 SPR-I:OPRO FSW Requirement: DS_5016.3 P/F: P +21-236-11:38:38.120 00 SPR-I:OPRO FSW Requirement: DS_5016.4 P/F: P +21-236-11:38:38.122 00 SPR-I:OPRO FSW Requirement: DS_8000 P/F: P +21-236-11:38:38.139 00 SPR-I:OPRO FSW Requirement: DS_9000 P/F: F diff --git a/test_and_ground/results/Caelum/scx_cpu1_ds_filter-2021-236-11h18m30s.logs b/test_and_ground/results/Caelum/scx_cpu1_ds_filter-2021-236-11h18m30s.logs new file mode 100644 index 0000000..ab6770e --- /dev/null +++ b/test_and_ground/results/Caelum/scx_cpu1_ds_filter-2021-236-11h18m30s.logs @@ -0,0 +1,1787 @@ +21-236-11:18:30.145 00 SPR-I:OPRO ****************** FSW Configuration ****************** +21-236-11:18:30.145 00 SPR-I:OPRO Checksum: 29237 +21-236-11:18:30.145 00 SPR-I:OPRO cFE Version: 6.7.99.0 +21-236-11:18:30.145 00 SPR-I:OPRO OS Version: 5.0.0.255 +21-236-11:18:30.146 00 SPR-I:OPRO +21-236-11:18:30.147 00 SPR-I:OPRO Connection Status +21-236-11:18:30.147 00 SPR-I:OPRO ----------------- +21-236-11:18:30.147 00 SPR-I:OPRO CFDP: DOWN +21-236-11:18:30.147 00 SPR-I:OPRO UDP: UP +21-236-11:18:30.147 00 SPR-I:OPRO SWTS: UNK +21-236-11:18:30.148 00 SPR-I:OPRO +21-236-11:18:30.148 00 SPR-I:OPRO CMD / TLM Path +21-236-11:18:30.148 00 SPR-I:OPRO -------------- +21-236-11:18:30.149 00 SPR-I:OPRO UDP +21-236-11:18:30.149 00 SPR-I:OPRO +21-236-11:18:30.149 00 SPR-I:OPRO +21-236-11:18:30.149 00 SPR-I:OPRO ASIST / GDS Configuration +21-236-11:18:30.149 00 SPR-I:OPRO ------------------------- +21-236-11:18:30.154 00 SPR-I:OPRO Workstation: GS582CFSLAB4 +21-236-11:18:30.154 00 SPR-I:OPRO Account: cfs_test +21-236-11:18:30.154 00 SPR-I:OPRO Version: 21.0.7 +21-236-11:18:30.154 00 SPR-I:OPRO Tlm DB: Version: 1.985 Date: 08-24-21 Time: 06:37:06 AM. +21-236-11:18:30.154 00 SPR-I:OPRO Cmd DB: Version: 1.51 Date: 08-24-21 Time: 06:47:31 AM.EDT +21-236-11:18:30.155 00 SPR-I:OPRO +21-236-11:18:30.155 00 SPR-I:OPRO Telemetry Info +21-236-11:18:30.155 00 SPR-I:OPRO -------------- +21-236-11:18:30.155 00 SPR-I:OPRO Pkt Loss Count: N/A +21-236-11:18:30.155 00 SPR-I:OPRO **************** End FSW Configuration *************** +21-236-11:18:30.156 00 SPR-I:OPRO Starting Procedure.... scx_cpu1_ds_filter +21-236-11:18:30.295 00 SPR-I:OPRI --> start scx_cpu1_ds_filter +21-236-11:18:30.296 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/scx_cpu1_ds_filter.i +21-236-11:18:30.306 00 SPR-I:STS Procedure SCX_CPU1_DS_FILTER started +21-236-11:18:30.763 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:18:30.763 00 SPR-I:OPRO ; Step 1.0: Data Storage Test Setup. +21-236-11:18:30.763 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:18:30.764 00 SPR-I:OPRO ; Step 1.1: Command a Power-on Reset on CPU1. +21-236-11:18:30.764 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:18:30.765 00 CMH-I:CMD Command SFDU received:<1806C000000302220002> from gs582cfslab4:SPR +21-236-11:18:30.776 00 SPR-I:STTE Wait mode - waiting 10 seconds ... +21-236-11:18:40.786 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/clear_spacecraft_status.i +21-236-11:18:40.787 00 SPR-I:STS Procedure CLEAR_SPACECRAFT_STATUS started +21-236-11:18:40.796 00 SPR-I:STS Procedure CLEAR_SPACECRAFT_STATUS completed +21-236-11:18:40.825 00 SPR-I:STTE Wait mode - waiting 60 seconds ... +21-236-11:19:40.880 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:19:46.849 00 CMH-I:STS Connected to FEDS:FEDS for commanding (internal ID 0). +21-236-11:19:50.892 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:19:50.961 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/send_that_to_command.i +21-236-11:19:50.962 00 SPR-I:STS Procedure SEND_THAT_TO_COMMAND started +21-236-11:19:50.963 00 SPR-I:OPRO Sending: /SCX_CPU1_TO_OUTPUT_ENA gs582cfslab4 +21-236-11:19:50.963 00 CMH-I:CMD Command SFDU received:<1880C0000011069A3139322E3136382E312E313031000000> from gs582cfslab4:SPR +21-236-11:19:51.014 00 SPR-I:STS Procedure SEND_THAT_TO_COMMAND completed +21-236-11:19:51.014 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:19:52.016 00 TLMH-I:STS 58-012-14:03:48.950 INFO CPU=CPU1 APPNAME=TO_LAB_APP EVENT ID=3 TO telemetry output enabled for IP 192.168.1.101 +21-236-11:19:55.019 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:19:55.019 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/fill_in_spacecraft_status.i +21-236-11:19:55.021 00 SPR-I:STS Procedure FILL_IN_SPACECRAFT_STATUS started +21-236-11:19:55.026 00 SPR-I:STS Procedure FILL_IN_SPACECRAFT_STATUS completed +21-236-11:19:55.026 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:20:00.031 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:20:00.031 00 SPR-I:OPRO ; Step 1.2: Upload the default DS table load images to CPU1. +21-236-11:20:00.031 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:20:00.031 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/scx_cpu1_ds_tbl3.i +21-236-11:20:00.034 00 SPR-I:STS Procedure SCX_CPU1_DS_TBL3 started +21-236-11:20:00.075 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:20:00.076 00 SPR-I:OPRO ; Step 1.0: Define DS Destination File And Packet Filter Tables. +21-236-11:20:00.076 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:20:00.080 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/create_tbl_file_from_cvt.i +21-236-11:20:00.081 00 SPR-I:STS Procedure CREATE_TBL_FILE_FROM_CVT started +21-236-11:20:00.082 00 SPR-I:OPRO ********** ds_filtfile.tbl ********** +21-236-11:20:00.082 00 SPR-I:OPRO +21-236-11:20:00.083 00 SPR-I:OPRO Content Type: cFE1 +21-236-11:20:00.083 00 SPR-I:OPRO Sub Type: 8 +21-236-11:20:00.083 00 SPR-I:OPRO Length: 12 +21-236-11:20:00.083 00 SPR-I:OPRO Spacecraft Id: SCX +21-236-11:20:00.083 00 SPR-I:OPRO Processor Id: CPU3 +21-236-11:20:00.083 00 SPR-I:OPRO Application Id: 3958 +21-236-11:20:00.083 00 SPR-I:OPRO Create Time Secs: 1629804000 +21-236-11:20:00.083 00 SPR-I:OPRO Create Time Subsecs: 0 +21-236-11:20:00.083 00 SPR-I:OPRO File Description: File Write Test File Table +21-236-11:20:00.083 00 SPR-I:OPRO +21-236-11:20:00.083 00 SPR-I:OPRO ********** DS.FILE_TBL ********** +21-236-11:20:00.083 00 SPR-I:OPRO +21-236-11:20:00.083 00 SPR-I:OPRO Start Mnemonic: SCX_CPU1_DS_DF_TBL_Description +21-236-11:20:00.083 00 SPR-I:OPRO Byte Offset: 0 +21-236-11:20:00.083 00 SPR-I:OPRO End Mnemonic: SCX_CPU1_DS_DF_TBL[7].SeqCnt +21-236-11:20:00.084 00 SPR-I:OPRO Number of Bytes: 1760 +21-236-11:20:00.084 00 SPR-I:OPRO +21-236-11:20:00.089 00 SPR-I:STS Loading file /s/opr/accounts/global/prc/partial_cvt_to_file_beta.i +21-236-11:20:00.089 00 SPR-I:STS Procedure PARTIAL_CVT_TO_FILE_BETA started +21-236-11:20:00.090 00 SPR-I:OPRO The unix command is cd /s/opr/accounts/cfs_test/image;cvt2file -s 116 -e 1875 P0F76 ds.file_tbl +21-236-11:20:00.093 00 SPR-I:STS Procedure PARTIAL_CVT_TO_FILE_BETA completed +21-236-11:20:00.094 00 SPR-I:OPRO cd /s/opr/accounts/cfs_test/image;cat ds_filtfile.tbl.tmp ds.file_tbl > ds_filtfile.tbl +21-236-11:20:00.097 00 SPR-I:OPRO cd /s/opr/accounts/cfs_test/image;rm ds.file_tbl ds_filtfile.tbl.tmp +21-236-11:20:00.101 00 SPR-I:STS Procedure CREATE_TBL_FILE_FROM_CVT completed +21-236-11:20:00.577 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/create_tbl_file_from_cvt.i +21-236-11:20:00.577 00 SPR-I:STS Procedure CREATE_TBL_FILE_FROM_CVT started +21-236-11:20:00.579 00 SPR-I:OPRO ********** ds_filtfilter.tbl ********** +21-236-11:20:00.579 00 SPR-I:OPRO +21-236-11:20:00.579 00 SPR-I:OPRO Content Type: cFE1 +21-236-11:20:00.579 00 SPR-I:OPRO Sub Type: 8 +21-236-11:20:00.579 00 SPR-I:OPRO Length: 12 +21-236-11:20:00.579 00 SPR-I:OPRO Spacecraft Id: SCX +21-236-11:20:00.580 00 SPR-I:OPRO Processor Id: CPU3 +21-236-11:20:00.580 00 SPR-I:OPRO Application Id: 3959 +21-236-11:20:00.580 00 SPR-I:OPRO Create Time Secs: 1629804000 +21-236-11:20:00.580 00 SPR-I:OPRO Create Time Subsecs: 0 +21-236-11:20:00.580 00 SPR-I:OPRO File Description: Filter Test Filter Table +21-236-11:20:00.580 00 SPR-I:OPRO +21-236-11:20:00.580 00 SPR-I:OPRO ********** DS.FILTER_TBL ********** +21-236-11:20:00.580 00 SPR-I:OPRO +21-236-11:20:00.580 00 SPR-I:OPRO Start Mnemonic: SCX_CPU1_DS_PF_TBL_Description +21-236-11:20:00.580 00 SPR-I:OPRO Byte Offset: 0 +21-236-11:20:00.580 00 SPR-I:OPRO End Mnemonic: SCX_CPU1_DS_PF_TBL[255].FilterParams[3].O_Value +21-236-11:20:00.580 00 SPR-I:OPRO Number of Bytes: 9248 +21-236-11:20:00.580 00 SPR-I:OPRO +21-236-11:20:00.585 00 SPR-I:STS Loading file /s/opr/accounts/global/prc/partial_cvt_to_file_beta.i +21-236-11:20:00.585 00 SPR-I:STS Procedure PARTIAL_CVT_TO_FILE_BETA started +21-236-11:20:00.586 00 SPR-I:OPRO The unix command is cd /s/opr/accounts/cfs_test/image;cvt2file -s 116 -e 9363 P0F77 ds.filter_tbl +21-236-11:20:00.589 00 SPR-I:STS Procedure PARTIAL_CVT_TO_FILE_BETA completed +21-236-11:20:00.590 00 SPR-I:OPRO cd /s/opr/accounts/cfs_test/image;cat ds_filtfilter.tbl.tmp ds.filter_tbl > ds_filtfilter.tbl +21-236-11:20:00.593 00 SPR-I:OPRO cd /s/opr/accounts/cfs_test/image;rm ds.filter_tbl ds_filtfilter.tbl.tmp +21-236-11:20:00.597 00 SPR-I:STS Procedure CREATE_TBL_FILE_FROM_CVT completed +21-236-11:20:00.598 00 SPR-I:OPRO ;********************************************************************* +21-236-11:20:00.598 00 SPR-I:OPRO ; End procedure SCX_CPU1_ds_tbl3 +21-236-11:20:00.598 00 SPR-I:OPRO ;********************************************************************* +21-236-11:20:00.598 00 SPR-I:STS Procedure SCX_CPU1_DS_TBL3 completed +21-236-11:20:00.605 00 SPR-I:OPRO ==> Default Filter Table filename = 'ds_filter_tbl.tbl' +21-236-11:20:00.605 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/load_table.i +21-236-11:20:00.606 00 SPR-I:STS Procedure LOAD_TABLE started +21-236-11:20:00.607 00 SPR-I:OPRO Table Filename: ds_filtfile.tbl +21-236-11:20:00.608 00 SPR-I:OPRO The perl command is: perl /s/opr/accounts/global/tools/table_ftp.pl 192.168.1.8 ds_filtfile.tbl RAM:0 3 +21-236-11:20:00.608 00 SPR-I:OPRO +21-236-11:20:00.731 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-11:20:00.732 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:20:05.736 00 SPR-I:OPRO +21-236-11:20:05.738 00 SPR-I:OPRO Sending Command: /SCX_CPU1_TBL_LOAD LFILENAME="/ram/ds_filtfile.tbl" +21-236-11:20:05.740 00 CMH-I:CMD Command SFDU received:<1804C000004102132F72616D2F64735F66696C7466696C652E74626C0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-236-11:20:05.755 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:20:06.520 00 TLMH-I:STS 58-012-14:04:03.501 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=12 Successful load of '/ram/ds_filtfile.tbl' into 'DS.FILE_TBL' working buffer +21-236-11:20:07.757 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:20:07.759 00 SPR-I:STS Procedure LOAD_TABLE completed +21-236-11:20:07.760 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:20:12.765 00 CMH-I:CMD Command SFDU received:<1804C000002B0436000044532E46494C455F54424C0000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-236-11:20:12.779 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:20:15.024 00 TLMH-I:STS 58-012-14:04:12.007 INFO CPU=CPU1 APPNAME=DS EVENT ID=10 Destination file table verify results: desc text = OK, good entries = 8, bad = 0, unused = 8 +21-236-11:20:15.025 00 TLMH-I:STS 58-012-14:04:12.007 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=36 DS validation successful for Inactive 'DS.FILE_TBL' +21-236-11:20:17.792 00 CMH-I:CMD Command SFDU received:<1804C0000029053544532E46494C455F54424C0000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-236-11:20:17.805 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:20:19.022 00 TLMH-I:STS 58-012-14:04:16.007 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=37 DS Successfully Updated 'DS.FILE_TBL' +21-236-11:20:22.811 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/load_table.i +21-236-11:20:22.812 00 SPR-I:STS Procedure LOAD_TABLE started +21-236-11:20:22.815 00 SPR-I:OPRO Table Filename: ds_filtfilter.tbl +21-236-11:20:22.817 00 SPR-I:OPRO The perl command is: perl /s/opr/accounts/global/tools/table_ftp.pl 192.168.1.8 ds_filtfilter.tbl RAM:0 3 +21-236-11:20:22.817 00 SPR-I:OPRO +21-236-11:20:22.962 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-11:20:22.962 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:20:27.967 00 SPR-I:OPRO +21-236-11:20:27.967 00 SPR-I:OPRO Sending Command: /SCX_CPU1_TBL_LOAD LFILENAME="/ram/ds_filtfilter.tbl" +21-236-11:20:27.968 00 CMH-I:CMD Command SFDU received:<1804C000004102152F72616D2F64735F66696C7466696C7465722E74626C000000000000000000000000000000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-236-11:20:27.981 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:20:28.518 00 TLMH-I:STS 58-012-14:04:25.501 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=12 Successful load of '/ram/ds_filtfilter.tbl' into 'DS.FILTER_TBL' working buffer +21-236-11:20:31.986 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:20:31.988 00 SPR-I:STS Procedure LOAD_TABLE completed +21-236-11:20:31.989 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:20:36.994 00 CMH-I:CMD Command SFDU received:<1804C000002B0430000044532E46494C5445525F54424C000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-236-11:20:37.008 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:20:39.021 00 TLMH-I:STS 58-012-14:04:36.007 INFO CPU=CPU1 APPNAME=DS EVENT ID=12 Filter table verify results: desc text = OK, good entries = 6, bad = 0, unused = 250 +21-236-11:20:39.022 00 TLMH-I:STS 58-012-14:04:36.007 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=36 DS validation successful for Inactive 'DS.FILTER_TBL' +21-236-11:20:42.013 00 CMH-I:CMD Command SFDU received:<1804C0000029053344532E46494C5445525F54424C000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-236-11:20:42.026 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:20:43.017 00 TLMH-I:STS 58-012-14:04:40.008 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=37 DS Successfully Updated 'DS.FILTER_TBL' +21-236-11:20:47.031 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:20:47.031 00 SPR-I:OPRO ; Step 1.3: Display the Housekeeping pages +21-236-11:20:47.032 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:20:47.130 00 DPD-I:STS Page SCX_CPU1_DS_HK added (cid:1). +21-236-11:20:47.202 00 DPD-I:STS Page SCX_CPU1_TST_DS_HK added (cid:1). +21-236-11:20:47.282 00 DPD-I:STS Page SCX_CPU1_DS_FILTER_TBL added (cid:1). +21-236-11:20:47.380 00 DPD-I:STS Page SCX_CPU1_DS_FILE_TBL added (cid:1). +21-236-11:20:47.384 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:20:47.384 00 SPR-I:OPRO ; Step 1.4: Start the Data Storage (DS) and Test Applications. +21-236-11:20:47.384 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:20:47.388 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:20:55.397 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:20:55.400 00 SPR-I:OPRO <*> Passed (8000) - Housekeeping packet is being generated. +21-236-11:20:55.403 00 SPR-I:OPRO Failed (9000) - Housekeeping telemetry NOT initialized properly at startup. +21-236-11:20:55.403 00 SPR-I:OPRO CMDPC = 0 +21-236-11:20:55.403 00 SPR-I:OPRO CMDEC = 0 +21-236-11:20:55.404 00 SPR-I:OPRO Disabled Pkts = 0 +21-236-11:20:55.404 00 SPR-I:OPRO Failed Filter Pkts = 0 +21-236-11:20:55.404 00 SPR-I:OPRO Passed Filter Pkts = 131 +21-236-11:20:55.415 00 SPR-I:OPRO Good i/o writes = 311 +21-236-11:20:55.415 00 SPR-I:OPRO Bad i/o writes = 0 +21-236-11:20:55.415 00 SPR-I:OPRO Good hdr writes = 33 +21-236-11:20:55.415 00 SPR-I:OPRO Bad hdr writes = 0 +21-236-11:20:55.415 00 SPR-I:OPRO Dest Tbl Loads = 2 +21-236-11:20:55.415 00 SPR-I:OPRO Dest Tbl ptr fails = 0 +21-236-11:20:55.415 00 SPR-I:OPRO Filter Tbl Loads = 2 +21-236-11:20:55.416 00 SPR-I:OPRO Filter Tbl ptr fails = 0 +21-236-11:20:55.416 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:21:00.420 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:21:00.420 00 SPR-I:OPRO ; Step 1.5: Enable DEBUG Event Messages +21-236-11:21:00.421 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:21:00.423 00 CMH-I:CMD Command SFDU received:<1801C0000017052244530000000000000000000000000000000000000100> from gs582cfslab4:SPR +21-236-11:21:00.449 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:21:03.455 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:21:03.457 00 SPR-I:OPRO <*> Passed - Enable Debug events command sent properly. +21-236-11:21:03.458 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:21:03.458 00 SPR-I:OPRO ; Step 1.6: Dump the Packet Filter Table. +21-236-11:21:03.458 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:21:03.459 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/get_tbl_to_cvt.i +21-236-11:21:03.461 00 SPR-I:STS Procedure GET_TBL_TO_CVT started +21-236-11:21:03.466 00 SPR-I:OPRO Sending Command: /SCX_CPU1_TBL_DUMP ACTIVE DTABLENAME="DS.FILTER_TBL" DFILENAME="/ram/cpu1_filtertbl16" +21-236-11:21:03.466 00 CMH-I:CMD Command SFDU received:<1804C000006B037D000144532E46494C5445525F54424C0000000000000000000000000000000000000000000000000000002F72616D2F637075315F66696C74657274626C313600000000000000000000000000000000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-236-11:21:03.477 00 SPR-I:STTE Wait mode - waiting 15 seconds ... +21-236-11:21:04.022 00 TLMH-I:STS 58-012-14:05:01.003 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=14 Successfully dumped Table 'DS.FILTER_TBL' to '/ram/cpu1_filtertbl16' +21-236-11:21:18.487 00 SPR-I:OPRO +21-236-11:21:18.487 00 SPR-I:OPRO The TBLNAME is: DS.FILTER_TBL +21-236-11:21:18.487 00 SPR-I:OPRO The APID is: P0F77 +21-236-11:21:18.487 00 SPR-I:OPRO The CPU is: CPU3 +21-236-11:21:18.488 00 SPR-I:OPRO The IP Address is: 192.168.1.8 +21-236-11:21:18.491 00 SPR-I:OPRO The perl command is: perl /s/opr/accounts/global/tools/ftp.pl RAM:0 cpu1_filtertbl16 cpu1_filtertbl16 binary 192.168.1.8 +21-236-11:21:18.675 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-11:21:18.675 00 SPR-I:STTE Wait mode - waiting 15 seconds ... +21-236-11:21:20.686 00 SPR-I:OPRI --> page SCX_CPU1_DS_FILE_HK +21-236-11:21:20.745 00 DPD-I:STS Page SCX_CPU1_DS_FILE_HK added (cid:1). +21-236-11:21:33.756 00 SPR-I:OPRO +21-236-11:21:33.780 00 SPR-I:OPRO The unix command is cvt -ws file_list[3959].file_write_time "`date +%y-%j-%T -r /s/opr/accounts/cfs_test/image/cpu1_filtertbl16`" +21-236-11:21:33.780 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:21:38.785 00 SPR-I:STS Procedure GET_TBL_TO_CVT completed +21-236-11:21:38.786 00 SPR-I:OPRO ==> MessageID = 0900 +21-236-11:21:38.788 00 SPR-I:OPRO ==> File Index = 0 +21-236-11:21:38.788 00 SPR-I:OPRO ==> Filter Type = 1 +21-236-11:21:38.789 00 SPR-I:OPRO ==> N Value = 1 +21-236-11:21:38.790 00 SPR-I:OPRO ==> X Value = 1 +21-236-11:21:38.790 00 SPR-I:OPRO ==> O Value = 0 +21-236-11:21:38.815 00 SPR-I:OPRO ==> File Index = 1 +21-236-11:21:38.816 00 SPR-I:OPRO ==> Filter Type = 1 +21-236-11:21:38.816 00 SPR-I:OPRO ==> N Value = 1 +21-236-11:21:38.817 00 SPR-I:OPRO ==> X Value = 1 +21-236-11:21:38.817 00 SPR-I:OPRO ==> O Value = 0 +21-236-11:21:38.819 00 SPR-I:OPRO ==> File Index = 2 +21-236-11:21:38.819 00 SPR-I:OPRO ==> Filter Type = 1 +21-236-11:21:38.820 00 SPR-I:OPRO ==> N Value = 1 +21-236-11:21:38.820 00 SPR-I:OPRO ==> X Value = 1 +21-236-11:21:38.821 00 SPR-I:OPRO ==> O Value = 0 +21-236-11:21:38.822 00 SPR-I:OPRO ==> File Index = 3 +21-236-11:21:38.822 00 SPR-I:OPRO ==> Filter Type = 1 +21-236-11:21:38.823 00 SPR-I:OPRO ==> N Value = 1 +21-236-11:21:38.823 00 SPR-I:OPRO ==> X Value = 1 +21-236-11:21:38.826 00 SPR-I:OPRO ==> O Value = 0 +21-236-11:21:38.827 00 SPR-I:OPRO ==> MessageID = 0901 +21-236-11:21:38.828 00 SPR-I:OPRO ==> File Index = 4 +21-236-11:21:38.828 00 SPR-I:OPRO ==> Filter Type = 2 +21-236-11:21:38.829 00 SPR-I:OPRO ==> N Value = 1 +21-236-11:21:38.829 00 SPR-I:OPRO ==> X Value = 1 +21-236-11:21:38.829 00 SPR-I:OPRO ==> O Value = 0 +21-236-11:21:38.840 00 SPR-I:OPRO ==> File Index = 5 +21-236-11:21:38.840 00 SPR-I:OPRO ==> Filter Type = 2 +21-236-11:21:38.840 00 SPR-I:OPRO ==> N Value = 1 +21-236-11:21:38.840 00 SPR-I:OPRO ==> X Value = 1 +21-236-11:21:38.840 00 SPR-I:OPRO ==> O Value = 0 +21-236-11:21:38.841 00 SPR-I:OPRO ==> File Index = 6 +21-236-11:21:38.841 00 SPR-I:OPRO ==> Filter Type = 2 +21-236-11:21:38.841 00 SPR-I:OPRO ==> N Value = 1 +21-236-11:21:38.842 00 SPR-I:OPRO ==> X Value = 1 +21-236-11:21:38.842 00 SPR-I:OPRO ==> O Value = 0 +21-236-11:21:38.842 00 SPR-I:OPRO ==> File Index = 7 +21-236-11:21:38.842 00 SPR-I:OPRO ==> Filter Type = 2 +21-236-11:21:38.843 00 SPR-I:OPRO ==> N Value = 1 +21-236-11:21:38.843 00 SPR-I:OPRO ==> X Value = 1 +21-236-11:21:38.849 00 SPR-I:OPRO ==> O Value = 0 +21-236-11:21:38.850 00 SPR-I:OPRO ==> MessageID = 0902 +21-236-11:21:38.850 00 SPR-I:OPRO ==> File Index = 0 +21-236-11:21:38.850 00 SPR-I:OPRO ==> Filter Type = 1 +21-236-11:21:38.851 00 SPR-I:OPRO ==> N Value = 1 +21-236-11:21:38.851 00 SPR-I:OPRO ==> X Value = 3 +21-236-11:21:38.851 00 SPR-I:OPRO ==> O Value = 0 +21-236-11:21:38.858 00 SPR-I:OPRO ==> MessageID = 0903 +21-236-11:21:38.858 00 SPR-I:OPRO ==> File Index = 1 +21-236-11:21:38.858 00 SPR-I:OPRO ==> Filter Type = 1 +21-236-11:21:38.858 00 SPR-I:OPRO ==> N Value = 1 +21-236-11:21:38.858 00 SPR-I:OPRO ==> X Value = 1 +21-236-11:21:38.858 00 SPR-I:OPRO ==> O Value = 0 +21-236-11:21:38.864 00 SPR-I:OPRO ==> MessageID = 0904 +21-236-11:21:38.865 00 SPR-I:OPRO ==> File Index = 4 +21-236-11:21:38.865 00 SPR-I:OPRO ==> Filter Type = 1 +21-236-11:21:38.865 00 SPR-I:OPRO ==> N Value = 1 +21-236-11:21:38.865 00 SPR-I:OPRO ==> X Value = 1 +21-236-11:21:38.865 00 SPR-I:OPRO ==> O Value = 0 +21-236-11:21:38.874 00 SPR-I:OPRO ==> MessageID = 0905 +21-236-11:21:38.875 00 SPR-I:OPRO ==> File Index = 1 +21-236-11:21:38.875 00 SPR-I:OPRO ==> Filter Type = 2 +21-236-11:21:38.875 00 SPR-I:OPRO ==> N Value = 1 +21-236-11:21:38.875 00 SPR-I:OPRO ==> X Value = 1 +21-236-11:21:38.875 00 SPR-I:OPRO ==> O Value = 0 +21-236-11:21:38.877 00 SPR-I:OPRO <*> Passed (2000.1) - The Packet Filter Table contains 6 valid entries. +21-236-11:21:38.883 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:21:43.887 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:21:43.887 00 SPR-I:OPRO ; Step 1.7: Dump the Destination File Table. +21-236-11:21:43.887 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:21:43.888 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/get_tbl_to_cvt.i +21-236-11:21:43.891 00 SPR-I:STS Procedure GET_TBL_TO_CVT started +21-236-11:21:43.910 00 SPR-I:OPRO Sending Command: /SCX_CPU1_TBL_DUMP ACTIVE DTABLENAME="DS.FILE_TBL" DFILENAME="/ram/cpu1_filetbl17" +21-236-11:21:43.911 00 CMH-I:CMD Command SFDU received:<1804C000006B037C000144532E46494C455F54424C00000000000000000000000000000000000000000000000000000000002F72616D2F637075315F66696C6574626C3137000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-236-11:21:43.926 00 SPR-I:STTE Wait mode - waiting 15 seconds ... +21-236-11:21:44.516 00 TLMH-I:STS 58-012-14:05:41.502 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=14 Successfully dumped Table 'DS.FILE_TBL' to '/ram/cpu1_filetbl17' +21-236-11:21:58.937 00 SPR-I:OPRO +21-236-11:21:58.937 00 SPR-I:OPRO The TBLNAME is: DS.FILE_TBL +21-236-11:21:58.937 00 SPR-I:OPRO The APID is: P0F76 +21-236-11:21:58.937 00 SPR-I:OPRO The CPU is: CPU3 +21-236-11:21:58.937 00 SPR-I:OPRO The IP Address is: 192.168.1.8 +21-236-11:21:58.938 00 SPR-I:OPRO The perl command is: perl /s/opr/accounts/global/tools/ftp.pl RAM:0 cpu1_filetbl17 cpu1_filetbl17 binary 192.168.1.8 +21-236-11:21:59.076 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-11:21:59.076 00 SPR-I:STTE Wait mode - waiting 15 seconds ... +21-236-11:22:14.087 00 SPR-I:OPRO +21-236-11:22:14.133 00 SPR-I:OPRO The unix command is cvt -ws file_list[3958].file_write_time "`date +%y-%j-%T -r /s/opr/accounts/cfs_test/image/cpu1_filetbl17`" +21-236-11:22:14.136 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:22:19.141 00 SPR-I:STS Procedure GET_TBL_TO_CVT completed +21-236-11:22:19.144 00 SPR-I:OPRO ==> Pathname = '/ram/' +21-236-11:22:19.144 00 SPR-I:OPRO ==> Basename = 'seq1' +21-236-11:22:19.144 00 SPR-I:OPRO ==> Extension = '.dat' +21-236-11:22:19.145 00 SPR-I:OPRO ==> Name Type = Count +21-236-11:22:19.145 00 SPR-I:OPRO ==> State = Enabled +21-236-11:22:19.146 00 SPR-I:OPRO ==> Max Size = 1024 +21-236-11:22:19.146 00 SPR-I:OPRO ==> Max Age = 600 +21-236-11:22:19.146 00 SPR-I:OPRO ==> Seq Count = 100 +21-236-11:22:19.172 00 SPR-I:OPRO ==> Pathname = '/ram/' +21-236-11:22:19.173 00 SPR-I:OPRO ==> Basename = 'seq2' +21-236-11:22:19.173 00 SPR-I:OPRO ==> Extension = '.dat' +21-236-11:22:19.174 00 SPR-I:OPRO ==> Name Type = Count +21-236-11:22:19.174 00 SPR-I:OPRO ==> State = Enabled +21-236-11:22:19.174 00 SPR-I:OPRO ==> Max Size = 1024 +21-236-11:22:19.175 00 SPR-I:OPRO ==> Max Age = 600 +21-236-11:22:19.175 00 SPR-I:OPRO ==> Seq Count = 200 +21-236-11:22:19.176 00 SPR-I:OPRO ==> Pathname = '/ram/' +21-236-11:22:19.177 00 SPR-I:OPRO ==> Basename = 'seq3' +21-236-11:22:19.177 00 SPR-I:OPRO ==> Extension = '.dat' +21-236-11:22:19.178 00 SPR-I:OPRO ==> Name Type = Count +21-236-11:22:19.178 00 SPR-I:OPRO ==> State = Enabled +21-236-11:22:19.178 00 SPR-I:OPRO ==> Max Size = 1024 +21-236-11:22:19.179 00 SPR-I:OPRO ==> Max Age = 600 +21-236-11:22:19.179 00 SPR-I:OPRO ==> Seq Count = 300 +21-236-11:22:19.182 00 SPR-I:OPRO ==> Pathname = '/ram/' +21-236-11:22:19.182 00 SPR-I:OPRO ==> Basename = 'seq4' +21-236-11:22:19.183 00 SPR-I:OPRO ==> Extension = '.dat' +21-236-11:22:19.184 00 SPR-I:OPRO ==> Name Type = Count +21-236-11:22:19.184 00 SPR-I:OPRO ==> State = Enabled +21-236-11:22:19.184 00 SPR-I:OPRO ==> Max Size = 1024 +21-236-11:22:19.184 00 SPR-I:OPRO ==> Max Age = 600 +21-236-11:22:19.184 00 SPR-I:OPRO ==> Seq Count = 400 +21-236-11:22:19.185 00 SPR-I:OPRO ==> Pathname = '/ram/' +21-236-11:22:19.186 00 SPR-I:OPRO ==> Basename = 'time1' +21-236-11:22:19.186 00 SPR-I:OPRO ==> Extension = '' +21-236-11:22:19.186 00 SPR-I:OPRO ==> Name Type = Time +21-236-11:22:19.186 00 SPR-I:OPRO ==> State = Enabled +21-236-11:22:19.186 00 SPR-I:OPRO ==> Max Size = 1024 +21-236-11:22:19.187 00 SPR-I:OPRO ==> Max Age = 60 +21-236-11:22:19.187 00 SPR-I:OPRO ==> Seq Count = 0 +21-236-11:22:19.199 00 SPR-I:OPRO ==> Pathname = '/ram/' +21-236-11:22:19.199 00 SPR-I:OPRO ==> Basename = 'time2' +21-236-11:22:19.199 00 SPR-I:OPRO ==> Extension = '' +21-236-11:22:19.199 00 SPR-I:OPRO ==> Name Type = Time +21-236-11:22:19.199 00 SPR-I:OPRO ==> State = Enabled +21-236-11:22:19.199 00 SPR-I:OPRO ==> Max Size = 1024 +21-236-11:22:19.199 00 SPR-I:OPRO ==> Max Age = 60 +21-236-11:22:19.200 00 SPR-I:OPRO ==> Seq Count = 0 +21-236-11:22:19.200 00 SPR-I:OPRO ==> Pathname = '/ram/' +21-236-11:22:19.200 00 SPR-I:OPRO ==> Basename = 'time3' +21-236-11:22:19.202 00 SPR-I:OPRO ==> Extension = '' +21-236-11:22:19.202 00 SPR-I:OPRO ==> Name Type = Time +21-236-11:22:19.202 00 SPR-I:OPRO ==> State = Enabled +21-236-11:22:19.202 00 SPR-I:OPRO ==> Max Size = 1024 +21-236-11:22:19.203 00 SPR-I:OPRO ==> Max Age = 60 +21-236-11:22:19.203 00 SPR-I:OPRO ==> Seq Count = 0 +21-236-11:22:19.203 00 SPR-I:OPRO ==> Pathname = '/ram/' +21-236-11:22:19.209 00 SPR-I:OPRO ==> Basename = 'time4' +21-236-11:22:19.209 00 SPR-I:OPRO ==> Extension = '' +21-236-11:22:19.209 00 SPR-I:OPRO ==> Name Type = Time +21-236-11:22:19.209 00 SPR-I:OPRO ==> State = Enabled +21-236-11:22:19.209 00 SPR-I:OPRO ==> Max Size = 1024 +21-236-11:22:19.209 00 SPR-I:OPRO ==> Max Age = 60 +21-236-11:22:19.209 00 SPR-I:OPRO ==> Seq Count = 0 +21-236-11:22:19.211 00 SPR-I:OPRO <*> Passed (2000.2) - The Destination File Table contains 8 valid entries. +21-236-11:22:19.212 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:22:24.215 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:22:24.215 00 SPR-I:OPRO ; Step 2.0: Message Filtering Test. +21-236-11:22:24.216 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:22:24.216 00 SPR-I:OPRO ; Step 2.1: Utilizing the TST_DS application, send valid messages to +21-236-11:22:24.216 00 SPR-I:OPRO ; the DS application using an entry that specifies Sequence filtering +21-236-11:22:24.216 00 SPR-I:OPRO ; and the maximum number of Destination File entries. +21-236-11:22:24.216 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:22:24.217 00 SPR-I:OPRO ; Step 2.1.1: Parse the tables to find an entry to use. +21-236-11:22:24.217 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:22:24.264 00 SPR-I:OPRO ==> Found filter entry at 0 +21-236-11:22:24.265 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:22:29.268 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:22:29.268 00 SPR-I:OPRO ; Step 2.1.2: Send the TST_DS command to send a message to DS using the +21-236-11:22:29.269 00 SPR-I:OPRO ; MessageID found above. Send a message that will not exceed the file +21-236-11:22:29.269 00 SPR-I:OPRO ; size constraint. The HK should contain info about the files opened. +21-236-11:22:29.269 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:22:29.274 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:22:29.274 00 SPR-I:OPRO ; Setup event 1 with TST_DS INFO 5 +21-236-11:22:29.274 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:22:29.275 00 CMH-I:CMD Command SFDU received:<1943C0000009033D00000900015A0000> from gs582cfslab4:SPR +21-236-11:22:29.289 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:22:30.015 00 TLMH-I:STS 58-012-14:06:27.003 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Message Size 116 to MID 0x00000900 +21-236-11:22:30.290 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:22:30.292 00 SPR-I:OPRO <*> Passed - Expected Event Msg 5 rcv'd. +21-236-11:22:30.295 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-11:22:30.327 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:22:31.018 00 TLMH-I:STS 58-012-14:06:28.003 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-11:22:31.328 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:22:31.330 00 SPR-I:OPRO <*> Passed (2000) - Passed packet counter incremented properly. +21-236-11:22:31.337 00 SPR-I:OPRO <*> Passed - A file was created with name '/ram/seq100000100.dat' for entry #0 +21-236-11:22:31.350 00 SPR-I:OPRO <*> Passed - A file was created with name '/ram/seq200000204.dat' for entry #1 +21-236-11:22:31.351 00 SPR-I:OPRO <*> Passed - A file was created with name '/ram/seq300000300.dat' for entry #2 +21-236-11:22:31.352 00 SPR-I:OPRO <*> Passed - A file was created with name '/ram/seq400000400.dat' for entry #3 +21-236-11:22:31.353 00 SPR-I:OPRO <*> Passed (2002;2002.1;3000;3000.1;3000.1.1) - The maximum number of files for a single message were created. +21-236-11:22:31.379 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:22:36.384 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:22:36.384 00 SPR-I:OPRO ; Step 2.2: Utilizing the TST_DS application, send valid messages to +21-236-11:22:36.384 00 SPR-I:OPRO ; the DS application using an entry that specifies Time filtering and +21-236-11:22:36.384 00 SPR-I:OPRO ; the maximum number of Destination File entries. +21-236-11:22:36.384 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:22:36.385 00 SPR-I:OPRO ; Step 2.2.1: Parse the tables to find an entry to use. +21-236-11:22:36.385 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:22:36.440 00 SPR-I:OPRO ==> Found filter entry at 1 +21-236-11:22:36.440 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:22:41.444 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:22:41.444 00 SPR-I:OPRO ; Step 2.2.2: Send the TST_DS command to send a message to DS using the +21-236-11:22:41.444 00 SPR-I:OPRO ; MessageID found above. Send a message that will not exceed the file +21-236-11:22:41.445 00 SPR-I:OPRO ; size constraint. The HK should contain info about the files opened. +21-236-11:22:41.445 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:22:41.451 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:22:41.452 00 SPR-I:OPRO ; Setup event 1 with TST_DS INFO 5 +21-236-11:22:41.452 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:22:41.455 00 CMH-I:CMD Command SFDU received:<1943C000000903DD0000090101BB0000> from gs582cfslab4:SPR +21-236-11:22:41.480 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:22:42.015 00 TLMH-I:STS 58-012-14:06:39.006 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Message Size 116 to MID 0x00000901 +21-236-11:22:42.481 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:22:42.483 00 SPR-I:OPRO <*> Passed - Expected Event Msg 5 rcv'd. +21-236-11:22:42.485 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-11:22:42.512 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:22:43.017 00 TLMH-I:STS 58-012-14:06:40.003 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-11:22:43.513 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:22:43.515 00 SPR-I:OPRO <*> Passed (2000) - Passed packet counter incremented properly. +21-236-11:22:43.521 00 SPR-I:OPRO <*> Passed - A file was created with name '/ram/time11980012140639' for entry #0 +21-236-11:22:43.563 00 SPR-I:OPRO <*> Passed - A file was created with name '/ram/time21980012140639' for entry #1 +21-236-11:22:43.564 00 SPR-I:OPRO <*> Passed - A file was created with name '/ram/time31980012140639' for entry #2 +21-236-11:22:43.565 00 SPR-I:OPRO <*> Passed - A file was created with name '/ram/time41980012140639' for entry #3 +21-236-11:22:43.568 00 SPR-I:OPRO <*> Passed (2002;2002.1;3000;3000.2;3000.2.1) - The maximum number of files for a single message were created. +21-236-11:22:43.599 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:22:48.603 00 SPR-I:OPRO ;********************************************************************* +21-236-11:22:48.603 00 SPR-I:OPRO ; Step 2.3: Close the files opened above. +21-236-11:22:48.603 00 SPR-I:OPRO ;********************************************************************* +21-236-11:22:48.606 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:22:48.606 00 SPR-I:OPRO ; Setup event 1 with DS DEBUG 59 +21-236-11:22:48.606 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:22:48.608 00 CMH-I:CMD Command SFDU received:<18BBC00000050E9700000000> from gs582cfslab4:SPR +21-236-11:22:48.610 00 CMH-I:CMD Command SFDU received:<18BBC00000050E9300040000> from gs582cfslab4:SPR +21-236-11:22:48.663 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:22:49.520 00 TLMH-I:STS 58-012-14:06:46.501 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=59 DEST CLOSE command: file table index = 0 +21-236-11:22:49.521 00 TLMH-I:STS 58-012-14:06:46.501 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=59 DEST CLOSE command: file table index = 4 +21-236-11:22:51.666 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:22:51.668 00 SPR-I:OPRO <*> Passed (1004;5002) - DS Close File commands sent properly. +21-236-11:22:51.687 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:22:51.690 00 SPR-I:OPRO <*> Passed (1004;5002) - Expected Event Msg 59 rcv'd. +21-236-11:22:51.736 00 SPR-I:OPRO ==> Downloading '/ram/seq100000100.dat' +21-236-11:22:51.761 00 SPR-I:OPRO ==> FileName Only = 'seq100000100.dat' +21-236-11:22:51.761 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/ftp_file.i +21-236-11:22:51.761 00 SPR-I:STS Procedure FTP_FILE started +21-236-11:22:51.855 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-11:22:51.855 00 SPR-I:STS Procedure FTP_FILE completed +21-236-11:22:51.858 00 SPR-I:OPRO ==> Downloading '/ram/time11980012140639' +21-236-11:22:51.859 00 SPR-I:OPRO ==> FileName Only = 'time11980012140639' +21-236-11:22:51.884 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/ftp_file.i +21-236-11:22:51.884 00 SPR-I:STS Procedure FTP_FILE started +21-236-11:22:52.004 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-11:22:52.004 00 SPR-I:STS Procedure FTP_FILE completed +21-236-11:22:52.007 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:22:52.007 00 SPR-I:OPRO ; Setup event 1 with DS DEBUG 59 +21-236-11:22:52.007 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:22:52.008 00 CMH-I:CMD Command SFDU received:<18BBC00000050E9600010000> from gs582cfslab4:SPR +21-236-11:22:52.023 00 CMH-I:CMD Command SFDU received:<18BBC00000050E9200050000> from gs582cfslab4:SPR +21-236-11:22:52.086 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:22:52.521 00 TLMH-I:STS 58-012-14:06:49.501 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=59 DEST CLOSE command: file table index = 1 +21-236-11:22:52.523 00 TLMH-I:STS 58-012-14:06:49.501 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=59 DEST CLOSE command: file table index = 5 +21-236-11:22:55.089 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:22:55.091 00 SPR-I:OPRO <*> Passed (1004;5002) - DS Close File commands sent properly. +21-236-11:22:55.110 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:22:55.112 00 SPR-I:OPRO <*> Passed (1004;5002) - Expected Event Msg 59 rcv'd. +21-236-11:22:55.153 00 SPR-I:OPRO ==> Downloading '/ram/seq200000204.dat' +21-236-11:22:55.176 00 SPR-I:OPRO ==> FileName Only = 'seq200000204.dat' +21-236-11:22:55.176 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/ftp_file.i +21-236-11:22:55.176 00 SPR-I:STS Procedure FTP_FILE started +21-236-11:22:55.261 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-11:22:55.261 00 SPR-I:STS Procedure FTP_FILE completed +21-236-11:22:55.263 00 SPR-I:OPRO ==> Downloading '/ram/time21980012140639' +21-236-11:22:55.263 00 SPR-I:OPRO ==> FileName Only = 'time21980012140639' +21-236-11:22:55.281 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/ftp_file.i +21-236-11:22:55.282 00 SPR-I:STS Procedure FTP_FILE started +21-236-11:22:55.372 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-11:22:55.372 00 SPR-I:STS Procedure FTP_FILE completed +21-236-11:22:55.383 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:22:55.384 00 SPR-I:OPRO ; Setup event 1 with DS DEBUG 59 +21-236-11:22:55.384 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:22:55.388 00 CMH-I:CMD Command SFDU received:<18BBC00000050E9500020000> from gs582cfslab4:SPR +21-236-11:22:55.416 00 CMH-I:CMD Command SFDU received:<18BBC00000050E9100060000> from gs582cfslab4:SPR +21-236-11:22:55.477 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:22:56.014 00 TLMH-I:STS 58-012-14:06:53.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=59 DEST CLOSE command: file table index = 2 +21-236-11:22:56.015 00 TLMH-I:STS 58-012-14:06:53.002 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=59 DEST CLOSE command: file table index = 6 +21-236-11:22:59.481 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:22:59.483 00 SPR-I:OPRO <*> Passed (1004;5002) - DS Close File commands sent properly. +21-236-11:22:59.504 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:22:59.506 00 SPR-I:OPRO <*> Passed (1004;5002) - Expected Event Msg 59 rcv'd. +21-236-11:22:59.545 00 SPR-I:OPRO ==> Downloading '/ram/seq300000300.dat' +21-236-11:22:59.568 00 SPR-I:OPRO ==> FileName Only = 'seq300000300.dat' +21-236-11:22:59.568 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/ftp_file.i +21-236-11:22:59.569 00 SPR-I:STS Procedure FTP_FILE started +21-236-11:22:59.654 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-11:22:59.654 00 SPR-I:STS Procedure FTP_FILE completed +21-236-11:22:59.656 00 SPR-I:OPRO ==> Downloading '/ram/time31980012140639' +21-236-11:22:59.657 00 SPR-I:OPRO ==> FileName Only = 'time31980012140639' +21-236-11:22:59.681 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/ftp_file.i +21-236-11:22:59.681 00 SPR-I:STS Procedure FTP_FILE started +21-236-11:22:59.799 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-11:22:59.799 00 SPR-I:STS Procedure FTP_FILE completed +21-236-11:22:59.802 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:22:59.802 00 SPR-I:OPRO ; Setup event 1 with DS DEBUG 59 +21-236-11:22:59.802 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:22:59.803 00 CMH-I:CMD Command SFDU received:<18BBC00000050E9400030000> from gs582cfslab4:SPR +21-236-11:22:59.814 00 CMH-I:CMD Command SFDU received:<18BBC00000050E9000070000> from gs582cfslab4:SPR +21-236-11:22:59.859 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:23:00.514 00 TLMH-I:STS 58-012-14:06:57.501 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=59 DEST CLOSE command: file table index = 3 +21-236-11:23:00.515 00 TLMH-I:STS 58-012-14:06:57.501 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=59 DEST CLOSE command: file table index = 7 +21-236-11:23:03.863 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:23:03.865 00 SPR-I:OPRO <*> Passed (1004;5002) - DS Close File commands sent properly. +21-236-11:23:03.885 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:23:03.887 00 SPR-I:OPRO <*> Passed (1004;5002) - Expected Event Msg 59 rcv'd. +21-236-11:23:03.927 00 SPR-I:OPRO ==> Downloading '/ram/seq400000400.dat' +21-236-11:23:03.950 00 SPR-I:OPRO ==> FileName Only = 'seq400000400.dat' +21-236-11:23:03.951 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/ftp_file.i +21-236-11:23:03.951 00 SPR-I:STS Procedure FTP_FILE started +21-236-11:23:04.044 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-11:23:04.044 00 SPR-I:STS Procedure FTP_FILE completed +21-236-11:23:04.047 00 SPR-I:OPRO ==> Downloading '/ram/time41980012140639' +21-236-11:23:04.048 00 SPR-I:OPRO ==> FileName Only = 'time41980012140639' +21-236-11:23:04.073 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/ftp_file.i +21-236-11:23:04.073 00 SPR-I:STS Procedure FTP_FILE started +21-236-11:23:04.180 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-11:23:04.180 00 SPR-I:STS Procedure FTP_FILE completed +21-236-11:23:04.182 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-11:23:04.200 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:23:05.012 00 TLMH-I:STS 58-012-14:07:02.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-11:23:07.204 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:23:07.206 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:23:12.210 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:23:12.210 00 SPR-I:OPRO ; Step 2.4: Utilizing the TST_DS application, send 'N of X' messages +21-236-11:23:12.210 00 SPR-I:OPRO ; to the DS application using an entry that specifies a single +21-236-11:23:12.210 00 SPR-I:OPRO ; Destination File entry. +21-236-11:23:12.210 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:23:12.211 00 SPR-I:OPRO ; Step 2.4.1: Parse the tables to find an entry to use. +21-236-11:23:12.211 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:23:12.306 00 SPR-I:OPRO ==> Found filter entry at 2 +21-236-11:23:12.306 00 SPR-I:OPRO ==> MsgID = '0902' - N = 1 X = 3 O = 0 +21-236-11:23:12.306 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:23:17.310 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:23:17.310 00 SPR-I:OPRO ; Step 2.4.2: Send the TST_DS command to send X messages to DS. +21-236-11:23:17.311 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:23:17.312 00 SPR-I:OPRO ==> Passed Packet Cnt = 133 expected Cnt = 134 +21-236-11:23:17.313 00 SPR-I:OPRO ==> File Write Cnt = 334 expected Cnt = 338 +21-236-11:23:17.316 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:23:17.317 00 SPR-I:OPRO ; Setup event 1 with TST_DS INFO 5 +21-236-11:23:17.317 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:23:17.317 00 CMH-I:CMD Command SFDU received:<1943C000000903640000090201010000> from gs582cfslab4:SPR +21-236-11:23:17.328 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:23:18.018 00 TLMH-I:STS 58-012-14:07:15.001 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Message Size 116 to MID 0x00000902 +21-236-11:23:22.335 00 CMH-I:CMD Command SFDU received:<1943C000000903670000090201020000> from gs582cfslab4:SPR +21-236-11:23:22.348 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:23:23.019 00 TLMH-I:STS 58-012-14:07:20.004 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Message Size 116 to MID 0x00000902 +21-236-11:23:23.109 00 SPR-I:OPRI --> native "cmdbrowse -console 1 &" +21-236-11:23:27.372 00 CMH-I:CMD Command SFDU received:<1943C000000903660000090201030000> from gs582cfslab4:SPR +21-236-11:23:27.383 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:23:28.016 00 TLMH-I:STS 58-012-14:07:25.002 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Message Size 116 to MID 0x00000902 +21-236-11:23:32.388 00 SPR-I:OPRO <*> Passed - Rcv'd the expected number of Send events. +21-236-11:23:32.388 00 SPR-I:OPRO <*> Passed (2000) - Counters incremented properly. +21-236-11:23:32.391 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-11:23:32.406 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:23:33.014 00 TLMH-I:STS 58-012-14:07:30.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-11:23:35.409 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:23:35.413 00 SPR-I:OPRO <*> Passed (2002.1;3000) - A file was created with name '/ram/seq100000101.dat' +21-236-11:23:35.418 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:23:40.423 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:23:40.423 00 SPR-I:OPRO ; Step 2.5: Close the Destination File opened in the above step. +21-236-11:23:40.423 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:23:40.427 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:23:40.428 00 SPR-I:OPRO ; Setup event 1 with DS DEBUG 59 +21-236-11:23:40.428 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:23:40.428 00 CMH-I:CMD Command SFDU received:<18BBC00000050E9700000000> from gs582cfslab4:SPR +21-236-11:23:40.442 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:23:41.011 00 TLMH-I:STS 58-012-14:07:38.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=59 DEST CLOSE command: file table index = 0 +21-236-11:23:43.445 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:23:43.447 00 SPR-I:OPRO <*> Passed (1004;5002) - DS Close File command sent properly. +21-236-11:23:43.466 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:23:43.468 00 SPR-I:OPRO <*> Passed (1004;5002) - Expected Event Msg 59 rcv'd. +21-236-11:23:43.507 00 SPR-I:OPRO ==> Downloading '/ram/seq100000101.dat' +21-236-11:23:43.507 00 SPR-I:OPRO ==> FileName Only = 'seq100000101.dat' +21-236-11:23:43.524 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/ftp_file.i +21-236-11:23:43.524 00 SPR-I:STS Procedure FTP_FILE started +21-236-11:23:43.611 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-11:23:43.611 00 SPR-I:STS Procedure FTP_FILE completed +21-236-11:23:43.612 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:23:48.616 00 SPR-I:OPRO ;********************************************************************* +21-236-11:23:48.616 00 SPR-I:OPRO ; Step 2.6: Send the Set Filter Parameter for a Packet Filter Table +21-236-11:23:48.616 00 SPR-I:OPRO ; entry command specifying a different N_Value. +21-236-11:23:48.617 00 SPR-I:OPRO ;********************************************************************* +21-236-11:23:48.624 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:23:48.624 00 SPR-I:OPRO ; Setup event 1 with DS DEBUG 41 +21-236-11:23:48.624 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:23:48.628 00 CMH-I:CMD Command SFDU received:<18BBC000000D059E000009020000000200030000> from gs582cfslab4:SPR +21-236-11:23:48.652 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:23:49.514 00 TLMH-I:STS 58-012-14:07:46.502 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=41 FILTER PARMS command: MID = 0x00000902, index = 2, filter = 0, N = 2, X = 3, O = 0 +21-236-11:23:51.656 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:23:51.658 00 SPR-I:OPRO <*> Passed (1004;5010) - DS Set Filter Parameters command sent properly. +21-236-11:23:51.678 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:23:51.681 00 SPR-I:OPRO <*> Passed (1004;5010) - Expected Event Msg 41 rcv'd. +21-236-11:23:51.721 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:23:56.725 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:23:56.725 00 SPR-I:OPRO ; Step 2.7: Dump the Packet Filter Table. +21-236-11:23:56.725 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:23:56.726 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/get_tbl_to_cvt.i +21-236-11:23:56.730 00 SPR-I:STS Procedure GET_TBL_TO_CVT started +21-236-11:23:56.750 00 SPR-I:OPRO Sending Command: /SCX_CPU1_TBL_DUMP ACTIVE DTABLENAME="DS.FILTER_TBL" DFILENAME="/ram/cpu1_filtertbl27" +21-236-11:23:56.752 00 CMH-I:CMD Command SFDU received:<1804C000006B037F000144532E46494C5445525F54424C0000000000000000000000000000000000000000000000000000002F72616D2F637075315F66696C74657274626C323700000000000000000000000000000000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-236-11:23:56.754 00 SPR-I:STTE Wait mode - waiting 15 seconds ... +21-236-11:23:57.512 00 TLMH-I:STS 58-012-14:07:54.503 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=14 Successfully dumped Table 'DS.FILTER_TBL' to '/ram/cpu1_filtertbl27' +21-236-11:24:11.765 00 SPR-I:OPRO +21-236-11:24:11.765 00 SPR-I:OPRO The TBLNAME is: DS.FILTER_TBL +21-236-11:24:11.765 00 SPR-I:OPRO The APID is: P0F77 +21-236-11:24:11.765 00 SPR-I:OPRO The CPU is: CPU3 +21-236-11:24:11.765 00 SPR-I:OPRO The IP Address is: 192.168.1.8 +21-236-11:24:11.767 00 SPR-I:OPRO The perl command is: perl /s/opr/accounts/global/tools/ftp.pl RAM:0 cpu1_filtertbl27 cpu1_filtertbl27 binary 192.168.1.8 +21-236-11:24:11.907 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-11:24:11.907 00 SPR-I:STTE Wait mode - waiting 15 seconds ... +21-236-11:24:26.918 00 SPR-I:OPRO +21-236-11:24:26.932 00 SPR-I:OPRO The unix command is cvt -ws file_list[3959].file_write_time "`date +%y-%j-%T -r /s/opr/accounts/cfs_test/image/cpu1_filtertbl27`" +21-236-11:24:26.932 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:24:31.937 00 SPR-I:STS Procedure GET_TBL_TO_CVT completed +21-236-11:24:31.940 00 SPR-I:OPRO <*> Passed (5010) - Parameter changes are reflected in the table. +21-236-11:24:31.943 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:24:36.947 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:24:36.947 00 SPR-I:OPRO ; Step 2.8: Utilizing the TST_DS application, send 'N of X' messages +21-236-11:24:36.947 00 SPR-I:OPRO ; to the DS application using the entry modified above. +21-236-11:24:36.947 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:24:36.948 00 SPR-I:OPRO ==> MsgID = '0902' - N = 2 X = 3 O = 0 +21-236-11:24:36.950 00 SPR-I:OPRO ==> Passed Packet Cnt = 134 expected Cnt = 136 +21-236-11:24:36.950 00 SPR-I:OPRO ==> File Write Cnt = 338 expected Cnt = 343 +21-236-11:24:36.957 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:24:36.958 00 SPR-I:OPRO ; Setup event 1 with TST_DS INFO 5 +21-236-11:24:36.958 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:24:36.962 00 CMH-I:CMD Command SFDU received:<1943C000000903640000090201010000> from gs582cfslab4:SPR +21-236-11:24:36.965 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:24:37.511 00 TLMH-I:STS 58-012-14:08:34.502 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Message Size 116 to MID 0x00000902 +21-236-11:24:41.973 00 CMH-I:CMD Command SFDU received:<1943C000000903670000090201020000> from gs582cfslab4:SPR +21-236-11:24:41.986 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:24:42.519 00 TLMH-I:STS 58-012-14:08:39.500 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Message Size 116 to MID 0x00000902 +21-236-11:24:46.993 00 CMH-I:CMD Command SFDU received:<1943C000000903660000090201030000> from gs582cfslab4:SPR +21-236-11:24:47.006 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:24:47.517 00 TLMH-I:STS 58-012-14:08:44.500 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Message Size 116 to MID 0x00000902 +21-236-11:24:52.009 00 SPR-I:OPRO <*> Passed - Rcv'd the expected number of Send events. +21-236-11:24:52.010 00 SPR-I:OPRO <*> Passed (2000) - Counters incremented properly. +21-236-11:24:52.012 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-11:24:52.015 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:24:52.509 00 TLMH-I:STS 58-012-14:08:49.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-11:24:55.017 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:24:55.019 00 SPR-I:OPRO <*> Passed (2002.1;3000) - A file was created with name '/ram/seq100000102.dat' +21-236-11:24:55.027 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:25:00.031 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:25:00.031 00 SPR-I:OPRO ; Step 2.9: Close the Destination File opened in the above step. +21-236-11:25:00.031 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:25:00.040 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:25:00.041 00 SPR-I:OPRO ; Setup event 1 with DS DEBUG 59 +21-236-11:25:00.041 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:25:00.043 00 CMH-I:CMD Command SFDU received:<18BBC00000050E9700000000> from gs582cfslab4:SPR +21-236-11:25:00.059 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:25:00.520 00 TLMH-I:STS 58-012-14:08:57.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=59 DEST CLOSE command: file table index = 0 +21-236-11:25:03.062 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:25:03.064 00 SPR-I:OPRO <*> Passed (1004;5002) - DS Close File command sent properly. +21-236-11:25:03.072 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:25:03.072 00 SPR-I:OPRO <*> Passed (1004;5002) - Expected Event Msg 59 rcv'd. +21-236-11:25:03.096 00 SPR-I:OPRO ==> Downloading '/ram/seq100000102.dat' +21-236-11:25:03.097 00 SPR-I:OPRO ==> FileName Only = 'seq100000102.dat' +21-236-11:25:03.114 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/ftp_file.i +21-236-11:25:03.115 00 SPR-I:STS Procedure FTP_FILE started +21-236-11:25:03.213 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-11:25:03.214 00 SPR-I:STS Procedure FTP_FILE completed +21-236-11:25:03.215 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:25:08.219 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:25:08.219 00 SPR-I:OPRO ; Step 2.10: Set the N_Value and X_Value to zero (0) for two separate +21-236-11:25:08.219 00 SPR-I:OPRO ; Filter Table entries. Use the one from above and find another. +21-236-11:25:08.219 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:25:08.219 00 SPR-I:OPRO ; Step 2.10.1: Parse the tables to find an entry to use. +21-236-11:25:08.219 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:25:08.293 00 SPR-I:OPRO ==> Found filter entry at 3 +21-236-11:25:08.294 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:25:13.298 00 SPR-I:OPRO ;********************************************************************* +21-236-11:25:13.298 00 SPR-I:OPRO ; Step 2.10.2: Send the Set Filter Parameter entry command specifying +21-236-11:25:13.298 00 SPR-I:OPRO ; zero (0) for the N_Value parameter. +21-236-11:25:13.298 00 SPR-I:OPRO ;********************************************************************* +21-236-11:25:13.303 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:25:13.304 00 SPR-I:OPRO ; Setup event 1 with DS DEBUG 41 +21-236-11:25:13.304 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:25:13.305 00 CMH-I:CMD Command SFDU received:<18BBC000000D059C000009020000000000030000> from gs582cfslab4:SPR +21-236-11:25:13.318 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:25:14.020 00 TLMH-I:STS 58-012-14:09:11.003 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=41 FILTER PARMS command: MID = 0x00000902, index = 2, filter = 0, N = 0, X = 3, O = 0 +21-236-11:25:15.320 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:25:15.323 00 SPR-I:OPRO <*> Passed (1004;5010) - DS Set Filter Parameters command sent properly. +21-236-11:25:15.330 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:25:15.331 00 SPR-I:OPRO <*> Passed (1004;5010) - Expected Event Msg 41 rcv'd. +21-236-11:25:15.355 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:25:20.359 00 SPR-I:OPRO ;********************************************************************* +21-236-11:25:20.359 00 SPR-I:OPRO ; Step 2.10.3: Send the Set Filter Parameter entry command specifying +21-236-11:25:20.359 00 SPR-I:OPRO ; zero (0) for the X_Value parameter. +21-236-11:25:20.359 00 SPR-I:OPRO ;********************************************************************* +21-236-11:25:20.365 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:25:20.365 00 SPR-I:OPRO ; Setup event 1 with DS DEBUG 41 +21-236-11:25:20.365 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:25:20.366 00 CMH-I:CMD Command SFDU received:<18BBC000000D059E000009030000000000000000> from gs582cfslab4:SPR +21-236-11:25:20.380 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:25:21.018 00 TLMH-I:STS 58-012-14:09:18.003 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=41 FILTER PARMS command: MID = 0x00000903, index = 3, filter = 0, N = 0, X = 0, O = 0 +21-236-11:25:23.384 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:25:23.386 00 SPR-I:OPRO <*> Passed (1004;5010) - DS Set Filter Parameters command sent properly. +21-236-11:25:23.395 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:25:23.396 00 SPR-I:OPRO <*> Passed (1004;5010) - Expected Event Msg 41 rcv'd. +21-236-11:25:23.424 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:25:28.428 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:25:28.428 00 SPR-I:OPRO ; Step 2.11: Dump the Packet Filter Table. +21-236-11:25:28.428 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:25:28.429 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/get_tbl_to_cvt.i +21-236-11:25:28.431 00 SPR-I:STS Procedure GET_TBL_TO_CVT started +21-236-11:25:28.437 00 SPR-I:OPRO Sending Command: /SCX_CPU1_TBL_DUMP ACTIVE DTABLENAME="DS.FILTER_TBL" DFILENAME="/ram/cpu1_filtertbl211" +21-236-11:25:28.437 00 CMH-I:CMD Command SFDU received:<1804C000006B0348000144532E46494C5445525F54424C0000000000000000000000000000000000000000000000000000002F72616D2F637075315F66696C74657274626C323131000000000000000000000000000000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-236-11:25:28.448 00 SPR-I:STTE Wait mode - waiting 15 seconds ... +21-236-11:25:29.012 00 TLMH-I:STS 58-012-14:09:26.003 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=14 Successfully dumped Table 'DS.FILTER_TBL' to '/ram/cpu1_filtertbl211' +21-236-11:25:43.460 00 SPR-I:OPRO +21-236-11:25:43.460 00 SPR-I:OPRO The TBLNAME is: DS.FILTER_TBL +21-236-11:25:43.460 00 SPR-I:OPRO The APID is: P0F77 +21-236-11:25:43.460 00 SPR-I:OPRO The CPU is: CPU3 +21-236-11:25:43.460 00 SPR-I:OPRO The IP Address is: 192.168.1.8 +21-236-11:25:43.461 00 SPR-I:OPRO The perl command is: perl /s/opr/accounts/global/tools/ftp.pl RAM:0 cpu1_filtertbl211 cpu1_filtertbl211 binary 192.168.1.8 +21-236-11:25:43.629 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-11:25:43.629 00 SPR-I:STTE Wait mode - waiting 15 seconds ... +21-236-11:25:58.641 00 SPR-I:OPRO +21-236-11:25:58.685 00 SPR-I:OPRO The unix command is cvt -ws file_list[3959].file_write_time "`date +%y-%j-%T -r /s/opr/accounts/cfs_test/image/cpu1_filtertbl211`" +21-236-11:25:58.685 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:26:03.690 00 SPR-I:STS Procedure GET_TBL_TO_CVT completed +21-236-11:26:03.694 00 SPR-I:OPRO <*> Passed (5010) - Parameter changes are reflected in the table. +21-236-11:26:03.697 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:26:08.702 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:26:08.702 00 SPR-I:OPRO ; Step 2.12: Send the TST_DS command to send messages to DS using the +21-236-11:26:08.702 00 SPR-I:OPRO ; message IDs whose parameters were set in the above steps. +21-236-11:26:08.702 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:26:08.709 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:26:08.709 00 SPR-I:OPRO ; Setup event 1 with TST_DS INFO 5 +21-236-11:26:08.710 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:26:08.713 00 CMH-I:CMD Command SFDU received:<1943C000000903300000090201550000> from gs582cfslab4:SPR +21-236-11:26:08.717 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:26:09.514 00 TLMH-I:STS 58-012-14:10:06.500 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Message Size 116 to MID 0x00000902 +21-236-11:26:13.724 00 CMH-I:CMD Command SFDU received:<1943C000000903300000090201550000> from gs582cfslab4:SPR +21-236-11:26:13.738 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:26:14.510 00 TLMH-I:STS 58-012-14:10:11.500 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Message Size 116 to MID 0x00000902 +21-236-11:26:18.744 00 CMH-I:CMD Command SFDU received:<1943C000000903300000090201550000> from gs582cfslab4:SPR +21-236-11:26:18.757 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:26:19.515 00 TLMH-I:STS 58-012-14:10:16.500 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Message Size 116 to MID 0x00000902 +21-236-11:26:23.764 00 CMH-I:CMD Command SFDU received:<1943C000000903CE0000090301AA0000> from gs582cfslab4:SPR +21-236-11:26:23.778 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:26:24.513 00 TLMH-I:STS 58-012-14:10:21.500 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Message Size 116 to MID 0x00000903 +21-236-11:26:28.784 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-11:26:28.808 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:26:29.516 00 TLMH-I:STS 58-012-14:10:26.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-11:26:31.811 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:26:31.814 00 SPR-I:OPRO <*> Passed - Rcv'd the expected number of Send events. +21-236-11:26:31.815 00 SPR-I:OPRO <*> Passed (2001.1) - A file was not created. +21-236-11:26:31.818 00 SPR-I:OPRO <*> Passed (2001.1) - A file was not created. +21-236-11:26:31.837 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:26:36.841 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:26:36.841 00 SPR-I:OPRO ; Step 2.13: Send the Set File Index for a Packet Filter Table entry +21-236-11:26:36.841 00 SPR-I:OPRO ; command for an entry that specifies Sequence filtering with a +21-236-11:26:36.841 00 SPR-I:OPRO ; Destination File entry that specifies Time file type naming. +21-236-11:26:36.842 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:26:36.842 00 SPR-I:OPRO ; Step 2.13.1: Parse the tables to find an entry to use. +21-236-11:26:36.842 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:26:36.954 00 SPR-I:OPRO ==> Found filter entry at 4 +21-236-11:26:36.954 00 SPR-I:OPRO ==> Found file entry at 4 +21-236-11:26:36.954 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:26:41.958 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:26:41.959 00 SPR-I:OPRO ; Step 2.13.2: Send the Set File Index command using the entries found +21-236-11:26:41.959 00 SPR-I:OPRO ; in the above step. +21-236-11:26:41.959 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:26:41.966 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:26:41.967 00 SPR-I:OPRO ; Setup event 1 with DS DEBUG 37 +21-236-11:26:41.967 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:26:41.970 00 CMH-I:CMD Command SFDU received:<18BBC0000009039F0000090400000004> from gs582cfslab4:SPR +21-236-11:26:41.997 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:26:42.509 00 TLMH-I:STS 58-012-14:10:39.502 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=37 FILTER FILE command: MID = 0x00000904, index = 4, filter = 0, file = 4 +21-236-11:26:43.999 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:26:44.001 00 SPR-I:OPRO <*> Passed (1004;5008) - DS Set Filter File command sent properly. +21-236-11:26:44.019 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:26:44.022 00 SPR-I:OPRO <*> Passed (1004;5008) - Expected Event Msg 37 rcv'd. +21-236-11:26:44.063 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:26:49.077 00 SPR-I:OPRI --> s display_next_page (256,4,"PREV",3959) +21-236-11:26:49.077 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/display_next_page.i +21-236-11:26:49.077 00 SPR-I:STS Procedure DISPLAY_NEXT_PAGE started +21-236-11:26:49.078 00 SPR-I:STS Procedure DISPLAY_NEXT_PAGE completed +21-236-11:26:49.079 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:26:49.079 00 SPR-I:OPRO ; Step 2.13.3: Dump the Packet Filter Table. +21-236-11:26:49.079 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:26:49.079 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/get_tbl_to_cvt.i +21-236-11:26:49.079 00 SPR-I:STS Procedure GET_TBL_TO_CVT started +21-236-11:26:49.083 00 SPR-I:OPRO Sending Command: /SCX_CPU1_TBL_DUMP ACTIVE DTABLENAME="DS.FILTER_TBL" DFILENAME="/ram/cpu1_filtertbl2133" +21-236-11:26:49.084 00 CMH-I:CMD Command SFDU received:<1804C000006B0379000144532E46494C5445525F54424C0000000000000000000000000000000000000000000000000000002F72616D2F637075315F66696C74657274626C323133330000000000000000000000000000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-236-11:26:49.095 00 SPR-I:STTE Wait mode - waiting 15 seconds ... +21-236-11:26:50.009 00 TLMH-I:STS 58-012-14:10:47.003 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=14 Successfully dumped Table 'DS.FILTER_TBL' to '/ram/cpu1_filtertbl2133' +21-236-11:27:04.107 00 SPR-I:OPRO +21-236-11:27:04.107 00 SPR-I:OPRO The TBLNAME is: DS.FILTER_TBL +21-236-11:27:04.107 00 SPR-I:OPRO The APID is: P0F77 +21-236-11:27:04.107 00 SPR-I:OPRO The CPU is: CPU3 +21-236-11:27:04.107 00 SPR-I:OPRO The IP Address is: 192.168.1.8 +21-236-11:27:04.110 00 SPR-I:OPRO The perl command is: perl /s/opr/accounts/global/tools/ftp.pl RAM:0 cpu1_filtertbl2133 cpu1_filtertbl2133 binary 192.168.1.8 +21-236-11:27:04.284 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-11:27:04.284 00 SPR-I:STTE Wait mode - waiting 15 seconds ... +21-236-11:27:07.296 00 SPR-I:OPRI --> s display_next_page (16,8,"NEXT",3959,"TLM") +21-236-11:27:07.296 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/display_next_page.i +21-236-11:27:07.296 00 SPR-I:STS Procedure DISPLAY_NEXT_PAGE started +21-236-11:27:07.297 00 SPR-I:STS Procedure DISPLAY_NEXT_PAGE completed +21-236-11:27:08.309 00 SPR-I:OPRI --> s display_next_page (16,8,"PREV",3959,"TLM") +21-236-11:27:08.310 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/display_next_page.i +21-236-11:27:08.311 00 SPR-I:STS Procedure DISPLAY_NEXT_PAGE started +21-236-11:27:08.317 00 SPR-I:STS Procedure DISPLAY_NEXT_PAGE completed +21-236-11:27:19.325 00 SPR-I:OPRO +21-236-11:27:19.343 00 SPR-I:OPRO The unix command is cvt -ws file_list[3959].file_write_time "`date +%y-%j-%T -r /s/opr/accounts/cfs_test/image/cpu1_filtertbl2133`" +21-236-11:27:19.343 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:27:24.348 00 SPR-I:STS Procedure GET_TBL_TO_CVT completed +21-236-11:27:24.350 00 SPR-I:OPRO <*> Passed (5008) - Parameter changes are reflected in the table. +21-236-11:27:24.353 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:27:29.358 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:27:29.358 00 SPR-I:OPRO ; Step 2.14: Send the TST_DS command to send a message to DS using the +21-236-11:27:29.358 00 SPR-I:OPRO ; MessageID found above. Send a message that will not exceed the file +21-236-11:27:29.358 00 SPR-I:OPRO ; size constraint. The HK should contain info about the file opened. +21-236-11:27:29.358 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:27:29.363 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:27:29.363 00 SPR-I:OPRO ; Setup event 1 with TST_DS INFO 5 +21-236-11:27:29.363 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:27:29.364 00 CMH-I:CMD Command SFDU received:<1943C0000009039C0000090401FF0000> from gs582cfslab4:SPR +21-236-11:27:29.378 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:27:30.017 00 TLMH-I:STS 58-012-14:11:27.003 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Message Size 116 to MID 0x00000904 +21-236-11:27:30.379 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:27:30.381 00 SPR-I:OPRO <*> Passed - Expected Event Msg 5 rcv'd. +21-236-11:27:30.384 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-11:27:30.410 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:27:31.012 00 TLMH-I:STS 58-012-14:11:28.003 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-11:27:31.411 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:27:31.413 00 SPR-I:OPRO <*> Passed (2000) - Passed packet counter incremented properly. +21-236-11:27:31.418 00 SPR-I:OPRO <*> Passed (2002.1;3000;3000.2;3000.2.1) - A file was created with name '/ram/time11980012141127' +21-236-11:27:31.484 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:27:36.488 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:27:36.488 00 SPR-I:OPRO ; Step 2.15: Close the Destination File opened in the above step. +21-236-11:27:36.488 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:27:36.494 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:27:36.494 00 SPR-I:OPRO ; Setup event 1 with DS DEBUG 59 +21-236-11:27:36.494 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:27:36.496 00 CMH-I:CMD Command SFDU received:<18BBC00000050E9300040000> from gs582cfslab4:SPR +21-236-11:27:36.512 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:27:37.016 00 TLMH-I:STS 58-012-14:11:34.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=59 DEST CLOSE command: file table index = 4 +21-236-11:27:39.515 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:27:39.518 00 SPR-I:OPRO <*> Passed (1004;5002) - DS Close File command sent properly. +21-236-11:27:39.525 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:27:39.526 00 SPR-I:OPRO <*> Passed (1004;5002) - Expected Event Msg 59 rcv'd. +21-236-11:27:39.555 00 SPR-I:OPRO ==> Downloading '/ram/time11980012141127' +21-236-11:27:39.578 00 SPR-I:OPRO ==> FileName Only = 'time11980012141127' +21-236-11:27:39.578 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/ftp_file.i +21-236-11:27:39.578 00 SPR-I:STS Procedure FTP_FILE started +21-236-11:27:39.664 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-11:27:39.664 00 SPR-I:STS Procedure FTP_FILE completed +21-236-11:27:39.665 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:27:44.668 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:27:44.668 00 SPR-I:OPRO ; Step 2.16: Send the Set File Index for a Packet Filter Table entry +21-236-11:27:44.668 00 SPR-I:OPRO ; command for an entry that specifies Time filtering with a +21-236-11:27:44.668 00 SPR-I:OPRO ; Destination File entry that specifies Sequence file type naming. +21-236-11:27:44.668 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:27:44.668 00 SPR-I:OPRO ; Step 2.16.1: Parse the tables to find an entry to use. +21-236-11:27:44.668 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:27:44.784 00 SPR-I:OPRO ==> Found filter entry at 5 +21-236-11:27:44.784 00 SPR-I:OPRO ==> Found file entry at 0 +21-236-11:27:44.784 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:27:49.789 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:27:49.789 00 SPR-I:OPRO ; Step 2.16.2: Send the Set File Index command using the entries found +21-236-11:27:49.789 00 SPR-I:OPRO ; in the above step. +21-236-11:27:49.789 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:27:49.796 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:27:49.796 00 SPR-I:OPRO ; Setup event 1 with DS DEBUG 37 +21-236-11:27:49.796 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:27:49.800 00 CMH-I:CMD Command SFDU received:<18BBC0000009039A0000090500000000> from gs582cfslab4:SPR +21-236-11:27:49.816 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:27:50.517 00 TLMH-I:STS 58-012-14:11:47.502 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=37 FILTER FILE command: MID = 0x00000905, index = 5, filter = 0, file = 0 +21-236-11:27:51.818 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:27:51.820 00 SPR-I:OPRO <*> Passed (1004;5008) - DS Set Filter File command sent properly. +21-236-11:27:51.839 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:27:51.841 00 SPR-I:OPRO <*> Passed (1004;5008) - Expected Event Msg 37 rcv'd. +21-236-11:27:51.882 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:27:56.886 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:27:56.886 00 SPR-I:OPRO ; Step 2.16.3: Dump the Packet Filter Table. +21-236-11:27:56.886 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:27:56.886 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/get_tbl_to_cvt.i +21-236-11:27:56.887 00 SPR-I:STS Procedure GET_TBL_TO_CVT started +21-236-11:27:56.893 00 SPR-I:OPRO Sending Command: /SCX_CPU1_TBL_DUMP ACTIVE DTABLENAME="DS.FILTER_TBL" DFILENAME="/ram/cpu1_filtertbl2163" +21-236-11:27:56.894 00 CMH-I:CMD Command SFDU received:<1804C000006B037C000144532E46494C5445525F54424C0000000000000000000000000000000000000000000000000000002F72616D2F637075315F66696C74657274626C323136330000000000000000000000000000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-236-11:27:56.894 00 SPR-I:STTE Wait mode - waiting 15 seconds ... +21-236-11:27:57.517 00 TLMH-I:STS 58-012-14:11:54.503 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=14 Successfully dumped Table 'DS.FILTER_TBL' to '/ram/cpu1_filtertbl2163' +21-236-11:28:11.905 00 SPR-I:OPRO +21-236-11:28:11.905 00 SPR-I:OPRO The TBLNAME is: DS.FILTER_TBL +21-236-11:28:11.905 00 SPR-I:OPRO The APID is: P0F77 +21-236-11:28:11.905 00 SPR-I:OPRO The CPU is: CPU3 +21-236-11:28:11.905 00 SPR-I:OPRO The IP Address is: 192.168.1.8 +21-236-11:28:11.906 00 SPR-I:OPRO The perl command is: perl /s/opr/accounts/global/tools/ftp.pl RAM:0 cpu1_filtertbl2163 cpu1_filtertbl2163 binary 192.168.1.8 +21-236-11:28:12.046 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-11:28:12.046 00 SPR-I:STTE Wait mode - waiting 15 seconds ... +21-236-11:28:27.059 00 SPR-I:OPRO +21-236-11:28:27.103 00 SPR-I:OPRO The unix command is cvt -ws file_list[3959].file_write_time "`date +%y-%j-%T -r /s/opr/accounts/cfs_test/image/cpu1_filtertbl2163`" +21-236-11:28:27.103 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:28:32.108 00 SPR-I:STS Procedure GET_TBL_TO_CVT completed +21-236-11:28:32.110 00 SPR-I:OPRO <*> Passed (5008) - Parameter changes are reflected in the table. +21-236-11:28:32.114 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:28:37.118 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:28:37.119 00 SPR-I:OPRO ; Step 2.17: Send the TST_DS command to send a message to DS using the +21-236-11:28:37.119 00 SPR-I:OPRO ; MessageID found above. Send a message that will not exceed the file +21-236-11:28:37.119 00 SPR-I:OPRO ; size constraint. The HK should contain info about the file opened. +21-236-11:28:37.119 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:28:37.126 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:28:37.127 00 SPR-I:OPRO ; Setup event 1 with TST_DS INFO 5 +21-236-11:28:37.127 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:28:37.131 00 CMH-I:CMD Command SFDU received:<1943C000000903370000090501550000> from gs582cfslab4:SPR +21-236-11:28:37.158 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:28:38.016 00 TLMH-I:STS 58-012-14:12:35.003 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Message Size 116 to MID 0x00000905 +21-236-11:28:38.159 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:28:38.161 00 SPR-I:OPRO <*> Passed - Expected Event Msg 5 rcv'd. +21-236-11:28:38.164 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-11:28:38.188 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:28:39.009 00 TLMH-I:STS 58-012-14:12:36.003 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-11:28:39.190 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:28:39.193 00 SPR-I:OPRO <*> Passed (2000) - Passed packet counter incremented properly. +21-236-11:28:39.197 00 SPR-I:OPRO <*> Passed (2002.1;3000;3000.1;3000.1.1) - A file was created with name '/ram/seq100000103.dat' +21-236-11:28:39.235 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:28:44.239 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:28:44.240 00 SPR-I:OPRO ; Step 2.18: Close the Destination File opened in the above step. +21-236-11:28:44.240 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:28:44.244 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:28:44.244 00 SPR-I:OPRO ; Setup event 1 with DS DEBUG 59 +21-236-11:28:44.244 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:28:44.245 00 CMH-I:CMD Command SFDU received:<18BBC00000050E9700000000> from gs582cfslab4:SPR +21-236-11:28:44.259 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:28:45.010 00 TLMH-I:STS 58-012-14:12:42.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=59 DEST CLOSE command: file table index = 0 +21-236-11:28:47.262 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:28:47.263 00 SPR-I:OPRO <*> Passed (1004;5002) - DS Close File command sent properly. +21-236-11:28:47.271 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:28:47.272 00 SPR-I:OPRO <*> Passed (1004;5002) - Expected Event Msg 59 rcv'd. +21-236-11:28:47.303 00 SPR-I:OPRO ==> Downloading '/ram/seq100000103.dat' +21-236-11:28:47.327 00 SPR-I:OPRO ==> FileName Only = 'seq100000103.dat' +21-236-11:28:47.328 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/ftp_file.i +21-236-11:28:47.328 00 SPR-I:STS Procedure FTP_FILE started +21-236-11:28:47.420 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-11:28:47.420 00 SPR-I:STS Procedure FTP_FILE completed +21-236-11:28:47.421 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:28:52.425 00 SPR-I:OPRO ;********************************************************************* +21-236-11:28:52.425 00 SPR-I:OPRO ; Step 3.0: Commanding Tests +21-236-11:28:52.425 00 SPR-I:OPRO ;********************************************************************* +21-236-11:28:52.425 00 SPR-I:OPRO ; Step 3.1: Using the Packet Filter Table entry from Step 2.18, send +21-236-11:28:52.426 00 SPR-I:OPRO ; the Set File Index command using a different Destination File index. +21-236-11:28:52.426 00 SPR-I:OPRO ;********************************************************************* +21-236-11:28:52.464 00 SPR-I:OPRO ==> Found file entry at 1 +21-236-11:28:52.467 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:28:52.467 00 SPR-I:OPRO ; Setup event 1 with DS DEBUG 37 +21-236-11:28:52.467 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:28:52.469 00 CMH-I:CMD Command SFDU received:<18BBC0000009039B0000090500000001> from gs582cfslab4:SPR +21-236-11:28:52.477 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:28:53.015 00 TLMH-I:STS 58-012-14:12:50.002 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=37 FILTER FILE command: MID = 0x00000905, index = 5, filter = 0, file = 1 +21-236-11:28:55.480 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:28:55.482 00 SPR-I:OPRO <*> Passed (1004;5008) - DS Set Filter File command sent properly. +21-236-11:28:55.490 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:28:55.491 00 SPR-I:OPRO <*> Passed (1004;5008) - Expected Event Msg 37 rcv'd. +21-236-11:28:55.517 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:29:00.521 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:29:00.521 00 SPR-I:OPRO ; Step 3.2: Dump the Packet Filter Table. +21-236-11:29:00.521 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:29:00.522 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/get_tbl_to_cvt.i +21-236-11:29:00.524 00 SPR-I:STS Procedure GET_TBL_TO_CVT started +21-236-11:29:00.529 00 SPR-I:OPRO Sending Command: /SCX_CPU1_TBL_DUMP ACTIVE DTABLENAME="DS.FILTER_TBL" DFILENAME="/ram/cpu1_filtertbl32" +21-236-11:29:00.530 00 CMH-I:CMD Command SFDU received:<1804C000006B037B000144532E46494C5445525F54424C0000000000000000000000000000000000000000000000000000002F72616D2F637075315F66696C74657274626C333200000000000000000000000000000000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-236-11:29:00.531 00 SPR-I:STTE Wait mode - waiting 15 seconds ... +21-236-11:29:01.009 00 TLMH-I:STS 58-012-14:12:58.003 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=14 Successfully dumped Table 'DS.FILTER_TBL' to '/ram/cpu1_filtertbl32' +21-236-11:29:15.542 00 SPR-I:OPRO +21-236-11:29:15.542 00 SPR-I:OPRO The TBLNAME is: DS.FILTER_TBL +21-236-11:29:15.542 00 SPR-I:OPRO The APID is: P0F77 +21-236-11:29:15.542 00 SPR-I:OPRO The CPU is: CPU3 +21-236-11:29:15.543 00 SPR-I:OPRO The IP Address is: 192.168.1.8 +21-236-11:29:15.546 00 SPR-I:OPRO The perl command is: perl /s/opr/accounts/global/tools/ftp.pl RAM:0 cpu1_filtertbl32 cpu1_filtertbl32 binary 192.168.1.8 +21-236-11:29:15.694 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-11:29:15.694 00 SPR-I:STTE Wait mode - waiting 15 seconds ... +21-236-11:29:30.706 00 SPR-I:OPRO +21-236-11:29:30.743 00 SPR-I:OPRO The unix command is cvt -ws file_list[3959].file_write_time "`date +%y-%j-%T -r /s/opr/accounts/cfs_test/image/cpu1_filtertbl32`" +21-236-11:29:30.746 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:29:35.750 00 SPR-I:STS Procedure GET_TBL_TO_CVT completed +21-236-11:29:35.753 00 SPR-I:OPRO <*> Passed (5008) - Parameter changes are reflected in the table. +21-236-11:29:35.757 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:29:40.765 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:29:40.765 00 SPR-I:OPRO ; Step 3.3: Send the TST_DS command to send a message to DS using the +21-236-11:29:40.766 00 SPR-I:OPRO ; MessageID used above. Send a message that will not exceed the file +21-236-11:29:40.766 00 SPR-I:OPRO ; size constraint. The HK should contain info about the file opened. +21-236-11:29:40.766 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:29:40.774 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:29:40.775 00 SPR-I:OPRO ; Setup event 1 with TST_DS INFO 5 +21-236-11:29:40.775 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:29:40.779 00 CMH-I:CMD Command SFDU received:<1943C000000903C80000090501AA0000> from gs582cfslab4:SPR +21-236-11:29:40.800 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:29:41.510 00 TLMH-I:STS 58-012-14:13:38.501 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Message Size 116 to MID 0x00000905 +21-236-11:29:41.801 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:29:41.804 00 SPR-I:OPRO <*> Passed - Expected Event Msg 5 rcv'd. +21-236-11:29:41.806 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-11:29:41.833 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:29:42.511 00 TLMH-I:STS 58-012-14:13:39.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-11:29:43.835 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:29:43.838 00 SPR-I:OPRO <*> Passed (2000) - Passed packet counter incremented properly. +21-236-11:29:43.843 00 SPR-I:OPRO <*> Passed (2002.1;3000) - A file was created with name '/ram/seq200000205.dat' +21-236-11:29:43.886 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:29:43.886 00 SPR-I:OPRO ; Setup event 1 with DS DEBUG 59 +21-236-11:29:43.886 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:29:43.887 00 CMH-I:CMD Command SFDU received:<18BBC00000050E9600010000> from gs582cfslab4:SPR +21-236-11:29:43.901 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:29:44.511 00 TLMH-I:STS 58-012-14:13:41.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=59 DEST CLOSE command: file table index = 1 +21-236-11:29:47.906 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:29:47.908 00 SPR-I:OPRO <*> Passed (1004;5002) - DS Close File command sent properly. +21-236-11:29:47.916 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:29:47.917 00 SPR-I:OPRO <*> Passed (1004;5002) - Expected Event Msg 59 rcv'd. +21-236-11:29:47.945 00 SPR-I:OPRO ==> Downloading '/ram/seq200000205.dat' +21-236-11:29:47.946 00 SPR-I:OPRO ==> FileName Only = 'seq200000205.dat' +21-236-11:29:47.965 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/ftp_file.i +21-236-11:29:47.966 00 SPR-I:STS Procedure FTP_FILE started +21-236-11:29:48.062 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-11:29:48.062 00 SPR-I:STS Procedure FTP_FILE completed +21-236-11:29:48.063 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:29:53.067 00 SPR-I:OPRO ;********************************************************************* +21-236-11:29:53.067 00 SPR-I:OPRO ; Step 3.4: Send the Set File Index command with an invalid length. +21-236-11:29:53.067 00 SPR-I:OPRO ;********************************************************************* +21-236-11:29:53.069 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:29:53.069 00 SPR-I:OPRO ; Setup event 1 with DS ERROR 38 +21-236-11:29:53.069 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:29:53.074 00 SPR-I:OPRO Sending: 18BBc0000008038F +21-236-11:29:53.076 00 CMH-I:CMD Command SFDU received:<18BBC0000008038F> from gs582cfslab4:SPR +21-236-11:29:53.091 00 SPR-I:OPRO ; Telemetry update will wait a maximum of 24 seconds +21-236-11:29:53.092 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:29:54.014 00 TLMH-I:STS 58-012-14:13:51.001 ERROR CPU=CPU1 APPNAME=DS EVENT ID=38 Invalid FILTER FILE command length: expected = 16, actual = 15 +21-236-11:29:55.094 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:29:55.110 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:29:55.112 00 SPR-I:OPRO <*> Passed (1002;1005) - Command Rejected Counter incremented. +21-236-11:29:55.120 00 SPR-I:OPRO <*> Passed (1005) - Event message 38 received +21-236-11:29:55.161 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:30:00.166 00 SPR-I:OPRO ;********************************************************************* +21-236-11:30:00.166 00 SPR-I:OPRO ; Step 3.5: Send the Set File Index command with invalid arguments. +21-236-11:30:00.166 00 SPR-I:OPRO ;********************************************************************* +21-236-11:30:00.166 00 SPR-I:OPRO ; Step 3.5.1: Send the Set File Index command with message ID that +21-236-11:30:00.166 00 SPR-I:OPRO ; does not exist in the table. +21-236-11:30:00.166 00 SPR-I:OPRO ;********************************************************************* +21-236-11:30:00.173 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:30:00.173 00 SPR-I:OPRO ; Setup event 1 with DS ERROR 38 +21-236-11:30:00.173 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:30:00.177 00 CMH-I:CMD Command SFDU received:<18BBC000000903210000F34500000001> from gs582cfslab4:SPR +21-236-11:30:00.203 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:30:01.013 00 TLMH-I:STS 58-012-14:13:58.001 ERROR CPU=CPU1 APPNAME=DS EVENT ID=38 Invalid FILTER FILE command: Message ID 0x0000F345 is not in filter table +21-236-11:30:03.207 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:30:03.209 00 SPR-I:OPRO <*> Passed (1005) - DS Set Filter File command failed as expected. +21-236-11:30:03.215 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:30:03.215 00 SPR-I:OPRO <*> Passed (1005) - Expected Event Msg 38 rcv'd. +21-236-11:30:03.216 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:30:08.235 00 SPR-I:OPRO ;********************************************************************* +21-236-11:30:08.235 00 SPR-I:OPRO ; Step 3.5.2: Send the Set File Index command with an invalid +21-236-11:30:08.236 00 SPR-I:OPRO ; parameter index. +21-236-11:30:08.236 00 SPR-I:OPRO ;********************************************************************* +21-236-11:30:08.243 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:30:08.243 00 SPR-I:OPRO ; Setup event 1 with DS ERROR 38 +21-236-11:30:08.244 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:30:08.248 00 CMH-I:CMD Command SFDU received:<18BBC0000009039F0000090500040001> from gs582cfslab4:SPR +21-236-11:30:08.272 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:30:09.017 00 TLMH-I:STS 58-012-14:14:06.001 ERROR CPU=CPU1 APPNAME=DS EVENT ID=38 Invalid FILTER FILE command arg: filter parameters index = 4 +21-236-11:30:11.275 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:30:11.278 00 SPR-I:OPRO <*> Passed (1005) - DS Set Filter File command failed as expected. +21-236-11:30:11.296 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:30:11.299 00 SPR-I:OPRO <*> Passed (1005) - Expected Event Msg 38 rcv'd. +21-236-11:30:11.303 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:30:16.337 00 SPR-I:OPRO ;********************************************************************* +21-236-11:30:16.337 00 SPR-I:OPRO ; Step 3.5.3: Send the Set File Index command with an invalid +21-236-11:30:16.337 00 SPR-I:OPRO ; file index. +21-236-11:30:16.338 00 SPR-I:OPRO ;********************************************************************* +21-236-11:30:16.346 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:30:16.347 00 SPR-I:OPRO ; Setup event 1 with DS ERROR 38 +21-236-11:30:16.347 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:30:16.351 00 CMH-I:CMD Command SFDU received:<18BBC0000009038A0000090500000010> from gs582cfslab4:SPR +21-236-11:30:16.375 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:30:17.015 00 TLMH-I:STS 58-012-14:14:14.001 ERROR CPU=CPU1 APPNAME=DS EVENT ID=38 Invalid FILTER FILE command arg: file table index = 16 +21-236-11:30:19.378 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:30:19.380 00 SPR-I:OPRO <*> Passed (1005) - DS Set Filter File command failed as expected. +21-236-11:30:19.386 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:30:19.386 00 SPR-I:OPRO <*> Passed (1005) - Expected Event Msg 38 rcv'd. +21-236-11:30:19.387 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:30:24.406 00 SPR-I:OPRO ;********************************************************************* +21-236-11:30:24.407 00 SPR-I:OPRO ; Step 3.6: Send the Set Filter Type command. +21-236-11:30:24.407 00 SPR-I:OPRO ;********************************************************************* +21-236-11:30:24.415 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:30:24.416 00 SPR-I:OPRO ; Setup event 1 with DS DEBUG 39 +21-236-11:30:24.416 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:30:24.421 00 CMH-I:CMD Command SFDU received:<18BBC0000009049C0000090500000001> from gs582cfslab4:SPR +21-236-11:30:24.450 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:30:25.015 00 TLMH-I:STS 58-012-14:14:22.002 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=39 FILTER TYPE command: MID = 0x00000905, index = 5, filter = 0, type = 1 +21-236-11:30:27.453 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:30:27.455 00 SPR-I:OPRO <*> Passed (1004;5009) - DS Set Filter Type command sent properly. +21-236-11:30:27.474 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:30:27.476 00 SPR-I:OPRO <*> Passed (1004;5009) - Expected Event Msg 39 rcv'd. +21-236-11:30:27.521 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:30:32.525 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:30:32.525 00 SPR-I:OPRO ; Step 3.7: Dump the Packet Filter Table. +21-236-11:30:32.526 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:30:32.526 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/get_tbl_to_cvt.i +21-236-11:30:32.529 00 SPR-I:STS Procedure GET_TBL_TO_CVT started +21-236-11:30:32.553 00 SPR-I:OPRO Sending Command: /SCX_CPU1_TBL_DUMP ACTIVE DTABLENAME="DS.FILTER_TBL" DFILENAME="/ram/cpu1_filtertbl37" +21-236-11:30:32.555 00 CMH-I:CMD Command SFDU received:<1804C000006B037E000144532E46494C5445525F54424C0000000000000000000000000000000000000000000000000000002F72616D2F637075315F66696C74657274626C333700000000000000000000000000000000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-236-11:30:32.575 00 SPR-I:STTE Wait mode - waiting 15 seconds ... +21-236-11:30:33.015 00 TLMH-I:STS 58-012-14:14:30.003 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=14 Successfully dumped Table 'DS.FILTER_TBL' to '/ram/cpu1_filtertbl37' +21-236-11:30:47.585 00 SPR-I:OPRO +21-236-11:30:47.585 00 SPR-I:OPRO The TBLNAME is: DS.FILTER_TBL +21-236-11:30:47.586 00 SPR-I:OPRO The APID is: P0F77 +21-236-11:30:47.586 00 SPR-I:OPRO The CPU is: CPU3 +21-236-11:30:47.586 00 SPR-I:OPRO The IP Address is: 192.168.1.8 +21-236-11:30:47.589 00 SPR-I:OPRO The perl command is: perl /s/opr/accounts/global/tools/ftp.pl RAM:0 cpu1_filtertbl37 cpu1_filtertbl37 binary 192.168.1.8 +21-236-11:30:47.772 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-11:30:47.772 00 SPR-I:STTE Wait mode - waiting 15 seconds ... +21-236-11:31:02.785 00 SPR-I:OPRO +21-236-11:31:02.800 00 SPR-I:OPRO The unix command is cvt -ws file_list[3959].file_write_time "`date +%y-%j-%T -r /s/opr/accounts/cfs_test/image/cpu1_filtertbl37`" +21-236-11:31:02.800 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:31:07.804 00 SPR-I:STS Procedure GET_TBL_TO_CVT completed +21-236-11:31:07.807 00 SPR-I:OPRO <*> Passed (5009) - Parameter changes are reflected in the table. +21-236-11:31:07.812 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:31:12.816 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:31:12.816 00 SPR-I:OPRO ; Step 3.8: Send the TST_DS command to send a message to DS using the +21-236-11:31:12.817 00 SPR-I:OPRO ; MessageID used above. Send a message that will not exceed the file +21-236-11:31:12.817 00 SPR-I:OPRO ; size constraint. The HK should contain info about the file opened. +21-236-11:31:12.817 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:31:12.823 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:31:12.824 00 SPR-I:OPRO ; Setup event 1 with TST_DS INFO 5 +21-236-11:31:12.824 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:31:12.828 00 CMH-I:CMD Command SFDU received:<1943C000000903370000090501550000> from gs582cfslab4:SPR +21-236-11:31:12.856 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:31:13.511 00 TLMH-I:STS 58-012-14:15:10.501 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Message Size 116 to MID 0x00000905 +21-236-11:31:13.856 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:31:13.859 00 SPR-I:OPRO <*> Passed - Expected Event Msg 5 rcv'd. +21-236-11:31:13.861 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-11:31:13.892 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:31:14.515 00 TLMH-I:STS 58-012-14:15:11.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-11:31:15.895 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:31:15.897 00 SPR-I:OPRO <*> Passed (2000) - Passed packet counter incremented properly. +21-236-11:31:15.902 00 SPR-I:OPRO <*> Passed (2002.1;3000) - A file was created with name '/ram/seq200000206.dat' +21-236-11:31:15.946 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:31:15.946 00 SPR-I:OPRO ; Setup event 1 with DS DEBUG 59 +21-236-11:31:15.946 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:31:15.948 00 CMH-I:CMD Command SFDU received:<18BBC00000050E9600010000> from gs582cfslab4:SPR +21-236-11:31:15.953 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:31:16.512 00 TLMH-I:STS 58-012-14:15:13.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=59 DEST CLOSE command: file table index = 1 +21-236-11:31:19.958 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:31:19.960 00 SPR-I:OPRO <*> Passed (1004;5002) - DS Close File command sent properly. +21-236-11:31:19.968 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:31:19.968 00 SPR-I:OPRO <*> Passed (1004;5002) - Expected Event Msg 59 rcv'd. +21-236-11:31:19.991 00 SPR-I:OPRO ==> Downloading '/ram/seq200000206.dat' +21-236-11:31:19.991 00 SPR-I:OPRO ==> FileName Only = 'seq200000206.dat' +21-236-11:31:20.009 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/ftp_file.i +21-236-11:31:20.009 00 SPR-I:STS Procedure FTP_FILE started +21-236-11:31:20.108 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-11:31:20.108 00 SPR-I:STS Procedure FTP_FILE completed +21-236-11:31:20.108 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:31:25.112 00 SPR-I:OPRO ;********************************************************************* +21-236-11:31:25.112 00 SPR-I:OPRO ; Step 3.9: Send the Set Filter Type command with an invalid length. +21-236-11:31:25.112 00 SPR-I:OPRO ;********************************************************************* +21-236-11:31:25.115 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:31:25.115 00 SPR-I:OPRO ; Setup event 1 with DS ERROR 40 +21-236-11:31:25.115 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:31:25.121 00 SPR-I:OPRO Sending: 18BBc0000008049E +21-236-11:31:25.122 00 CMH-I:CMD Command SFDU received:<18BBC0000008049E> from gs582cfslab4:SPR +21-236-11:31:25.137 00 SPR-I:OPRO ; Telemetry update will wait a maximum of 24 seconds +21-236-11:31:25.137 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:31:26.008 00 TLMH-I:STS 58-012-14:15:23.001 ERROR CPU=CPU1 APPNAME=DS EVENT ID=40 Invalid FILTER TYPE command length: expected = 16, actual = 15 +21-236-11:31:27.139 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:31:27.147 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:31:27.147 00 SPR-I:OPRO <*> Passed (1002;1005) - Command Rejected Counter incremented. +21-236-11:31:27.148 00 SPR-I:OPRO <*> Passed (1005) - Event message 40 received +21-236-11:31:27.170 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:31:32.175 00 SPR-I:OPRO ;********************************************************************* +21-236-11:31:32.175 00 SPR-I:OPRO ; Step 3.10: Send the Set Filter Type command with invalid arguments. +21-236-11:31:32.175 00 SPR-I:OPRO ;********************************************************************* +21-236-11:31:32.175 00 SPR-I:OPRO ; Step 3.10.1: Send the Set Filter Type command with an invalid message +21-236-11:31:32.175 00 SPR-I:OPRO ;********************************************************************* +21-236-11:31:32.183 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:31:32.184 00 SPR-I:OPRO ; Setup event 1 with DS ERROR 40 +21-236-11:31:32.184 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:31:32.190 00 CMH-I:CMD Command SFDU received:<18BBC000000904C60000134500000001> from gs582cfslab4:SPR +21-236-11:31:32.213 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:31:33.008 00 TLMH-I:STS 58-012-14:15:30.001 ERROR CPU=CPU1 APPNAME=DS EVENT ID=40 Invalid FILTER TYPE command: Message ID 0x00001345 is not in filter table +21-236-11:31:35.216 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:31:35.219 00 SPR-I:OPRO <*> Passed (1005) - DS Set Filter Type command failed as expected. +21-236-11:31:35.224 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:31:35.225 00 SPR-I:OPRO <*> Passed (1005) - Expected Event Msg 40 rcv'd. +21-236-11:31:35.226 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:31:40.245 00 SPR-I:OPRO ;********************************************************************* +21-236-11:31:40.245 00 SPR-I:OPRO ; Step 3.10.2: Send the Set Filter Type command with an invalid +21-236-11:31:40.245 00 SPR-I:OPRO ; parameter index. +21-236-11:31:40.245 00 SPR-I:OPRO ;********************************************************************* +21-236-11:31:40.253 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:31:40.253 00 SPR-I:OPRO ; Setup event 1 with DS ERROR 40 +21-236-11:31:40.253 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:31:40.258 00 CMH-I:CMD Command SFDU received:<18BBC000000904980000090500040001> from gs582cfslab4:SPR +21-236-11:31:40.281 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:31:41.007 00 TLMH-I:STS 58-012-14:15:38.001 ERROR CPU=CPU1 APPNAME=DS EVENT ID=40 Invalid FILTER TYPE command arg: filter parameters index = 4 +21-236-11:31:43.285 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:31:43.287 00 SPR-I:OPRO <*> Passed (1005) - DS Set Filter Type command failed as expected. +21-236-11:31:43.305 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:31:43.308 00 SPR-I:OPRO <*> Passed (1005) - Expected Event Msg 40 rcv'd. +21-236-11:31:43.313 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:31:48.346 00 SPR-I:OPRO ;********************************************************************* +21-236-11:31:48.346 00 SPR-I:OPRO ; Step 3.10.3: Send the Set Filter Type command with an invalid filter +21-236-11:31:48.346 00 SPR-I:OPRO ; type. +21-236-11:31:48.347 00 SPR-I:OPRO ;********************************************************************* +21-236-11:31:48.349 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:31:48.349 00 SPR-I:OPRO ; Setup event 1 with DS ERROR 40 +21-236-11:31:48.349 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:31:48.351 00 CMH-I:CMD Command SFDU received:<18BBC0000009049E0000090500000003> from gs582cfslab4:SPR +21-236-11:31:48.368 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:31:49.011 00 TLMH-I:STS 58-012-14:15:46.001 ERROR CPU=CPU1 APPNAME=DS EVENT ID=40 Invalid FILTER TYPE command arg: filter type = 3 +21-236-11:31:51.371 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:31:51.374 00 SPR-I:OPRO <*> Passed (1005) - DS Set Filter Type command failed as expected. +21-236-11:31:51.392 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:31:51.405 00 SPR-I:OPRO <*> Passed (1005) - Expected Event Msg 40 rcv'd. +21-236-11:31:51.407 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:31:56.411 00 SPR-I:OPRO ;********************************************************************* +21-236-11:31:56.411 00 SPR-I:OPRO ; Step 3.11: Send the Set Filter Parameter command. +21-236-11:31:56.411 00 SPR-I:OPRO ;********************************************************************* +21-236-11:31:56.419 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:31:56.420 00 SPR-I:OPRO ; Setup event 1 with DS DEBUG 41 +21-236-11:31:56.420 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:31:56.424 00 CMH-I:CMD Command SFDU received:<18BBC000000D0598000009050000000400060002> from gs582cfslab4:SPR +21-236-11:31:56.444 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:31:57.010 00 TLMH-I:STS 58-012-14:15:54.003 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=41 FILTER PARMS command: MID = 0x00000905, index = 5, filter = 0, N = 4, X = 6, O = 2 +21-236-11:31:59.447 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:31:59.450 00 SPR-I:OPRO <*> Passed (1004;5010) - DS Set Filter Parameters command sent properly. +21-236-11:31:59.473 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:31:59.476 00 SPR-I:OPRO <*> Passed (1004;5010) - Expected Event Msg 41 rcv'd. +21-236-11:31:59.481 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:32:04.519 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:32:04.519 00 SPR-I:OPRO ; Step 3.12: Dump the Packet Filter Table. +21-236-11:32:04.519 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:32:04.520 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/get_tbl_to_cvt.i +21-236-11:32:04.522 00 SPR-I:STS Procedure GET_TBL_TO_CVT started +21-236-11:32:04.530 00 SPR-I:OPRO Sending Command: /SCX_CPU1_TBL_DUMP ACTIVE DTABLENAME="DS.FILTER_TBL" DFILENAME="/ram/cpu1_filtertbl312" +21-236-11:32:04.530 00 CMH-I:CMD Command SFDU received:<1804C000006B034A000144532E46494C5445525F54424C0000000000000000000000000000000000000000000000000000002F72616D2F637075315F66696C74657274626C333132000000000000000000000000000000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-236-11:32:04.541 00 SPR-I:STTE Wait mode - waiting 15 seconds ... +21-236-11:32:05.011 00 TLMH-I:STS 58-012-14:16:02.003 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=14 Successfully dumped Table 'DS.FILTER_TBL' to '/ram/cpu1_filtertbl312' +21-236-11:32:19.553 00 SPR-I:OPRO +21-236-11:32:19.554 00 SPR-I:OPRO The TBLNAME is: DS.FILTER_TBL +21-236-11:32:19.554 00 SPR-I:OPRO The APID is: P0F77 +21-236-11:32:19.554 00 SPR-I:OPRO The CPU is: CPU3 +21-236-11:32:19.555 00 SPR-I:OPRO The IP Address is: 192.168.1.8 +21-236-11:32:19.559 00 SPR-I:OPRO The perl command is: perl /s/opr/accounts/global/tools/ftp.pl RAM:0 cpu1_filtertbl312 cpu1_filtertbl312 binary 192.168.1.8 +21-236-11:32:19.736 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-11:32:19.736 00 SPR-I:STTE Wait mode - waiting 15 seconds ... +21-236-11:32:34.749 00 SPR-I:OPRO +21-236-11:32:34.762 00 SPR-I:OPRO The unix command is cvt -ws file_list[3959].file_write_time "`date +%y-%j-%T -r /s/opr/accounts/cfs_test/image/cpu1_filtertbl312`" +21-236-11:32:34.762 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:32:39.767 00 SPR-I:STS Procedure GET_TBL_TO_CVT completed +21-236-11:32:39.771 00 SPR-I:OPRO <*> Passed (5010) - Parameter changes are reflected in the table. +21-236-11:32:39.774 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:32:44.778 00 SPR-I:OPRO ;********************************************************************* +21-236-11:32:44.778 00 SPR-I:OPRO ; Step 3.13: Determine if the Filtering Algorithm works properly for +21-236-11:32:44.778 00 SPR-I:OPRO ; Sequence based filtering. +21-236-11:32:44.778 00 SPR-I:OPRO ;********************************************************************* +21-236-11:32:44.779 00 SPR-I:OPRO ; Step 3.13.1: Determine if the Filter Type is set to Sequence based. +21-236-11:32:44.779 00 SPR-I:OPRO ;********************************************************************* +21-236-11:32:44.780 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:32:49.784 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:32:49.784 00 SPR-I:OPRO ; Step 3.13.2: Send the TST_DS command to send a message to DS using +21-236-11:32:49.784 00 SPR-I:OPRO ; the MessageID used above. Send 'X' messages. The HK should contain +21-236-11:32:49.784 00 SPR-I:OPRO ; information about the file opened. +21-236-11:32:49.784 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:32:49.786 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:32:49.786 00 SPR-I:OPRO ; Setup event 1 with TST_DS INFO 5 +21-236-11:32:49.786 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:32:49.787 00 CMH-I:CMD Command SFDU received:<1943C000000903630000090501010000> from gs582cfslab4:SPR +21-236-11:32:49.798 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:32:50.513 00 TLMH-I:STS 58-012-14:16:47.501 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Message Size 116 to MID 0x00000905 +21-236-11:32:54.805 00 CMH-I:CMD Command SFDU received:<1943C000000903600000090501020000> from gs582cfslab4:SPR +21-236-11:32:54.819 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:32:55.515 00 TLMH-I:STS 58-012-14:16:52.500 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Message Size 116 to MID 0x00000905 +21-236-11:32:59.827 00 CMH-I:CMD Command SFDU received:<1943C000000903610000090501030000> from gs582cfslab4:SPR +21-236-11:32:59.841 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:33:00.513 00 TLMH-I:STS 58-012-14:16:57.500 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Message Size 116 to MID 0x00000905 +21-236-11:33:04.846 00 CMH-I:CMD Command SFDU received:<1943C000000903660000090501040000> from gs582cfslab4:SPR +21-236-11:33:04.858 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:33:05.508 00 TLMH-I:STS 58-012-14:17:02.500 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Message Size 116 to MID 0x00000905 +21-236-11:33:09.866 00 CMH-I:CMD Command SFDU received:<1943C000000903670000090501050000> from gs582cfslab4:SPR +21-236-11:33:09.877 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:33:10.514 00 TLMH-I:STS 58-012-14:17:07.500 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Message Size 116 to MID 0x00000905 +21-236-11:33:14.885 00 CMH-I:CMD Command SFDU received:<1943C000000903640000090501060000> from gs582cfslab4:SPR +21-236-11:33:14.898 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:33:15.512 00 TLMH-I:STS 58-012-14:17:12.500 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Message Size 116 to MID 0x00000905 +21-236-11:33:19.903 00 SPR-I:OPRO <*> Passed - Expected Event Msgs 5 rcv'd. +21-236-11:33:19.905 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-11:33:19.932 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:33:20.509 00 TLMH-I:STS 58-012-14:17:17.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-11:33:23.937 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:33:23.941 00 SPR-I:OPRO <*> Passed (2000) - Passed packet counter incremented properly. +21-236-11:33:23.947 00 SPR-I:OPRO <*> Passed (2002.1;2003;2003.1;3000) - A file was created with name '/ram/seq200000207.dat' +21-236-11:33:23.984 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:33:23.984 00 SPR-I:OPRO ; Step 3.13.3: Close and download the file created above. +21-236-11:33:23.984 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:33:23.986 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:33:23.987 00 SPR-I:OPRO ; Setup event 1 with DS DEBUG 59 +21-236-11:33:23.987 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:33:24.015 00 CMH-I:CMD Command SFDU received:<18BBC00000050E9600010000> from gs582cfslab4:SPR +21-236-11:33:24.029 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:33:24.513 00 TLMH-I:STS 58-012-14:17:21.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=59 DEST CLOSE command: file table index = 1 +21-236-11:33:27.033 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:33:27.036 00 SPR-I:OPRO <*> Passed (1004;5002) - DS Close File command sent properly. +21-236-11:33:27.043 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:33:27.044 00 SPR-I:OPRO <*> Passed (1004;5002) - Expected Event Msg 59 rcv'd. +21-236-11:33:27.072 00 SPR-I:OPRO ==> Downloading '/ram/seq200000207.dat' +21-236-11:33:27.073 00 SPR-I:OPRO ==> FileName Only = 'seq200000207.dat' +21-236-11:33:27.090 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/ftp_file.i +21-236-11:33:27.090 00 SPR-I:STS Procedure FTP_FILE started +21-236-11:33:27.193 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-11:33:27.193 00 SPR-I:STS Procedure FTP_FILE completed +21-236-11:33:27.194 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:33:32.197 00 SPR-I:OPRO ;********************************************************************* +21-236-11:33:32.197 00 SPR-I:OPRO ; Step 3.14: Send the Set Filter Parameter command with an invalid +21-236-11:33:32.197 00 SPR-I:OPRO ; length. +21-236-11:33:32.197 00 SPR-I:OPRO ;********************************************************************* +21-236-11:33:32.200 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:33:32.200 00 SPR-I:OPRO ; Setup event 1 with DS ERROR 42 +21-236-11:33:32.200 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:33:32.206 00 SPR-I:OPRO Sending: 18BBc000000C058A +21-236-11:33:32.208 00 CMH-I:CMD Command SFDU received:<18BBC000000C058A> from gs582cfslab4:SPR +21-236-11:33:32.220 00 SPR-I:OPRO ; Telemetry update will wait a maximum of 24 seconds +21-236-11:33:32.221 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:33:33.005 00 TLMH-I:STS 58-012-14:17:30.001 ERROR CPU=CPU1 APPNAME=DS EVENT ID=42 Invalid FILTER PARMS command length: expected = 20, actual = 19 +21-236-11:33:35.224 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:33:35.242 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:33:35.244 00 SPR-I:OPRO <*> Passed (1002;1005) - Command Rejected Counter incremented. +21-236-11:33:35.252 00 SPR-I:OPRO <*> Passed (1005) - Event message 42 received +21-236-11:33:35.262 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:33:40.267 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:33:40.267 00 SPR-I:OPRO ; Step 3.15: Send the Set Filter Parameter command with invalid +21-236-11:33:40.267 00 SPR-I:OPRO ; arguments. +21-236-11:33:40.267 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:33:40.267 00 SPR-I:OPRO ; Step 3.15.1: Send the Set Filter Parameter command with an invalid +21-236-11:33:40.268 00 SPR-I:OPRO ; message ID. +21-236-11:33:40.268 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:33:40.275 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:33:40.276 00 SPR-I:OPRO ; Setup event 1 with DS ERROR 42 +21-236-11:33:40.276 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:33:40.282 00 CMH-I:CMD Command SFDU received:<18BBC000000D05F20000ABCD0000000400060002> from gs582cfslab4:SPR +21-236-11:33:40.305 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:33:41.015 00 TLMH-I:STS 58-012-14:17:38.001 ERROR CPU=CPU1 APPNAME=DS EVENT ID=42 Invalid FILTER PARMS command: Message ID 0x0000ABCD is not in filter table +21-236-11:33:43.309 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:33:43.312 00 SPR-I:OPRO <*> Passed (1005) - DS Set Filter Parameters command failed as expected. +21-236-11:33:43.329 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:33:43.331 00 SPR-I:OPRO <*> Passed (1005) - Expected Event Msg 42 rcv'd. +21-236-11:33:43.336 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:33:48.368 00 SPR-I:OPRO ;********************************************************************* +21-236-11:33:48.368 00 SPR-I:OPRO ; Step 3.15.2: Send the Set Filter Parameters command with an invalid +21-236-11:33:48.368 00 SPR-I:OPRO ; parameter index. +21-236-11:33:48.368 00 SPR-I:OPRO ;********************************************************************* +21-236-11:33:48.374 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:33:48.375 00 SPR-I:OPRO ; Setup event 1 with DS ERROR 42 +21-236-11:33:48.375 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:33:48.380 00 CMH-I:CMD Command SFDU received:<18BBC000000D05F60000ABCD0004000400060002> from gs582cfslab4:SPR +21-236-11:33:48.404 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:33:49.009 00 TLMH-I:STS 58-012-14:17:46.001 ERROR CPU=CPU1 APPNAME=DS EVENT ID=42 Invalid FILTER PARMS command arg: filter parameters index = 4 +21-236-11:33:51.407 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:33:51.409 00 SPR-I:OPRO <*> Passed (1005) - DS Set Filter File command failed as expected. +21-236-11:33:51.416 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:33:51.416 00 SPR-I:OPRO <*> Passed (1005) - Expected Event Msg 42 rcv'd. +21-236-11:33:51.417 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:33:56.435 00 SPR-I:OPRO ;********************************************************************* +21-236-11:33:56.435 00 SPR-I:OPRO ; Step 3.15.3: Send the Set Filter Parameters command with an N value +21-236-11:33:56.435 00 SPR-I:OPRO ; greater than the X value. +21-236-11:33:56.435 00 SPR-I:OPRO ;********************************************************************* +21-236-11:33:56.437 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:33:56.437 00 SPR-I:OPRO ; Setup event 1 with DS ERROR 42 +21-236-11:33:56.437 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:33:56.439 00 CMH-I:CMD Command SFDU received:<18BBC000000D059E000009050000000500030000> from gs582cfslab4:SPR +21-236-11:33:56.453 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:33:57.012 00 TLMH-I:STS 58-012-14:17:54.001 ERROR CPU=CPU1 APPNAME=DS EVENT ID=42 Invalid FILTER PARMS command arg: N = 5, X = 3, O = 0 +21-236-11:33:59.457 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:33:59.460 00 SPR-I:OPRO <*> Passed (1005) - DS Set Filter File command failed as expected. +21-236-11:33:59.465 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:33:59.466 00 SPR-I:OPRO <*> Passed (1005) - Expected Event Msg 42 rcv'd. +21-236-11:33:59.467 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:34:04.485 00 SPR-I:OPRO ;********************************************************************* +21-236-11:34:04.485 00 SPR-I:OPRO ; Step 3.15.4: Send the Set Filter Parameters command with an O value +21-236-11:34:04.485 00 SPR-I:OPRO ; greater than the X value. +21-236-11:34:04.485 00 SPR-I:OPRO ;********************************************************************* +21-236-11:34:04.487 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:34:04.487 00 SPR-I:OPRO ; Setup event 1 with DS ERROR 42 +21-236-11:34:04.487 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:34:04.489 00 CMH-I:CMD Command SFDU received:<18BBC000000D059E000009050000000100030004> from gs582cfslab4:SPR +21-236-11:34:04.505 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:34:05.007 00 TLMH-I:STS 58-012-14:18:02.001 ERROR CPU=CPU1 APPNAME=DS EVENT ID=42 Invalid FILTER PARMS command arg: N = 1, X = 3, O = 4 +21-236-11:34:07.508 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:34:07.511 00 SPR-I:OPRO <*> Passed (1005) - DS Set Filter File command failed as expected. +21-236-11:34:07.527 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:34:07.530 00 SPR-I:OPRO <*> Passed (1005) - Expected Event Msg 42 rcv'd. +21-236-11:34:07.534 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:34:12.564 00 SPR-I:OPRO ;********************************************************************* +21-236-11:34:12.564 00 SPR-I:OPRO ; Step 3.16: Determine if the Filtering Algorithm works properly for +21-236-11:34:12.565 00 SPR-I:OPRO ; Time based filtering. +21-236-11:34:12.565 00 SPR-I:OPRO ;********************************************************************* +21-236-11:34:12.565 00 SPR-I:OPRO ; Step 3.16.1: Determine if the Filter Type is set to Time based. +21-236-11:34:12.565 00 SPR-I:OPRO ;********************************************************************* +21-236-11:34:12.573 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:34:12.574 00 SPR-I:OPRO ; Setup event 1 with DS DEBUG 39 +21-236-11:34:12.575 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:34:12.579 00 CMH-I:CMD Command SFDU received:<18BBC0000009049F0000090500000002> from gs582cfslab4:SPR +21-236-11:34:12.602 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:34:13.010 00 TLMH-I:STS 58-012-14:18:10.002 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=39 FILTER TYPE command: MID = 0x00000905, index = 5, filter = 0, type = 2 +21-236-11:34:15.606 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:34:15.608 00 SPR-I:OPRO <*> Passed (1004;5009) - DS Set Filter Type command sent properly. +21-236-11:34:15.616 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:34:15.617 00 SPR-I:OPRO <*> Passed (1004;5009) - Expected Event Msg 39 rcv'd. +21-236-11:34:15.643 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:34:20.647 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:34:20.647 00 SPR-I:OPRO ; Step 3.16.2: Send the TST_DS command to send a message to DS using +21-236-11:34:20.647 00 SPR-I:OPRO ; the MessageID used above. Send 'X' messages. The HK should contain +21-236-11:34:20.647 00 SPR-I:OPRO ; information about the file opened. +21-236-11:34:20.647 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:34:20.653 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:34:20.653 00 SPR-I:OPRO ; Setup event 1 with TST_DS INFO 5 +21-236-11:34:20.653 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:34:20.654 00 CMH-I:CMD Command SFDU received:<1943C0000011056D00000905010100000000000010000000> from gs582cfslab4:SPR +21-236-11:34:20.665 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:34:21.512 00 TLMH-I:STS 58-012-14:18:18.500 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Time Message Size 116 to MID 0x00000905 +21-236-11:34:25.674 00 CMH-I:CMD Command SFDU received:<1943C0000011055E00000905010200000000000020000000> from gs582cfslab4:SPR +21-236-11:34:25.687 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:34:26.507 00 TLMH-I:STS 58-012-14:18:23.501 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Time Message Size 116 to MID 0x00000905 +21-236-11:34:30.694 00 CMH-I:CMD Command SFDU received:<1943C0000011054F00000905010300000000000030000000> from gs582cfslab4:SPR +21-236-11:34:30.707 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:34:31.509 00 TLMH-I:STS 58-012-14:18:28.500 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Time Message Size 116 to MID 0x00000905 +21-236-11:34:35.715 00 CMH-I:CMD Command SFDU received:<1943C0000011053800000905010400000000000040000000> from gs582cfslab4:SPR +21-236-11:34:35.728 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:34:36.511 00 TLMH-I:STS 58-012-14:18:33.500 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Time Message Size 116 to MID 0x00000905 +21-236-11:34:40.736 00 CMH-I:CMD Command SFDU received:<1943C0000011052900000905010500000000000050000000> from gs582cfslab4:SPR +21-236-11:34:40.750 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:34:41.507 00 TLMH-I:STS 58-012-14:18:38.500 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Time Message Size 116 to MID 0x00000905 +21-236-11:34:45.757 00 CMH-I:CMD Command SFDU received:<1943C0000011051A00000905010600000000000060000000> from gs582cfslab4:SPR +21-236-11:34:45.770 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:34:46.510 00 TLMH-I:STS 58-012-14:18:43.500 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Time Message Size 116 to MID 0x00000905 +21-236-11:34:50.776 00 SPR-I:OPRO <*> Passed - Expected Event Msgs 5 rcv'd. +21-236-11:34:50.778 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-11:34:50.794 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:34:51.510 00 TLMH-I:STS 58-012-14:18:48.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-11:34:55.799 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:34:55.802 00 SPR-I:OPRO <*> Passed (2000) - Passed packet counter incremented properly. +21-236-11:34:55.805 00 SPR-I:OPRO <*> Passed (2002.1;2003;2003.2;3000) - A file was created with name '/ram/seq200000208.dat' +21-236-11:34:55.823 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:34:55.823 00 SPR-I:OPRO ; Step 3.16.3: Close and download the file created above. +21-236-11:34:55.823 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:34:55.825 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:34:55.825 00 SPR-I:OPRO ; Setup event 1 with DS DEBUG 59 +21-236-11:34:55.825 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:34:55.856 00 CMH-I:CMD Command SFDU received:<18BBC00000050E9600010000> from gs582cfslab4:SPR +21-236-11:34:55.870 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:34:56.507 00 TLMH-I:STS 58-012-14:18:53.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=59 DEST CLOSE command: file table index = 1 +21-236-11:34:59.874 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:34:59.875 00 SPR-I:OPRO <*> Passed (1004;5002) - DS Close File command sent properly. +21-236-11:34:59.883 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:34:59.884 00 SPR-I:OPRO <*> Passed (1004;5002) - Expected Event Msg 59 rcv'd. +21-236-11:34:59.914 00 SPR-I:OPRO ==> Downloading '/ram/seq200000208.dat' +21-236-11:34:59.914 00 SPR-I:OPRO ==> FileName Only = 'seq200000208.dat' +21-236-11:34:59.932 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/ftp_file.i +21-236-11:34:59.932 00 SPR-I:STS Procedure FTP_FILE started +21-236-11:35:00.040 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-11:35:00.041 00 SPR-I:STS Procedure FTP_FILE completed +21-236-11:35:00.041 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:35:05.045 00 SPR-I:OPRO ;********************************************************************* +21-236-11:35:05.045 00 SPR-I:OPRO ; Step 4.0: Packet Filter Table Add command test +21-236-11:35:05.046 00 SPR-I:OPRO ;********************************************************************* +21-236-11:35:05.046 00 SPR-I:OPRO ; Step 4.1: Send the Add Messge ID command +21-236-11:35:05.046 00 SPR-I:OPRO ;********************************************************************* +21-236-11:35:05.053 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:35:05.053 00 SPR-I:OPRO ; Setup event 1 with DS DEBUG 64 +21-236-11:35:05.053 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:35:05.058 00 CMH-I:CMD Command SFDU received:<18BBC0000005108600000906> from gs582cfslab4:SPR +21-236-11:35:05.073 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:35:05.511 00 TLMH-I:STS 58-012-14:19:02.502 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=64 ADD MID command: MID = 0x00000906, filter index = 6, hash index = 6 +21-236-11:35:07.075 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:35:07.078 00 SPR-I:OPRO <*> Passed (1004;5016) - DS Add MID command sent properly. +21-236-11:35:07.099 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:35:07.102 00 SPR-I:OPRO <*> Passed (1004) - Expected Event Msg 64 rcv'd. +21-236-11:35:07.141 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:35:12.145 00 SPR-I:OPRO ;********************************************************************* +21-236-11:35:12.145 00 SPR-I:OPRO ; Step 4.2: Dump the table and verify that the MID used above exists +21-236-11:35:12.146 00 SPR-I:OPRO ;********************************************************************* +21-236-11:35:12.146 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/get_tbl_to_cvt.i +21-236-11:35:12.149 00 SPR-I:STS Procedure GET_TBL_TO_CVT started +21-236-11:35:12.157 00 SPR-I:OPRO Sending Command: /SCX_CPU1_TBL_DUMP ACTIVE DTABLENAME="DS.FILTER_TBL" DFILENAME="/ram/cpu1_filtertbl42" +21-236-11:35:12.158 00 CMH-I:CMD Command SFDU received:<1804C000006B037C000144532E46494C5445525F54424C0000000000000000000000000000000000000000000000000000002F72616D2F637075315F66696C74657274626C343200000000000000000000000000000000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-236-11:35:12.169 00 SPR-I:STTE Wait mode - waiting 15 seconds ... +21-236-11:35:13.009 00 TLMH-I:STS 58-012-14:19:10.004 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=14 Successfully dumped Table 'DS.FILTER_TBL' to '/ram/cpu1_filtertbl42' +21-236-11:35:27.180 00 SPR-I:OPRO +21-236-11:35:27.180 00 SPR-I:OPRO The TBLNAME is: DS.FILTER_TBL +21-236-11:35:27.181 00 SPR-I:OPRO The APID is: P0F77 +21-236-11:35:27.181 00 SPR-I:OPRO The CPU is: CPU3 +21-236-11:35:27.181 00 SPR-I:OPRO The IP Address is: 192.168.1.8 +21-236-11:35:27.185 00 SPR-I:OPRO The perl command is: perl /s/opr/accounts/global/tools/ftp.pl RAM:0 cpu1_filtertbl42 cpu1_filtertbl42 binary 192.168.1.8 +21-236-11:35:27.326 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-11:35:27.326 00 SPR-I:STTE Wait mode - waiting 15 seconds ... +21-236-11:35:42.338 00 SPR-I:OPRO +21-236-11:35:42.379 00 SPR-I:OPRO The unix command is cvt -ws file_list[3959].file_write_time "`date +%y-%j-%T -r /s/opr/accounts/cfs_test/image/cpu1_filtertbl42`" +21-236-11:35:42.379 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:35:47.384 00 SPR-I:STS Procedure GET_TBL_TO_CVT completed +21-236-11:35:47.422 00 SPR-I:OPRO <*> Passed (5016) - Found Message ID 0906 at entry 6 of the table. +21-236-11:35:47.423 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:35:52.428 00 SPR-I:OPRO ;********************************************************************* +21-236-11:35:52.428 00 SPR-I:OPRO ; Step 4.3: Try to add an invalid Message ID to the Filter table +21-236-11:35:52.428 00 SPR-I:OPRO ;********************************************************************* +21-236-11:35:52.436 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:35:52.436 00 SPR-I:OPRO ; Setup event 1 with DS ERROR 65 +21-236-11:35:52.437 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:35:52.441 00 CMH-I:CMD Command SFDU received:<18BBC0000005108900000000> from gs582cfslab4:SPR +21-236-11:35:52.471 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:35:53.005 00 TLMH-I:STS 58-012-14:19:50.001 ERROR CPU=CPU1 APPNAME=DS EVENT ID=65 Invalid ADD MID command arg: invalid MID = 0x00000000 +21-236-11:35:55.475 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:35:55.477 00 SPR-I:OPRO <*> Passed (1005;5016.1) - DS Add MID command failed as expected. +21-236-11:35:55.484 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:35:55.485 00 SPR-I:OPRO <*> Passed (1005;5016.1) - Expected Event Msg 65 rcv'd. +21-236-11:35:55.508 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:36:00.512 00 SPR-I:OPRO ;********************************************************************* +21-236-11:36:00.512 00 SPR-I:OPRO ; Step 4.4: Try to add a Message ID that is already contained in the +21-236-11:36:00.512 00 SPR-I:OPRO ; Filter table +21-236-11:36:00.513 00 SPR-I:OPRO ;********************************************************************* +21-236-11:36:00.520 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:36:00.520 00 SPR-I:OPRO ; Setup event 1 with DS ERROR 65 +21-236-11:36:00.520 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:36:00.522 00 CMH-I:CMD Command SFDU received:<18BBC0000005108000000900> from gs582cfslab4:SPR +21-236-11:36:00.536 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:36:01.009 00 TLMH-I:STS 58-012-14:19:58.001 ERROR CPU=CPU1 APPNAME=DS EVENT ID=65 Invalid ADD MID command: MID = 0x00000900 is already in filter table at index = 0 +21-236-11:36:03.540 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:36:03.542 00 SPR-I:OPRO <*> Passed (1005;5016.3) - DS Add MID command failed as expected. +21-236-11:36:03.556 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:36:03.558 00 SPR-I:OPRO <*> Passed (1005;5016.3) - Expected Event Msg 65 rcv'd. +21-236-11:36:03.588 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:36:08.592 00 SPR-I:OPRO ;********************************************************************* +21-236-11:36:08.593 00 SPR-I:OPRO ; Step 4.5: Try to add a message ID when the table is not loaded +21-236-11:36:08.593 00 SPR-I:OPRO ;********************************************************************* +21-236-11:36:08.593 00 SPR-I:OPRO ; Step 4.5.1: Remove the default Packet Filter Table +21-236-11:36:08.593 00 SPR-I:OPRO ;********************************************************************* +21-236-11:36:08.594 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/ftp_file.i +21-236-11:36:08.594 00 SPR-I:STS Procedure FTP_FILE started +21-236-11:36:08.761 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-11:36:08.761 00 SPR-I:STS Procedure FTP_FILE completed +21-236-11:36:08.763 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:36:13.767 00 SPR-I:OPRO ;********************************************************************* +21-236-11:36:13.767 00 SPR-I:OPRO ; Step 4.5.2: Stop and restart the DS and TST_DS apps +21-236-11:36:13.767 00 SPR-I:OPRO ;********************************************************************* +21-236-11:36:13.770 00 CMH-I:CMD Command SFDU received:<1806C000001506254453000000000000000000000000000000000000> from gs582cfslab4:SPR +21-236-11:36:13.783 00 SPR-I:STTE Wait mode - waiting 20 seconds ... +21-236-11:36:20.013 00 TLMH-I:STS 58-012-14:20:17.363 INFO CPU=CPU1 APPNAME=CFE_ES EVENT ID=10 Restart Application DS Completed, AppID=1114124 +21-236-11:36:20.509 00 TLMH-I:STS 58-012-14:20:17.434 INFO CPU=CPU1 APPNAME=DS EVENT ID=10 Destination file table verify results: desc text = OK, good entries = 8, bad = 0, unused = 8 +21-236-11:36:20.510 00 TLMH-I:STS 58-012-14:20:17.451 ERROR CPU=CPU1 APPNAME=CFE_TBL EVENT ID=53 DS: Unable to open file (FileDescriptor=-1) +21-236-11:36:20.511 00 TLMH-I:STS 58-012-14:20:17.451 ERROR CPU=CPU1 APPNAME=DS EVENT ID=8 Unable to load default Filter Table: Filename = '/cf/ds_filter_tbl.tbl', Error = 0xCC00002C +21-236-11:36:20.511 00 TLMH-I:STS 58-012-14:20:17.452 INFO CPU=CPU1 APPNAME=DS EVENT ID=1 Application initialized, version 2.6.0.0, data at 0x3ac1c0 +21-236-11:36:33.798 00 SPR-I:OPRO ;********************************************************************* +21-236-11:36:33.798 00 SPR-I:OPRO ; Step 4.5.3: Try to add a Message ID to an unloaded Filter table +21-236-11:36:33.798 00 SPR-I:OPRO ;********************************************************************* +21-236-11:36:33.806 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:36:33.807 00 SPR-I:OPRO ; Setup event 1 with DS ERROR 65 +21-236-11:36:33.807 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:36:33.811 00 CMH-I:CMD Command SFDU received:<18BBC0000005108000000900> from gs582cfslab4:SPR +21-236-11:36:33.838 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:36:34.513 00 TLMH-I:STS 58-012-14:20:31.500 ERROR CPU=CPU1 APPNAME=DS EVENT ID=65 Invalid ADD MID command: filter table is not loaded +21-236-11:36:35.840 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:36:35.842 00 SPR-I:OPRO <*> Passed (1005;5016.2) - DS Add MID command failed as expected. +21-236-11:36:35.849 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:36:35.849 00 SPR-I:OPRO <*> Passed (1005;5016.2) - Expected Event Msg 65 rcv'd. +21-236-11:36:35.871 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:36:40.875 00 SPR-I:OPRO ;********************************************************************* +21-236-11:36:40.875 00 SPR-I:OPRO ; Step 4.6: Try to add a message ID when the table is full. +21-236-11:36:40.876 00 SPR-I:OPRO ;********************************************************************* +21-236-11:36:40.876 00 SPR-I:OPRO ; Step 4.6.1: Create and upload a full Packet Filter Table +21-236-11:36:40.876 00 SPR-I:OPRO ;********************************************************************* +21-236-11:36:40.877 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/scx_cpu1_ds_tbl5.i +21-236-11:36:40.883 00 SPR-I:STS Procedure SCX_CPU1_DS_TBL5 started +21-236-11:36:40.926 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:36:40.926 00 SPR-I:OPRO ; Step 1.0: Define DS Packet Filter Tables. +21-236-11:36:40.926 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:36:41.339 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/create_tbl_file_from_cvt.i +21-236-11:36:41.340 00 SPR-I:STS Procedure CREATE_TBL_FILE_FROM_CVT started +21-236-11:36:41.341 00 SPR-I:OPRO ********** ds_fullfilter.tbl ********** +21-236-11:36:41.341 00 SPR-I:OPRO +21-236-11:36:41.342 00 SPR-I:OPRO Content Type: cFE1 +21-236-11:36:41.342 00 SPR-I:OPRO Sub Type: 8 +21-236-11:36:41.342 00 SPR-I:OPRO Length: 12 +21-236-11:36:41.342 00 SPR-I:OPRO Spacecraft Id: SCX +21-236-11:36:41.342 00 SPR-I:OPRO Processor Id: CPU3 +21-236-11:36:41.342 00 SPR-I:OPRO Application Id: 3959 +21-236-11:36:41.342 00 SPR-I:OPRO Create Time Secs: 1629805001 +21-236-11:36:41.342 00 SPR-I:OPRO Create Time Subsecs: 0 +21-236-11:36:41.342 00 SPR-I:OPRO File Description: Full Filter Table Test +21-236-11:36:41.342 00 SPR-I:OPRO +21-236-11:36:41.342 00 SPR-I:OPRO ********** DS.FILTER_TBL ********** +21-236-11:36:41.342 00 SPR-I:OPRO +21-236-11:36:41.342 00 SPR-I:OPRO Start Mnemonic: SCX_CPU1_DS_PF_TBL_Description +21-236-11:36:41.342 00 SPR-I:OPRO Byte Offset: 0 +21-236-11:36:41.342 00 SPR-I:OPRO End Mnemonic: SCX_CPU1_DS_PF_TBL[255].FilterParams[3].O_Value +21-236-11:36:41.342 00 SPR-I:OPRO Number of Bytes: 9248 +21-236-11:36:41.342 00 SPR-I:OPRO +21-236-11:36:41.349 00 SPR-I:STS Loading file /s/opr/accounts/global/prc/partial_cvt_to_file_beta.i +21-236-11:36:41.349 00 SPR-I:STS Procedure PARTIAL_CVT_TO_FILE_BETA started +21-236-11:36:41.349 00 SPR-I:OPRO The unix command is cd /s/opr/accounts/cfs_test/image;cvt2file -s 116 -e 9363 P0F77 ds.filter_tbl +21-236-11:36:41.353 00 SPR-I:STS Procedure PARTIAL_CVT_TO_FILE_BETA completed +21-236-11:36:41.353 00 SPR-I:OPRO cd /s/opr/accounts/cfs_test/image;cat ds_fullfilter.tbl.tmp ds.filter_tbl > ds_fullfilter.tbl +21-236-11:36:41.357 00 SPR-I:OPRO cd /s/opr/accounts/cfs_test/image;rm ds.filter_tbl ds_fullfilter.tbl.tmp +21-236-11:36:41.364 00 SPR-I:STS Procedure CREATE_TBL_FILE_FROM_CVT completed +21-236-11:36:41.364 00 SPR-I:OPRO ;********************************************************************* +21-236-11:36:41.364 00 SPR-I:OPRO ; End procedure SCX_CPU1_ds_tbl5 +21-236-11:36:41.364 00 SPR-I:OPRO ;********************************************************************* +21-236-11:36:41.364 00 SPR-I:STS Procedure SCX_CPU1_DS_TBL5 completed +21-236-11:36:41.365 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/load_table.i +21-236-11:36:41.366 00 SPR-I:STS Procedure LOAD_TABLE started +21-236-11:36:41.367 00 SPR-I:OPRO Table Filename: ds_fullfilter.tbl +21-236-11:36:41.368 00 SPR-I:OPRO The perl command is: perl /s/opr/accounts/global/tools/table_ftp.pl 192.168.1.8 ds_fullfilter.tbl RAM:0 3 +21-236-11:36:41.368 00 SPR-I:OPRO +21-236-11:36:41.511 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-11:36:41.511 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:36:46.516 00 SPR-I:OPRO +21-236-11:36:46.518 00 SPR-I:OPRO Sending Command: /SCX_CPU1_TBL_LOAD LFILENAME="/ram/ds_fullfilter.tbl" +21-236-11:36:46.520 00 CMH-I:CMD Command SFDU received:<1804C000004102112F72616D2F64735F66756C6C66696C7465722E74626C000000000000000000000000000000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-236-11:36:46.552 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:36:47.008 00 TLMH-I:STS 58-012-14:20:44.002 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=12 Successful load of '/ram/ds_fullfilter.tbl' into 'DS.FILTER_TBL' working buffer +21-236-11:36:47.555 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:36:47.555 00 SPR-I:STS Procedure LOAD_TABLE completed +21-236-11:36:47.556 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:36:52.561 00 CMH-I:CMD Command SFDU received:<1804C000002B0430000044532E46494C5445525F54424C000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-236-11:36:52.572 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:36:55.010 00 TLMH-I:STS 58-012-14:20:52.004 INFO CPU=CPU1 APPNAME=DS EVENT ID=12 Filter table verify results: desc text = OK, good entries = 256, bad = 0, unused = 0 +21-236-11:36:55.011 00 TLMH-I:STS 58-012-14:20:52.004 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=36 DS validation successful for Inactive 'DS.FILTER_TBL' +21-236-11:36:57.577 00 CMH-I:CMD Command SFDU received:<1804C0000029053344532E46494C5445525F54424C000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-236-11:36:57.589 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:36:59.010 00 TLMH-I:STS 58-012-14:20:56.004 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=37 DS Successfully Updated 'DS.FILTER_TBL' +21-236-11:36:59.011 00 TLMH-I:STS 58-012-14:20:56.017 ERROR CPU=CPU1 APPNAME=CFE_SB EVENT ID=8 Subscribe Err:Max Msgs(256)In Use,MsgId 0x9bb,pipe DS_CMD_PIPE,app DS +21-236-11:36:59.012 00 TLMH-I:STS 58-012-14:20:56.017 ERROR CPU=CPU1 APPNAME=CFE_SB EVENT ID=8 Subscribe Err:Max Msgs(256)In Use,MsgId 0x9bc,pipe DS_CMD_PIPE,app DS +21-236-11:36:59.013 00 TLMH-I:STS 58-012-14:20:56.018 ERROR CPU=CPU1 APPNAME=CFE_SB EVENT ID=8 Subscribe Err:Max Msgs(256)In Use,MsgId 0x9bd,pipe DS_CMD_PIPE,app DS +21-236-11:36:59.015 00 TLMH-I:STS 58-012-14:20:56.018 ERROR CPU=CPU1 APPNAME=CFE_SB EVENT ID=8 Subscribe Err:Max Msgs(256)In Use,MsgId 0x9be,pipe DS_CMD_PIPE,app DS +21-236-11:36:59.016 00 TLMH-I:STS 58-012-14:20:56.018 ERROR CPU=CPU1 APPNAME=CFE_SB EVENT ID=8 Subscribe Err:Max Msgs(256)In Use,MsgId 0x9bf,pipe DS_CMD_PIPE,app DS +21-236-11:36:59.017 00 TLMH-I:STS 58-012-14:20:56.018 ERROR CPU=CPU1 APPNAME=CFE_SB EVENT ID=8 Subscribe Err:Max Msgs(256)In Use,MsgId 0x9c0,pipe DS_CMD_PIPE,app DS +21-236-11:36:59.019 00 TLMH-I:STS 58-012-14:20:56.019 ERROR CPU=CPU1 APPNAME=CFE_SB EVENT ID=8 Subscribe Err:Max Msgs(256)In Use,MsgId 0x9c1,pipe DS_CMD_PIPE,app DS +21-236-11:36:59.020 00 TLMH-I:STS 58-012-14:20:56.019 ERROR CPU=CPU1 APPNAME=CFE_SB EVENT ID=8 Subscribe Err:Max Msgs(256)In Use,MsgId 0x9c2,pipe DS_CMD_PIPE,app DS +21-236-11:36:59.021 00 TLMH-I:STS 58-012-14:20:56.019 ERROR CPU=CPU1 APPNAME=CFE_SB EVENT ID=8 Subscribe Err:Max Msgs(256)In Use,MsgId 0x9c3,pipe DS_CMD_PIPE,app DS +21-236-11:36:59.023 00 TLMH-I:STS 58-012-14:20:56.019 ERROR CPU=CPU1 APPNAME=CFE_SB EVENT ID=8 Subscribe Err:Max Msgs(256)In Use,MsgId 0x9c4,pipe DS_CMD_PIPE,app DS +21-236-11:36:59.024 00 TLMH-I:STS 58-012-14:20:56.020 ERROR CPU=CPU1 APPNAME=CFE_SB EVENT ID=8 Subscribe Err:Max Msgs(256)In Use,MsgId 0x9c5,pipe DS_CMD_PIPE,app DS +21-236-11:36:59.025 00 TLMH-I:STS 58-012-14:20:56.020 ERROR CPU=CPU1 APPNAME=CFE_SB EVENT ID=8 Subscribe Err:Max Msgs(256)In Use,MsgId 0x9c6,pipe DS_CMD_PIPE,app DS +21-236-11:36:59.026 00 TLMH-I:STS 58-012-14:20:56.020 ERROR CPU=CPU1 APPNAME=CFE_SB EVENT ID=8 Subscribe Err:Max Msgs(256)In Use,MsgId 0x9c7,pipe DS_CMD_PIPE,app DS +21-236-11:36:59.027 00 TLMH-I:STS 58-012-14:20:56.020 ERROR CPU=CPU1 APPNAME=CFE_SB EVENT ID=8 Subscribe Err:Max Msgs(256)In Use,MsgId 0x9c8,pipe DS_CMD_PIPE,app DS +21-236-11:36:59.028 00 TLMH-I:STS 58-012-14:20:56.021 ERROR CPU=CPU1 APPNAME=CFE_SB EVENT ID=8 Subscribe Err:Max Msgs(256)In Use,MsgId 0x9c9,pipe DS_CMD_PIPE,app DS +21-236-11:36:59.029 00 TLMH-I:STS 58-012-14:20:56.021 ERROR CPU=CPU1 APPNAME=CFE_SB EVENT ID=8 Subscribe Err:Max Msgs(256)In Use,MsgId 0x9ca,pipe DS_CMD_PIPE,app DS +21-236-11:36:59.031 00 TLMH-I:STS 58-012-14:20:56.021 ERROR CPU=CPU1 APPNAME=CFE_SB EVENT ID=8 Subscribe Err:Max Msgs(256)In Use,MsgId 0x9cb,pipe DS_CMD_PIPE,app DS +21-236-11:36:59.032 00 TLMH-I:STS 58-012-14:20:56.021 ERROR CPU=CPU1 APPNAME=CFE_SB EVENT ID=8 Subscribe Err:Max Msgs(256)In Use,MsgId 0x9cc,pipe DS_CMD_PIPE,app DS +21-236-11:36:59.034 00 TLMH-I:STS 58-012-14:20:56.022 ERROR CPU=CPU1 APPNAME=CFE_SB EVENT ID=8 Subscribe Err:Max Msgs(256)In Use,MsgId 0x9cd,pipe DS_CMD_PIPE,app DS +21-236-11:36:59.035 00 TLMH-I:STS 58-012-14:20:56.022 ERROR CPU=CPU1 APPNAME=CFE_SB EVENT ID=8 Subscribe Err:Max Msgs(256)In Use,MsgId 0x9ce,pipe DS_CMD_PIPE,app DS +21-236-11:36:59.037 00 TLMH-I:STS 58-012-14:20:56.022 ERROR CPU=CPU1 APPNAME=CFE_SB EVENT ID=8 Subscribe Err:Max Msgs(256)In Use,MsgId 0x9cf,pipe DS_CMD_PIPE,app DS +21-236-11:36:59.038 00 TLMH-I:STS 58-012-14:20:56.023 ERROR CPU=CPU1 APPNAME=CFE_SB EVENT ID=8 Subscribe Err:Max Msgs(256)In Use,MsgId 0x9d0,pipe DS_CMD_PIPE,app DS +21-236-11:36:59.039 00 TLMH-I:STS 58-012-14:20:56.023 ERROR CPU=CPU1 APPNAME=CFE_SB EVENT ID=8 Subscribe Err:Max Msgs(256)In Use,MsgId 0x9d1,pipe DS_CMD_PIPE,app DS +21-236-11:36:59.039 00 TLMH-I:STS 58-012-14:20:56.023 ERROR CPU=CPU1 APPNAME=CFE_SB EVENT ID=8 Subscribe Err:Max Msgs(256)In Use,MsgId 0x9d2,pipe DS_CMD_PIPE,app DS +21-236-11:36:59.040 00 TLMH-I:STS 58-012-14:20:56.023 ERROR CPU=CPU1 APPNAME=CFE_SB EVENT ID=8 Subscribe Err:Max Msgs(256)In Use,MsgId 0x9d3,pipe DS_CMD_PIPE,app DS +21-236-11:36:59.041 00 TLMH-I:STS 58-012-14:20:56.024 ERROR CPU=CPU1 APPNAME=CFE_SB EVENT ID=8 Subscribe Err:Max Msgs(256)In Use,MsgId 0x9d4,pipe DS_CMD_PIPE,app DS +21-236-11:36:59.042 00 TLMH-I:STS 58-012-14:20:56.024 ERROR CPU=CPU1 APPNAME=CFE_SB EVENT ID=8 Subscribe Err:Max Msgs(256)In Use,MsgId 0x9d5,pipe DS_CMD_PIPE,app DS +21-236-11:36:59.043 00 TLMH-I:STS 58-012-14:20:56.024 ERROR CPU=CPU1 APPNAME=CFE_SB EVENT ID=8 Subscribe Err:Max Msgs(256)In Use,MsgId 0x9d6,pipe DS_CMD_PIPE,app DS +21-236-11:36:59.043 00 TLMH-I:STS 58-012-14:20:56.024 ERROR CPU=CPU1 APPNAME=CFE_SB EVENT ID=8 Subscribe Err:Max Msgs(256)In Use,MsgId 0x9d7,pipe DS_CMD_PIPE,app DS +21-236-11:36:59.044 00 TLMH-I:STS 58-012-14:20:56.025 ERROR CPU=CPU1 APPNAME=CFE_SB EVENT ID=8 Subscribe Err:Max Msgs(256)In Use,MsgId 0x9d8,pipe DS_CMD_PIPE,app DS +21-236-11:36:59.044 00 TLMH-I:STS 58-012-14:20:56.025 ERROR CPU=CPU1 APPNAME=CFE_SB EVENT ID=8 Subscribe Err:Max Msgs(256)In Use,MsgId 0x9d9,pipe DS_CMD_PIPE,app DS +21-236-11:37:02.592 00 SPR-I:OPRO ;********************************************************************* +21-236-11:37:02.593 00 SPR-I:OPRO ; Step 4.6.2: Stop and restart the DS and TST_DS apps +21-236-11:37:02.593 00 SPR-I:OPRO ;********************************************************************* +21-236-11:37:02.593 00 SPR-I:OPRO ;********************************************************************* +21-236-11:37:02.593 00 SPR-I:OPRO ; Step 4.6.3: Try to add a Message ID to a full Packet Filter table +21-236-11:37:02.593 00 SPR-I:OPRO ;********************************************************************* +21-236-11:37:02.595 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:37:02.595 00 SPR-I:OPRO ; Setup event 1 with DS ERROR 65 +21-236-11:37:02.595 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:37:02.596 00 CMH-I:CMD Command SFDU received:<18BBC0000005108200000A01> from gs582cfslab4:SPR +21-236-11:37:02.610 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:37:03.505 00 TLMH-I:STS 58-012-14:21:00.500 ERROR CPU=CPU1 APPNAME=DS EVENT ID=65 Invalid ADD MID command: filter table is full +21-236-11:37:03.610 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:37:03.611 00 SPR-I:OPRO <*> Passed (1005;5016.4) - Expected Event Msg 65 rcv'd. +21-236-11:37:03.614 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:37:08.619 00 SPR-I:OPRO ;********************************************************************* +21-236-11:37:08.619 00 SPR-I:OPRO ; Step 5.0: Clean-up - Send the Processor Reset command. +21-236-11:37:08.619 00 SPR-I:OPRO ;********************************************************************* +21-236-11:37:08.621 00 CMH-I:CMD Command SFDU received:<1806C000000302210001> from gs582cfslab4:SPR +21-236-11:37:08.635 00 SPR-I:STTE Wait mode - waiting 10 seconds ... +21-236-11:37:18.644 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/clear_spacecraft_status.i +21-236-11:37:18.645 00 SPR-I:STS Procedure CLEAR_SPACECRAFT_STATUS started +21-236-11:37:18.658 00 SPR-I:STS Procedure CLEAR_SPACECRAFT_STATUS completed +21-236-11:37:18.721 00 SPR-I:STTE Wait mode - waiting 60 seconds ... +21-236-11:38:18.779 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:38:24.745 00 CMH-I:STS Connected to FEDS:FEDS for commanding (internal ID 0). +21-236-11:38:28.789 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:38:28.855 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/send_that_to_command.i +21-236-11:38:28.855 00 SPR-I:STS Procedure SEND_THAT_TO_COMMAND started +21-236-11:38:28.857 00 SPR-I:OPRO Sending: /SCX_CPU1_TO_OUTPUT_ENA gs582cfslab4 +21-236-11:38:28.858 00 CMH-I:CMD Command SFDU received:<1880C0000011069A3139322E3136382E312E313031000000> from gs582cfslab4:SPR +21-236-11:38:28.908 00 SPR-I:STS Procedure SEND_THAT_TO_COMMAND completed +21-236-11:38:28.908 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:38:29.676 00 TLMH-I:STS 58-012-14:21:33.100 INFO CPU=CPU1 APPNAME=TO_LAB_APP EVENT ID=3 TO telemetry output enabled for IP 192.168.1.101 +21-236-11:38:32.912 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:38:32.912 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/fill_in_spacecraft_status.i +21-236-11:38:32.914 00 SPR-I:STS Procedure FILL_IN_SPACECRAFT_STATUS started +21-236-11:38:32.920 00 SPR-I:STS Procedure FILL_IN_SPACECRAFT_STATUS completed +21-236-11:38:32.921 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:38:37.925 00 SPR-I:OPRO **** Requirements Status Reporting +21-236-11:38:37.925 00 SPR-I:OPRO -------------------------- +21-236-11:38:37.925 00 SPR-I:OPRO Requirement(s) Report +21-236-11:38:37.926 00 SPR-I:OPRO -------------------------- +21-236-11:38:37.927 00 SPR-I:OPRO FSW Requirement: DS_1002 P/F: P +21-236-11:38:37.930 00 SPR-I:OPRO FSW Requirement: DS_1004 P/F: P +21-236-11:38:37.932 00 SPR-I:OPRO FSW Requirement: DS_1005 P/F: P +21-236-11:38:37.933 00 SPR-I:OPRO FSW Requirement: DS_2000 P/F: P +21-236-11:38:37.935 00 SPR-I:OPRO FSW Requirement: DS_2000.1 P/F: P +21-236-11:38:37.965 00 SPR-I:OPRO FSW Requirement: DS_2000.2 P/F: P +21-236-11:38:37.968 00 SPR-I:OPRO FSW Requirement: DS_2001 P/F: A +21-236-11:38:37.969 00 SPR-I:OPRO FSW Requirement: DS_2001.1 P/F: P +21-236-11:38:37.970 00 SPR-I:OPRO FSW Requirement: DS_2002 P/F: P +21-236-11:38:37.992 00 SPR-I:OPRO FSW Requirement: DS_2002.1 P/F: P +21-236-11:38:37.994 00 SPR-I:OPRO FSW Requirement: DS_2003 P/F: A +21-236-11:38:37.995 00 SPR-I:OPRO FSW Requirement: DS_2003.1 P/F: A +21-236-11:38:38.012 00 SPR-I:OPRO FSW Requirement: DS_2003.2 P/F: A +21-236-11:38:38.013 00 SPR-I:OPRO FSW Requirement: DS_3000 P/F: P +21-236-11:38:38.014 00 SPR-I:OPRO FSW Requirement: DS_3000.1 P/F: A +21-236-11:38:38.031 00 SPR-I:OPRO FSW Requirement: DS_3000.1.1 P/F: A +21-236-11:38:38.032 00 SPR-I:OPRO FSW Requirement: DS_3000.2 P/F: A +21-236-11:38:38.033 00 SPR-I:OPRO FSW Requirement: DS_3000.2.1 P/F: A +21-236-11:38:38.051 00 SPR-I:OPRO FSW Requirement: DS_3003 P/F: A +21-236-11:38:38.052 00 SPR-I:OPRO FSW Requirement: DS_3004 P/F: A +21-236-11:38:38.052 00 SPR-I:OPRO FSW Requirement: DS_5002 P/F: P +21-236-11:38:38.070 00 SPR-I:OPRO FSW Requirement: DS_5008 P/F: P +21-236-11:38:38.071 00 SPR-I:OPRO FSW Requirement: DS_5009 P/F: P +21-236-11:38:38.072 00 SPR-I:OPRO FSW Requirement: DS_5010 P/F: P +21-236-11:38:38.096 00 SPR-I:OPRO FSW Requirement: DS_5016 P/F: P +21-236-11:38:38.097 00 SPR-I:OPRO FSW Requirement: DS_5016.1 P/F: P +21-236-11:38:38.119 00 SPR-I:OPRO FSW Requirement: DS_5016.2 P/F: P +21-236-11:38:38.120 00 SPR-I:OPRO FSW Requirement: DS_5016.3 P/F: P +21-236-11:38:38.120 00 SPR-I:OPRO FSW Requirement: DS_5016.4 P/F: P +21-236-11:38:38.122 00 SPR-I:OPRO FSW Requirement: DS_8000 P/F: P +21-236-11:38:38.139 00 SPR-I:OPRO FSW Requirement: DS_9000 P/F: F +21-236-11:38:38.140 00 SPR-I:STS Variable "UT_REQUIREMENT" deleted +21-236-11:38:38.140 00 SPR-I:STS Variable "UT_REQ_ARRAY_SIZE" deleted +21-236-11:38:38.140 00 SPR-I:OPRO ;********************************************************************* +21-236-11:38:38.158 00 SPR-I:OPRO ; End procedure SCX_CPU1_ds_filter +21-236-11:38:38.158 00 SPR-I:OPRO ;********************************************************************* +21-236-11:38:38.158 00 SPR-I:STS Procedure SCX_CPU1_DS_FILTER completed +21-236-11:38:38.160 00 SPR-I:OPRO *** Telemetry Info *** +21-236-11:38:38.160 00 SPR-I:OPRO +21-236-11:38:38.160 00 SPR-I:OPRO Pkt Loss Count: N/A +21-236-11:38:38.160 00 SPR-I:OPRO +21-236-11:38:38.160 00 SPR-I:OPRO ****************** +21-236-11:38:38.160 00 SPR-I:OPRO +21-236-11:38:38.164 00 SPR-I:OPRO Elapsed time: 1208.01 seconds +21-236-11:38:38.164 00 SPR-I:OPRO Elapsed time: 20.1335 minutes +21-236-11:38:38.165 00 SPR-I:STTE Wait mode - waiting 10 seconds ... +21-236-11:38:48.173 00 SPR-I:OPRO Creating filtered log at /s/opr/accounts/cfs_test/test_logs/DS2.6.0/scx_cpu1_ds_filter-2021-236-11h18m30s.logf +21-236-11:38:48.173 00 SPR-I:OPRO Creating filtered output log at /s/opr/accounts/cfs_test/test_logs/DS2.6.0/scx_cpu1_ds_filter-2021-236-11h18m30s.logp +21-236-11:38:48.173 00 SPR-I:OPRO Creating filtered output log (without SFDUs) at /s/opr/accounts/cfs_test/test_logs/DS2.6.0/scx_cpu1_ds_filter-2021-236-11h18m30s.logs +21-236-11:38:48.174 00 SPR-I:OPRO Creating filtered event log at /s/opr/accounts/cfs_test/test_logs/DS2.6.0/scx_cpu1_ds_filter-2021-236-11h18m30s.loge +21-236-11:38:48.175 00 SPR-I:OPRO Creating filtered requirements log at /s/opr/accounts/cfs_test/test_logs/DS2.6.0/scx_cpu1_ds_filter-2021-236-11h18m30s.logr +21-236-11:38:48.316 00 SPR-I:OPRI --> newlog scx_cpu1_ds_filter-2021-236-11h18m30s.log diff --git a/test_and_ground/results/Caelum/scx_cpu1_ds_gencmds-2021-236-11h52m50s.loge b/test_and_ground/results/Caelum/scx_cpu1_ds_gencmds-2021-236-11h52m50s.loge new file mode 100644 index 0000000..fa8684c --- /dev/null +++ b/test_and_ground/results/Caelum/scx_cpu1_ds_gencmds-2021-236-11h52m50s.loge @@ -0,0 +1,9 @@ +21-236-11:54:12.037 00 TLMH-I:STS 58-012-14:03:49.450 INFO CPU=CPU1 APPNAME=TO_LAB_APP EVENT ID=3 TO telemetry output enabled for IP 192.168.1.101 +21-236-11:54:43.529 00 TLMH-I:STS 58-012-14:04:21.001 INFO CPU=CPU1 APPNAME=DS EVENT ID=31 NOOP command, Version 2.6.0.0 +21-236-11:54:52.533 00 TLMH-I:STS 58-012-14:04:30.001 ERROR CPU=CPU1 APPNAME=DS EVENT ID=32 Invalid NOOP command length: expected = 8, actual = 9 +21-236-11:55:00.534 00 TLMH-I:STS 58-012-14:04:38.001 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=4 Set counters to non-zero command +21-236-11:55:06.532 00 TLMH-I:STS 58-012-14:04:44.003 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=33 Reset counters command +21-236-11:55:16.532 00 TLMH-I:STS 58-012-14:04:54.001 ERROR CPU=CPU1 APPNAME=DS EVENT ID=34 Invalid RESET command length: expected = 8, actual = 9 +21-236-11:55:24.532 00 TLMH-I:STS 58-012-14:05:02.001 ERROR CPU=CPU1 APPNAME=DS EVENT ID=21 Invalid command code: MID = 0x000018BB, CC = 42 +21-236-11:55:32.533 00 TLMH-I:STS 58-012-14:05:10.001 ERROR CPU=CPU1 APPNAME=DS EVENT ID=22 Invalid HK request length: expected = 8, actual = 263 +21-236-11:57:09.050 00 TLMH-I:STS 58-012-14:05:53.533 INFO CPU=CPU1 APPNAME=TO_LAB_APP EVENT ID=3 TO telemetry output enabled for IP 192.168.1.101 diff --git a/test_and_ground/results/Caelum/scx_cpu1_ds_gencmds-2021-236-11h52m50s.logf b/test_and_ground/results/Caelum/scx_cpu1_ds_gencmds-2021-236-11h52m50s.logf new file mode 100644 index 0000000..b55558b --- /dev/null +++ b/test_and_ground/results/Caelum/scx_cpu1_ds_gencmds-2021-236-11h52m50s.logf @@ -0,0 +1,1059 @@ +21-236-11:52:50.410 00 UT_RUNPROC/99 +21-236-11:52:50.410 00 UT_RUNPROC/100 ; Build the database prefix using SC and CPU definitions from cfe_utils.h +21-236-11:52:50.410 00 UT_RUNPROC/101 local db_prefix, cpu_prefix +21-236-11:52:50.410 00 UT_RUNPROC/102 +21-236-11:52:50.410 00 UT_RUNPROC/103 ; If SC is set, use it +21-236-11:52:50.410 00 UT_RUNPROC/104 if (SC <> "") then +21-236-11:52:50.411 00 UT_RUNPROC/105 db_prefix = SC +21-236-11:52:50.411 00 UT_RUNPROC/106 endif +21-236-11:52:50.411 00 UT_RUNPROC/107 +21-236-11:52:50.411 00 UT_RUNPROC/109 db_prefix = db_prefix & CPU_CFG +21-236-11:52:50.411 00 UT_RUNPROC/110 +21-236-11:52:50.411 00 UT_RUNPROC/111 cpu_prefix = db_prefix +21-236-11:52:50.411 00 UT_RUNPROC/112 +21-236-11:52:50.411 00 UT_RUNPROC/113 ; Set the database prefix for CPU1 +21-236-11:52:50.433 00 UT_RUNPROC/114 if (numCPUs > 1) then +21-236-11:52:50.433 00 UT_RUNPROC/116 endif +21-236-11:52:50.433 00 UT_RUNPROC/117 +21-236-11:52:50.433 00 UT_RUNPROC/118 ; setup the database mnemonics for CPU1 +21-236-11:52:50.433 00 UT_RUNPROC/119 local cksumItem = cpu_prefix & "_ES_CKSUM" +21-236-11:52:50.433 00 UT_RUNPROC/120 local cfeMajorVerItem = cpu_prefix & "_ES_CFEMAJORVER" +21-236-11:52:50.433 00 UT_RUNPROC/121 local cfeMinorVerItem = cpu_prefix & "_ES_CFEMINORVER" +21-236-11:52:50.433 00 UT_RUNPROC/122 local cfeRevisionItem = cpu_prefix & "_ES_CFEREVISION" +21-236-11:52:50.434 00 UT_RUNPROC/123 local cfeMissionRevItem = cpu_prefix & "_ES_CFEMSNREV" +21-236-11:52:50.434 00 UT_RUNPROC/124 local osMajorVerItem = cpu_prefix & "_ES_OSMAJORVER" +21-236-11:52:50.434 00 UT_RUNPROC/125 local osMinorVerItem = cpu_prefix & "_ES_OSMINORVER" +21-236-11:52:50.434 00 UT_RUNPROC/126 local osRevisionItem = cpu_prefix & "_ES_OSREVISION" +21-236-11:52:50.434 00 UT_RUNPROC/127 local osMissionRevItem = cpu_prefix & "_ES_OSMISSIONREV" +21-236-11:52:50.434 00 UT_RUNPROC/128 +21-236-11:52:50.434 00 UT_RUNPROC/129 ; +21-236-11:52:50.434 00 UT_RUNPROC/130 ; Output FSW configuration information +21-236-11:52:50.434 00 UT_RUNPROC/131 ; +21-236-11:52:50.434 00 UT_RUNPROC/132 write "****************** FSW Configuration ******************" +21-236-11:52:50.434 00 SPR-I:OPRO ****************** FSW Configuration ****************** +21-236-11:52:50.434 00 UT_RUNPROC/134 if (numCPUs = 1) then +21-236-11:52:50.434 00 UT_RUNPROC/135 write " Checksum: ", {cksumItem} +21-236-11:52:50.434 00 SPR-I:OPRO Checksum: 29237 +21-236-11:52:50.434 00 UT_RUNPROC/136 write " cFE Version: ", {cfeMajorVerItem} & "." & {cfeMinorVerItem} & "." & {cfeRevisionItem} & "." & {cfeMissionRevItem} +21-236-11:52:50.434 00 SPR-I:OPRO cFE Version: 6.7.99.0 +21-236-11:52:50.434 00 UT_RUNPROC/137 write " OS Version: ", {osMajorVerItem} & "." & {osMinorVerItem} & "." & {osRevisionItem} & "." & {osMissionRevItem} +21-236-11:52:50.435 00 SPR-I:OPRO OS Version: 5.0.0.255 +21-236-11:52:50.435 00 UT_RUNPROC/138 write " " +21-236-11:52:50.435 00 SPR-I:OPRO +21-236-11:52:50.435 00 UT_RUNPROC/139 endif +21-236-11:52:50.435 00 UT_RUNPROC/140 +21-236-11:52:50.435 00 UT_RUNPROC/141 if (numCPUs >= 2) then +21-236-11:52:50.435 00 UT_RUNPROC/166 endif +21-236-11:52:50.435 00 UT_RUNPROC/167 +21-236-11:52:50.435 00 UT_RUNPROC/168 ; This proc only supports up to 3 CPUs. +21-236-11:52:50.435 00 UT_RUNPROC/169 ; If there are more than 3, the additional CPUs must be added below +21-236-11:52:50.435 00 UT_RUNPROC/170 if (numCPUs = 3) then +21-236-11:52:50.435 00 UT_RUNPROC/189 endif +21-236-11:52:50.435 00 UT_RUNPROC/190 +21-236-11:52:50.435 00 UT_RUNPROC/191 write " Connection Status" +21-236-11:52:50.435 00 SPR-I:OPRO Connection Status +21-236-11:52:50.435 00 UT_RUNPROC/192 write " -----------------" +21-236-11:52:50.435 00 SPR-I:OPRO ----------------- +21-236-11:52:50.435 00 UT_RUNPROC/193 write " CFDP: ", %select(packet_valid("my_entity_id"),"UP","DOWN") +21-236-11:52:50.435 00 SPR-I:OPRO CFDP: DOWN +21-236-11:52:50.435 00 UT_RUNPROC/194 write " UDP: ", p@GSE_ICHAN +21-236-11:52:50.436 00 SPR-I:OPRO UDP: UP +21-236-11:52:50.436 00 UT_RUNPROC/195 write " SWTS: ", p@GSE_SCHAN +21-236-11:52:50.436 00 SPR-I:OPRO SWTS: UNK +21-236-11:52:50.436 00 UT_RUNPROC/196 ; write " ITOS: ", p@GSE_ZCHAN +21-236-11:52:50.436 00 UT_RUNPROC/197 +21-236-11:52:50.436 00 UT_RUNPROC/199 gds_label = "" +21-236-11:52:50.436 00 UT_RUNPROC/200 gds_version = "N/A" +21-236-11:52:50.436 00 UT_RUNPROC/201 +21-236-11:52:50.436 00 UT_RUNPROC/202 #ifdef GDS_EXISTS +21-236-11:52:50.436 00 UT_RUNPROC/203 write " GDS: ", %select(packet_valid("GDS_EXECUTOR_SIMULATION_TIME"),"UP", "DOWN") +21-236-11:52:50.436 00 UT_RUNPROC/204 if (GSE_HCHAN = 1) then +21-236-11:52:50.436 00 UT_RUNPROC/205 gds_label = "GDS" +21-236-11:52:50.436 00 UT_RUNPROC/206 gds_version = GDS_EXECUTOR_GDS_VERSION_VALUE +21-236-11:52:50.436 00 UT_RUNPROC/207 endif +21-236-11:52:50.436 00 UT_RUNPROC/208 #endif +21-236-11:52:50.436 00 UT_RUNPROC/209 +21-236-11:52:50.436 00 UT_RUNPROC/211 write " CMD / TLM Path" +21-236-11:52:50.436 00 SPR-I:OPRO +21-236-11:52:50.436 00 UT_RUNPROC/211 write " CMD / TLM Path" +21-236-11:52:50.436 00 SPR-I:OPRO CMD / TLM Path +21-236-11:52:50.436 00 UT_RUNPROC/212 write " --------------" +21-236-11:52:50.436 00 SPR-I:OPRO -------------- +21-236-11:52:50.436 00 UT_RUNPROC/213 if (GSE_ICHAN = 1) then +21-236-11:52:50.436 00 UT_RUNPROC/214 cmd_tlm_path = "UDP" +21-236-11:52:50.436 00 UT_RUNPROC/219 endif +21-236-11:52:50.436 00 UT_RUNPROC/220 +21-236-11:52:50.437 00 UT_RUNPROC/221 write " ", cmd_tlm_path +21-236-11:52:50.437 00 SPR-I:OPRO UDP +21-236-11:52:50.437 00 UT_RUNPROC/222 write " ", gds_label +21-236-11:52:50.437 00 SPR-I:OPRO +21-236-11:52:50.437 00 UT_RUNPROC/224 write " ASIST / GDS Configuration" +21-236-11:52:50.437 00 SPR-I:OPRO +21-236-11:52:50.437 00 UT_RUNPROC/224 write " ASIST / GDS Configuration" +21-236-11:52:50.437 00 SPR-I:OPRO ASIST / GDS Configuration +21-236-11:52:50.437 00 UT_RUNPROC/225 write " -------------------------" +21-236-11:52:50.437 00 SPR-I:OPRO ------------------------- +21-236-11:52:50.437 00 UT_RUNPROC/226 write " Workstation: ", %upper(%liv(LOCALHOST)) +21-236-11:52:50.437 00 SPR-I:OPRO Workstation: GS582CFSLAB4 +21-236-11:52:50.437 00 UT_RUNPROC/227 write " Account: ", %env("ACCOUNT") +21-236-11:52:50.437 00 SPR-I:OPRO Account: cfs_test +21-236-11:52:50.437 00 UT_RUNPROC/228 write " Version: ", ASIST_VERSION +21-236-11:52:50.437 00 SPR-I:OPRO Version: 21.0.7 +21-236-11:52:50.437 00 UT_RUNPROC/229 write " Tlm DB: Version: ",vidtlm.version, " Date: ", tlmdbdate, " Time: ", vidtlm.timeof +21-236-11:52:50.437 00 SPR-I:OPRO Tlm DB: Version: 1.985 Date: 08-24-21 Time: 06:37:06 AM. +21-236-11:52:50.437 00 UT_RUNPROC/230 write " Cmd DB: Version: ",%rpad(command_parm_attr("verid_cmd", "version", "description"),4," ")," Date: ",cmddbdate," Time: ",command_parm_attr("verid_cmd", "timeof", "description") +21-236-11:52:50.438 00 SPR-I:OPRO Cmd DB: Version: 1.51 Date: 08-24-21 Time: 06:47:31 AM.EDT +21-236-11:52:50.438 00 UT_RUNPROC/231 +21-236-11:52:50.438 00 UT_RUNPROC/232 #ifdef GDS_EXISTS +21-236-11:52:50.438 00 UT_RUNPROC/233 write " GDS: ", gds_version +21-236-11:52:50.438 00 UT_RUNPROC/234 #endif +21-236-11:52:50.438 00 UT_RUNPROC/235 +21-236-11:52:50.438 00 UT_RUNPROC/237 write " Telemetry Info" +21-236-11:52:50.438 00 SPR-I:OPRO +21-236-11:52:50.438 00 UT_RUNPROC/237 write " Telemetry Info" +21-236-11:52:50.438 00 SPR-I:OPRO Telemetry Info +21-236-11:52:50.438 00 UT_RUNPROC/238 write " --------------" +21-236-11:52:50.438 00 SPR-I:OPRO -------------- +21-236-11:52:50.438 00 UT_RUNPROC/240 write " Pkt Loss Count: N/A" +21-236-11:52:50.438 00 SPR-I:OPRO Pkt Loss Count: N/A +21-236-11:52:50.438 00 UT_RUNPROC/241 write "**************** End FSW Configuration ***************" +21-236-11:52:50.438 00 SPR-I:OPRO **************** End FSW Configuration *************** +21-236-11:52:50.438 00 UT_RUNPROC/242 ; +21-236-11:52:50.438 00 UT_RUNPROC/243 ; Start the procedure +21-236-11:52:50.438 00 UT_RUNPROC/244 ; +21-236-11:52:50.438 00 UT_RUNPROC/245 write "Starting Procedure.... ", proc_to_run +21-236-11:52:50.438 00 SPR-I:OPRO Starting Procedure.... scx_cpu1_ds_gencmds +21-236-11:52:50.438 00 UT_RUNPROC/246 rstol_dir = "rstol 'start " & proc_to_run & "'" +21-236-11:52:50.438 00 UT_RUNPROC/247 stime = %gmt +21-236-11:52:50.438 00 UT_RUNPROC/248 native(rstol_dir) +21-236-11:52:50.549 00 SPR-I:OPRI --> start scx_cpu1_ds_gencmds +21-236-11:52:50.549 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/scx_cpu1_ds_gencmds.i +21-236-11:52:50.553 00 SPR-I:STS Procedure SCX_CPU1_DS_GENCMDS started +21-236-11:52:50.553 00 SCX_CPU1_DS_GE/2 ;******************************************************************************* +21-236-11:52:50.553 00 SCX_CPU1_DS_GE/3 ; Test Name: ds_gencmds +21-236-11:52:50.553 00 SCX_CPU1_DS_GE/4 ; Test Level: Build Verification +21-236-11:52:50.553 00 SCX_CPU1_DS_GE/5 ; Test Type: Functional +21-236-11:52:50.553 00 SCX_CPU1_DS_GE/6 ; +21-236-11:52:50.553 00 SCX_CPU1_DS_GE/7 ; Test Description +21-236-11:52:50.553 00 SCX_CPU1_DS_GE/8 ; This test verifies that the CFS Data Storage (DS) general commands +21-236-11:52:50.553 00 SCX_CPU1_DS_GE/9 ; function properly. The NOOP and Reset Counters commands will be tested. +21-236-11:52:50.553 00 SCX_CPU1_DS_GE/10 ; Invalid versions of these commands will also be tested to ensure that +21-236-11:52:50.554 00 SCX_CPU1_DS_GE/11 ; the DS application handled these properly. +21-236-11:52:50.554 00 SCX_CPU1_DS_GE/12 ; +21-236-11:52:50.554 00 SCX_CPU1_DS_GE/13 ; Requirements Tested +21-236-11:52:50.554 00 SCX_CPU1_DS_GE/14 ; cDS1000 Upon receipt of a No-Op command, DS shall increment the DS +21-236-11:52:50.554 00 SCX_CPU1_DS_GE/15 ; Valid Command Counter and generate an event message. +21-236-11:52:50.554 00 SCX_CPU1_DS_GE/16 ; cDS1001 Upon receipt of a Reset Counters command, DS shall reset the +21-236-11:52:50.554 00 SCX_CPU1_DS_GE/17 ; following housekeeping variables to a value of zero: +21-236-11:52:50.554 00 SCX_CPU1_DS_GE/18 ; a. Valid Ground Command Counter +21-236-11:52:50.554 00 SCX_CPU1_DS_GE/19 ; b. Command Rejected Counter +21-236-11:52:50.554 00 SCX_CPU1_DS_GE/20 ; c. Packets discarded (DS was disabled) Counter +21-236-11:52:50.554 00 SCX_CPU1_DS_GE/21 ; d. Packets discarded (pkt has no filter) Counter +21-236-11:52:50.554 00 SCX_CPU1_DS_GE/22 ; e. Packets discarded (failed filter test) Counter +21-236-11:52:50.554 00 SCX_CPU1_DS_GE/23 ; f. Packets that passed filter test Counter +21-236-11:52:50.555 00 SCX_CPU1_DS_GE/24 ; g. Good destination file I/O Counter +21-236-11:52:50.555 00 SCX_CPU1_DS_GE/25 ; h. Bad destination file I/O Counter +21-236-11:52:50.555 00 SCX_CPU1_DS_GE/26 ; i. Good updates to secondary header Counter +21-236-11:52:50.555 00 SCX_CPU1_DS_GE/27 ; j. Bad updates to secondary header Counter +21-236-11:52:50.555 00 SCX_CPU1_DS_GE/28 ; k. Destination file table loads Counter +21-236-11:52:50.555 00 SCX_CPU1_DS_GE/29 ; l. Failed attempts to get table data pointer Counter +21-236-11:52:50.555 00 SCX_CPU1_DS_GE/30 ; m. Packet filter table loads Counter +21-236-11:52:50.555 00 SCX_CPU1_DS_GE/31 ; n. Failed attempts to get table data pointer Counter +21-236-11:52:50.555 00 SCX_CPU1_DS_GE/32 ; cDS1002 For all DS commands, if the length contained in the message +21-236-11:52:50.555 00 SCX_CPU1_DS_GE/33 ; header is not equal to the expected length, DS shall reject the +21-236-11:52:50.555 00 SCX_CPU1_DS_GE/34 ; command and issue an event message. +21-236-11:52:50.555 00 SCX_CPU1_DS_GE/35 ; cDS1004 If DS accepts any command as valid, DS shall execute the +21-236-11:52:50.556 00 SCX_CPU1_DS_GE/36 ; command, increment the DS Valid Command Counter and issue an +21-236-11:52:50.556 00 SCX_CPU1_DS_GE/37 ; event message. +21-236-11:52:50.556 00 SCX_CPU1_DS_GE/38 ; cDS1005 If DS rejects any command, DS shall abort the command execution, +21-236-11:52:50.556 00 SCX_CPU1_DS_GE/39 ; increment the DS Command Rejected Counter and issue an event +21-236-11:52:50.556 00 SCX_CPU1_DS_GE/40 ; message. +21-236-11:52:50.556 00 SCX_CPU1_DS_GE/41 ; cDS8000 DS shall generate a housekeeping message containing the +21-236-11:52:50.556 00 SCX_CPU1_DS_GE/42 ; following: +21-236-11:52:50.556 00 SCX_CPU1_DS_GE/43 ; a. Valid Ground Command Counter +21-236-11:52:50.556 00 SCX_CPU1_DS_GE/44 ; b. Command Rejected Counter +21-236-11:52:50.556 00 SCX_CPU1_DS_GE/45 ; c. Packets discarded (DS was disabled) Counter +21-236-11:52:50.556 00 SCX_CPU1_DS_GE/46 ; d. Packets discarded (pkt has no filter) Counter +21-236-11:52:50.556 00 SCX_CPU1_DS_GE/47 ; e. Packets discarded (failed filter test) Counter +21-236-11:52:50.556 00 SCX_CPU1_DS_GE/48 ; f. Packets that passed filter test Counter +21-236-11:52:50.556 00 SCX_CPU1_DS_GE/49 ; g. Good destination file I/O Counter +21-236-11:52:50.556 00 SCX_CPU1_DS_GE/50 ; h. Bad destination file I/O Counter +21-236-11:52:50.556 00 SCX_CPU1_DS_GE/51 ; i. Good updates to secondary header Counter +21-236-11:52:50.556 00 SCX_CPU1_DS_GE/52 ; j. Bad updates to secondary header Counter +21-236-11:52:50.556 00 SCX_CPU1_DS_GE/53 ; k. Destination file table loads Counter +21-236-11:52:50.556 00 SCX_CPU1_DS_GE/54 ; l. Failed attempts to get table data pointer Counter +21-236-11:52:50.556 00 SCX_CPU1_DS_GE/55 ; m. Packet filter table loads Counter +21-236-11:52:50.556 00 SCX_CPU1_DS_GE/56 ; n. Failed attempts to get table data pointer Counter +21-236-11:52:50.556 00 SCX_CPU1_DS_GE/57 ; o. Application State +21-236-11:52:50.556 00 SCX_CPU1_DS_GE/58 ; p. Destinatation file(s) state: +21-236-11:52:50.556 00 SCX_CPU1_DS_GE/59 ; 1. File age +21-236-11:52:50.556 00 SCX_CPU1_DS_GE/60 ; 2. File size +21-236-11:52:50.556 00 SCX_CPU1_DS_GE/61 ; 3. File rate +21-236-11:52:50.556 00 SCX_CPU1_DS_GE/62 ; 4. Sequence count +21-236-11:52:50.556 00 SCX_CPU1_DS_GE/63 ; 5. Enable State +21-236-11:52:50.556 00 SCX_CPU1_DS_GE/64 ; 6. Open State +21-236-11:52:50.556 00 SCX_CPU1_DS_GE/65 ; 7. Filename +21-236-11:52:50.556 00 SCX_CPU1_DS_GE/66 ; cDS9000 Upon initialization of the SC Application, SC shall initialize +21-236-11:52:50.556 00 SCX_CPU1_DS_GE/67 ; the following data to Zero: +21-236-11:52:50.556 00 SCX_CPU1_DS_GE/68 ; a. Valid Ground Command Counter +21-236-11:52:50.556 00 SCX_CPU1_DS_GE/69 ; b. Command Rejected Counter +21-236-11:52:50.556 00 SCX_CPU1_DS_GE/70 ; c. Packets discarded (DS was disabled) Counter +21-236-11:52:50.556 00 SCX_CPU1_DS_GE/71 ; d. Packets discarded (pkt has no filter) Counter +21-236-11:52:50.556 00 SCX_CPU1_DS_GE/72 ; e. Packets discarded (failed filter test) Counter +21-236-11:52:50.556 00 SCX_CPU1_DS_GE/73 ; f. Packets that passed filter test Counter +21-236-11:52:50.556 00 SCX_CPU1_DS_GE/74 ; g. Good destination file I/O Counter +21-236-11:52:50.556 00 SCX_CPU1_DS_GE/75 ; h. Bad destination file I/O Counter +21-236-11:52:50.557 00 SCX_CPU1_DS_GE/76 ; i. Good updates to secondary header Counter +21-236-11:52:50.557 00 SCX_CPU1_DS_GE/77 ; j. Bad updates to secondary header Counter +21-236-11:52:50.557 00 SCX_CPU1_DS_GE/78 ; k. Destination file table loads Counter +21-236-11:52:50.557 00 SCX_CPU1_DS_GE/79 ; l. Failed attempts to get table data pointer Counter +21-236-11:52:50.557 00 SCX_CPU1_DS_GE/80 ; m. Packet filter table loads Counter +21-236-11:52:50.557 00 SCX_CPU1_DS_GE/81 ; n. Failed attempts to get table data pointer Counter +21-236-11:52:50.557 00 SCX_CPU1_DS_GE/82 ; +21-236-11:52:50.557 00 SCX_CPU1_DS_GE/83 ; Prerequisite Conditions +21-236-11:52:50.559 00 SCX_CPU1_DS_GE/84 ; The cFE is up and running and ready to accept commands. +21-236-11:52:50.559 00 SCX_CPU1_DS_GE/85 ; The DS commands and telemetry items exist in the GSE database. +21-236-11:52:50.559 00 SCX_CPU1_DS_GE/86 ; The display pages exist for the DS Housekeeping. +21-236-11:52:50.559 00 SCX_CPU1_DS_GE/87 ; A DS Test application (TST_DS) exists in order to fully test the DS +21-236-11:52:50.559 00 SCX_CPU1_DS_GE/88 ; Application. +21-236-11:52:50.559 00 SCX_CPU1_DS_GE/89 ; +21-236-11:52:50.559 00 SCX_CPU1_DS_GE/90 ; Assumptions and Constraints +21-236-11:52:50.559 00 SCX_CPU1_DS_GE/91 ; None. +21-236-11:52:50.559 00 SCX_CPU1_DS_GE/92 ; +21-236-11:52:50.559 00 SCX_CPU1_DS_GE/93 ; Change History +21-236-11:52:50.559 00 SCX_CPU1_DS_GE/94 ; Date Name Description +21-236-11:52:50.559 00 SCX_CPU1_DS_GE/95 ; 09/29/09 Walt Moleski Original Procedure. +21-236-11:52:50.559 00 SCX_CPU1_DS_GE/96 ; 12/08/10 Walt Moleski Modified the procedure to use variables +21-236-11:52:50.559 00 SCX_CPU1_DS_GE/97 ; for the application name and ram disk. +21-236-11:52:50.559 00 SCX_CPU1_DS_GE/98 ; 01/31/17 Walt Moleski Updated for DS 2.5.0.0 using CPU1 for +21-236-11:52:50.559 00 SCX_CPU1_DS_GE/99 ; commanding and added a hostCPU variable +21-236-11:52:50.559 00 SCX_CPU1_DS_GE/100 ; for the utility procs to connect to the +21-236-11:52:50.559 00 SCX_CPU1_DS_GE/101 ; proper host IP address. +21-236-11:52:50.559 00 SCX_CPU1_DS_GE/102 ; +21-236-11:52:50.559 00 SCX_CPU1_DS_GE/103 ; Arguments +21-236-11:52:50.559 00 SCX_CPU1_DS_GE/104 ; None. +21-236-11:52:50.559 00 SCX_CPU1_DS_GE/105 ; +21-236-11:52:50.559 00 SCX_CPU1_DS_GE/106 ; Procedures Called +21-236-11:52:50.559 00 SCX_CPU1_DS_GE/107 ; Name Description +21-236-11:52:50.559 00 SCX_CPU1_DS_GE/108 ; ut_tlmwait Wait for a specified telemetry point to update to a +21-236-11:52:50.559 00 SCX_CPU1_DS_GE/109 ; specified value. +21-236-11:52:50.559 00 SCX_CPU1_DS_GE/110 ; ut_pfindicate Print the pass fail status of a particular requirement +21-236-11:52:50.559 00 SCX_CPU1_DS_GE/111 ; number. +21-236-11:52:50.559 00 SCX_CPU1_DS_GE/112 ; ut_setupevents Performs setup to verify that a particular event +21-236-11:52:50.559 00 SCX_CPU1_DS_GE/113 ; message was received by ASIST. +21-236-11:52:50.566 00 SCX_CPU1_DS_GE/114 ; ut_setrequirements A directive to set the status of the cFE +21-236-11:52:50.567 00 SCX_CPU1_DS_GE/115 ; requirements array. +21-236-11:52:50.567 00 SCX_CPU1_DS_GE/116 ; +21-236-11:52:50.567 00 SCX_CPU1_DS_GE/117 ; Expected Test Results and Analysis +21-236-11:52:50.567 00 SCX_CPU1_DS_GE/118 ; +21-236-11:52:50.567 00 SCX_CPU1_DS_GE/119 ;********************************************************************** +21-236-11:52:50.567 00 SCX_CPU1_DS_GE/120 +21-236-11:52:50.567 00 SCX_CPU1_DS_GE/121 local logging = %liv (log_procedure) +21-236-11:52:50.567 00 SCX_CPU1_DS_GE/122 %liv (log_procedure) = FALSE +21-236-11:52:50.629 00 SCX_CPU1_DS_GE/137 +21-236-11:52:50.629 00 SCX_CPU1_DS_GE/138 #define DS_1000 0 +21-236-11:52:50.629 00 SCX_CPU1_DS_GE/139 #define DS_1001 1 +21-236-11:52:50.629 00 SCX_CPU1_DS_GE/140 #define DS_1002 2 +21-236-11:52:50.629 00 SCX_CPU1_DS_GE/141 #define DS_1004 3 +21-236-11:52:50.629 00 SCX_CPU1_DS_GE/142 #define DS_1005 4 +21-236-11:52:50.629 00 SCX_CPU1_DS_GE/143 #define DS_8000 5 +21-236-11:52:50.629 00 SCX_CPU1_DS_GE/144 #define DS_9000 6 +21-236-11:52:50.629 00 SCX_CPU1_DS_GE/145 +21-236-11:52:50.629 00 SCX_CPU1_DS_GE/146 global ut_req_array_size = 6 +21-236-11:52:50.629 00 SCX_CPU1_DS_GE/147 global ut_requirement[0 .. ut_req_array_size] +21-236-11:52:50.630 00 SCX_CPU1_DS_GE/148 +21-236-11:52:50.630 00 SCX_CPU1_DS_GE/149 for i = 0 to ut_req_array_size DO +21-236-11:52:50.630 00 SCX_CPU1_DS_GE/150 ut_requirement[i] = "U" +21-236-11:52:50.630 00 SCX_CPU1_DS_GE/151 enddo +21-236-11:52:50.630 00 SCX_CPU1_DS_GE/149 for i = 0 to ut_req_array_size DO +21-236-11:52:50.630 00 SCX_CPU1_DS_GE/150 ut_requirement[i] = "U" +21-236-11:52:50.630 00 SCX_CPU1_DS_GE/151 enddo +21-236-11:52:50.630 00 SCX_CPU1_DS_GE/149 for i = 0 to ut_req_array_size DO +21-236-11:52:50.630 00 SCX_CPU1_DS_GE/150 ut_requirement[i] = "U" +21-236-11:52:50.630 00 SCX_CPU1_DS_GE/151 enddo +21-236-11:52:50.630 00 SCX_CPU1_DS_GE/149 for i = 0 to ut_req_array_size DO +21-236-11:52:50.630 00 SCX_CPU1_DS_GE/150 ut_requirement[i] = "U" +21-236-11:52:50.630 00 SCX_CPU1_DS_GE/151 enddo +21-236-11:52:50.630 00 SCX_CPU1_DS_GE/149 for i = 0 to ut_req_array_size DO +21-236-11:52:50.630 00 SCX_CPU1_DS_GE/150 ut_requirement[i] = "U" +21-236-11:52:50.630 00 SCX_CPU1_DS_GE/151 enddo +21-236-11:52:50.630 00 SCX_CPU1_DS_GE/149 for i = 0 to ut_req_array_size DO +21-236-11:52:50.631 00 SCX_CPU1_DS_GE/150 ut_requirement[i] = "U" +21-236-11:52:50.631 00 SCX_CPU1_DS_GE/151 enddo +21-236-11:52:50.631 00 SCX_CPU1_DS_GE/149 for i = 0 to ut_req_array_size DO +21-236-11:52:50.631 00 SCX_CPU1_DS_GE/150 ut_requirement[i] = "U" +21-236-11:52:50.631 00 SCX_CPU1_DS_GE/151 enddo +21-236-11:52:50.631 00 SCX_CPU1_DS_GE/149 for i = 0 to ut_req_array_size DO +21-236-11:52:50.631 00 SCX_CPU1_DS_GE/152 +21-236-11:52:50.631 00 SCX_CPU1_DS_GE/153 ;********************************************************************** +21-236-11:52:50.631 00 SCX_CPU1_DS_GE/154 ; Set the local values +21-236-11:52:50.631 00 SCX_CPU1_DS_GE/155 ;********************************************************************** +21-236-11:52:50.631 00 SCX_CPU1_DS_GE/156 local cfe_requirements[0 .. ut_req_array_size] = ["DS_1000", "DS_1001", "DS_1002", "DS_1004", "DS_1005", "DS_8000", "DS_9000" ] +21-236-11:52:50.631 00 SCX_CPU1_DS_GE/157 +21-236-11:52:50.631 00 SCX_CPU1_DS_GE/158 ;********************************************************************** +21-236-11:52:50.631 00 SCX_CPU1_DS_GE/159 ; Define local variables +21-236-11:52:50.631 00 SCX_CPU1_DS_GE/160 ;********************************************************************** +21-236-11:52:50.631 00 SCX_CPU1_DS_GE/161 LOCAL rawcmd, stream +21-236-11:52:50.631 00 SCX_CPU1_DS_GE/162 local DSAppName = "DS" +21-236-11:52:50.631 00 SCX_CPU1_DS_GE/163 local hostCPU = "CPU3" +21-236-11:52:50.631 00 SCX_CPU1_DS_GE/164 +21-236-11:52:50.631 00 SCX_CPU1_DS_GE/165 write ";***********************************************************************" +21-236-11:52:50.631 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:52:50.632 00 SCX_CPU1_DS_GE/166 write "; Step 1.0: Data Storage Test Setup." +21-236-11:52:50.632 00 SPR-I:OPRO ; Step 1.0: Data Storage Test Setup. +21-236-11:52:50.632 00 SCX_CPU1_DS_GE/167 write ";***********************************************************************" +21-236-11:52:50.632 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:52:50.633 00 SCX_CPU1_DS_GE/168 write "; Step 1.1: Command a Power-on Reset on CPU1." +21-236-11:52:50.633 00 SPR-I:OPRO ; Step 1.1: Command a Power-on Reset on CPU1. +21-236-11:52:50.633 00 SCX_CPU1_DS_GE/169 write ";***********************************************************************" +21-236-11:52:50.633 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:52:50.633 00 SCX_CPU1_DS_GE/170 /SCX_CPU1_ES_POWERONRESET +21-236-11:52:50.644 00 SCX_CPU1_DS_GE/171 wait 10 +21-236-11:52:50.644 00 SPR-I:STTE Wait mode - waiting 10 seconds ... +21-236-11:53:00.652 00 SCX_CPU1_DS_GE/172 +21-236-11:53:00.652 00 SCX_CPU1_DS_GE/173 close_data_center +21-236-11:53:00.654 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/clear_spacecraft_status.i +21-236-11:53:00.655 00 SPR-I:STS Procedure CLEAR_SPACECRAFT_STATUS started +21-236-11:53:00.656 00 CLEAR_SPACECRA/2 ; +21-236-11:53:00.656 00 CLEAR_SPACECRA/3 local logging = %liv(log_procedure) +21-236-11:53:00.656 00 CLEAR_SPACECRA/4 %liv (log_procedure) = FALSE +21-236-11:53:00.661 00 CLEAR_SPACECRA/135 +21-236-11:53:00.661 00 CLEAR_SPACECRA/136 endproc +21-236-11:53:00.661 00 SPR-I:STS Procedure CLEAR_SPACECRAFT_STATUS completed +21-236-11:53:00.684 00 SCX_CPU1_DS_GE/174 wait 60 +21-236-11:53:00.684 00 SPR-I:STTE Wait mode - waiting 60 seconds ... +21-236-11:54:00.733 00 SCX_CPU1_DS_GE/175 +21-236-11:54:00.733 00 SCX_CPU1_DS_GE/176 cfe_startup {hostCPU} +21-236-11:54:00.742 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:54:10.751 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:54:10.821 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/send_that_to_command.i +21-236-11:54:10.821 00 SPR-I:STS Procedure SEND_THAT_TO_COMMAND started +21-236-11:54:10.821 00 SEND_THAT_TO_C/2 ; +21-236-11:54:10.821 00 SEND_THAT_TO_C/3 local logging = %liv (log_procedure) +21-236-11:54:10.821 00 SEND_THAT_TO_C/4 %liv (log_procedure) = FALSE +21-236-11:54:10.822 00 SPR-I:OPRO Sending: /SCX_CPU1_TO_OUTPUT_ENA gs582cfslab4 +21-236-11:54:10.874 00 SEND_THAT_TO_C/83 +21-236-11:54:10.874 00 SEND_THAT_TO_C/84 endproc +21-236-11:54:10.874 00 SPR-I:STS Procedure SEND_THAT_TO_COMMAND completed +21-236-11:54:10.874 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:54:12.037 00 TLMH-I:STS 58-012-14:03:49.450 INFO CPU=CPU1 APPNAME=TO_LAB_APP EVENT ID=3 TO telemetry output enabled for IP 192.168.1.101 +21-236-11:54:14.878 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:54:14.879 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/fill_in_spacecraft_status.i +21-236-11:54:14.881 00 SPR-I:STS Procedure FILL_IN_SPACECRAFT_STATUS started +21-236-11:54:14.881 00 FILL_IN_SPACEC/2 ; +21-236-11:54:14.881 00 FILL_IN_SPACEC/3 local logging = %liv (log_procedure) +21-236-11:54:14.881 00 FILL_IN_SPACEC/4 %liv (log_procedure) = FALSE +21-236-11:54:14.885 00 FILL_IN_SPACEC/152 +21-236-11:54:14.885 00 FILL_IN_SPACEC/153 endproc +21-236-11:54:14.885 00 SPR-I:STS Procedure FILL_IN_SPACECRAFT_STATUS completed +21-236-11:54:14.885 00 SCX_CPU1_DS_GE/177 wait 5 +21-236-11:54:14.885 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:54:19.890 00 SCX_CPU1_DS_GE/178 +21-236-11:54:19.890 00 SCX_CPU1_DS_GE/179 +21-236-11:54:19.890 00 SCX_CPU1_DS_GE/180 write ";***********************************************************************" +21-236-11:54:19.890 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:54:19.890 00 SCX_CPU1_DS_GE/181 write "; Step 1.2: Upload the default DS table load images to CPU1." +21-236-11:54:19.890 00 SPR-I:OPRO ; Step 1.2: Upload the default DS table load images to CPU1. +21-236-11:54:19.890 00 SCX_CPU1_DS_GE/182 write ";***********************************************************************" +21-236-11:54:19.890 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:54:19.891 00 SCX_CPU1_DS_GE/184 s scx_cpu1_ds_tbl1 +21-236-11:54:19.891 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/scx_cpu1_ds_tbl1.i +21-236-11:54:19.896 00 SPR-I:STS Procedure SCX_CPU1_DS_TBL1 started +21-236-11:54:19.896 00 SCX_CPU1_DS_TB/2 ;******************************************************************************* +21-236-11:54:19.896 00 SCX_CPU1_DS_TB/3 ; Test Name: ds_tbl1 +21-236-11:54:19.896 00 SCX_CPU1_DS_TB/4 ; Test Level: Build Verification +21-236-11:54:19.896 00 SCX_CPU1_DS_TB/5 ; Test Type: Functional +21-236-11:54:19.896 00 SCX_CPU1_DS_TB/6 ; +21-236-11:54:19.896 00 SCX_CPU1_DS_TB/7 ; Test Description +21-236-11:54:19.896 00 SCX_CPU1_DS_TB/8 ; This procedure creates the initial CFS Data Storage (DS) Destination +21-236-11:54:19.896 00 SCX_CPU1_DS_TB/9 ; File and Packet Filter Table load image files. These files are currently +21-236-11:54:19.896 00 SCX_CPU1_DS_TB/10 ; used by the General Commanding test procedure. +21-236-11:54:19.896 00 SCX_CPU1_DS_TB/11 ; +21-236-11:54:19.896 00 SCX_CPU1_DS_TB/12 ; Prerequisite Conditions +21-236-11:54:19.896 00 SCX_CPU1_DS_TB/13 ; None. +21-236-11:54:19.896 00 SCX_CPU1_DS_TB/14 ; +21-236-11:54:19.896 00 SCX_CPU1_DS_TB/15 ; Assumptions and Constraints +21-236-11:54:19.896 00 SCX_CPU1_DS_TB/16 ; None. +21-236-11:54:19.896 00 SCX_CPU1_DS_TB/17 ; +21-236-11:54:19.896 00 SCX_CPU1_DS_TB/18 ; Change History +21-236-11:54:19.896 00 SCX_CPU1_DS_TB/19 ; Date Name Description +21-236-11:54:19.896 00 SCX_CPU1_DS_TB/20 ; 11/03/09 Walt Moleski Inital implemetation. +21-236-11:54:19.896 00 SCX_CPU1_DS_TB/21 ; 12/08/10 Walt Moleski Modified the procedure to use variables +21-236-11:54:19.896 00 SCX_CPU1_DS_TB/22 ; for the application name and ram disk. +21-236-11:54:19.896 00 SCX_CPU1_DS_TB/23 ; 01/31/17 Walt Moleski Updated for DS 2.5.0.0 using CPU1 for +21-236-11:54:19.897 00 SCX_CPU1_DS_TB/24 ; commanding and added a hostCPU variable +21-236-11:54:19.897 00 SCX_CPU1_DS_TB/25 ; for the utility procs to connect to the +21-236-11:54:19.897 00 SCX_CPU1_DS_TB/26 ; proper host IP address. +21-236-11:54:19.897 00 SCX_CPU1_DS_TB/27 ; +21-236-11:54:19.897 00 SCX_CPU1_DS_TB/28 ; Arguments +21-236-11:54:19.897 00 SCX_CPU1_DS_TB/29 ; None. +21-236-11:54:19.897 00 SCX_CPU1_DS_TB/30 ; +21-236-11:54:19.898 00 SCX_CPU1_DS_TB/31 ; Procedures Called +21-236-11:54:19.898 00 SCX_CPU1_DS_TB/32 ; Name Description +21-236-11:54:19.898 00 SCX_CPU1_DS_TB/33 ; +21-236-11:54:19.898 00 SCX_CPU1_DS_TB/34 ; Expected Test Results and Analysis +21-236-11:54:19.898 00 SCX_CPU1_DS_TB/35 ; +21-236-11:54:19.898 00 SCX_CPU1_DS_TB/36 ;********************************************************************** +21-236-11:54:19.898 00 SCX_CPU1_DS_TB/37 +21-236-11:54:19.898 00 SCX_CPU1_DS_TB/38 local logging = %liv (log_procedure) +21-236-11:54:19.898 00 SCX_CPU1_DS_TB/39 %liv (log_procedure) = FALSE +21-236-11:54:19.935 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:54:19.935 00 SPR-I:OPRO ; Step 1.0: Define DS Destination File Table 1. +21-236-11:54:19.935 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:54:19.937 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/create_tbl_file_from_cvt.i +21-236-11:54:19.937 00 SPR-I:STS Procedure CREATE_TBL_FILE_FROM_CVT started +21-236-11:54:19.939 00 SPR-I:OPRO ********** ds_gcfile.tbl ********** +21-236-11:54:19.939 00 SPR-I:OPRO +21-236-11:54:19.939 00 SPR-I:OPRO Content Type: cFE1 +21-236-11:54:19.939 00 SPR-I:OPRO Sub Type: 8 +21-236-11:54:19.939 00 SPR-I:OPRO Length: 12 +21-236-11:54:19.939 00 SPR-I:OPRO Spacecraft Id: SCX +21-236-11:54:19.939 00 SPR-I:OPRO Processor Id: CPU3 +21-236-11:54:19.939 00 SPR-I:OPRO Application Id: 3958 +21-236-11:54:19.939 00 SPR-I:OPRO Create Time Secs: 1629806059 +21-236-11:54:19.939 00 SPR-I:OPRO Create Time Subsecs: 0 +21-236-11:54:19.939 00 SPR-I:OPRO File Description: General Command Test File Table +21-236-11:54:19.939 00 SPR-I:OPRO +21-236-11:54:19.939 00 SPR-I:OPRO ********** DS.FILE_TBL ********** +21-236-11:54:19.939 00 SPR-I:OPRO +21-236-11:54:19.939 00 SPR-I:OPRO Start Mnemonic: SCX_CPU1_DS_DF_TBL_Description +21-236-11:54:19.939 00 SPR-I:OPRO Byte Offset: 0 +21-236-11:54:19.939 00 SPR-I:OPRO End Mnemonic: SCX_CPU1_DS_DF_TBL[1].SeqCnt +21-236-11:54:19.939 00 SPR-I:OPRO Number of Bytes: 464 +21-236-11:54:19.939 00 SPR-I:OPRO +21-236-11:54:19.944 00 SPR-I:STS Loading file /s/opr/accounts/global/prc/partial_cvt_to_file_beta.i +21-236-11:54:19.944 00 SPR-I:STS Procedure PARTIAL_CVT_TO_FILE_BETA started +21-236-11:54:19.945 00 SPR-I:OPRO The unix command is cd /s/opr/accounts/cfs_test/image;cvt2file -s 116 -e 579 P0F76 ds.file_tbl +21-236-11:54:19.953 00 SPR-I:STS Procedure PARTIAL_CVT_TO_FILE_BETA completed +21-236-11:54:19.953 00 SPR-I:OPRO cd /s/opr/accounts/cfs_test/image;cat ds_gcfile.tbl.tmp ds.file_tbl > ds_gcfile.tbl +21-236-11:54:19.958 00 SPR-I:OPRO cd /s/opr/accounts/cfs_test/image;rm ds.file_tbl ds_gcfile.tbl.tmp +21-236-11:54:19.962 00 SPR-I:STS Procedure CREATE_TBL_FILE_FROM_CVT completed +21-236-11:54:20.460 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/create_tbl_file_from_cvt.i +21-236-11:54:20.460 00 SPR-I:STS Procedure CREATE_TBL_FILE_FROM_CVT started +21-236-11:54:20.462 00 SPR-I:OPRO ********** ds_gcfilter.tbl ********** +21-236-11:54:20.462 00 SPR-I:OPRO +21-236-11:54:20.462 00 SPR-I:OPRO Content Type: cFE1 +21-236-11:54:20.462 00 SPR-I:OPRO Sub Type: 8 +21-236-11:54:20.462 00 SPR-I:OPRO Length: 12 +21-236-11:54:20.462 00 SPR-I:OPRO Spacecraft Id: SCX +21-236-11:54:20.462 00 SPR-I:OPRO Processor Id: CPU3 +21-236-11:54:20.462 00 SPR-I:OPRO Application Id: 3959 +21-236-11:54:20.462 00 SPR-I:OPRO Create Time Secs: 1629806060 +21-236-11:54:20.462 00 SPR-I:OPRO Create Time Subsecs: 0 +21-236-11:54:20.462 00 SPR-I:OPRO File Description: General Command Test Filter Tabl +21-236-11:54:20.462 00 SPR-I:OPRO +21-236-11:54:20.462 00 SPR-I:OPRO ********** DS.FILTER_TBL ********** +21-236-11:54:20.462 00 SPR-I:OPRO +21-236-11:54:20.462 00 SPR-I:OPRO Start Mnemonic: SCX_CPU1_DS_PF_TBL_Description +21-236-11:54:20.462 00 SPR-I:OPRO Byte Offset: 0 +21-236-11:54:20.462 00 SPR-I:OPRO End Mnemonic: SCX_CPU1_DS_PF_TBL[255].FilterParams[3].O_Value +21-236-11:54:20.463 00 SPR-I:OPRO Number of Bytes: 9248 +21-236-11:54:20.463 00 SPR-I:OPRO +21-236-11:54:20.467 00 SPR-I:STS Loading file /s/opr/accounts/global/prc/partial_cvt_to_file_beta.i +21-236-11:54:20.467 00 SPR-I:STS Procedure PARTIAL_CVT_TO_FILE_BETA started +21-236-11:54:20.468 00 SPR-I:OPRO The unix command is cd /s/opr/accounts/cfs_test/image;cvt2file -s 116 -e 9363 P0F77 ds.filter_tbl +21-236-11:54:20.472 00 SPR-I:STS Procedure PARTIAL_CVT_TO_FILE_BETA completed +21-236-11:54:20.472 00 SPR-I:OPRO cd /s/opr/accounts/cfs_test/image;cat ds_gcfilter.tbl.tmp ds.filter_tbl > ds_gcfilter.tbl +21-236-11:54:20.475 00 SPR-I:OPRO cd /s/opr/accounts/cfs_test/image;rm ds.filter_tbl ds_gcfilter.tbl.tmp +21-236-11:54:20.479 00 SPR-I:STS Procedure CREATE_TBL_FILE_FROM_CVT completed +21-236-11:54:20.479 00 SCX_CPU1_DS_TB/156 +21-236-11:54:20.479 00 SCX_CPU1_DS_TB/157 write ";*********************************************************************" +21-236-11:54:20.479 00 SPR-I:OPRO ;********************************************************************* +21-236-11:54:20.479 00 SCX_CPU1_DS_TB/158 write "; End procedure SCX_CPU1_ds_tbl1" +21-236-11:54:20.479 00 SPR-I:OPRO ; End procedure SCX_CPU1_ds_tbl1 +21-236-11:54:20.479 00 SCX_CPU1_DS_TB/159 write ";*********************************************************************" +21-236-11:54:20.479 00 SPR-I:OPRO ;********************************************************************* +21-236-11:54:20.480 00 SCX_CPU1_DS_TB/160 ENDPROC +21-236-11:54:20.480 00 SPR-I:STS Procedure SCX_CPU1_DS_TBL1 completed +21-236-11:54:20.480 00 SCX_CPU1_DS_GE/185 +21-236-11:54:20.480 00 SCX_CPU1_DS_GE/187 local destFileName = DS_DEF_DEST_FILENAME +21-236-11:54:20.480 00 SCX_CPU1_DS_GE/188 local filterFileName = DS_DEF_FILTER_FILENAME +21-236-11:54:20.480 00 SCX_CPU1_DS_GE/189 local slashLoc = %locate(destFileName,"/") +21-236-11:54:20.480 00 SCX_CPU1_DS_GE/190 +21-236-11:54:20.480 00 SCX_CPU1_DS_GE/192 while (slashLoc <> 0) do +21-236-11:54:20.480 00 SCX_CPU1_DS_GE/193 destFileName = %substring(destFileName,slashLoc+1,%length(destFileName)) +21-236-11:54:20.480 00 SCX_CPU1_DS_GE/194 slashLoc = %locate(destFileName,"/") +21-236-11:54:20.481 00 SCX_CPU1_DS_GE/195 enddo +21-236-11:54:20.481 00 SCX_CPU1_DS_GE/193 destFileName = %substring(destFileName,slashLoc+1,%length(destFileName)) +21-236-11:54:20.481 00 SCX_CPU1_DS_GE/194 slashLoc = %locate(destFileName,"/") +21-236-11:54:20.481 00 SCX_CPU1_DS_GE/195 enddo +21-236-11:54:20.481 00 SCX_CPU1_DS_GE/196 +21-236-11:54:20.481 00 SCX_CPU1_DS_GE/197 slashLoc = %locate(filterFileName,"/") +21-236-11:54:20.481 00 SCX_CPU1_DS_GE/199 while (slashLoc <> 0) do +21-236-11:54:20.481 00 SCX_CPU1_DS_GE/200 filterFileName = %substring(filterFileName,slashLoc+1,%length(filterFileName)) +21-236-11:54:20.481 00 SCX_CPU1_DS_GE/201 slashLoc = %locate(filterFileName,"/") +21-236-11:54:20.481 00 SCX_CPU1_DS_GE/202 enddo +21-236-11:54:20.481 00 SCX_CPU1_DS_GE/200 filterFileName = %substring(filterFileName,slashLoc+1,%length(filterFileName)) +21-236-11:54:20.481 00 SCX_CPU1_DS_GE/201 slashLoc = %locate(filterFileName,"/") +21-236-11:54:20.481 00 SCX_CPU1_DS_GE/202 enddo +21-236-11:54:20.482 00 SCX_CPU1_DS_GE/203 +21-236-11:54:20.482 00 SCX_CPU1_DS_GE/204 write "==> Default Filter Table filename = '",filterFileName,"'" +21-236-11:54:20.482 00 SPR-I:OPRO ==> Default Filter Table filename = 'ds_filter_tbl.tbl' +21-236-11:54:20.482 00 SCX_CPU1_DS_GE/205 +21-236-11:54:20.482 00 SCX_CPU1_DS_GE/207 s ftp_file("CF:0", "ds_gcfile.tbl", destFileName, hostCPU, "P") +21-236-11:54:20.482 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/ftp_file.i +21-236-11:54:20.482 00 SPR-I:STS Procedure FTP_FILE started +21-236-11:54:20.483 00 FTP_FILE/2 ; +21-236-11:54:20.483 00 FTP_FILE/3 local logging = %liv (log_procedure) +21-236-11:54:20.483 00 FTP_FILE/4 %liv (log_procedure) = FALSE +21-236-11:54:20.745 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-11:54:20.745 00 FTP_FILE/85 ENDPROC +21-236-11:54:20.745 00 SPR-I:STS Procedure FTP_FILE completed +21-236-11:54:20.746 00 SCX_CPU1_DS_GE/208 s ftp_file("CF:0", "ds_gcfilter.tbl", filterFileName, hostCPU, "P") +21-236-11:54:20.747 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/ftp_file.i +21-236-11:54:20.747 00 SPR-I:STS Procedure FTP_FILE started +21-236-11:54:20.748 00 FTP_FILE/2 ; +21-236-11:54:20.748 00 FTP_FILE/3 local logging = %liv (log_procedure) +21-236-11:54:20.748 00 FTP_FILE/4 %liv (log_procedure) = FALSE +21-236-11:54:21.183 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-11:54:21.184 00 FTP_FILE/85 ENDPROC +21-236-11:54:21.184 00 SPR-I:STS Procedure FTP_FILE completed +21-236-11:54:21.184 00 SCX_CPU1_DS_GE/209 +21-236-11:54:21.184 00 SCX_CPU1_DS_GE/210 wait 5 +21-236-11:54:21.184 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:54:26.188 00 SCX_CPU1_DS_GE/211 +21-236-11:54:26.189 00 SCX_CPU1_DS_GE/212 write ";***********************************************************************" +21-236-11:54:26.189 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:54:26.189 00 SCX_CPU1_DS_GE/213 write "; Step 1.3: Display the Housekeeping pages " +21-236-11:54:26.189 00 SPR-I:OPRO ; Step 1.3: Display the Housekeeping pages +21-236-11:54:26.189 00 SCX_CPU1_DS_GE/214 write ";***********************************************************************" +21-236-11:54:26.189 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:54:26.189 00 SCX_CPU1_DS_GE/215 page SCX_CPU1_DS_HK +21-236-11:54:26.294 00 SCX_CPU1_DS_GE/216 page SCX_CPU1_DS_FILE_TBL +21-236-11:54:26.371 00 SCX_CPU1_DS_GE/217 page SCX_CPU1_DS_FILTER_TBL +21-236-11:54:26.448 00 SCX_CPU1_DS_GE/218 page SCX_CPU1_TST_DS_HK +21-236-11:54:26.561 00 SCX_CPU1_DS_GE/219 +21-236-11:54:26.561 00 SCX_CPU1_DS_GE/220 write ";***********************************************************************" +21-236-11:54:26.561 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:54:26.561 00 SCX_CPU1_DS_GE/221 write "; Step 1.4: Start the Data Storage (DS) and Test Applications. Verify " +21-236-11:54:26.561 00 SPR-I:OPRO ; Step 1.4: Start the Data Storage (DS) and Test Applications. Verify +21-236-11:54:26.561 00 SCX_CPU1_DS_GE/222 write "; that the DS Housekeeping telemetry packet is being generated and the " +21-236-11:54:26.561 00 SPR-I:OPRO ; that the DS Housekeeping telemetry packet is being generated and the +21-236-11:54:26.561 00 SCX_CPU1_DS_GE/223 write "; appropriate items are initialized to zero (0). " +21-236-11:54:26.561 00 SPR-I:OPRO ; appropriate items are initialized to zero (0). +21-236-11:54:26.561 00 SCX_CPU1_DS_GE/224 write ";***********************************************************************" +21-236-11:54:26.561 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:54:26.561 00 SCX_CPU1_DS_GE/225 ;s scx_cpu1_ds_start_apps("1.4") +21-236-11:54:26.561 00 SCX_CPU1_DS_GE/226 ;wait 5 +21-236-11:54:26.561 00 SCX_CPU1_DS_GE/227 +21-236-11:54:26.561 00 SCX_CPU1_DS_GE/229 local hkPktId +21-236-11:54:26.561 00 SCX_CPU1_DS_GE/230 +21-236-11:54:26.562 00 SCX_CPU1_DS_GE/232 hkPktId = "p0B8" +21-236-11:54:26.562 00 SCX_CPU1_DS_GE/233 +21-236-11:54:26.562 00 SCX_CPU1_DS_GE/236 local seqTlmItem = hkPktId & "scnt" +21-236-11:54:26.562 00 SCX_CPU1_DS_GE/237 local currSCnt = {seqTlmItem} +21-236-11:54:26.562 00 SCX_CPU1_DS_GE/238 local expectedSCnt = currSCnt + 2 +21-236-11:54:26.569 00 SCX_CPU1_DS_GE/239 +21-236-11:54:26.569 00 SCX_CPU1_DS_GE/240 ut_tlmwait {seqTlmItem}, {expectedSCnt} +21-236-11:54:26.573 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:54:34.580 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:54:34.581 00 SCX_CPU1_DS_GE/241 if (UT_TW_Status = UT_Success) then +21-236-11:54:34.582 00 SCX_CPU1_DS_GE/242 write "<*> Passed (8000) - Housekeeping packet is being generated." +21-236-11:54:34.582 00 SPR-I:OPRO <*> Passed (8000) - Housekeeping packet is being generated. +21-236-11:54:34.582 00 SCX_CPU1_DS_GE/243 ut_setrequirements DS_8000, "P" +21-236-11:54:34.584 00 SCX_CPU1_DS_GE/247 endif +21-236-11:54:34.585 00 SCX_CPU1_DS_GE/248 +21-236-11:54:34.585 00 SCX_CPU1_DS_GE/252 if (SCX_CPU1_DS_CMDPC = 0) AND (SCX_CPU1_DS_CMDEC = 0) AND ;; +21-236-11:54:34.585 00 SCX_CPU1_DS_GE/253 (SCX_CPU1_DS_DisabledPktCnt = 0) AND ;; +21-236-11:54:34.585 00 SCX_CPU1_DS_GE/254 (SCX_CPU1_DS_FilteredPktCnt = 0) AND (SCX_CPU1_DS_PassedPktCnt = 0) AND ;; +21-236-11:54:34.585 00 SCX_CPU1_DS_GE/255 (SCX_CPU1_DS_FileWriteCnt = 0) AND (SCX_CPU1_DS_FileWriteErrCnt = 0) AND ;; +21-236-11:54:34.585 00 SCX_CPU1_DS_GE/256 (SCX_CPU1_DS_FileUpdCnt = 0) AND (SCX_CPU1_DS_FileUpdErrCnt = 0) AND ;; +21-236-11:54:34.585 00 SCX_CPU1_DS_GE/257 (SCX_CPU1_DS_DestLoadCnt = 1) AND (SCX_CPU1_DS_DestPtrErrCnt = 0) AND ;; +21-236-11:54:34.585 00 SCX_CPU1_DS_GE/258 (SCX_CPU1_DS_FilterLoadCnt = 1) AND (SCX_CPU1_DS_FilterPtrErrCnt = 0) then +21-236-11:54:34.586 00 SCX_CPU1_DS_GE/259 write "<*> Passed (9000) - Housekeeping telemetry initialized properly." +21-236-11:54:34.586 00 SPR-I:OPRO <*> Passed (9000) - Housekeeping telemetry initialized properly. +21-236-11:54:34.587 00 SCX_CPU1_DS_GE/260 ut_setrequirements DS_9000, "P" +21-236-11:54:34.590 00 SCX_CPU1_DS_GE/277 endif +21-236-11:54:34.590 00 SCX_CPU1_DS_GE/278 +21-236-11:54:34.590 00 SCX_CPU1_DS_GE/279 wait 5 +21-236-11:54:34.590 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:54:39.593 00 SCX_CPU1_DS_GE/280 +21-236-11:54:39.593 00 SCX_CPU1_DS_GE/281 write ";***********************************************************************" +21-236-11:54:39.593 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:54:39.593 00 SCX_CPU1_DS_GE/282 write "; Step 1.5: Enable DEBUG Event Messages " +21-236-11:54:39.593 00 SPR-I:OPRO ; Step 1.5: Enable DEBUG Event Messages +21-236-11:54:39.593 00 SCX_CPU1_DS_GE/283 write ";***********************************************************************" +21-236-11:54:39.594 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:54:39.594 00 SCX_CPU1_DS_GE/284 local cmdCtr = SCX_CPU1_EVS_CMDPC + 1 +21-236-11:54:39.594 00 SCX_CPU1_DS_GE/285 +21-236-11:54:39.594 00 SCX_CPU1_DS_GE/287 /SCX_CPU1_EVS_EnaAppEVTType Application=DSAppName DEBUG +21-236-11:54:39.606 00 SCX_CPU1_DS_GE/288 +21-236-11:54:39.606 00 SCX_CPU1_DS_GE/289 ut_tlmwait SCX_CPU1_EVS_CMDPC, {cmdCtr} +21-236-11:54:39.611 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:54:42.614 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:54:42.614 00 SCX_CPU1_DS_GE/290 if (UT_TW_Status = UT_Success) then +21-236-11:54:42.614 00 SCX_CPU1_DS_GE/291 write "<*> Passed - Enable Debug events command sent properly." +21-236-11:54:42.614 00 SPR-I:OPRO <*> Passed - Enable Debug events command sent properly. +21-236-11:54:42.614 00 SCX_CPU1_DS_GE/294 endif +21-236-11:54:42.614 00 SCX_CPU1_DS_GE/295 +21-236-11:54:42.614 00 SCX_CPU1_DS_GE/296 write ";***********************************************************************" +21-236-11:54:42.614 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:54:42.614 00 SCX_CPU1_DS_GE/297 write "; Step 2.0: Commanding Test." +21-236-11:54:42.614 00 SPR-I:OPRO ; Step 2.0: Commanding Test. +21-236-11:54:42.614 00 SCX_CPU1_DS_GE/298 write ";***********************************************************************" +21-236-11:54:42.614 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:54:42.614 00 SCX_CPU1_DS_GE/299 write "; Step 2.1: Send the NO-OP command." +21-236-11:54:42.614 00 SPR-I:OPRO ; Step 2.1: Send the NO-OP command. +21-236-11:54:42.614 00 SCX_CPU1_DS_GE/300 write ";***********************************************************************" +21-236-11:54:42.614 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:54:42.614 00 SCX_CPU1_DS_GE/301 ut_setupevents "SCX", "CPU1", {DSAppName}, DS_NOOP_CMD_EID, "INFO", 1 +21-236-11:54:42.617 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:54:42.617 00 SPR-I:OPRO ; Setup event 1 with DS INFO 31 +21-236-11:54:42.617 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:54:42.617 00 SCX_CPU1_DS_GE/302 +21-236-11:54:42.617 00 SCX_CPU1_DS_GE/303 cmdCtr = SCX_CPU1_DS_CMDPC + 1 +21-236-11:54:42.617 00 SCX_CPU1_DS_GE/305 /SCX_CPU1_DS_NOOP +21-236-11:54:42.630 00 SCX_CPU1_DS_GE/306 +21-236-11:54:42.630 00 SCX_CPU1_DS_GE/307 ut_tlmwait SCX_CPU1_DS_CMDPC, {cmdCtr} +21-236-11:54:42.635 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:54:43.529 00 TLMH-I:STS 58-012-14:04:21.001 INFO CPU=CPU1 APPNAME=DS EVENT ID=31 NOOP command, Version 2.6.0.0 +21-236-11:54:46.639 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:54:46.641 00 SCX_CPU1_DS_GE/308 if (UT_TW_Status = UT_Success) then +21-236-11:54:46.641 00 SCX_CPU1_DS_GE/309 write "<*> Passed (1000;1004) - DS NO-OP command sent properly." +21-236-11:54:46.641 00 SPR-I:OPRO <*> Passed (1000;1004) - DS NO-OP command sent properly. +21-236-11:54:46.642 00 SCX_CPU1_DS_GE/310 ut_setrequirements DS_1000, "P" +21-236-11:54:46.645 00 SCX_CPU1_DS_GE/311 ut_setrequirements DS_1004, "P" +21-236-11:54:46.647 00 SCX_CPU1_DS_GE/316 endif +21-236-11:54:46.647 00 SCX_CPU1_DS_GE/317 +21-236-11:54:46.647 00 SCX_CPU1_DS_GE/319 ut_tlmwait SCX_CPU1_find_event[1].num_found_messages, 1 +21-236-11:54:46.651 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:54:46.651 00 SCX_CPU1_DS_GE/320 if (UT_TW_Status = UT_Success) then +21-236-11:54:46.651 00 SCX_CPU1_DS_GE/321 write "<*> Passed (1000;1004) - Expected Event Msg ",DS_NOOP_CMD_EID," rcv'd." +21-236-11:54:46.651 00 SPR-I:OPRO <*> Passed (1000;1004) - Expected Event Msg 31 rcv'd. +21-236-11:54:46.651 00 SCX_CPU1_DS_GE/322 ut_setrequirements DS_1000, "P" +21-236-11:54:46.652 00 SCX_CPU1_DS_GE/323 ut_setrequirements DS_1004, "P" +21-236-11:54:46.652 00 SCX_CPU1_DS_GE/328 endif +21-236-11:54:46.652 00 SCX_CPU1_DS_GE/329 +21-236-11:54:46.652 00 SCX_CPU1_DS_GE/330 wait 5 +21-236-11:54:46.653 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:54:51.657 00 SCX_CPU1_DS_GE/331 +21-236-11:54:51.657 00 SCX_CPU1_DS_GE/332 write ";***********************************************************************" +21-236-11:54:51.657 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:54:51.657 00 SCX_CPU1_DS_GE/333 write "; Step 2.2: Send the NO-OP command with an invalid length." +21-236-11:54:51.657 00 SPR-I:OPRO ; Step 2.2: Send the NO-OP command with an invalid length. +21-236-11:54:51.657 00 SCX_CPU1_DS_GE/334 write ";***********************************************************************" +21-236-11:54:51.658 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:54:51.658 00 SCX_CPU1_DS_GE/335 ut_setupevents "SCX", "CPU1", {DSAppName}, DS_NOOP_CMD_ERR_EID, "ERROR", 1 +21-236-11:54:51.665 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:54:51.665 00 SPR-I:OPRO ; Setup event 1 with DS ERROR 32 +21-236-11:54:51.665 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:54:51.666 00 SCX_CPU1_DS_GE/336 +21-236-11:54:51.666 00 SCX_CPU1_DS_GE/337 local errcnt = SCX_CPU1_DS_CMDEC + 1 +21-236-11:54:51.666 00 SCX_CPU1_DS_GE/338 +21-236-11:54:51.666 00 SCX_CPU1_DS_GE/340 rawcmd = "18BBc000000200B0" +21-236-11:54:51.666 00 SCX_CPU1_DS_GE/341 +21-236-11:54:51.666 00 SCX_CPU1_DS_GE/342 ut_sendrawcmd "SCX_CPU1_DS", (rawcmd) +21-236-11:54:51.673 00 SPR-I:OPRO Sending: 18BBc000000200B0 +21-236-11:54:51.690 00 SPR-I:OPRO ; Telemetry update will wait a maximum of 24 seconds +21-236-11:54:51.690 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:54:52.533 00 TLMH-I:STS 58-012-14:04:30.001 ERROR CPU=CPU1 APPNAME=DS EVENT ID=32 Invalid NOOP command length: expected = 8, actual = 9 +21-236-11:54:54.694 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:54:54.697 00 SCX_CPU1_DS_GE/343 +21-236-11:54:54.697 00 SCX_CPU1_DS_GE/344 ut_tlmwait SCX_CPU1_DS_CMDEC, {errcnt} +21-236-11:54:54.703 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:54:54.703 00 SCX_CPU1_DS_GE/345 if (UT_TW_Status = UT_Success) then +21-236-11:54:54.703 00 SCX_CPU1_DS_GE/346 write "<*> Passed (1002;1005) - Command Rejected Counter incremented." +21-236-11:54:54.703 00 SPR-I:OPRO <*> Passed (1002;1005) - Command Rejected Counter incremented. +21-236-11:54:54.703 00 SCX_CPU1_DS_GE/347 ut_setrequirements DS_1002, "P" +21-236-11:54:54.705 00 SCX_CPU1_DS_GE/348 ut_setrequirements DS_1005, "P" +21-236-11:54:54.706 00 SCX_CPU1_DS_GE/353 endif +21-236-11:54:54.706 00 SCX_CPU1_DS_GE/354 +21-236-11:54:54.706 00 SCX_CPU1_DS_GE/355 if (SCX_CPU1_find_event[1].num_found_messages = 1) THEN +21-236-11:54:54.706 00 SCX_CPU1_DS_GE/356 write "<*> Passed (1005) - Event message ",SCX_CPU1_find_event[1].eventid, " received" +21-236-11:54:54.706 00 SPR-I:OPRO <*> Passed (1005) - Event message 32 received +21-236-11:54:54.706 00 SCX_CPU1_DS_GE/357 ut_setrequirements DS_1005, "P" +21-236-11:54:54.707 00 SCX_CPU1_DS_GE/361 endif +21-236-11:54:54.707 00 SCX_CPU1_DS_GE/362 +21-236-11:54:54.707 00 SCX_CPU1_DS_GE/363 wait 5 +21-236-11:54:54.707 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:54:59.710 00 SCX_CPU1_DS_GE/364 +21-236-11:54:59.710 00 SCX_CPU1_DS_GE/365 write ";***********************************************************************" +21-236-11:54:59.710 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:54:59.711 00 SCX_CPU1_DS_GE/366 write "; Step 2.3: Utilizing the TST_DS application, send the command that " +21-236-11:54:59.711 00 SPR-I:OPRO ; Step 2.3: Utilizing the TST_DS application, send the command that +21-236-11:54:59.711 00 SCX_CPU1_DS_GE/367 write "; will set all the counters that get reset to zero (0) by the Reset " +21-236-11:54:59.711 00 SPR-I:OPRO ; will set all the counters that get reset to zero (0) by the Reset +21-236-11:54:59.711 00 SCX_CPU1_DS_GE/368 write "; command to a non-zero value." +21-236-11:54:59.711 00 SPR-I:OPRO ; command to a non-zero value. +21-236-11:54:59.711 00 SCX_CPU1_DS_GE/369 write ";***********************************************************************" +21-236-11:54:59.711 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:54:59.711 00 SCX_CPU1_DS_GE/370 ut_setupevents "SCX", "CPU1", "TST_DS", TST_DS_SET_COUNTERS_INF_EID, "INFO", 1 +21-236-11:54:59.713 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:54:59.713 00 SPR-I:OPRO ; Setup event 1 with TST_DS INFO 4 +21-236-11:54:59.713 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:54:59.713 00 SCX_CPU1_DS_GE/371 +21-236-11:54:59.713 00 SCX_CPU1_DS_GE/372 /SCX_CPU1_TST_DS_SetCounters +21-236-11:54:59.724 00 SCX_CPU1_DS_GE/373 +21-236-11:54:59.725 00 SCX_CPU1_DS_GE/375 ut_tlmwait SCX_CPU1_find_event[1].num_found_messages, 1 +21-236-11:54:59.728 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:55:00.534 00 TLMH-I:STS 58-012-14:04:38.001 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=4 Set counters to non-zero command +21-236-11:55:00.729 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:55:00.730 00 SCX_CPU1_DS_GE/376 if (UT_TW_Status = UT_Success) then +21-236-11:55:00.731 00 SCX_CPU1_DS_GE/377 write "<*> Passed - Expected Event Msg ",TST_DS_SET_COUNTERS_INF_EID," rcv'd." +21-236-11:55:00.731 00 SPR-I:OPRO <*> Passed - Expected Event Msg 4 rcv'd. +21-236-11:55:00.731 00 SCX_CPU1_DS_GE/380 endif +21-236-11:55:00.731 00 SCX_CPU1_DS_GE/381 +21-236-11:55:00.731 00 SCX_CPU1_DS_GE/382 wait 5 +21-236-11:55:00.731 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:55:05.734 00 SCX_CPU1_DS_GE/383 +21-236-11:55:05.734 00 SCX_CPU1_DS_GE/384 write ";***********************************************************************" +21-236-11:55:05.734 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:55:05.734 00 SCX_CPU1_DS_GE/385 write "; Step 2.4: Verify that all the counters are non-zero and send the " +21-236-11:55:05.734 00 SPR-I:OPRO ; Step 2.4: Verify that all the counters are non-zero and send the +21-236-11:55:05.734 00 SCX_CPU1_DS_GE/386 write "; Reset command if so. " +21-236-11:55:05.734 00 SPR-I:OPRO ; Reset command if so. +21-236-11:55:05.734 00 SCX_CPU1_DS_GE/387 write ";***********************************************************************" +21-236-11:55:05.734 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:55:05.734 00 SCX_CPU1_DS_GE/388 local oldIgnoredPktCnt = SCX_CPU1_DS_IgnoredPktCnt +21-236-11:55:05.735 00 SCX_CPU1_DS_GE/389 write "Ignored Pkts before reset = ", SCX_CPU1_DS_IgnoredPktCnt +21-236-11:55:05.735 00 SPR-I:OPRO Ignored Pkts before reset = 4 +21-236-11:55:05.735 00 SCX_CPU1_DS_GE/390 +21-236-11:55:05.735 00 SCX_CPU1_DS_GE/392 if (SCX_CPU1_DS_CMDPC > 0) AND (SCX_CPU1_DS_CMDEC > 0) AND ;; +21-236-11:55:05.735 00 SCX_CPU1_DS_GE/393 (SCX_CPU1_DS_DisabledPktCnt > 0) AND (SCX_CPU1_DS_IgnoredPktCnt > 0) AND ;; +21-236-11:55:05.735 00 SCX_CPU1_DS_GE/394 (SCX_CPU1_DS_FilteredPktCnt > 0) AND (SCX_CPU1_DS_PassedPktCnt > 0) AND ;; +21-236-11:55:05.735 00 SCX_CPU1_DS_GE/395 (SCX_CPU1_DS_FileWriteCnt > 0) AND (SCX_CPU1_DS_FileWriteErrCnt > 0) AND ;; +21-236-11:55:05.735 00 SCX_CPU1_DS_GE/396 (SCX_CPU1_DS_FileUpdCnt > 0) AND (SCX_CPU1_DS_FileUpdErrCnt > 0) AND ;; +21-236-11:55:05.735 00 SCX_CPU1_DS_GE/397 (SCX_CPU1_DS_DestLoadCnt > 0) AND (SCX_CPU1_DS_DestPtrErrCnt > 0) AND ;; +21-236-11:55:05.735 00 SCX_CPU1_DS_GE/398 (SCX_CPU1_DS_FilterLoadCnt > 0) AND (SCX_CPU1_DS_FilterPtrErrCnt > 0) then +21-236-11:55:05.735 00 SCX_CPU1_DS_GE/399 write "<*> Counters are all non-zero. Sending reset command." +21-236-11:55:05.735 00 SPR-I:OPRO <*> Counters are all non-zero. Sending reset command. +21-236-11:55:05.735 00 SCX_CPU1_DS_GE/400 +21-236-11:55:05.735 00 SCX_CPU1_DS_GE/402 ut_setupevents "SCX", "CPU1", {DSAppName}, DS_RESET_CMD_EID, "DEBUG", 1 +21-236-11:55:05.736 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:55:05.737 00 SPR-I:OPRO ; Setup event 1 with DS DEBUG 33 +21-236-11:55:05.737 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:55:05.737 00 SCX_CPU1_DS_GE/403 +21-236-11:55:05.737 00 SCX_CPU1_DS_GE/404 cmdCtr = SCX_CPU1_SC_CMDPC + 1 +21-236-11:55:05.737 00 SCX_CPU1_DS_GE/405 +21-236-11:55:05.737 00 SCX_CPU1_DS_GE/407 /SCX_CPU1_DS_ResetCtrs +21-236-11:55:05.748 00 SCX_CPU1_DS_GE/408 wait 5 +21-236-11:55:05.748 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:55:06.532 00 TLMH-I:STS 58-012-14:04:44.003 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=33 Reset counters command +21-236-11:55:10.751 00 SCX_CPU1_DS_GE/409 +21-236-11:55:10.752 00 SCX_CPU1_DS_GE/411 ut_tlmwait SCX_CPU1_find_event[1].num_found_messages, 1 +21-236-11:55:10.762 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:55:10.763 00 SCX_CPU1_DS_GE/412 if (UT_TW_Status = UT_Success) then +21-236-11:55:10.763 00 SCX_CPU1_DS_GE/413 write "<*> Passed (1001;1004) - Expected Event Msg ",DS_RESET_CMD_EID," rcv'd." +21-236-11:55:10.763 00 SPR-I:OPRO <*> Passed (1001;1004) - Expected Event Msg 33 rcv'd. +21-236-11:55:10.763 00 SCX_CPU1_DS_GE/414 ut_setrequirements DS_1001, "P" +21-236-11:55:10.767 00 SCX_CPU1_DS_GE/415 ut_setrequirements DS_1004, "P" +21-236-11:55:10.769 00 SCX_CPU1_DS_GE/420 endif +21-236-11:55:10.769 00 SCX_CPU1_DS_GE/421 +21-236-11:55:10.770 00 SCX_CPU1_DS_GE/423 if (SCX_CPU1_DS_CMDPC = 0) AND (SCX_CPU1_DS_CMDEC = 0) AND ;; +21-236-11:55:10.770 00 SCX_CPU1_DS_GE/424 (SCX_CPU1_DS_DisabledPktCnt = 0) AND ;; +21-236-11:55:10.770 00 SCX_CPU1_DS_GE/425 (SCX_CPU1_DS_IgnoredPktCnt < oldIgnoredPktCnt) AND ;; +21-236-11:55:10.770 00 SCX_CPU1_DS_GE/426 (SCX_CPU1_DS_FilteredPktCnt = 0) AND (SCX_CPU1_DS_PassedPktCnt = 0) AND ;; +21-236-11:55:10.770 00 SCX_CPU1_DS_GE/427 (SCX_CPU1_DS_FileWriteCnt = 0) AND (SCX_CPU1_DS_FileWriteErrCnt = 0) AND ;; +21-236-11:55:10.770 00 SCX_CPU1_DS_GE/428 (SCX_CPU1_DS_FileUpdCnt = 0) AND (SCX_CPU1_DS_FileUpdErrCnt = 0) AND ;; +21-236-11:55:10.770 00 SCX_CPU1_DS_GE/429 (SCX_CPU1_DS_DestLoadCnt = 0) AND (SCX_CPU1_DS_DestPtrErrCnt = 0) AND ;; +21-236-11:55:10.770 00 SCX_CPU1_DS_GE/430 (SCX_CPU1_DS_FilterLoadCnt = 0) AND (SCX_CPU1_DS_FilterPtrErrCnt = 0) then +21-236-11:55:10.771 00 SCX_CPU1_DS_GE/431 write "<*> Passed (1001) - Counters all reset to zero." +21-236-11:55:10.771 00 SPR-I:OPRO <*> Passed (1001) - Counters all reset to zero. +21-236-11:55:10.771 00 SCX_CPU1_DS_GE/432 ut_setrequirements DS_1001, "P" +21-236-11:55:10.774 00 SCX_CPU1_DS_GE/436 endif +21-236-11:55:10.774 00 SCX_CPU1_DS_GE/439 endif +21-236-11:55:10.774 00 SCX_CPU1_DS_GE/440 +21-236-11:55:10.774 00 SCX_CPU1_DS_GE/442 write "CMDPC = ", SCX_CPU1_DS_CMDPC +21-236-11:55:10.774 00 SPR-I:OPRO CMDPC = 0 +21-236-11:55:10.774 00 SCX_CPU1_DS_GE/443 write "CMDEC = ", SCX_CPU1_DS_CMDEC +21-236-11:55:10.774 00 SPR-I:OPRO CMDEC = 0 +21-236-11:55:10.774 00 SCX_CPU1_DS_GE/444 write "Disabled Pkts = ", SCX_CPU1_DS_DisabledPktCnt +21-236-11:55:10.774 00 SPR-I:OPRO Disabled Pkts = 0 +21-236-11:55:10.774 00 SCX_CPU1_DS_GE/445 write "Ignored Pkts = ", SCX_CPU1_DS_IgnoredPktCnt +21-236-11:55:10.775 00 SPR-I:OPRO Ignored Pkts = 0 +21-236-11:55:10.775 00 SCX_CPU1_DS_GE/446 write "Failed Filter Pkts = ", SCX_CPU1_DS_FilteredPktCnt +21-236-11:55:10.775 00 SPR-I:OPRO Failed Filter Pkts = 0 +21-236-11:55:10.791 00 SCX_CPU1_DS_GE/447 write "Passed Filter Pkts = ", SCX_CPU1_DS_PassedPktCnt +21-236-11:55:10.791 00 SPR-I:OPRO Passed Filter Pkts = 0 +21-236-11:55:10.791 00 SCX_CPU1_DS_GE/448 write "Good i/o writes = ", SCX_CPU1_DS_FileWriteCnt +21-236-11:55:10.792 00 SPR-I:OPRO Good i/o writes = 0 +21-236-11:55:10.792 00 SCX_CPU1_DS_GE/449 write "Bad i/o writes = ", SCX_CPU1_DS_FileWriteErrCnt +21-236-11:55:10.792 00 SPR-I:OPRO Bad i/o writes = 0 +21-236-11:55:10.792 00 SCX_CPU1_DS_GE/450 write "Good hdr writes = ", SCX_CPU1_DS_FileUpdCnt +21-236-11:55:10.793 00 SPR-I:OPRO Good hdr writes = 0 +21-236-11:55:10.793 00 SCX_CPU1_DS_GE/451 write "Bad hdr writes = ", SCX_CPU1_DS_FileUpdErrCnt +21-236-11:55:10.793 00 SPR-I:OPRO Bad hdr writes = 0 +21-236-11:55:10.793 00 SCX_CPU1_DS_GE/452 write "Dest Tbl Loads = ", SCX_CPU1_DS_DestLoadCnt +21-236-11:55:10.793 00 SPR-I:OPRO Dest Tbl Loads = 0 +21-236-11:55:10.793 00 SCX_CPU1_DS_GE/453 write "Dest Tbl ptr fails = ", SCX_CPU1_DS_DestPtrErrCnt +21-236-11:55:10.793 00 SPR-I:OPRO Dest Tbl ptr fails = 0 +21-236-11:55:10.793 00 SCX_CPU1_DS_GE/454 write "Filter Tbl Loads = ", SCX_CPU1_DS_FilterLoadCnt +21-236-11:55:10.793 00 SPR-I:OPRO Filter Tbl Loads = 0 +21-236-11:55:10.793 00 SCX_CPU1_DS_GE/455 write "Filter Tbl ptr fails = ", SCX_CPU1_DS_FilterPtrErrCnt +21-236-11:55:10.793 00 SPR-I:OPRO Filter Tbl ptr fails = 0 +21-236-11:55:10.793 00 SCX_CPU1_DS_GE/456 +21-236-11:55:10.793 00 SCX_CPU1_DS_GE/457 wait 5 +21-236-11:55:10.793 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:55:15.797 00 SCX_CPU1_DS_GE/458 +21-236-11:55:15.797 00 SCX_CPU1_DS_GE/459 write ";***********************************************************************" +21-236-11:55:15.797 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:55:15.797 00 SCX_CPU1_DS_GE/460 write "; Step 2.5: Send the Reset command with an invalid length. " +21-236-11:55:15.797 00 SPR-I:OPRO ; Step 2.5: Send the Reset command with an invalid length. +21-236-11:55:15.797 00 SCX_CPU1_DS_GE/461 write ";***********************************************************************" +21-236-11:55:15.797 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:55:15.797 00 SCX_CPU1_DS_GE/462 ut_setupevents "SCX", "CPU1", {DSAppName}, DS_RESET_CMD_ERR_EID, "ERROR", 1 +21-236-11:55:15.799 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:55:15.799 00 SPR-I:OPRO ; Setup event 1 with DS ERROR 34 +21-236-11:55:15.799 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:55:15.799 00 SCX_CPU1_DS_GE/463 +21-236-11:55:15.799 00 SCX_CPU1_DS_GE/464 errcnt = SCX_CPU1_DS_CMDEC + 1 +21-236-11:55:15.799 00 SCX_CPU1_DS_GE/466 rawcmd = "18BBc000000201B0" +21-236-11:55:15.799 00 SCX_CPU1_DS_GE/467 +21-236-11:55:15.799 00 SCX_CPU1_DS_GE/468 ut_sendrawcmd "SCX_CPU1_DS", (rawcmd) +21-236-11:55:15.802 00 SPR-I:OPRO Sending: 18BBc000000201B0 +21-236-11:55:15.818 00 SPR-I:OPRO ; Telemetry update will wait a maximum of 24 seconds +21-236-11:55:15.818 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:55:16.532 00 TLMH-I:STS 58-012-14:04:54.001 ERROR CPU=CPU1 APPNAME=DS EVENT ID=34 Invalid RESET command length: expected = 8, actual = 9 +21-236-11:55:18.821 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:55:18.825 00 SCX_CPU1_DS_GE/469 +21-236-11:55:18.825 00 SCX_CPU1_DS_GE/470 ut_tlmwait SCX_CPU1_DS_CMDEC, {errcnt} +21-236-11:55:18.840 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:55:18.842 00 SCX_CPU1_DS_GE/471 if (UT_TW_Status = UT_Success) then +21-236-11:55:18.842 00 SCX_CPU1_DS_GE/472 write "<*> Passed (1002;1005) - Command Rejected Counter incremented." +21-236-11:55:18.842 00 SPR-I:OPRO <*> Passed (1002;1005) - Command Rejected Counter incremented. +21-236-11:55:18.843 00 SCX_CPU1_DS_GE/473 ut_setrequirements DS_1002, "P" +21-236-11:55:18.847 00 SCX_CPU1_DS_GE/474 ut_setrequirements DS_1005, "P" +21-236-11:55:18.849 00 SCX_CPU1_DS_GE/479 endif +21-236-11:55:18.850 00 SCX_CPU1_DS_GE/480 +21-236-11:55:18.850 00 SCX_CPU1_DS_GE/481 if (SCX_CPU1_find_event[1].num_found_messages = 1) THEN +21-236-11:55:18.850 00 SCX_CPU1_DS_GE/482 write "<*> Passed (1005) - Event message ",SCX_CPU1_find_event[1].eventid, " received" +21-236-11:55:18.850 00 SPR-I:OPRO <*> Passed (1005) - Event message 34 received +21-236-11:55:18.850 00 SCX_CPU1_DS_GE/483 ut_setrequirements DS_1005, "P" +21-236-11:55:18.852 00 SCX_CPU1_DS_GE/487 endif +21-236-11:55:18.852 00 SCX_CPU1_DS_GE/488 +21-236-11:55:18.852 00 SCX_CPU1_DS_GE/489 wait 5 +21-236-11:55:18.853 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:55:23.856 00 SCX_CPU1_DS_GE/490 +21-236-11:55:23.856 00 SCX_CPU1_DS_GE/491 write ";***********************************************************************" +21-236-11:55:23.856 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:55:23.856 00 SCX_CPU1_DS_GE/492 write "; Step 2.6: Send an invalid command. " +21-236-11:55:23.856 00 SPR-I:OPRO ; Step 2.6: Send an invalid command. +21-236-11:55:23.858 00 SCX_CPU1_DS_GE/493 write ";***********************************************************************" +21-236-11:55:23.858 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:55:23.858 00 SCX_CPU1_DS_GE/494 ut_setupevents "SCX", "CPU1", {DSAppName}, DS_CMD_CODE_ERR_EID, "ERROR", 1 +21-236-11:55:23.860 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:55:23.860 00 SPR-I:OPRO ; Setup event 1 with DS ERROR 21 +21-236-11:55:23.860 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:55:23.860 00 SCX_CPU1_DS_GE/495 +21-236-11:55:23.860 00 SCX_CPU1_DS_GE/496 errcnt = SCX_CPU1_DS_CMDEC + 1 +21-236-11:55:23.860 00 SCX_CPU1_DS_GE/498 rawcmd = "18BBc0000001AA00" +21-236-11:55:23.860 00 SCX_CPU1_DS_GE/499 +21-236-11:55:23.860 00 SCX_CPU1_DS_GE/500 ut_sendrawcmd "SCX_CPU1_DS", (rawcmd) +21-236-11:55:23.864 00 SPR-I:OPRO Sending: 18BBc0000001AA00 +21-236-11:55:23.879 00 SPR-I:OPRO ; Telemetry update will wait a maximum of 24 seconds +21-236-11:55:23.879 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:55:24.532 00 TLMH-I:STS 58-012-14:05:02.001 ERROR CPU=CPU1 APPNAME=DS EVENT ID=21 Invalid command code: MID = 0x000018BB, CC = 42 +21-236-11:55:26.881 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:55:26.884 00 SCX_CPU1_DS_GE/501 +21-236-11:55:26.884 00 SCX_CPU1_DS_GE/502 ut_tlmwait SCX_CPU1_DS_CMDEC, {errcnt} +21-236-11:55:26.892 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:55:26.893 00 SCX_CPU1_DS_GE/503 if (UT_TW_Status = UT_Success) then +21-236-11:55:26.893 00 SCX_CPU1_DS_GE/504 write "<*> Passed (1005) - Command Rejected Counter incremented." +21-236-11:55:26.893 00 SPR-I:OPRO <*> Passed (1005) - Command Rejected Counter incremented. +21-236-11:55:26.893 00 SCX_CPU1_DS_GE/505 ut_setrequirements DS_1005, "P" +21-236-11:55:26.895 00 SCX_CPU1_DS_GE/509 endif +21-236-11:55:26.895 00 SCX_CPU1_DS_GE/510 +21-236-11:55:26.895 00 SCX_CPU1_DS_GE/511 if (SCX_CPU1_find_event[1].num_found_messages = 1) THEN +21-236-11:55:26.895 00 SCX_CPU1_DS_GE/512 write "<*> Passed (1005) - Event message ",SCX_CPU1_find_event[1].eventid, " received" +21-236-11:55:26.895 00 SPR-I:OPRO <*> Passed (1005) - Event message 21 received +21-236-11:55:26.896 00 SCX_CPU1_DS_GE/513 ut_setrequirements DS_1005, "P" +21-236-11:55:26.897 00 SCX_CPU1_DS_GE/517 endif +21-236-11:55:26.897 00 SCX_CPU1_DS_GE/518 +21-236-11:55:26.897 00 SCX_CPU1_DS_GE/519 wait 5 +21-236-11:55:26.897 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:55:31.901 00 SCX_CPU1_DS_GE/520 +21-236-11:55:31.901 00 SCX_CPU1_DS_GE/521 write ";***********************************************************************" +21-236-11:55:31.901 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:55:31.901 00 SCX_CPU1_DS_GE/522 write "; Step 2.7: Send an invalid HK Request. " +21-236-11:55:31.901 00 SPR-I:OPRO ; Step 2.7: Send an invalid HK Request. +21-236-11:55:31.901 00 SCX_CPU1_DS_GE/523 write ";***********************************************************************" +21-236-11:55:31.901 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:55:31.901 00 SCX_CPU1_DS_GE/524 ut_setupevents "SCX", "CPU1", {DSAppName}, DS_HK_REQUEST_ERR_EID, "ERROR", 1 +21-236-11:55:31.902 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:55:31.903 00 SPR-I:OPRO ; Setup event 1 with DS ERROR 22 +21-236-11:55:31.903 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:55:31.903 00 SCX_CPU1_DS_GE/525 +21-236-11:55:31.903 00 SCX_CPU1_DS_GE/526 errcnt = SCX_CPU1_DS_CMDEC + 1 +21-236-11:55:31.903 00 SCX_CPU1_DS_GE/528 rawcmd = "18BCC00001000000" +21-236-11:55:31.903 00 SCX_CPU1_DS_GE/529 +21-236-11:55:31.903 00 SCX_CPU1_DS_GE/530 ut_sendrawcmd "SCX_CPU1_DS", (rawcmd) +21-236-11:55:31.906 00 SPR-I:OPRO Sending: 18BCC00001000000 +21-236-11:55:31.921 00 SPR-I:OPRO ; Telemetry update will wait a maximum of 24 seconds +21-236-11:55:31.921 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:55:32.533 00 TLMH-I:STS 58-012-14:05:10.001 ERROR CPU=CPU1 APPNAME=DS EVENT ID=22 Invalid HK request length: expected = 8, actual = 263 +21-236-11:55:34.925 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:55:34.928 00 SPR-I:STTE Wait mode - waiting 1 seconds ... +21-236-11:55:35.930 00 SPR-I:STTE Wait mode - waiting 1 seconds ... +21-236-11:55:36.932 00 SPR-I:STTE Wait mode - waiting 1 seconds ... +21-236-11:55:37.935 00 SPR-I:STTE Wait mode - waiting 1 seconds ... +21-236-11:55:38.937 00 SPR-I:STTE Wait mode - waiting 1 seconds ... +21-236-11:55:39.939 00 SPR-I:STTE Wait mode - waiting 1 seconds ... +21-236-11:55:40.941 00 SPR-I:STTE Wait mode - waiting 1 seconds ... +21-236-11:55:41.944 00 SPR-I:STTE Wait mode - waiting 1 seconds ... +21-236-11:55:42.946 00 SCX_CPU1_DS_GE/531 +21-236-11:55:42.946 00 SCX_CPU1_DS_GE/532 ut_tlmwait SCX_CPU1_find_event[1].num_found_messages, 1 +21-236-11:55:42.957 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:55:42.959 00 SCX_CPU1_DS_GE/533 if (UT_TW_Status = UT_Success) then +21-236-11:55:42.959 00 SCX_CPU1_DS_GE/534 write "<*> Passed (1005) - Event message ",SCX_CPU1_find_event[1].eventid, " received" +21-236-11:55:42.959 00 SPR-I:OPRO <*> Passed (1005) - Event message 22 received +21-236-11:55:42.959 00 SCX_CPU1_DS_GE/535 ut_setrequirements DS_1005, "P" +21-236-11:55:42.962 00 SCX_CPU1_DS_GE/539 endif +21-236-11:55:42.962 00 SCX_CPU1_DS_GE/540 +21-236-11:55:42.962 00 SCX_CPU1_DS_GE/541 wait 5 +21-236-11:55:42.962 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:55:47.966 00 SCX_CPU1_DS_GE/542 +21-236-11:55:47.966 00 SCX_CPU1_DS_GE/543 write ";*********************************************************************" +21-236-11:55:47.966 00 SPR-I:OPRO ;********************************************************************* +21-236-11:55:47.966 00 SCX_CPU1_DS_GE/544 write "; Step 3.0: Clean-up - Send the Processor Reset command. " +21-236-11:55:47.966 00 SPR-I:OPRO ; Step 3.0: Clean-up - Send the Processor Reset command. +21-236-11:55:47.967 00 SCX_CPU1_DS_GE/545 write ";*********************************************************************" +21-236-11:55:47.967 00 SPR-I:OPRO ;********************************************************************* +21-236-11:55:47.967 00 SCX_CPU1_DS_GE/546 /SCX_CPU1_ES_PROCESSORRESET +21-236-11:55:47.982 00 SCX_CPU1_DS_GE/547 wait 10 +21-236-11:55:47.982 00 SPR-I:STTE Wait mode - waiting 10 seconds ... +21-236-11:55:57.990 00 SCX_CPU1_DS_GE/548 +21-236-11:55:57.990 00 SCX_CPU1_DS_GE/549 close_data_center +21-236-11:55:57.992 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/clear_spacecraft_status.i +21-236-11:55:57.993 00 SPR-I:STS Procedure CLEAR_SPACECRAFT_STATUS started +21-236-11:55:57.993 00 CLEAR_SPACECRA/2 ; +21-236-11:55:57.993 00 CLEAR_SPACECRA/3 local logging = %liv(log_procedure) +21-236-11:55:57.994 00 CLEAR_SPACECRA/4 %liv (log_procedure) = FALSE +21-236-11:55:58.008 00 CLEAR_SPACECRA/135 +21-236-11:55:58.009 00 CLEAR_SPACECRA/136 endproc +21-236-11:55:58.009 00 SPR-I:STS Procedure CLEAR_SPACECRAFT_STATUS completed +21-236-11:55:58.081 00 SCX_CPU1_DS_GE/550 wait 60 +21-236-11:55:58.081 00 SPR-I:STTE Wait mode - waiting 60 seconds ... +21-236-11:56:58.128 00 SCX_CPU1_DS_GE/551 +21-236-11:56:58.128 00 SCX_CPU1_DS_GE/552 cfe_startup {hostCPU} +21-236-11:56:58.139 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:57:08.149 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:57:08.212 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/send_that_to_command.i +21-236-11:57:08.213 00 SPR-I:STS Procedure SEND_THAT_TO_COMMAND started +21-236-11:57:08.213 00 SEND_THAT_TO_C/2 ; +21-236-11:57:08.213 00 SEND_THAT_TO_C/3 local logging = %liv (log_procedure) +21-236-11:57:08.213 00 SEND_THAT_TO_C/4 %liv (log_procedure) = FALSE +21-236-11:57:08.214 00 SPR-I:OPRO Sending: /SCX_CPU1_TO_OUTPUT_ENA gs582cfslab4 +21-236-11:57:08.266 00 SEND_THAT_TO_C/83 +21-236-11:57:08.266 00 SEND_THAT_TO_C/84 endproc +21-236-11:57:08.266 00 SPR-I:STS Procedure SEND_THAT_TO_COMMAND completed +21-236-11:57:08.266 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:57:09.050 00 TLMH-I:STS 58-012-14:05:53.533 INFO CPU=CPU1 APPNAME=TO_LAB_APP EVENT ID=3 TO telemetry output enabled for IP 192.168.1.101 +21-236-11:57:11.270 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:57:11.270 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/fill_in_spacecraft_status.i +21-236-11:57:11.272 00 SPR-I:STS Procedure FILL_IN_SPACECRAFT_STATUS started +21-236-11:57:11.272 00 FILL_IN_SPACEC/2 ; +21-236-11:57:11.272 00 FILL_IN_SPACEC/3 local logging = %liv (log_procedure) +21-236-11:57:11.272 00 FILL_IN_SPACEC/4 %liv (log_procedure) = FALSE +21-236-11:57:11.282 00 FILL_IN_SPACEC/152 +21-236-11:57:11.282 00 FILL_IN_SPACEC/153 endproc +21-236-11:57:11.282 00 SPR-I:STS Procedure FILL_IN_SPACECRAFT_STATUS completed +21-236-11:57:11.283 00 SCX_CPU1_DS_GE/553 wait 5 +21-236-11:57:11.283 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:57:16.288 00 SCX_CPU1_DS_GE/554 +21-236-11:57:16.288 00 SCX_CPU1_DS_GE/555 write "**** Requirements Status Reporting" +21-236-11:57:16.288 00 SPR-I:OPRO **** Requirements Status Reporting +21-236-11:57:16.288 00 SCX_CPU1_DS_GE/556 +21-236-11:57:16.288 00 SCX_CPU1_DS_GE/557 write "--------------------------" +21-236-11:57:16.288 00 SPR-I:OPRO -------------------------- +21-236-11:57:16.288 00 SCX_CPU1_DS_GE/558 write " Requirement(s) Report" +21-236-11:57:16.288 00 SPR-I:OPRO Requirement(s) Report +21-236-11:57:16.288 00 SCX_CPU1_DS_GE/559 write "--------------------------" +21-236-11:57:16.288 00 SPR-I:OPRO -------------------------- +21-236-11:57:16.288 00 SCX_CPU1_DS_GE/560 +21-236-11:57:16.289 00 SCX_CPU1_DS_GE/561 FOR i = 0 to ut_req_array_size DO +21-236-11:57:16.289 00 SCX_CPU1_DS_GE/562 ut_pfindicate {cfe_requirements[i]} {ut_requirement[i]} +21-236-11:57:16.290 00 SPR-I:OPRO FSW Requirement: DS_1000 P/F: P +21-236-11:57:16.290 00 SCX_CPU1_DS_GE/563 ENDDO +21-236-11:57:16.291 00 SCX_CPU1_DS_GE/561 FOR i = 0 to ut_req_array_size DO +21-236-11:57:16.291 00 SCX_CPU1_DS_GE/562 ut_pfindicate {cfe_requirements[i]} {ut_requirement[i]} +21-236-11:57:16.292 00 SPR-I:OPRO FSW Requirement: DS_1001 P/F: P +21-236-11:57:16.292 00 SCX_CPU1_DS_GE/563 ENDDO +21-236-11:57:16.293 00 SCX_CPU1_DS_GE/561 FOR i = 0 to ut_req_array_size DO +21-236-11:57:16.293 00 SCX_CPU1_DS_GE/562 ut_pfindicate {cfe_requirements[i]} {ut_requirement[i]} +21-236-11:57:16.293 00 SPR-I:OPRO FSW Requirement: DS_1002 P/F: P +21-236-11:57:16.293 00 SCX_CPU1_DS_GE/563 ENDDO +21-236-11:57:16.293 00 SCX_CPU1_DS_GE/561 FOR i = 0 to ut_req_array_size DO +21-236-11:57:16.293 00 SCX_CPU1_DS_GE/562 ut_pfindicate {cfe_requirements[i]} {ut_requirement[i]} +21-236-11:57:16.294 00 SPR-I:OPRO FSW Requirement: DS_1004 P/F: P +21-236-11:57:16.294 00 SCX_CPU1_DS_GE/563 ENDDO +21-236-11:57:16.294 00 SCX_CPU1_DS_GE/561 FOR i = 0 to ut_req_array_size DO +21-236-11:57:16.294 00 SCX_CPU1_DS_GE/562 ut_pfindicate {cfe_requirements[i]} {ut_requirement[i]} +21-236-11:57:16.294 00 SPR-I:OPRO FSW Requirement: DS_1005 P/F: P +21-236-11:57:16.294 00 SCX_CPU1_DS_GE/563 ENDDO +21-236-11:57:16.294 00 SCX_CPU1_DS_GE/561 FOR i = 0 to ut_req_array_size DO +21-236-11:57:16.294 00 SCX_CPU1_DS_GE/562 ut_pfindicate {cfe_requirements[i]} {ut_requirement[i]} +21-236-11:57:16.295 00 SPR-I:OPRO FSW Requirement: DS_8000 P/F: P +21-236-11:57:16.298 00 SCX_CPU1_DS_GE/563 ENDDO +21-236-11:57:16.298 00 SCX_CPU1_DS_GE/561 FOR i = 0 to ut_req_array_size DO +21-236-11:57:16.298 00 SCX_CPU1_DS_GE/562 ut_pfindicate {cfe_requirements[i]} {ut_requirement[i]} +21-236-11:57:16.298 00 SPR-I:OPRO FSW Requirement: DS_9000 P/F: P +21-236-11:57:16.298 00 SCX_CPU1_DS_GE/563 ENDDO +21-236-11:57:16.298 00 SCX_CPU1_DS_GE/561 FOR i = 0 to ut_req_array_size DO +21-236-11:57:16.298 00 SCX_CPU1_DS_GE/564 +21-236-11:57:16.298 00 SCX_CPU1_DS_GE/565 drop ut_requirement ; needed to clear global variables +21-236-11:57:16.298 00 SPR-I:STS Variable "UT_REQUIREMENT" deleted +21-236-11:57:16.298 00 SCX_CPU1_DS_GE/566 drop ut_req_array_size ; needed to clear global variables +21-236-11:57:16.298 00 SPR-I:STS Variable "UT_REQ_ARRAY_SIZE" deleted +21-236-11:57:16.298 00 SCX_CPU1_DS_GE/567 +21-236-11:57:16.298 00 SCX_CPU1_DS_GE/568 write ";*********************************************************************" +21-236-11:57:16.298 00 SPR-I:OPRO ;********************************************************************* +21-236-11:57:16.301 00 SCX_CPU1_DS_GE/569 write "; End procedure SCX_CPU1_sc_gencmds" +21-236-11:57:16.301 00 SPR-I:OPRO ; End procedure SCX_CPU1_sc_gencmds +21-236-11:57:16.301 00 SCX_CPU1_DS_GE/570 write ";*********************************************************************" +21-236-11:57:16.301 00 SPR-I:OPRO ;********************************************************************* +21-236-11:57:16.301 00 SCX_CPU1_DS_GE/571 ENDPROC +21-236-11:57:16.301 00 SPR-I:STS Procedure SCX_CPU1_DS_GENCMDS completed +21-236-11:57:16.302 00 UT_RUNPROC/249 +21-236-11:57:16.302 00 UT_RUNPROC/264 #endif +21-236-11:57:16.302 00 UT_RUNPROC/265 +21-236-11:57:16.302 00 UT_RUNPROC/266 write "*** Telemetry Info ***" +21-236-11:57:16.302 00 SPR-I:OPRO *** Telemetry Info *** +21-236-11:57:16.302 00 UT_RUNPROC/268 ;;; write "Pkt Loss Count: ", TO_PCKTSDISCARD +21-236-11:57:16.302 00 UT_RUNPROC/269 write "Pkt Loss Count: N/A" +21-236-11:57:16.302 00 SPR-I:OPRO +21-236-11:57:16.302 00 UT_RUNPROC/269 write "Pkt Loss Count: N/A" +21-236-11:57:16.302 00 SPR-I:OPRO Pkt Loss Count: N/A +21-236-11:57:16.302 00 UT_RUNPROC/271 write "******************" +21-236-11:57:16.302 00 SPR-I:OPRO +21-236-11:57:16.302 00 UT_RUNPROC/271 write "******************" +21-236-11:57:16.302 00 SPR-I:OPRO ****************** +21-236-11:57:16.302 00 UT_RUNPROC/273 +21-236-11:57:16.302 00 SPR-I:OPRO +21-236-11:57:16.302 00 UT_RUNPROC/273 +21-236-11:57:16.302 00 UT_RUNPROC/274 etime = %gmt +21-236-11:57:16.302 00 UT_RUNPROC/275 write "Elapsed time: ", etime-stime, " seconds" +21-236-11:57:16.302 00 SPR-I:OPRO Elapsed time: 265.864 seconds +21-236-11:57:16.305 00 UT_RUNPROC/276 write "Elapsed time: ", (etime-stime)/60, " minutes" +21-236-11:57:16.305 00 SPR-I:OPRO Elapsed time: 4.43107 minutes +21-236-11:57:16.305 00 UT_RUNPROC/277 ; +21-236-11:57:16.305 00 UT_RUNPROC/278 ; wait for completion of procedure +21-236-11:57:16.305 00 UT_RUNPROC/279 ; +21-236-11:57:16.305 00 UT_RUNPROC/280 wait(10) +21-236-11:57:16.305 00 SPR-I:STTE Wait mode - waiting 10 seconds ... +21-236-11:57:26.313 00 UT_RUNPROC/281 ; +21-236-11:57:26.313 00 UT_RUNPROC/282 ; close the log to procedure log name for archive +21-236-11:57:26.313 00 UT_RUNPROC/283 ; +21-236-11:57:26.313 00 UT_RUNPROC/284 local test_log_string = "/test_logs/" +21-236-11:57:26.313 00 UT_RUNPROC/285 if ((logoff_when_done = 0) and (%length(opt_parm) <> 0)) then +21-236-11:57:26.314 00 UT_RUNPROC/286 test_log_string = test_log_string & opt_parm & "/" +21-236-11:57:26.314 00 UT_RUNPROC/287 endif +21-236-11:57:26.314 00 UT_RUNPROC/288 +21-236-11:57:26.314 00 UT_RUNPROC/289 write "Creating filtered log at " & %env("WORK") & test_log_string ;; +21-236-11:57:26.314 00 UT_RUNPROC/290 & log_name & "f" +21-236-11:57:26.315 00 SPR-I:OPRO Creating filtered log at /s/opr/accounts/cfs_test/test_logs/DS2.6.0/scx_cpu1_ds_gencmds-2021-236-11h52m50s.logf +21-236-11:57:26.315 00 UT_RUNPROC/291 write "Creating filtered output log at " & %env("WORK") & test_log_string ;; +21-236-11:57:26.315 00 UT_RUNPROC/292 & log_name & "p" +21-236-11:57:26.315 00 SPR-I:OPRO Creating filtered output log at /s/opr/accounts/cfs_test/test_logs/DS2.6.0/scx_cpu1_ds_gencmds-2021-236-11h52m50s.logp +21-236-11:57:26.315 00 UT_RUNPROC/293 write "Creating filtered output log (without SFDUs) at " & %env("WORK") ;; +21-236-11:57:26.315 00 UT_RUNPROC/294 & test_log_string & log_name & "s" +21-236-11:57:26.315 00 SPR-I:OPRO Creating filtered output log (without SFDUs) at /s/opr/accounts/cfs_test/test_logs/DS2.6.0/scx_cpu1_ds_gencmds-2021-236-11h52m50s.logs +21-236-11:57:26.315 00 UT_RUNPROC/295 write "Creating filtered event log at " & %env("WORK") & test_log_string ;; +21-236-11:57:26.316 00 UT_RUNPROC/296 & log_name & "e" +21-236-11:57:26.316 00 SPR-I:OPRO Creating filtered event log at /s/opr/accounts/cfs_test/test_logs/DS2.6.0/scx_cpu1_ds_gencmds-2021-236-11h52m50s.loge +21-236-11:57:26.316 00 UT_RUNPROC/297 write "Creating filtered requirements log at " & %env("WORK") ;; +21-236-11:57:26.316 00 UT_RUNPROC/298 & test_log_string & log_name & "r" +21-236-11:57:26.316 00 SPR-I:OPRO Creating filtered requirements log at /s/opr/accounts/cfs_test/test_logs/DS2.6.0/scx_cpu1_ds_gencmds-2021-236-11h52m50s.logr +21-236-11:57:26.316 00 UT_RUNPROC/299 +21-236-11:57:26.316 00 UT_RUNPROC/300 rstol_dir = "rstol 'newlog " & log_name & "'" +21-236-11:57:26.317 00 UT_RUNPROC/301 native(rstol_dir) +21-236-11:57:26.456 00 SPR-I:OPRI --> newlog scx_cpu1_ds_gencmds-2021-236-11h52m50s.log diff --git a/test_and_ground/results/Caelum/scx_cpu1_ds_gencmds-2021-236-11h52m50s.logp b/test_and_ground/results/Caelum/scx_cpu1_ds_gencmds-2021-236-11h52m50s.logp new file mode 100644 index 0000000..e1e622d --- /dev/null +++ b/test_and_ground/results/Caelum/scx_cpu1_ds_gencmds-2021-236-11h52m50s.logp @@ -0,0 +1,364 @@ +21-236-11:52:50.434 00 SPR-I:OPRO ****************** FSW Configuration ****************** +21-236-11:52:50.434 00 SPR-I:OPRO Checksum: 29237 +21-236-11:52:50.434 00 SPR-I:OPRO cFE Version: 6.7.99.0 +21-236-11:52:50.435 00 SPR-I:OPRO OS Version: 5.0.0.255 +21-236-11:52:50.435 00 SPR-I:OPRO +21-236-11:52:50.435 00 SPR-I:OPRO Connection Status +21-236-11:52:50.435 00 SPR-I:OPRO ----------------- +21-236-11:52:50.435 00 SPR-I:OPRO CFDP: DOWN +21-236-11:52:50.436 00 SPR-I:OPRO UDP: UP +21-236-11:52:50.436 00 SPR-I:OPRO SWTS: UNK +21-236-11:52:50.436 00 SPR-I:OPRO +21-236-11:52:50.436 00 SPR-I:OPRO CMD / TLM Path +21-236-11:52:50.436 00 SPR-I:OPRO -------------- +21-236-11:52:50.437 00 SPR-I:OPRO UDP +21-236-11:52:50.437 00 SPR-I:OPRO +21-236-11:52:50.437 00 SPR-I:OPRO +21-236-11:52:50.437 00 SPR-I:OPRO ASIST / GDS Configuration +21-236-11:52:50.437 00 SPR-I:OPRO ------------------------- +21-236-11:52:50.437 00 SPR-I:OPRO Workstation: GS582CFSLAB4 +21-236-11:52:50.437 00 SPR-I:OPRO Account: cfs_test +21-236-11:52:50.437 00 SPR-I:OPRO Version: 21.0.7 +21-236-11:52:50.437 00 SPR-I:OPRO Tlm DB: Version: 1.985 Date: 08-24-21 Time: 06:37:06 AM. +21-236-11:52:50.438 00 SPR-I:OPRO Cmd DB: Version: 1.51 Date: 08-24-21 Time: 06:47:31 AM.EDT +21-236-11:52:50.438 00 SPR-I:OPRO +21-236-11:52:50.438 00 SPR-I:OPRO Telemetry Info +21-236-11:52:50.438 00 SPR-I:OPRO -------------- +21-236-11:52:50.438 00 SPR-I:OPRO Pkt Loss Count: N/A +21-236-11:52:50.438 00 SPR-I:OPRO **************** End FSW Configuration *************** +21-236-11:52:50.438 00 SPR-I:OPRO Starting Procedure.... scx_cpu1_ds_gencmds +21-236-11:52:50.549 00 SPR-I:OPRI --> start scx_cpu1_ds_gencmds +21-236-11:52:50.549 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/scx_cpu1_ds_gencmds.i +21-236-11:52:50.553 00 SPR-I:STS Procedure SCX_CPU1_DS_GENCMDS started +21-236-11:52:50.631 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:52:50.632 00 SPR-I:OPRO ; Step 1.0: Data Storage Test Setup. +21-236-11:52:50.632 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:52:50.633 00 SPR-I:OPRO ; Step 1.1: Command a Power-on Reset on CPU1. +21-236-11:52:50.633 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:52:50.633 00 CMH-I:CMD Command is /SCX_CPU1_ES_POWERONRESET ;;; (SCX CPU1 ES Power-On Reset command code) +21-236-11:52:50.633 00 CMH-I:CMD Command SFDU received:<1806C000000302220002> from gs582cfslab4:SPR +21-236-11:52:50.644 00 SPR-I:STTE Wait mode - waiting 10 seconds ... +21-236-11:53:00.654 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/clear_spacecraft_status.i +21-236-11:53:00.655 00 SPR-I:STS Procedure CLEAR_SPACECRAFT_STATUS started +21-236-11:53:00.661 00 SPR-I:STS Procedure CLEAR_SPACECRAFT_STATUS completed +21-236-11:53:00.684 00 SPR-I:STTE Wait mode - waiting 60 seconds ... +21-236-11:54:00.742 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:54:06.702 00 CMH-I:STS Connected to FEDS:FEDS for commanding (internal ID 0). +21-236-11:54:10.751 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:54:10.753 00 CMH-I:CMD SFDU is /DDIR DATA="open udp_read C%03X 1235 packet_only" ;;; ( ) +21-236-11:54:10.770 00 CMH-I:CMD SFDU is /DDIR DATA="open udp_write CPKT cpu3 1234 ascii_pkt" ;;; ( ) +21-236-11:54:10.821 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/send_that_to_command.i +21-236-11:54:10.821 00 SPR-I:STS Procedure SEND_THAT_TO_COMMAND started +21-236-11:54:10.822 00 SPR-I:OPRO Sending: /SCX_CPU1_TO_OUTPUT_ENA gs582cfslab4 +21-236-11:54:10.823 00 CMH-I:CMD Command is /SCX_CPU1_TO_OUTPUT_ENA GS582CFSLAB4 ;;; (SCX CPU1 Enables TO output) +21-236-11:54:10.823 00 CMH-I:CMD Command SFDU received:<1880C0000011069A3139322E3136382E312E313031000000> from gs582cfslab4:SPR +21-236-11:54:10.874 00 SPR-I:STS Procedure SEND_THAT_TO_COMMAND completed +21-236-11:54:10.874 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:54:12.037 00 TLMH-I:STS 58-012-14:03:49.450 INFO CPU=CPU1 APPNAME=TO_LAB_APP EVENT ID=3 TO telemetry output enabled for IP 192.168.1.101 +21-236-11:54:14.878 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:54:14.879 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/fill_in_spacecraft_status.i +21-236-11:54:14.881 00 SPR-I:STS Procedure FILL_IN_SPACECRAFT_STATUS started +21-236-11:54:14.885 00 SPR-I:STS Procedure FILL_IN_SPACECRAFT_STATUS completed +21-236-11:54:14.885 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:54:19.890 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:54:19.890 00 SPR-I:OPRO ; Step 1.2: Upload the default DS table load images to CPU1. +21-236-11:54:19.890 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:54:19.891 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/scx_cpu1_ds_tbl1.i +21-236-11:54:19.896 00 SPR-I:STS Procedure SCX_CPU1_DS_TBL1 started +21-236-11:54:19.935 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:54:19.935 00 SPR-I:OPRO ; Step 1.0: Define DS Destination File Table 1. +21-236-11:54:19.935 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:54:19.937 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/create_tbl_file_from_cvt.i +21-236-11:54:19.937 00 SPR-I:STS Procedure CREATE_TBL_FILE_FROM_CVT started +21-236-11:54:19.939 00 SPR-I:OPRO ********** ds_gcfile.tbl ********** +21-236-11:54:19.939 00 SPR-I:OPRO +21-236-11:54:19.939 00 SPR-I:OPRO Content Type: cFE1 +21-236-11:54:19.939 00 SPR-I:OPRO Sub Type: 8 +21-236-11:54:19.939 00 SPR-I:OPRO Length: 12 +21-236-11:54:19.939 00 SPR-I:OPRO Spacecraft Id: SCX +21-236-11:54:19.939 00 SPR-I:OPRO Processor Id: CPU3 +21-236-11:54:19.939 00 SPR-I:OPRO Application Id: 3958 +21-236-11:54:19.939 00 SPR-I:OPRO Create Time Secs: 1629806059 +21-236-11:54:19.939 00 SPR-I:OPRO Create Time Subsecs: 0 +21-236-11:54:19.939 00 SPR-I:OPRO File Description: General Command Test File Table +21-236-11:54:19.939 00 SPR-I:OPRO +21-236-11:54:19.939 00 SPR-I:OPRO ********** DS.FILE_TBL ********** +21-236-11:54:19.939 00 SPR-I:OPRO +21-236-11:54:19.939 00 SPR-I:OPRO Start Mnemonic: SCX_CPU1_DS_DF_TBL_Description +21-236-11:54:19.939 00 SPR-I:OPRO Byte Offset: 0 +21-236-11:54:19.939 00 SPR-I:OPRO End Mnemonic: SCX_CPU1_DS_DF_TBL[1].SeqCnt +21-236-11:54:19.939 00 SPR-I:OPRO Number of Bytes: 464 +21-236-11:54:19.939 00 SPR-I:OPRO +21-236-11:54:19.944 00 SPR-I:STS Loading file /s/opr/accounts/global/prc/partial_cvt_to_file_beta.i +21-236-11:54:19.944 00 SPR-I:STS Procedure PARTIAL_CVT_TO_FILE_BETA started +21-236-11:54:19.945 00 SPR-I:OPRO The unix command is cd /s/opr/accounts/cfs_test/image;cvt2file -s 116 -e 579 P0F76 ds.file_tbl +21-236-11:54:19.953 00 SPR-I:STS Procedure PARTIAL_CVT_TO_FILE_BETA completed +21-236-11:54:19.953 00 SPR-I:OPRO cd /s/opr/accounts/cfs_test/image;cat ds_gcfile.tbl.tmp ds.file_tbl > ds_gcfile.tbl +21-236-11:54:19.958 00 SPR-I:OPRO cd /s/opr/accounts/cfs_test/image;rm ds.file_tbl ds_gcfile.tbl.tmp +21-236-11:54:19.962 00 SPR-I:STS Procedure CREATE_TBL_FILE_FROM_CVT completed +21-236-11:54:20.460 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/create_tbl_file_from_cvt.i +21-236-11:54:20.460 00 SPR-I:STS Procedure CREATE_TBL_FILE_FROM_CVT started +21-236-11:54:20.462 00 SPR-I:OPRO ********** ds_gcfilter.tbl ********** +21-236-11:54:20.462 00 SPR-I:OPRO +21-236-11:54:20.462 00 SPR-I:OPRO Content Type: cFE1 +21-236-11:54:20.462 00 SPR-I:OPRO Sub Type: 8 +21-236-11:54:20.462 00 SPR-I:OPRO Length: 12 +21-236-11:54:20.462 00 SPR-I:OPRO Spacecraft Id: SCX +21-236-11:54:20.462 00 SPR-I:OPRO Processor Id: CPU3 +21-236-11:54:20.462 00 SPR-I:OPRO Application Id: 3959 +21-236-11:54:20.462 00 SPR-I:OPRO Create Time Secs: 1629806060 +21-236-11:54:20.462 00 SPR-I:OPRO Create Time Subsecs: 0 +21-236-11:54:20.462 00 SPR-I:OPRO File Description: General Command Test Filter Tabl +21-236-11:54:20.462 00 SPR-I:OPRO +21-236-11:54:20.462 00 SPR-I:OPRO ********** DS.FILTER_TBL ********** +21-236-11:54:20.462 00 SPR-I:OPRO +21-236-11:54:20.462 00 SPR-I:OPRO Start Mnemonic: SCX_CPU1_DS_PF_TBL_Description +21-236-11:54:20.462 00 SPR-I:OPRO Byte Offset: 0 +21-236-11:54:20.462 00 SPR-I:OPRO End Mnemonic: SCX_CPU1_DS_PF_TBL[255].FilterParams[3].O_Value +21-236-11:54:20.463 00 SPR-I:OPRO Number of Bytes: 9248 +21-236-11:54:20.463 00 SPR-I:OPRO +21-236-11:54:20.467 00 SPR-I:STS Loading file /s/opr/accounts/global/prc/partial_cvt_to_file_beta.i +21-236-11:54:20.467 00 SPR-I:STS Procedure PARTIAL_CVT_TO_FILE_BETA started +21-236-11:54:20.468 00 SPR-I:OPRO The unix command is cd /s/opr/accounts/cfs_test/image;cvt2file -s 116 -e 9363 P0F77 ds.filter_tbl +21-236-11:54:20.472 00 SPR-I:STS Procedure PARTIAL_CVT_TO_FILE_BETA completed +21-236-11:54:20.472 00 SPR-I:OPRO cd /s/opr/accounts/cfs_test/image;cat ds_gcfilter.tbl.tmp ds.filter_tbl > ds_gcfilter.tbl +21-236-11:54:20.475 00 SPR-I:OPRO cd /s/opr/accounts/cfs_test/image;rm ds.filter_tbl ds_gcfilter.tbl.tmp +21-236-11:54:20.479 00 SPR-I:STS Procedure CREATE_TBL_FILE_FROM_CVT completed +21-236-11:54:20.479 00 SPR-I:OPRO ;********************************************************************* +21-236-11:54:20.479 00 SPR-I:OPRO ; End procedure SCX_CPU1_ds_tbl1 +21-236-11:54:20.479 00 SPR-I:OPRO ;********************************************************************* +21-236-11:54:20.480 00 SPR-I:STS Procedure SCX_CPU1_DS_TBL1 completed +21-236-11:54:20.482 00 SPR-I:OPRO ==> Default Filter Table filename = 'ds_filter_tbl.tbl' +21-236-11:54:20.482 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/ftp_file.i +21-236-11:54:20.482 00 SPR-I:STS Procedure FTP_FILE started +21-236-11:54:20.745 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-11:54:20.745 00 SPR-I:STS Procedure FTP_FILE completed +21-236-11:54:20.747 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/ftp_file.i +21-236-11:54:20.747 00 SPR-I:STS Procedure FTP_FILE started +21-236-11:54:21.183 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-11:54:21.184 00 SPR-I:STS Procedure FTP_FILE completed +21-236-11:54:21.184 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:54:26.189 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:54:26.189 00 SPR-I:OPRO ; Step 1.3: Display the Housekeeping pages +21-236-11:54:26.189 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:54:26.291 00 DPD-I:STS Page SCX_CPU1_DS_HK added (cid:1). +21-236-11:54:26.368 00 DPD-I:STS Page SCX_CPU1_DS_FILE_TBL added (cid:1). +21-236-11:54:26.445 00 DPD-I:STS Page SCX_CPU1_DS_FILTER_TBL added (cid:1). +21-236-11:54:26.556 00 DPD-I:STS Page SCX_CPU1_TST_DS_HK added (cid:1). +21-236-11:54:26.561 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:54:26.561 00 SPR-I:OPRO ; Step 1.4: Start the Data Storage (DS) and Test Applications. Verify +21-236-11:54:26.561 00 SPR-I:OPRO ; that the DS Housekeeping telemetry packet is being generated and the +21-236-11:54:26.561 00 SPR-I:OPRO ; appropriate items are initialized to zero (0). +21-236-11:54:26.561 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:54:26.573 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:54:34.580 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:54:34.582 00 SPR-I:OPRO <*> Passed (8000) - Housekeeping packet is being generated. +21-236-11:54:34.586 00 SPR-I:OPRO <*> Passed (9000) - Housekeeping telemetry initialized properly. +21-236-11:54:34.590 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:54:39.593 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:54:39.593 00 SPR-I:OPRO ; Step 1.5: Enable DEBUG Event Messages +21-236-11:54:39.594 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:54:39.595 00 CMH-I:CMD Command is /SCX_CPU1_EVS_ENAAPPEVTTYPE APPLICATION="DS" DEBUG ;;; (SCX CPU1 EVS Enable Event Type for the App) +21-236-11:54:39.595 00 CMH-I:CMD Or Command is /SCX_CPU1_EVS_ENAAPPEVTTYPEMASK APPLICATION="DS" BITMASK= 1 (x1) ;;; (SCX CPU1 EVS Enable Event Type for the App (mask)) +21-236-11:54:39.595 00 CMH-I:CMD Command SFDU received:<1801C0000017052244530000000000000000000000000000000000000100> from gs582cfslab4:SPR +21-236-11:54:39.611 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:54:42.614 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:54:42.614 00 SPR-I:OPRO <*> Passed - Enable Debug events command sent properly. +21-236-11:54:42.614 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:54:42.614 00 SPR-I:OPRO ; Step 2.0: Commanding Test. +21-236-11:54:42.614 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:54:42.614 00 SPR-I:OPRO ; Step 2.1: Send the NO-OP command. +21-236-11:54:42.614 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:54:42.617 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:54:42.617 00 SPR-I:OPRO ; Setup event 1 with DS INFO 31 +21-236-11:54:42.617 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:54:42.618 00 CMH-I:CMD Command is /SCX_CPU1_DS_NOOP ;;; (SCX CPU1 DS no-op command) +21-236-11:54:42.618 00 CMH-I:CMD Command SFDU received:<18BBC0000001009D> from gs582cfslab4:SPR +21-236-11:54:42.635 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:54:43.529 00 TLMH-I:STS 58-012-14:04:21.001 INFO CPU=CPU1 APPNAME=DS EVENT ID=31 NOOP command, Version 2.6.0.0 +21-236-11:54:46.639 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:54:46.641 00 SPR-I:OPRO <*> Passed (1000;1004) - DS NO-OP command sent properly. +21-236-11:54:46.651 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:54:46.651 00 SPR-I:OPRO <*> Passed (1000;1004) - Expected Event Msg 31 rcv'd. +21-236-11:54:46.653 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:54:51.657 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:54:51.657 00 SPR-I:OPRO ; Step 2.2: Send the NO-OP command with an invalid length. +21-236-11:54:51.658 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:54:51.665 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:54:51.665 00 SPR-I:OPRO ; Setup event 1 with DS ERROR 32 +21-236-11:54:51.665 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:54:51.673 00 SPR-I:OPRO Sending: 18BBc000000200B0 +21-236-11:54:51.675 00 CMH-I:CMD Command SFDU received:<18BBC000000200B0> from gs582cfslab4:SPR +21-236-11:54:51.690 00 SPR-I:OPRO ; Telemetry update will wait a maximum of 24 seconds +21-236-11:54:51.690 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:54:52.533 00 TLMH-I:STS 58-012-14:04:30.001 ERROR CPU=CPU1 APPNAME=DS EVENT ID=32 Invalid NOOP command length: expected = 8, actual = 9 +21-236-11:54:54.694 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:54:54.703 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:54:54.703 00 SPR-I:OPRO <*> Passed (1002;1005) - Command Rejected Counter incremented. +21-236-11:54:54.706 00 SPR-I:OPRO <*> Passed (1005) - Event message 32 received +21-236-11:54:54.707 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:54:59.710 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:54:59.711 00 SPR-I:OPRO ; Step 2.3: Utilizing the TST_DS application, send the command that +21-236-11:54:59.711 00 SPR-I:OPRO ; will set all the counters that get reset to zero (0) by the Reset +21-236-11:54:59.711 00 SPR-I:OPRO ; command to a non-zero value. +21-236-11:54:59.711 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:54:59.713 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:54:59.713 00 SPR-I:OPRO ; Setup event 1 with TST_DS INFO 4 +21-236-11:54:59.713 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:54:59.714 00 CMH-I:CMD Command is /SCX_CPU1_TST_DS_SETCOUNTERS ;;; (SCX CPU1 TST_DS Set Counters to non-zero command code) +21-236-11:54:59.714 00 CMH-I:CMD Command SFDU received:<1943C00000010266> from gs582cfslab4:SPR +21-236-11:54:59.728 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:55:00.534 00 TLMH-I:STS 58-012-14:04:38.001 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=4 Set counters to non-zero command +21-236-11:55:00.729 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:55:00.731 00 SPR-I:OPRO <*> Passed - Expected Event Msg 4 rcv'd. +21-236-11:55:00.731 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:55:05.734 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:55:05.734 00 SPR-I:OPRO ; Step 2.4: Verify that all the counters are non-zero and send the +21-236-11:55:05.734 00 SPR-I:OPRO ; Reset command if so. +21-236-11:55:05.734 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:55:05.735 00 SPR-I:OPRO Ignored Pkts before reset = 4 +21-236-11:55:05.735 00 SPR-I:OPRO <*> Counters are all non-zero. Sending reset command. +21-236-11:55:05.736 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:55:05.737 00 SPR-I:OPRO ; Setup event 1 with DS DEBUG 33 +21-236-11:55:05.737 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:55:05.737 00 CMH-I:CMD Command is /SCX_CPU1_DS_RESETCTRS ;;; (SCX CPU1 DS reset counters command) +21-236-11:55:05.738 00 CMH-I:CMD Command SFDU received:<18BBC0000001019C> from gs582cfslab4:SPR +21-236-11:55:05.748 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:55:06.532 00 TLMH-I:STS 58-012-14:04:44.003 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=33 Reset counters command +21-236-11:55:10.762 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:55:10.763 00 SPR-I:OPRO <*> Passed (1001;1004) - Expected Event Msg 33 rcv'd. +21-236-11:55:10.771 00 SPR-I:OPRO <*> Passed (1001) - Counters all reset to zero. +21-236-11:55:10.774 00 SPR-I:OPRO CMDPC = 0 +21-236-11:55:10.774 00 SPR-I:OPRO CMDEC = 0 +21-236-11:55:10.774 00 SPR-I:OPRO Disabled Pkts = 0 +21-236-11:55:10.775 00 SPR-I:OPRO Ignored Pkts = 0 +21-236-11:55:10.775 00 SPR-I:OPRO Failed Filter Pkts = 0 +21-236-11:55:10.791 00 SPR-I:OPRO Passed Filter Pkts = 0 +21-236-11:55:10.792 00 SPR-I:OPRO Good i/o writes = 0 +21-236-11:55:10.792 00 SPR-I:OPRO Bad i/o writes = 0 +21-236-11:55:10.793 00 SPR-I:OPRO Good hdr writes = 0 +21-236-11:55:10.793 00 SPR-I:OPRO Bad hdr writes = 0 +21-236-11:55:10.793 00 SPR-I:OPRO Dest Tbl Loads = 0 +21-236-11:55:10.793 00 SPR-I:OPRO Dest Tbl ptr fails = 0 +21-236-11:55:10.793 00 SPR-I:OPRO Filter Tbl Loads = 0 +21-236-11:55:10.793 00 SPR-I:OPRO Filter Tbl ptr fails = 0 +21-236-11:55:10.793 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:55:15.797 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:55:15.797 00 SPR-I:OPRO ; Step 2.5: Send the Reset command with an invalid length. +21-236-11:55:15.797 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:55:15.799 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:55:15.799 00 SPR-I:OPRO ; Setup event 1 with DS ERROR 34 +21-236-11:55:15.799 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:55:15.802 00 SPR-I:OPRO Sending: 18BBc000000201B0 +21-236-11:55:15.803 00 CMH-I:CMD Command SFDU received:<18BBC000000201B0> from gs582cfslab4:SPR +21-236-11:55:15.818 00 SPR-I:OPRO ; Telemetry update will wait a maximum of 24 seconds +21-236-11:55:15.818 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:55:16.532 00 TLMH-I:STS 58-012-14:04:54.001 ERROR CPU=CPU1 APPNAME=DS EVENT ID=34 Invalid RESET command length: expected = 8, actual = 9 +21-236-11:55:18.821 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:55:18.840 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:55:18.842 00 SPR-I:OPRO <*> Passed (1002;1005) - Command Rejected Counter incremented. +21-236-11:55:18.850 00 SPR-I:OPRO <*> Passed (1005) - Event message 34 received +21-236-11:55:18.853 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:55:23.856 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:55:23.856 00 SPR-I:OPRO ; Step 2.6: Send an invalid command. +21-236-11:55:23.858 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:55:23.860 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:55:23.860 00 SPR-I:OPRO ; Setup event 1 with DS ERROR 21 +21-236-11:55:23.860 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:55:23.864 00 SPR-I:OPRO Sending: 18BBc0000001AA00 +21-236-11:55:23.865 00 CMH-I:CMD Command SFDU received:<18BBC0000001AA00> from gs582cfslab4:SPR +21-236-11:55:23.879 00 SPR-I:OPRO ; Telemetry update will wait a maximum of 24 seconds +21-236-11:55:23.879 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:55:24.532 00 TLMH-I:STS 58-012-14:05:02.001 ERROR CPU=CPU1 APPNAME=DS EVENT ID=21 Invalid command code: MID = 0x000018BB, CC = 42 +21-236-11:55:26.881 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:55:26.892 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:55:26.893 00 SPR-I:OPRO <*> Passed (1005) - Command Rejected Counter incremented. +21-236-11:55:26.895 00 SPR-I:OPRO <*> Passed (1005) - Event message 21 received +21-236-11:55:26.897 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:55:31.901 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:55:31.901 00 SPR-I:OPRO ; Step 2.7: Send an invalid HK Request. +21-236-11:55:31.901 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:55:31.902 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:55:31.903 00 SPR-I:OPRO ; Setup event 1 with DS ERROR 22 +21-236-11:55:31.903 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:55:31.906 00 SPR-I:OPRO Sending: 18BCC00001000000 +21-236-11:55:31.907 00 CMH-I:CMD Command SFDU received:<18BCC00001000000> from gs582cfslab4:SPR +21-236-11:55:31.921 00 SPR-I:OPRO ; Telemetry update will wait a maximum of 24 seconds +21-236-11:55:31.921 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:55:32.533 00 TLMH-I:STS 58-012-14:05:10.001 ERROR CPU=CPU1 APPNAME=DS EVENT ID=22 Invalid HK request length: expected = 8, actual = 263 +21-236-11:55:34.925 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:55:34.928 00 SPR-I:STTE Wait mode - waiting 1 seconds ... +21-236-11:55:35.930 00 SPR-I:STTE Wait mode - waiting 1 seconds ... +21-236-11:55:36.932 00 SPR-I:STTE Wait mode - waiting 1 seconds ... +21-236-11:55:37.935 00 SPR-I:STTE Wait mode - waiting 1 seconds ... +21-236-11:55:38.937 00 SPR-I:STTE Wait mode - waiting 1 seconds ... +21-236-11:55:39.939 00 SPR-I:STTE Wait mode - waiting 1 seconds ... +21-236-11:55:40.941 00 SPR-I:STTE Wait mode - waiting 1 seconds ... +21-236-11:55:41.944 00 SPR-I:STTE Wait mode - waiting 1 seconds ... +21-236-11:55:42.957 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:55:42.959 00 SPR-I:OPRO <*> Passed (1005) - Event message 22 received +21-236-11:55:42.962 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:55:47.966 00 SPR-I:OPRO ;********************************************************************* +21-236-11:55:47.966 00 SPR-I:OPRO ; Step 3.0: Clean-up - Send the Processor Reset command. +21-236-11:55:47.967 00 SPR-I:OPRO ;********************************************************************* +21-236-11:55:47.968 00 CMH-I:CMD Command is /SCX_CPU1_ES_PROCESSORRESET ;;; (SCX CPU1 ES Processor Reset command code) +21-236-11:55:47.968 00 CMH-I:CMD Command SFDU received:<1806C000000302210001> from gs582cfslab4:SPR +21-236-11:55:47.982 00 SPR-I:STTE Wait mode - waiting 10 seconds ... +21-236-11:55:57.992 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/clear_spacecraft_status.i +21-236-11:55:57.993 00 SPR-I:STS Procedure CLEAR_SPACECRAFT_STATUS started +21-236-11:55:58.009 00 SPR-I:STS Procedure CLEAR_SPACECRAFT_STATUS completed +21-236-11:55:58.081 00 SPR-I:STTE Wait mode - waiting 60 seconds ... +21-236-11:56:08.719 00 DPD-I:STS Deleting page SCX_CPU1_DS_FILE_TBL +21-236-11:56:09.957 00 DPD-I:STS Deleting page SCX_CPU1_DS_FILTER_TBL +21-236-11:56:11.412 00 DPD-I:STS Deleting page SCX_CPU1_TST_DS_HK +21-236-11:56:21.493 00 DPD-I:STS Deleting page SCX_CPU1_DS_HK +21-236-11:56:58.139 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:57:04.105 00 CMH-I:STS Connected to FEDS:FEDS for commanding (internal ID 0). +21-236-11:57:08.149 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:57:08.149 00 CMH-I:CMD SFDU is /DDIR DATA="open udp_read C%03X 1235 packet_only" ;;; ( ) +21-236-11:57:08.162 00 CMH-I:CMD SFDU is /DDIR DATA="open udp_write CPKT cpu3 1234 ascii_pkt" ;;; ( ) +21-236-11:57:08.212 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/send_that_to_command.i +21-236-11:57:08.213 00 SPR-I:STS Procedure SEND_THAT_TO_COMMAND started +21-236-11:57:08.214 00 SPR-I:OPRO Sending: /SCX_CPU1_TO_OUTPUT_ENA gs582cfslab4 +21-236-11:57:08.215 00 CMH-I:CMD Command is /SCX_CPU1_TO_OUTPUT_ENA GS582CFSLAB4 ;;; (SCX CPU1 Enables TO output) +21-236-11:57:08.215 00 CMH-I:CMD Command SFDU received:<1880C0000011069A3139322E3136382E312E313031000000> from gs582cfslab4:SPR +21-236-11:57:08.266 00 SPR-I:STS Procedure SEND_THAT_TO_COMMAND completed +21-236-11:57:08.266 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:57:09.050 00 TLMH-I:STS 58-012-14:05:53.533 INFO CPU=CPU1 APPNAME=TO_LAB_APP EVENT ID=3 TO telemetry output enabled for IP 192.168.1.101 +21-236-11:57:11.270 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:57:11.270 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/fill_in_spacecraft_status.i +21-236-11:57:11.272 00 SPR-I:STS Procedure FILL_IN_SPACECRAFT_STATUS started +21-236-11:57:11.282 00 SPR-I:STS Procedure FILL_IN_SPACECRAFT_STATUS completed +21-236-11:57:11.283 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:57:16.288 00 SPR-I:OPRO **** Requirements Status Reporting +21-236-11:57:16.288 00 SPR-I:OPRO -------------------------- +21-236-11:57:16.288 00 SPR-I:OPRO Requirement(s) Report +21-236-11:57:16.288 00 SPR-I:OPRO -------------------------- +21-236-11:57:16.290 00 SPR-I:OPRO FSW Requirement: DS_1000 P/F: P +21-236-11:57:16.292 00 SPR-I:OPRO FSW Requirement: DS_1001 P/F: P +21-236-11:57:16.293 00 SPR-I:OPRO FSW Requirement: DS_1002 P/F: P +21-236-11:57:16.294 00 SPR-I:OPRO FSW Requirement: DS_1004 P/F: P +21-236-11:57:16.294 00 SPR-I:OPRO FSW Requirement: DS_1005 P/F: P +21-236-11:57:16.295 00 SPR-I:OPRO FSW Requirement: DS_8000 P/F: P +21-236-11:57:16.298 00 SPR-I:OPRO FSW Requirement: DS_9000 P/F: P +21-236-11:57:16.298 00 SPR-I:STS Variable "UT_REQUIREMENT" deleted +21-236-11:57:16.298 00 SPR-I:STS Variable "UT_REQ_ARRAY_SIZE" deleted +21-236-11:57:16.298 00 SPR-I:OPRO ;********************************************************************* +21-236-11:57:16.301 00 SPR-I:OPRO ; End procedure SCX_CPU1_sc_gencmds +21-236-11:57:16.301 00 SPR-I:OPRO ;********************************************************************* +21-236-11:57:16.301 00 SPR-I:STS Procedure SCX_CPU1_DS_GENCMDS completed +21-236-11:57:16.302 00 SPR-I:OPRO *** Telemetry Info *** +21-236-11:57:16.302 00 SPR-I:OPRO +21-236-11:57:16.302 00 SPR-I:OPRO Pkt Loss Count: N/A +21-236-11:57:16.302 00 SPR-I:OPRO +21-236-11:57:16.302 00 SPR-I:OPRO ****************** +21-236-11:57:16.302 00 SPR-I:OPRO +21-236-11:57:16.302 00 SPR-I:OPRO Elapsed time: 265.864 seconds +21-236-11:57:16.305 00 SPR-I:OPRO Elapsed time: 4.43107 minutes +21-236-11:57:16.305 00 SPR-I:STTE Wait mode - waiting 10 seconds ... +21-236-11:57:26.315 00 SPR-I:OPRO Creating filtered log at /s/opr/accounts/cfs_test/test_logs/DS2.6.0/scx_cpu1_ds_gencmds-2021-236-11h52m50s.logf +21-236-11:57:26.315 00 SPR-I:OPRO Creating filtered output log at /s/opr/accounts/cfs_test/test_logs/DS2.6.0/scx_cpu1_ds_gencmds-2021-236-11h52m50s.logp +21-236-11:57:26.315 00 SPR-I:OPRO Creating filtered output log (without SFDUs) at /s/opr/accounts/cfs_test/test_logs/DS2.6.0/scx_cpu1_ds_gencmds-2021-236-11h52m50s.logs +21-236-11:57:26.316 00 SPR-I:OPRO Creating filtered event log at /s/opr/accounts/cfs_test/test_logs/DS2.6.0/scx_cpu1_ds_gencmds-2021-236-11h52m50s.loge +21-236-11:57:26.316 00 SPR-I:OPRO Creating filtered requirements log at /s/opr/accounts/cfs_test/test_logs/DS2.6.0/scx_cpu1_ds_gencmds-2021-236-11h52m50s.logr +21-236-11:57:26.456 00 SPR-I:OPRI --> newlog scx_cpu1_ds_gencmds-2021-236-11h52m50s.log diff --git a/test_and_ground/results/Caelum/scx_cpu1_ds_gencmds-2021-236-11h52m50s.logr b/test_and_ground/results/Caelum/scx_cpu1_ds_gencmds-2021-236-11h52m50s.logr new file mode 100644 index 0000000..6f9b4d9 --- /dev/null +++ b/test_and_ground/results/Caelum/scx_cpu1_ds_gencmds-2021-236-11h52m50s.logr @@ -0,0 +1,7 @@ +21-236-11:57:16.290 00 SPR-I:OPRO FSW Requirement: DS_1000 P/F: P +21-236-11:57:16.292 00 SPR-I:OPRO FSW Requirement: DS_1001 P/F: P +21-236-11:57:16.293 00 SPR-I:OPRO FSW Requirement: DS_1002 P/F: P +21-236-11:57:16.294 00 SPR-I:OPRO FSW Requirement: DS_1004 P/F: P +21-236-11:57:16.294 00 SPR-I:OPRO FSW Requirement: DS_1005 P/F: P +21-236-11:57:16.295 00 SPR-I:OPRO FSW Requirement: DS_8000 P/F: P +21-236-11:57:16.298 00 SPR-I:OPRO FSW Requirement: DS_9000 P/F: P diff --git a/test_and_ground/results/Caelum/scx_cpu1_ds_gencmds-2021-236-11h52m50s.logs b/test_and_ground/results/Caelum/scx_cpu1_ds_gencmds-2021-236-11h52m50s.logs new file mode 100644 index 0000000..f87751f --- /dev/null +++ b/test_and_ground/results/Caelum/scx_cpu1_ds_gencmds-2021-236-11h52m50s.logs @@ -0,0 +1,351 @@ +21-236-11:52:50.434 00 SPR-I:OPRO ****************** FSW Configuration ****************** +21-236-11:52:50.434 00 SPR-I:OPRO Checksum: 29237 +21-236-11:52:50.434 00 SPR-I:OPRO cFE Version: 6.7.99.0 +21-236-11:52:50.435 00 SPR-I:OPRO OS Version: 5.0.0.255 +21-236-11:52:50.435 00 SPR-I:OPRO +21-236-11:52:50.435 00 SPR-I:OPRO Connection Status +21-236-11:52:50.435 00 SPR-I:OPRO ----------------- +21-236-11:52:50.435 00 SPR-I:OPRO CFDP: DOWN +21-236-11:52:50.436 00 SPR-I:OPRO UDP: UP +21-236-11:52:50.436 00 SPR-I:OPRO SWTS: UNK +21-236-11:52:50.436 00 SPR-I:OPRO +21-236-11:52:50.436 00 SPR-I:OPRO CMD / TLM Path +21-236-11:52:50.436 00 SPR-I:OPRO -------------- +21-236-11:52:50.437 00 SPR-I:OPRO UDP +21-236-11:52:50.437 00 SPR-I:OPRO +21-236-11:52:50.437 00 SPR-I:OPRO +21-236-11:52:50.437 00 SPR-I:OPRO ASIST / GDS Configuration +21-236-11:52:50.437 00 SPR-I:OPRO ------------------------- +21-236-11:52:50.437 00 SPR-I:OPRO Workstation: GS582CFSLAB4 +21-236-11:52:50.437 00 SPR-I:OPRO Account: cfs_test +21-236-11:52:50.437 00 SPR-I:OPRO Version: 21.0.7 +21-236-11:52:50.437 00 SPR-I:OPRO Tlm DB: Version: 1.985 Date: 08-24-21 Time: 06:37:06 AM. +21-236-11:52:50.438 00 SPR-I:OPRO Cmd DB: Version: 1.51 Date: 08-24-21 Time: 06:47:31 AM.EDT +21-236-11:52:50.438 00 SPR-I:OPRO +21-236-11:52:50.438 00 SPR-I:OPRO Telemetry Info +21-236-11:52:50.438 00 SPR-I:OPRO -------------- +21-236-11:52:50.438 00 SPR-I:OPRO Pkt Loss Count: N/A +21-236-11:52:50.438 00 SPR-I:OPRO **************** End FSW Configuration *************** +21-236-11:52:50.438 00 SPR-I:OPRO Starting Procedure.... scx_cpu1_ds_gencmds +21-236-11:52:50.549 00 SPR-I:OPRI --> start scx_cpu1_ds_gencmds +21-236-11:52:50.549 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/scx_cpu1_ds_gencmds.i +21-236-11:52:50.553 00 SPR-I:STS Procedure SCX_CPU1_DS_GENCMDS started +21-236-11:52:50.631 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:52:50.632 00 SPR-I:OPRO ; Step 1.0: Data Storage Test Setup. +21-236-11:52:50.632 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:52:50.633 00 SPR-I:OPRO ; Step 1.1: Command a Power-on Reset on CPU1. +21-236-11:52:50.633 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:52:50.633 00 CMH-I:CMD Command SFDU received:<1806C000000302220002> from gs582cfslab4:SPR +21-236-11:52:50.644 00 SPR-I:STTE Wait mode - waiting 10 seconds ... +21-236-11:53:00.654 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/clear_spacecraft_status.i +21-236-11:53:00.655 00 SPR-I:STS Procedure CLEAR_SPACECRAFT_STATUS started +21-236-11:53:00.661 00 SPR-I:STS Procedure CLEAR_SPACECRAFT_STATUS completed +21-236-11:53:00.684 00 SPR-I:STTE Wait mode - waiting 60 seconds ... +21-236-11:54:00.742 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:54:06.702 00 CMH-I:STS Connected to FEDS:FEDS for commanding (internal ID 0). +21-236-11:54:10.751 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:54:10.821 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/send_that_to_command.i +21-236-11:54:10.821 00 SPR-I:STS Procedure SEND_THAT_TO_COMMAND started +21-236-11:54:10.822 00 SPR-I:OPRO Sending: /SCX_CPU1_TO_OUTPUT_ENA gs582cfslab4 +21-236-11:54:10.823 00 CMH-I:CMD Command SFDU received:<1880C0000011069A3139322E3136382E312E313031000000> from gs582cfslab4:SPR +21-236-11:54:10.874 00 SPR-I:STS Procedure SEND_THAT_TO_COMMAND completed +21-236-11:54:10.874 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:54:12.037 00 TLMH-I:STS 58-012-14:03:49.450 INFO CPU=CPU1 APPNAME=TO_LAB_APP EVENT ID=3 TO telemetry output enabled for IP 192.168.1.101 +21-236-11:54:14.878 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:54:14.879 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/fill_in_spacecraft_status.i +21-236-11:54:14.881 00 SPR-I:STS Procedure FILL_IN_SPACECRAFT_STATUS started +21-236-11:54:14.885 00 SPR-I:STS Procedure FILL_IN_SPACECRAFT_STATUS completed +21-236-11:54:14.885 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:54:19.890 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:54:19.890 00 SPR-I:OPRO ; Step 1.2: Upload the default DS table load images to CPU1. +21-236-11:54:19.890 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:54:19.891 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/scx_cpu1_ds_tbl1.i +21-236-11:54:19.896 00 SPR-I:STS Procedure SCX_CPU1_DS_TBL1 started +21-236-11:54:19.935 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:54:19.935 00 SPR-I:OPRO ; Step 1.0: Define DS Destination File Table 1. +21-236-11:54:19.935 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:54:19.937 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/create_tbl_file_from_cvt.i +21-236-11:54:19.937 00 SPR-I:STS Procedure CREATE_TBL_FILE_FROM_CVT started +21-236-11:54:19.939 00 SPR-I:OPRO ********** ds_gcfile.tbl ********** +21-236-11:54:19.939 00 SPR-I:OPRO +21-236-11:54:19.939 00 SPR-I:OPRO Content Type: cFE1 +21-236-11:54:19.939 00 SPR-I:OPRO Sub Type: 8 +21-236-11:54:19.939 00 SPR-I:OPRO Length: 12 +21-236-11:54:19.939 00 SPR-I:OPRO Spacecraft Id: SCX +21-236-11:54:19.939 00 SPR-I:OPRO Processor Id: CPU3 +21-236-11:54:19.939 00 SPR-I:OPRO Application Id: 3958 +21-236-11:54:19.939 00 SPR-I:OPRO Create Time Secs: 1629806059 +21-236-11:54:19.939 00 SPR-I:OPRO Create Time Subsecs: 0 +21-236-11:54:19.939 00 SPR-I:OPRO File Description: General Command Test File Table +21-236-11:54:19.939 00 SPR-I:OPRO +21-236-11:54:19.939 00 SPR-I:OPRO ********** DS.FILE_TBL ********** +21-236-11:54:19.939 00 SPR-I:OPRO +21-236-11:54:19.939 00 SPR-I:OPRO Start Mnemonic: SCX_CPU1_DS_DF_TBL_Description +21-236-11:54:19.939 00 SPR-I:OPRO Byte Offset: 0 +21-236-11:54:19.939 00 SPR-I:OPRO End Mnemonic: SCX_CPU1_DS_DF_TBL[1].SeqCnt +21-236-11:54:19.939 00 SPR-I:OPRO Number of Bytes: 464 +21-236-11:54:19.939 00 SPR-I:OPRO +21-236-11:54:19.944 00 SPR-I:STS Loading file /s/opr/accounts/global/prc/partial_cvt_to_file_beta.i +21-236-11:54:19.944 00 SPR-I:STS Procedure PARTIAL_CVT_TO_FILE_BETA started +21-236-11:54:19.945 00 SPR-I:OPRO The unix command is cd /s/opr/accounts/cfs_test/image;cvt2file -s 116 -e 579 P0F76 ds.file_tbl +21-236-11:54:19.953 00 SPR-I:STS Procedure PARTIAL_CVT_TO_FILE_BETA completed +21-236-11:54:19.953 00 SPR-I:OPRO cd /s/opr/accounts/cfs_test/image;cat ds_gcfile.tbl.tmp ds.file_tbl > ds_gcfile.tbl +21-236-11:54:19.958 00 SPR-I:OPRO cd /s/opr/accounts/cfs_test/image;rm ds.file_tbl ds_gcfile.tbl.tmp +21-236-11:54:19.962 00 SPR-I:STS Procedure CREATE_TBL_FILE_FROM_CVT completed +21-236-11:54:20.460 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/create_tbl_file_from_cvt.i +21-236-11:54:20.460 00 SPR-I:STS Procedure CREATE_TBL_FILE_FROM_CVT started +21-236-11:54:20.462 00 SPR-I:OPRO ********** ds_gcfilter.tbl ********** +21-236-11:54:20.462 00 SPR-I:OPRO +21-236-11:54:20.462 00 SPR-I:OPRO Content Type: cFE1 +21-236-11:54:20.462 00 SPR-I:OPRO Sub Type: 8 +21-236-11:54:20.462 00 SPR-I:OPRO Length: 12 +21-236-11:54:20.462 00 SPR-I:OPRO Spacecraft Id: SCX +21-236-11:54:20.462 00 SPR-I:OPRO Processor Id: CPU3 +21-236-11:54:20.462 00 SPR-I:OPRO Application Id: 3959 +21-236-11:54:20.462 00 SPR-I:OPRO Create Time Secs: 1629806060 +21-236-11:54:20.462 00 SPR-I:OPRO Create Time Subsecs: 0 +21-236-11:54:20.462 00 SPR-I:OPRO File Description: General Command Test Filter Tabl +21-236-11:54:20.462 00 SPR-I:OPRO +21-236-11:54:20.462 00 SPR-I:OPRO ********** DS.FILTER_TBL ********** +21-236-11:54:20.462 00 SPR-I:OPRO +21-236-11:54:20.462 00 SPR-I:OPRO Start Mnemonic: SCX_CPU1_DS_PF_TBL_Description +21-236-11:54:20.462 00 SPR-I:OPRO Byte Offset: 0 +21-236-11:54:20.462 00 SPR-I:OPRO End Mnemonic: SCX_CPU1_DS_PF_TBL[255].FilterParams[3].O_Value +21-236-11:54:20.463 00 SPR-I:OPRO Number of Bytes: 9248 +21-236-11:54:20.463 00 SPR-I:OPRO +21-236-11:54:20.467 00 SPR-I:STS Loading file /s/opr/accounts/global/prc/partial_cvt_to_file_beta.i +21-236-11:54:20.467 00 SPR-I:STS Procedure PARTIAL_CVT_TO_FILE_BETA started +21-236-11:54:20.468 00 SPR-I:OPRO The unix command is cd /s/opr/accounts/cfs_test/image;cvt2file -s 116 -e 9363 P0F77 ds.filter_tbl +21-236-11:54:20.472 00 SPR-I:STS Procedure PARTIAL_CVT_TO_FILE_BETA completed +21-236-11:54:20.472 00 SPR-I:OPRO cd /s/opr/accounts/cfs_test/image;cat ds_gcfilter.tbl.tmp ds.filter_tbl > ds_gcfilter.tbl +21-236-11:54:20.475 00 SPR-I:OPRO cd /s/opr/accounts/cfs_test/image;rm ds.filter_tbl ds_gcfilter.tbl.tmp +21-236-11:54:20.479 00 SPR-I:STS Procedure CREATE_TBL_FILE_FROM_CVT completed +21-236-11:54:20.479 00 SPR-I:OPRO ;********************************************************************* +21-236-11:54:20.479 00 SPR-I:OPRO ; End procedure SCX_CPU1_ds_tbl1 +21-236-11:54:20.479 00 SPR-I:OPRO ;********************************************************************* +21-236-11:54:20.480 00 SPR-I:STS Procedure SCX_CPU1_DS_TBL1 completed +21-236-11:54:20.482 00 SPR-I:OPRO ==> Default Filter Table filename = 'ds_filter_tbl.tbl' +21-236-11:54:20.482 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/ftp_file.i +21-236-11:54:20.482 00 SPR-I:STS Procedure FTP_FILE started +21-236-11:54:20.745 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-11:54:20.745 00 SPR-I:STS Procedure FTP_FILE completed +21-236-11:54:20.747 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/ftp_file.i +21-236-11:54:20.747 00 SPR-I:STS Procedure FTP_FILE started +21-236-11:54:21.183 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-11:54:21.184 00 SPR-I:STS Procedure FTP_FILE completed +21-236-11:54:21.184 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:54:26.189 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:54:26.189 00 SPR-I:OPRO ; Step 1.3: Display the Housekeeping pages +21-236-11:54:26.189 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:54:26.291 00 DPD-I:STS Page SCX_CPU1_DS_HK added (cid:1). +21-236-11:54:26.368 00 DPD-I:STS Page SCX_CPU1_DS_FILE_TBL added (cid:1). +21-236-11:54:26.445 00 DPD-I:STS Page SCX_CPU1_DS_FILTER_TBL added (cid:1). +21-236-11:54:26.556 00 DPD-I:STS Page SCX_CPU1_TST_DS_HK added (cid:1). +21-236-11:54:26.561 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:54:26.561 00 SPR-I:OPRO ; Step 1.4: Start the Data Storage (DS) and Test Applications. Verify +21-236-11:54:26.561 00 SPR-I:OPRO ; that the DS Housekeeping telemetry packet is being generated and the +21-236-11:54:26.561 00 SPR-I:OPRO ; appropriate items are initialized to zero (0). +21-236-11:54:26.561 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:54:26.573 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:54:34.580 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:54:34.582 00 SPR-I:OPRO <*> Passed (8000) - Housekeeping packet is being generated. +21-236-11:54:34.586 00 SPR-I:OPRO <*> Passed (9000) - Housekeeping telemetry initialized properly. +21-236-11:54:34.590 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:54:39.593 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:54:39.593 00 SPR-I:OPRO ; Step 1.5: Enable DEBUG Event Messages +21-236-11:54:39.594 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:54:39.595 00 CMH-I:CMD Command SFDU received:<1801C0000017052244530000000000000000000000000000000000000100> from gs582cfslab4:SPR +21-236-11:54:39.611 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:54:42.614 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:54:42.614 00 SPR-I:OPRO <*> Passed - Enable Debug events command sent properly. +21-236-11:54:42.614 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:54:42.614 00 SPR-I:OPRO ; Step 2.0: Commanding Test. +21-236-11:54:42.614 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:54:42.614 00 SPR-I:OPRO ; Step 2.1: Send the NO-OP command. +21-236-11:54:42.614 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:54:42.617 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:54:42.617 00 SPR-I:OPRO ; Setup event 1 with DS INFO 31 +21-236-11:54:42.617 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:54:42.618 00 CMH-I:CMD Command SFDU received:<18BBC0000001009D> from gs582cfslab4:SPR +21-236-11:54:42.635 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:54:43.529 00 TLMH-I:STS 58-012-14:04:21.001 INFO CPU=CPU1 APPNAME=DS EVENT ID=31 NOOP command, Version 2.6.0.0 +21-236-11:54:46.639 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:54:46.641 00 SPR-I:OPRO <*> Passed (1000;1004) - DS NO-OP command sent properly. +21-236-11:54:46.651 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:54:46.651 00 SPR-I:OPRO <*> Passed (1000;1004) - Expected Event Msg 31 rcv'd. +21-236-11:54:46.653 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:54:51.657 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:54:51.657 00 SPR-I:OPRO ; Step 2.2: Send the NO-OP command with an invalid length. +21-236-11:54:51.658 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:54:51.665 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:54:51.665 00 SPR-I:OPRO ; Setup event 1 with DS ERROR 32 +21-236-11:54:51.665 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:54:51.673 00 SPR-I:OPRO Sending: 18BBc000000200B0 +21-236-11:54:51.675 00 CMH-I:CMD Command SFDU received:<18BBC000000200B0> from gs582cfslab4:SPR +21-236-11:54:51.690 00 SPR-I:OPRO ; Telemetry update will wait a maximum of 24 seconds +21-236-11:54:51.690 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:54:52.533 00 TLMH-I:STS 58-012-14:04:30.001 ERROR CPU=CPU1 APPNAME=DS EVENT ID=32 Invalid NOOP command length: expected = 8, actual = 9 +21-236-11:54:54.694 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:54:54.703 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:54:54.703 00 SPR-I:OPRO <*> Passed (1002;1005) - Command Rejected Counter incremented. +21-236-11:54:54.706 00 SPR-I:OPRO <*> Passed (1005) - Event message 32 received +21-236-11:54:54.707 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:54:59.710 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:54:59.711 00 SPR-I:OPRO ; Step 2.3: Utilizing the TST_DS application, send the command that +21-236-11:54:59.711 00 SPR-I:OPRO ; will set all the counters that get reset to zero (0) by the Reset +21-236-11:54:59.711 00 SPR-I:OPRO ; command to a non-zero value. +21-236-11:54:59.711 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:54:59.713 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:54:59.713 00 SPR-I:OPRO ; Setup event 1 with TST_DS INFO 4 +21-236-11:54:59.713 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:54:59.714 00 CMH-I:CMD Command SFDU received:<1943C00000010266> from gs582cfslab4:SPR +21-236-11:54:59.728 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:55:00.534 00 TLMH-I:STS 58-012-14:04:38.001 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=4 Set counters to non-zero command +21-236-11:55:00.729 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:55:00.731 00 SPR-I:OPRO <*> Passed - Expected Event Msg 4 rcv'd. +21-236-11:55:00.731 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:55:05.734 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:55:05.734 00 SPR-I:OPRO ; Step 2.4: Verify that all the counters are non-zero and send the +21-236-11:55:05.734 00 SPR-I:OPRO ; Reset command if so. +21-236-11:55:05.734 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:55:05.735 00 SPR-I:OPRO Ignored Pkts before reset = 4 +21-236-11:55:05.735 00 SPR-I:OPRO <*> Counters are all non-zero. Sending reset command. +21-236-11:55:05.736 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:55:05.737 00 SPR-I:OPRO ; Setup event 1 with DS DEBUG 33 +21-236-11:55:05.737 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:55:05.738 00 CMH-I:CMD Command SFDU received:<18BBC0000001019C> from gs582cfslab4:SPR +21-236-11:55:05.748 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:55:06.532 00 TLMH-I:STS 58-012-14:04:44.003 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=33 Reset counters command +21-236-11:55:10.762 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:55:10.763 00 SPR-I:OPRO <*> Passed (1001;1004) - Expected Event Msg 33 rcv'd. +21-236-11:55:10.771 00 SPR-I:OPRO <*> Passed (1001) - Counters all reset to zero. +21-236-11:55:10.774 00 SPR-I:OPRO CMDPC = 0 +21-236-11:55:10.774 00 SPR-I:OPRO CMDEC = 0 +21-236-11:55:10.774 00 SPR-I:OPRO Disabled Pkts = 0 +21-236-11:55:10.775 00 SPR-I:OPRO Ignored Pkts = 0 +21-236-11:55:10.775 00 SPR-I:OPRO Failed Filter Pkts = 0 +21-236-11:55:10.791 00 SPR-I:OPRO Passed Filter Pkts = 0 +21-236-11:55:10.792 00 SPR-I:OPRO Good i/o writes = 0 +21-236-11:55:10.792 00 SPR-I:OPRO Bad i/o writes = 0 +21-236-11:55:10.793 00 SPR-I:OPRO Good hdr writes = 0 +21-236-11:55:10.793 00 SPR-I:OPRO Bad hdr writes = 0 +21-236-11:55:10.793 00 SPR-I:OPRO Dest Tbl Loads = 0 +21-236-11:55:10.793 00 SPR-I:OPRO Dest Tbl ptr fails = 0 +21-236-11:55:10.793 00 SPR-I:OPRO Filter Tbl Loads = 0 +21-236-11:55:10.793 00 SPR-I:OPRO Filter Tbl ptr fails = 0 +21-236-11:55:10.793 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:55:15.797 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:55:15.797 00 SPR-I:OPRO ; Step 2.5: Send the Reset command with an invalid length. +21-236-11:55:15.797 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:55:15.799 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:55:15.799 00 SPR-I:OPRO ; Setup event 1 with DS ERROR 34 +21-236-11:55:15.799 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:55:15.802 00 SPR-I:OPRO Sending: 18BBc000000201B0 +21-236-11:55:15.803 00 CMH-I:CMD Command SFDU received:<18BBC000000201B0> from gs582cfslab4:SPR +21-236-11:55:15.818 00 SPR-I:OPRO ; Telemetry update will wait a maximum of 24 seconds +21-236-11:55:15.818 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:55:16.532 00 TLMH-I:STS 58-012-14:04:54.001 ERROR CPU=CPU1 APPNAME=DS EVENT ID=34 Invalid RESET command length: expected = 8, actual = 9 +21-236-11:55:18.821 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:55:18.840 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:55:18.842 00 SPR-I:OPRO <*> Passed (1002;1005) - Command Rejected Counter incremented. +21-236-11:55:18.850 00 SPR-I:OPRO <*> Passed (1005) - Event message 34 received +21-236-11:55:18.853 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:55:23.856 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:55:23.856 00 SPR-I:OPRO ; Step 2.6: Send an invalid command. +21-236-11:55:23.858 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:55:23.860 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:55:23.860 00 SPR-I:OPRO ; Setup event 1 with DS ERROR 21 +21-236-11:55:23.860 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:55:23.864 00 SPR-I:OPRO Sending: 18BBc0000001AA00 +21-236-11:55:23.865 00 CMH-I:CMD Command SFDU received:<18BBC0000001AA00> from gs582cfslab4:SPR +21-236-11:55:23.879 00 SPR-I:OPRO ; Telemetry update will wait a maximum of 24 seconds +21-236-11:55:23.879 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:55:24.532 00 TLMH-I:STS 58-012-14:05:02.001 ERROR CPU=CPU1 APPNAME=DS EVENT ID=21 Invalid command code: MID = 0x000018BB, CC = 42 +21-236-11:55:26.881 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:55:26.892 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:55:26.893 00 SPR-I:OPRO <*> Passed (1005) - Command Rejected Counter incremented. +21-236-11:55:26.895 00 SPR-I:OPRO <*> Passed (1005) - Event message 21 received +21-236-11:55:26.897 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:55:31.901 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:55:31.901 00 SPR-I:OPRO ; Step 2.7: Send an invalid HK Request. +21-236-11:55:31.901 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:55:31.902 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:55:31.903 00 SPR-I:OPRO ; Setup event 1 with DS ERROR 22 +21-236-11:55:31.903 00 SPR-I:OPRO ;*********************************************************************** +21-236-11:55:31.906 00 SPR-I:OPRO Sending: 18BCC00001000000 +21-236-11:55:31.907 00 CMH-I:CMD Command SFDU received:<18BCC00001000000> from gs582cfslab4:SPR +21-236-11:55:31.921 00 SPR-I:OPRO ; Telemetry update will wait a maximum of 24 seconds +21-236-11:55:31.921 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:55:32.533 00 TLMH-I:STS 58-012-14:05:10.001 ERROR CPU=CPU1 APPNAME=DS EVENT ID=22 Invalid HK request length: expected = 8, actual = 263 +21-236-11:55:34.925 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:55:34.928 00 SPR-I:STTE Wait mode - waiting 1 seconds ... +21-236-11:55:35.930 00 SPR-I:STTE Wait mode - waiting 1 seconds ... +21-236-11:55:36.932 00 SPR-I:STTE Wait mode - waiting 1 seconds ... +21-236-11:55:37.935 00 SPR-I:STTE Wait mode - waiting 1 seconds ... +21-236-11:55:38.937 00 SPR-I:STTE Wait mode - waiting 1 seconds ... +21-236-11:55:39.939 00 SPR-I:STTE Wait mode - waiting 1 seconds ... +21-236-11:55:40.941 00 SPR-I:STTE Wait mode - waiting 1 seconds ... +21-236-11:55:41.944 00 SPR-I:STTE Wait mode - waiting 1 seconds ... +21-236-11:55:42.957 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:55:42.959 00 SPR-I:OPRO <*> Passed (1005) - Event message 22 received +21-236-11:55:42.962 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:55:47.966 00 SPR-I:OPRO ;********************************************************************* +21-236-11:55:47.966 00 SPR-I:OPRO ; Step 3.0: Clean-up - Send the Processor Reset command. +21-236-11:55:47.967 00 SPR-I:OPRO ;********************************************************************* +21-236-11:55:47.968 00 CMH-I:CMD Command SFDU received:<1806C000000302210001> from gs582cfslab4:SPR +21-236-11:55:47.982 00 SPR-I:STTE Wait mode - waiting 10 seconds ... +21-236-11:55:57.992 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/clear_spacecraft_status.i +21-236-11:55:57.993 00 SPR-I:STS Procedure CLEAR_SPACECRAFT_STATUS started +21-236-11:55:58.009 00 SPR-I:STS Procedure CLEAR_SPACECRAFT_STATUS completed +21-236-11:55:58.081 00 SPR-I:STTE Wait mode - waiting 60 seconds ... +21-236-11:56:08.719 00 DPD-I:STS Deleting page SCX_CPU1_DS_FILE_TBL +21-236-11:56:09.957 00 DPD-I:STS Deleting page SCX_CPU1_DS_FILTER_TBL +21-236-11:56:11.412 00 DPD-I:STS Deleting page SCX_CPU1_TST_DS_HK +21-236-11:56:21.493 00 DPD-I:STS Deleting page SCX_CPU1_DS_HK +21-236-11:56:58.139 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:57:04.105 00 CMH-I:STS Connected to FEDS:FEDS for commanding (internal ID 0). +21-236-11:57:08.149 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:57:08.212 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/send_that_to_command.i +21-236-11:57:08.213 00 SPR-I:STS Procedure SEND_THAT_TO_COMMAND started +21-236-11:57:08.214 00 SPR-I:OPRO Sending: /SCX_CPU1_TO_OUTPUT_ENA gs582cfslab4 +21-236-11:57:08.215 00 CMH-I:CMD Command SFDU received:<1880C0000011069A3139322E3136382E312E313031000000> from gs582cfslab4:SPR +21-236-11:57:08.266 00 SPR-I:STS Procedure SEND_THAT_TO_COMMAND completed +21-236-11:57:08.266 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-11:57:09.050 00 TLMH-I:STS 58-012-14:05:53.533 INFO CPU=CPU1 APPNAME=TO_LAB_APP EVENT ID=3 TO telemetry output enabled for IP 192.168.1.101 +21-236-11:57:11.270 00 SPR-I:STTE WAIT UNTIL completed +21-236-11:57:11.270 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/fill_in_spacecraft_status.i +21-236-11:57:11.272 00 SPR-I:STS Procedure FILL_IN_SPACECRAFT_STATUS started +21-236-11:57:11.282 00 SPR-I:STS Procedure FILL_IN_SPACECRAFT_STATUS completed +21-236-11:57:11.283 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-11:57:16.288 00 SPR-I:OPRO **** Requirements Status Reporting +21-236-11:57:16.288 00 SPR-I:OPRO -------------------------- +21-236-11:57:16.288 00 SPR-I:OPRO Requirement(s) Report +21-236-11:57:16.288 00 SPR-I:OPRO -------------------------- +21-236-11:57:16.290 00 SPR-I:OPRO FSW Requirement: DS_1000 P/F: P +21-236-11:57:16.292 00 SPR-I:OPRO FSW Requirement: DS_1001 P/F: P +21-236-11:57:16.293 00 SPR-I:OPRO FSW Requirement: DS_1002 P/F: P +21-236-11:57:16.294 00 SPR-I:OPRO FSW Requirement: DS_1004 P/F: P +21-236-11:57:16.294 00 SPR-I:OPRO FSW Requirement: DS_1005 P/F: P +21-236-11:57:16.295 00 SPR-I:OPRO FSW Requirement: DS_8000 P/F: P +21-236-11:57:16.298 00 SPR-I:OPRO FSW Requirement: DS_9000 P/F: P +21-236-11:57:16.298 00 SPR-I:STS Variable "UT_REQUIREMENT" deleted +21-236-11:57:16.298 00 SPR-I:STS Variable "UT_REQ_ARRAY_SIZE" deleted +21-236-11:57:16.298 00 SPR-I:OPRO ;********************************************************************* +21-236-11:57:16.301 00 SPR-I:OPRO ; End procedure SCX_CPU1_sc_gencmds +21-236-11:57:16.301 00 SPR-I:OPRO ;********************************************************************* +21-236-11:57:16.301 00 SPR-I:STS Procedure SCX_CPU1_DS_GENCMDS completed +21-236-11:57:16.302 00 SPR-I:OPRO *** Telemetry Info *** +21-236-11:57:16.302 00 SPR-I:OPRO +21-236-11:57:16.302 00 SPR-I:OPRO Pkt Loss Count: N/A +21-236-11:57:16.302 00 SPR-I:OPRO +21-236-11:57:16.302 00 SPR-I:OPRO ****************** +21-236-11:57:16.302 00 SPR-I:OPRO +21-236-11:57:16.302 00 SPR-I:OPRO Elapsed time: 265.864 seconds +21-236-11:57:16.305 00 SPR-I:OPRO Elapsed time: 4.43107 minutes +21-236-11:57:16.305 00 SPR-I:STTE Wait mode - waiting 10 seconds ... +21-236-11:57:26.315 00 SPR-I:OPRO Creating filtered log at /s/opr/accounts/cfs_test/test_logs/DS2.6.0/scx_cpu1_ds_gencmds-2021-236-11h52m50s.logf +21-236-11:57:26.315 00 SPR-I:OPRO Creating filtered output log at /s/opr/accounts/cfs_test/test_logs/DS2.6.0/scx_cpu1_ds_gencmds-2021-236-11h52m50s.logp +21-236-11:57:26.315 00 SPR-I:OPRO Creating filtered output log (without SFDUs) at /s/opr/accounts/cfs_test/test_logs/DS2.6.0/scx_cpu1_ds_gencmds-2021-236-11h52m50s.logs +21-236-11:57:26.316 00 SPR-I:OPRO Creating filtered event log at /s/opr/accounts/cfs_test/test_logs/DS2.6.0/scx_cpu1_ds_gencmds-2021-236-11h52m50s.loge +21-236-11:57:26.316 00 SPR-I:OPRO Creating filtered requirements log at /s/opr/accounts/cfs_test/test_logs/DS2.6.0/scx_cpu1_ds_gencmds-2021-236-11h52m50s.logr +21-236-11:57:26.456 00 SPR-I:OPRI --> newlog scx_cpu1_ds_gencmds-2021-236-11h52m50s.log diff --git a/test_and_ground/results/Caelum/scx_cpu1_ds_movefile-2021-236-12h16m28s.loge b/test_and_ground/results/Caelum/scx_cpu1_ds_movefile-2021-236-12h16m28s.loge new file mode 100644 index 0000000..32077a3 --- /dev/null +++ b/test_and_ground/results/Caelum/scx_cpu1_ds_movefile-2021-236-12h16m28s.loge @@ -0,0 +1,45 @@ +21-236-12:17:49.720 00 TLMH-I:STS 58-012-14:03:48.517 INFO CPU=CPU1 APPNAME=TO_LAB_APP EVENT ID=3 TO telemetry output enabled for IP 192.168.1.101 +21-236-12:18:04.211 00 TLMH-I:STS 58-012-14:04:03.501 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=12 Successful load of '/ram/ds_movefile.tbl' into 'DS.FILE_TBL' working buffer +21-236-12:18:12.715 00 TLMH-I:STS 58-012-14:04:12.004 INFO CPU=CPU1 APPNAME=DS EVENT ID=10 Destination file table verify results: desc text = OK, good entries = 8, bad = 0, unused = 8 +21-236-12:18:12.716 00 TLMH-I:STS 58-012-14:04:12.004 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=36 DS validation successful for Inactive 'DS.FILE_TBL' +21-236-12:18:16.718 00 TLMH-I:STS 58-012-14:04:16.003 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=37 DS Successfully Updated 'DS.FILE_TBL' +21-236-12:18:25.714 00 TLMH-I:STS 58-012-14:04:25.001 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=12 Successful load of '/ram/ds_movefilter.tbl' into 'DS.FILTER_TBL' working buffer +21-236-12:18:36.716 00 TLMH-I:STS 58-012-14:04:36.004 INFO CPU=CPU1 APPNAME=DS EVENT ID=12 Filter table verify results: desc text = OK, good entries = 6, bad = 0, unused = 250 +21-236-12:18:36.717 00 TLMH-I:STS 58-012-14:04:36.004 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=36 DS validation successful for Inactive 'DS.FILTER_TBL' +21-236-12:18:40.720 00 TLMH-I:STS 58-012-14:04:40.004 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=37 DS Successfully Updated 'DS.FILTER_TBL' +21-236-12:18:58.213 00 TLMH-I:STS 58-012-14:04:57.512 INFO CPU=CPU1 APPNAME=CFE_ES EVENT ID=6 Started FM from /ram/fm.o, AppID = 1114124 +21-236-12:18:58.719 00 TLMH-I:STS 58-012-14:04:57.565 INFO CPU=CPU1 APPNAME=FM EVENT ID=97 Free Space Table verify results: good entries = 2, bad = 0, unused = 6 +21-236-12:18:58.720 00 TLMH-I:STS 58-012-14:04:57.566 INFO CPU=CPU1 APPNAME=FM EVENT ID=1 Initialization complete: version 2.5.4.0 +21-236-12:18:58.722 00 TLMH-I:STS 58-012-14:04:57.600 INFO CPU=CPU1 APPNAME=FM EVENT ID=89 Child Task initialization complete +21-236-12:18:59.715 00 TLMH-I:STS 58-012-14:04:58.517 ERROR CPU=CPU1 APPNAME=CFE_SB EVENT ID=6 Subscribe Err:Bad Arg,MsgId 0x88c0000,PipeId 1441800,app TO_LAB_APP,scope 0 +21-236-12:18:59.716 00 TLMH-I:STS 58-012-14:04:58.517 ERROR CPU=CPU1 APPNAME=TO_LAB_APP EVENT ID=10 L481 TO Can't subscribe 0x88c0000 status -905969661 +21-236-12:19:09.210 00 TLMH-I:STS 58-012-14:05:08.502 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=14 Successfully dumped Table 'DS.FILTER_TBL' to '/ram/cpu1_filtertbl211' +21-236-12:19:44.718 00 TLMH-I:STS 58-012-14:05:44.002 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=14 Successfully dumped Table 'DS.FILE_TBL' to '/ram/cpu1_filetbl211' +21-236-12:20:25.209 00 TLMH-I:STS 58-012-14:06:24.504 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Message Size 116 to MID 0x00000900 +21-236-12:20:26.217 00 TLMH-I:STS 58-012-14:06:25.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-12:20:34.216 00 TLMH-I:STS 58-012-14:06:33.509 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=7 Sent Message Size 1016 to MID 0x00000900 +21-236-12:20:35.208 00 TLMH-I:STS 58-012-14:06:34.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-12:21:02.214 00 TLMH-I:STS 58-012-14:07:01.502 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=59 DEST CLOSE command: file table index = 0 +21-236-12:21:10.207 00 TLMH-I:STS 58-012-14:07:09.508 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=9 Sent Message Size 1516 to MID 0x00000900 +21-236-12:21:11.709 00 TLMH-I:STS 58-012-14:07:11.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-12:21:33.708 00 TLMH-I:STS 58-012-14:07:33.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-12:21:37.710 00 TLMH-I:STS 58-012-14:07:37.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-12:21:41.711 00 TLMH-I:STS 58-012-14:07:41.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-12:21:45.707 00 TLMH-I:STS 58-012-14:07:45.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-12:21:49.712 00 TLMH-I:STS 58-012-14:07:49.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-12:21:53.709 00 TLMH-I:STS 58-012-14:07:53.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-12:21:57.711 00 TLMH-I:STS 58-012-14:07:57.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-12:22:01.714 00 TLMH-I:STS 58-012-14:08:01.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-12:22:05.708 00 TLMH-I:STS 58-012-14:08:05.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-12:22:10.211 00 TLMH-I:STS 58-012-14:08:09.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-12:22:13.214 00 TLMH-I:STS 58-012-14:08:12.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-12:22:17.209 00 TLMH-I:STS 58-012-14:08:16.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-12:22:21.207 00 TLMH-I:STS 58-012-14:08:20.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-12:22:25.215 00 TLMH-I:STS 58-012-14:08:24.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-12:22:29.211 00 TLMH-I:STS 58-012-14:08:28.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-12:22:33.214 00 TLMH-I:STS 58-012-14:08:32.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-12:22:37.215 00 TLMH-I:STS 58-012-14:08:36.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-12:22:41.207 00 TLMH-I:STS 58-012-14:08:40.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-12:22:45.212 00 TLMH-I:STS 58-012-14:08:44.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-12:22:49.207 00 TLMH-I:STS 58-012-14:08:48.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-12:24:44.235 00 TLMH-I:STS 58-012-14:09:49.600 INFO CPU=CPU1 APPNAME=TO_LAB_APP EVENT ID=3 TO telemetry output enabled for IP 192.168.1.101 diff --git a/test_and_ground/results/Caelum/scx_cpu1_ds_movefile-2021-236-12h16m28s.logf b/test_and_ground/results/Caelum/scx_cpu1_ds_movefile-2021-236-12h16m28s.logf new file mode 100644 index 0000000..fa6e6ec --- /dev/null +++ b/test_and_ground/results/Caelum/scx_cpu1_ds_movefile-2021-236-12h16m28s.logf @@ -0,0 +1,2072 @@ +21-236-12:16:28.725 00 UT_RUNPROC/99 +21-236-12:16:28.725 00 UT_RUNPROC/100 ; Build the database prefix using SC and CPU definitions from cfe_utils.h +21-236-12:16:28.725 00 UT_RUNPROC/101 local db_prefix, cpu_prefix +21-236-12:16:28.725 00 UT_RUNPROC/102 +21-236-12:16:28.725 00 UT_RUNPROC/103 ; If SC is set, use it +21-236-12:16:28.725 00 UT_RUNPROC/104 if (SC <> "") then +21-236-12:16:28.725 00 UT_RUNPROC/105 db_prefix = SC +21-236-12:16:28.725 00 UT_RUNPROC/106 endif +21-236-12:16:28.725 00 UT_RUNPROC/107 +21-236-12:16:28.725 00 UT_RUNPROC/109 db_prefix = db_prefix & CPU_CFG +21-236-12:16:28.726 00 UT_RUNPROC/110 +21-236-12:16:28.726 00 UT_RUNPROC/111 cpu_prefix = db_prefix +21-236-12:16:28.726 00 UT_RUNPROC/112 +21-236-12:16:28.726 00 UT_RUNPROC/113 ; Set the database prefix for CPU1 +21-236-12:16:28.726 00 UT_RUNPROC/114 if (numCPUs > 1) then +21-236-12:16:28.726 00 UT_RUNPROC/116 endif +21-236-12:16:28.726 00 UT_RUNPROC/117 +21-236-12:16:28.726 00 UT_RUNPROC/118 ; setup the database mnemonics for CPU1 +21-236-12:16:28.736 00 UT_RUNPROC/119 local cksumItem = cpu_prefix & "_ES_CKSUM" +21-236-12:16:28.736 00 UT_RUNPROC/120 local cfeMajorVerItem = cpu_prefix & "_ES_CFEMAJORVER" +21-236-12:16:28.736 00 UT_RUNPROC/121 local cfeMinorVerItem = cpu_prefix & "_ES_CFEMINORVER" +21-236-12:16:28.736 00 UT_RUNPROC/122 local cfeRevisionItem = cpu_prefix & "_ES_CFEREVISION" +21-236-12:16:28.736 00 UT_RUNPROC/123 local cfeMissionRevItem = cpu_prefix & "_ES_CFEMSNREV" +21-236-12:16:28.736 00 UT_RUNPROC/124 local osMajorVerItem = cpu_prefix & "_ES_OSMAJORVER" +21-236-12:16:28.736 00 UT_RUNPROC/125 local osMinorVerItem = cpu_prefix & "_ES_OSMINORVER" +21-236-12:16:28.736 00 UT_RUNPROC/126 local osRevisionItem = cpu_prefix & "_ES_OSREVISION" +21-236-12:16:28.736 00 UT_RUNPROC/127 local osMissionRevItem = cpu_prefix & "_ES_OSMISSIONREV" +21-236-12:16:28.736 00 UT_RUNPROC/128 +21-236-12:16:28.736 00 UT_RUNPROC/129 ; +21-236-12:16:28.736 00 UT_RUNPROC/130 ; Output FSW configuration information +21-236-12:16:28.736 00 UT_RUNPROC/131 ; +21-236-12:16:28.736 00 UT_RUNPROC/132 write "****************** FSW Configuration ******************" +21-236-12:16:28.736 00 SPR-I:OPRO ****************** FSW Configuration ****************** +21-236-12:16:28.736 00 UT_RUNPROC/134 if (numCPUs = 1) then +21-236-12:16:28.737 00 UT_RUNPROC/135 write " Checksum: ", {cksumItem} +21-236-12:16:28.737 00 SPR-I:OPRO Checksum: 29237 +21-236-12:16:28.737 00 UT_RUNPROC/136 write " cFE Version: ", {cfeMajorVerItem} & "." & {cfeMinorVerItem} & "." & {cfeRevisionItem} & "." & {cfeMissionRevItem} +21-236-12:16:28.737 00 SPR-I:OPRO cFE Version: 6.7.99.0 +21-236-12:16:28.737 00 UT_RUNPROC/137 write " OS Version: ", {osMajorVerItem} & "." & {osMinorVerItem} & "." & {osRevisionItem} & "." & {osMissionRevItem} +21-236-12:16:28.737 00 SPR-I:OPRO OS Version: 5.0.0.255 +21-236-12:16:28.737 00 UT_RUNPROC/138 write " " +21-236-12:16:28.737 00 SPR-I:OPRO +21-236-12:16:28.742 00 UT_RUNPROC/139 endif +21-236-12:16:28.742 00 UT_RUNPROC/140 +21-236-12:16:28.742 00 UT_RUNPROC/141 if (numCPUs >= 2) then +21-236-12:16:28.742 00 UT_RUNPROC/166 endif +21-236-12:16:28.742 00 UT_RUNPROC/167 +21-236-12:16:28.742 00 UT_RUNPROC/168 ; This proc only supports up to 3 CPUs. +21-236-12:16:28.742 00 UT_RUNPROC/169 ; If there are more than 3, the additional CPUs must be added below +21-236-12:16:28.742 00 UT_RUNPROC/170 if (numCPUs = 3) then +21-236-12:16:28.742 00 UT_RUNPROC/189 endif +21-236-12:16:28.742 00 UT_RUNPROC/190 +21-236-12:16:28.742 00 UT_RUNPROC/191 write " Connection Status" +21-236-12:16:28.742 00 SPR-I:OPRO Connection Status +21-236-12:16:28.742 00 UT_RUNPROC/192 write " -----------------" +21-236-12:16:28.742 00 SPR-I:OPRO ----------------- +21-236-12:16:28.742 00 UT_RUNPROC/193 write " CFDP: ", %select(packet_valid("my_entity_id"),"UP","DOWN") +21-236-12:16:28.742 00 SPR-I:OPRO CFDP: DOWN +21-236-12:16:28.742 00 UT_RUNPROC/194 write " UDP: ", p@GSE_ICHAN +21-236-12:16:28.742 00 SPR-I:OPRO UDP: UP +21-236-12:16:28.742 00 UT_RUNPROC/195 write " SWTS: ", p@GSE_SCHAN +21-236-12:16:28.742 00 SPR-I:OPRO SWTS: UNK +21-236-12:16:28.742 00 UT_RUNPROC/196 ; write " ITOS: ", p@GSE_ZCHAN +21-236-12:16:28.742 00 UT_RUNPROC/197 +21-236-12:16:28.742 00 UT_RUNPROC/199 gds_label = "" +21-236-12:16:28.742 00 UT_RUNPROC/200 gds_version = "N/A" +21-236-12:16:28.743 00 UT_RUNPROC/201 +21-236-12:16:28.743 00 UT_RUNPROC/202 #ifdef GDS_EXISTS +21-236-12:16:28.743 00 UT_RUNPROC/203 write " GDS: ", %select(packet_valid("GDS_EXECUTOR_SIMULATION_TIME"),"UP", "DOWN") +21-236-12:16:28.743 00 UT_RUNPROC/204 if (GSE_HCHAN = 1) then +21-236-12:16:28.743 00 UT_RUNPROC/205 gds_label = "GDS" +21-236-12:16:28.743 00 UT_RUNPROC/206 gds_version = GDS_EXECUTOR_GDS_VERSION_VALUE +21-236-12:16:28.743 00 UT_RUNPROC/207 endif +21-236-12:16:28.743 00 UT_RUNPROC/208 #endif +21-236-12:16:28.743 00 UT_RUNPROC/209 +21-236-12:16:28.743 00 UT_RUNPROC/211 write " CMD / TLM Path" +21-236-12:16:28.743 00 SPR-I:OPRO +21-236-12:16:28.743 00 UT_RUNPROC/211 write " CMD / TLM Path" +21-236-12:16:28.743 00 SPR-I:OPRO CMD / TLM Path +21-236-12:16:28.743 00 UT_RUNPROC/212 write " --------------" +21-236-12:16:28.743 00 SPR-I:OPRO -------------- +21-236-12:16:28.743 00 UT_RUNPROC/213 if (GSE_ICHAN = 1) then +21-236-12:16:28.743 00 UT_RUNPROC/214 cmd_tlm_path = "UDP" +21-236-12:16:28.743 00 UT_RUNPROC/219 endif +21-236-12:16:28.743 00 UT_RUNPROC/220 +21-236-12:16:28.743 00 UT_RUNPROC/221 write " ", cmd_tlm_path +21-236-12:16:28.743 00 SPR-I:OPRO UDP +21-236-12:16:28.743 00 UT_RUNPROC/222 write " ", gds_label +21-236-12:16:28.744 00 SPR-I:OPRO +21-236-12:16:28.744 00 UT_RUNPROC/224 write " ASIST / GDS Configuration" +21-236-12:16:28.744 00 SPR-I:OPRO +21-236-12:16:28.745 00 UT_RUNPROC/224 write " ASIST / GDS Configuration" +21-236-12:16:28.745 00 SPR-I:OPRO ASIST / GDS Configuration +21-236-12:16:28.745 00 UT_RUNPROC/225 write " -------------------------" +21-236-12:16:28.745 00 SPR-I:OPRO ------------------------- +21-236-12:16:28.745 00 UT_RUNPROC/226 write " Workstation: ", %upper(%liv(LOCALHOST)) +21-236-12:16:28.745 00 SPR-I:OPRO Workstation: GS582CFSLAB4 +21-236-12:16:28.745 00 UT_RUNPROC/227 write " Account: ", %env("ACCOUNT") +21-236-12:16:28.745 00 SPR-I:OPRO Account: cfs_test +21-236-12:16:28.745 00 UT_RUNPROC/228 write " Version: ", ASIST_VERSION +21-236-12:16:28.745 00 SPR-I:OPRO Version: 21.0.7 +21-236-12:16:28.745 00 UT_RUNPROC/229 write " Tlm DB: Version: ",vidtlm.version, " Date: ", tlmdbdate, " Time: ", vidtlm.timeof +21-236-12:16:28.745 00 SPR-I:OPRO Tlm DB: Version: 1.985 Date: 08-24-21 Time: 06:37:06 AM. +21-236-12:16:28.745 00 UT_RUNPROC/230 write " Cmd DB: Version: ",%rpad(command_parm_attr("verid_cmd", "version", "description"),4," ")," Date: ",cmddbdate," Time: ",command_parm_attr("verid_cmd", "timeof", "description") +21-236-12:16:28.745 00 SPR-I:OPRO Cmd DB: Version: 1.51 Date: 08-24-21 Time: 06:47:31 AM.EDT +21-236-12:16:28.745 00 UT_RUNPROC/231 +21-236-12:16:28.745 00 UT_RUNPROC/232 #ifdef GDS_EXISTS +21-236-12:16:28.745 00 UT_RUNPROC/233 write " GDS: ", gds_version +21-236-12:16:28.745 00 UT_RUNPROC/234 #endif +21-236-12:16:28.745 00 UT_RUNPROC/235 +21-236-12:16:28.745 00 UT_RUNPROC/237 write " Telemetry Info" +21-236-12:16:28.745 00 SPR-I:OPRO +21-236-12:16:28.745 00 UT_RUNPROC/237 write " Telemetry Info" +21-236-12:16:28.746 00 SPR-I:OPRO Telemetry Info +21-236-12:16:28.746 00 UT_RUNPROC/238 write " --------------" +21-236-12:16:28.746 00 SPR-I:OPRO -------------- +21-236-12:16:28.746 00 UT_RUNPROC/240 write " Pkt Loss Count: N/A" +21-236-12:16:28.746 00 SPR-I:OPRO Pkt Loss Count: N/A +21-236-12:16:28.746 00 UT_RUNPROC/241 write "**************** End FSW Configuration ***************" +21-236-12:16:28.746 00 SPR-I:OPRO **************** End FSW Configuration *************** +21-236-12:16:28.746 00 UT_RUNPROC/242 ; +21-236-12:16:28.746 00 UT_RUNPROC/243 ; Start the procedure +21-236-12:16:28.746 00 UT_RUNPROC/244 ; +21-236-12:16:28.746 00 UT_RUNPROC/245 write "Starting Procedure.... ", proc_to_run +21-236-12:16:28.746 00 SPR-I:OPRO Starting Procedure.... scx_cpu1_ds_movefile +21-236-12:16:28.746 00 UT_RUNPROC/246 rstol_dir = "rstol 'start " & proc_to_run & "'" +21-236-12:16:28.746 00 UT_RUNPROC/247 stime = %gmt +21-236-12:16:28.746 00 UT_RUNPROC/248 native(rstol_dir) +21-236-12:16:28.881 00 SPR-I:OPRI --> start scx_cpu1_ds_movefile +21-236-12:16:28.881 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/scx_cpu1_ds_movefile.i +21-236-12:16:28.886 00 SPR-I:STS Procedure SCX_CPU1_DS_MOVEFILE started +21-236-12:16:28.886 00 SCX_CPU1_DS_MO/2 ;******************************************************************************* +21-236-12:16:28.886 00 SCX_CPU1_DS_MO/3 ; Test Name: ds_movefile +21-236-12:16:28.886 00 SCX_CPU1_DS_MO/4 ; Test Level: Build Verification +21-236-12:16:28.886 00 SCX_CPU1_DS_MO/5 ; Test Type: Functional +21-236-12:16:28.886 00 SCX_CPU1_DS_MO/6 ; +21-236-12:16:28.886 00 SCX_CPU1_DS_MO/7 ; Test Description +21-236-12:16:28.886 00 SCX_CPU1_DS_MO/8 ; This test verifies that the CFS Data Storage (DS) application writes +21-236-12:16:28.886 00 SCX_CPU1_DS_MO/9 ; messages to files according to the requirements and moves these files to +21-236-12:16:28.886 00 SCX_CPU1_DS_MO/10 ; the table-specified directory after they are closed. +21-236-12:16:28.886 00 SCX_CPU1_DS_MO/11 ; +21-236-12:16:28.887 00 SCX_CPU1_DS_MO/12 ; This test should only be executed if the DS_MOVE_FILES confuguration +21-236-12:16:28.887 00 SCX_CPU1_DS_MO/13 ; parameter is set to TRUE. Also, for this test to work properly, this +21-236-12:16:28.887 00 SCX_CPU1_DS_MO/14 ; configuration parameter must be set to 1 in order to generate the +21-236-12:16:28.887 00 SCX_CPU1_DS_MO/15 ; necessary File Table rdl since STOL expects this to be 1. +21-236-12:16:28.887 00 SCX_CPU1_DS_MO/16 ; +21-236-12:16:28.887 00 SCX_CPU1_DS_MO/17 ; Requirements Tested +21-236-12:16:28.887 00 SCX_CPU1_DS_MO/18 ; cDS1004 If DS accepts any command as valid, DS shall execute the +21-236-12:16:28.887 00 SCX_CPU1_DS_MO/19 ; command, increment the DS Valid Command Counter and issue an +21-236-12:16:28.887 00 SCX_CPU1_DS_MO/20 ; event message. +21-236-12:16:28.887 00 SCX_CPU1_DS_MO/21 ; cDS3000 DS shall construct filenames based on the following definitions +21-236-12:16:28.887 00 SCX_CPU1_DS_MO/22 ; provided in the Destination File table: +21-236-12:16:28.887 00 SCX_CPU1_DS_MO/23 ; path + base + [time/sequence characters] + extension +21-236-12:16:28.890 00 SCX_CPU1_DS_MO/24 ; cDS3000.1 If Filename Type indicates naming based on Sequence, the +21-236-12:16:28.890 00 SCX_CPU1_DS_MO/25 ; constructed filename will include a character representation of +21-236-12:16:28.890 00 SCX_CPU1_DS_MO/26 ; the Sequence Count value from the Destination File table. +21-236-12:16:28.890 00 SCX_CPU1_DS_MO/27 ; cDS3000.1.1 If Filename Type indicates naming based on Sequence, the value +21-236-12:16:28.890 00 SCX_CPU1_DS_MO/28 ; of Sequence Count shall be incremented each time a file is +21-236-12:16:28.890 00 SCX_CPU1_DS_MO/29 ; created. +21-236-12:16:28.890 00 SCX_CPU1_DS_MO/30 ; cDS3001 Prior to writing a packet to an existing destination file, DS +21-236-12:16:28.890 00 SCX_CPU1_DS_MO/31 ; shall verify that the resulting file size (after the write) +21-236-12:16:28.890 00 SCX_CPU1_DS_MO/32 ; shall not exceed the file size limit as defined in the +21-236-12:16:28.890 00 SCX_CPU1_DS_MO/33 ; Destination File Table. +21-236-12:16:28.890 00 SCX_CPU1_DS_MO/34 ; cDS3001.1 If the resulting file size would exceed the file size limit then +21-236-12:16:28.890 00 SCX_CPU1_DS_MO/35 ; DS shall close the existing file and open another file. +21-236-12:16:28.890 00 SCX_CPU1_DS_MO/36 ; cDS3001.2 A minimum of one packet shall be written to a file. +21-236-12:16:28.890 00 SCX_CPU1_DS_MO/37 ; cDS3002 Periodically, DS shall test the age of all open destination +21-236-12:16:28.890 00 SCX_CPU1_DS_MO/38 ; files. If any file age exceeds the maximum age defined for that +21-236-12:16:28.890 00 SCX_CPU1_DS_MO/39 ; file in the Destination File Table, then DS shall close the +21-236-12:16:28.890 00 SCX_CPU1_DS_MO/40 ; file. +21-236-12:16:28.890 00 SCX_CPU1_DS_MO/41 ; cDS3002.1 DS shall update file age and test age limits every time DS +21-236-12:16:28.890 00 SCX_CPU1_DS_MO/42 ; processes its housekeeping telemetry request command. +21-236-12:16:28.890 00 SCX_CPU1_DS_MO/43 ; cDS5002 Upon receipt of a Close File command, DS shall close the +21-236-12:16:28.890 00 SCX_CPU1_DS_MO/44 ; command-specified file. +21-236-12:16:28.890 00 SCX_CPU1_DS_MO/45 ; cDS8000 DS shall generate a housekeeping message containing the +21-236-12:16:28.890 00 SCX_CPU1_DS_MO/46 ; following: +21-236-12:16:28.891 00 SCX_CPU1_DS_MO/47 ; a. Valid Ground Command Counter +21-236-12:16:28.891 00 SCX_CPU1_DS_MO/48 ; b. Command Rejected Counter +21-236-12:16:28.891 00 SCX_CPU1_DS_MO/49 ; c. Packets discarded (DS was disabled) Counter +21-236-12:16:28.891 00 SCX_CPU1_DS_MO/50 ; d. Packets discarded (pkt has no filter) Counter +21-236-12:16:28.891 00 SCX_CPU1_DS_MO/51 ; e. Packets discarded (failed filter test) Counter +21-236-12:16:28.891 00 SCX_CPU1_DS_MO/52 ; f. Packets that passed filter test Counter +21-236-12:16:28.891 00 SCX_CPU1_DS_MO/53 ; g. Good destination file I/O Counter +21-236-12:16:28.891 00 SCX_CPU1_DS_MO/54 ; h. Bad destination file I/O Counter +21-236-12:16:28.891 00 SCX_CPU1_DS_MO/55 ; i. Good updates to secondary header Counter +21-236-12:16:28.891 00 SCX_CPU1_DS_MO/56 ; j. Bad updates to secondary header Counter +21-236-12:16:28.891 00 SCX_CPU1_DS_MO/57 ; k. Destination file table loads Counter +21-236-12:16:28.891 00 SCX_CPU1_DS_MO/58 ; l. Failed attempts to get table data pointer Counter +21-236-12:16:28.891 00 SCX_CPU1_DS_MO/59 ; m. Packet filter table loads Counter +21-236-12:16:28.891 00 SCX_CPU1_DS_MO/60 ; n. Failed attempts to get table data pointer Counter +21-236-12:16:28.891 00 SCX_CPU1_DS_MO/61 ; o. Application State +21-236-12:16:28.891 00 SCX_CPU1_DS_MO/62 ; p. Destinatation file(s) state: +21-236-12:16:28.891 00 SCX_CPU1_DS_MO/63 ; 1. File age +21-236-12:16:28.891 00 SCX_CPU1_DS_MO/64 ; 2. File size +21-236-12:16:28.892 00 SCX_CPU1_DS_MO/65 ; 3. File rate +21-236-12:16:28.892 00 SCX_CPU1_DS_MO/66 ; 4. Sequence count +21-236-12:16:28.892 00 SCX_CPU1_DS_MO/67 ; 5. Enable State +21-236-12:16:28.892 00 SCX_CPU1_DS_MO/68 ; 6. Open State +21-236-12:16:28.892 00 SCX_CPU1_DS_MO/69 ; 7. Filename +21-236-12:16:28.892 00 SCX_CPU1_DS_MO/70 ; cDS9000 Upon initialization of the SC Application, SC shall initialize +21-236-12:16:28.892 00 SCX_CPU1_DS_MO/71 ; the following data to Zero: +21-236-12:16:28.892 00 SCX_CPU1_DS_MO/72 ; a. Valid Ground Command Counter +21-236-12:16:28.892 00 SCX_CPU1_DS_MO/73 ; b. Command Rejected Counter +21-236-12:16:28.892 00 SCX_CPU1_DS_MO/74 ; c. Packets discarded (DS was disabled) Counter +21-236-12:16:28.892 00 SCX_CPU1_DS_MO/75 ; d. Packets discarded (pkt has no filter) Counter +21-236-12:16:28.892 00 SCX_CPU1_DS_MO/76 ; e. Packets discarded (failed filter test) Counter +21-236-12:16:28.894 00 SCX_CPU1_DS_MO/77 ; f. Packets that passed filter test Counter +21-236-12:16:28.894 00 SCX_CPU1_DS_MO/78 ; g. Good destination file I/O Counter +21-236-12:16:28.894 00 SCX_CPU1_DS_MO/79 ; h. Bad destination file I/O Counter +21-236-12:16:28.894 00 SCX_CPU1_DS_MO/80 ; i. Good updates to secondary header Counter +21-236-12:16:28.894 00 SCX_CPU1_DS_MO/81 ; j. Bad updates to secondary header Counter +21-236-12:16:28.894 00 SCX_CPU1_DS_MO/82 ; k. Destination file table loads Counter +21-236-12:16:28.894 00 SCX_CPU1_DS_MO/83 ; l. Failed attempts to get table data pointer Counter +21-236-12:16:28.894 00 SCX_CPU1_DS_MO/84 ; m. Packet filter table loads Counter +21-236-12:16:28.894 00 SCX_CPU1_DS_MO/85 ; n. Failed attempts to get table data pointer Counter +21-236-12:16:28.894 00 SCX_CPU1_DS_MO/86 ; +21-236-12:16:28.894 00 SCX_CPU1_DS_MO/87 ; Prerequisite Conditions +21-236-12:16:28.894 00 SCX_CPU1_DS_MO/88 ; The cFE is up and running and ready to accept commands. +21-236-12:16:28.894 00 SCX_CPU1_DS_MO/89 ; The DS commands and telemetry items exist in the GSE database. +21-236-12:16:28.894 00 SCX_CPU1_DS_MO/90 ; The display pages exist for the DS Housekeeping. +21-236-12:16:28.894 00 SCX_CPU1_DS_MO/91 ; A DS Test application (TST_DS) exists in order to fully test the DS +21-236-12:16:28.894 00 SCX_CPU1_DS_MO/92 ; Application. +21-236-12:16:28.894 00 SCX_CPU1_DS_MO/93 ; +21-236-12:16:28.894 00 SCX_CPU1_DS_MO/94 ; Assumptions and Constraints +21-236-12:16:28.894 00 SCX_CPU1_DS_MO/95 ; None. +21-236-12:16:28.894 00 SCX_CPU1_DS_MO/96 ; +21-236-12:16:28.894 00 SCX_CPU1_DS_MO/97 ; Change History +21-236-12:16:28.896 00 SCX_CPU1_DS_MO/98 ; Date Name Description +21-236-12:16:28.896 00 SCX_CPU1_DS_MO/99 ; 01/03/11 Walt Moleski Original Procedure. +21-236-12:16:28.896 00 SCX_CPU1_DS_MO/100 ; 01/23/15 Walt Moleski Updated the comments to detail what +21-236-12:16:28.896 00 SCX_CPU1_DS_MO/101 ; must be done prior to executing this +21-236-12:16:28.896 00 SCX_CPU1_DS_MO/102 ; test procedure. +21-236-12:16:28.897 00 SCX_CPU1_DS_MO/103 ; 01/31/17 Walt Moleski Updated for DS 2.5.0.0 using CPU1 for +21-236-12:16:28.901 00 SCX_CPU1_DS_MO/104 ; commanding and added a hostCPU variable +21-236-12:16:28.901 00 SCX_CPU1_DS_MO/105 ; for the utility procs to connect to the +21-236-12:16:28.901 00 SCX_CPU1_DS_MO/106 ; proper host IP address. +21-236-12:16:28.901 00 SCX_CPU1_DS_MO/107 ; +21-236-12:16:28.901 00 SCX_CPU1_DS_MO/108 ; Arguments +21-236-12:16:28.901 00 SCX_CPU1_DS_MO/109 ; None. +21-236-12:16:28.901 00 SCX_CPU1_DS_MO/110 ; +21-236-12:16:28.901 00 SCX_CPU1_DS_MO/111 ; Procedures Called +21-236-12:16:28.901 00 SCX_CPU1_DS_MO/112 ; Name Description +21-236-12:16:28.901 00 SCX_CPU1_DS_MO/113 ; ut_tlmwait Wait for a specified telemetry point to update to a +21-236-12:16:28.901 00 SCX_CPU1_DS_MO/114 ; specified value. +21-236-12:16:28.901 00 SCX_CPU1_DS_MO/115 ; ut_pfindicate Print the pass fail status of a particular requirement +21-236-12:16:28.901 00 SCX_CPU1_DS_MO/116 ; number. +21-236-12:16:28.901 00 SCX_CPU1_DS_MO/117 ; ut_setupevents Performs setup to verify that a particular event +21-236-12:16:28.901 00 SCX_CPU1_DS_MO/118 ; message was received by ASIST. +21-236-12:16:28.901 00 SCX_CPU1_DS_MO/119 ; ut_setrequirements A directive to set the status of the cFE +21-236-12:16:28.901 00 SCX_CPU1_DS_MO/120 ; requirements array. +21-236-12:16:28.901 00 SCX_CPU1_DS_MO/121 ; +21-236-12:16:28.901 00 SCX_CPU1_DS_MO/122 ; Expected Test Results and Analysis +21-236-12:16:28.901 00 SCX_CPU1_DS_MO/123 ; +21-236-12:16:28.901 00 SCX_CPU1_DS_MO/124 ;********************************************************************** +21-236-12:16:28.901 00 SCX_CPU1_DS_MO/125 +21-236-12:16:28.901 00 SCX_CPU1_DS_MO/127 local logging = %liv (log_procedure) +21-236-12:16:28.902 00 SCX_CPU1_DS_MO/128 %liv (log_procedure) = FALSE +21-236-12:16:28.988 00 SCX_CPU1_DS_MO/144 +21-236-12:16:28.988 00 SCX_CPU1_DS_MO/145 #define DS_1004 0 +21-236-12:16:28.988 00 SCX_CPU1_DS_MO/146 #define DS_3000 1 +21-236-12:16:28.988 00 SCX_CPU1_DS_MO/147 #define DS_30001 2 +21-236-12:16:28.988 00 SCX_CPU1_DS_MO/148 #define DS_300011 3 +21-236-12:16:28.988 00 SCX_CPU1_DS_MO/149 #define DS_3001 4 +21-236-12:16:28.988 00 SCX_CPU1_DS_MO/150 #define DS_30011 5 +21-236-12:16:28.988 00 SCX_CPU1_DS_MO/151 #define DS_30012 6 +21-236-12:16:28.988 00 SCX_CPU1_DS_MO/152 #define DS_3002 7 +21-236-12:16:28.988 00 SCX_CPU1_DS_MO/153 #define DS_30021 8 +21-236-12:16:28.988 00 SCX_CPU1_DS_MO/154 #define DS_5002 9 +21-236-12:16:28.988 00 SCX_CPU1_DS_MO/155 #define DS_8000 10 +21-236-12:16:28.988 00 SCX_CPU1_DS_MO/156 #define DS_9000 11 +21-236-12:16:28.988 00 SCX_CPU1_DS_MO/157 +21-236-12:16:28.988 00 SCX_CPU1_DS_MO/158 global ut_req_array_size = 11 +21-236-12:16:28.988 00 SCX_CPU1_DS_MO/159 global ut_requirement[0 .. ut_req_array_size] +21-236-12:16:28.988 00 SCX_CPU1_DS_MO/160 +21-236-12:16:28.988 00 SCX_CPU1_DS_MO/161 for i = 0 to ut_req_array_size DO +21-236-12:16:28.988 00 SCX_CPU1_DS_MO/162 ut_requirement[i] = "U" +21-236-12:16:28.988 00 SCX_CPU1_DS_MO/163 enddo +21-236-12:16:28.988 00 SCX_CPU1_DS_MO/161 for i = 0 to ut_req_array_size DO +21-236-12:16:28.988 00 SCX_CPU1_DS_MO/162 ut_requirement[i] = "U" +21-236-12:16:28.988 00 SCX_CPU1_DS_MO/163 enddo +21-236-12:16:28.988 00 SCX_CPU1_DS_MO/161 for i = 0 to ut_req_array_size DO +21-236-12:16:28.988 00 SCX_CPU1_DS_MO/162 ut_requirement[i] = "U" +21-236-12:16:28.988 00 SCX_CPU1_DS_MO/163 enddo +21-236-12:16:28.988 00 SCX_CPU1_DS_MO/161 for i = 0 to ut_req_array_size DO +21-236-12:16:28.988 00 SCX_CPU1_DS_MO/162 ut_requirement[i] = "U" +21-236-12:16:28.989 00 SCX_CPU1_DS_MO/163 enddo +21-236-12:16:28.989 00 SCX_CPU1_DS_MO/161 for i = 0 to ut_req_array_size DO +21-236-12:16:28.989 00 SCX_CPU1_DS_MO/162 ut_requirement[i] = "U" +21-236-12:16:28.989 00 SCX_CPU1_DS_MO/163 enddo +21-236-12:16:28.989 00 SCX_CPU1_DS_MO/161 for i = 0 to ut_req_array_size DO +21-236-12:16:28.989 00 SCX_CPU1_DS_MO/162 ut_requirement[i] = "U" +21-236-12:16:28.989 00 SCX_CPU1_DS_MO/163 enddo +21-236-12:16:28.989 00 SCX_CPU1_DS_MO/161 for i = 0 to ut_req_array_size DO +21-236-12:16:28.989 00 SCX_CPU1_DS_MO/162 ut_requirement[i] = "U" +21-236-12:16:28.989 00 SCX_CPU1_DS_MO/163 enddo +21-236-12:16:28.989 00 SCX_CPU1_DS_MO/161 for i = 0 to ut_req_array_size DO +21-236-12:16:28.989 00 SCX_CPU1_DS_MO/162 ut_requirement[i] = "U" +21-236-12:16:28.989 00 SCX_CPU1_DS_MO/163 enddo +21-236-12:16:28.989 00 SCX_CPU1_DS_MO/161 for i = 0 to ut_req_array_size DO +21-236-12:16:28.989 00 SCX_CPU1_DS_MO/162 ut_requirement[i] = "U" +21-236-12:16:28.989 00 SCX_CPU1_DS_MO/163 enddo +21-236-12:16:28.989 00 SCX_CPU1_DS_MO/161 for i = 0 to ut_req_array_size DO +21-236-12:16:28.989 00 SCX_CPU1_DS_MO/162 ut_requirement[i] = "U" +21-236-12:16:28.990 00 SCX_CPU1_DS_MO/163 enddo +21-236-12:16:28.990 00 SCX_CPU1_DS_MO/161 for i = 0 to ut_req_array_size DO +21-236-12:16:28.990 00 SCX_CPU1_DS_MO/162 ut_requirement[i] = "U" +21-236-12:16:28.990 00 SCX_CPU1_DS_MO/163 enddo +21-236-12:16:28.990 00 SCX_CPU1_DS_MO/161 for i = 0 to ut_req_array_size DO +21-236-12:16:28.990 00 SCX_CPU1_DS_MO/162 ut_requirement[i] = "U" +21-236-12:16:28.990 00 SCX_CPU1_DS_MO/163 enddo +21-236-12:16:28.990 00 SCX_CPU1_DS_MO/161 for i = 0 to ut_req_array_size DO +21-236-12:16:28.990 00 SCX_CPU1_DS_MO/164 +21-236-12:16:28.990 00 SCX_CPU1_DS_MO/165 ;********************************************************************** +21-236-12:16:28.990 00 SCX_CPU1_DS_MO/166 ; Set the local values +21-236-12:16:28.990 00 SCX_CPU1_DS_MO/167 ;********************************************************************** +21-236-12:16:28.990 00 SCX_CPU1_DS_MO/168 local cfe_requirements[0 .. ut_req_array_size] = ["DS_1004", "DS_3000", "DS_3000.1", "DS_3000.1.1", "DS_3001", "DS_3001.1", "DS_3001.2", "DS_3002", "DS_3002.1", "DS_5002", "DS_8000", "DS_9000" ] +21-236-12:16:28.990 00 SCX_CPU1_DS_MO/169 +21-236-12:16:28.990 00 SCX_CPU1_DS_MO/170 ;********************************************************************** +21-236-12:16:28.990 00 SCX_CPU1_DS_MO/171 ; Define local variables +21-236-12:16:28.990 00 SCX_CPU1_DS_MO/172 ;********************************************************************** +21-236-12:16:28.990 00 SCX_CPU1_DS_MO/173 LOCAL rawcmd +21-236-12:16:28.990 00 SCX_CPU1_DS_MO/174 LOCAL fileTblPktId, fileTblAppId +21-236-12:16:28.990 00 SCX_CPU1_DS_MO/175 LOCAL filterTblPktId, filterTblAppId +21-236-12:16:28.990 00 SCX_CPU1_DS_MO/176 local DSAppName = "DS" +21-236-12:16:28.990 00 SCX_CPU1_DS_MO/177 local fileTblName = DSAppName & "." & DS_DESTINATION_TBL_NAME +21-236-12:16:28.991 00 SCX_CPU1_DS_MO/178 local filterTblName = DSAppName & "." & DS_FILTER_TBL_NAME +21-236-12:16:28.991 00 SCX_CPU1_DS_MO/179 local ramDir = "RAM:0" +21-236-12:16:28.991 00 SCX_CPU1_DS_MO/180 local hostCPU = "CPU3" +21-236-12:16:28.991 00 SCX_CPU1_DS_MO/181 +21-236-12:16:28.991 00 SCX_CPU1_DS_MO/184 fileTblPktId = "0F76" +21-236-12:16:28.991 00 SCX_CPU1_DS_MO/185 fileTblAppId = 3958 +21-236-12:16:28.991 00 SCX_CPU1_DS_MO/186 filterTblPktId = "0F77" +21-236-12:16:28.991 00 SCX_CPU1_DS_MO/187 filterTblAppId = 3959 +21-236-12:16:28.991 00 SCX_CPU1_DS_MO/188 +21-236-12:16:28.991 00 SCX_CPU1_DS_MO/189 write ";***********************************************************************" +21-236-12:16:28.991 00 SPR-I:OPRO ;*********************************************************************** +21-236-12:16:28.991 00 SCX_CPU1_DS_MO/190 write "; Step 1.0: Data Storage Test Setup." +21-236-12:16:28.991 00 SPR-I:OPRO ; Step 1.0: Data Storage Test Setup. +21-236-12:16:28.991 00 SCX_CPU1_DS_MO/191 write ";***********************************************************************" +21-236-12:16:28.991 00 SPR-I:OPRO ;*********************************************************************** +21-236-12:16:28.991 00 SCX_CPU1_DS_MO/192 write "; Step 1.1: Command a Power-on Reset on CPU1." +21-236-12:16:28.991 00 SPR-I:OPRO ; Step 1.1: Command a Power-on Reset on CPU1. +21-236-12:16:28.991 00 SCX_CPU1_DS_MO/193 write ";***********************************************************************" +21-236-12:16:28.991 00 SPR-I:OPRO ;*********************************************************************** +21-236-12:16:28.991 00 SCX_CPU1_DS_MO/194 /SCX_CPU1_ES_POWERONRESET +21-236-12:16:29.003 00 SCX_CPU1_DS_MO/195 wait 10 +21-236-12:16:29.003 00 SPR-I:STTE Wait mode - waiting 10 seconds ... +21-236-12:16:39.010 00 SCX_CPU1_DS_MO/196 +21-236-12:16:39.010 00 SCX_CPU1_DS_MO/197 close_data_center +21-236-12:16:39.011 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/clear_spacecraft_status.i +21-236-12:16:39.012 00 SPR-I:STS Procedure CLEAR_SPACECRAFT_STATUS started +21-236-12:16:39.013 00 CLEAR_SPACECRA/2 ; +21-236-12:16:39.013 00 CLEAR_SPACECRA/3 local logging = %liv(log_procedure) +21-236-12:16:39.013 00 CLEAR_SPACECRA/4 %liv (log_procedure) = FALSE +21-236-12:16:39.018 00 CLEAR_SPACECRA/135 +21-236-12:16:39.018 00 CLEAR_SPACECRA/136 endproc +21-236-12:16:39.018 00 SPR-I:STS Procedure CLEAR_SPACECRAFT_STATUS completed +21-236-12:16:39.032 00 SCX_CPU1_DS_MO/198 wait 60 +21-236-12:16:39.032 00 SPR-I:STTE Wait mode - waiting 60 seconds ... +21-236-12:17:39.081 00 SCX_CPU1_DS_MO/199 +21-236-12:17:39.081 00 SCX_CPU1_DS_MO/200 cfe_startup {hostCPU} +21-236-12:17:39.095 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-12:17:49.106 00 SPR-I:STTE WAIT UNTIL completed +21-236-12:17:49.167 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/send_that_to_command.i +21-236-12:17:49.167 00 SPR-I:STS Procedure SEND_THAT_TO_COMMAND started +21-236-12:17:49.167 00 SEND_THAT_TO_C/2 ; +21-236-12:17:49.168 00 SEND_THAT_TO_C/3 local logging = %liv (log_procedure) +21-236-12:17:49.168 00 SEND_THAT_TO_C/4 %liv (log_procedure) = FALSE +21-236-12:17:49.169 00 SPR-I:OPRO Sending: /SCX_CPU1_TO_OUTPUT_ENA gs582cfslab4 +21-236-12:17:49.221 00 SEND_THAT_TO_C/83 +21-236-12:17:49.221 00 SEND_THAT_TO_C/84 endproc +21-236-12:17:49.221 00 SPR-I:STS Procedure SEND_THAT_TO_COMMAND completed +21-236-12:17:49.221 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-12:17:49.720 00 TLMH-I:STS 58-012-14:03:48.517 INFO CPU=CPU1 APPNAME=TO_LAB_APP EVENT ID=3 TO telemetry output enabled for IP 192.168.1.101 +21-236-12:17:53.226 00 SPR-I:STTE WAIT UNTIL completed +21-236-12:17:53.226 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/fill_in_spacecraft_status.i +21-236-12:17:53.228 00 SPR-I:STS Procedure FILL_IN_SPACECRAFT_STATUS started +21-236-12:17:53.228 00 FILL_IN_SPACEC/2 ; +21-236-12:17:53.228 00 FILL_IN_SPACEC/3 local logging = %liv (log_procedure) +21-236-12:17:53.229 00 FILL_IN_SPACEC/4 %liv (log_procedure) = FALSE +21-236-12:17:53.233 00 FILL_IN_SPACEC/152 +21-236-12:17:53.233 00 FILL_IN_SPACEC/153 endproc +21-236-12:17:53.233 00 SPR-I:STS Procedure FILL_IN_SPACECRAFT_STATUS completed +21-236-12:17:53.233 00 SCX_CPU1_DS_MO/201 wait 5 +21-236-12:17:53.233 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-12:17:58.237 00 SCX_CPU1_DS_MO/202 +21-236-12:17:58.237 00 SCX_CPU1_DS_MO/203 write ";***********************************************************************" +21-236-12:17:58.237 00 SPR-I:OPRO ;*********************************************************************** +21-236-12:17:58.237 00 SCX_CPU1_DS_MO/204 write "; Step 1.2: Upload the initial DS table load images to CPU1." +21-236-12:17:58.237 00 SPR-I:OPRO ; Step 1.2: Upload the initial DS table load images to CPU1. +21-236-12:17:58.238 00 SCX_CPU1_DS_MO/205 write ";***********************************************************************" +21-236-12:17:58.238 00 SPR-I:OPRO ;*********************************************************************** +21-236-12:17:58.238 00 SCX_CPU1_DS_MO/207 s scx_cpu1_ds_tbl4 +21-236-12:17:58.238 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/scx_cpu1_ds_tbl4.i +21-236-12:17:58.252 00 SPR-I:STS Procedure SCX_CPU1_DS_TBL4 started +21-236-12:17:58.252 00 SCX_CPU1_DS_TB/2 ;******************************************************************************* +21-236-12:17:58.252 00 SCX_CPU1_DS_TB/3 ; Test Name: ds_tbl4 +21-236-12:17:58.252 00 SCX_CPU1_DS_TB/4 ; Test Level: Build Verification +21-236-12:17:58.252 00 SCX_CPU1_DS_TB/5 ; Test Type: Functional +21-236-12:17:58.252 00 SCX_CPU1_DS_TB/6 ; +21-236-12:17:58.252 00 SCX_CPU1_DS_TB/7 ; Test Description +21-236-12:17:58.252 00 SCX_CPU1_DS_TB/8 ; This procedure creates the initial CFS Data Storage (DS) Destination +21-236-12:17:58.252 00 SCX_CPU1_DS_TB/9 ; File and Packet Filter Table load image files. These files are currently +21-236-12:17:58.253 00 SCX_CPU1_DS_TB/10 ; used by the MoveFile test procedure. +21-236-12:17:58.253 00 SCX_CPU1_DS_TB/11 ; +21-236-12:17:58.253 00 SCX_CPU1_DS_TB/12 ; Prerequisite Conditions +21-236-12:17:58.253 00 SCX_CPU1_DS_TB/13 ; None. +21-236-12:17:58.253 00 SCX_CPU1_DS_TB/14 ; +21-236-12:17:58.253 00 SCX_CPU1_DS_TB/15 ; Assumptions and Constraints +21-236-12:17:58.253 00 SCX_CPU1_DS_TB/16 ; None. +21-236-12:17:58.253 00 SCX_CPU1_DS_TB/17 ; +21-236-12:17:58.253 00 SCX_CPU1_DS_TB/18 ; Change History +21-236-12:17:58.253 00 SCX_CPU1_DS_TB/19 ; +21-236-12:17:58.253 00 SCX_CPU1_DS_TB/20 ; Date Name Description +21-236-12:17:58.253 00 SCX_CPU1_DS_TB/21 ; 01/03/11 Walt Moleski Inital implemetation. +21-236-12:17:58.253 00 SCX_CPU1_DS_TB/22 ; 01/31/17 Walt Moleski Updated for DS 2.5.0.0 using CPU1 for +21-236-12:17:58.254 00 SCX_CPU1_DS_TB/23 ; commanding and added a hostCPU variable +21-236-12:17:58.262 00 SCX_CPU1_DS_TB/24 ; for the utility procs to connect to the +21-236-12:17:58.262 00 SCX_CPU1_DS_TB/25 ; proper host IP address. +21-236-12:17:58.262 00 SCX_CPU1_DS_TB/26 ; +21-236-12:17:58.262 00 SCX_CPU1_DS_TB/27 ; Arguments +21-236-12:17:58.262 00 SCX_CPU1_DS_TB/28 ; None. +21-236-12:17:58.262 00 SCX_CPU1_DS_TB/29 ; +21-236-12:17:58.262 00 SCX_CPU1_DS_TB/30 ; Procedures Called +21-236-12:17:58.262 00 SCX_CPU1_DS_TB/31 ; Name Description +21-236-12:17:58.263 00 SCX_CPU1_DS_TB/32 ; +21-236-12:17:58.263 00 SCX_CPU1_DS_TB/33 ; Expected Test Results and Analysis +21-236-12:17:58.263 00 SCX_CPU1_DS_TB/34 ; +21-236-12:17:58.263 00 SCX_CPU1_DS_TB/35 ;********************************************************************** +21-236-12:17:58.263 00 SCX_CPU1_DS_TB/36 +21-236-12:17:58.263 00 SCX_CPU1_DS_TB/37 local logging = %liv (log_procedure) +21-236-12:17:58.263 00 SCX_CPU1_DS_TB/38 %liv (log_procedure) = FALSE +21-236-12:17:58.318 00 SPR-I:OPRO ;*********************************************************************** +21-236-12:17:58.318 00 SPR-I:OPRO ; Step 1.0: Define DS Destination File And Packet Filter Tables. +21-236-12:17:58.319 00 SPR-I:OPRO ;*********************************************************************** +21-236-12:17:58.324 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/create_tbl_file_from_cvt.i +21-236-12:17:58.324 00 SPR-I:STS Procedure CREATE_TBL_FILE_FROM_CVT started +21-236-12:17:58.326 00 SPR-I:OPRO ********** ds_movefile.tbl ********** +21-236-12:17:58.326 00 SPR-I:OPRO +21-236-12:17:58.326 00 SPR-I:OPRO Content Type: cFE1 +21-236-12:17:58.326 00 SPR-I:OPRO Sub Type: 8 +21-236-12:17:58.326 00 SPR-I:OPRO Length: 12 +21-236-12:17:58.326 00 SPR-I:OPRO Spacecraft Id: SCX +21-236-12:17:58.326 00 SPR-I:OPRO Processor Id: CPU3 +21-236-12:17:58.326 00 SPR-I:OPRO Application Id: 3958 +21-236-12:17:58.327 00 SPR-I:OPRO Create Time Secs: 1629807478 +21-236-12:17:58.327 00 SPR-I:OPRO Create Time Subsecs: 0 +21-236-12:17:58.327 00 SPR-I:OPRO File Description: Move File Test File Table +21-236-12:17:58.327 00 SPR-I:OPRO +21-236-12:17:58.327 00 SPR-I:OPRO ********** DS.FILE_TBL ********** +21-236-12:17:58.327 00 SPR-I:OPRO +21-236-12:17:58.327 00 SPR-I:OPRO Start Mnemonic: SCX_CPU1_DS_DF_TBL_Description +21-236-12:17:58.327 00 SPR-I:OPRO Byte Offset: 0 +21-236-12:17:58.327 00 SPR-I:OPRO End Mnemonic: SCX_CPU1_DS_DF_TBL[7].SeqCnt +21-236-12:17:58.327 00 SPR-I:OPRO Number of Bytes: 1760 +21-236-12:17:58.327 00 SPR-I:OPRO +21-236-12:17:58.332 00 SPR-I:STS Loading file /s/opr/accounts/global/prc/partial_cvt_to_file_beta.i +21-236-12:17:58.332 00 SPR-I:STS Procedure PARTIAL_CVT_TO_FILE_BETA started +21-236-12:17:58.332 00 SPR-I:OPRO The unix command is cd /s/opr/accounts/cfs_test/image;cvt2file -s 116 -e 1875 P0F76 ds.file_tbl +21-236-12:17:58.338 00 SPR-I:STS Procedure PARTIAL_CVT_TO_FILE_BETA completed +21-236-12:17:58.338 00 SPR-I:OPRO cd /s/opr/accounts/cfs_test/image;cat ds_movefile.tbl.tmp ds.file_tbl > ds_movefile.tbl +21-236-12:17:58.343 00 SPR-I:OPRO cd /s/opr/accounts/cfs_test/image;rm ds.file_tbl ds_movefile.tbl.tmp +21-236-12:17:58.346 00 SPR-I:STS Procedure CREATE_TBL_FILE_FROM_CVT completed +21-236-12:17:58.829 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/create_tbl_file_from_cvt.i +21-236-12:17:58.830 00 SPR-I:STS Procedure CREATE_TBL_FILE_FROM_CVT started +21-236-12:17:58.831 00 SPR-I:OPRO ********** ds_movefilter.tbl ********** +21-236-12:17:58.831 00 SPR-I:OPRO +21-236-12:17:58.831 00 SPR-I:OPRO Content Type: cFE1 +21-236-12:17:58.831 00 SPR-I:OPRO Sub Type: 8 +21-236-12:17:58.831 00 SPR-I:OPRO Length: 12 +21-236-12:17:58.832 00 SPR-I:OPRO Spacecraft Id: SCX +21-236-12:17:58.832 00 SPR-I:OPRO Processor Id: CPU3 +21-236-12:17:58.832 00 SPR-I:OPRO Application Id: 3959 +21-236-12:17:58.832 00 SPR-I:OPRO Create Time Secs: 1629807478 +21-236-12:17:58.832 00 SPR-I:OPRO Create Time Subsecs: 0 +21-236-12:17:58.832 00 SPR-I:OPRO File Description: Move File Test Filter Table +21-236-12:17:58.832 00 SPR-I:OPRO +21-236-12:17:58.832 00 SPR-I:OPRO ********** DS.FILTER_TBL ********** +21-236-12:17:58.832 00 SPR-I:OPRO +21-236-12:17:58.832 00 SPR-I:OPRO Start Mnemonic: SCX_CPU1_DS_PF_TBL_Description +21-236-12:17:58.832 00 SPR-I:OPRO Byte Offset: 0 +21-236-12:17:58.832 00 SPR-I:OPRO End Mnemonic: SCX_CPU1_DS_PF_TBL[255].FilterParams[3].O_Value +21-236-12:17:58.832 00 SPR-I:OPRO Number of Bytes: 9248 +21-236-12:17:58.832 00 SPR-I:OPRO +21-236-12:17:58.839 00 SPR-I:STS Loading file /s/opr/accounts/global/prc/partial_cvt_to_file_beta.i +21-236-12:17:58.839 00 SPR-I:STS Procedure PARTIAL_CVT_TO_FILE_BETA started +21-236-12:17:58.839 00 SPR-I:OPRO The unix command is cd /s/opr/accounts/cfs_test/image;cvt2file -s 116 -e 9363 P0F77 ds.filter_tbl +21-236-12:17:58.843 00 SPR-I:STS Procedure PARTIAL_CVT_TO_FILE_BETA completed +21-236-12:17:58.843 00 SPR-I:OPRO cd /s/opr/accounts/cfs_test/image;cat ds_movefilter.tbl.tmp ds.filter_tbl > ds_movefilter.tbl +21-236-12:17:58.848 00 SPR-I:OPRO cd /s/opr/accounts/cfs_test/image;rm ds.filter_tbl ds_movefilter.tbl.tmp +21-236-12:17:58.854 00 SPR-I:STS Procedure CREATE_TBL_FILE_FROM_CVT completed +21-236-12:17:58.854 00 SCX_CPU1_DS_TB/314 +21-236-12:17:58.854 00 SCX_CPU1_DS_TB/315 write ";*********************************************************************" +21-236-12:17:58.854 00 SPR-I:OPRO ;********************************************************************* +21-236-12:17:58.854 00 SCX_CPU1_DS_TB/316 write "; End procedure SCX_CPU1_ds_tbl4" +21-236-12:17:58.854 00 SPR-I:OPRO ; End procedure SCX_CPU1_ds_tbl4 +21-236-12:17:58.854 00 SCX_CPU1_DS_TB/317 write ";*********************************************************************" +21-236-12:17:58.854 00 SPR-I:OPRO ;********************************************************************* +21-236-12:17:58.854 00 SCX_CPU1_DS_TB/318 ENDPROC +21-236-12:17:58.854 00 SPR-I:STS Procedure SCX_CPU1_DS_TBL4 completed +21-236-12:17:58.855 00 SCX_CPU1_DS_MO/208 +21-236-12:17:58.855 00 SCX_CPU1_DS_MO/210 local destFileName = DS_DEF_DEST_FILENAME +21-236-12:17:58.855 00 SCX_CPU1_DS_MO/211 local filterFileName = DS_DEF_FILTER_FILENAME +21-236-12:17:58.855 00 SCX_CPU1_DS_MO/212 local slashLoc = %locate(destFileName,"/") +21-236-12:17:58.855 00 SCX_CPU1_DS_MO/213 +21-236-12:17:58.855 00 SCX_CPU1_DS_MO/215 while (slashLoc <> 0) do +21-236-12:17:58.855 00 SCX_CPU1_DS_MO/216 destFileName = %substring(destFileName,slashLoc+1,%length(destFileName)) +21-236-12:17:58.855 00 SCX_CPU1_DS_MO/217 slashLoc = %locate(destFileName,"/") +21-236-12:17:58.855 00 SCX_CPU1_DS_MO/218 enddo +21-236-12:17:58.855 00 SCX_CPU1_DS_MO/216 destFileName = %substring(destFileName,slashLoc+1,%length(destFileName)) +21-236-12:17:58.855 00 SCX_CPU1_DS_MO/217 slashLoc = %locate(destFileName,"/") +21-236-12:17:58.856 00 SCX_CPU1_DS_MO/218 enddo +21-236-12:17:58.856 00 SCX_CPU1_DS_MO/219 +21-236-12:17:58.856 00 SCX_CPU1_DS_MO/220 write "==> Default Destination File Table filename = '",destFileName,"'" +21-236-12:17:58.856 00 SPR-I:OPRO ==> Default Destination File Table filename = 'ds_file_tbl.tbl' +21-236-12:17:58.856 00 SCX_CPU1_DS_MO/221 +21-236-12:17:58.856 00 SCX_CPU1_DS_MO/222 slashLoc = %locate(filterFileName,"/") +21-236-12:17:58.856 00 SCX_CPU1_DS_MO/224 while (slashLoc <> 0) do +21-236-12:17:58.856 00 SCX_CPU1_DS_MO/225 filterFileName = %substring(filterFileName,slashLoc+1,%length(filterFileName)) +21-236-12:17:58.856 00 SCX_CPU1_DS_MO/226 slashLoc = %locate(filterFileName,"/") +21-236-12:17:58.856 00 SCX_CPU1_DS_MO/227 enddo +21-236-12:17:58.859 00 SCX_CPU1_DS_MO/225 filterFileName = %substring(filterFileName,slashLoc+1,%length(filterFileName)) +21-236-12:17:58.859 00 SCX_CPU1_DS_MO/226 slashLoc = %locate(filterFileName,"/") +21-236-12:17:58.859 00 SCX_CPU1_DS_MO/227 enddo +21-236-12:17:58.859 00 SCX_CPU1_DS_MO/228 +21-236-12:17:58.859 00 SCX_CPU1_DS_MO/229 write "==> Default Filter Table filename = '",filterFileName,"'" +21-236-12:17:58.859 00 SPR-I:OPRO ==> Default Filter Table filename = 'ds_filter_tbl.tbl' +21-236-12:17:58.859 00 SCX_CPU1_DS_MO/230 +21-236-12:17:58.860 00 SCX_CPU1_DS_MO/232 ;s ftp_file("CF:0", "ds_movefile.tbl", destFileName, hostCPU, "P") +21-236-12:17:58.860 00 SCX_CPU1_DS_MO/233 ;s ftp_file("CF:0", "ds_movefilter.tbl", filterFileName, hostCPU, "P") +21-236-12:17:58.860 00 SCX_CPU1_DS_MO/234 +21-236-12:17:58.860 00 SCX_CPU1_DS_MO/235 ; Load the File table created above +21-236-12:17:58.860 00 SCX_CPU1_DS_MO/236 s load_table("ds_movefile.tbl",hostCPU) +21-236-12:17:58.860 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/load_table.i +21-236-12:17:58.860 00 SPR-I:STS Procedure LOAD_TABLE started +21-236-12:17:58.860 00 LOAD_TABLE/2 ; +21-236-12:17:58.860 00 LOAD_TABLE/3 local logging = %liv (log_procedure) +21-236-12:17:58.860 00 LOAD_TABLE/4 %liv (log_procedure) = FALSE +21-236-12:17:58.861 00 SPR-I:OPRO Table Filename: ds_movefile.tbl +21-236-12:17:58.862 00 SPR-I:OPRO The perl command is: perl /s/opr/accounts/global/tools/table_ftp.pl 192.168.1.8 ds_movefile.tbl RAM:0 3 +21-236-12:17:58.862 00 SPR-I:OPRO +21-236-12:17:59.005 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-12:17:59.005 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-12:18:04.009 00 SPR-I:OPRO +21-236-12:18:04.012 00 SPR-I:OPRO Sending Command: /SCX_CPU1_TBL_LOAD LFILENAME="/ram/ds_movefile.tbl" +21-236-12:18:04.028 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-12:18:04.211 00 TLMH-I:STS 58-012-14:04:03.501 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=12 Successful load of '/ram/ds_movefile.tbl' into 'DS.FILE_TBL' working buffer +21-236-12:18:05.029 00 SPR-I:STTE WAIT UNTIL completed +21-236-12:18:05.031 00 LOAD_TABLE/195 +21-236-12:18:05.031 00 LOAD_TABLE/196 ENDPROC +21-236-12:18:05.031 00 SPR-I:STS Procedure LOAD_TABLE completed +21-236-12:18:05.032 00 SCX_CPU1_DS_MO/237 wait 5 +21-236-12:18:05.032 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-12:18:10.036 00 SCX_CPU1_DS_MO/238 +21-236-12:18:10.036 00 SCX_CPU1_DS_MO/239 /SCX_CPU1_TBL_VALIDATE INACTIVE VTABLENAME=fileTblName +21-236-12:18:10.053 00 SCX_CPU1_DS_MO/240 wait 5 +21-236-12:18:10.053 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-12:18:12.715 00 TLMH-I:STS 58-012-14:04:12.004 INFO CPU=CPU1 APPNAME=DS EVENT ID=10 Destination file table verify results: desc text = OK, good entries = 8, bad = 0, unused = 8 +21-236-12:18:12.716 00 TLMH-I:STS 58-012-14:04:12.004 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=36 DS validation successful for Inactive 'DS.FILE_TBL' +21-236-12:18:15.058 00 SCX_CPU1_DS_MO/241 +21-236-12:18:15.058 00 SCX_CPU1_DS_MO/242 /SCX_CPU1_TBL_ACTIVATE ATableName=fileTblName +21-236-12:18:15.073 00 SCX_CPU1_DS_MO/243 wait 5 +21-236-12:18:15.073 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-12:18:16.718 00 TLMH-I:STS 58-012-14:04:16.003 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=37 DS Successfully Updated 'DS.FILE_TBL' +21-236-12:18:20.079 00 SCX_CPU1_DS_MO/244 +21-236-12:18:20.079 00 SCX_CPU1_DS_MO/245 ; Load the Filter table created above +21-236-12:18:20.079 00 SCX_CPU1_DS_MO/246 s load_table("ds_movefilter.tbl",hostCPU) +21-236-12:18:20.080 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/load_table.i +21-236-12:18:20.081 00 SPR-I:STS Procedure LOAD_TABLE started +21-236-12:18:20.082 00 LOAD_TABLE/2 ; +21-236-12:18:20.082 00 LOAD_TABLE/3 local logging = %liv (log_procedure) +21-236-12:18:20.082 00 LOAD_TABLE/4 %liv (log_procedure) = FALSE +21-236-12:18:20.085 00 SPR-I:OPRO Table Filename: ds_movefilter.tbl +21-236-12:18:20.087 00 SPR-I:OPRO The perl command is: perl /s/opr/accounts/global/tools/table_ftp.pl 192.168.1.8 ds_movefilter.tbl RAM:0 3 +21-236-12:18:20.087 00 SPR-I:OPRO +21-236-12:18:20.219 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-12:18:20.220 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-12:18:25.224 00 SPR-I:OPRO +21-236-12:18:25.225 00 SPR-I:OPRO Sending Command: /SCX_CPU1_TBL_LOAD LFILENAME="/ram/ds_movefilter.tbl" +21-236-12:18:25.239 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-12:18:25.714 00 TLMH-I:STS 58-012-14:04:25.001 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=12 Successful load of '/ram/ds_movefilter.tbl' into 'DS.FILTER_TBL' working buffer +21-236-12:18:29.243 00 SPR-I:STTE WAIT UNTIL completed +21-236-12:18:29.245 00 LOAD_TABLE/195 +21-236-12:18:29.245 00 LOAD_TABLE/196 ENDPROC +21-236-12:18:29.245 00 SPR-I:STS Procedure LOAD_TABLE completed +21-236-12:18:29.246 00 SCX_CPU1_DS_MO/247 wait 5 +21-236-12:18:29.246 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-12:18:34.251 00 SCX_CPU1_DS_MO/248 +21-236-12:18:34.251 00 SCX_CPU1_DS_MO/249 /SCX_CPU1_TBL_VALIDATE INACTIVE VTABLENAME=filterTblName +21-236-12:18:34.265 00 SCX_CPU1_DS_MO/250 wait 5 +21-236-12:18:34.265 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-12:18:36.716 00 TLMH-I:STS 58-012-14:04:36.004 INFO CPU=CPU1 APPNAME=DS EVENT ID=12 Filter table verify results: desc text = OK, good entries = 6, bad = 0, unused = 250 +21-236-12:18:36.717 00 TLMH-I:STS 58-012-14:04:36.004 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=36 DS validation successful for Inactive 'DS.FILTER_TBL' +21-236-12:18:39.270 00 SCX_CPU1_DS_MO/251 +21-236-12:18:39.270 00 SCX_CPU1_DS_MO/252 /SCX_CPU1_TBL_ACTIVATE ATableName=filterTblName +21-236-12:18:39.284 00 SCX_CPU1_DS_MO/253 wait 5 +21-236-12:18:39.284 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-12:18:40.720 00 TLMH-I:STS 58-012-14:04:40.004 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=37 DS Successfully Updated 'DS.FILTER_TBL' +21-236-12:18:44.289 00 SCX_CPU1_DS_MO/254 +21-236-12:18:44.289 00 SCX_CPU1_DS_MO/255 write ";***********************************************************************" +21-236-12:18:44.289 00 SPR-I:OPRO ;*********************************************************************** +21-236-12:18:44.289 00 SCX_CPU1_DS_MO/256 write "; Step 1.3: Display the Housekeeping pages " +21-236-12:18:44.289 00 SPR-I:OPRO ; Step 1.3: Display the Housekeeping pages +21-236-12:18:44.289 00 SCX_CPU1_DS_MO/257 write ";***********************************************************************" +21-236-12:18:44.289 00 SPR-I:OPRO ;*********************************************************************** +21-236-12:18:44.290 00 SCX_CPU1_DS_MO/258 page SCX_CPU1_DS_HK +21-236-12:18:44.397 00 SCX_CPU1_DS_MO/259 page SCX_CPU1_TST_DS_HK +21-236-12:18:44.470 00 SCX_CPU1_DS_MO/260 page SCX_CPU1_DS_FILTER_TBL +21-236-12:18:44.544 00 SCX_CPU1_DS_MO/261 page SCX_CPU1_DS_FILE_TBL +21-236-12:18:44.624 00 SCX_CPU1_DS_MO/262 page SCX_CPU1_FM_DIR_LIST +21-236-12:18:44.773 00 SCX_CPU1_DS_MO/263 +21-236-12:18:44.773 00 SCX_CPU1_DS_MO/264 write ";***********************************************************************" +21-236-12:18:44.773 00 SPR-I:OPRO ;*********************************************************************** +21-236-12:18:44.773 00 SCX_CPU1_DS_MO/265 write "; Step 1.4: Start the Data Storage (DS) and Test Applications. " +21-236-12:18:44.773 00 SPR-I:OPRO ; Step 1.4: Start the Data Storage (DS) and Test Applications. +21-236-12:18:44.773 00 SCX_CPU1_DS_MO/266 write ";***********************************************************************" +21-236-12:18:44.773 00 SPR-I:OPRO ;*********************************************************************** +21-236-12:18:44.773 00 SCX_CPU1_DS_MO/267 ;s scx_cpu1_ds_start_apps("1.4") +21-236-12:18:44.773 00 SCX_CPU1_DS_MO/268 ;wait 5 +21-236-12:18:44.773 00 SCX_CPU1_DS_MO/269 +21-236-12:18:44.773 00 SCX_CPU1_DS_MO/271 local hkPktId +21-236-12:18:44.773 00 SCX_CPU1_DS_MO/272 +21-236-12:18:44.773 00 SCX_CPU1_DS_MO/274 hkPktId = "p0B8" +21-236-12:18:44.773 00 SCX_CPU1_DS_MO/275 +21-236-12:18:44.773 00 SCX_CPU1_DS_MO/278 local seqTlmItem = hkPktId & "scnt" +21-236-12:18:44.773 00 SCX_CPU1_DS_MO/279 local currSCnt = {seqTlmItem} +21-236-12:18:44.773 00 SCX_CPU1_DS_MO/280 local expectedSCnt = currSCnt + 2 +21-236-12:18:44.774 00 SCX_CPU1_DS_MO/281 +21-236-12:18:44.774 00 SCX_CPU1_DS_MO/282 ut_tlmwait {seqTlmItem}, {expectedSCnt} +21-236-12:18:44.782 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-12:18:52.789 00 SPR-I:STTE WAIT UNTIL completed +21-236-12:18:52.791 00 SCX_CPU1_DS_MO/283 if (UT_TW_Status = UT_Success) then +21-236-12:18:52.791 00 SCX_CPU1_DS_MO/284 write "<*> Passed (8000) - Housekeeping packet is being generated." +21-236-12:18:52.791 00 SPR-I:OPRO <*> Passed (8000) - Housekeeping packet is being generated. +21-236-12:18:52.791 00 SCX_CPU1_DS_MO/285 ut_setrequirements DS_8000, "P" +21-236-12:18:52.794 00 SCX_CPU1_DS_MO/289 endif +21-236-12:18:52.795 00 SCX_CPU1_DS_MO/290 +21-236-12:18:52.795 00 SCX_CPU1_DS_MO/294 if (SCX_CPU1_DS_CMDPC = 0) AND (SCX_CPU1_DS_CMDEC = 0) AND ;; +21-236-12:18:52.795 00 SCX_CPU1_DS_MO/295 (SCX_CPU1_DS_DisabledPktCnt = 0) AND ;; +21-236-12:18:52.795 00 SCX_CPU1_DS_MO/296 (SCX_CPU1_DS_FilteredPktCnt = 0) AND (SCX_CPU1_DS_PassedPktCnt = 0) AND ;; +21-236-12:18:52.795 00 SCX_CPU1_DS_MO/297 (SCX_CPU1_DS_FileWriteCnt = 0) AND (SCX_CPU1_DS_FileWriteErrCnt = 0) AND ;; +21-236-12:18:52.795 00 SCX_CPU1_DS_MO/298 (SCX_CPU1_DS_FileUpdCnt = 0) AND (SCX_CPU1_DS_FileUpdErrCnt = 0) AND ;; +21-236-12:18:52.795 00 SCX_CPU1_DS_MO/299 (SCX_CPU1_DS_DestLoadCnt = 2) AND (SCX_CPU1_DS_DestPtrErrCnt = 0) AND ;; +21-236-12:18:52.795 00 SCX_CPU1_DS_MO/300 (SCX_CPU1_DS_FilterLoadCnt = 2) AND (SCX_CPU1_DS_FilterPtrErrCnt = 0) then +21-236-12:18:52.797 00 SCX_CPU1_DS_MO/301 write "<*> Passed (9000) - Housekeeping telemetry initialized properly." +21-236-12:18:52.797 00 SPR-I:OPRO <*> Passed (9000) - Housekeeping telemetry initialized properly. +21-236-12:18:52.797 00 SCX_CPU1_DS_MO/302 ut_setrequirements DS_9000, "P" +21-236-12:18:52.803 00 SCX_CPU1_DS_MO/319 endif +21-236-12:18:52.803 00 SCX_CPU1_DS_MO/320 +21-236-12:18:52.803 00 SCX_CPU1_DS_MO/321 wait 5 +21-236-12:18:52.803 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-12:18:57.806 00 SCX_CPU1_DS_MO/322 +21-236-12:18:57.806 00 SCX_CPU1_DS_MO/323 write ";*********************************************************************" +21-236-12:18:57.807 00 SPR-I:OPRO ;********************************************************************* +21-236-12:18:57.807 00 SCX_CPU1_DS_MO/324 write "; Step 1.5: Start the File Manager (FM) Application " +21-236-12:18:57.807 00 SPR-I:OPRO ; Step 1.5: Start the File Manager (FM) Application +21-236-12:18:57.807 00 SCX_CPU1_DS_MO/325 write ";********************************************************************" +21-236-12:18:57.807 00 SPR-I:OPRO ;******************************************************************** +21-236-12:18:57.807 00 SCX_CPU1_DS_MO/326 ut_setupevents "SCX", "CPU1", "CFE_ES", CFE_ES_START_INF_EID, "INFO", 1 +21-236-12:18:57.812 00 SPR-I:OPRO ;*********************************************************************** +21-236-12:18:57.812 00 SPR-I:OPRO ; Setup event 1 with CFE_ES INFO 6 +21-236-12:18:57.813 00 SPR-I:OPRO ;*********************************************************************** +21-236-12:18:57.813 00 SCX_CPU1_DS_MO/327 ut_setupevents "SCX", "CPU1", "FM", FM_STARTUP_EID, "INFO", 2 +21-236-12:18:57.814 00 SPR-I:OPRO ;*********************************************************************** +21-236-12:18:57.815 00 SPR-I:OPRO ; Setup event 2 with FM INFO 1 +21-236-12:18:57.815 00 SPR-I:OPRO ;*********************************************************************** +21-236-12:18:57.815 00 SCX_CPU1_DS_MO/328 +21-236-12:18:57.815 00 SCX_CPU1_DS_MO/329 s load_start_app ("FM",hostCPU,"FM_AppMain") +21-236-12:18:57.815 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/load_start_app.i +21-236-12:18:57.823 00 SPR-I:STS Procedure LOAD_START_APP started +21-236-12:18:57.823 00 LOAD_START_APP/2 ; +21-236-12:18:57.823 00 LOAD_START_APP/3 local logging = %liv (log_procedure) +21-236-12:18:57.824 00 LOAD_START_APP/4 %liv (log_procedure) = FALSE +21-236-12:18:57.824 00 SPR-I:OPRO Application Filename: fm.o +21-236-12:18:57.825 00 SPR-I:OPRO The perl command is perl /s/opr/accounts/global/tools/fsw_ftp.pl 192.168.1.8 fm.o RAM:0 3 +21-236-12:18:57.955 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-12:18:57.958 00 SPR-I:OPRO Sending Command: /SCX_CPU1_ES_STARTAPP APPLICATION="FM" APP_ENTRY_PT="FM_AppMain" APP_FILE_NAME="/ram/fm.o" STACKSIZE=X'2000' PRIORITY=X'b7' RESTARTCPU +21-236-12:18:57.974 00 LOAD_START_APP/128 +21-236-12:18:57.974 00 LOAD_START_APP/129 ENDPROC +21-236-12:18:57.974 00 SPR-I:STS Procedure LOAD_START_APP completed +21-236-12:18:57.975 00 SCX_CPU1_DS_MO/330 +21-236-12:18:57.975 00 SCX_CPU1_DS_MO/331 ; Wait for app startup events +21-236-12:18:57.975 00 SCX_CPU1_DS_MO/332 ut_tlmwait SCX_CPU1_find_event[2].num_found_messages, 1 +21-236-12:18:57.989 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-12:18:58.213 00 TLMH-I:STS 58-012-14:04:57.512 INFO CPU=CPU1 APPNAME=CFE_ES EVENT ID=6 Started FM from /ram/fm.o, AppID = 1114124 +21-236-12:18:58.719 00 TLMH-I:STS 58-012-14:04:57.565 INFO CPU=CPU1 APPNAME=FM EVENT ID=97 Free Space Table verify results: good entries = 2, bad = 0, unused = 6 +21-236-12:18:58.720 00 TLMH-I:STS 58-012-14:04:57.566 INFO CPU=CPU1 APPNAME=FM EVENT ID=1 Initialization complete: version 2.5.4.0 +21-236-12:18:58.722 00 TLMH-I:STS 58-012-14:04:57.600 INFO CPU=CPU1 APPNAME=FM EVENT ID=89 Child Task initialization complete +21-236-12:18:58.990 00 SPR-I:STTE WAIT UNTIL completed +21-236-12:18:58.991 00 SCX_CPU1_DS_MO/333 IF (UT_TW_Status = UT_Success) THEN +21-236-12:18:58.991 00 SCX_CPU1_DS_MO/334 write "<*> Passed - FM Application Started" +21-236-12:18:58.991 00 SPR-I:OPRO <*> Passed - FM Application Started +21-236-12:18:58.991 00 SCX_CPU1_DS_MO/337 endif +21-236-12:18:58.991 00 SCX_CPU1_DS_MO/338 +21-236-12:18:58.991 00 SCX_CPU1_DS_MO/339 local fmPkt = x'088C' +21-236-12:18:58.991 00 SCX_CPU1_DS_MO/340 +21-236-12:18:58.992 00 SCX_CPU1_DS_MO/341 /SCX_CPU1_TO_ADDPACKET STREAM=fmPkt PKT_SIZE=X'0' PRIORITY=X'0' RELIABILITY=X'0' BUFLIMIT=x'4' +21-236-12:18:59.005 00 SCX_CPU1_DS_MO/342 +21-236-12:18:59.005 00 SCX_CPU1_DS_MO/343 wait 5 +21-236-12:18:59.005 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-12:18:59.715 00 TLMH-I:STS 58-012-14:04:58.517 ERROR CPU=CPU1 APPNAME=CFE_SB EVENT ID=6 Subscribe Err:Bad Arg,MsgId 0x88c0000,PipeId 1441800,app TO_LAB_APP,scope 0 +21-236-12:18:59.716 00 TLMH-I:STS 58-012-14:04:58.517 ERROR CPU=CPU1 APPNAME=TO_LAB_APP EVENT ID=10 L481 TO Can't subscribe 0x88c0000 status -905969661 +21-236-12:19:04.008 00 SCX_CPU1_DS_MO/344 +21-236-12:19:04.008 00 SCX_CPU1_DS_MO/345 write ";***********************************************************************" +21-236-12:19:04.008 00 SPR-I:OPRO ;*********************************************************************** +21-236-12:19:04.008 00 SCX_CPU1_DS_MO/346 write "; Step 1.6: Enable DEBUG Event Messages " +21-236-12:19:04.008 00 SPR-I:OPRO ; Step 1.6: Enable DEBUG Event Messages +21-236-12:19:04.008 00 SCX_CPU1_DS_MO/347 write ";***********************************************************************" +21-236-12:19:04.008 00 SPR-I:OPRO ;*********************************************************************** +21-236-12:19:04.008 00 SCX_CPU1_DS_MO/348 local cmdCtr = SCX_CPU1_EVS_CMDPC + 2 +21-236-12:19:04.008 00 SCX_CPU1_DS_MO/349 +21-236-12:19:04.008 00 SCX_CPU1_DS_MO/351 /SCX_CPU1_EVS_EnaAppEVTType Application=DSAppName DEBUG +21-236-12:19:04.021 00 SCX_CPU1_DS_MO/352 wait 2 +21-236-12:19:04.021 00 SPR-I:STTE Wait mode - waiting 2 seconds ... +21-236-12:19:06.023 00 SCX_CPU1_DS_MO/353 /SCX_CPU1_EVS_EnaAppEVTType Application="CFE_TBL" DEBUG +21-236-12:19:06.035 00 SCX_CPU1_DS_MO/354 +21-236-12:19:06.035 00 SCX_CPU1_DS_MO/355 ut_tlmwait SCX_CPU1_EVS_CMDPC, {cmdCtr} +21-236-12:19:06.041 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-12:19:09.045 00 SPR-I:STTE WAIT UNTIL completed +21-236-12:19:09.046 00 SCX_CPU1_DS_MO/356 if (UT_TW_Status = UT_Success) then +21-236-12:19:09.046 00 SCX_CPU1_DS_MO/357 write "<*> Passed - Enable Debug events command sent properly." +21-236-12:19:09.047 00 SPR-I:OPRO <*> Passed - Enable Debug events command sent properly. +21-236-12:19:09.047 00 SCX_CPU1_DS_MO/360 endif +21-236-12:19:09.047 00 SCX_CPU1_DS_MO/361 +21-236-12:19:09.047 00 SCX_CPU1_DS_MO/362 write ";***********************************************************************" +21-236-12:19:09.047 00 SPR-I:OPRO ;*********************************************************************** +21-236-12:19:09.047 00 SCX_CPU1_DS_MO/363 write "; Step 2.0: File Creation Tests." +21-236-12:19:09.047 00 SPR-I:OPRO ; Step 2.0: File Creation Tests. +21-236-12:19:09.047 00 SCX_CPU1_DS_MO/364 write ";***********************************************************************" +21-236-12:19:09.048 00 SPR-I:OPRO ;*********************************************************************** +21-236-12:19:09.048 00 SCX_CPU1_DS_MO/365 write "; Step 2.1: Utilizing the TST_DS application, send a message to the DS" +21-236-12:19:09.048 00 SPR-I:OPRO ; Step 2.1: Utilizing the TST_DS application, send a message to the DS +21-236-12:19:09.048 00 SCX_CPU1_DS_MO/366 write "; application that will pass the filtering algorithm and uses a " +21-236-12:19:09.048 00 SPR-I:OPRO ; application that will pass the filtering algorithm and uses a +21-236-12:19:09.048 00 SCX_CPU1_DS_MO/367 write "; Destination File Table entry that specifies Sequence file type naming" +21-236-12:19:09.048 00 SPR-I:OPRO ; Destination File Table entry that specifies Sequence file type naming +21-236-12:19:09.048 00 SCX_CPU1_DS_MO/368 write ";***********************************************************************" +21-236-12:19:09.048 00 SPR-I:OPRO ;*********************************************************************** +21-236-12:19:09.049 00 SCX_CPU1_DS_MO/369 write "; Step 2.1.1: Dump the Destination File and Packet Filter Tables" +21-236-12:19:09.049 00 SPR-I:OPRO ; Step 2.1.1: Dump the Destination File and Packet Filter Tables +21-236-12:19:09.056 00 SCX_CPU1_DS_MO/370 write ";***********************************************************************" +21-236-12:19:09.056 00 SPR-I:OPRO ;*********************************************************************** +21-236-12:19:09.056 00 SCX_CPU1_DS_MO/372 s get_tbl_to_cvt (ramDir,filterTblName,"A","cpu1_filtertbl211",hostCPU,filterTblPktId) +21-236-12:19:09.057 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/get_tbl_to_cvt.i +21-236-12:19:09.059 00 SPR-I:STS Procedure GET_TBL_TO_CVT started +21-236-12:19:09.060 00 GET_TBL_TO_CVT/2 ; +21-236-12:19:09.060 00 GET_TBL_TO_CVT/3 local logging = %liv (log_procedure) +21-236-12:19:09.060 00 GET_TBL_TO_CVT/4 %liv (log_procedure) = FALSE +21-236-12:19:09.078 00 SPR-I:OPRO Sending Command: /SCX_CPU1_TBL_DUMP ACTIVE DTABLENAME="DS.FILTER_TBL" DFILENAME="/ram/cpu1_filtertbl211" +21-236-12:19:09.081 00 SPR-I:STTE Wait mode - waiting 15 seconds ... +21-236-12:19:09.210 00 TLMH-I:STS 58-012-14:05:08.502 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=14 Successfully dumped Table 'DS.FILTER_TBL' to '/ram/cpu1_filtertbl211' +21-236-12:19:24.091 00 SPR-I:OPRO +21-236-12:19:24.091 00 SPR-I:OPRO The TBLNAME is: DS.FILTER_TBL +21-236-12:19:24.092 00 SPR-I:OPRO The APID is: P0F77 +21-236-12:19:24.092 00 SPR-I:OPRO The CPU is: CPU3 +21-236-12:19:24.092 00 SPR-I:OPRO The IP Address is: 192.168.1.8 +21-236-12:19:24.095 00 SPR-I:OPRO The perl command is: perl /s/opr/accounts/global/tools/ftp.pl RAM:0 cpu1_filtertbl211 cpu1_filtertbl211 binary 192.168.1.8 +21-236-12:19:24.266 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-12:19:24.266 00 SPR-I:STTE Wait mode - waiting 15 seconds ... +21-236-12:19:39.278 00 SPR-I:OPRO +21-236-12:19:39.324 00 SPR-I:OPRO The unix command is cvt -ws file_list[3959].file_write_time "`date +%y-%j-%T -r /s/opr/accounts/cfs_test/image/cpu1_filtertbl211`" +21-236-12:19:39.324 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-12:19:44.329 00 GET_TBL_TO_CVT/238 +21-236-12:19:44.329 00 GET_TBL_TO_CVT/239 ENDPROC +21-236-12:19:44.329 00 SPR-I:STS Procedure GET_TBL_TO_CVT completed +21-236-12:19:44.330 00 SCX_CPU1_DS_MO/374 s get_tbl_to_cvt (ramDir,fileTblName,"A","cpu1_filetbl211",hostCPU,fileTblPktId) +21-236-12:19:44.331 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/get_tbl_to_cvt.i +21-236-12:19:44.333 00 SPR-I:STS Procedure GET_TBL_TO_CVT started +21-236-12:19:44.333 00 GET_TBL_TO_CVT/2 ; +21-236-12:19:44.333 00 GET_TBL_TO_CVT/3 local logging = %liv (log_procedure) +21-236-12:19:44.334 00 GET_TBL_TO_CVT/4 %liv (log_procedure) = FALSE +21-236-12:19:44.353 00 SPR-I:OPRO Sending Command: /SCX_CPU1_TBL_DUMP ACTIVE DTABLENAME="DS.FILE_TBL" DFILENAME="/ram/cpu1_filetbl211" +21-236-12:19:44.368 00 SPR-I:STTE Wait mode - waiting 15 seconds ... +21-236-12:19:44.718 00 TLMH-I:STS 58-012-14:05:44.002 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=14 Successfully dumped Table 'DS.FILE_TBL' to '/ram/cpu1_filetbl211' +21-236-12:19:50.883 00 SPR-I:OPRI --> page SCX_CPU1_DS_FILE_HK +21-236-12:19:59.447 00 SPR-I:OPRO +21-236-12:19:59.447 00 SPR-I:OPRO The TBLNAME is: DS.FILE_TBL +21-236-12:19:59.447 00 SPR-I:OPRO The APID is: P0F76 +21-236-12:19:59.447 00 SPR-I:OPRO The CPU is: CPU3 +21-236-12:19:59.448 00 SPR-I:OPRO The IP Address is: 192.168.1.8 +21-236-12:19:59.448 00 SPR-I:OPRO The perl command is: perl /s/opr/accounts/global/tools/ftp.pl RAM:0 cpu1_filetbl211 cpu1_filetbl211 binary 192.168.1.8 +21-236-12:19:59.582 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-12:19:59.582 00 SPR-I:STTE Wait mode - waiting 15 seconds ... +21-236-12:20:14.595 00 SPR-I:OPRO +21-236-12:20:14.616 00 SPR-I:OPRO The unix command is cvt -ws file_list[3958].file_write_time "`date +%y-%j-%T -r /s/opr/accounts/cfs_test/image/cpu1_filetbl211`" +21-236-12:20:14.616 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-12:20:19.620 00 GET_TBL_TO_CVT/238 +21-236-12:20:19.620 00 GET_TBL_TO_CVT/239 ENDPROC +21-236-12:20:19.620 00 SPR-I:STS Procedure GET_TBL_TO_CVT completed +21-236-12:20:19.621 00 SCX_CPU1_DS_MO/375 +21-236-12:20:19.622 00 SCX_CPU1_DS_MO/376 write ";***********************************************************************" +21-236-12:20:19.622 00 SPR-I:OPRO ;*********************************************************************** +21-236-12:20:19.622 00 SCX_CPU1_DS_MO/377 write "; Step 2.1.2: Parse the tables to find a MessageID to use for the " +21-236-12:20:19.622 00 SPR-I:OPRO ; Step 2.1.2: Parse the tables to find a MessageID to use for the +21-236-12:20:19.622 00 SCX_CPU1_DS_MO/378 write "; Sequence file type naming entry." +21-236-12:20:19.622 00 SPR-I:OPRO ; Sequence file type naming entry. +21-236-12:20:19.622 00 SCX_CPU1_DS_MO/379 write ";***********************************************************************" +21-236-12:20:19.622 00 SPR-I:OPRO ;*********************************************************************** +21-236-12:20:19.622 00 SCX_CPU1_DS_MO/381 logging = %liv (log_procedure) +21-236-12:20:19.623 00 SCX_CPU1_DS_MO/382 %liv (log_procedure) = FALSE +21-236-12:20:19.886 00 SCX_CPU1_DS_MO/410 +21-236-12:20:19.886 00 SCX_CPU1_DS_MO/411 write "==> Found file entry at ", seqFileEntry +21-236-12:20:19.886 00 SPR-I:OPRO ==> Found file entry at 0 +21-236-12:20:19.886 00 SCX_CPU1_DS_MO/412 write "==> Found filter entry at ", filterEntry +21-236-12:20:19.886 00 SPR-I:OPRO ==> Found filter entry at 0 +21-236-12:20:19.886 00 SCX_CPU1_DS_MO/413 +21-236-12:20:19.886 00 SCX_CPU1_DS_MO/414 local seqMsgID = SCX_CPU1_DS_PF_TBL[filterEntry].MessageID +21-236-12:20:19.886 00 SCX_CPU1_DS_MO/415 +21-236-12:20:19.886 00 SCX_CPU1_DS_MO/416 write ";***********************************************************************" +21-236-12:20:19.886 00 SPR-I:OPRO ;*********************************************************************** +21-236-12:20:19.886 00 SCX_CPU1_DS_MO/417 write "; Step 2.1.3: Create the directory where files will be moved when they " +21-236-12:20:19.886 00 SPR-I:OPRO ; Step 2.1.3: Create the directory where files will be moved when they +21-236-12:20:19.886 00 SCX_CPU1_DS_MO/418 write "; are closed by the DS application. " +21-236-12:20:19.886 00 SPR-I:OPRO ; are closed by the DS application. +21-236-12:20:19.886 00 SCX_CPU1_DS_MO/419 write ";***********************************************************************" +21-236-12:20:19.886 00 SPR-I:OPRO ;*********************************************************************** +21-236-12:20:19.886 00 SCX_CPU1_DS_MO/420 local moveDirName = SCX_CPU1_DS_DF_TBL[seqFileEntry].MoveDirName +21-236-12:20:19.886 00 SCX_CPU1_DS_MO/421 local pathName = SCX_CPU1_DS_DF_TBL[seqFileEntry].PathName +21-236-12:20:19.886 00 SCX_CPU1_DS_MO/422 +21-236-12:20:19.886 00 SCX_CPU1_DS_MO/423 write "==> Creating File Move Directory = ", moveDirName +21-236-12:20:19.886 00 SPR-I:OPRO ==> Creating File Move Directory = /ram/movedir/ +21-236-12:20:19.886 00 SCX_CPU1_DS_MO/424 +21-236-12:20:19.886 00 SCX_CPU1_DS_MO/425 /SCX_CPU1_FM_DirCreate DirName=moveDirName +21-236-12:20:19.898 00 SCX_CPU1_DS_MO/426 wait 5 +21-236-12:20:19.898 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-12:20:24.901 00 SCX_CPU1_DS_MO/427 +21-236-12:20:24.901 00 SCX_CPU1_DS_MO/428 write ";***********************************************************************" +21-236-12:20:24.901 00 SPR-I:OPRO ;*********************************************************************** +21-236-12:20:24.901 00 SCX_CPU1_DS_MO/429 write "; Step 2.1.4: Send the TST_DS command to send a message to DS using the" +21-236-12:20:24.901 00 SPR-I:OPRO ; Step 2.1.4: Send the TST_DS command to send a message to DS using the +21-236-12:20:24.901 00 SCX_CPU1_DS_MO/430 write "; MessageID found above. Since the message being set will not exceed " +21-236-12:20:24.901 00 SPR-I:OPRO ; MessageID found above. Since the message being set will not exceed +21-236-12:20:24.901 00 SCX_CPU1_DS_MO/431 write "; the file size constraint, the FileState HK should contain info about" +21-236-12:20:24.901 00 SPR-I:OPRO ; the file size constraint, the FileState HK should contain info about +21-236-12:20:24.901 00 SCX_CPU1_DS_MO/432 write "; the file that was created. " +21-236-12:20:24.901 00 SPR-I:OPRO ; the file that was created. +21-236-12:20:24.901 00 SCX_CPU1_DS_MO/433 write ";***********************************************************************" +21-236-12:20:24.901 00 SPR-I:OPRO ;*********************************************************************** +21-236-12:20:24.901 00 SCX_CPU1_DS_MO/435 ut_setupevents "SCX", "CPU1", "TST_DS", TST_DS_MSG1_SENT_INF_EID, "INFO", 1 +21-236-12:20:24.903 00 SPR-I:OPRO ;*********************************************************************** +21-236-12:20:24.903 00 SPR-I:OPRO ; Setup event 1 with TST_DS INFO 5 +21-236-12:20:24.903 00 SPR-I:OPRO ;*********************************************************************** +21-236-12:20:24.903 00 SCX_CPU1_DS_MO/436 +21-236-12:20:24.903 00 SCX_CPU1_DS_MO/438 local expFileWrites = SCX_CPU1_DS_FileWriteCnt + 16 +21-236-12:20:24.903 00 SCX_CPU1_DS_MO/439 local expPassedPkts = SCX_CPU1_DS_PassedPktCnt + 1 +21-236-12:20:24.903 00 SCX_CPU1_DS_MO/440 +21-236-12:20:24.903 00 SCX_CPU1_DS_MO/442 /SCX_CPU1_TST_DS_SENDMESSAGE MsgID=seqMsgID MsgType=1 Pattern=x'55' +21-236-12:20:24.915 00 SCX_CPU1_DS_MO/443 +21-236-12:20:24.915 00 SCX_CPU1_DS_MO/445 ut_tlmwait SCX_CPU1_find_event[1].num_found_messages, 1 +21-236-12:20:24.918 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-12:20:25.209 00 TLMH-I:STS 58-012-14:06:24.504 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Message Size 116 to MID 0x00000900 +21-236-12:20:25.919 00 SPR-I:STTE WAIT UNTIL completed +21-236-12:20:25.919 00 SCX_CPU1_DS_MO/446 if (UT_TW_Status = UT_Success) then +21-236-12:20:25.919 00 SCX_CPU1_DS_MO/447 write "<*> Passed - Expected Event Msg ",TST_DS_MSG1_SENT_INF_EID," rcv'd." +21-236-12:20:25.919 00 SPR-I:OPRO <*> Passed - Expected Event Msg 5 rcv'd. +21-236-12:20:25.919 00 SCX_CPU1_DS_MO/450 endif +21-236-12:20:25.919 00 SCX_CPU1_DS_MO/451 +21-236-12:20:25.919 00 SCX_CPU1_DS_MO/453 cmdCtr = SCX_CPU1_DS_CMDPC + 1 +21-236-12:20:25.919 00 SCX_CPU1_DS_MO/454 +21-236-12:20:25.919 00 SCX_CPU1_DS_MO/455 /SCX_CPU1_DS_GetFileInfo +21-236-12:20:25.930 00 SCX_CPU1_DS_MO/456 +21-236-12:20:25.930 00 SCX_CPU1_DS_MO/457 ut_tlmwait SCX_CPU1_DS_CMDPC, {cmdCtr} +21-236-12:20:25.933 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-12:20:26.217 00 TLMH-I:STS 58-012-14:06:25.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-12:20:28.936 00 SPR-I:STTE WAIT UNTIL completed +21-236-12:20:28.936 00 SCX_CPU1_DS_MO/458 +21-236-12:20:28.936 00 SCX_CPU1_DS_MO/461 local fileName1 = "" +21-236-12:20:28.937 00 SCX_CPU1_DS_MO/462 if (SCX_CPU1_DS_FileState[seqFileEntry].FileName <> "") then +21-236-12:20:28.937 00 SCX_CPU1_DS_MO/463 fileName1 = SCX_CPU1_DS_FileState[seqFileEntry].FileName +21-236-12:20:28.937 00 SCX_CPU1_DS_MO/464 write "<*> Passed (3000;3000.1;3000.1.1) - A file was created with name '",fileName1,"'" +21-236-12:20:28.937 00 SPR-I:OPRO <*> Passed (3000;3000.1;3000.1.1) - A file was created with name '/ram/seq100000100.dat' +21-236-12:20:28.937 00 SCX_CPU1_DS_MO/465 ut_setrequirements DS_3000, "P" +21-236-12:20:28.938 00 SCX_CPU1_DS_MO/466 ut_setrequirements DS_30001, "A" +21-236-12:20:28.938 00 SCX_CPU1_DS_MO/467 ut_setrequirements DS_300011, "A" +21-236-12:20:28.939 00 SCX_CPU1_DS_MO/468 +21-236-12:20:28.939 00 SCX_CPU1_DS_MO/469 slashLoc = %locate(fileName1,"/") +21-236-12:20:28.940 00 SCX_CPU1_DS_MO/471 while (slashLoc <> 0) do +21-236-12:20:28.940 00 SCX_CPU1_DS_MO/472 fileName1 = %substring(fileName1,slashLoc+1,%length(fileName1)) +21-236-12:20:28.940 00 SCX_CPU1_DS_MO/473 slashLoc = %locate(fileName1,"/") +21-236-12:20:28.940 00 SCX_CPU1_DS_MO/474 enddo +21-236-12:20:28.940 00 SCX_CPU1_DS_MO/472 fileName1 = %substring(fileName1,slashLoc+1,%length(fileName1)) +21-236-12:20:28.940 00 SCX_CPU1_DS_MO/473 slashLoc = %locate(fileName1,"/") +21-236-12:20:28.940 00 SCX_CPU1_DS_MO/474 enddo +21-236-12:20:28.940 00 SCX_CPU1_DS_MO/475 +21-236-12:20:28.940 00 SCX_CPU1_DS_MO/476 write "==> FileName1 filename only = '",fileName1,"'" +21-236-12:20:28.940 00 SPR-I:OPRO ==> FileName1 filename only = 'seq100000100.dat' +21-236-12:20:28.940 00 SCX_CPU1_DS_MO/477 +21-236-12:20:28.940 00 SCX_CPU1_DS_MO/478 if (SCX_CPU1_DS_FileState[seqFileEntry].OpenState = DS_OPEN) then +21-236-12:20:28.941 00 SCX_CPU1_DS_MO/479 write "<*> Passed (3001) - The file is marked 'OPEN'" +21-236-12:20:28.941 00 SPR-I:OPRO <*> Passed (3001) - The file is marked 'OPEN' +21-236-12:20:28.947 00 SCX_CPU1_DS_MO/480 ut_setrequirements DS_3001, "P" +21-236-12:20:28.949 00 SCX_CPU1_DS_MO/481 endif +21-236-12:20:28.949 00 SCX_CPU1_DS_MO/482 +21-236-12:20:28.949 00 SCX_CPU1_DS_MO/484 if (expFileWrites = SCX_CPU1_DS_FileWriteCnt) AND ;; +21-236-12:20:28.949 00 SCX_CPU1_DS_MO/485 (expPassedPkts = SCX_CPU1_DS_PassedPktCnt) then +21-236-12:20:28.949 00 SCX_CPU1_DS_MO/486 write "<*> Passed - The file write and passed packet counters are correct." +21-236-12:20:28.949 00 SPR-I:OPRO <*> Passed - The file write and passed packet counters are correct. +21-236-12:20:28.949 00 SCX_CPU1_DS_MO/491 endif +21-236-12:20:28.949 00 SCX_CPU1_DS_MO/498 endif +21-236-12:20:28.949 00 SCX_CPU1_DS_MO/499 +21-236-12:20:28.949 00 SCX_CPU1_DS_MO/500 wait 5 +21-236-12:20:28.949 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-12:20:33.953 00 SCX_CPU1_DS_MO/501 +21-236-12:20:33.953 00 SCX_CPU1_DS_MO/502 write ";***********************************************************************" +21-236-12:20:33.953 00 SPR-I:OPRO ;*********************************************************************** +21-236-12:20:33.953 00 SCX_CPU1_DS_MO/503 write "; Step 2.2: Send the TST_DS command again using a message type that " +21-236-12:20:33.953 00 SPR-I:OPRO ; Step 2.2: Send the TST_DS command again using a message type that +21-236-12:20:33.953 00 SCX_CPU1_DS_MO/504 write "; will exceed the file size of the destination file entry." +21-236-12:20:33.953 00 SPR-I:OPRO ; will exceed the file size of the destination file entry. +21-236-12:20:33.953 00 SCX_CPU1_DS_MO/505 write ";***********************************************************************" +21-236-12:20:33.953 00 SPR-I:OPRO ;*********************************************************************** +21-236-12:20:33.953 00 SCX_CPU1_DS_MO/507 ut_setupevents "SCX", "CPU1", "TST_DS", TST_DS_MSG3_SENT_INF_EID, "INFO", 1 +21-236-12:20:33.957 00 SPR-I:OPRO ;*********************************************************************** +21-236-12:20:33.958 00 SPR-I:OPRO ; Setup event 1 with TST_DS INFO 7 +21-236-12:20:33.958 00 SPR-I:OPRO ;*********************************************************************** +21-236-12:20:33.959 00 SCX_CPU1_DS_MO/508 +21-236-12:20:33.959 00 SCX_CPU1_DS_MO/509 local expHdrUpdates = SCX_CPU1_DS_FileUpdCnt + 4 +21-236-12:20:33.959 00 SCX_CPU1_DS_MO/510 +21-236-12:20:33.959 00 SCX_CPU1_DS_MO/512 /SCX_CPU1_TST_DS_SENDMESSAGE MsgID=seqMsgID MsgType=3 Pattern=x'AA' +21-236-12:20:33.974 00 SCX_CPU1_DS_MO/513 +21-236-12:20:33.974 00 SCX_CPU1_DS_MO/515 ut_tlmwait SCX_CPU1_find_event[1].num_found_messages, 1 +21-236-12:20:33.986 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-12:20:34.216 00 TLMH-I:STS 58-012-14:06:33.509 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=7 Sent Message Size 1016 to MID 0x00000900 +21-236-12:20:34.987 00 SPR-I:STTE WAIT UNTIL completed +21-236-12:20:34.988 00 SCX_CPU1_DS_MO/516 if (UT_TW_Status = UT_Success) then +21-236-12:20:34.989 00 SCX_CPU1_DS_MO/517 write "<*> Passed - Expected Event Msg ",TST_DS_MSG3_SENT_INF_EID," rcv'd." +21-236-12:20:34.989 00 SPR-I:OPRO <*> Passed - Expected Event Msg 7 rcv'd. +21-236-12:20:34.989 00 SCX_CPU1_DS_MO/520 endif +21-236-12:20:34.989 00 SCX_CPU1_DS_MO/521 +21-236-12:20:34.989 00 SCX_CPU1_DS_MO/523 cmdCtr = SCX_CPU1_DS_CMDPC + 1 +21-236-12:20:34.990 00 SCX_CPU1_DS_MO/524 +21-236-12:20:34.990 00 SCX_CPU1_DS_MO/525 /SCX_CPU1_DS_GetFileInfo +21-236-12:20:35.005 00 SCX_CPU1_DS_MO/526 +21-236-12:20:35.006 00 SCX_CPU1_DS_MO/527 ut_tlmwait SCX_CPU1_DS_CMDPC, {cmdCtr} +21-236-12:20:35.024 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-12:20:35.208 00 TLMH-I:STS 58-012-14:06:34.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-12:20:37.026 00 SPR-I:STTE WAIT UNTIL completed +21-236-12:20:37.028 00 SCX_CPU1_DS_MO/528 +21-236-12:20:37.028 00 SCX_CPU1_DS_MO/531 local fileName2 = "" +21-236-12:20:37.028 00 SCX_CPU1_DS_MO/532 if (SCX_CPU1_DS_FileState[seqFileEntry].FileName <> "") then +21-236-12:20:37.029 00 SCX_CPU1_DS_MO/533 fileName2 = SCX_CPU1_DS_FileState[seqFileEntry].FileName +21-236-12:20:37.029 00 SCX_CPU1_DS_MO/534 write "<*> Passed (3000;3000.1;3000.1.1) - A file was created with name '",fileName2,"'" +21-236-12:20:37.029 00 SPR-I:OPRO <*> Passed (3000;3000.1;3000.1.1) - A file was created with name '/ram/seq100000101.dat' +21-236-12:20:37.029 00 SCX_CPU1_DS_MO/535 ut_setrequirements DS_3000, "P" +21-236-12:20:37.033 00 SCX_CPU1_DS_MO/536 ut_setrequirements DS_30001, "A" +21-236-12:20:37.038 00 SCX_CPU1_DS_MO/537 ut_setrequirements DS_300011, "A" +21-236-12:20:37.042 00 SCX_CPU1_DS_MO/538 +21-236-12:20:37.042 00 SCX_CPU1_DS_MO/539 slashLoc = %locate(fileName2,"/") +21-236-12:20:37.042 00 SCX_CPU1_DS_MO/541 while (slashLoc <> 0) do +21-236-12:20:37.042 00 SCX_CPU1_DS_MO/542 fileName2 = %substring(fileName2,slashLoc+1,%length(fileName2)) +21-236-12:20:37.043 00 SCX_CPU1_DS_MO/543 slashLoc = %locate(fileName2,"/") +21-236-12:20:37.043 00 SCX_CPU1_DS_MO/544 enddo +21-236-12:20:37.043 00 SCX_CPU1_DS_MO/542 fileName2 = %substring(fileName2,slashLoc+1,%length(fileName2)) +21-236-12:20:37.044 00 SCX_CPU1_DS_MO/543 slashLoc = %locate(fileName2,"/") +21-236-12:20:37.044 00 SCX_CPU1_DS_MO/544 enddo +21-236-12:20:37.044 00 SCX_CPU1_DS_MO/545 +21-236-12:20:37.044 00 SCX_CPU1_DS_MO/546 write "==> FileName2 filename only = '",fileName2,"'" +21-236-12:20:37.045 00 SPR-I:OPRO ==> FileName2 filename only = 'seq100000101.dat' +21-236-12:20:37.045 00 SCX_CPU1_DS_MO/547 +21-236-12:20:37.045 00 SCX_CPU1_DS_MO/548 if (SCX_CPU1_DS_FileState[seqFileEntry].OpenState = DS_OPEN) then +21-236-12:20:37.045 00 SCX_CPU1_DS_MO/549 write "<*> Passed (3001) - The file is marked 'OPEN'" +21-236-12:20:37.045 00 SPR-I:OPRO <*> Passed (3001) - The file is marked 'OPEN' +21-236-12:20:37.066 00 SCX_CPU1_DS_MO/550 ut_setrequirements DS_3001, "P" +21-236-12:20:37.067 00 SCX_CPU1_DS_MO/551 endif +21-236-12:20:37.067 00 SCX_CPU1_DS_MO/552 +21-236-12:20:37.068 00 SCX_CPU1_DS_MO/553 if (fileName1 <> fileName2) then +21-236-12:20:37.068 00 SCX_CPU1_DS_MO/554 write "<*> Passed (3001.1) - A new file was opened" +21-236-12:20:37.068 00 SPR-I:OPRO <*> Passed (3001.1) - A new file was opened +21-236-12:20:37.068 00 SCX_CPU1_DS_MO/555 ut_setrequirements DS_30011, "P" +21-236-12:20:37.069 00 SCX_CPU1_DS_MO/559 endif +21-236-12:20:37.069 00 SCX_CPU1_DS_MO/560 +21-236-12:20:37.069 00 SCX_CPU1_DS_MO/562 if (expHdrUpdates = SCX_CPU1_DS_FileUpdCnt) then +21-236-12:20:37.069 00 SCX_CPU1_DS_MO/563 write "<*> Passed - The header update counter incremented as expected." +21-236-12:20:37.070 00 SPR-I:OPRO <*> Passed - The header update counter incremented as expected. +21-236-12:20:37.076 00 SCX_CPU1_DS_MO/567 endif +21-236-12:20:37.076 00 SCX_CPU1_DS_MO/568 +21-236-12:20:37.076 00 SCX_CPU1_DS_MO/571 /SCX_CPU1_FM_DirListTlm DirName=pathName Offset=0 GetStatFlag=0 +21-236-12:20:37.088 00 SCX_CPU1_DS_MO/572 wait 10 +21-236-12:20:37.089 00 SPR-I:STTE Wait mode - waiting 10 seconds ... +21-236-12:20:47.096 00 SCX_CPU1_DS_MO/573 +21-236-12:20:47.096 00 SCX_CPU1_DS_MO/575 for i = 1 to SCX_CPU1_FM_PktFiles do +21-236-12:20:47.096 00 SCX_CPU1_DS_MO/576 if (fileName1 = SCX_CPU1_FM_DirList[i].name) then +21-236-12:20:47.097 00 SCX_CPU1_DS_MO/579 endif +21-236-12:20:47.097 00 SCX_CPU1_DS_MO/580 enddo +21-236-12:20:47.097 00 SCX_CPU1_DS_MO/575 for i = 1 to SCX_CPU1_FM_PktFiles do +21-236-12:20:47.097 00 SCX_CPU1_DS_MO/576 if (fileName1 = SCX_CPU1_FM_DirList[i].name) then +21-236-12:20:47.097 00 SCX_CPU1_DS_MO/579 endif +21-236-12:20:47.097 00 SCX_CPU1_DS_MO/580 enddo +21-236-12:20:47.098 00 SCX_CPU1_DS_MO/575 for i = 1 to SCX_CPU1_FM_PktFiles do +21-236-12:20:47.098 00 SCX_CPU1_DS_MO/576 if (fileName1 = SCX_CPU1_FM_DirList[i].name) then +21-236-12:20:47.098 00 SCX_CPU1_DS_MO/579 endif +21-236-12:20:47.098 00 SCX_CPU1_DS_MO/580 enddo +21-236-12:20:47.098 00 SCX_CPU1_DS_MO/575 for i = 1 to SCX_CPU1_FM_PktFiles do +21-236-12:20:47.099 00 SCX_CPU1_DS_MO/576 if (fileName1 = SCX_CPU1_FM_DirList[i].name) then +21-236-12:20:47.099 00 SCX_CPU1_DS_MO/579 endif +21-236-12:20:47.099 00 SCX_CPU1_DS_MO/580 enddo +21-236-12:20:47.099 00 SCX_CPU1_DS_MO/575 for i = 1 to SCX_CPU1_FM_PktFiles do +21-236-12:20:47.099 00 SCX_CPU1_DS_MO/576 if (fileName1 = SCX_CPU1_FM_DirList[i].name) then +21-236-12:20:47.100 00 SCX_CPU1_DS_MO/579 endif +21-236-12:20:47.100 00 SCX_CPU1_DS_MO/580 enddo +21-236-12:20:47.100 00 SCX_CPU1_DS_MO/575 for i = 1 to SCX_CPU1_FM_PktFiles do +21-236-12:20:47.100 00 SCX_CPU1_DS_MO/576 if (fileName1 = SCX_CPU1_FM_DirList[i].name) then +21-236-12:20:47.100 00 SCX_CPU1_DS_MO/579 endif +21-236-12:20:47.100 00 SCX_CPU1_DS_MO/580 enddo +21-236-12:20:47.101 00 SCX_CPU1_DS_MO/575 for i = 1 to SCX_CPU1_FM_PktFiles do +21-236-12:20:47.101 00 SCX_CPU1_DS_MO/576 if (fileName1 = SCX_CPU1_FM_DirList[i].name) then +21-236-12:20:47.101 00 SCX_CPU1_DS_MO/579 endif +21-236-12:20:47.101 00 SCX_CPU1_DS_MO/580 enddo +21-236-12:20:47.101 00 SCX_CPU1_DS_MO/575 for i = 1 to SCX_CPU1_FM_PktFiles do +21-236-12:20:47.102 00 SCX_CPU1_DS_MO/576 if (fileName1 = SCX_CPU1_FM_DirList[i].name) then +21-236-12:20:47.102 00 SCX_CPU1_DS_MO/579 endif +21-236-12:20:47.102 00 SCX_CPU1_DS_MO/580 enddo +21-236-12:20:47.102 00 SCX_CPU1_DS_MO/575 for i = 1 to SCX_CPU1_FM_PktFiles do +21-236-12:20:47.103 00 SCX_CPU1_DS_MO/576 if (fileName1 = SCX_CPU1_FM_DirList[i].name) then +21-236-12:20:47.103 00 SCX_CPU1_DS_MO/579 endif +21-236-12:20:47.103 00 SCX_CPU1_DS_MO/580 enddo +21-236-12:20:47.103 00 SCX_CPU1_DS_MO/575 for i = 1 to SCX_CPU1_FM_PktFiles do +21-236-12:20:47.103 00 SCX_CPU1_DS_MO/576 if (fileName1 = SCX_CPU1_FM_DirList[i].name) then +21-236-12:20:47.103 00 SCX_CPU1_DS_MO/579 endif +21-236-12:20:47.103 00 SCX_CPU1_DS_MO/580 enddo +21-236-12:20:47.104 00 SCX_CPU1_DS_MO/575 for i = 1 to SCX_CPU1_FM_PktFiles do +21-236-12:20:47.104 00 SCX_CPU1_DS_MO/581 +21-236-12:20:47.104 00 SCX_CPU1_DS_MO/583 /SCX_CPU1_FM_DirListTlm DirName=moveDirName Offset=0 GetStatFlag=0 +21-236-12:20:47.116 00 SCX_CPU1_DS_MO/584 wait 10 +21-236-12:20:47.116 00 SPR-I:STTE Wait mode - waiting 10 seconds ... +21-236-12:20:57.124 00 SCX_CPU1_DS_MO/585 +21-236-12:20:57.124 00 SCX_CPU1_DS_MO/587 for i = 1 to SCX_CPU1_FM_PktFiles do +21-236-12:20:57.124 00 SCX_CPU1_DS_MO/588 if (fileName1 = SCX_CPU1_FM_DirList[i].name) then +21-236-12:20:57.124 00 SCX_CPU1_DS_MO/589 write "<*> Passed - File '",fileName1,"' is contained in directory '",moveDirName,"' as expected." +21-236-12:20:57.125 00 SPR-I:OPRO <*> Passed - File 'seq100000100.dat' is contained in directory '/ram/movedir/' as expected. +21-236-12:20:57.125 00 SCX_CPU1_DS_MO/590 endif +21-236-12:20:57.125 00 SCX_CPU1_DS_MO/591 enddo +21-236-12:20:57.125 00 SCX_CPU1_DS_MO/587 for i = 1 to SCX_CPU1_FM_PktFiles do +21-236-12:20:57.125 00 SCX_CPU1_DS_MO/588 if (fileName1 = SCX_CPU1_FM_DirList[i].name) then +21-236-12:20:57.125 00 SCX_CPU1_DS_MO/590 endif +21-236-12:20:57.125 00 SCX_CPU1_DS_MO/591 enddo +21-236-12:20:57.125 00 SCX_CPU1_DS_MO/587 for i = 1 to SCX_CPU1_FM_PktFiles do +21-236-12:20:57.126 00 SCX_CPU1_DS_MO/588 if (fileName1 = SCX_CPU1_FM_DirList[i].name) then +21-236-12:20:57.126 00 SCX_CPU1_DS_MO/590 endif +21-236-12:20:57.126 00 SCX_CPU1_DS_MO/591 enddo +21-236-12:20:57.126 00 SCX_CPU1_DS_MO/587 for i = 1 to SCX_CPU1_FM_PktFiles do +21-236-12:20:57.126 00 SCX_CPU1_DS_MO/588 if (fileName1 = SCX_CPU1_FM_DirList[i].name) then +21-236-12:20:57.126 00 SCX_CPU1_DS_MO/590 endif +21-236-12:20:57.126 00 SCX_CPU1_DS_MO/591 enddo +21-236-12:20:57.126 00 SCX_CPU1_DS_MO/587 for i = 1 to SCX_CPU1_FM_PktFiles do +21-236-12:20:57.127 00 SCX_CPU1_DS_MO/598 endif +21-236-12:20:57.127 00 SCX_CPU1_DS_MO/599 +21-236-12:20:57.127 00 SCX_CPU1_DS_MO/600 wait 5 +21-236-12:20:57.127 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-12:21:02.130 00 SCX_CPU1_DS_MO/601 +21-236-12:21:02.130 00 SCX_CPU1_DS_MO/602 write ";***********************************************************************" +21-236-12:21:02.131 00 SPR-I:OPRO ;*********************************************************************** +21-236-12:21:02.131 00 SCX_CPU1_DS_MO/603 write "; Step 2.3: Test that DS will store at least 1 message in a destination" +21-236-12:21:02.131 00 SPR-I:OPRO ; Step 2.3: Test that DS will store at least 1 message in a destination +21-236-12:21:02.131 00 SCX_CPU1_DS_MO/604 write "; file even though the message will exceed the file size." +21-236-12:21:02.131 00 SPR-I:OPRO ; file even though the message will exceed the file size. +21-236-12:21:02.131 00 SCX_CPU1_DS_MO/605 write ";***********************************************************************" +21-236-12:21:02.131 00 SPR-I:OPRO ;*********************************************************************** +21-236-12:21:02.131 00 SCX_CPU1_DS_MO/606 write "; Step 2.3.1: Send the Close command for the file created in Step 2.2." +21-236-12:21:02.131 00 SPR-I:OPRO ; Step 2.3.1: Send the Close command for the file created in Step 2.2. +21-236-12:21:02.131 00 SCX_CPU1_DS_MO/607 write ";***********************************************************************" +21-236-12:21:02.131 00 SPR-I:OPRO ;*********************************************************************** +21-236-12:21:02.131 00 SCX_CPU1_DS_MO/609 ut_setupevents "SCX", "CPU1", {DSAppName}, DS_CLOSE_CMD_EID, "DEBUG", 1 +21-236-12:21:02.133 00 SPR-I:OPRO ;*********************************************************************** +21-236-12:21:02.133 00 SPR-I:OPRO ; Setup event 1 with DS DEBUG 59 +21-236-12:21:02.133 00 SPR-I:OPRO ;*********************************************************************** +21-236-12:21:02.134 00 SCX_CPU1_DS_MO/610 +21-236-12:21:02.134 00 SCX_CPU1_DS_MO/611 cmdCtr = SCX_CPU1_DS_CMDPC + 1 +21-236-12:21:02.134 00 SCX_CPU1_DS_MO/613 /SCX_CPU1_DS_CloseFile FileIndex=seqFileEntry +21-236-12:21:02.146 00 SCX_CPU1_DS_MO/614 +21-236-12:21:02.146 00 SCX_CPU1_DS_MO/615 ut_tlmwait SCX_CPU1_DS_CMDPC, {cmdCtr} +21-236-12:21:02.151 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-12:21:02.214 00 TLMH-I:STS 58-012-14:07:01.502 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=59 DEST CLOSE command: file table index = 0 +21-236-12:21:05.154 00 SPR-I:STTE WAIT UNTIL completed +21-236-12:21:05.156 00 SCX_CPU1_DS_MO/616 if (UT_TW_Status = UT_Success) then +21-236-12:21:05.156 00 SCX_CPU1_DS_MO/617 write "<*> Passed (1004;5002) - DS Close File command sent properly." +21-236-12:21:05.156 00 SPR-I:OPRO <*> Passed (1004;5002) - DS Close File command sent properly. +21-236-12:21:05.157 00 SCX_CPU1_DS_MO/618 ut_setrequirements DS_1004, "P" +21-236-12:21:05.160 00 SCX_CPU1_DS_MO/619 ut_setrequirements DS_5002, "P" +21-236-12:21:05.163 00 SCX_CPU1_DS_MO/624 endif +21-236-12:21:05.163 00 SCX_CPU1_DS_MO/625 +21-236-12:21:05.163 00 SCX_CPU1_DS_MO/627 ut_tlmwait SCX_CPU1_find_event[1].num_found_messages, 1 +21-236-12:21:05.172 00 SPR-I:STTE WAIT UNTIL completed +21-236-12:21:05.175 00 SCX_CPU1_DS_MO/628 if (UT_TW_Status = UT_Success) then +21-236-12:21:05.176 00 SCX_CPU1_DS_MO/629 write "<*> Passed (1004;5002) - Expected Event Msg ",DS_CLOSE_CMD_EID," rcv'd." +21-236-12:21:05.176 00 SPR-I:OPRO <*> Passed (1004;5002) - Expected Event Msg 59 rcv'd. +21-236-12:21:05.176 00 SCX_CPU1_DS_MO/630 ut_setrequirements DS_1004, "P" +21-236-12:21:05.177 00 SCX_CPU1_DS_MO/631 ut_setrequirements DS_5002, "P" +21-236-12:21:05.178 00 SCX_CPU1_DS_MO/636 endif +21-236-12:21:05.178 00 SCX_CPU1_DS_MO/637 +21-236-12:21:05.178 00 SCX_CPU1_DS_MO/638 wait 5 +21-236-12:21:05.178 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-12:21:10.182 00 SCX_CPU1_DS_MO/639 +21-236-12:21:10.182 00 SCX_CPU1_DS_MO/640 write ";***********************************************************************" +21-236-12:21:10.182 00 SPR-I:OPRO ;*********************************************************************** +21-236-12:21:10.182 00 SCX_CPU1_DS_MO/641 write "; Step 2.3.2: Send the TST_DS_SendMessage command using a message type " +21-236-12:21:10.182 00 SPR-I:OPRO ; Step 2.3.2: Send the TST_DS_SendMessage command using a message type +21-236-12:21:10.182 00 SCX_CPU1_DS_MO/642 write "; that exceeds the size of the destination file entry." +21-236-12:21:10.182 00 SPR-I:OPRO ; that exceeds the size of the destination file entry. +21-236-12:21:10.182 00 SCX_CPU1_DS_MO/643 write ";***********************************************************************" +21-236-12:21:10.182 00 SPR-I:OPRO ;*********************************************************************** +21-236-12:21:10.182 00 SCX_CPU1_DS_MO/645 ut_setupevents "SCX", "CPU1", "TST_DS", TST_DS_MSG5_SENT_INF_EID, "INFO", 1 +21-236-12:21:10.184 00 SPR-I:OPRO ;*********************************************************************** +21-236-12:21:10.184 00 SPR-I:OPRO ; Setup event 1 with TST_DS INFO 9 +21-236-12:21:10.184 00 SPR-I:OPRO ;*********************************************************************** +21-236-12:21:10.184 00 SCX_CPU1_DS_MO/646 +21-236-12:21:10.184 00 SCX_CPU1_DS_MO/648 /SCX_CPU1_TST_DS_SENDMESSAGE MsgID=seqMsgID MsgType=5 Pattern=x'A5' +21-236-12:21:10.196 00 SCX_CPU1_DS_MO/649 +21-236-12:21:10.196 00 SCX_CPU1_DS_MO/651 ut_tlmwait SCX_CPU1_find_event[1].num_found_messages, 1 +21-236-12:21:10.199 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-12:21:10.207 00 TLMH-I:STS 58-012-14:07:09.508 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=9 Sent Message Size 1516 to MID 0x00000900 +21-236-12:21:11.200 00 SPR-I:STTE WAIT UNTIL completed +21-236-12:21:11.200 00 SCX_CPU1_DS_MO/652 if (UT_TW_Status = UT_Success) then +21-236-12:21:11.200 00 SCX_CPU1_DS_MO/653 write "<*> Passed - Expected Event Msg ",TST_DS_MSG5_SENT_INF_EID," rcv'd." +21-236-12:21:11.200 00 SPR-I:OPRO <*> Passed - Expected Event Msg 9 rcv'd. +21-236-12:21:11.200 00 SCX_CPU1_DS_MO/656 endif +21-236-12:21:11.200 00 SCX_CPU1_DS_MO/657 +21-236-12:21:11.200 00 SCX_CPU1_DS_MO/659 cmdCtr = SCX_CPU1_DS_CMDPC + 1 +21-236-12:21:11.201 00 SCX_CPU1_DS_MO/660 +21-236-12:21:11.201 00 SCX_CPU1_DS_MO/661 /SCX_CPU1_DS_GetFileInfo +21-236-12:21:11.202 00 SCX_CPU1_DS_MO/662 +21-236-12:21:11.202 00 SCX_CPU1_DS_MO/663 ut_tlmwait SCX_CPU1_DS_CMDPC, {cmdCtr} +21-236-12:21:11.205 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-12:21:11.709 00 TLMH-I:STS 58-012-14:07:11.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-12:21:13.206 00 SPR-I:STTE WAIT UNTIL completed +21-236-12:21:13.207 00 SCX_CPU1_DS_MO/664 +21-236-12:21:13.207 00 SCX_CPU1_DS_MO/667 local fileName3 = "" +21-236-12:21:13.207 00 SCX_CPU1_DS_MO/668 if (SCX_CPU1_DS_FileState[seqFileEntry].FileName <> "") then +21-236-12:21:13.207 00 SCX_CPU1_DS_MO/669 fileName3 = SCX_CPU1_DS_FileState[seqFileEntry].FileName +21-236-12:21:13.207 00 SCX_CPU1_DS_MO/670 write "<*> Passed (3000;3000.1;3000.1.1) - A file was created with name '",fileName3,"'" +21-236-12:21:13.207 00 SPR-I:OPRO <*> Passed (3000;3000.1;3000.1.1) - A file was created with name '/ram/seq100000102.dat' +21-236-12:21:13.207 00 SCX_CPU1_DS_MO/671 ut_setrequirements DS_3000, "P" +21-236-12:21:13.208 00 SCX_CPU1_DS_MO/672 ut_setrequirements DS_30001, "A" +21-236-12:21:13.209 00 SCX_CPU1_DS_MO/673 ut_setrequirements DS_300011, "A" +21-236-12:21:13.210 00 SCX_CPU1_DS_MO/674 +21-236-12:21:13.210 00 SCX_CPU1_DS_MO/675 slashLoc = %locate(fileName3,"/") +21-236-12:21:13.210 00 SCX_CPU1_DS_MO/677 while (slashLoc <> 0) do +21-236-12:21:13.210 00 SCX_CPU1_DS_MO/678 fileName3 = %substring(fileName3,slashLoc+1,%length(fileName3)) +21-236-12:21:13.210 00 SCX_CPU1_DS_MO/679 slashLoc = %locate(fileName3,"/") +21-236-12:21:13.210 00 SCX_CPU1_DS_MO/680 enddo +21-236-12:21:13.210 00 SCX_CPU1_DS_MO/678 fileName3 = %substring(fileName3,slashLoc+1,%length(fileName3)) +21-236-12:21:13.210 00 SCX_CPU1_DS_MO/679 slashLoc = %locate(fileName3,"/") +21-236-12:21:13.210 00 SCX_CPU1_DS_MO/680 enddo +21-236-12:21:13.211 00 SCX_CPU1_DS_MO/681 +21-236-12:21:13.211 00 SCX_CPU1_DS_MO/682 write "==> FileName3 filename only = '",fileName3,"'" +21-236-12:21:13.211 00 SPR-I:OPRO ==> FileName3 filename only = 'seq100000102.dat' +21-236-12:21:13.211 00 SCX_CPU1_DS_MO/683 +21-236-12:21:13.211 00 SCX_CPU1_DS_MO/684 if (SCX_CPU1_DS_FileState[seqFileEntry].OpenState = DS_OPEN) then +21-236-12:21:13.211 00 SCX_CPU1_DS_MO/685 write "<*> Passed (3001) - The file is marked 'OPEN'" +21-236-12:21:13.211 00 SPR-I:OPRO <*> Passed (3001) - The file is marked 'OPEN' +21-236-12:21:13.216 00 SCX_CPU1_DS_MO/686 ut_setrequirements DS_3001, "P" +21-236-12:21:13.217 00 SCX_CPU1_DS_MO/687 endif +21-236-12:21:13.217 00 SCX_CPU1_DS_MO/688 +21-236-12:21:13.217 00 SCX_CPU1_DS_MO/689 if (fileName2 <> fileName3) then +21-236-12:21:13.217 00 SCX_CPU1_DS_MO/690 write "<*> Passed (3001.1) - A new file was opened" +21-236-12:21:13.217 00 SPR-I:OPRO <*> Passed (3001.1) - A new file was opened +21-236-12:21:13.217 00 SCX_CPU1_DS_MO/691 ut_setrequirements DS_30011, "P" +21-236-12:21:13.218 00 SCX_CPU1_DS_MO/692 ut_setrequirements DS_30012, "A" +21-236-12:21:13.219 00 SCX_CPU1_DS_MO/697 endif +21-236-12:21:13.219 00 SCX_CPU1_DS_MO/698 +21-236-12:21:13.219 00 SCX_CPU1_DS_MO/701 /SCX_CPU1_FM_DirListTlm DirName=pathName Offset=0 GetStatFlag=0 +21-236-12:21:13.231 00 SCX_CPU1_DS_MO/702 wait 10 +21-236-12:21:13.231 00 SPR-I:STTE Wait mode - waiting 10 seconds ... +21-236-12:21:23.243 00 SCX_CPU1_DS_MO/703 +21-236-12:21:23.243 00 SCX_CPU1_DS_MO/705 for i = 1 to SCX_CPU1_FM_PktFiles do +21-236-12:21:23.243 00 SCX_CPU1_DS_MO/706 if (fileName2 = SCX_CPU1_FM_DirList[i].name) then +21-236-12:21:23.243 00 SCX_CPU1_DS_MO/709 endif +21-236-12:21:23.243 00 SCX_CPU1_DS_MO/710 enddo +21-236-12:21:23.243 00 SCX_CPU1_DS_MO/705 for i = 1 to SCX_CPU1_FM_PktFiles do +21-236-12:21:23.243 00 SCX_CPU1_DS_MO/706 if (fileName2 = SCX_CPU1_FM_DirList[i].name) then +21-236-12:21:23.243 00 SCX_CPU1_DS_MO/709 endif +21-236-12:21:23.243 00 SCX_CPU1_DS_MO/710 enddo +21-236-12:21:23.243 00 SCX_CPU1_DS_MO/705 for i = 1 to SCX_CPU1_FM_PktFiles do +21-236-12:21:23.243 00 SCX_CPU1_DS_MO/706 if (fileName2 = SCX_CPU1_FM_DirList[i].name) then +21-236-12:21:23.244 00 SCX_CPU1_DS_MO/709 endif +21-236-12:21:23.244 00 SCX_CPU1_DS_MO/710 enddo +21-236-12:21:23.244 00 SCX_CPU1_DS_MO/705 for i = 1 to SCX_CPU1_FM_PktFiles do +21-236-12:21:23.244 00 SCX_CPU1_DS_MO/706 if (fileName2 = SCX_CPU1_FM_DirList[i].name) then +21-236-12:21:23.244 00 SCX_CPU1_DS_MO/709 endif +21-236-12:21:23.244 00 SCX_CPU1_DS_MO/710 enddo +21-236-12:21:23.244 00 SCX_CPU1_DS_MO/705 for i = 1 to SCX_CPU1_FM_PktFiles do +21-236-12:21:23.244 00 SCX_CPU1_DS_MO/706 if (fileName2 = SCX_CPU1_FM_DirList[i].name) then +21-236-12:21:23.244 00 SCX_CPU1_DS_MO/709 endif +21-236-12:21:23.244 00 SCX_CPU1_DS_MO/710 enddo +21-236-12:21:23.244 00 SCX_CPU1_DS_MO/705 for i = 1 to SCX_CPU1_FM_PktFiles do +21-236-12:21:23.244 00 SCX_CPU1_DS_MO/706 if (fileName2 = SCX_CPU1_FM_DirList[i].name) then +21-236-12:21:23.244 00 SCX_CPU1_DS_MO/709 endif +21-236-12:21:23.244 00 SCX_CPU1_DS_MO/710 enddo +21-236-12:21:23.244 00 SCX_CPU1_DS_MO/705 for i = 1 to SCX_CPU1_FM_PktFiles do +21-236-12:21:23.244 00 SCX_CPU1_DS_MO/706 if (fileName2 = SCX_CPU1_FM_DirList[i].name) then +21-236-12:21:23.245 00 SCX_CPU1_DS_MO/709 endif +21-236-12:21:23.245 00 SCX_CPU1_DS_MO/710 enddo +21-236-12:21:23.245 00 SCX_CPU1_DS_MO/705 for i = 1 to SCX_CPU1_FM_PktFiles do +21-236-12:21:23.245 00 SCX_CPU1_DS_MO/706 if (fileName2 = SCX_CPU1_FM_DirList[i].name) then +21-236-12:21:23.245 00 SCX_CPU1_DS_MO/709 endif +21-236-12:21:23.245 00 SCX_CPU1_DS_MO/710 enddo +21-236-12:21:23.245 00 SCX_CPU1_DS_MO/705 for i = 1 to SCX_CPU1_FM_PktFiles do +21-236-12:21:23.245 00 SCX_CPU1_DS_MO/706 if (fileName2 = SCX_CPU1_FM_DirList[i].name) then +21-236-12:21:23.245 00 SCX_CPU1_DS_MO/709 endif +21-236-12:21:23.245 00 SCX_CPU1_DS_MO/710 enddo +21-236-12:21:23.245 00 SCX_CPU1_DS_MO/705 for i = 1 to SCX_CPU1_FM_PktFiles do +21-236-12:21:23.245 00 SCX_CPU1_DS_MO/706 if (fileName2 = SCX_CPU1_FM_DirList[i].name) then +21-236-12:21:23.245 00 SCX_CPU1_DS_MO/709 endif +21-236-12:21:23.245 00 SCX_CPU1_DS_MO/710 enddo +21-236-12:21:23.246 00 SCX_CPU1_DS_MO/705 for i = 1 to SCX_CPU1_FM_PktFiles do +21-236-12:21:23.246 00 SCX_CPU1_DS_MO/711 +21-236-12:21:23.246 00 SCX_CPU1_DS_MO/713 /SCX_CPU1_FM_DirListTlm DirName=moveDirName Offset=0 GetStatFlag=0 +21-236-12:21:23.257 00 SCX_CPU1_DS_MO/714 wait 10 +21-236-12:21:23.257 00 SPR-I:STTE Wait mode - waiting 10 seconds ... +21-236-12:21:33.266 00 SCX_CPU1_DS_MO/715 +21-236-12:21:33.266 00 SCX_CPU1_DS_MO/717 for i = 1 to SCX_CPU1_FM_PktFiles do +21-236-12:21:33.266 00 SCX_CPU1_DS_MO/718 if (fileName2 = SCX_CPU1_FM_DirList[i].name) then +21-236-12:21:33.266 00 SCX_CPU1_DS_MO/720 endif +21-236-12:21:33.266 00 SCX_CPU1_DS_MO/721 enddo +21-236-12:21:33.266 00 SCX_CPU1_DS_MO/717 for i = 1 to SCX_CPU1_FM_PktFiles do +21-236-12:21:33.267 00 SCX_CPU1_DS_MO/718 if (fileName2 = SCX_CPU1_FM_DirList[i].name) then +21-236-12:21:33.267 00 SCX_CPU1_DS_MO/720 endif +21-236-12:21:33.267 00 SCX_CPU1_DS_MO/721 enddo +21-236-12:21:33.267 00 SCX_CPU1_DS_MO/717 for i = 1 to SCX_CPU1_FM_PktFiles do +21-236-12:21:33.267 00 SCX_CPU1_DS_MO/718 if (fileName2 = SCX_CPU1_FM_DirList[i].name) then +21-236-12:21:33.267 00 SCX_CPU1_DS_MO/720 endif +21-236-12:21:33.267 00 SCX_CPU1_DS_MO/721 enddo +21-236-12:21:33.268 00 SCX_CPU1_DS_MO/717 for i = 1 to SCX_CPU1_FM_PktFiles do +21-236-12:21:33.268 00 SCX_CPU1_DS_MO/718 if (fileName2 = SCX_CPU1_FM_DirList[i].name) then +21-236-12:21:33.268 00 SCX_CPU1_DS_MO/720 endif +21-236-12:21:33.268 00 SCX_CPU1_DS_MO/721 enddo +21-236-12:21:33.268 00 SCX_CPU1_DS_MO/717 for i = 1 to SCX_CPU1_FM_PktFiles do +21-236-12:21:33.268 00 SCX_CPU1_DS_MO/718 if (fileName2 = SCX_CPU1_FM_DirList[i].name) then +21-236-12:21:33.269 00 SCX_CPU1_DS_MO/719 write "<*> Passed - File '",fileName2,"' is contained in directory '",moveDirName,"' as expected." +21-236-12:21:33.269 00 SPR-I:OPRO <*> Passed - File 'seq100000101.dat' is contained in directory '/ram/movedir/' as expected. +21-236-12:21:33.269 00 SCX_CPU1_DS_MO/720 endif +21-236-12:21:33.269 00 SCX_CPU1_DS_MO/721 enddo +21-236-12:21:33.269 00 SCX_CPU1_DS_MO/717 for i = 1 to SCX_CPU1_FM_PktFiles do +21-236-12:21:33.269 00 SCX_CPU1_DS_MO/718 if (fileName2 = SCX_CPU1_FM_DirList[i].name) then +21-236-12:21:33.270 00 SCX_CPU1_DS_MO/720 endif +21-236-12:21:33.270 00 SCX_CPU1_DS_MO/721 enddo +21-236-12:21:33.270 00 SCX_CPU1_DS_MO/717 for i = 1 to SCX_CPU1_FM_PktFiles do +21-236-12:21:33.270 00 SCX_CPU1_DS_MO/718 if (fileName2 = SCX_CPU1_FM_DirList[i].name) then +21-236-12:21:33.270 00 SCX_CPU1_DS_MO/720 endif +21-236-12:21:33.270 00 SCX_CPU1_DS_MO/721 enddo +21-236-12:21:33.271 00 SCX_CPU1_DS_MO/717 for i = 1 to SCX_CPU1_FM_PktFiles do +21-236-12:21:33.271 00 SCX_CPU1_DS_MO/718 if (fileName2 = SCX_CPU1_FM_DirList[i].name) then +21-236-12:21:33.271 00 SCX_CPU1_DS_MO/720 endif +21-236-12:21:33.271 00 SCX_CPU1_DS_MO/721 enddo +21-236-12:21:33.271 00 SCX_CPU1_DS_MO/717 for i = 1 to SCX_CPU1_FM_PktFiles do +21-236-12:21:33.271 00 SCX_CPU1_DS_MO/728 endif +21-236-12:21:33.271 00 SCX_CPU1_DS_MO/729 +21-236-12:21:33.271 00 SCX_CPU1_DS_MO/730 write ";***********************************************************************" +21-236-12:21:33.271 00 SPR-I:OPRO ;*********************************************************************** +21-236-12:21:33.272 00 SCX_CPU1_DS_MO/731 write "; Step 2.4: Wait for the file created above to exceed its maximum age." +21-236-12:21:33.272 00 SPR-I:OPRO ; Step 2.4: Wait for the file created above to exceed its maximum age. +21-236-12:21:33.272 00 SCX_CPU1_DS_MO/732 write ";***********************************************************************" +21-236-12:21:33.272 00 SPR-I:OPRO ;*********************************************************************** +21-236-12:21:33.272 00 SCX_CPU1_DS_MO/735 local fileAge = SCX_CPU1_DS_DF_TBL[seqFileEntry].FileAge +21-236-12:21:33.272 00 SCX_CPU1_DS_MO/736 local reportedAge = SCX_CPU1_DS_FileState[seqFileEntry].FileAge +21-236-12:21:33.272 00 SCX_CPU1_DS_MO/737 local waitTime = fileAge - reportedAge +21-236-12:21:33.272 00 SCX_CPU1_DS_MO/738 local originalAge = reportedAge +21-236-12:21:33.273 00 SCX_CPU1_DS_MO/739 +21-236-12:21:33.273 00 SCX_CPU1_DS_MO/740 fileName1 = SCX_CPU1_DS_FileState[seqFileEntry].FileName +21-236-12:21:33.273 00 SCX_CPU1_DS_MO/741 +21-236-12:21:33.273 00 SCX_CPU1_DS_MO/742 while (waitTime > 0) do +21-236-12:21:33.273 00 SCX_CPU1_DS_MO/744 cmdCtr = SCX_CPU1_DS_CMDPC + 1 +21-236-12:21:33.274 00 SCX_CPU1_DS_MO/745 +21-236-12:21:33.274 00 SCX_CPU1_DS_MO/746 /SCX_CPU1_DS_GetFileInfo +21-236-12:21:33.287 00 SCX_CPU1_DS_MO/747 +21-236-12:21:33.287 00 SCX_CPU1_DS_MO/748 ut_tlmwait SCX_CPU1_DS_CMDPC, {cmdCtr} +21-236-12:21:33.296 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-12:21:33.708 00 TLMH-I:STS 58-012-14:07:33.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-12:21:37.304 00 SPR-I:STTE WAIT UNTIL completed +21-236-12:21:37.306 00 SCX_CPU1_DS_MO/749 +21-236-12:21:37.306 00 SCX_CPU1_DS_MO/750 reportedAge = SCX_CPU1_DS_FileState[seqFileEntry].FileAge +21-236-12:21:37.306 00 SCX_CPU1_DS_MO/751 write "new file age = ",reportedAge +21-236-12:21:37.307 00 SPR-I:OPRO new file age = 24 +21-236-12:21:37.307 00 SCX_CPU1_DS_MO/752 +21-236-12:21:37.307 00 SCX_CPU1_DS_MO/754 if (originalAge <> reportedAge) then +21-236-12:21:37.307 00 SCX_CPU1_DS_MO/755 ut_setrequirements DS_3002, "P" +21-236-12:21:37.310 00 SCX_CPU1_DS_MO/756 ut_setrequirements DS_30021, "P" +21-236-12:21:37.313 00 SCX_CPU1_DS_MO/757 endif +21-236-12:21:37.314 00 SCX_CPU1_DS_MO/758 +21-236-12:21:37.314 00 SCX_CPU1_DS_MO/759 waitTime = fileAge - reportedAge +21-236-12:21:37.314 00 SCX_CPU1_DS_MO/760 write "timeout calculation = ",waitTime +21-236-12:21:37.314 00 SPR-I:OPRO timeout calculation = 76 +21-236-12:21:37.314 00 SCX_CPU1_DS_MO/761 +21-236-12:21:37.314 00 SCX_CPU1_DS_MO/764 if (SCX_CPU1_DS_FileState[seqFileEntry].FileName = "") AND ;; +21-236-12:21:37.314 00 SCX_CPU1_DS_MO/765 (SCX_CPU1_DS_FileState[seqFileEntry].FileAge = 0) then +21-236-12:21:37.315 00 SCX_CPU1_DS_MO/768 endif +21-236-12:21:37.315 00 SCX_CPU1_DS_MO/769 enddo +21-236-12:21:37.315 00 SCX_CPU1_DS_MO/744 cmdCtr = SCX_CPU1_DS_CMDPC + 1 +21-236-12:21:37.316 00 SCX_CPU1_DS_MO/745 +21-236-12:21:37.316 00 SCX_CPU1_DS_MO/746 /SCX_CPU1_DS_GetFileInfo +21-236-12:21:37.331 00 SCX_CPU1_DS_MO/747 +21-236-12:21:37.331 00 SCX_CPU1_DS_MO/748 ut_tlmwait SCX_CPU1_DS_CMDPC, {cmdCtr} +21-236-12:21:37.340 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-12:21:37.710 00 TLMH-I:STS 58-012-14:07:37.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-12:21:38.602 00 SPR-I:OPRI --> page SCX_CPU1_DS_FILE_HK +21-236-12:21:41.459 00 SPR-I:STTE WAIT UNTIL completed +21-236-12:21:41.461 00 SCX_CPU1_DS_MO/749 +21-236-12:21:41.461 00 SCX_CPU1_DS_MO/750 reportedAge = SCX_CPU1_DS_FileState[seqFileEntry].FileAge +21-236-12:21:41.461 00 SCX_CPU1_DS_MO/751 write "new file age = ",reportedAge +21-236-12:21:41.461 00 SPR-I:OPRO new file age = 28 +21-236-12:21:41.462 00 SCX_CPU1_DS_MO/752 +21-236-12:21:41.462 00 SCX_CPU1_DS_MO/754 if (originalAge <> reportedAge) then +21-236-12:21:41.462 00 SCX_CPU1_DS_MO/755 ut_setrequirements DS_3002, "P" +21-236-12:21:41.464 00 SCX_CPU1_DS_MO/756 ut_setrequirements DS_30021, "P" +21-236-12:21:41.466 00 SCX_CPU1_DS_MO/757 endif +21-236-12:21:41.466 00 SCX_CPU1_DS_MO/758 +21-236-12:21:41.466 00 SCX_CPU1_DS_MO/759 waitTime = fileAge - reportedAge +21-236-12:21:41.466 00 SCX_CPU1_DS_MO/760 write "timeout calculation = ",waitTime +21-236-12:21:41.466 00 SPR-I:OPRO timeout calculation = 72 +21-236-12:21:41.466 00 SCX_CPU1_DS_MO/761 +21-236-12:21:41.466 00 SCX_CPU1_DS_MO/764 if (SCX_CPU1_DS_FileState[seqFileEntry].FileName = "") AND ;; +21-236-12:21:41.466 00 SCX_CPU1_DS_MO/765 (SCX_CPU1_DS_FileState[seqFileEntry].FileAge = 0) then +21-236-12:21:41.466 00 SCX_CPU1_DS_MO/768 endif +21-236-12:21:41.466 00 SCX_CPU1_DS_MO/769 enddo +21-236-12:21:41.466 00 SCX_CPU1_DS_MO/744 cmdCtr = SCX_CPU1_DS_CMDPC + 1 +21-236-12:21:41.466 00 SCX_CPU1_DS_MO/745 +21-236-12:21:41.467 00 SCX_CPU1_DS_MO/746 /SCX_CPU1_DS_GetFileInfo +21-236-12:21:41.478 00 SCX_CPU1_DS_MO/747 +21-236-12:21:41.478 00 SCX_CPU1_DS_MO/748 ut_tlmwait SCX_CPU1_DS_CMDPC, {cmdCtr} +21-236-12:21:41.482 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-12:21:41.711 00 TLMH-I:STS 58-012-14:07:41.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-12:21:45.492 00 SPR-I:STTE WAIT UNTIL completed +21-236-12:21:45.494 00 SCX_CPU1_DS_MO/749 +21-236-12:21:45.494 00 SCX_CPU1_DS_MO/750 reportedAge = SCX_CPU1_DS_FileState[seqFileEntry].FileAge +21-236-12:21:45.494 00 SCX_CPU1_DS_MO/751 write "new file age = ",reportedAge +21-236-12:21:45.494 00 SPR-I:OPRO new file age = 32 +21-236-12:21:45.495 00 SCX_CPU1_DS_MO/752 +21-236-12:21:45.495 00 SCX_CPU1_DS_MO/754 if (originalAge <> reportedAge) then +21-236-12:21:45.495 00 SCX_CPU1_DS_MO/755 ut_setrequirements DS_3002, "P" +21-236-12:21:45.497 00 SCX_CPU1_DS_MO/756 ut_setrequirements DS_30021, "P" +21-236-12:21:45.498 00 SCX_CPU1_DS_MO/757 endif +21-236-12:21:45.498 00 SCX_CPU1_DS_MO/758 +21-236-12:21:45.498 00 SCX_CPU1_DS_MO/759 waitTime = fileAge - reportedAge +21-236-12:21:45.498 00 SCX_CPU1_DS_MO/760 write "timeout calculation = ",waitTime +21-236-12:21:45.498 00 SPR-I:OPRO timeout calculation = 68 +21-236-12:21:45.498 00 SCX_CPU1_DS_MO/761 +21-236-12:21:45.498 00 SCX_CPU1_DS_MO/764 if (SCX_CPU1_DS_FileState[seqFileEntry].FileName = "") AND ;; +21-236-12:21:45.499 00 SCX_CPU1_DS_MO/765 (SCX_CPU1_DS_FileState[seqFileEntry].FileAge = 0) then +21-236-12:21:45.499 00 SCX_CPU1_DS_MO/768 endif +21-236-12:21:45.499 00 SCX_CPU1_DS_MO/769 enddo +21-236-12:21:45.503 00 SCX_CPU1_DS_MO/744 cmdCtr = SCX_CPU1_DS_CMDPC + 1 +21-236-12:21:45.503 00 SCX_CPU1_DS_MO/745 +21-236-12:21:45.503 00 SCX_CPU1_DS_MO/746 /SCX_CPU1_DS_GetFileInfo +21-236-12:21:45.514 00 SCX_CPU1_DS_MO/747 +21-236-12:21:45.514 00 SCX_CPU1_DS_MO/748 ut_tlmwait SCX_CPU1_DS_CMDPC, {cmdCtr} +21-236-12:21:45.520 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-12:21:45.707 00 TLMH-I:STS 58-012-14:07:45.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-12:21:49.525 00 SPR-I:STTE WAIT UNTIL completed +21-236-12:21:49.525 00 SCX_CPU1_DS_MO/749 +21-236-12:21:49.525 00 SCX_CPU1_DS_MO/750 reportedAge = SCX_CPU1_DS_FileState[seqFileEntry].FileAge +21-236-12:21:49.526 00 SCX_CPU1_DS_MO/751 write "new file age = ",reportedAge +21-236-12:21:49.526 00 SPR-I:OPRO new file age = 36 +21-236-12:21:49.526 00 SCX_CPU1_DS_MO/752 +21-236-12:21:49.526 00 SCX_CPU1_DS_MO/754 if (originalAge <> reportedAge) then +21-236-12:21:49.526 00 SCX_CPU1_DS_MO/755 ut_setrequirements DS_3002, "P" +21-236-12:21:49.526 00 SCX_CPU1_DS_MO/756 ut_setrequirements DS_30021, "P" +21-236-12:21:49.527 00 SCX_CPU1_DS_MO/757 endif +21-236-12:21:49.527 00 SCX_CPU1_DS_MO/758 +21-236-12:21:49.527 00 SCX_CPU1_DS_MO/759 waitTime = fileAge - reportedAge +21-236-12:21:49.527 00 SCX_CPU1_DS_MO/760 write "timeout calculation = ",waitTime +21-236-12:21:49.527 00 SPR-I:OPRO timeout calculation = 64 +21-236-12:21:49.527 00 SCX_CPU1_DS_MO/761 +21-236-12:21:49.527 00 SCX_CPU1_DS_MO/764 if (SCX_CPU1_DS_FileState[seqFileEntry].FileName = "") AND ;; +21-236-12:21:49.527 00 SCX_CPU1_DS_MO/765 (SCX_CPU1_DS_FileState[seqFileEntry].FileAge = 0) then +21-236-12:21:49.527 00 SCX_CPU1_DS_MO/768 endif +21-236-12:21:49.527 00 SCX_CPU1_DS_MO/769 enddo +21-236-12:21:49.531 00 SCX_CPU1_DS_MO/744 cmdCtr = SCX_CPU1_DS_CMDPC + 1 +21-236-12:21:49.531 00 SCX_CPU1_DS_MO/745 +21-236-12:21:49.531 00 SCX_CPU1_DS_MO/746 /SCX_CPU1_DS_GetFileInfo +21-236-12:21:49.542 00 SCX_CPU1_DS_MO/747 +21-236-12:21:49.543 00 SCX_CPU1_DS_MO/748 ut_tlmwait SCX_CPU1_DS_CMDPC, {cmdCtr} +21-236-12:21:49.546 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-12:21:49.712 00 TLMH-I:STS 58-012-14:07:49.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-12:21:53.551 00 SPR-I:STTE WAIT UNTIL completed +21-236-12:21:53.552 00 SCX_CPU1_DS_MO/749 +21-236-12:21:53.552 00 SCX_CPU1_DS_MO/750 reportedAge = SCX_CPU1_DS_FileState[seqFileEntry].FileAge +21-236-12:21:53.553 00 SCX_CPU1_DS_MO/751 write "new file age = ",reportedAge +21-236-12:21:53.553 00 SPR-I:OPRO new file age = 40 +21-236-12:21:53.553 00 SCX_CPU1_DS_MO/752 +21-236-12:21:53.553 00 SCX_CPU1_DS_MO/754 if (originalAge <> reportedAge) then +21-236-12:21:53.553 00 SCX_CPU1_DS_MO/755 ut_setrequirements DS_3002, "P" +21-236-12:21:53.556 00 SCX_CPU1_DS_MO/756 ut_setrequirements DS_30021, "P" +21-236-12:21:53.557 00 SCX_CPU1_DS_MO/757 endif +21-236-12:21:53.558 00 SCX_CPU1_DS_MO/758 +21-236-12:21:53.558 00 SCX_CPU1_DS_MO/759 waitTime = fileAge - reportedAge +21-236-12:21:53.558 00 SCX_CPU1_DS_MO/760 write "timeout calculation = ",waitTime +21-236-12:21:53.558 00 SPR-I:OPRO timeout calculation = 60 +21-236-12:21:53.558 00 SCX_CPU1_DS_MO/761 +21-236-12:21:53.558 00 SCX_CPU1_DS_MO/764 if (SCX_CPU1_DS_FileState[seqFileEntry].FileName = "") AND ;; +21-236-12:21:53.558 00 SCX_CPU1_DS_MO/765 (SCX_CPU1_DS_FileState[seqFileEntry].FileAge = 0) then +21-236-12:21:53.558 00 SCX_CPU1_DS_MO/768 endif +21-236-12:21:53.558 00 SCX_CPU1_DS_MO/769 enddo +21-236-12:21:53.564 00 SCX_CPU1_DS_MO/744 cmdCtr = SCX_CPU1_DS_CMDPC + 1 +21-236-12:21:53.564 00 SCX_CPU1_DS_MO/745 +21-236-12:21:53.564 00 SCX_CPU1_DS_MO/746 /SCX_CPU1_DS_GetFileInfo +21-236-12:21:53.578 00 SCX_CPU1_DS_MO/747 +21-236-12:21:53.579 00 SCX_CPU1_DS_MO/748 ut_tlmwait SCX_CPU1_DS_CMDPC, {cmdCtr} +21-236-12:21:53.583 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-12:21:53.709 00 TLMH-I:STS 58-012-14:07:53.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-12:21:57.588 00 SPR-I:STTE WAIT UNTIL completed +21-236-12:21:57.590 00 SCX_CPU1_DS_MO/749 +21-236-12:21:57.590 00 SCX_CPU1_DS_MO/750 reportedAge = SCX_CPU1_DS_FileState[seqFileEntry].FileAge +21-236-12:21:57.590 00 SCX_CPU1_DS_MO/751 write "new file age = ",reportedAge +21-236-12:21:57.590 00 SPR-I:OPRO new file age = 44 +21-236-12:21:57.590 00 SCX_CPU1_DS_MO/752 +21-236-12:21:57.590 00 SCX_CPU1_DS_MO/754 if (originalAge <> reportedAge) then +21-236-12:21:57.591 00 SCX_CPU1_DS_MO/755 ut_setrequirements DS_3002, "P" +21-236-12:21:57.593 00 SCX_CPU1_DS_MO/756 ut_setrequirements DS_30021, "P" +21-236-12:21:57.594 00 SCX_CPU1_DS_MO/757 endif +21-236-12:21:57.594 00 SCX_CPU1_DS_MO/758 +21-236-12:21:57.594 00 SCX_CPU1_DS_MO/759 waitTime = fileAge - reportedAge +21-236-12:21:57.594 00 SCX_CPU1_DS_MO/760 write "timeout calculation = ",waitTime +21-236-12:21:57.594 00 SPR-I:OPRO timeout calculation = 56 +21-236-12:21:57.594 00 SCX_CPU1_DS_MO/761 +21-236-12:21:57.594 00 SCX_CPU1_DS_MO/764 if (SCX_CPU1_DS_FileState[seqFileEntry].FileName = "") AND ;; +21-236-12:21:57.594 00 SCX_CPU1_DS_MO/765 (SCX_CPU1_DS_FileState[seqFileEntry].FileAge = 0) then +21-236-12:21:57.594 00 SCX_CPU1_DS_MO/768 endif +21-236-12:21:57.594 00 SCX_CPU1_DS_MO/769 enddo +21-236-12:21:57.595 00 SCX_CPU1_DS_MO/744 cmdCtr = SCX_CPU1_DS_CMDPC + 1 +21-236-12:21:57.595 00 SCX_CPU1_DS_MO/745 +21-236-12:21:57.595 00 SCX_CPU1_DS_MO/746 /SCX_CPU1_DS_GetFileInfo +21-236-12:21:57.606 00 SCX_CPU1_DS_MO/747 +21-236-12:21:57.606 00 SCX_CPU1_DS_MO/748 ut_tlmwait SCX_CPU1_DS_CMDPC, {cmdCtr} +21-236-12:21:57.610 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-12:21:57.711 00 TLMH-I:STS 58-012-14:07:57.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-12:22:01.614 00 SPR-I:STTE WAIT UNTIL completed +21-236-12:22:01.616 00 SCX_CPU1_DS_MO/749 +21-236-12:22:01.616 00 SCX_CPU1_DS_MO/750 reportedAge = SCX_CPU1_DS_FileState[seqFileEntry].FileAge +21-236-12:22:01.616 00 SCX_CPU1_DS_MO/751 write "new file age = ",reportedAge +21-236-12:22:01.616 00 SPR-I:OPRO new file age = 48 +21-236-12:22:01.616 00 SCX_CPU1_DS_MO/752 +21-236-12:22:01.617 00 SCX_CPU1_DS_MO/754 if (originalAge <> reportedAge) then +21-236-12:22:01.617 00 SCX_CPU1_DS_MO/755 ut_setrequirements DS_3002, "P" +21-236-12:22:01.619 00 SCX_CPU1_DS_MO/756 ut_setrequirements DS_30021, "P" +21-236-12:22:01.620 00 SCX_CPU1_DS_MO/757 endif +21-236-12:22:01.620 00 SCX_CPU1_DS_MO/758 +21-236-12:22:01.620 00 SCX_CPU1_DS_MO/759 waitTime = fileAge - reportedAge +21-236-12:22:01.620 00 SCX_CPU1_DS_MO/760 write "timeout calculation = ",waitTime +21-236-12:22:01.620 00 SPR-I:OPRO timeout calculation = 52 +21-236-12:22:01.620 00 SCX_CPU1_DS_MO/761 +21-236-12:22:01.620 00 SCX_CPU1_DS_MO/764 if (SCX_CPU1_DS_FileState[seqFileEntry].FileName = "") AND ;; +21-236-12:22:01.620 00 SCX_CPU1_DS_MO/765 (SCX_CPU1_DS_FileState[seqFileEntry].FileAge = 0) then +21-236-12:22:01.620 00 SCX_CPU1_DS_MO/768 endif +21-236-12:22:01.620 00 SCX_CPU1_DS_MO/769 enddo +21-236-12:22:01.624 00 SCX_CPU1_DS_MO/744 cmdCtr = SCX_CPU1_DS_CMDPC + 1 +21-236-12:22:01.624 00 SCX_CPU1_DS_MO/745 +21-236-12:22:01.624 00 SCX_CPU1_DS_MO/746 /SCX_CPU1_DS_GetFileInfo +21-236-12:22:01.635 00 SCX_CPU1_DS_MO/747 +21-236-12:22:01.635 00 SCX_CPU1_DS_MO/748 ut_tlmwait SCX_CPU1_DS_CMDPC, {cmdCtr} +21-236-12:22:01.639 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-12:22:01.714 00 TLMH-I:STS 58-012-14:08:01.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-12:22:05.644 00 SPR-I:STTE WAIT UNTIL completed +21-236-12:22:05.646 00 SCX_CPU1_DS_MO/749 +21-236-12:22:05.646 00 SCX_CPU1_DS_MO/750 reportedAge = SCX_CPU1_DS_FileState[seqFileEntry].FileAge +21-236-12:22:05.646 00 SCX_CPU1_DS_MO/751 write "new file age = ",reportedAge +21-236-12:22:05.646 00 SPR-I:OPRO new file age = 52 +21-236-12:22:05.646 00 SCX_CPU1_DS_MO/752 +21-236-12:22:05.646 00 SCX_CPU1_DS_MO/754 if (originalAge <> reportedAge) then +21-236-12:22:05.647 00 SCX_CPU1_DS_MO/755 ut_setrequirements DS_3002, "P" +21-236-12:22:05.650 00 SCX_CPU1_DS_MO/756 ut_setrequirements DS_30021, "P" +21-236-12:22:05.651 00 SCX_CPU1_DS_MO/757 endif +21-236-12:22:05.651 00 SCX_CPU1_DS_MO/758 +21-236-12:22:05.651 00 SCX_CPU1_DS_MO/759 waitTime = fileAge - reportedAge +21-236-12:22:05.651 00 SCX_CPU1_DS_MO/760 write "timeout calculation = ",waitTime +21-236-12:22:05.651 00 SPR-I:OPRO timeout calculation = 48 +21-236-12:22:05.651 00 SCX_CPU1_DS_MO/761 +21-236-12:22:05.651 00 SCX_CPU1_DS_MO/764 if (SCX_CPU1_DS_FileState[seqFileEntry].FileName = "") AND ;; +21-236-12:22:05.651 00 SCX_CPU1_DS_MO/765 (SCX_CPU1_DS_FileState[seqFileEntry].FileAge = 0) then +21-236-12:22:05.651 00 SCX_CPU1_DS_MO/768 endif +21-236-12:22:05.651 00 SCX_CPU1_DS_MO/769 enddo +21-236-12:22:05.655 00 SCX_CPU1_DS_MO/744 cmdCtr = SCX_CPU1_DS_CMDPC + 1 +21-236-12:22:05.656 00 SCX_CPU1_DS_MO/745 +21-236-12:22:05.656 00 SCX_CPU1_DS_MO/746 /SCX_CPU1_DS_GetFileInfo +21-236-12:22:05.667 00 SCX_CPU1_DS_MO/747 +21-236-12:22:05.667 00 SCX_CPU1_DS_MO/748 ut_tlmwait SCX_CPU1_DS_CMDPC, {cmdCtr} +21-236-12:22:05.670 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-12:22:05.708 00 TLMH-I:STS 58-012-14:08:05.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-12:22:09.675 00 SPR-I:STTE WAIT UNTIL completed +21-236-12:22:09.676 00 SCX_CPU1_DS_MO/749 +21-236-12:22:09.676 00 SCX_CPU1_DS_MO/750 reportedAge = SCX_CPU1_DS_FileState[seqFileEntry].FileAge +21-236-12:22:09.677 00 SCX_CPU1_DS_MO/751 write "new file age = ",reportedAge +21-236-12:22:09.677 00 SPR-I:OPRO new file age = 56 +21-236-12:22:09.677 00 SCX_CPU1_DS_MO/752 +21-236-12:22:09.677 00 SCX_CPU1_DS_MO/754 if (originalAge <> reportedAge) then +21-236-12:22:09.677 00 SCX_CPU1_DS_MO/755 ut_setrequirements DS_3002, "P" +21-236-12:22:09.680 00 SCX_CPU1_DS_MO/756 ut_setrequirements DS_30021, "P" +21-236-12:22:09.681 00 SCX_CPU1_DS_MO/757 endif +21-236-12:22:09.681 00 SCX_CPU1_DS_MO/758 +21-236-12:22:09.681 00 SCX_CPU1_DS_MO/759 waitTime = fileAge - reportedAge +21-236-12:22:09.681 00 SCX_CPU1_DS_MO/760 write "timeout calculation = ",waitTime +21-236-12:22:09.681 00 SPR-I:OPRO timeout calculation = 44 +21-236-12:22:09.681 00 SCX_CPU1_DS_MO/761 +21-236-12:22:09.681 00 SCX_CPU1_DS_MO/764 if (SCX_CPU1_DS_FileState[seqFileEntry].FileName = "") AND ;; +21-236-12:22:09.681 00 SCX_CPU1_DS_MO/765 (SCX_CPU1_DS_FileState[seqFileEntry].FileAge = 0) then +21-236-12:22:09.681 00 SCX_CPU1_DS_MO/768 endif +21-236-12:22:09.682 00 SCX_CPU1_DS_MO/769 enddo +21-236-12:22:09.689 00 SCX_CPU1_DS_MO/744 cmdCtr = SCX_CPU1_DS_CMDPC + 1 +21-236-12:22:09.689 00 SCX_CPU1_DS_MO/745 +21-236-12:22:09.689 00 SCX_CPU1_DS_MO/746 /SCX_CPU1_DS_GetFileInfo +21-236-12:22:09.701 00 SCX_CPU1_DS_MO/747 +21-236-12:22:09.701 00 SCX_CPU1_DS_MO/748 ut_tlmwait SCX_CPU1_DS_CMDPC, {cmdCtr} +21-236-12:22:09.707 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-12:22:10.211 00 TLMH-I:STS 58-012-14:08:09.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-12:22:12.710 00 SPR-I:STTE WAIT UNTIL completed +21-236-12:22:12.710 00 SCX_CPU1_DS_MO/749 +21-236-12:22:12.711 00 SCX_CPU1_DS_MO/750 reportedAge = SCX_CPU1_DS_FileState[seqFileEntry].FileAge +21-236-12:22:12.711 00 SCX_CPU1_DS_MO/751 write "new file age = ",reportedAge +21-236-12:22:12.711 00 SPR-I:OPRO new file age = 60 +21-236-12:22:12.711 00 SCX_CPU1_DS_MO/752 +21-236-12:22:12.711 00 SCX_CPU1_DS_MO/754 if (originalAge <> reportedAge) then +21-236-12:22:12.711 00 SCX_CPU1_DS_MO/755 ut_setrequirements DS_3002, "P" +21-236-12:22:12.712 00 SCX_CPU1_DS_MO/756 ut_setrequirements DS_30021, "P" +21-236-12:22:12.713 00 SCX_CPU1_DS_MO/757 endif +21-236-12:22:12.713 00 SCX_CPU1_DS_MO/758 +21-236-12:22:12.714 00 SCX_CPU1_DS_MO/759 waitTime = fileAge - reportedAge +21-236-12:22:12.714 00 SCX_CPU1_DS_MO/760 write "timeout calculation = ",waitTime +21-236-12:22:12.714 00 SPR-I:OPRO timeout calculation = 40 +21-236-12:22:12.714 00 SCX_CPU1_DS_MO/761 +21-236-12:22:12.714 00 SCX_CPU1_DS_MO/764 if (SCX_CPU1_DS_FileState[seqFileEntry].FileName = "") AND ;; +21-236-12:22:12.714 00 SCX_CPU1_DS_MO/765 (SCX_CPU1_DS_FileState[seqFileEntry].FileAge = 0) then +21-236-12:22:12.714 00 SCX_CPU1_DS_MO/768 endif +21-236-12:22:12.714 00 SCX_CPU1_DS_MO/769 enddo +21-236-12:22:12.719 00 SCX_CPU1_DS_MO/744 cmdCtr = SCX_CPU1_DS_CMDPC + 1 +21-236-12:22:12.719 00 SCX_CPU1_DS_MO/745 +21-236-12:22:12.719 00 SCX_CPU1_DS_MO/746 /SCX_CPU1_DS_GetFileInfo +21-236-12:22:12.731 00 SCX_CPU1_DS_MO/747 +21-236-12:22:12.731 00 SCX_CPU1_DS_MO/748 ut_tlmwait SCX_CPU1_DS_CMDPC, {cmdCtr} +21-236-12:22:12.735 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-12:22:13.214 00 TLMH-I:STS 58-012-14:08:12.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-12:22:16.739 00 SPR-I:STTE WAIT UNTIL completed +21-236-12:22:16.740 00 SCX_CPU1_DS_MO/749 +21-236-12:22:16.741 00 SCX_CPU1_DS_MO/750 reportedAge = SCX_CPU1_DS_FileState[seqFileEntry].FileAge +21-236-12:22:16.741 00 SCX_CPU1_DS_MO/751 write "new file age = ",reportedAge +21-236-12:22:16.741 00 SPR-I:OPRO new file age = 64 +21-236-12:22:16.741 00 SCX_CPU1_DS_MO/752 +21-236-12:22:16.741 00 SCX_CPU1_DS_MO/754 if (originalAge <> reportedAge) then +21-236-12:22:16.742 00 SCX_CPU1_DS_MO/755 ut_setrequirements DS_3002, "P" +21-236-12:22:16.744 00 SCX_CPU1_DS_MO/756 ut_setrequirements DS_30021, "P" +21-236-12:22:16.745 00 SCX_CPU1_DS_MO/757 endif +21-236-12:22:16.745 00 SCX_CPU1_DS_MO/758 +21-236-12:22:16.745 00 SCX_CPU1_DS_MO/759 waitTime = fileAge - reportedAge +21-236-12:22:16.745 00 SCX_CPU1_DS_MO/760 write "timeout calculation = ",waitTime +21-236-12:22:16.745 00 SPR-I:OPRO timeout calculation = 36 +21-236-12:22:16.745 00 SCX_CPU1_DS_MO/761 +21-236-12:22:16.745 00 SCX_CPU1_DS_MO/764 if (SCX_CPU1_DS_FileState[seqFileEntry].FileName = "") AND ;; +21-236-12:22:16.745 00 SCX_CPU1_DS_MO/765 (SCX_CPU1_DS_FileState[seqFileEntry].FileAge = 0) then +21-236-12:22:16.745 00 SCX_CPU1_DS_MO/768 endif +21-236-12:22:16.745 00 SCX_CPU1_DS_MO/769 enddo +21-236-12:22:16.749 00 SCX_CPU1_DS_MO/744 cmdCtr = SCX_CPU1_DS_CMDPC + 1 +21-236-12:22:16.749 00 SCX_CPU1_DS_MO/745 +21-236-12:22:16.749 00 SCX_CPU1_DS_MO/746 /SCX_CPU1_DS_GetFileInfo +21-236-12:22:16.750 00 SCX_CPU1_DS_MO/747 +21-236-12:22:16.750 00 SCX_CPU1_DS_MO/748 ut_tlmwait SCX_CPU1_DS_CMDPC, {cmdCtr} +21-236-12:22:16.753 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-12:22:17.209 00 TLMH-I:STS 58-012-14:08:16.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-12:22:20.757 00 SPR-I:STTE WAIT UNTIL completed +21-236-12:22:20.759 00 SCX_CPU1_DS_MO/749 +21-236-12:22:20.759 00 SCX_CPU1_DS_MO/750 reportedAge = SCX_CPU1_DS_FileState[seqFileEntry].FileAge +21-236-12:22:20.759 00 SCX_CPU1_DS_MO/751 write "new file age = ",reportedAge +21-236-12:22:20.760 00 SPR-I:OPRO new file age = 68 +21-236-12:22:20.760 00 SCX_CPU1_DS_MO/752 +21-236-12:22:20.760 00 SCX_CPU1_DS_MO/754 if (originalAge <> reportedAge) then +21-236-12:22:20.760 00 SCX_CPU1_DS_MO/755 ut_setrequirements DS_3002, "P" +21-236-12:22:20.762 00 SCX_CPU1_DS_MO/756 ut_setrequirements DS_30021, "P" +21-236-12:22:20.763 00 SCX_CPU1_DS_MO/757 endif +21-236-12:22:20.763 00 SCX_CPU1_DS_MO/758 +21-236-12:22:20.763 00 SCX_CPU1_DS_MO/759 waitTime = fileAge - reportedAge +21-236-12:22:20.763 00 SCX_CPU1_DS_MO/760 write "timeout calculation = ",waitTime +21-236-12:22:20.763 00 SPR-I:OPRO timeout calculation = 32 +21-236-12:22:20.763 00 SCX_CPU1_DS_MO/761 +21-236-12:22:20.763 00 SCX_CPU1_DS_MO/764 if (SCX_CPU1_DS_FileState[seqFileEntry].FileName = "") AND ;; +21-236-12:22:20.763 00 SCX_CPU1_DS_MO/765 (SCX_CPU1_DS_FileState[seqFileEntry].FileAge = 0) then +21-236-12:22:20.763 00 SCX_CPU1_DS_MO/768 endif +21-236-12:22:20.763 00 SCX_CPU1_DS_MO/769 enddo +21-236-12:22:20.768 00 SCX_CPU1_DS_MO/744 cmdCtr = SCX_CPU1_DS_CMDPC + 1 +21-236-12:22:20.768 00 SCX_CPU1_DS_MO/745 +21-236-12:22:20.768 00 SCX_CPU1_DS_MO/746 /SCX_CPU1_DS_GetFileInfo +21-236-12:22:20.781 00 SCX_CPU1_DS_MO/747 +21-236-12:22:20.781 00 SCX_CPU1_DS_MO/748 ut_tlmwait SCX_CPU1_DS_CMDPC, {cmdCtr} +21-236-12:22:20.784 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-12:22:21.207 00 TLMH-I:STS 58-012-14:08:20.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-12:22:24.789 00 SPR-I:STTE WAIT UNTIL completed +21-236-12:22:24.789 00 SCX_CPU1_DS_MO/749 +21-236-12:22:24.789 00 SCX_CPU1_DS_MO/750 reportedAge = SCX_CPU1_DS_FileState[seqFileEntry].FileAge +21-236-12:22:24.789 00 SCX_CPU1_DS_MO/751 write "new file age = ",reportedAge +21-236-12:22:24.790 00 SPR-I:OPRO new file age = 72 +21-236-12:22:24.790 00 SCX_CPU1_DS_MO/752 +21-236-12:22:24.790 00 SCX_CPU1_DS_MO/754 if (originalAge <> reportedAge) then +21-236-12:22:24.790 00 SCX_CPU1_DS_MO/755 ut_setrequirements DS_3002, "P" +21-236-12:22:24.791 00 SCX_CPU1_DS_MO/756 ut_setrequirements DS_30021, "P" +21-236-12:22:24.792 00 SCX_CPU1_DS_MO/757 endif +21-236-12:22:24.793 00 SCX_CPU1_DS_MO/758 +21-236-12:22:24.793 00 SCX_CPU1_DS_MO/759 waitTime = fileAge - reportedAge +21-236-12:22:24.793 00 SCX_CPU1_DS_MO/760 write "timeout calculation = ",waitTime +21-236-12:22:24.793 00 SPR-I:OPRO timeout calculation = 28 +21-236-12:22:24.793 00 SCX_CPU1_DS_MO/761 +21-236-12:22:24.793 00 SCX_CPU1_DS_MO/764 if (SCX_CPU1_DS_FileState[seqFileEntry].FileName = "") AND ;; +21-236-12:22:24.793 00 SCX_CPU1_DS_MO/765 (SCX_CPU1_DS_FileState[seqFileEntry].FileAge = 0) then +21-236-12:22:24.793 00 SCX_CPU1_DS_MO/768 endif +21-236-12:22:24.793 00 SCX_CPU1_DS_MO/769 enddo +21-236-12:22:24.794 00 SCX_CPU1_DS_MO/744 cmdCtr = SCX_CPU1_DS_CMDPC + 1 +21-236-12:22:24.794 00 SCX_CPU1_DS_MO/745 +21-236-12:22:24.794 00 SCX_CPU1_DS_MO/746 /SCX_CPU1_DS_GetFileInfo +21-236-12:22:24.805 00 SCX_CPU1_DS_MO/747 +21-236-12:22:24.805 00 SCX_CPU1_DS_MO/748 ut_tlmwait SCX_CPU1_DS_CMDPC, {cmdCtr} +21-236-12:22:24.808 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-12:22:25.215 00 TLMH-I:STS 58-012-14:08:24.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-12:22:28.813 00 SPR-I:STTE WAIT UNTIL completed +21-236-12:22:28.815 00 SCX_CPU1_DS_MO/749 +21-236-12:22:28.815 00 SCX_CPU1_DS_MO/750 reportedAge = SCX_CPU1_DS_FileState[seqFileEntry].FileAge +21-236-12:22:28.815 00 SCX_CPU1_DS_MO/751 write "new file age = ",reportedAge +21-236-12:22:28.816 00 SPR-I:OPRO new file age = 76 +21-236-12:22:28.816 00 SCX_CPU1_DS_MO/752 +21-236-12:22:28.816 00 SCX_CPU1_DS_MO/754 if (originalAge <> reportedAge) then +21-236-12:22:28.816 00 SCX_CPU1_DS_MO/755 ut_setrequirements DS_3002, "P" +21-236-12:22:28.820 00 SCX_CPU1_DS_MO/756 ut_setrequirements DS_30021, "P" +21-236-12:22:28.823 00 SCX_CPU1_DS_MO/757 endif +21-236-12:22:28.823 00 SCX_CPU1_DS_MO/758 +21-236-12:22:28.823 00 SCX_CPU1_DS_MO/759 waitTime = fileAge - reportedAge +21-236-12:22:28.823 00 SCX_CPU1_DS_MO/760 write "timeout calculation = ",waitTime +21-236-12:22:28.823 00 SPR-I:OPRO timeout calculation = 24 +21-236-12:22:28.823 00 SCX_CPU1_DS_MO/761 +21-236-12:22:28.823 00 SCX_CPU1_DS_MO/764 if (SCX_CPU1_DS_FileState[seqFileEntry].FileName = "") AND ;; +21-236-12:22:28.823 00 SCX_CPU1_DS_MO/765 (SCX_CPU1_DS_FileState[seqFileEntry].FileAge = 0) then +21-236-12:22:28.824 00 SCX_CPU1_DS_MO/768 endif +21-236-12:22:28.824 00 SCX_CPU1_DS_MO/769 enddo +21-236-12:22:28.824 00 SCX_CPU1_DS_MO/744 cmdCtr = SCX_CPU1_DS_CMDPC + 1 +21-236-12:22:28.825 00 SCX_CPU1_DS_MO/745 +21-236-12:22:28.825 00 SCX_CPU1_DS_MO/746 /SCX_CPU1_DS_GetFileInfo +21-236-12:22:28.840 00 SCX_CPU1_DS_MO/747 +21-236-12:22:28.840 00 SCX_CPU1_DS_MO/748 ut_tlmwait SCX_CPU1_DS_CMDPC, {cmdCtr} +21-236-12:22:28.851 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-12:22:29.211 00 TLMH-I:STS 58-012-14:08:28.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-12:22:32.856 00 SPR-I:STTE WAIT UNTIL completed +21-236-12:22:32.858 00 SCX_CPU1_DS_MO/749 +21-236-12:22:32.858 00 SCX_CPU1_DS_MO/750 reportedAge = SCX_CPU1_DS_FileState[seqFileEntry].FileAge +21-236-12:22:32.859 00 SCX_CPU1_DS_MO/751 write "new file age = ",reportedAge +21-236-12:22:32.859 00 SPR-I:OPRO new file age = 80 +21-236-12:22:32.859 00 SCX_CPU1_DS_MO/752 +21-236-12:22:32.859 00 SCX_CPU1_DS_MO/754 if (originalAge <> reportedAge) then +21-236-12:22:32.859 00 SCX_CPU1_DS_MO/755 ut_setrequirements DS_3002, "P" +21-236-12:22:32.863 00 SCX_CPU1_DS_MO/756 ut_setrequirements DS_30021, "P" +21-236-12:22:32.869 00 SCX_CPU1_DS_MO/757 endif +21-236-12:22:32.869 00 SCX_CPU1_DS_MO/758 +21-236-12:22:32.869 00 SCX_CPU1_DS_MO/759 waitTime = fileAge - reportedAge +21-236-12:22:32.870 00 SCX_CPU1_DS_MO/760 write "timeout calculation = ",waitTime +21-236-12:22:32.870 00 SPR-I:OPRO timeout calculation = 20 +21-236-12:22:32.870 00 SCX_CPU1_DS_MO/761 +21-236-12:22:32.870 00 SCX_CPU1_DS_MO/764 if (SCX_CPU1_DS_FileState[seqFileEntry].FileName = "") AND ;; +21-236-12:22:32.870 00 SCX_CPU1_DS_MO/765 (SCX_CPU1_DS_FileState[seqFileEntry].FileAge = 0) then +21-236-12:22:32.871 00 SCX_CPU1_DS_MO/768 endif +21-236-12:22:32.871 00 SCX_CPU1_DS_MO/769 enddo +21-236-12:22:32.871 00 SCX_CPU1_DS_MO/744 cmdCtr = SCX_CPU1_DS_CMDPC + 1 +21-236-12:22:32.872 00 SCX_CPU1_DS_MO/745 +21-236-12:22:32.872 00 SCX_CPU1_DS_MO/746 /SCX_CPU1_DS_GetFileInfo +21-236-12:22:32.878 00 SCX_CPU1_DS_MO/747 +21-236-12:22:32.878 00 SCX_CPU1_DS_MO/748 ut_tlmwait SCX_CPU1_DS_CMDPC, {cmdCtr} +21-236-12:22:32.890 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-12:22:33.214 00 TLMH-I:STS 58-012-14:08:32.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-12:22:36.895 00 SPR-I:STTE WAIT UNTIL completed +21-236-12:22:36.897 00 SCX_CPU1_DS_MO/749 +21-236-12:22:36.897 00 SCX_CPU1_DS_MO/750 reportedAge = SCX_CPU1_DS_FileState[seqFileEntry].FileAge +21-236-12:22:36.897 00 SCX_CPU1_DS_MO/751 write "new file age = ",reportedAge +21-236-12:22:36.897 00 SPR-I:OPRO new file age = 84 +21-236-12:22:36.897 00 SCX_CPU1_DS_MO/752 +21-236-12:22:36.897 00 SCX_CPU1_DS_MO/754 if (originalAge <> reportedAge) then +21-236-12:22:36.898 00 SCX_CPU1_DS_MO/755 ut_setrequirements DS_3002, "P" +21-236-12:22:36.900 00 SCX_CPU1_DS_MO/756 ut_setrequirements DS_30021, "P" +21-236-12:22:36.902 00 SCX_CPU1_DS_MO/757 endif +21-236-12:22:36.902 00 SCX_CPU1_DS_MO/758 +21-236-12:22:36.902 00 SCX_CPU1_DS_MO/759 waitTime = fileAge - reportedAge +21-236-12:22:36.902 00 SCX_CPU1_DS_MO/760 write "timeout calculation = ",waitTime +21-236-12:22:36.902 00 SPR-I:OPRO timeout calculation = 16 +21-236-12:22:36.902 00 SCX_CPU1_DS_MO/761 +21-236-12:22:36.902 00 SCX_CPU1_DS_MO/764 if (SCX_CPU1_DS_FileState[seqFileEntry].FileName = "") AND ;; +21-236-12:22:36.902 00 SCX_CPU1_DS_MO/765 (SCX_CPU1_DS_FileState[seqFileEntry].FileAge = 0) then +21-236-12:22:36.902 00 SCX_CPU1_DS_MO/768 endif +21-236-12:22:36.902 00 SCX_CPU1_DS_MO/769 enddo +21-236-12:22:36.907 00 SCX_CPU1_DS_MO/744 cmdCtr = SCX_CPU1_DS_CMDPC + 1 +21-236-12:22:36.908 00 SCX_CPU1_DS_MO/745 +21-236-12:22:36.908 00 SCX_CPU1_DS_MO/746 /SCX_CPU1_DS_GetFileInfo +21-236-12:22:36.922 00 SCX_CPU1_DS_MO/747 +21-236-12:22:36.922 00 SCX_CPU1_DS_MO/748 ut_tlmwait SCX_CPU1_DS_CMDPC, {cmdCtr} +21-236-12:22:36.926 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-12:22:37.215 00 TLMH-I:STS 58-012-14:08:36.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-12:22:40.930 00 SPR-I:STTE WAIT UNTIL completed +21-236-12:22:40.932 00 SCX_CPU1_DS_MO/749 +21-236-12:22:40.932 00 SCX_CPU1_DS_MO/750 reportedAge = SCX_CPU1_DS_FileState[seqFileEntry].FileAge +21-236-12:22:40.932 00 SCX_CPU1_DS_MO/751 write "new file age = ",reportedAge +21-236-12:22:40.932 00 SPR-I:OPRO new file age = 88 +21-236-12:22:40.932 00 SCX_CPU1_DS_MO/752 +21-236-12:22:40.933 00 SCX_CPU1_DS_MO/754 if (originalAge <> reportedAge) then +21-236-12:22:40.933 00 SCX_CPU1_DS_MO/755 ut_setrequirements DS_3002, "P" +21-236-12:22:40.935 00 SCX_CPU1_DS_MO/756 ut_setrequirements DS_30021, "P" +21-236-12:22:40.939 00 SCX_CPU1_DS_MO/757 endif +21-236-12:22:40.939 00 SCX_CPU1_DS_MO/758 +21-236-12:22:40.939 00 SCX_CPU1_DS_MO/759 waitTime = fileAge - reportedAge +21-236-12:22:40.940 00 SCX_CPU1_DS_MO/760 write "timeout calculation = ",waitTime +21-236-12:22:40.941 00 SPR-I:OPRO timeout calculation = 12 +21-236-12:22:40.941 00 SCX_CPU1_DS_MO/761 +21-236-12:22:40.941 00 SCX_CPU1_DS_MO/764 if (SCX_CPU1_DS_FileState[seqFileEntry].FileName = "") AND ;; +21-236-12:22:40.941 00 SCX_CPU1_DS_MO/765 (SCX_CPU1_DS_FileState[seqFileEntry].FileAge = 0) then +21-236-12:22:40.942 00 SCX_CPU1_DS_MO/768 endif +21-236-12:22:40.942 00 SCX_CPU1_DS_MO/769 enddo +21-236-12:22:40.943 00 SCX_CPU1_DS_MO/744 cmdCtr = SCX_CPU1_DS_CMDPC + 1 +21-236-12:22:40.943 00 SCX_CPU1_DS_MO/745 +21-236-12:22:40.943 00 SCX_CPU1_DS_MO/746 /SCX_CPU1_DS_GetFileInfo +21-236-12:22:40.960 00 SCX_CPU1_DS_MO/747 +21-236-12:22:40.960 00 SCX_CPU1_DS_MO/748 ut_tlmwait SCX_CPU1_DS_CMDPC, {cmdCtr} +21-236-12:22:40.969 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-12:22:41.207 00 TLMH-I:STS 58-012-14:08:40.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-12:22:44.974 00 SPR-I:STTE WAIT UNTIL completed +21-236-12:22:44.976 00 SCX_CPU1_DS_MO/749 +21-236-12:22:44.976 00 SCX_CPU1_DS_MO/750 reportedAge = SCX_CPU1_DS_FileState[seqFileEntry].FileAge +21-236-12:22:44.977 00 SCX_CPU1_DS_MO/751 write "new file age = ",reportedAge +21-236-12:22:44.977 00 SPR-I:OPRO new file age = 92 +21-236-12:22:44.977 00 SCX_CPU1_DS_MO/752 +21-236-12:22:44.977 00 SCX_CPU1_DS_MO/754 if (originalAge <> reportedAge) then +21-236-12:22:44.978 00 SCX_CPU1_DS_MO/755 ut_setrequirements DS_3002, "P" +21-236-12:22:44.981 00 SCX_CPU1_DS_MO/756 ut_setrequirements DS_30021, "P" +21-236-12:22:44.984 00 SCX_CPU1_DS_MO/757 endif +21-236-12:22:44.984 00 SCX_CPU1_DS_MO/758 +21-236-12:22:44.984 00 SCX_CPU1_DS_MO/759 waitTime = fileAge - reportedAge +21-236-12:22:44.984 00 SCX_CPU1_DS_MO/760 write "timeout calculation = ",waitTime +21-236-12:22:44.984 00 SPR-I:OPRO timeout calculation = 8 +21-236-12:22:44.984 00 SCX_CPU1_DS_MO/761 +21-236-12:22:44.984 00 SCX_CPU1_DS_MO/764 if (SCX_CPU1_DS_FileState[seqFileEntry].FileName = "") AND ;; +21-236-12:22:44.984 00 SCX_CPU1_DS_MO/765 (SCX_CPU1_DS_FileState[seqFileEntry].FileAge = 0) then +21-236-12:22:44.985 00 SCX_CPU1_DS_MO/768 endif +21-236-12:22:44.985 00 SCX_CPU1_DS_MO/769 enddo +21-236-12:22:44.985 00 SCX_CPU1_DS_MO/744 cmdCtr = SCX_CPU1_DS_CMDPC + 1 +21-236-12:22:44.986 00 SCX_CPU1_DS_MO/745 +21-236-12:22:44.986 00 SCX_CPU1_DS_MO/746 /SCX_CPU1_DS_GetFileInfo +21-236-12:22:44.988 00 SCX_CPU1_DS_MO/747 +21-236-12:22:44.988 00 SCX_CPU1_DS_MO/748 ut_tlmwait SCX_CPU1_DS_CMDPC, {cmdCtr} +21-236-12:22:44.994 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-12:22:45.212 00 TLMH-I:STS 58-012-14:08:44.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-12:22:48.997 00 SPR-I:STTE WAIT UNTIL completed +21-236-12:22:48.998 00 SCX_CPU1_DS_MO/749 +21-236-12:22:48.998 00 SCX_CPU1_DS_MO/750 reportedAge = SCX_CPU1_DS_FileState[seqFileEntry].FileAge +21-236-12:22:48.998 00 SCX_CPU1_DS_MO/751 write "new file age = ",reportedAge +21-236-12:22:48.998 00 SPR-I:OPRO new file age = 96 +21-236-12:22:48.998 00 SCX_CPU1_DS_MO/752 +21-236-12:22:48.998 00 SCX_CPU1_DS_MO/754 if (originalAge <> reportedAge) then +21-236-12:22:48.998 00 SCX_CPU1_DS_MO/755 ut_setrequirements DS_3002, "P" +21-236-12:22:48.999 00 SCX_CPU1_DS_MO/756 ut_setrequirements DS_30021, "P" +21-236-12:22:48.999 00 SCX_CPU1_DS_MO/757 endif +21-236-12:22:48.999 00 SCX_CPU1_DS_MO/758 +21-236-12:22:48.999 00 SCX_CPU1_DS_MO/759 waitTime = fileAge - reportedAge +21-236-12:22:48.999 00 SCX_CPU1_DS_MO/760 write "timeout calculation = ",waitTime +21-236-12:22:48.999 00 SPR-I:OPRO timeout calculation = 4 +21-236-12:22:48.999 00 SCX_CPU1_DS_MO/761 +21-236-12:22:48.999 00 SCX_CPU1_DS_MO/764 if (SCX_CPU1_DS_FileState[seqFileEntry].FileName = "") AND ;; +21-236-12:22:48.999 00 SCX_CPU1_DS_MO/765 (SCX_CPU1_DS_FileState[seqFileEntry].FileAge = 0) then +21-236-12:22:49.000 00 SCX_CPU1_DS_MO/768 endif +21-236-12:22:49.000 00 SCX_CPU1_DS_MO/769 enddo +21-236-12:22:49.000 00 SCX_CPU1_DS_MO/744 cmdCtr = SCX_CPU1_DS_CMDPC + 1 +21-236-12:22:49.000 00 SCX_CPU1_DS_MO/745 +21-236-12:22:49.000 00 SCX_CPU1_DS_MO/746 /SCX_CPU1_DS_GetFileInfo +21-236-12:22:49.011 00 SCX_CPU1_DS_MO/747 +21-236-12:22:49.011 00 SCX_CPU1_DS_MO/748 ut_tlmwait SCX_CPU1_DS_CMDPC, {cmdCtr} +21-236-12:22:49.014 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-12:22:49.207 00 TLMH-I:STS 58-012-14:08:48.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-12:22:53.017 00 SPR-I:STTE WAIT UNTIL completed +21-236-12:22:53.017 00 SCX_CPU1_DS_MO/749 +21-236-12:22:53.017 00 SCX_CPU1_DS_MO/750 reportedAge = SCX_CPU1_DS_FileState[seqFileEntry].FileAge +21-236-12:22:53.017 00 SCX_CPU1_DS_MO/751 write "new file age = ",reportedAge +21-236-12:22:53.017 00 SPR-I:OPRO new file age = 0 +21-236-12:22:53.018 00 SCX_CPU1_DS_MO/752 +21-236-12:22:53.018 00 SCX_CPU1_DS_MO/754 if (originalAge <> reportedAge) then +21-236-12:22:53.018 00 SCX_CPU1_DS_MO/757 endif +21-236-12:22:53.018 00 SCX_CPU1_DS_MO/758 +21-236-12:22:53.018 00 SCX_CPU1_DS_MO/759 waitTime = fileAge - reportedAge +21-236-12:22:53.018 00 SCX_CPU1_DS_MO/760 write "timeout calculation = ",waitTime +21-236-12:22:53.018 00 SPR-I:OPRO timeout calculation = 100 +21-236-12:22:53.018 00 SCX_CPU1_DS_MO/761 +21-236-12:22:53.018 00 SCX_CPU1_DS_MO/764 if (SCX_CPU1_DS_FileState[seqFileEntry].FileName = "") AND ;; +21-236-12:22:53.018 00 SCX_CPU1_DS_MO/765 (SCX_CPU1_DS_FileState[seqFileEntry].FileAge = 0) then +21-236-12:22:53.018 00 SCX_CPU1_DS_MO/766 waitTime = 0 +21-236-12:22:53.018 00 SCX_CPU1_DS_MO/767 write "TLM reports the file is no longer open" +21-236-12:22:53.018 00 SPR-I:OPRO TLM reports the file is no longer open +21-236-12:22:53.018 00 SCX_CPU1_DS_MO/768 endif +21-236-12:22:53.018 00 SCX_CPU1_DS_MO/769 enddo +21-236-12:22:53.018 00 SCX_CPU1_DS_MO/770 +21-236-12:22:53.018 00 SCX_CPU1_DS_MO/771 wait 5 +21-236-12:22:53.018 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-12:22:58.021 00 SCX_CPU1_DS_MO/772 +21-236-12:22:58.021 00 SCX_CPU1_DS_MO/775 /SCX_CPU1_FM_DirListTlm DirName=pathName Offset=0 GetStatFlag=0 +21-236-12:22:58.033 00 SCX_CPU1_DS_MO/776 wait 10 +21-236-12:22:58.033 00 SPR-I:STTE Wait mode - waiting 10 seconds ... +21-236-12:23:08.039 00 SCX_CPU1_DS_MO/777 +21-236-12:23:08.039 00 SCX_CPU1_DS_MO/779 for i = 1 to SCX_CPU1_FM_PktFiles do +21-236-12:23:08.039 00 SCX_CPU1_DS_MO/780 if (fileName3 = SCX_CPU1_FM_DirList[i].name) then +21-236-12:23:08.039 00 SCX_CPU1_DS_MO/783 endif +21-236-12:23:08.039 00 SCX_CPU1_DS_MO/784 enddo +21-236-12:23:08.039 00 SCX_CPU1_DS_MO/779 for i = 1 to SCX_CPU1_FM_PktFiles do +21-236-12:23:08.040 00 SCX_CPU1_DS_MO/780 if (fileName3 = SCX_CPU1_FM_DirList[i].name) then +21-236-12:23:08.040 00 SCX_CPU1_DS_MO/783 endif +21-236-12:23:08.040 00 SCX_CPU1_DS_MO/784 enddo +21-236-12:23:08.040 00 SCX_CPU1_DS_MO/779 for i = 1 to SCX_CPU1_FM_PktFiles do +21-236-12:23:08.040 00 SCX_CPU1_DS_MO/780 if (fileName3 = SCX_CPU1_FM_DirList[i].name) then +21-236-12:23:08.040 00 SCX_CPU1_DS_MO/783 endif +21-236-12:23:08.040 00 SCX_CPU1_DS_MO/784 enddo +21-236-12:23:08.040 00 SCX_CPU1_DS_MO/779 for i = 1 to SCX_CPU1_FM_PktFiles do +21-236-12:23:08.040 00 SCX_CPU1_DS_MO/780 if (fileName3 = SCX_CPU1_FM_DirList[i].name) then +21-236-12:23:08.040 00 SCX_CPU1_DS_MO/783 endif +21-236-12:23:08.040 00 SCX_CPU1_DS_MO/784 enddo +21-236-12:23:08.040 00 SCX_CPU1_DS_MO/779 for i = 1 to SCX_CPU1_FM_PktFiles do +21-236-12:23:08.041 00 SCX_CPU1_DS_MO/780 if (fileName3 = SCX_CPU1_FM_DirList[i].name) then +21-236-12:23:08.041 00 SCX_CPU1_DS_MO/783 endif +21-236-12:23:08.041 00 SCX_CPU1_DS_MO/784 enddo +21-236-12:23:08.041 00 SCX_CPU1_DS_MO/779 for i = 1 to SCX_CPU1_FM_PktFiles do +21-236-12:23:08.041 00 SCX_CPU1_DS_MO/780 if (fileName3 = SCX_CPU1_FM_DirList[i].name) then +21-236-12:23:08.041 00 SCX_CPU1_DS_MO/783 endif +21-236-12:23:08.041 00 SCX_CPU1_DS_MO/784 enddo +21-236-12:23:08.041 00 SCX_CPU1_DS_MO/779 for i = 1 to SCX_CPU1_FM_PktFiles do +21-236-12:23:08.041 00 SCX_CPU1_DS_MO/785 +21-236-12:23:08.041 00 SCX_CPU1_DS_MO/787 /SCX_CPU1_FM_DirListTlm DirName=moveDirName Offset=0 GetStatFlag=0 +21-236-12:23:08.054 00 SCX_CPU1_DS_MO/788 wait 10 +21-236-12:23:08.054 00 SPR-I:STTE Wait mode - waiting 10 seconds ... +21-236-12:23:12.318 00 SPR-I:OPRI --> s display_next_page ( 20, 10, "NEXT", 140, "TLM") +21-236-12:23:12.318 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/display_next_page.i +21-236-12:23:12.319 00 SPR-I:STS Procedure DISPLAY_NEXT_PAGE started +21-236-12:23:12.319 00 DISPLAY_NEXT_P/2 ; +21-236-12:23:12.319 00 DISPLAY_NEXT_P/3 local logging = %liv (log_procedure) +21-236-12:23:12.319 00 DISPLAY_NEXT_P/4 %liv (log_procedure) = FALSE +21-236-12:23:12.321 00 DISPLAY_NEXT_P/85 +21-236-12:23:12.321 00 DISPLAY_NEXT_P/86 ENDPROC +21-236-12:23:12.321 00 SPR-I:STS Procedure DISPLAY_NEXT_PAGE completed +21-236-12:23:15.083 00 SPR-I:OPRI --> s display_next_page ( 20, 10, "PREV", 140, "TLM") +21-236-12:23:15.083 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/display_next_page.i +21-236-12:23:15.085 00 SPR-I:STS Procedure DISPLAY_NEXT_PAGE started +21-236-12:23:15.086 00 DISPLAY_NEXT_P/2 ; +21-236-12:23:15.086 00 DISPLAY_NEXT_P/3 local logging = %liv (log_procedure) +21-236-12:23:15.086 00 DISPLAY_NEXT_P/4 %liv (log_procedure) = FALSE +21-236-12:23:15.091 00 DISPLAY_NEXT_P/85 +21-236-12:23:15.091 00 DISPLAY_NEXT_P/86 ENDPROC +21-236-12:23:15.091 00 SPR-I:STS Procedure DISPLAY_NEXT_PAGE completed +21-236-12:23:18.095 00 SCX_CPU1_DS_MO/789 +21-236-12:23:18.095 00 SCX_CPU1_DS_MO/791 for i = 1 to SCX_CPU1_FM_PktFiles do +21-236-12:23:18.095 00 SCX_CPU1_DS_MO/792 if (fileName3 = SCX_CPU1_FM_DirList[i].name) then +21-236-12:23:18.096 00 SCX_CPU1_DS_MO/794 endif +21-236-12:23:18.096 00 SCX_CPU1_DS_MO/795 enddo +21-236-12:23:18.096 00 SCX_CPU1_DS_MO/791 for i = 1 to SCX_CPU1_FM_PktFiles do +21-236-12:23:18.097 00 SCX_CPU1_DS_MO/792 if (fileName3 = SCX_CPU1_FM_DirList[i].name) then +21-236-12:23:18.097 00 SCX_CPU1_DS_MO/794 endif +21-236-12:23:18.097 00 SCX_CPU1_DS_MO/795 enddo +21-236-12:23:18.097 00 SCX_CPU1_DS_MO/791 for i = 1 to SCX_CPU1_FM_PktFiles do +21-236-12:23:18.098 00 SCX_CPU1_DS_MO/792 if (fileName3 = SCX_CPU1_FM_DirList[i].name) then +21-236-12:23:18.098 00 SCX_CPU1_DS_MO/794 endif +21-236-12:23:18.098 00 SCX_CPU1_DS_MO/795 enddo +21-236-12:23:18.099 00 SCX_CPU1_DS_MO/791 for i = 1 to SCX_CPU1_FM_PktFiles do +21-236-12:23:18.099 00 SCX_CPU1_DS_MO/792 if (fileName3 = SCX_CPU1_FM_DirList[i].name) then +21-236-12:23:18.099 00 SCX_CPU1_DS_MO/794 endif +21-236-12:23:18.099 00 SCX_CPU1_DS_MO/795 enddo +21-236-12:23:18.100 00 SCX_CPU1_DS_MO/791 for i = 1 to SCX_CPU1_FM_PktFiles do +21-236-12:23:18.100 00 SCX_CPU1_DS_MO/792 if (fileName3 = SCX_CPU1_FM_DirList[i].name) then +21-236-12:23:18.101 00 SCX_CPU1_DS_MO/794 endif +21-236-12:23:18.101 00 SCX_CPU1_DS_MO/795 enddo +21-236-12:23:18.101 00 SCX_CPU1_DS_MO/791 for i = 1 to SCX_CPU1_FM_PktFiles do +21-236-12:23:18.101 00 SCX_CPU1_DS_MO/792 if (fileName3 = SCX_CPU1_FM_DirList[i].name) then +21-236-12:23:18.102 00 SCX_CPU1_DS_MO/794 endif +21-236-12:23:18.102 00 SCX_CPU1_DS_MO/795 enddo +21-236-12:23:18.102 00 SCX_CPU1_DS_MO/791 for i = 1 to SCX_CPU1_FM_PktFiles do +21-236-12:23:18.103 00 SCX_CPU1_DS_MO/792 if (fileName3 = SCX_CPU1_FM_DirList[i].name) then +21-236-12:23:18.103 00 SCX_CPU1_DS_MO/794 endif +21-236-12:23:18.104 00 SCX_CPU1_DS_MO/795 enddo +21-236-12:23:18.104 00 SCX_CPU1_DS_MO/791 for i = 1 to SCX_CPU1_FM_PktFiles do +21-236-12:23:18.105 00 SCX_CPU1_DS_MO/792 if (fileName3 = SCX_CPU1_FM_DirList[i].name) then +21-236-12:23:18.105 00 SCX_CPU1_DS_MO/794 endif +21-236-12:23:18.105 00 SCX_CPU1_DS_MO/795 enddo +21-236-12:23:18.106 00 SCX_CPU1_DS_MO/791 for i = 1 to SCX_CPU1_FM_PktFiles do +21-236-12:23:18.106 00 SCX_CPU1_DS_MO/792 if (fileName3 = SCX_CPU1_FM_DirList[i].name) then +21-236-12:23:18.106 00 SCX_CPU1_DS_MO/793 write "<*> Passed - File '",fileName3,"' is contained in directory '",moveDirName,"' as expected." +21-236-12:23:18.107 00 SPR-I:OPRO <*> Passed - File 'seq100000102.dat' is contained in directory '/ram/movedir/' as expected. +21-236-12:23:18.107 00 SCX_CPU1_DS_MO/794 endif +21-236-12:23:18.107 00 SCX_CPU1_DS_MO/795 enddo +21-236-12:23:18.108 00 SCX_CPU1_DS_MO/791 for i = 1 to SCX_CPU1_FM_PktFiles do +21-236-12:23:18.108 00 SCX_CPU1_DS_MO/792 if (fileName3 = SCX_CPU1_FM_DirList[i].name) then +21-236-12:23:18.109 00 SCX_CPU1_DS_MO/794 endif +21-236-12:23:18.109 00 SCX_CPU1_DS_MO/795 enddo +21-236-12:23:18.110 00 SCX_CPU1_DS_MO/791 for i = 1 to SCX_CPU1_FM_PktFiles do +21-236-12:23:18.110 00 SCX_CPU1_DS_MO/792 if (fileName3 = SCX_CPU1_FM_DirList[i].name) then +21-236-12:23:18.111 00 SCX_CPU1_DS_MO/794 endif +21-236-12:23:18.111 00 SCX_CPU1_DS_MO/795 enddo +21-236-12:23:18.111 00 SCX_CPU1_DS_MO/791 for i = 1 to SCX_CPU1_FM_PktFiles do +21-236-12:23:18.112 00 SCX_CPU1_DS_MO/792 if (fileName3 = SCX_CPU1_FM_DirList[i].name) then +21-236-12:23:18.112 00 SCX_CPU1_DS_MO/794 endif +21-236-12:23:18.112 00 SCX_CPU1_DS_MO/795 enddo +21-236-12:23:18.113 00 SCX_CPU1_DS_MO/791 for i = 1 to SCX_CPU1_FM_PktFiles do +21-236-12:23:18.113 00 SCX_CPU1_DS_MO/796 +21-236-12:23:18.113 00 SCX_CPU1_DS_MO/797 wait 5 +21-236-12:23:18.113 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-12:23:23.117 00 SCX_CPU1_DS_MO/798 +21-236-12:23:23.118 00 SCX_CPU1_DS_MO/799 step3_0: +21-236-12:23:23.118 00 SCX_CPU1_DS_MO/800 write ";***********************************************************************" +21-236-12:23:23.118 00 SPR-I:OPRO ;*********************************************************************** +21-236-12:23:23.118 00 SCX_CPU1_DS_MO/801 write "; Step 3.0: Clean-up - Send the Processor Reset command in order to " +21-236-12:23:23.118 00 SPR-I:OPRO ; Step 3.0: Clean-up - Send the Processor Reset command in order to +21-236-12:23:23.118 00 SCX_CPU1_DS_MO/802 write "; be able to retrieve files in RAM after this procedure completes. " +21-236-12:23:23.118 00 SPR-I:OPRO ; be able to retrieve files in RAM after this procedure completes. +21-236-12:23:23.118 00 SCX_CPU1_DS_MO/803 write ";***********************************************************************" +21-236-12:23:23.118 00 SPR-I:OPRO ;*********************************************************************** +21-236-12:23:23.118 00 SCX_CPU1_DS_MO/804 /SCX_CPU1_ES_PROCESSORRESET +21-236-12:23:23.134 00 SCX_CPU1_DS_MO/805 wait 10 +21-236-12:23:23.134 00 SPR-I:STTE Wait mode - waiting 10 seconds ... +21-236-12:23:33.142 00 SCX_CPU1_DS_MO/806 +21-236-12:23:33.142 00 SCX_CPU1_DS_MO/807 close_data_center +21-236-12:23:33.143 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/clear_spacecraft_status.i +21-236-12:23:33.143 00 SPR-I:STS Procedure CLEAR_SPACECRAFT_STATUS started +21-236-12:23:33.143 00 CLEAR_SPACECRA/2 ; +21-236-12:23:33.143 00 CLEAR_SPACECRA/3 local logging = %liv(log_procedure) +21-236-12:23:33.143 00 CLEAR_SPACECRA/4 %liv (log_procedure) = FALSE +21-236-12:23:33.147 00 CLEAR_SPACECRA/135 +21-236-12:23:33.147 00 CLEAR_SPACECRA/136 endproc +21-236-12:23:33.147 00 SPR-I:STS Procedure CLEAR_SPACECRAFT_STATUS completed +21-236-12:23:33.162 00 SCX_CPU1_DS_MO/808 wait 60 +21-236-12:23:33.162 00 SPR-I:STTE Wait mode - waiting 60 seconds ... +21-236-12:24:33.212 00 SCX_CPU1_DS_MO/809 +21-236-12:24:33.212 00 SCX_CPU1_DS_MO/810 cfe_startup {hostCPU} +21-236-12:24:33.225 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-12:24:43.236 00 SPR-I:STTE WAIT UNTIL completed +21-236-12:24:43.298 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/send_that_to_command.i +21-236-12:24:43.298 00 SPR-I:STS Procedure SEND_THAT_TO_COMMAND started +21-236-12:24:43.298 00 SEND_THAT_TO_C/2 ; +21-236-12:24:43.298 00 SEND_THAT_TO_C/3 local logging = %liv (log_procedure) +21-236-12:24:43.299 00 SEND_THAT_TO_C/4 %liv (log_procedure) = FALSE +21-236-12:24:43.301 00 SPR-I:OPRO Sending: /SCX_CPU1_TO_OUTPUT_ENA gs582cfslab4 +21-236-12:24:43.343 00 SEND_THAT_TO_C/83 +21-236-12:24:43.343 00 SEND_THAT_TO_C/84 endproc +21-236-12:24:43.343 00 SPR-I:STS Procedure SEND_THAT_TO_COMMAND completed +21-236-12:24:43.343 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-12:24:44.235 00 TLMH-I:STS 58-012-14:09:49.600 INFO CPU=CPU1 APPNAME=TO_LAB_APP EVENT ID=3 TO telemetry output enabled for IP 192.168.1.101 +21-236-12:24:46.348 00 SPR-I:STTE WAIT UNTIL completed +21-236-12:24:46.348 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/fill_in_spacecraft_status.i +21-236-12:24:46.350 00 SPR-I:STS Procedure FILL_IN_SPACECRAFT_STATUS started +21-236-12:24:46.350 00 FILL_IN_SPACEC/2 ; +21-236-12:24:46.351 00 FILL_IN_SPACEC/3 local logging = %liv (log_procedure) +21-236-12:24:46.351 00 FILL_IN_SPACEC/4 %liv (log_procedure) = FALSE +21-236-12:24:46.355 00 FILL_IN_SPACEC/152 +21-236-12:24:46.355 00 FILL_IN_SPACEC/153 endproc +21-236-12:24:46.355 00 SPR-I:STS Procedure FILL_IN_SPACECRAFT_STATUS completed +21-236-12:24:46.356 00 SCX_CPU1_DS_MO/811 wait 5 +21-236-12:24:46.356 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-12:24:51.360 00 SCX_CPU1_DS_MO/812 +21-236-12:24:51.360 00 SCX_CPU1_DS_MO/813 write "**** Requirements Status Reporting" +21-236-12:24:51.360 00 SPR-I:OPRO **** Requirements Status Reporting +21-236-12:24:51.360 00 SCX_CPU1_DS_MO/814 +21-236-12:24:51.360 00 SCX_CPU1_DS_MO/815 write "--------------------------" +21-236-12:24:51.360 00 SPR-I:OPRO -------------------------- +21-236-12:24:51.360 00 SCX_CPU1_DS_MO/816 write " Requirement(s) Report" +21-236-12:24:51.361 00 SPR-I:OPRO Requirement(s) Report +21-236-12:24:51.361 00 SCX_CPU1_DS_MO/817 write "--------------------------" +21-236-12:24:51.361 00 SPR-I:OPRO -------------------------- +21-236-12:24:51.361 00 SCX_CPU1_DS_MO/818 +21-236-12:24:51.361 00 SCX_CPU1_DS_MO/819 FOR i = 0 to ut_req_array_size DO +21-236-12:24:51.361 00 SCX_CPU1_DS_MO/820 ut_pfindicate {cfe_requirements[i]} {ut_requirement[i]} +21-236-12:24:51.362 00 SPR-I:OPRO FSW Requirement: DS_1004 P/F: P +21-236-12:24:51.363 00 SCX_CPU1_DS_MO/821 ENDDO +21-236-12:24:51.363 00 SCX_CPU1_DS_MO/819 FOR i = 0 to ut_req_array_size DO +21-236-12:24:51.364 00 SCX_CPU1_DS_MO/820 ut_pfindicate {cfe_requirements[i]} {ut_requirement[i]} +21-236-12:24:51.365 00 SPR-I:OPRO FSW Requirement: DS_3000 P/F: P +21-236-12:24:51.365 00 SCX_CPU1_DS_MO/821 ENDDO +21-236-12:24:51.365 00 SCX_CPU1_DS_MO/819 FOR i = 0 to ut_req_array_size DO +21-236-12:24:51.365 00 SCX_CPU1_DS_MO/820 ut_pfindicate {cfe_requirements[i]} {ut_requirement[i]} +21-236-12:24:51.366 00 SPR-I:OPRO FSW Requirement: DS_3000.1 P/F: A +21-236-12:24:51.366 00 SCX_CPU1_DS_MO/821 ENDDO +21-236-12:24:51.366 00 SCX_CPU1_DS_MO/819 FOR i = 0 to ut_req_array_size DO +21-236-12:24:51.366 00 SCX_CPU1_DS_MO/820 ut_pfindicate {cfe_requirements[i]} {ut_requirement[i]} +21-236-12:24:51.366 00 SPR-I:OPRO FSW Requirement: DS_3000.1.1 P/F: A +21-236-12:24:51.367 00 SCX_CPU1_DS_MO/821 ENDDO +21-236-12:24:51.367 00 SCX_CPU1_DS_MO/819 FOR i = 0 to ut_req_array_size DO +21-236-12:24:51.367 00 SCX_CPU1_DS_MO/820 ut_pfindicate {cfe_requirements[i]} {ut_requirement[i]} +21-236-12:24:51.367 00 SPR-I:OPRO FSW Requirement: DS_3001 P/F: P +21-236-12:24:51.372 00 SCX_CPU1_DS_MO/821 ENDDO +21-236-12:24:51.372 00 SCX_CPU1_DS_MO/819 FOR i = 0 to ut_req_array_size DO +21-236-12:24:51.372 00 SCX_CPU1_DS_MO/820 ut_pfindicate {cfe_requirements[i]} {ut_requirement[i]} +21-236-12:24:51.372 00 SPR-I:OPRO FSW Requirement: DS_3001.1 P/F: P +21-236-12:24:51.373 00 SCX_CPU1_DS_MO/821 ENDDO +21-236-12:24:51.373 00 SCX_CPU1_DS_MO/819 FOR i = 0 to ut_req_array_size DO +21-236-12:24:51.373 00 SCX_CPU1_DS_MO/820 ut_pfindicate {cfe_requirements[i]} {ut_requirement[i]} +21-236-12:24:51.373 00 SPR-I:OPRO FSW Requirement: DS_3001.2 P/F: A +21-236-12:24:51.373 00 SCX_CPU1_DS_MO/821 ENDDO +21-236-12:24:51.373 00 SCX_CPU1_DS_MO/819 FOR i = 0 to ut_req_array_size DO +21-236-12:24:51.374 00 SCX_CPU1_DS_MO/820 ut_pfindicate {cfe_requirements[i]} {ut_requirement[i]} +21-236-12:24:51.374 00 SPR-I:OPRO FSW Requirement: DS_3002 P/F: P +21-236-12:24:51.374 00 SCX_CPU1_DS_MO/821 ENDDO +21-236-12:24:51.374 00 SCX_CPU1_DS_MO/819 FOR i = 0 to ut_req_array_size DO +21-236-12:24:51.374 00 SCX_CPU1_DS_MO/820 ut_pfindicate {cfe_requirements[i]} {ut_requirement[i]} +21-236-12:24:51.374 00 SPR-I:OPRO FSW Requirement: DS_3002.1 P/F: P +21-236-12:24:51.380 00 SCX_CPU1_DS_MO/821 ENDDO +21-236-12:24:51.380 00 SCX_CPU1_DS_MO/819 FOR i = 0 to ut_req_array_size DO +21-236-12:24:51.380 00 SCX_CPU1_DS_MO/820 ut_pfindicate {cfe_requirements[i]} {ut_requirement[i]} +21-236-12:24:51.380 00 SPR-I:OPRO FSW Requirement: DS_5002 P/F: P +21-236-12:24:51.381 00 SCX_CPU1_DS_MO/821 ENDDO +21-236-12:24:51.381 00 SCX_CPU1_DS_MO/819 FOR i = 0 to ut_req_array_size DO +21-236-12:24:51.381 00 SCX_CPU1_DS_MO/820 ut_pfindicate {cfe_requirements[i]} {ut_requirement[i]} +21-236-12:24:51.381 00 SPR-I:OPRO FSW Requirement: DS_8000 P/F: P +21-236-12:24:51.381 00 SCX_CPU1_DS_MO/821 ENDDO +21-236-12:24:51.381 00 SCX_CPU1_DS_MO/819 FOR i = 0 to ut_req_array_size DO +21-236-12:24:51.381 00 SCX_CPU1_DS_MO/820 ut_pfindicate {cfe_requirements[i]} {ut_requirement[i]} +21-236-12:24:51.382 00 SPR-I:OPRO FSW Requirement: DS_9000 P/F: P +21-236-12:24:51.387 00 SCX_CPU1_DS_MO/821 ENDDO +21-236-12:24:51.387 00 SCX_CPU1_DS_MO/819 FOR i = 0 to ut_req_array_size DO +21-236-12:24:51.387 00 SCX_CPU1_DS_MO/822 +21-236-12:24:51.387 00 SCX_CPU1_DS_MO/823 drop ut_requirement ; needed to clear global variables +21-236-12:24:51.387 00 SPR-I:STS Variable "UT_REQUIREMENT" deleted +21-236-12:24:51.387 00 SCX_CPU1_DS_MO/824 drop ut_req_array_size ; needed to clear global variables +21-236-12:24:51.387 00 SPR-I:STS Variable "UT_REQ_ARRAY_SIZE" deleted +21-236-12:24:51.387 00 SCX_CPU1_DS_MO/825 +21-236-12:24:51.387 00 SCX_CPU1_DS_MO/826 write ";*********************************************************************" +21-236-12:24:51.387 00 SPR-I:OPRO ;********************************************************************* +21-236-12:24:51.387 00 SCX_CPU1_DS_MO/827 write "; End procedure SCX_CPU1_ds_movefile" +21-236-12:24:51.387 00 SPR-I:OPRO ; End procedure SCX_CPU1_ds_movefile +21-236-12:24:51.388 00 SCX_CPU1_DS_MO/828 write ";*********************************************************************" +21-236-12:24:51.388 00 SPR-I:OPRO ;********************************************************************* +21-236-12:24:51.388 00 SCX_CPU1_DS_MO/829 ENDPROC +21-236-12:24:51.388 00 SPR-I:STS Procedure SCX_CPU1_DS_MOVEFILE completed +21-236-12:24:51.392 00 UT_RUNPROC/249 +21-236-12:24:51.392 00 UT_RUNPROC/264 #endif +21-236-12:24:51.392 00 UT_RUNPROC/265 +21-236-12:24:51.392 00 UT_RUNPROC/266 write "*** Telemetry Info ***" +21-236-12:24:51.392 00 SPR-I:OPRO *** Telemetry Info *** +21-236-12:24:51.392 00 UT_RUNPROC/268 ;;; write "Pkt Loss Count: ", TO_PCKTSDISCARD +21-236-12:24:51.392 00 UT_RUNPROC/269 write "Pkt Loss Count: N/A" +21-236-12:24:51.392 00 SPR-I:OPRO +21-236-12:24:51.392 00 UT_RUNPROC/269 write "Pkt Loss Count: N/A" +21-236-12:24:51.392 00 SPR-I:OPRO Pkt Loss Count: N/A +21-236-12:24:51.392 00 UT_RUNPROC/271 write "******************" +21-236-12:24:51.392 00 SPR-I:OPRO +21-236-12:24:51.392 00 UT_RUNPROC/271 write "******************" +21-236-12:24:51.392 00 SPR-I:OPRO ****************** +21-236-12:24:51.392 00 UT_RUNPROC/273 +21-236-12:24:51.392 00 SPR-I:OPRO +21-236-12:24:51.392 00 UT_RUNPROC/273 +21-236-12:24:51.392 00 UT_RUNPROC/274 etime = %gmt +21-236-12:24:51.392 00 UT_RUNPROC/275 write "Elapsed time: ", etime-stime, " seconds" +21-236-12:24:51.393 00 SPR-I:OPRO Elapsed time: 502.646 seconds +21-236-12:24:51.396 00 UT_RUNPROC/276 write "Elapsed time: ", (etime-stime)/60, " minutes" +21-236-12:24:51.396 00 SPR-I:OPRO Elapsed time: 8.37744 minutes +21-236-12:24:51.396 00 UT_RUNPROC/277 ; +21-236-12:24:51.396 00 UT_RUNPROC/278 ; wait for completion of procedure +21-236-12:24:51.396 00 UT_RUNPROC/279 ; +21-236-12:24:51.396 00 UT_RUNPROC/280 wait(10) +21-236-12:24:51.396 00 SPR-I:STTE Wait mode - waiting 10 seconds ... +21-236-12:25:01.404 00 UT_RUNPROC/281 ; +21-236-12:25:01.404 00 UT_RUNPROC/282 ; close the log to procedure log name for archive +21-236-12:25:01.404 00 UT_RUNPROC/283 ; +21-236-12:25:01.404 00 UT_RUNPROC/284 local test_log_string = "/test_logs/" +21-236-12:25:01.404 00 UT_RUNPROC/285 if ((logoff_when_done = 0) and (%length(opt_parm) <> 0)) then +21-236-12:25:01.404 00 UT_RUNPROC/286 test_log_string = test_log_string & opt_parm & "/" +21-236-12:25:01.404 00 UT_RUNPROC/287 endif +21-236-12:25:01.404 00 UT_RUNPROC/288 +21-236-12:25:01.404 00 UT_RUNPROC/289 write "Creating filtered log at " & %env("WORK") & test_log_string ;; +21-236-12:25:01.404 00 UT_RUNPROC/290 & log_name & "f" +21-236-12:25:01.404 00 SPR-I:OPRO Creating filtered log at /s/opr/accounts/cfs_test/test_logs/DS2.6.0/scx_cpu1_ds_movefile-2021-236-12h16m28s.logf +21-236-12:25:01.404 00 UT_RUNPROC/291 write "Creating filtered output log at " & %env("WORK") & test_log_string ;; +21-236-12:25:01.404 00 UT_RUNPROC/292 & log_name & "p" +21-236-12:25:01.404 00 SPR-I:OPRO Creating filtered output log at /s/opr/accounts/cfs_test/test_logs/DS2.6.0/scx_cpu1_ds_movefile-2021-236-12h16m28s.logp +21-236-12:25:01.404 00 UT_RUNPROC/293 write "Creating filtered output log (without SFDUs) at " & %env("WORK") ;; +21-236-12:25:01.404 00 UT_RUNPROC/294 & test_log_string & log_name & "s" +21-236-12:25:01.404 00 SPR-I:OPRO Creating filtered output log (without SFDUs) at /s/opr/accounts/cfs_test/test_logs/DS2.6.0/scx_cpu1_ds_movefile-2021-236-12h16m28s.logs +21-236-12:25:01.404 00 UT_RUNPROC/295 write "Creating filtered event log at " & %env("WORK") & test_log_string ;; +21-236-12:25:01.404 00 UT_RUNPROC/296 & log_name & "e" +21-236-12:25:01.405 00 SPR-I:OPRO Creating filtered event log at /s/opr/accounts/cfs_test/test_logs/DS2.6.0/scx_cpu1_ds_movefile-2021-236-12h16m28s.loge +21-236-12:25:01.405 00 UT_RUNPROC/297 write "Creating filtered requirements log at " & %env("WORK") ;; +21-236-12:25:01.405 00 UT_RUNPROC/298 & test_log_string & log_name & "r" +21-236-12:25:01.405 00 SPR-I:OPRO Creating filtered requirements log at /s/opr/accounts/cfs_test/test_logs/DS2.6.0/scx_cpu1_ds_movefile-2021-236-12h16m28s.logr +21-236-12:25:01.405 00 UT_RUNPROC/299 +21-236-12:25:01.405 00 UT_RUNPROC/300 rstol_dir = "rstol 'newlog " & log_name & "'" +21-236-12:25:01.405 00 UT_RUNPROC/301 native(rstol_dir) +21-236-12:25:01.511 00 SPR-I:OPRI --> newlog scx_cpu1_ds_movefile-2021-236-12h16m28s.log diff --git a/test_and_ground/results/Caelum/scx_cpu1_ds_movefile-2021-236-12h16m28s.logp b/test_and_ground/results/Caelum/scx_cpu1_ds_movefile-2021-236-12h16m28s.logp new file mode 100644 index 0000000..9f78df3 --- /dev/null +++ b/test_and_ground/results/Caelum/scx_cpu1_ds_movefile-2021-236-12h16m28s.logp @@ -0,0 +1,643 @@ +21-236-12:16:28.736 00 SPR-I:OPRO ****************** FSW Configuration ****************** +21-236-12:16:28.737 00 SPR-I:OPRO Checksum: 29237 +21-236-12:16:28.737 00 SPR-I:OPRO cFE Version: 6.7.99.0 +21-236-12:16:28.737 00 SPR-I:OPRO OS Version: 5.0.0.255 +21-236-12:16:28.737 00 SPR-I:OPRO +21-236-12:16:28.742 00 SPR-I:OPRO Connection Status +21-236-12:16:28.742 00 SPR-I:OPRO ----------------- +21-236-12:16:28.742 00 SPR-I:OPRO CFDP: DOWN +21-236-12:16:28.742 00 SPR-I:OPRO UDP: UP +21-236-12:16:28.742 00 SPR-I:OPRO SWTS: UNK +21-236-12:16:28.743 00 SPR-I:OPRO +21-236-12:16:28.743 00 SPR-I:OPRO CMD / TLM Path +21-236-12:16:28.743 00 SPR-I:OPRO -------------- +21-236-12:16:28.743 00 SPR-I:OPRO UDP +21-236-12:16:28.744 00 SPR-I:OPRO +21-236-12:16:28.744 00 SPR-I:OPRO +21-236-12:16:28.745 00 SPR-I:OPRO ASIST / GDS Configuration +21-236-12:16:28.745 00 SPR-I:OPRO ------------------------- +21-236-12:16:28.745 00 SPR-I:OPRO Workstation: GS582CFSLAB4 +21-236-12:16:28.745 00 SPR-I:OPRO Account: cfs_test +21-236-12:16:28.745 00 SPR-I:OPRO Version: 21.0.7 +21-236-12:16:28.745 00 SPR-I:OPRO Tlm DB: Version: 1.985 Date: 08-24-21 Time: 06:37:06 AM. +21-236-12:16:28.745 00 SPR-I:OPRO Cmd DB: Version: 1.51 Date: 08-24-21 Time: 06:47:31 AM.EDT +21-236-12:16:28.745 00 SPR-I:OPRO +21-236-12:16:28.746 00 SPR-I:OPRO Telemetry Info +21-236-12:16:28.746 00 SPR-I:OPRO -------------- +21-236-12:16:28.746 00 SPR-I:OPRO Pkt Loss Count: N/A +21-236-12:16:28.746 00 SPR-I:OPRO **************** End FSW Configuration *************** +21-236-12:16:28.746 00 SPR-I:OPRO Starting Procedure.... scx_cpu1_ds_movefile +21-236-12:16:28.881 00 SPR-I:OPRI --> start scx_cpu1_ds_movefile +21-236-12:16:28.881 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/scx_cpu1_ds_movefile.i +21-236-12:16:28.886 00 SPR-I:STS Procedure SCX_CPU1_DS_MOVEFILE started +21-236-12:16:28.991 00 SPR-I:OPRO ;*********************************************************************** +21-236-12:16:28.991 00 SPR-I:OPRO ; Step 1.0: Data Storage Test Setup. +21-236-12:16:28.991 00 SPR-I:OPRO ;*********************************************************************** +21-236-12:16:28.991 00 SPR-I:OPRO ; Step 1.1: Command a Power-on Reset on CPU1. +21-236-12:16:28.991 00 SPR-I:OPRO ;*********************************************************************** +21-236-12:16:28.992 00 CMH-I:CMD Command is /SCX_CPU1_ES_POWERONRESET ;;; (SCX CPU1 ES Power-On Reset command code) +21-236-12:16:28.992 00 CMH-I:CMD Command SFDU received:<1806C000000302220002> from gs582cfslab4:SPR +21-236-12:16:29.003 00 SPR-I:STTE Wait mode - waiting 10 seconds ... +21-236-12:16:39.011 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/clear_spacecraft_status.i +21-236-12:16:39.012 00 SPR-I:STS Procedure CLEAR_SPACECRAFT_STATUS started +21-236-12:16:39.018 00 SPR-I:STS Procedure CLEAR_SPACECRAFT_STATUS completed +21-236-12:16:39.032 00 SPR-I:STTE Wait mode - waiting 60 seconds ... +21-236-12:17:39.095 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-12:17:45.059 00 CMH-I:STS Connected to FEDS:FEDS for commanding (internal ID 0). +21-236-12:17:49.106 00 SPR-I:STTE WAIT UNTIL completed +21-236-12:17:49.108 00 CMH-I:CMD SFDU is /DDIR DATA="open udp_read C%03X 1235 packet_only" ;;; ( ) +21-236-12:17:49.124 00 CMH-I:CMD SFDU is /DDIR DATA="open udp_write CPKT cpu3 1234 ascii_pkt" ;;; ( ) +21-236-12:17:49.167 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/send_that_to_command.i +21-236-12:17:49.167 00 SPR-I:STS Procedure SEND_THAT_TO_COMMAND started +21-236-12:17:49.169 00 SPR-I:OPRO Sending: /SCX_CPU1_TO_OUTPUT_ENA gs582cfslab4 +21-236-12:17:49.170 00 CMH-I:CMD Command is /SCX_CPU1_TO_OUTPUT_ENA GS582CFSLAB4 ;;; (SCX CPU1 Enables TO output) +21-236-12:17:49.170 00 CMH-I:CMD Command SFDU received:<1880C0000011069A3139322E3136382E312E313031000000> from gs582cfslab4:SPR +21-236-12:17:49.221 00 SPR-I:STS Procedure SEND_THAT_TO_COMMAND completed +21-236-12:17:49.221 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-12:17:49.720 00 TLMH-I:STS 58-012-14:03:48.517 INFO CPU=CPU1 APPNAME=TO_LAB_APP EVENT ID=3 TO telemetry output enabled for IP 192.168.1.101 +21-236-12:17:53.226 00 SPR-I:STTE WAIT UNTIL completed +21-236-12:17:53.226 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/fill_in_spacecraft_status.i +21-236-12:17:53.228 00 SPR-I:STS Procedure FILL_IN_SPACECRAFT_STATUS started +21-236-12:17:53.233 00 SPR-I:STS Procedure FILL_IN_SPACECRAFT_STATUS completed +21-236-12:17:53.233 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-12:17:58.237 00 SPR-I:OPRO ;*********************************************************************** +21-236-12:17:58.237 00 SPR-I:OPRO ; Step 1.2: Upload the initial DS table load images to CPU1. +21-236-12:17:58.238 00 SPR-I:OPRO ;*********************************************************************** +21-236-12:17:58.238 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/scx_cpu1_ds_tbl4.i +21-236-12:17:58.252 00 SPR-I:STS Procedure SCX_CPU1_DS_TBL4 started +21-236-12:17:58.318 00 SPR-I:OPRO ;*********************************************************************** +21-236-12:17:58.318 00 SPR-I:OPRO ; Step 1.0: Define DS Destination File And Packet Filter Tables. +21-236-12:17:58.319 00 SPR-I:OPRO ;*********************************************************************** +21-236-12:17:58.324 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/create_tbl_file_from_cvt.i +21-236-12:17:58.324 00 SPR-I:STS Procedure CREATE_TBL_FILE_FROM_CVT started +21-236-12:17:58.326 00 SPR-I:OPRO ********** ds_movefile.tbl ********** +21-236-12:17:58.326 00 SPR-I:OPRO +21-236-12:17:58.326 00 SPR-I:OPRO Content Type: cFE1 +21-236-12:17:58.326 00 SPR-I:OPRO Sub Type: 8 +21-236-12:17:58.326 00 SPR-I:OPRO Length: 12 +21-236-12:17:58.326 00 SPR-I:OPRO Spacecraft Id: SCX +21-236-12:17:58.326 00 SPR-I:OPRO Processor Id: CPU3 +21-236-12:17:58.326 00 SPR-I:OPRO Application Id: 3958 +21-236-12:17:58.327 00 SPR-I:OPRO Create Time Secs: 1629807478 +21-236-12:17:58.327 00 SPR-I:OPRO Create Time Subsecs: 0 +21-236-12:17:58.327 00 SPR-I:OPRO File Description: Move File Test File Table +21-236-12:17:58.327 00 SPR-I:OPRO +21-236-12:17:58.327 00 SPR-I:OPRO ********** DS.FILE_TBL ********** +21-236-12:17:58.327 00 SPR-I:OPRO +21-236-12:17:58.327 00 SPR-I:OPRO Start Mnemonic: SCX_CPU1_DS_DF_TBL_Description +21-236-12:17:58.327 00 SPR-I:OPRO Byte Offset: 0 +21-236-12:17:58.327 00 SPR-I:OPRO End Mnemonic: SCX_CPU1_DS_DF_TBL[7].SeqCnt +21-236-12:17:58.327 00 SPR-I:OPRO Number of Bytes: 1760 +21-236-12:17:58.327 00 SPR-I:OPRO +21-236-12:17:58.332 00 SPR-I:STS Loading file /s/opr/accounts/global/prc/partial_cvt_to_file_beta.i +21-236-12:17:58.332 00 SPR-I:STS Procedure PARTIAL_CVT_TO_FILE_BETA started +21-236-12:17:58.332 00 SPR-I:OPRO The unix command is cd /s/opr/accounts/cfs_test/image;cvt2file -s 116 -e 1875 P0F76 ds.file_tbl +21-236-12:17:58.338 00 SPR-I:STS Procedure PARTIAL_CVT_TO_FILE_BETA completed +21-236-12:17:58.338 00 SPR-I:OPRO cd /s/opr/accounts/cfs_test/image;cat ds_movefile.tbl.tmp ds.file_tbl > ds_movefile.tbl +21-236-12:17:58.343 00 SPR-I:OPRO cd /s/opr/accounts/cfs_test/image;rm ds.file_tbl ds_movefile.tbl.tmp +21-236-12:17:58.346 00 SPR-I:STS Procedure CREATE_TBL_FILE_FROM_CVT completed +21-236-12:17:58.829 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/create_tbl_file_from_cvt.i +21-236-12:17:58.830 00 SPR-I:STS Procedure CREATE_TBL_FILE_FROM_CVT started +21-236-12:17:58.831 00 SPR-I:OPRO ********** ds_movefilter.tbl ********** +21-236-12:17:58.831 00 SPR-I:OPRO +21-236-12:17:58.831 00 SPR-I:OPRO Content Type: cFE1 +21-236-12:17:58.831 00 SPR-I:OPRO Sub Type: 8 +21-236-12:17:58.831 00 SPR-I:OPRO Length: 12 +21-236-12:17:58.832 00 SPR-I:OPRO Spacecraft Id: SCX +21-236-12:17:58.832 00 SPR-I:OPRO Processor Id: CPU3 +21-236-12:17:58.832 00 SPR-I:OPRO Application Id: 3959 +21-236-12:17:58.832 00 SPR-I:OPRO Create Time Secs: 1629807478 +21-236-12:17:58.832 00 SPR-I:OPRO Create Time Subsecs: 0 +21-236-12:17:58.832 00 SPR-I:OPRO File Description: Move File Test Filter Table +21-236-12:17:58.832 00 SPR-I:OPRO +21-236-12:17:58.832 00 SPR-I:OPRO ********** DS.FILTER_TBL ********** +21-236-12:17:58.832 00 SPR-I:OPRO +21-236-12:17:58.832 00 SPR-I:OPRO Start Mnemonic: SCX_CPU1_DS_PF_TBL_Description +21-236-12:17:58.832 00 SPR-I:OPRO Byte Offset: 0 +21-236-12:17:58.832 00 SPR-I:OPRO End Mnemonic: SCX_CPU1_DS_PF_TBL[255].FilterParams[3].O_Value +21-236-12:17:58.832 00 SPR-I:OPRO Number of Bytes: 9248 +21-236-12:17:58.832 00 SPR-I:OPRO +21-236-12:17:58.839 00 SPR-I:STS Loading file /s/opr/accounts/global/prc/partial_cvt_to_file_beta.i +21-236-12:17:58.839 00 SPR-I:STS Procedure PARTIAL_CVT_TO_FILE_BETA started +21-236-12:17:58.839 00 SPR-I:OPRO The unix command is cd /s/opr/accounts/cfs_test/image;cvt2file -s 116 -e 9363 P0F77 ds.filter_tbl +21-236-12:17:58.843 00 SPR-I:STS Procedure PARTIAL_CVT_TO_FILE_BETA completed +21-236-12:17:58.843 00 SPR-I:OPRO cd /s/opr/accounts/cfs_test/image;cat ds_movefilter.tbl.tmp ds.filter_tbl > ds_movefilter.tbl +21-236-12:17:58.848 00 SPR-I:OPRO cd /s/opr/accounts/cfs_test/image;rm ds.filter_tbl ds_movefilter.tbl.tmp +21-236-12:17:58.854 00 SPR-I:STS Procedure CREATE_TBL_FILE_FROM_CVT completed +21-236-12:17:58.854 00 SPR-I:OPRO ;********************************************************************* +21-236-12:17:58.854 00 SPR-I:OPRO ; End procedure SCX_CPU1_ds_tbl4 +21-236-12:17:58.854 00 SPR-I:OPRO ;********************************************************************* +21-236-12:17:58.854 00 SPR-I:STS Procedure SCX_CPU1_DS_TBL4 completed +21-236-12:17:58.856 00 SPR-I:OPRO ==> Default Destination File Table filename = 'ds_file_tbl.tbl' +21-236-12:17:58.859 00 SPR-I:OPRO ==> Default Filter Table filename = 'ds_filter_tbl.tbl' +21-236-12:17:58.860 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/load_table.i +21-236-12:17:58.860 00 SPR-I:STS Procedure LOAD_TABLE started +21-236-12:17:58.861 00 SPR-I:OPRO Table Filename: ds_movefile.tbl +21-236-12:17:58.862 00 SPR-I:OPRO The perl command is: perl /s/opr/accounts/global/tools/table_ftp.pl 192.168.1.8 ds_movefile.tbl RAM:0 3 +21-236-12:17:58.862 00 SPR-I:OPRO +21-236-12:17:59.005 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-12:17:59.005 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-12:18:04.009 00 SPR-I:OPRO +21-236-12:18:04.012 00 SPR-I:OPRO Sending Command: /SCX_CPU1_TBL_LOAD LFILENAME="/ram/ds_movefile.tbl" +21-236-12:18:04.014 00 CMH-I:CMD Command is /SCX_CPU1_TBL_LOAD LFILENAME="/ram/ds_movefile.tbl" ;;; (SCX CPU1 TBL load table command) +21-236-12:18:04.014 00 CMH-I:CMD Command SFDU received:<1804C000004102152F72616D2F64735F6D6F766566696C652E74626C0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-236-12:18:04.028 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-12:18:04.211 00 TLMH-I:STS 58-012-14:04:03.501 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=12 Successful load of '/ram/ds_movefile.tbl' into 'DS.FILE_TBL' working buffer +21-236-12:18:05.029 00 SPR-I:STTE WAIT UNTIL completed +21-236-12:18:05.031 00 SPR-I:STS Procedure LOAD_TABLE completed +21-236-12:18:05.032 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-12:18:10.038 00 CMH-I:CMD Command is /SCX_CPU1_TBL_VALIDATE INACTIVE VTABLENAME="DS.FILE_TBL" ;;; (SCX CPU1 TBL validate table command) +21-236-12:18:10.039 00 CMH-I:CMD Command SFDU received:<1804C000002B0436000044532E46494C455F54424C0000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-236-12:18:10.053 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-12:18:12.715 00 TLMH-I:STS 58-012-14:04:12.004 INFO CPU=CPU1 APPNAME=DS EVENT ID=10 Destination file table verify results: desc text = OK, good entries = 8, bad = 0, unused = 8 +21-236-12:18:12.716 00 TLMH-I:STS 58-012-14:04:12.004 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=36 DS validation successful for Inactive 'DS.FILE_TBL' +21-236-12:18:15.059 00 CMH-I:CMD Command is /SCX_CPU1_TBL_ACTIVATE ATABLENAME="DS.FILE_TBL" ;;; (SCX CPU1 TBL activate table command) +21-236-12:18:15.060 00 CMH-I:CMD Command SFDU received:<1804C0000029053544532E46494C455F54424C0000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-236-12:18:15.073 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-12:18:16.718 00 TLMH-I:STS 58-012-14:04:16.003 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=37 DS Successfully Updated 'DS.FILE_TBL' +21-236-12:18:20.080 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/load_table.i +21-236-12:18:20.081 00 SPR-I:STS Procedure LOAD_TABLE started +21-236-12:18:20.085 00 SPR-I:OPRO Table Filename: ds_movefilter.tbl +21-236-12:18:20.087 00 SPR-I:OPRO The perl command is: perl /s/opr/accounts/global/tools/table_ftp.pl 192.168.1.8 ds_movefilter.tbl RAM:0 3 +21-236-12:18:20.087 00 SPR-I:OPRO +21-236-12:18:20.219 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-12:18:20.220 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-12:18:25.224 00 SPR-I:OPRO +21-236-12:18:25.225 00 SPR-I:OPRO Sending Command: /SCX_CPU1_TBL_LOAD LFILENAME="/ram/ds_movefilter.tbl" +21-236-12:18:25.225 00 CMH-I:CMD Command is /SCX_CPU1_TBL_LOAD LFILENAME="/ram/ds_movefilter.tbl" ;;; (SCX CPU1 TBL load table command) +21-236-12:18:25.225 00 CMH-I:CMD Command SFDU received:<1804C000004102132F72616D2F64735F6D6F766566696C7465722E74626C000000000000000000000000000000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-236-12:18:25.239 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-12:18:25.714 00 TLMH-I:STS 58-012-14:04:25.001 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=12 Successful load of '/ram/ds_movefilter.tbl' into 'DS.FILTER_TBL' working buffer +21-236-12:18:29.243 00 SPR-I:STTE WAIT UNTIL completed +21-236-12:18:29.245 00 SPR-I:STS Procedure LOAD_TABLE completed +21-236-12:18:29.246 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-12:18:34.252 00 CMH-I:CMD Command is /SCX_CPU1_TBL_VALIDATE INACTIVE VTABLENAME="DS.FILTER_TBL" ;;; (SCX CPU1 TBL validate table command) +21-236-12:18:34.253 00 CMH-I:CMD Command SFDU received:<1804C000002B0430000044532E46494C5445525F54424C000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-236-12:18:34.265 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-12:18:36.716 00 TLMH-I:STS 58-012-14:04:36.004 INFO CPU=CPU1 APPNAME=DS EVENT ID=12 Filter table verify results: desc text = OK, good entries = 6, bad = 0, unused = 250 +21-236-12:18:36.717 00 TLMH-I:STS 58-012-14:04:36.004 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=36 DS validation successful for Inactive 'DS.FILTER_TBL' +21-236-12:18:39.271 00 CMH-I:CMD Command is /SCX_CPU1_TBL_ACTIVATE ATABLENAME="DS.FILTER_TBL" ;;; (SCX CPU1 TBL activate table command) +21-236-12:18:39.272 00 CMH-I:CMD Command SFDU received:<1804C0000029053344532E46494C5445525F54424C000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-236-12:18:39.284 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-12:18:40.720 00 TLMH-I:STS 58-012-14:04:40.004 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=37 DS Successfully Updated 'DS.FILTER_TBL' +21-236-12:18:44.289 00 SPR-I:OPRO ;*********************************************************************** +21-236-12:18:44.289 00 SPR-I:OPRO ; Step 1.3: Display the Housekeeping pages +21-236-12:18:44.289 00 SPR-I:OPRO ;*********************************************************************** +21-236-12:18:44.393 00 DPD-I:STS Page SCX_CPU1_DS_HK added (cid:1). +21-236-12:18:44.467 00 DPD-I:STS Page SCX_CPU1_TST_DS_HK added (cid:1). +21-236-12:18:44.540 00 DPD-I:STS Page SCX_CPU1_DS_FILTER_TBL added (cid:1). +21-236-12:18:44.618 00 DPD-I:STS Page SCX_CPU1_DS_FILE_TBL added (cid:1). +21-236-12:18:44.769 00 DPD-I:STS Page SCX_CPU1_FM_DIR_LIST added (cid:1). +21-236-12:18:44.773 00 SPR-I:OPRO ;*********************************************************************** +21-236-12:18:44.773 00 SPR-I:OPRO ; Step 1.4: Start the Data Storage (DS) and Test Applications. +21-236-12:18:44.773 00 SPR-I:OPRO ;*********************************************************************** +21-236-12:18:44.782 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-12:18:52.789 00 SPR-I:STTE WAIT UNTIL completed +21-236-12:18:52.791 00 SPR-I:OPRO <*> Passed (8000) - Housekeeping packet is being generated. +21-236-12:18:52.797 00 SPR-I:OPRO <*> Passed (9000) - Housekeeping telemetry initialized properly. +21-236-12:18:52.803 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-12:18:57.807 00 SPR-I:OPRO ;********************************************************************* +21-236-12:18:57.807 00 SPR-I:OPRO ; Step 1.5: Start the File Manager (FM) Application +21-236-12:18:57.807 00 SPR-I:OPRO ;******************************************************************** +21-236-12:18:57.812 00 SPR-I:OPRO ;*********************************************************************** +21-236-12:18:57.812 00 SPR-I:OPRO ; Setup event 1 with CFE_ES INFO 6 +21-236-12:18:57.813 00 SPR-I:OPRO ;*********************************************************************** +21-236-12:18:57.814 00 SPR-I:OPRO ;*********************************************************************** +21-236-12:18:57.815 00 SPR-I:OPRO ; Setup event 2 with FM INFO 1 +21-236-12:18:57.815 00 SPR-I:OPRO ;*********************************************************************** +21-236-12:18:57.815 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/load_start_app.i +21-236-12:18:57.823 00 SPR-I:STS Procedure LOAD_START_APP started +21-236-12:18:57.824 00 SPR-I:OPRO Application Filename: fm.o +21-236-12:18:57.825 00 SPR-I:OPRO The perl command is perl /s/opr/accounts/global/tools/fsw_ftp.pl 192.168.1.8 fm.o RAM:0 3 +21-236-12:18:57.955 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-12:18:57.958 00 SPR-I:OPRO Sending Command: /SCX_CPU1_ES_STARTAPP APPLICATION="FM" APP_ENTRY_PT="FM_AppMain" APP_FILE_NAME="/ram/fm.o" STACKSIZE=X'2000' PRIORITY=X'b7' RESTARTCPU +21-236-12:18:57.959 00 CMH-I:CMD Command is /SCX_CPU1_ES_STARTAPP APPLICATION="FM" APP_ENTRY_PT="FM_AppMain" APP_FILE_NAME="/ram/fm.o" STACKSIZE= 8192 (x2000) RESTARTCPU PRIORITY= 183 (xB7) ;;; (SCX CPU1 ES load and start single application command code) +21-236-12:18:57.960 00 CMH-I:CMD Command SFDU received:<1806C000007104C3464D000000000000000000000000000000000000464D5F4170704D61696E000000000000000000002F72616D2F666D2E6F0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000100B7> from gs582cfslab4:SPR +21-236-12:18:57.974 00 SPR-I:STS Procedure LOAD_START_APP completed +21-236-12:18:57.989 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-12:18:58.213 00 TLMH-I:STS 58-012-14:04:57.512 INFO CPU=CPU1 APPNAME=CFE_ES EVENT ID=6 Started FM from /ram/fm.o, AppID = 1114124 +21-236-12:18:58.719 00 TLMH-I:STS 58-012-14:04:57.565 INFO CPU=CPU1 APPNAME=FM EVENT ID=97 Free Space Table verify results: good entries = 2, bad = 0, unused = 6 +21-236-12:18:58.720 00 TLMH-I:STS 58-012-14:04:57.566 INFO CPU=CPU1 APPNAME=FM EVENT ID=1 Initialization complete: version 2.5.4.0 +21-236-12:18:58.722 00 TLMH-I:STS 58-012-14:04:57.600 INFO CPU=CPU1 APPNAME=FM EVENT ID=89 Child Task initialization complete +21-236-12:18:58.990 00 SPR-I:STTE WAIT UNTIL completed +21-236-12:18:58.991 00 SPR-I:OPRO <*> Passed - FM Application Started +21-236-12:18:58.993 00 CMH-I:CMD Command is /SCX_CPU1_TO_ADDPACKET STREAM= 2188 (x88C) PKT_SIZE= 0 (x0)[ PRIORITY= 0 (x0) RELIABILITY= 0 (x0)] BUFLIMIT= 4 (x4) ;;; (SCX CPU1 TO Add Packet command code) +21-236-12:18:58.993 00 CMH-I:CMD Command SFDU received:<1880C0000008022D088C0000000004> from gs582cfslab4:SPR +21-236-12:18:59.005 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-12:18:59.715 00 TLMH-I:STS 58-012-14:04:58.517 ERROR CPU=CPU1 APPNAME=CFE_SB EVENT ID=6 Subscribe Err:Bad Arg,MsgId 0x88c0000,PipeId 1441800,app TO_LAB_APP,scope 0 +21-236-12:18:59.716 00 TLMH-I:STS 58-012-14:04:58.517 ERROR CPU=CPU1 APPNAME=TO_LAB_APP EVENT ID=10 L481 TO Can't subscribe 0x88c0000 status -905969661 +21-236-12:19:04.008 00 SPR-I:OPRO ;*********************************************************************** +21-236-12:19:04.008 00 SPR-I:OPRO ; Step 1.6: Enable DEBUG Event Messages +21-236-12:19:04.008 00 SPR-I:OPRO ;*********************************************************************** +21-236-12:19:04.009 00 CMH-I:CMD Command is /SCX_CPU1_EVS_ENAAPPEVTTYPE APPLICATION="DS" DEBUG ;;; (SCX CPU1 EVS Enable Event Type for the App) +21-236-12:19:04.009 00 CMH-I:CMD Or Command is /SCX_CPU1_EVS_ENAAPPEVTTYPEMASK APPLICATION="DS" BITMASK= 1 (x1) ;;; (SCX CPU1 EVS Enable Event Type for the App (mask)) +21-236-12:19:04.009 00 CMH-I:CMD Command SFDU received:<1801C0000017052244530000000000000000000000000000000000000100> from gs582cfslab4:SPR +21-236-12:19:04.021 00 SPR-I:STTE Wait mode - waiting 2 seconds ... +21-236-12:19:06.024 00 CMH-I:CMD Command is /SCX_CPU1_EVS_ENAAPPEVTTYPE APPLICATION="CFE_TBL" DEBUG ;;; (SCX CPU1 EVS Enable Event Type for the App) +21-236-12:19:06.024 00 CMH-I:CMD Or Command is /SCX_CPU1_EVS_ENAAPPEVTTYPEMASK APPLICATION="CFE_TBL" BITMASK= 1 (x1) ;;; (SCX CPU1 EVS Enable Event Type for the App (mask)) +21-236-12:19:06.024 00 CMH-I:CMD Command SFDU received:<1801C000001705704346455F54424C000000000000000000000000000100> from gs582cfslab4:SPR +21-236-12:19:06.041 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-12:19:09.045 00 SPR-I:STTE WAIT UNTIL completed +21-236-12:19:09.047 00 SPR-I:OPRO <*> Passed - Enable Debug events command sent properly. +21-236-12:19:09.047 00 SPR-I:OPRO ;*********************************************************************** +21-236-12:19:09.047 00 SPR-I:OPRO ; Step 2.0: File Creation Tests. +21-236-12:19:09.048 00 SPR-I:OPRO ;*********************************************************************** +21-236-12:19:09.048 00 SPR-I:OPRO ; Step 2.1: Utilizing the TST_DS application, send a message to the DS +21-236-12:19:09.048 00 SPR-I:OPRO ; application that will pass the filtering algorithm and uses a +21-236-12:19:09.048 00 SPR-I:OPRO ; Destination File Table entry that specifies Sequence file type naming +21-236-12:19:09.048 00 SPR-I:OPRO ;*********************************************************************** +21-236-12:19:09.049 00 SPR-I:OPRO ; Step 2.1.1: Dump the Destination File and Packet Filter Tables +21-236-12:19:09.056 00 SPR-I:OPRO ;*********************************************************************** +21-236-12:19:09.057 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/get_tbl_to_cvt.i +21-236-12:19:09.059 00 SPR-I:STS Procedure GET_TBL_TO_CVT started +21-236-12:19:09.078 00 SPR-I:OPRO Sending Command: /SCX_CPU1_TBL_DUMP ACTIVE DTABLENAME="DS.FILTER_TBL" DFILENAME="/ram/cpu1_filtertbl211" +21-236-12:19:09.079 00 CMH-I:CMD Command is /SCX_CPU1_TBL_DUMP ACTIVE DTABLENAME="DS.FILTER_TBL" DFILENAME="/ram/cpu1_filtertbl211" ;;; (SCX CPU1 TBL dump table command) +21-236-12:19:09.079 00 CMH-I:CMD Command SFDU received:<1804C000006B0348000144532E46494C5445525F54424C0000000000000000000000000000000000000000000000000000002F72616D2F637075315F66696C74657274626C323131000000000000000000000000000000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-236-12:19:09.081 00 SPR-I:STTE Wait mode - waiting 15 seconds ... +21-236-12:19:09.210 00 TLMH-I:STS 58-012-14:05:08.502 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=14 Successfully dumped Table 'DS.FILTER_TBL' to '/ram/cpu1_filtertbl211' +21-236-12:19:24.091 00 SPR-I:OPRO +21-236-12:19:24.091 00 SPR-I:OPRO The TBLNAME is: DS.FILTER_TBL +21-236-12:19:24.092 00 SPR-I:OPRO The APID is: P0F77 +21-236-12:19:24.092 00 SPR-I:OPRO The CPU is: CPU3 +21-236-12:19:24.092 00 SPR-I:OPRO The IP Address is: 192.168.1.8 +21-236-12:19:24.095 00 SPR-I:OPRO The perl command is: perl /s/opr/accounts/global/tools/ftp.pl RAM:0 cpu1_filtertbl211 cpu1_filtertbl211 binary 192.168.1.8 +21-236-12:19:24.266 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-12:19:24.266 00 SPR-I:STTE Wait mode - waiting 15 seconds ... +21-236-12:19:39.278 00 SPR-I:OPRO +21-236-12:19:39.324 00 SPR-I:OPRO The unix command is cvt -ws file_list[3959].file_write_time "`date +%y-%j-%T -r /s/opr/accounts/cfs_test/image/cpu1_filtertbl211`" +21-236-12:19:39.324 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-12:19:44.329 00 SPR-I:STS Procedure GET_TBL_TO_CVT completed +21-236-12:19:44.331 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/get_tbl_to_cvt.i +21-236-12:19:44.333 00 SPR-I:STS Procedure GET_TBL_TO_CVT started +21-236-12:19:44.353 00 SPR-I:OPRO Sending Command: /SCX_CPU1_TBL_DUMP ACTIVE DTABLENAME="DS.FILE_TBL" DFILENAME="/ram/cpu1_filetbl211" +21-236-12:19:44.354 00 CMH-I:CMD Command is /SCX_CPU1_TBL_DUMP ACTIVE DTABLENAME="DS.FILE_TBL" DFILENAME="/ram/cpu1_filetbl211" ;;; (SCX CPU1 TBL dump table command) +21-236-12:19:44.355 00 CMH-I:CMD Command SFDU received:<1804C000006B0348000144532E46494C455F54424C00000000000000000000000000000000000000000000000000000000002F72616D2F637075315F66696C6574626C3231310000000000000000000000000000000000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-236-12:19:44.368 00 SPR-I:STTE Wait mode - waiting 15 seconds ... +21-236-12:19:44.718 00 TLMH-I:STS 58-012-14:05:44.002 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=14 Successfully dumped Table 'DS.FILE_TBL' to '/ram/cpu1_filetbl211' +21-236-12:19:50.883 00 SPR-I:OPRI --> page SCX_CPU1_DS_FILE_HK +21-236-12:19:50.938 00 DPD-I:STS Page SCX_CPU1_DS_FILE_HK added (cid:1). +21-236-12:19:59.447 00 SPR-I:OPRO +21-236-12:19:59.447 00 SPR-I:OPRO The TBLNAME is: DS.FILE_TBL +21-236-12:19:59.447 00 SPR-I:OPRO The APID is: P0F76 +21-236-12:19:59.447 00 SPR-I:OPRO The CPU is: CPU3 +21-236-12:19:59.448 00 SPR-I:OPRO The IP Address is: 192.168.1.8 +21-236-12:19:59.448 00 SPR-I:OPRO The perl command is: perl /s/opr/accounts/global/tools/ftp.pl RAM:0 cpu1_filetbl211 cpu1_filetbl211 binary 192.168.1.8 +21-236-12:19:59.582 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-12:19:59.582 00 SPR-I:STTE Wait mode - waiting 15 seconds ... +21-236-12:20:14.595 00 SPR-I:OPRO +21-236-12:20:14.616 00 SPR-I:OPRO The unix command is cvt -ws file_list[3958].file_write_time "`date +%y-%j-%T -r /s/opr/accounts/cfs_test/image/cpu1_filetbl211`" +21-236-12:20:14.616 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-12:20:19.620 00 SPR-I:STS Procedure GET_TBL_TO_CVT completed +21-236-12:20:19.622 00 SPR-I:OPRO ;*********************************************************************** +21-236-12:20:19.622 00 SPR-I:OPRO ; Step 2.1.2: Parse the tables to find a MessageID to use for the +21-236-12:20:19.622 00 SPR-I:OPRO ; Sequence file type naming entry. +21-236-12:20:19.622 00 SPR-I:OPRO ;*********************************************************************** +21-236-12:20:19.886 00 SPR-I:OPRO ==> Found file entry at 0 +21-236-12:20:19.886 00 SPR-I:OPRO ==> Found filter entry at 0 +21-236-12:20:19.886 00 SPR-I:OPRO ;*********************************************************************** +21-236-12:20:19.886 00 SPR-I:OPRO ; Step 2.1.3: Create the directory where files will be moved when they +21-236-12:20:19.886 00 SPR-I:OPRO ; are closed by the DS application. +21-236-12:20:19.886 00 SPR-I:OPRO ;*********************************************************************** +21-236-12:20:19.886 00 SPR-I:OPRO ==> Creating File Move Directory = /ram/movedir/ +21-236-12:20:19.887 00 CMH-I:CMD Command is /SCX_CPU1_FM_DIRCREATE DIRNAME="/ram/movedir/" ;;; (SCX CPU1 FM Dircectory Create command code) +21-236-12:20:19.887 00 CMH-I:CMD Command SFDU received:<188CC00000410CD92F72616D2F6D6F76656469722F000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-236-12:20:19.898 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-12:20:24.901 00 SPR-I:OPRO ;*********************************************************************** +21-236-12:20:24.901 00 SPR-I:OPRO ; Step 2.1.4: Send the TST_DS command to send a message to DS using the +21-236-12:20:24.901 00 SPR-I:OPRO ; MessageID found above. Since the message being set will not exceed +21-236-12:20:24.901 00 SPR-I:OPRO ; the file size constraint, the FileState HK should contain info about +21-236-12:20:24.901 00 SPR-I:OPRO ; the file that was created. +21-236-12:20:24.901 00 SPR-I:OPRO ;*********************************************************************** +21-236-12:20:24.903 00 SPR-I:OPRO ;*********************************************************************** +21-236-12:20:24.903 00 SPR-I:OPRO ; Setup event 1 with TST_DS INFO 5 +21-236-12:20:24.903 00 SPR-I:OPRO ;*********************************************************************** +21-236-12:20:24.904 00 CMH-I:CMD Command is /SCX_CPU1_TST_DS_SENDMESSAGE MSGID= 2304 (x900) MSGTYPE= 1 (x1) PATTERN= 85 (x55) ;;; (SCX CPU1 TST_DS Send Message command code) +21-236-12:20:24.904 00 CMH-I:CMD Command SFDU received:<1943C000000903320000090001550000> from gs582cfslab4:SPR +21-236-12:20:24.918 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-12:20:25.209 00 TLMH-I:STS 58-012-14:06:24.504 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Message Size 116 to MID 0x00000900 +21-236-12:20:25.919 00 SPR-I:STTE WAIT UNTIL completed +21-236-12:20:25.919 00 SPR-I:OPRO <*> Passed - Expected Event Msg 5 rcv'd. +21-236-12:20:25.920 00 CMH-I:CMD Command is /SCX_CPU1_DS_GETFILEINFO ;;; (The Get File Info command) +21-236-12:20:25.920 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-12:20:25.933 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-12:20:26.217 00 TLMH-I:STS 58-012-14:06:25.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-12:20:28.936 00 SPR-I:STTE WAIT UNTIL completed +21-236-12:20:28.937 00 SPR-I:OPRO <*> Passed (3000;3000.1;3000.1.1) - A file was created with name '/ram/seq100000100.dat' +21-236-12:20:28.940 00 SPR-I:OPRO ==> FileName1 filename only = 'seq100000100.dat' +21-236-12:20:28.941 00 SPR-I:OPRO <*> Passed (3001) - The file is marked 'OPEN' +21-236-12:20:28.949 00 SPR-I:OPRO <*> Passed - The file write and passed packet counters are correct. +21-236-12:20:28.949 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-12:20:33.953 00 SPR-I:OPRO ;*********************************************************************** +21-236-12:20:33.953 00 SPR-I:OPRO ; Step 2.2: Send the TST_DS command again using a message type that +21-236-12:20:33.953 00 SPR-I:OPRO ; will exceed the file size of the destination file entry. +21-236-12:20:33.953 00 SPR-I:OPRO ;*********************************************************************** +21-236-12:20:33.957 00 SPR-I:OPRO ;*********************************************************************** +21-236-12:20:33.958 00 SPR-I:OPRO ; Setup event 1 with TST_DS INFO 7 +21-236-12:20:33.958 00 SPR-I:OPRO ;*********************************************************************** +21-236-12:20:33.961 00 CMH-I:CMD Command is /SCX_CPU1_TST_DS_SENDMESSAGE MSGID= 2304 (x900) MSGTYPE= 3 (x3) PATTERN= 170 (xAA) ;;; (SCX CPU1 TST_DS Send Message command code) +21-236-12:20:33.961 00 CMH-I:CMD Command SFDU received:<1943C000000903CF0000090003AA0000> from gs582cfslab4:SPR +21-236-12:20:33.986 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-12:20:34.216 00 TLMH-I:STS 58-012-14:06:33.509 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=7 Sent Message Size 1016 to MID 0x00000900 +21-236-12:20:34.987 00 SPR-I:STTE WAIT UNTIL completed +21-236-12:20:34.989 00 SPR-I:OPRO <*> Passed - Expected Event Msg 7 rcv'd. +21-236-12:20:34.991 00 CMH-I:CMD Command is /SCX_CPU1_DS_GETFILEINFO ;;; (The Get File Info command) +21-236-12:20:34.992 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-12:20:35.024 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-12:20:35.208 00 TLMH-I:STS 58-012-14:06:34.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-12:20:37.026 00 SPR-I:STTE WAIT UNTIL completed +21-236-12:20:37.029 00 SPR-I:OPRO <*> Passed (3000;3000.1;3000.1.1) - A file was created with name '/ram/seq100000101.dat' +21-236-12:20:37.045 00 SPR-I:OPRO ==> FileName2 filename only = 'seq100000101.dat' +21-236-12:20:37.045 00 SPR-I:OPRO <*> Passed (3001) - The file is marked 'OPEN' +21-236-12:20:37.068 00 SPR-I:OPRO <*> Passed (3001.1) - A new file was opened +21-236-12:20:37.070 00 SPR-I:OPRO <*> Passed - The header update counter incremented as expected. +21-236-12:20:37.077 00 CMH-I:CMD Command is /SCX_CPU1_FM_DIRLISTTLM DIRNAME="/ram/" OFFSET= 0 (x0) GETSTATFLAG= 0 (x0) ;;; (SCX CPU1 FM Directory Listing to Telemetry command code) +21-236-12:20:37.077 00 CMH-I:CMD Command SFDU received:<188CC00000490F932F72616D2F00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-236-12:20:37.089 00 SPR-I:STTE Wait mode - waiting 10 seconds ... +21-236-12:20:47.105 00 CMH-I:CMD Command is /SCX_CPU1_FM_DIRLISTTLM DIRNAME="/ram/movedir/" OFFSET= 0 (x0) GETSTATFLAG= 0 (x0) ;;; (SCX CPU1 FM Directory Listing to Telemetry command code) +21-236-12:20:47.105 00 CMH-I:CMD Command SFDU received:<188CC00000490FD22F72616D2F6D6F76656469722F0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-236-12:20:47.116 00 SPR-I:STTE Wait mode - waiting 10 seconds ... +21-236-12:20:57.125 00 SPR-I:OPRO <*> Passed - File 'seq100000100.dat' is contained in directory '/ram/movedir/' as expected. +21-236-12:20:57.127 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-12:21:02.131 00 SPR-I:OPRO ;*********************************************************************** +21-236-12:21:02.131 00 SPR-I:OPRO ; Step 2.3: Test that DS will store at least 1 message in a destination +21-236-12:21:02.131 00 SPR-I:OPRO ; file even though the message will exceed the file size. +21-236-12:21:02.131 00 SPR-I:OPRO ;*********************************************************************** +21-236-12:21:02.131 00 SPR-I:OPRO ; Step 2.3.1: Send the Close command for the file created in Step 2.2. +21-236-12:21:02.131 00 SPR-I:OPRO ;*********************************************************************** +21-236-12:21:02.133 00 SPR-I:OPRO ;*********************************************************************** +21-236-12:21:02.133 00 SPR-I:OPRO ; Setup event 1 with DS DEBUG 59 +21-236-12:21:02.133 00 SPR-I:OPRO ;*********************************************************************** +21-236-12:21:02.135 00 CMH-I:CMD Command is /SCX_CPU1_DS_CLOSEFILE FILEINDEX= 0 (x0) ;;; (SCX CPU1 DS Close Destination File command) +21-236-12:21:02.135 00 CMH-I:CMD Command SFDU received:<18BBC00000050E9700000000> from gs582cfslab4:SPR +21-236-12:21:02.151 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-12:21:02.214 00 TLMH-I:STS 58-012-14:07:01.502 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=59 DEST CLOSE command: file table index = 0 +21-236-12:21:05.154 00 SPR-I:STTE WAIT UNTIL completed +21-236-12:21:05.156 00 SPR-I:OPRO <*> Passed (1004;5002) - DS Close File command sent properly. +21-236-12:21:05.172 00 SPR-I:STTE WAIT UNTIL completed +21-236-12:21:05.176 00 SPR-I:OPRO <*> Passed (1004;5002) - Expected Event Msg 59 rcv'd. +21-236-12:21:05.178 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-12:21:10.182 00 SPR-I:OPRO ;*********************************************************************** +21-236-12:21:10.182 00 SPR-I:OPRO ; Step 2.3.2: Send the TST_DS_SendMessage command using a message type +21-236-12:21:10.182 00 SPR-I:OPRO ; that exceeds the size of the destination file entry. +21-236-12:21:10.182 00 SPR-I:OPRO ;*********************************************************************** +21-236-12:21:10.184 00 SPR-I:OPRO ;*********************************************************************** +21-236-12:21:10.184 00 SPR-I:OPRO ; Setup event 1 with TST_DS INFO 9 +21-236-12:21:10.184 00 SPR-I:OPRO ;*********************************************************************** +21-236-12:21:10.185 00 CMH-I:CMD Command is /SCX_CPU1_TST_DS_SENDMESSAGE MSGID= 2304 (x900) MSGTYPE= 5 (x5) PATTERN= 165 (xA5) ;;; (SCX CPU1 TST_DS Send Message command code) +21-236-12:21:10.185 00 CMH-I:CMD Command SFDU received:<1943C000000903C60000090005A50000> from gs582cfslab4:SPR +21-236-12:21:10.199 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-12:21:10.207 00 TLMH-I:STS 58-012-14:07:09.508 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=9 Sent Message Size 1516 to MID 0x00000900 +21-236-12:21:11.200 00 SPR-I:STTE WAIT UNTIL completed +21-236-12:21:11.200 00 SPR-I:OPRO <*> Passed - Expected Event Msg 9 rcv'd. +21-236-12:21:11.201 00 CMH-I:CMD Command is /SCX_CPU1_DS_GETFILEINFO ;;; (The Get File Info command) +21-236-12:21:11.201 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-12:21:11.205 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-12:21:11.709 00 TLMH-I:STS 58-012-14:07:11.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-12:21:13.206 00 SPR-I:STTE WAIT UNTIL completed +21-236-12:21:13.207 00 SPR-I:OPRO <*> Passed (3000;3000.1;3000.1.1) - A file was created with name '/ram/seq100000102.dat' +21-236-12:21:13.211 00 SPR-I:OPRO ==> FileName3 filename only = 'seq100000102.dat' +21-236-12:21:13.211 00 SPR-I:OPRO <*> Passed (3001) - The file is marked 'OPEN' +21-236-12:21:13.217 00 SPR-I:OPRO <*> Passed (3001.1) - A new file was opened +21-236-12:21:13.220 00 CMH-I:CMD Command is /SCX_CPU1_FM_DIRLISTTLM DIRNAME="/ram/" OFFSET= 0 (x0) GETSTATFLAG= 0 (x0) ;;; (SCX CPU1 FM Directory Listing to Telemetry command code) +21-236-12:21:13.220 00 CMH-I:CMD Command SFDU received:<188CC00000490F932F72616D2F00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-236-12:21:13.231 00 SPR-I:STTE Wait mode - waiting 10 seconds ... +21-236-12:21:23.246 00 CMH-I:CMD Command is /SCX_CPU1_FM_DIRLISTTLM DIRNAME="/ram/movedir/" OFFSET= 0 (x0) GETSTATFLAG= 0 (x0) ;;; (SCX CPU1 FM Directory Listing to Telemetry command code) +21-236-12:21:23.246 00 CMH-I:CMD Command SFDU received:<188CC00000490FD22F72616D2F6D6F76656469722F0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-236-12:21:23.257 00 SPR-I:STTE Wait mode - waiting 10 seconds ... +21-236-12:21:33.269 00 SPR-I:OPRO <*> Passed - File 'seq100000101.dat' is contained in directory '/ram/movedir/' as expected. +21-236-12:21:33.271 00 SPR-I:OPRO ;*********************************************************************** +21-236-12:21:33.272 00 SPR-I:OPRO ; Step 2.4: Wait for the file created above to exceed its maximum age. +21-236-12:21:33.272 00 SPR-I:OPRO ;*********************************************************************** +21-236-12:21:33.275 00 CMH-I:CMD Command is /SCX_CPU1_DS_GETFILEINFO ;;; (The Get File Info command) +21-236-12:21:33.275 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-12:21:33.296 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-12:21:33.708 00 TLMH-I:STS 58-012-14:07:33.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-12:21:37.304 00 SPR-I:STTE WAIT UNTIL completed +21-236-12:21:37.307 00 SPR-I:OPRO new file age = 24 +21-236-12:21:37.314 00 SPR-I:OPRO timeout calculation = 76 +21-236-12:21:37.317 00 CMH-I:CMD Command is /SCX_CPU1_DS_GETFILEINFO ;;; (The Get File Info command) +21-236-12:21:37.318 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-12:21:37.340 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-12:21:37.710 00 TLMH-I:STS 58-012-14:07:37.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-12:21:38.602 00 SPR-I:OPRI --> page SCX_CPU1_DS_FILE_HK +21-236-12:21:38.703 00 DPD-I:STS Page SCX_CPU1_DS_FILE_HK added (cid:1). +21-236-12:21:41.459 00 SPR-I:STTE WAIT UNTIL completed +21-236-12:21:41.461 00 SPR-I:OPRO new file age = 28 +21-236-12:21:41.466 00 SPR-I:OPRO timeout calculation = 72 +21-236-12:21:41.467 00 CMH-I:CMD Command is /SCX_CPU1_DS_GETFILEINFO ;;; (The Get File Info command) +21-236-12:21:41.467 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-12:21:41.482 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-12:21:41.711 00 TLMH-I:STS 58-012-14:07:41.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-12:21:42.947 00 DPD-I:STS Deleting page SCX_CPU1_DS_FILE_HK +21-236-12:21:45.492 00 SPR-I:STTE WAIT UNTIL completed +21-236-12:21:45.494 00 SPR-I:OPRO new file age = 32 +21-236-12:21:45.498 00 SPR-I:OPRO timeout calculation = 68 +21-236-12:21:45.503 00 CMH-I:CMD Command is /SCX_CPU1_DS_GETFILEINFO ;;; (The Get File Info command) +21-236-12:21:45.503 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-12:21:45.520 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-12:21:45.707 00 TLMH-I:STS 58-012-14:07:45.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-12:21:49.525 00 SPR-I:STTE WAIT UNTIL completed +21-236-12:21:49.526 00 SPR-I:OPRO new file age = 36 +21-236-12:21:49.527 00 SPR-I:OPRO timeout calculation = 64 +21-236-12:21:49.532 00 CMH-I:CMD Command is /SCX_CPU1_DS_GETFILEINFO ;;; (The Get File Info command) +21-236-12:21:49.532 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-12:21:49.546 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-12:21:49.712 00 TLMH-I:STS 58-012-14:07:49.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-12:21:53.551 00 SPR-I:STTE WAIT UNTIL completed +21-236-12:21:53.553 00 SPR-I:OPRO new file age = 40 +21-236-12:21:53.558 00 SPR-I:OPRO timeout calculation = 60 +21-236-12:21:53.565 00 CMH-I:CMD Command is /SCX_CPU1_DS_GETFILEINFO ;;; (The Get File Info command) +21-236-12:21:53.565 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-12:21:53.583 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-12:21:53.709 00 TLMH-I:STS 58-012-14:07:53.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-12:21:57.588 00 SPR-I:STTE WAIT UNTIL completed +21-236-12:21:57.590 00 SPR-I:OPRO new file age = 44 +21-236-12:21:57.594 00 SPR-I:OPRO timeout calculation = 56 +21-236-12:21:57.595 00 CMH-I:CMD Command is /SCX_CPU1_DS_GETFILEINFO ;;; (The Get File Info command) +21-236-12:21:57.595 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-12:21:57.610 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-12:21:57.711 00 TLMH-I:STS 58-012-14:07:57.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-12:22:01.614 00 SPR-I:STTE WAIT UNTIL completed +21-236-12:22:01.616 00 SPR-I:OPRO new file age = 48 +21-236-12:22:01.620 00 SPR-I:OPRO timeout calculation = 52 +21-236-12:22:01.624 00 CMH-I:CMD Command is /SCX_CPU1_DS_GETFILEINFO ;;; (The Get File Info command) +21-236-12:22:01.624 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-12:22:01.639 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-12:22:01.714 00 TLMH-I:STS 58-012-14:08:01.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-12:22:05.644 00 SPR-I:STTE WAIT UNTIL completed +21-236-12:22:05.646 00 SPR-I:OPRO new file age = 52 +21-236-12:22:05.651 00 SPR-I:OPRO timeout calculation = 48 +21-236-12:22:05.656 00 CMH-I:CMD Command is /SCX_CPU1_DS_GETFILEINFO ;;; (The Get File Info command) +21-236-12:22:05.656 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-12:22:05.670 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-12:22:05.708 00 TLMH-I:STS 58-012-14:08:05.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-12:22:09.675 00 SPR-I:STTE WAIT UNTIL completed +21-236-12:22:09.677 00 SPR-I:OPRO new file age = 56 +21-236-12:22:09.681 00 SPR-I:OPRO timeout calculation = 44 +21-236-12:22:09.690 00 CMH-I:CMD Command is /SCX_CPU1_DS_GETFILEINFO ;;; (The Get File Info command) +21-236-12:22:09.690 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-12:22:09.707 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-12:22:10.211 00 TLMH-I:STS 58-012-14:08:09.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-12:22:12.710 00 SPR-I:STTE WAIT UNTIL completed +21-236-12:22:12.711 00 SPR-I:OPRO new file age = 60 +21-236-12:22:12.714 00 SPR-I:OPRO timeout calculation = 40 +21-236-12:22:12.720 00 CMH-I:CMD Command is /SCX_CPU1_DS_GETFILEINFO ;;; (The Get File Info command) +21-236-12:22:12.720 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-12:22:12.735 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-12:22:13.214 00 TLMH-I:STS 58-012-14:08:12.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-12:22:16.739 00 SPR-I:STTE WAIT UNTIL completed +21-236-12:22:16.741 00 SPR-I:OPRO new file age = 64 +21-236-12:22:16.745 00 SPR-I:OPRO timeout calculation = 36 +21-236-12:22:16.749 00 CMH-I:CMD Command is /SCX_CPU1_DS_GETFILEINFO ;;; (The Get File Info command) +21-236-12:22:16.749 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-12:22:16.753 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-12:22:17.209 00 TLMH-I:STS 58-012-14:08:16.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-12:22:20.757 00 SPR-I:STTE WAIT UNTIL completed +21-236-12:22:20.760 00 SPR-I:OPRO new file age = 68 +21-236-12:22:20.763 00 SPR-I:OPRO timeout calculation = 32 +21-236-12:22:20.769 00 CMH-I:CMD Command is /SCX_CPU1_DS_GETFILEINFO ;;; (The Get File Info command) +21-236-12:22:20.769 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-12:22:20.784 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-12:22:21.207 00 TLMH-I:STS 58-012-14:08:20.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-12:22:24.789 00 SPR-I:STTE WAIT UNTIL completed +21-236-12:22:24.790 00 SPR-I:OPRO new file age = 72 +21-236-12:22:24.793 00 SPR-I:OPRO timeout calculation = 28 +21-236-12:22:24.794 00 CMH-I:CMD Command is /SCX_CPU1_DS_GETFILEINFO ;;; (The Get File Info command) +21-236-12:22:24.794 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-12:22:24.808 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-12:22:25.215 00 TLMH-I:STS 58-012-14:08:24.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-12:22:28.813 00 SPR-I:STTE WAIT UNTIL completed +21-236-12:22:28.816 00 SPR-I:OPRO new file age = 76 +21-236-12:22:28.823 00 SPR-I:OPRO timeout calculation = 24 +21-236-12:22:28.826 00 CMH-I:CMD Command is /SCX_CPU1_DS_GETFILEINFO ;;; (The Get File Info command) +21-236-12:22:28.827 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-12:22:28.851 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-12:22:29.211 00 TLMH-I:STS 58-012-14:08:28.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-12:22:32.856 00 SPR-I:STTE WAIT UNTIL completed +21-236-12:22:32.859 00 SPR-I:OPRO new file age = 80 +21-236-12:22:32.870 00 SPR-I:OPRO timeout calculation = 20 +21-236-12:22:32.873 00 CMH-I:CMD Command is /SCX_CPU1_DS_GETFILEINFO ;;; (The Get File Info command) +21-236-12:22:32.874 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-12:22:32.890 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-12:22:33.214 00 TLMH-I:STS 58-012-14:08:32.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-12:22:36.895 00 SPR-I:STTE WAIT UNTIL completed +21-236-12:22:36.897 00 SPR-I:OPRO new file age = 84 +21-236-12:22:36.902 00 SPR-I:OPRO timeout calculation = 16 +21-236-12:22:36.908 00 CMH-I:CMD Command is /SCX_CPU1_DS_GETFILEINFO ;;; (The Get File Info command) +21-236-12:22:36.908 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-12:22:36.926 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-12:22:37.215 00 TLMH-I:STS 58-012-14:08:36.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-12:22:40.930 00 SPR-I:STTE WAIT UNTIL completed +21-236-12:22:40.932 00 SPR-I:OPRO new file age = 88 +21-236-12:22:40.941 00 SPR-I:OPRO timeout calculation = 12 +21-236-12:22:40.944 00 CMH-I:CMD Command is /SCX_CPU1_DS_GETFILEINFO ;;; (The Get File Info command) +21-236-12:22:40.944 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-12:22:40.969 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-12:22:41.207 00 TLMH-I:STS 58-012-14:08:40.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-12:22:44.974 00 SPR-I:STTE WAIT UNTIL completed +21-236-12:22:44.977 00 SPR-I:OPRO new file age = 92 +21-236-12:22:44.984 00 SPR-I:OPRO timeout calculation = 8 +21-236-12:22:44.987 00 CMH-I:CMD Command is /SCX_CPU1_DS_GETFILEINFO ;;; (The Get File Info command) +21-236-12:22:44.987 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-12:22:44.994 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-12:22:45.212 00 TLMH-I:STS 58-012-14:08:44.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-12:22:48.997 00 SPR-I:STTE WAIT UNTIL completed +21-236-12:22:48.998 00 SPR-I:OPRO new file age = 96 +21-236-12:22:48.999 00 SPR-I:OPRO timeout calculation = 4 +21-236-12:22:49.000 00 CMH-I:CMD Command is /SCX_CPU1_DS_GETFILEINFO ;;; (The Get File Info command) +21-236-12:22:49.000 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-12:22:49.014 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-12:22:49.207 00 TLMH-I:STS 58-012-14:08:48.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-12:22:53.017 00 SPR-I:STTE WAIT UNTIL completed +21-236-12:22:53.017 00 SPR-I:OPRO new file age = 0 +21-236-12:22:53.018 00 SPR-I:OPRO timeout calculation = 100 +21-236-12:22:53.018 00 SPR-I:OPRO TLM reports the file is no longer open +21-236-12:22:53.018 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-12:22:58.022 00 CMH-I:CMD Command is /SCX_CPU1_FM_DIRLISTTLM DIRNAME="/ram/" OFFSET= 0 (x0) GETSTATFLAG= 0 (x0) ;;; (SCX CPU1 FM Directory Listing to Telemetry command code) +21-236-12:22:58.022 00 CMH-I:CMD Command SFDU received:<188CC00000490F932F72616D2F00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-236-12:22:58.033 00 SPR-I:STTE Wait mode - waiting 10 seconds ... +21-236-12:23:08.042 00 CMH-I:CMD Command is /SCX_CPU1_FM_DIRLISTTLM DIRNAME="/ram/movedir/" OFFSET= 0 (x0) GETSTATFLAG= 0 (x0) ;;; (SCX CPU1 FM Directory Listing to Telemetry command code) +21-236-12:23:08.042 00 CMH-I:CMD Command SFDU received:<188CC00000490FD22F72616D2F6D6F76656469722F0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-236-12:23:08.054 00 SPR-I:STTE Wait mode - waiting 10 seconds ... +21-236-12:23:12.318 00 SPR-I:OPRI --> s display_next_page ( 20, 10, "NEXT", 140, "TLM") +21-236-12:23:12.318 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/display_next_page.i +21-236-12:23:12.319 00 SPR-I:STS Procedure DISPLAY_NEXT_PAGE started +21-236-12:23:12.321 00 SPR-I:STS Procedure DISPLAY_NEXT_PAGE completed +21-236-12:23:15.083 00 SPR-I:OPRI --> s display_next_page ( 20, 10, "PREV", 140, "TLM") +21-236-12:23:15.083 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/display_next_page.i +21-236-12:23:15.085 00 SPR-I:STS Procedure DISPLAY_NEXT_PAGE started +21-236-12:23:15.091 00 SPR-I:STS Procedure DISPLAY_NEXT_PAGE completed +21-236-12:23:18.107 00 SPR-I:OPRO <*> Passed - File 'seq100000102.dat' is contained in directory '/ram/movedir/' as expected. +21-236-12:23:18.113 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-12:23:23.118 00 SPR-I:OPRO ;*********************************************************************** +21-236-12:23:23.118 00 SPR-I:OPRO ; Step 3.0: Clean-up - Send the Processor Reset command in order to +21-236-12:23:23.118 00 SPR-I:OPRO ; be able to retrieve files in RAM after this procedure completes. +21-236-12:23:23.118 00 SPR-I:OPRO ;*********************************************************************** +21-236-12:23:23.120 00 CMH-I:CMD Command is /SCX_CPU1_ES_PROCESSORRESET ;;; (SCX CPU1 ES Processor Reset command code) +21-236-12:23:23.120 00 CMH-I:CMD Command SFDU received:<1806C000000302210001> from gs582cfslab4:SPR +21-236-12:23:23.134 00 SPR-I:STTE Wait mode - waiting 10 seconds ... +21-236-12:23:30.373 00 DPD-I:STS Deleting page SCX_CPU1_FM_DIR_LIST +21-236-12:23:32.040 00 DPD-I:STS Deleting page SCX_CPU1_DS_FILE_HK +21-236-12:23:33.101 00 DPD-I:STS Deleting page SCX_CPU1_DS_FILE_TBL +21-236-12:23:33.143 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/clear_spacecraft_status.i +21-236-12:23:33.143 00 SPR-I:STS Procedure CLEAR_SPACECRAFT_STATUS started +21-236-12:23:33.147 00 SPR-I:STS Procedure CLEAR_SPACECRAFT_STATUS completed +21-236-12:23:33.162 00 SPR-I:STTE Wait mode - waiting 60 seconds ... +21-236-12:23:34.763 00 DPD-I:STS Deleting page SCX_CPU1_TST_DS_HK +21-236-12:23:35.956 00 DPD-I:STS Deleting page SCX_CPU1_DS_HK +21-236-12:23:37.091 00 DPD-I:STS Deleting page SCX_CPU1_DS_FILTER_TBL +21-236-12:24:33.225 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-12:24:39.189 00 CMH-I:STS Connected to FEDS:FEDS for commanding (internal ID 0). +21-236-12:24:43.236 00 SPR-I:STTE WAIT UNTIL completed +21-236-12:24:43.238 00 CMH-I:CMD SFDU is /DDIR DATA="open udp_read C%03X 1235 packet_only" ;;; ( ) +21-236-12:24:43.254 00 CMH-I:CMD SFDU is /DDIR DATA="open udp_write CPKT cpu3 1234 ascii_pkt" ;;; ( ) +21-236-12:24:43.298 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/send_that_to_command.i +21-236-12:24:43.298 00 SPR-I:STS Procedure SEND_THAT_TO_COMMAND started +21-236-12:24:43.301 00 SPR-I:OPRO Sending: /SCX_CPU1_TO_OUTPUT_ENA gs582cfslab4 +21-236-12:24:43.302 00 CMH-I:CMD Command is /SCX_CPU1_TO_OUTPUT_ENA GS582CFSLAB4 ;;; (SCX CPU1 Enables TO output) +21-236-12:24:43.302 00 CMH-I:CMD Command SFDU received:<1880C0000011069A3139322E3136382E312E313031000000> from gs582cfslab4:SPR +21-236-12:24:43.343 00 SPR-I:STS Procedure SEND_THAT_TO_COMMAND completed +21-236-12:24:43.343 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-12:24:44.235 00 TLMH-I:STS 58-012-14:09:49.600 INFO CPU=CPU1 APPNAME=TO_LAB_APP EVENT ID=3 TO telemetry output enabled for IP 192.168.1.101 +21-236-12:24:46.348 00 SPR-I:STTE WAIT UNTIL completed +21-236-12:24:46.348 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/fill_in_spacecraft_status.i +21-236-12:24:46.350 00 SPR-I:STS Procedure FILL_IN_SPACECRAFT_STATUS started +21-236-12:24:46.355 00 SPR-I:STS Procedure FILL_IN_SPACECRAFT_STATUS completed +21-236-12:24:46.356 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-12:24:51.360 00 SPR-I:OPRO **** Requirements Status Reporting +21-236-12:24:51.360 00 SPR-I:OPRO -------------------------- +21-236-12:24:51.361 00 SPR-I:OPRO Requirement(s) Report +21-236-12:24:51.361 00 SPR-I:OPRO -------------------------- +21-236-12:24:51.362 00 SPR-I:OPRO FSW Requirement: DS_1004 P/F: P +21-236-12:24:51.365 00 SPR-I:OPRO FSW Requirement: DS_3000 P/F: P +21-236-12:24:51.366 00 SPR-I:OPRO FSW Requirement: DS_3000.1 P/F: A +21-236-12:24:51.366 00 SPR-I:OPRO FSW Requirement: DS_3000.1.1 P/F: A +21-236-12:24:51.367 00 SPR-I:OPRO FSW Requirement: DS_3001 P/F: P +21-236-12:24:51.372 00 SPR-I:OPRO FSW Requirement: DS_3001.1 P/F: P +21-236-12:24:51.373 00 SPR-I:OPRO FSW Requirement: DS_3001.2 P/F: A +21-236-12:24:51.374 00 SPR-I:OPRO FSW Requirement: DS_3002 P/F: P +21-236-12:24:51.374 00 SPR-I:OPRO FSW Requirement: DS_3002.1 P/F: P +21-236-12:24:51.380 00 SPR-I:OPRO FSW Requirement: DS_5002 P/F: P +21-236-12:24:51.381 00 SPR-I:OPRO FSW Requirement: DS_8000 P/F: P +21-236-12:24:51.382 00 SPR-I:OPRO FSW Requirement: DS_9000 P/F: P +21-236-12:24:51.387 00 SPR-I:STS Variable "UT_REQUIREMENT" deleted +21-236-12:24:51.387 00 SPR-I:STS Variable "UT_REQ_ARRAY_SIZE" deleted +21-236-12:24:51.387 00 SPR-I:OPRO ;********************************************************************* +21-236-12:24:51.387 00 SPR-I:OPRO ; End procedure SCX_CPU1_ds_movefile +21-236-12:24:51.388 00 SPR-I:OPRO ;********************************************************************* +21-236-12:24:51.388 00 SPR-I:STS Procedure SCX_CPU1_DS_MOVEFILE completed +21-236-12:24:51.392 00 SPR-I:OPRO *** Telemetry Info *** +21-236-12:24:51.392 00 SPR-I:OPRO +21-236-12:24:51.392 00 SPR-I:OPRO Pkt Loss Count: N/A +21-236-12:24:51.392 00 SPR-I:OPRO +21-236-12:24:51.392 00 SPR-I:OPRO ****************** +21-236-12:24:51.392 00 SPR-I:OPRO +21-236-12:24:51.393 00 SPR-I:OPRO Elapsed time: 502.646 seconds +21-236-12:24:51.396 00 SPR-I:OPRO Elapsed time: 8.37744 minutes +21-236-12:24:51.396 00 SPR-I:STTE Wait mode - waiting 10 seconds ... +21-236-12:25:01.404 00 SPR-I:OPRO Creating filtered log at /s/opr/accounts/cfs_test/test_logs/DS2.6.0/scx_cpu1_ds_movefile-2021-236-12h16m28s.logf +21-236-12:25:01.404 00 SPR-I:OPRO Creating filtered output log at /s/opr/accounts/cfs_test/test_logs/DS2.6.0/scx_cpu1_ds_movefile-2021-236-12h16m28s.logp +21-236-12:25:01.404 00 SPR-I:OPRO Creating filtered output log (without SFDUs) at /s/opr/accounts/cfs_test/test_logs/DS2.6.0/scx_cpu1_ds_movefile-2021-236-12h16m28s.logs +21-236-12:25:01.405 00 SPR-I:OPRO Creating filtered event log at /s/opr/accounts/cfs_test/test_logs/DS2.6.0/scx_cpu1_ds_movefile-2021-236-12h16m28s.loge +21-236-12:25:01.405 00 SPR-I:OPRO Creating filtered requirements log at /s/opr/accounts/cfs_test/test_logs/DS2.6.0/scx_cpu1_ds_movefile-2021-236-12h16m28s.logr +21-236-12:25:01.511 00 SPR-I:OPRI --> newlog scx_cpu1_ds_movefile-2021-236-12h16m28s.log diff --git a/test_and_ground/results/Caelum/scx_cpu1_ds_movefile-2021-236-12h16m28s.logr b/test_and_ground/results/Caelum/scx_cpu1_ds_movefile-2021-236-12h16m28s.logr new file mode 100644 index 0000000..426c255 --- /dev/null +++ b/test_and_ground/results/Caelum/scx_cpu1_ds_movefile-2021-236-12h16m28s.logr @@ -0,0 +1,12 @@ +21-236-12:24:51.362 00 SPR-I:OPRO FSW Requirement: DS_1004 P/F: P +21-236-12:24:51.365 00 SPR-I:OPRO FSW Requirement: DS_3000 P/F: P +21-236-12:24:51.366 00 SPR-I:OPRO FSW Requirement: DS_3000.1 P/F: A +21-236-12:24:51.366 00 SPR-I:OPRO FSW Requirement: DS_3000.1.1 P/F: A +21-236-12:24:51.367 00 SPR-I:OPRO FSW Requirement: DS_3001 P/F: P +21-236-12:24:51.372 00 SPR-I:OPRO FSW Requirement: DS_3001.1 P/F: P +21-236-12:24:51.373 00 SPR-I:OPRO FSW Requirement: DS_3001.2 P/F: A +21-236-12:24:51.374 00 SPR-I:OPRO FSW Requirement: DS_3002 P/F: P +21-236-12:24:51.374 00 SPR-I:OPRO FSW Requirement: DS_3002.1 P/F: P +21-236-12:24:51.380 00 SPR-I:OPRO FSW Requirement: DS_5002 P/F: P +21-236-12:24:51.381 00 SPR-I:OPRO FSW Requirement: DS_8000 P/F: P +21-236-12:24:51.382 00 SPR-I:OPRO FSW Requirement: DS_9000 P/F: P diff --git a/test_and_ground/results/Caelum/scx_cpu1_ds_movefile-2021-236-12h16m28s.logs b/test_and_ground/results/Caelum/scx_cpu1_ds_movefile-2021-236-12h16m28s.logs new file mode 100644 index 0000000..eefbbe8 --- /dev/null +++ b/test_and_ground/results/Caelum/scx_cpu1_ds_movefile-2021-236-12h16m28s.logs @@ -0,0 +1,587 @@ +21-236-12:16:28.736 00 SPR-I:OPRO ****************** FSW Configuration ****************** +21-236-12:16:28.737 00 SPR-I:OPRO Checksum: 29237 +21-236-12:16:28.737 00 SPR-I:OPRO cFE Version: 6.7.99.0 +21-236-12:16:28.737 00 SPR-I:OPRO OS Version: 5.0.0.255 +21-236-12:16:28.737 00 SPR-I:OPRO +21-236-12:16:28.742 00 SPR-I:OPRO Connection Status +21-236-12:16:28.742 00 SPR-I:OPRO ----------------- +21-236-12:16:28.742 00 SPR-I:OPRO CFDP: DOWN +21-236-12:16:28.742 00 SPR-I:OPRO UDP: UP +21-236-12:16:28.742 00 SPR-I:OPRO SWTS: UNK +21-236-12:16:28.743 00 SPR-I:OPRO +21-236-12:16:28.743 00 SPR-I:OPRO CMD / TLM Path +21-236-12:16:28.743 00 SPR-I:OPRO -------------- +21-236-12:16:28.743 00 SPR-I:OPRO UDP +21-236-12:16:28.744 00 SPR-I:OPRO +21-236-12:16:28.744 00 SPR-I:OPRO +21-236-12:16:28.745 00 SPR-I:OPRO ASIST / GDS Configuration +21-236-12:16:28.745 00 SPR-I:OPRO ------------------------- +21-236-12:16:28.745 00 SPR-I:OPRO Workstation: GS582CFSLAB4 +21-236-12:16:28.745 00 SPR-I:OPRO Account: cfs_test +21-236-12:16:28.745 00 SPR-I:OPRO Version: 21.0.7 +21-236-12:16:28.745 00 SPR-I:OPRO Tlm DB: Version: 1.985 Date: 08-24-21 Time: 06:37:06 AM. +21-236-12:16:28.745 00 SPR-I:OPRO Cmd DB: Version: 1.51 Date: 08-24-21 Time: 06:47:31 AM.EDT +21-236-12:16:28.745 00 SPR-I:OPRO +21-236-12:16:28.746 00 SPR-I:OPRO Telemetry Info +21-236-12:16:28.746 00 SPR-I:OPRO -------------- +21-236-12:16:28.746 00 SPR-I:OPRO Pkt Loss Count: N/A +21-236-12:16:28.746 00 SPR-I:OPRO **************** End FSW Configuration *************** +21-236-12:16:28.746 00 SPR-I:OPRO Starting Procedure.... scx_cpu1_ds_movefile +21-236-12:16:28.881 00 SPR-I:OPRI --> start scx_cpu1_ds_movefile +21-236-12:16:28.881 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/scx_cpu1_ds_movefile.i +21-236-12:16:28.886 00 SPR-I:STS Procedure SCX_CPU1_DS_MOVEFILE started +21-236-12:16:28.991 00 SPR-I:OPRO ;*********************************************************************** +21-236-12:16:28.991 00 SPR-I:OPRO ; Step 1.0: Data Storage Test Setup. +21-236-12:16:28.991 00 SPR-I:OPRO ;*********************************************************************** +21-236-12:16:28.991 00 SPR-I:OPRO ; Step 1.1: Command a Power-on Reset on CPU1. +21-236-12:16:28.991 00 SPR-I:OPRO ;*********************************************************************** +21-236-12:16:28.992 00 CMH-I:CMD Command SFDU received:<1806C000000302220002> from gs582cfslab4:SPR +21-236-12:16:29.003 00 SPR-I:STTE Wait mode - waiting 10 seconds ... +21-236-12:16:39.011 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/clear_spacecraft_status.i +21-236-12:16:39.012 00 SPR-I:STS Procedure CLEAR_SPACECRAFT_STATUS started +21-236-12:16:39.018 00 SPR-I:STS Procedure CLEAR_SPACECRAFT_STATUS completed +21-236-12:16:39.032 00 SPR-I:STTE Wait mode - waiting 60 seconds ... +21-236-12:17:39.095 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-12:17:45.059 00 CMH-I:STS Connected to FEDS:FEDS for commanding (internal ID 0). +21-236-12:17:49.106 00 SPR-I:STTE WAIT UNTIL completed +21-236-12:17:49.167 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/send_that_to_command.i +21-236-12:17:49.167 00 SPR-I:STS Procedure SEND_THAT_TO_COMMAND started +21-236-12:17:49.169 00 SPR-I:OPRO Sending: /SCX_CPU1_TO_OUTPUT_ENA gs582cfslab4 +21-236-12:17:49.170 00 CMH-I:CMD Command SFDU received:<1880C0000011069A3139322E3136382E312E313031000000> from gs582cfslab4:SPR +21-236-12:17:49.221 00 SPR-I:STS Procedure SEND_THAT_TO_COMMAND completed +21-236-12:17:49.221 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-12:17:49.720 00 TLMH-I:STS 58-012-14:03:48.517 INFO CPU=CPU1 APPNAME=TO_LAB_APP EVENT ID=3 TO telemetry output enabled for IP 192.168.1.101 +21-236-12:17:53.226 00 SPR-I:STTE WAIT UNTIL completed +21-236-12:17:53.226 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/fill_in_spacecraft_status.i +21-236-12:17:53.228 00 SPR-I:STS Procedure FILL_IN_SPACECRAFT_STATUS started +21-236-12:17:53.233 00 SPR-I:STS Procedure FILL_IN_SPACECRAFT_STATUS completed +21-236-12:17:53.233 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-12:17:58.237 00 SPR-I:OPRO ;*********************************************************************** +21-236-12:17:58.237 00 SPR-I:OPRO ; Step 1.2: Upload the initial DS table load images to CPU1. +21-236-12:17:58.238 00 SPR-I:OPRO ;*********************************************************************** +21-236-12:17:58.238 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/scx_cpu1_ds_tbl4.i +21-236-12:17:58.252 00 SPR-I:STS Procedure SCX_CPU1_DS_TBL4 started +21-236-12:17:58.318 00 SPR-I:OPRO ;*********************************************************************** +21-236-12:17:58.318 00 SPR-I:OPRO ; Step 1.0: Define DS Destination File And Packet Filter Tables. +21-236-12:17:58.319 00 SPR-I:OPRO ;*********************************************************************** +21-236-12:17:58.324 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/create_tbl_file_from_cvt.i +21-236-12:17:58.324 00 SPR-I:STS Procedure CREATE_TBL_FILE_FROM_CVT started +21-236-12:17:58.326 00 SPR-I:OPRO ********** ds_movefile.tbl ********** +21-236-12:17:58.326 00 SPR-I:OPRO +21-236-12:17:58.326 00 SPR-I:OPRO Content Type: cFE1 +21-236-12:17:58.326 00 SPR-I:OPRO Sub Type: 8 +21-236-12:17:58.326 00 SPR-I:OPRO Length: 12 +21-236-12:17:58.326 00 SPR-I:OPRO Spacecraft Id: SCX +21-236-12:17:58.326 00 SPR-I:OPRO Processor Id: CPU3 +21-236-12:17:58.326 00 SPR-I:OPRO Application Id: 3958 +21-236-12:17:58.327 00 SPR-I:OPRO Create Time Secs: 1629807478 +21-236-12:17:58.327 00 SPR-I:OPRO Create Time Subsecs: 0 +21-236-12:17:58.327 00 SPR-I:OPRO File Description: Move File Test File Table +21-236-12:17:58.327 00 SPR-I:OPRO +21-236-12:17:58.327 00 SPR-I:OPRO ********** DS.FILE_TBL ********** +21-236-12:17:58.327 00 SPR-I:OPRO +21-236-12:17:58.327 00 SPR-I:OPRO Start Mnemonic: SCX_CPU1_DS_DF_TBL_Description +21-236-12:17:58.327 00 SPR-I:OPRO Byte Offset: 0 +21-236-12:17:58.327 00 SPR-I:OPRO End Mnemonic: SCX_CPU1_DS_DF_TBL[7].SeqCnt +21-236-12:17:58.327 00 SPR-I:OPRO Number of Bytes: 1760 +21-236-12:17:58.327 00 SPR-I:OPRO +21-236-12:17:58.332 00 SPR-I:STS Loading file /s/opr/accounts/global/prc/partial_cvt_to_file_beta.i +21-236-12:17:58.332 00 SPR-I:STS Procedure PARTIAL_CVT_TO_FILE_BETA started +21-236-12:17:58.332 00 SPR-I:OPRO The unix command is cd /s/opr/accounts/cfs_test/image;cvt2file -s 116 -e 1875 P0F76 ds.file_tbl +21-236-12:17:58.338 00 SPR-I:STS Procedure PARTIAL_CVT_TO_FILE_BETA completed +21-236-12:17:58.338 00 SPR-I:OPRO cd /s/opr/accounts/cfs_test/image;cat ds_movefile.tbl.tmp ds.file_tbl > ds_movefile.tbl +21-236-12:17:58.343 00 SPR-I:OPRO cd /s/opr/accounts/cfs_test/image;rm ds.file_tbl ds_movefile.tbl.tmp +21-236-12:17:58.346 00 SPR-I:STS Procedure CREATE_TBL_FILE_FROM_CVT completed +21-236-12:17:58.829 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/create_tbl_file_from_cvt.i +21-236-12:17:58.830 00 SPR-I:STS Procedure CREATE_TBL_FILE_FROM_CVT started +21-236-12:17:58.831 00 SPR-I:OPRO ********** ds_movefilter.tbl ********** +21-236-12:17:58.831 00 SPR-I:OPRO +21-236-12:17:58.831 00 SPR-I:OPRO Content Type: cFE1 +21-236-12:17:58.831 00 SPR-I:OPRO Sub Type: 8 +21-236-12:17:58.831 00 SPR-I:OPRO Length: 12 +21-236-12:17:58.832 00 SPR-I:OPRO Spacecraft Id: SCX +21-236-12:17:58.832 00 SPR-I:OPRO Processor Id: CPU3 +21-236-12:17:58.832 00 SPR-I:OPRO Application Id: 3959 +21-236-12:17:58.832 00 SPR-I:OPRO Create Time Secs: 1629807478 +21-236-12:17:58.832 00 SPR-I:OPRO Create Time Subsecs: 0 +21-236-12:17:58.832 00 SPR-I:OPRO File Description: Move File Test Filter Table +21-236-12:17:58.832 00 SPR-I:OPRO +21-236-12:17:58.832 00 SPR-I:OPRO ********** DS.FILTER_TBL ********** +21-236-12:17:58.832 00 SPR-I:OPRO +21-236-12:17:58.832 00 SPR-I:OPRO Start Mnemonic: SCX_CPU1_DS_PF_TBL_Description +21-236-12:17:58.832 00 SPR-I:OPRO Byte Offset: 0 +21-236-12:17:58.832 00 SPR-I:OPRO End Mnemonic: SCX_CPU1_DS_PF_TBL[255].FilterParams[3].O_Value +21-236-12:17:58.832 00 SPR-I:OPRO Number of Bytes: 9248 +21-236-12:17:58.832 00 SPR-I:OPRO +21-236-12:17:58.839 00 SPR-I:STS Loading file /s/opr/accounts/global/prc/partial_cvt_to_file_beta.i +21-236-12:17:58.839 00 SPR-I:STS Procedure PARTIAL_CVT_TO_FILE_BETA started +21-236-12:17:58.839 00 SPR-I:OPRO The unix command is cd /s/opr/accounts/cfs_test/image;cvt2file -s 116 -e 9363 P0F77 ds.filter_tbl +21-236-12:17:58.843 00 SPR-I:STS Procedure PARTIAL_CVT_TO_FILE_BETA completed +21-236-12:17:58.843 00 SPR-I:OPRO cd /s/opr/accounts/cfs_test/image;cat ds_movefilter.tbl.tmp ds.filter_tbl > ds_movefilter.tbl +21-236-12:17:58.848 00 SPR-I:OPRO cd /s/opr/accounts/cfs_test/image;rm ds.filter_tbl ds_movefilter.tbl.tmp +21-236-12:17:58.854 00 SPR-I:STS Procedure CREATE_TBL_FILE_FROM_CVT completed +21-236-12:17:58.854 00 SPR-I:OPRO ;********************************************************************* +21-236-12:17:58.854 00 SPR-I:OPRO ; End procedure SCX_CPU1_ds_tbl4 +21-236-12:17:58.854 00 SPR-I:OPRO ;********************************************************************* +21-236-12:17:58.854 00 SPR-I:STS Procedure SCX_CPU1_DS_TBL4 completed +21-236-12:17:58.856 00 SPR-I:OPRO ==> Default Destination File Table filename = 'ds_file_tbl.tbl' +21-236-12:17:58.859 00 SPR-I:OPRO ==> Default Filter Table filename = 'ds_filter_tbl.tbl' +21-236-12:17:58.860 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/load_table.i +21-236-12:17:58.860 00 SPR-I:STS Procedure LOAD_TABLE started +21-236-12:17:58.861 00 SPR-I:OPRO Table Filename: ds_movefile.tbl +21-236-12:17:58.862 00 SPR-I:OPRO The perl command is: perl /s/opr/accounts/global/tools/table_ftp.pl 192.168.1.8 ds_movefile.tbl RAM:0 3 +21-236-12:17:58.862 00 SPR-I:OPRO +21-236-12:17:59.005 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-12:17:59.005 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-12:18:04.009 00 SPR-I:OPRO +21-236-12:18:04.012 00 SPR-I:OPRO Sending Command: /SCX_CPU1_TBL_LOAD LFILENAME="/ram/ds_movefile.tbl" +21-236-12:18:04.014 00 CMH-I:CMD Command SFDU received:<1804C000004102152F72616D2F64735F6D6F766566696C652E74626C0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-236-12:18:04.028 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-12:18:04.211 00 TLMH-I:STS 58-012-14:04:03.501 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=12 Successful load of '/ram/ds_movefile.tbl' into 'DS.FILE_TBL' working buffer +21-236-12:18:05.029 00 SPR-I:STTE WAIT UNTIL completed +21-236-12:18:05.031 00 SPR-I:STS Procedure LOAD_TABLE completed +21-236-12:18:05.032 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-12:18:10.039 00 CMH-I:CMD Command SFDU received:<1804C000002B0436000044532E46494C455F54424C0000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-236-12:18:10.053 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-12:18:12.715 00 TLMH-I:STS 58-012-14:04:12.004 INFO CPU=CPU1 APPNAME=DS EVENT ID=10 Destination file table verify results: desc text = OK, good entries = 8, bad = 0, unused = 8 +21-236-12:18:12.716 00 TLMH-I:STS 58-012-14:04:12.004 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=36 DS validation successful for Inactive 'DS.FILE_TBL' +21-236-12:18:15.060 00 CMH-I:CMD Command SFDU received:<1804C0000029053544532E46494C455F54424C0000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-236-12:18:15.073 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-12:18:16.718 00 TLMH-I:STS 58-012-14:04:16.003 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=37 DS Successfully Updated 'DS.FILE_TBL' +21-236-12:18:20.080 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/load_table.i +21-236-12:18:20.081 00 SPR-I:STS Procedure LOAD_TABLE started +21-236-12:18:20.085 00 SPR-I:OPRO Table Filename: ds_movefilter.tbl +21-236-12:18:20.087 00 SPR-I:OPRO The perl command is: perl /s/opr/accounts/global/tools/table_ftp.pl 192.168.1.8 ds_movefilter.tbl RAM:0 3 +21-236-12:18:20.087 00 SPR-I:OPRO +21-236-12:18:20.219 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-12:18:20.220 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-12:18:25.224 00 SPR-I:OPRO +21-236-12:18:25.225 00 SPR-I:OPRO Sending Command: /SCX_CPU1_TBL_LOAD LFILENAME="/ram/ds_movefilter.tbl" +21-236-12:18:25.225 00 CMH-I:CMD Command SFDU received:<1804C000004102132F72616D2F64735F6D6F766566696C7465722E74626C000000000000000000000000000000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-236-12:18:25.239 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-12:18:25.714 00 TLMH-I:STS 58-012-14:04:25.001 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=12 Successful load of '/ram/ds_movefilter.tbl' into 'DS.FILTER_TBL' working buffer +21-236-12:18:29.243 00 SPR-I:STTE WAIT UNTIL completed +21-236-12:18:29.245 00 SPR-I:STS Procedure LOAD_TABLE completed +21-236-12:18:29.246 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-12:18:34.253 00 CMH-I:CMD Command SFDU received:<1804C000002B0430000044532E46494C5445525F54424C000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-236-12:18:34.265 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-12:18:36.716 00 TLMH-I:STS 58-012-14:04:36.004 INFO CPU=CPU1 APPNAME=DS EVENT ID=12 Filter table verify results: desc text = OK, good entries = 6, bad = 0, unused = 250 +21-236-12:18:36.717 00 TLMH-I:STS 58-012-14:04:36.004 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=36 DS validation successful for Inactive 'DS.FILTER_TBL' +21-236-12:18:39.272 00 CMH-I:CMD Command SFDU received:<1804C0000029053344532E46494C5445525F54424C000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-236-12:18:39.284 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-12:18:40.720 00 TLMH-I:STS 58-012-14:04:40.004 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=37 DS Successfully Updated 'DS.FILTER_TBL' +21-236-12:18:44.289 00 SPR-I:OPRO ;*********************************************************************** +21-236-12:18:44.289 00 SPR-I:OPRO ; Step 1.3: Display the Housekeeping pages +21-236-12:18:44.289 00 SPR-I:OPRO ;*********************************************************************** +21-236-12:18:44.393 00 DPD-I:STS Page SCX_CPU1_DS_HK added (cid:1). +21-236-12:18:44.467 00 DPD-I:STS Page SCX_CPU1_TST_DS_HK added (cid:1). +21-236-12:18:44.540 00 DPD-I:STS Page SCX_CPU1_DS_FILTER_TBL added (cid:1). +21-236-12:18:44.618 00 DPD-I:STS Page SCX_CPU1_DS_FILE_TBL added (cid:1). +21-236-12:18:44.769 00 DPD-I:STS Page SCX_CPU1_FM_DIR_LIST added (cid:1). +21-236-12:18:44.773 00 SPR-I:OPRO ;*********************************************************************** +21-236-12:18:44.773 00 SPR-I:OPRO ; Step 1.4: Start the Data Storage (DS) and Test Applications. +21-236-12:18:44.773 00 SPR-I:OPRO ;*********************************************************************** +21-236-12:18:44.782 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-12:18:52.789 00 SPR-I:STTE WAIT UNTIL completed +21-236-12:18:52.791 00 SPR-I:OPRO <*> Passed (8000) - Housekeeping packet is being generated. +21-236-12:18:52.797 00 SPR-I:OPRO <*> Passed (9000) - Housekeeping telemetry initialized properly. +21-236-12:18:52.803 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-12:18:57.807 00 SPR-I:OPRO ;********************************************************************* +21-236-12:18:57.807 00 SPR-I:OPRO ; Step 1.5: Start the File Manager (FM) Application +21-236-12:18:57.807 00 SPR-I:OPRO ;******************************************************************** +21-236-12:18:57.812 00 SPR-I:OPRO ;*********************************************************************** +21-236-12:18:57.812 00 SPR-I:OPRO ; Setup event 1 with CFE_ES INFO 6 +21-236-12:18:57.813 00 SPR-I:OPRO ;*********************************************************************** +21-236-12:18:57.814 00 SPR-I:OPRO ;*********************************************************************** +21-236-12:18:57.815 00 SPR-I:OPRO ; Setup event 2 with FM INFO 1 +21-236-12:18:57.815 00 SPR-I:OPRO ;*********************************************************************** +21-236-12:18:57.815 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/load_start_app.i +21-236-12:18:57.823 00 SPR-I:STS Procedure LOAD_START_APP started +21-236-12:18:57.824 00 SPR-I:OPRO Application Filename: fm.o +21-236-12:18:57.825 00 SPR-I:OPRO The perl command is perl /s/opr/accounts/global/tools/fsw_ftp.pl 192.168.1.8 fm.o RAM:0 3 +21-236-12:18:57.955 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-12:18:57.958 00 SPR-I:OPRO Sending Command: /SCX_CPU1_ES_STARTAPP APPLICATION="FM" APP_ENTRY_PT="FM_AppMain" APP_FILE_NAME="/ram/fm.o" STACKSIZE=X'2000' PRIORITY=X'b7' RESTARTCPU +21-236-12:18:57.960 00 CMH-I:CMD Command SFDU received:<1806C000007104C3464D000000000000000000000000000000000000464D5F4170704D61696E000000000000000000002F72616D2F666D2E6F0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000100B7> from gs582cfslab4:SPR +21-236-12:18:57.974 00 SPR-I:STS Procedure LOAD_START_APP completed +21-236-12:18:57.989 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-12:18:58.213 00 TLMH-I:STS 58-012-14:04:57.512 INFO CPU=CPU1 APPNAME=CFE_ES EVENT ID=6 Started FM from /ram/fm.o, AppID = 1114124 +21-236-12:18:58.719 00 TLMH-I:STS 58-012-14:04:57.565 INFO CPU=CPU1 APPNAME=FM EVENT ID=97 Free Space Table verify results: good entries = 2, bad = 0, unused = 6 +21-236-12:18:58.720 00 TLMH-I:STS 58-012-14:04:57.566 INFO CPU=CPU1 APPNAME=FM EVENT ID=1 Initialization complete: version 2.5.4.0 +21-236-12:18:58.722 00 TLMH-I:STS 58-012-14:04:57.600 INFO CPU=CPU1 APPNAME=FM EVENT ID=89 Child Task initialization complete +21-236-12:18:58.990 00 SPR-I:STTE WAIT UNTIL completed +21-236-12:18:58.991 00 SPR-I:OPRO <*> Passed - FM Application Started +21-236-12:18:58.993 00 CMH-I:CMD Command SFDU received:<1880C0000008022D088C0000000004> from gs582cfslab4:SPR +21-236-12:18:59.005 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-12:18:59.715 00 TLMH-I:STS 58-012-14:04:58.517 ERROR CPU=CPU1 APPNAME=CFE_SB EVENT ID=6 Subscribe Err:Bad Arg,MsgId 0x88c0000,PipeId 1441800,app TO_LAB_APP,scope 0 +21-236-12:18:59.716 00 TLMH-I:STS 58-012-14:04:58.517 ERROR CPU=CPU1 APPNAME=TO_LAB_APP EVENT ID=10 L481 TO Can't subscribe 0x88c0000 status -905969661 +21-236-12:19:04.008 00 SPR-I:OPRO ;*********************************************************************** +21-236-12:19:04.008 00 SPR-I:OPRO ; Step 1.6: Enable DEBUG Event Messages +21-236-12:19:04.008 00 SPR-I:OPRO ;*********************************************************************** +21-236-12:19:04.009 00 CMH-I:CMD Command SFDU received:<1801C0000017052244530000000000000000000000000000000000000100> from gs582cfslab4:SPR +21-236-12:19:04.021 00 SPR-I:STTE Wait mode - waiting 2 seconds ... +21-236-12:19:06.024 00 CMH-I:CMD Command SFDU received:<1801C000001705704346455F54424C000000000000000000000000000100> from gs582cfslab4:SPR +21-236-12:19:06.041 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-12:19:09.045 00 SPR-I:STTE WAIT UNTIL completed +21-236-12:19:09.047 00 SPR-I:OPRO <*> Passed - Enable Debug events command sent properly. +21-236-12:19:09.047 00 SPR-I:OPRO ;*********************************************************************** +21-236-12:19:09.047 00 SPR-I:OPRO ; Step 2.0: File Creation Tests. +21-236-12:19:09.048 00 SPR-I:OPRO ;*********************************************************************** +21-236-12:19:09.048 00 SPR-I:OPRO ; Step 2.1: Utilizing the TST_DS application, send a message to the DS +21-236-12:19:09.048 00 SPR-I:OPRO ; application that will pass the filtering algorithm and uses a +21-236-12:19:09.048 00 SPR-I:OPRO ; Destination File Table entry that specifies Sequence file type naming +21-236-12:19:09.048 00 SPR-I:OPRO ;*********************************************************************** +21-236-12:19:09.049 00 SPR-I:OPRO ; Step 2.1.1: Dump the Destination File and Packet Filter Tables +21-236-12:19:09.056 00 SPR-I:OPRO ;*********************************************************************** +21-236-12:19:09.057 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/get_tbl_to_cvt.i +21-236-12:19:09.059 00 SPR-I:STS Procedure GET_TBL_TO_CVT started +21-236-12:19:09.078 00 SPR-I:OPRO Sending Command: /SCX_CPU1_TBL_DUMP ACTIVE DTABLENAME="DS.FILTER_TBL" DFILENAME="/ram/cpu1_filtertbl211" +21-236-12:19:09.079 00 CMH-I:CMD Command SFDU received:<1804C000006B0348000144532E46494C5445525F54424C0000000000000000000000000000000000000000000000000000002F72616D2F637075315F66696C74657274626C323131000000000000000000000000000000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-236-12:19:09.081 00 SPR-I:STTE Wait mode - waiting 15 seconds ... +21-236-12:19:09.210 00 TLMH-I:STS 58-012-14:05:08.502 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=14 Successfully dumped Table 'DS.FILTER_TBL' to '/ram/cpu1_filtertbl211' +21-236-12:19:24.091 00 SPR-I:OPRO +21-236-12:19:24.091 00 SPR-I:OPRO The TBLNAME is: DS.FILTER_TBL +21-236-12:19:24.092 00 SPR-I:OPRO The APID is: P0F77 +21-236-12:19:24.092 00 SPR-I:OPRO The CPU is: CPU3 +21-236-12:19:24.092 00 SPR-I:OPRO The IP Address is: 192.168.1.8 +21-236-12:19:24.095 00 SPR-I:OPRO The perl command is: perl /s/opr/accounts/global/tools/ftp.pl RAM:0 cpu1_filtertbl211 cpu1_filtertbl211 binary 192.168.1.8 +21-236-12:19:24.266 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-12:19:24.266 00 SPR-I:STTE Wait mode - waiting 15 seconds ... +21-236-12:19:39.278 00 SPR-I:OPRO +21-236-12:19:39.324 00 SPR-I:OPRO The unix command is cvt -ws file_list[3959].file_write_time "`date +%y-%j-%T -r /s/opr/accounts/cfs_test/image/cpu1_filtertbl211`" +21-236-12:19:39.324 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-12:19:44.329 00 SPR-I:STS Procedure GET_TBL_TO_CVT completed +21-236-12:19:44.331 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/get_tbl_to_cvt.i +21-236-12:19:44.333 00 SPR-I:STS Procedure GET_TBL_TO_CVT started +21-236-12:19:44.353 00 SPR-I:OPRO Sending Command: /SCX_CPU1_TBL_DUMP ACTIVE DTABLENAME="DS.FILE_TBL" DFILENAME="/ram/cpu1_filetbl211" +21-236-12:19:44.355 00 CMH-I:CMD Command SFDU received:<1804C000006B0348000144532E46494C455F54424C00000000000000000000000000000000000000000000000000000000002F72616D2F637075315F66696C6574626C3231310000000000000000000000000000000000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-236-12:19:44.368 00 SPR-I:STTE Wait mode - waiting 15 seconds ... +21-236-12:19:44.718 00 TLMH-I:STS 58-012-14:05:44.002 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=14 Successfully dumped Table 'DS.FILE_TBL' to '/ram/cpu1_filetbl211' +21-236-12:19:50.883 00 SPR-I:OPRI --> page SCX_CPU1_DS_FILE_HK +21-236-12:19:50.938 00 DPD-I:STS Page SCX_CPU1_DS_FILE_HK added (cid:1). +21-236-12:19:59.447 00 SPR-I:OPRO +21-236-12:19:59.447 00 SPR-I:OPRO The TBLNAME is: DS.FILE_TBL +21-236-12:19:59.447 00 SPR-I:OPRO The APID is: P0F76 +21-236-12:19:59.447 00 SPR-I:OPRO The CPU is: CPU3 +21-236-12:19:59.448 00 SPR-I:OPRO The IP Address is: 192.168.1.8 +21-236-12:19:59.448 00 SPR-I:OPRO The perl command is: perl /s/opr/accounts/global/tools/ftp.pl RAM:0 cpu1_filetbl211 cpu1_filetbl211 binary 192.168.1.8 +21-236-12:19:59.582 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-236-12:19:59.582 00 SPR-I:STTE Wait mode - waiting 15 seconds ... +21-236-12:20:14.595 00 SPR-I:OPRO +21-236-12:20:14.616 00 SPR-I:OPRO The unix command is cvt -ws file_list[3958].file_write_time "`date +%y-%j-%T -r /s/opr/accounts/cfs_test/image/cpu1_filetbl211`" +21-236-12:20:14.616 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-12:20:19.620 00 SPR-I:STS Procedure GET_TBL_TO_CVT completed +21-236-12:20:19.622 00 SPR-I:OPRO ;*********************************************************************** +21-236-12:20:19.622 00 SPR-I:OPRO ; Step 2.1.2: Parse the tables to find a MessageID to use for the +21-236-12:20:19.622 00 SPR-I:OPRO ; Sequence file type naming entry. +21-236-12:20:19.622 00 SPR-I:OPRO ;*********************************************************************** +21-236-12:20:19.886 00 SPR-I:OPRO ==> Found file entry at 0 +21-236-12:20:19.886 00 SPR-I:OPRO ==> Found filter entry at 0 +21-236-12:20:19.886 00 SPR-I:OPRO ;*********************************************************************** +21-236-12:20:19.886 00 SPR-I:OPRO ; Step 2.1.3: Create the directory where files will be moved when they +21-236-12:20:19.886 00 SPR-I:OPRO ; are closed by the DS application. +21-236-12:20:19.886 00 SPR-I:OPRO ;*********************************************************************** +21-236-12:20:19.886 00 SPR-I:OPRO ==> Creating File Move Directory = /ram/movedir/ +21-236-12:20:19.887 00 CMH-I:CMD Command SFDU received:<188CC00000410CD92F72616D2F6D6F76656469722F000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-236-12:20:19.898 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-12:20:24.901 00 SPR-I:OPRO ;*********************************************************************** +21-236-12:20:24.901 00 SPR-I:OPRO ; Step 2.1.4: Send the TST_DS command to send a message to DS using the +21-236-12:20:24.901 00 SPR-I:OPRO ; MessageID found above. Since the message being set will not exceed +21-236-12:20:24.901 00 SPR-I:OPRO ; the file size constraint, the FileState HK should contain info about +21-236-12:20:24.901 00 SPR-I:OPRO ; the file that was created. +21-236-12:20:24.901 00 SPR-I:OPRO ;*********************************************************************** +21-236-12:20:24.903 00 SPR-I:OPRO ;*********************************************************************** +21-236-12:20:24.903 00 SPR-I:OPRO ; Setup event 1 with TST_DS INFO 5 +21-236-12:20:24.903 00 SPR-I:OPRO ;*********************************************************************** +21-236-12:20:24.904 00 CMH-I:CMD Command SFDU received:<1943C000000903320000090001550000> from gs582cfslab4:SPR +21-236-12:20:24.918 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-12:20:25.209 00 TLMH-I:STS 58-012-14:06:24.504 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Message Size 116 to MID 0x00000900 +21-236-12:20:25.919 00 SPR-I:STTE WAIT UNTIL completed +21-236-12:20:25.919 00 SPR-I:OPRO <*> Passed - Expected Event Msg 5 rcv'd. +21-236-12:20:25.920 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-12:20:25.933 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-12:20:26.217 00 TLMH-I:STS 58-012-14:06:25.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-12:20:28.936 00 SPR-I:STTE WAIT UNTIL completed +21-236-12:20:28.937 00 SPR-I:OPRO <*> Passed (3000;3000.1;3000.1.1) - A file was created with name '/ram/seq100000100.dat' +21-236-12:20:28.940 00 SPR-I:OPRO ==> FileName1 filename only = 'seq100000100.dat' +21-236-12:20:28.941 00 SPR-I:OPRO <*> Passed (3001) - The file is marked 'OPEN' +21-236-12:20:28.949 00 SPR-I:OPRO <*> Passed - The file write and passed packet counters are correct. +21-236-12:20:28.949 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-12:20:33.953 00 SPR-I:OPRO ;*********************************************************************** +21-236-12:20:33.953 00 SPR-I:OPRO ; Step 2.2: Send the TST_DS command again using a message type that +21-236-12:20:33.953 00 SPR-I:OPRO ; will exceed the file size of the destination file entry. +21-236-12:20:33.953 00 SPR-I:OPRO ;*********************************************************************** +21-236-12:20:33.957 00 SPR-I:OPRO ;*********************************************************************** +21-236-12:20:33.958 00 SPR-I:OPRO ; Setup event 1 with TST_DS INFO 7 +21-236-12:20:33.958 00 SPR-I:OPRO ;*********************************************************************** +21-236-12:20:33.961 00 CMH-I:CMD Command SFDU received:<1943C000000903CF0000090003AA0000> from gs582cfslab4:SPR +21-236-12:20:33.986 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-12:20:34.216 00 TLMH-I:STS 58-012-14:06:33.509 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=7 Sent Message Size 1016 to MID 0x00000900 +21-236-12:20:34.987 00 SPR-I:STTE WAIT UNTIL completed +21-236-12:20:34.989 00 SPR-I:OPRO <*> Passed - Expected Event Msg 7 rcv'd. +21-236-12:20:34.992 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-12:20:35.024 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-12:20:35.208 00 TLMH-I:STS 58-012-14:06:34.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-12:20:37.026 00 SPR-I:STTE WAIT UNTIL completed +21-236-12:20:37.029 00 SPR-I:OPRO <*> Passed (3000;3000.1;3000.1.1) - A file was created with name '/ram/seq100000101.dat' +21-236-12:20:37.045 00 SPR-I:OPRO ==> FileName2 filename only = 'seq100000101.dat' +21-236-12:20:37.045 00 SPR-I:OPRO <*> Passed (3001) - The file is marked 'OPEN' +21-236-12:20:37.068 00 SPR-I:OPRO <*> Passed (3001.1) - A new file was opened +21-236-12:20:37.070 00 SPR-I:OPRO <*> Passed - The header update counter incremented as expected. +21-236-12:20:37.077 00 CMH-I:CMD Command SFDU received:<188CC00000490F932F72616D2F00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-236-12:20:37.089 00 SPR-I:STTE Wait mode - waiting 10 seconds ... +21-236-12:20:47.105 00 CMH-I:CMD Command SFDU received:<188CC00000490FD22F72616D2F6D6F76656469722F0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-236-12:20:47.116 00 SPR-I:STTE Wait mode - waiting 10 seconds ... +21-236-12:20:57.125 00 SPR-I:OPRO <*> Passed - File 'seq100000100.dat' is contained in directory '/ram/movedir/' as expected. +21-236-12:20:57.127 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-12:21:02.131 00 SPR-I:OPRO ;*********************************************************************** +21-236-12:21:02.131 00 SPR-I:OPRO ; Step 2.3: Test that DS will store at least 1 message in a destination +21-236-12:21:02.131 00 SPR-I:OPRO ; file even though the message will exceed the file size. +21-236-12:21:02.131 00 SPR-I:OPRO ;*********************************************************************** +21-236-12:21:02.131 00 SPR-I:OPRO ; Step 2.3.1: Send the Close command for the file created in Step 2.2. +21-236-12:21:02.131 00 SPR-I:OPRO ;*********************************************************************** +21-236-12:21:02.133 00 SPR-I:OPRO ;*********************************************************************** +21-236-12:21:02.133 00 SPR-I:OPRO ; Setup event 1 with DS DEBUG 59 +21-236-12:21:02.133 00 SPR-I:OPRO ;*********************************************************************** +21-236-12:21:02.135 00 CMH-I:CMD Command SFDU received:<18BBC00000050E9700000000> from gs582cfslab4:SPR +21-236-12:21:02.151 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-12:21:02.214 00 TLMH-I:STS 58-012-14:07:01.502 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=59 DEST CLOSE command: file table index = 0 +21-236-12:21:05.154 00 SPR-I:STTE WAIT UNTIL completed +21-236-12:21:05.156 00 SPR-I:OPRO <*> Passed (1004;5002) - DS Close File command sent properly. +21-236-12:21:05.172 00 SPR-I:STTE WAIT UNTIL completed +21-236-12:21:05.176 00 SPR-I:OPRO <*> Passed (1004;5002) - Expected Event Msg 59 rcv'd. +21-236-12:21:05.178 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-12:21:10.182 00 SPR-I:OPRO ;*********************************************************************** +21-236-12:21:10.182 00 SPR-I:OPRO ; Step 2.3.2: Send the TST_DS_SendMessage command using a message type +21-236-12:21:10.182 00 SPR-I:OPRO ; that exceeds the size of the destination file entry. +21-236-12:21:10.182 00 SPR-I:OPRO ;*********************************************************************** +21-236-12:21:10.184 00 SPR-I:OPRO ;*********************************************************************** +21-236-12:21:10.184 00 SPR-I:OPRO ; Setup event 1 with TST_DS INFO 9 +21-236-12:21:10.184 00 SPR-I:OPRO ;*********************************************************************** +21-236-12:21:10.185 00 CMH-I:CMD Command SFDU received:<1943C000000903C60000090005A50000> from gs582cfslab4:SPR +21-236-12:21:10.199 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-12:21:10.207 00 TLMH-I:STS 58-012-14:07:09.508 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=9 Sent Message Size 1516 to MID 0x00000900 +21-236-12:21:11.200 00 SPR-I:STTE WAIT UNTIL completed +21-236-12:21:11.200 00 SPR-I:OPRO <*> Passed - Expected Event Msg 9 rcv'd. +21-236-12:21:11.201 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-12:21:11.205 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-12:21:11.709 00 TLMH-I:STS 58-012-14:07:11.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-12:21:13.206 00 SPR-I:STTE WAIT UNTIL completed +21-236-12:21:13.207 00 SPR-I:OPRO <*> Passed (3000;3000.1;3000.1.1) - A file was created with name '/ram/seq100000102.dat' +21-236-12:21:13.211 00 SPR-I:OPRO ==> FileName3 filename only = 'seq100000102.dat' +21-236-12:21:13.211 00 SPR-I:OPRO <*> Passed (3001) - The file is marked 'OPEN' +21-236-12:21:13.217 00 SPR-I:OPRO <*> Passed (3001.1) - A new file was opened +21-236-12:21:13.220 00 CMH-I:CMD Command SFDU received:<188CC00000490F932F72616D2F00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-236-12:21:13.231 00 SPR-I:STTE Wait mode - waiting 10 seconds ... +21-236-12:21:23.246 00 CMH-I:CMD Command SFDU received:<188CC00000490FD22F72616D2F6D6F76656469722F0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-236-12:21:23.257 00 SPR-I:STTE Wait mode - waiting 10 seconds ... +21-236-12:21:33.269 00 SPR-I:OPRO <*> Passed - File 'seq100000101.dat' is contained in directory '/ram/movedir/' as expected. +21-236-12:21:33.271 00 SPR-I:OPRO ;*********************************************************************** +21-236-12:21:33.272 00 SPR-I:OPRO ; Step 2.4: Wait for the file created above to exceed its maximum age. +21-236-12:21:33.272 00 SPR-I:OPRO ;*********************************************************************** +21-236-12:21:33.275 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-12:21:33.296 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-12:21:33.708 00 TLMH-I:STS 58-012-14:07:33.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-12:21:37.304 00 SPR-I:STTE WAIT UNTIL completed +21-236-12:21:37.307 00 SPR-I:OPRO new file age = 24 +21-236-12:21:37.314 00 SPR-I:OPRO timeout calculation = 76 +21-236-12:21:37.318 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-12:21:37.340 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-12:21:37.710 00 TLMH-I:STS 58-012-14:07:37.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-12:21:38.602 00 SPR-I:OPRI --> page SCX_CPU1_DS_FILE_HK +21-236-12:21:38.703 00 DPD-I:STS Page SCX_CPU1_DS_FILE_HK added (cid:1). +21-236-12:21:41.459 00 SPR-I:STTE WAIT UNTIL completed +21-236-12:21:41.461 00 SPR-I:OPRO new file age = 28 +21-236-12:21:41.466 00 SPR-I:OPRO timeout calculation = 72 +21-236-12:21:41.467 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-12:21:41.482 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-12:21:41.711 00 TLMH-I:STS 58-012-14:07:41.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-12:21:42.947 00 DPD-I:STS Deleting page SCX_CPU1_DS_FILE_HK +21-236-12:21:45.492 00 SPR-I:STTE WAIT UNTIL completed +21-236-12:21:45.494 00 SPR-I:OPRO new file age = 32 +21-236-12:21:45.498 00 SPR-I:OPRO timeout calculation = 68 +21-236-12:21:45.503 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-12:21:45.520 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-12:21:45.707 00 TLMH-I:STS 58-012-14:07:45.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-12:21:49.525 00 SPR-I:STTE WAIT UNTIL completed +21-236-12:21:49.526 00 SPR-I:OPRO new file age = 36 +21-236-12:21:49.527 00 SPR-I:OPRO timeout calculation = 64 +21-236-12:21:49.532 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-12:21:49.546 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-12:21:49.712 00 TLMH-I:STS 58-012-14:07:49.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-12:21:53.551 00 SPR-I:STTE WAIT UNTIL completed +21-236-12:21:53.553 00 SPR-I:OPRO new file age = 40 +21-236-12:21:53.558 00 SPR-I:OPRO timeout calculation = 60 +21-236-12:21:53.565 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-12:21:53.583 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-12:21:53.709 00 TLMH-I:STS 58-012-14:07:53.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-12:21:57.588 00 SPR-I:STTE WAIT UNTIL completed +21-236-12:21:57.590 00 SPR-I:OPRO new file age = 44 +21-236-12:21:57.594 00 SPR-I:OPRO timeout calculation = 56 +21-236-12:21:57.595 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-12:21:57.610 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-12:21:57.711 00 TLMH-I:STS 58-012-14:07:57.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-12:22:01.614 00 SPR-I:STTE WAIT UNTIL completed +21-236-12:22:01.616 00 SPR-I:OPRO new file age = 48 +21-236-12:22:01.620 00 SPR-I:OPRO timeout calculation = 52 +21-236-12:22:01.624 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-12:22:01.639 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-12:22:01.714 00 TLMH-I:STS 58-012-14:08:01.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-12:22:05.644 00 SPR-I:STTE WAIT UNTIL completed +21-236-12:22:05.646 00 SPR-I:OPRO new file age = 52 +21-236-12:22:05.651 00 SPR-I:OPRO timeout calculation = 48 +21-236-12:22:05.656 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-12:22:05.670 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-12:22:05.708 00 TLMH-I:STS 58-012-14:08:05.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-12:22:09.675 00 SPR-I:STTE WAIT UNTIL completed +21-236-12:22:09.677 00 SPR-I:OPRO new file age = 56 +21-236-12:22:09.681 00 SPR-I:OPRO timeout calculation = 44 +21-236-12:22:09.690 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-12:22:09.707 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-12:22:10.211 00 TLMH-I:STS 58-012-14:08:09.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-12:22:12.710 00 SPR-I:STTE WAIT UNTIL completed +21-236-12:22:12.711 00 SPR-I:OPRO new file age = 60 +21-236-12:22:12.714 00 SPR-I:OPRO timeout calculation = 40 +21-236-12:22:12.720 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-12:22:12.735 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-12:22:13.214 00 TLMH-I:STS 58-012-14:08:12.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-12:22:16.739 00 SPR-I:STTE WAIT UNTIL completed +21-236-12:22:16.741 00 SPR-I:OPRO new file age = 64 +21-236-12:22:16.745 00 SPR-I:OPRO timeout calculation = 36 +21-236-12:22:16.749 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-12:22:16.753 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-12:22:17.209 00 TLMH-I:STS 58-012-14:08:16.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-12:22:20.757 00 SPR-I:STTE WAIT UNTIL completed +21-236-12:22:20.760 00 SPR-I:OPRO new file age = 68 +21-236-12:22:20.763 00 SPR-I:OPRO timeout calculation = 32 +21-236-12:22:20.769 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-12:22:20.784 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-12:22:21.207 00 TLMH-I:STS 58-012-14:08:20.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-12:22:24.789 00 SPR-I:STTE WAIT UNTIL completed +21-236-12:22:24.790 00 SPR-I:OPRO new file age = 72 +21-236-12:22:24.793 00 SPR-I:OPRO timeout calculation = 28 +21-236-12:22:24.794 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-12:22:24.808 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-12:22:25.215 00 TLMH-I:STS 58-012-14:08:24.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-12:22:28.813 00 SPR-I:STTE WAIT UNTIL completed +21-236-12:22:28.816 00 SPR-I:OPRO new file age = 76 +21-236-12:22:28.823 00 SPR-I:OPRO timeout calculation = 24 +21-236-12:22:28.827 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-12:22:28.851 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-12:22:29.211 00 TLMH-I:STS 58-012-14:08:28.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-12:22:32.856 00 SPR-I:STTE WAIT UNTIL completed +21-236-12:22:32.859 00 SPR-I:OPRO new file age = 80 +21-236-12:22:32.870 00 SPR-I:OPRO timeout calculation = 20 +21-236-12:22:32.874 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-12:22:32.890 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-12:22:33.214 00 TLMH-I:STS 58-012-14:08:32.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-12:22:36.895 00 SPR-I:STTE WAIT UNTIL completed +21-236-12:22:36.897 00 SPR-I:OPRO new file age = 84 +21-236-12:22:36.902 00 SPR-I:OPRO timeout calculation = 16 +21-236-12:22:36.908 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-12:22:36.926 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-12:22:37.215 00 TLMH-I:STS 58-012-14:08:36.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-12:22:40.930 00 SPR-I:STTE WAIT UNTIL completed +21-236-12:22:40.932 00 SPR-I:OPRO new file age = 88 +21-236-12:22:40.941 00 SPR-I:OPRO timeout calculation = 12 +21-236-12:22:40.944 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-12:22:40.969 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-12:22:41.207 00 TLMH-I:STS 58-012-14:08:40.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-12:22:44.974 00 SPR-I:STTE WAIT UNTIL completed +21-236-12:22:44.977 00 SPR-I:OPRO new file age = 92 +21-236-12:22:44.984 00 SPR-I:OPRO timeout calculation = 8 +21-236-12:22:44.987 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-12:22:44.994 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-12:22:45.212 00 TLMH-I:STS 58-012-14:08:44.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-12:22:48.997 00 SPR-I:STTE WAIT UNTIL completed +21-236-12:22:48.998 00 SPR-I:OPRO new file age = 96 +21-236-12:22:48.999 00 SPR-I:OPRO timeout calculation = 4 +21-236-12:22:49.000 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-236-12:22:49.014 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-12:22:49.207 00 TLMH-I:STS 58-012-14:08:48.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-236-12:22:53.017 00 SPR-I:STTE WAIT UNTIL completed +21-236-12:22:53.017 00 SPR-I:OPRO new file age = 0 +21-236-12:22:53.018 00 SPR-I:OPRO timeout calculation = 100 +21-236-12:22:53.018 00 SPR-I:OPRO TLM reports the file is no longer open +21-236-12:22:53.018 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-12:22:58.022 00 CMH-I:CMD Command SFDU received:<188CC00000490F932F72616D2F00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-236-12:22:58.033 00 SPR-I:STTE Wait mode - waiting 10 seconds ... +21-236-12:23:08.042 00 CMH-I:CMD Command SFDU received:<188CC00000490FD22F72616D2F6D6F76656469722F0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-236-12:23:08.054 00 SPR-I:STTE Wait mode - waiting 10 seconds ... +21-236-12:23:12.318 00 SPR-I:OPRI --> s display_next_page ( 20, 10, "NEXT", 140, "TLM") +21-236-12:23:12.318 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/display_next_page.i +21-236-12:23:12.319 00 SPR-I:STS Procedure DISPLAY_NEXT_PAGE started +21-236-12:23:12.321 00 SPR-I:STS Procedure DISPLAY_NEXT_PAGE completed +21-236-12:23:15.083 00 SPR-I:OPRI --> s display_next_page ( 20, 10, "PREV", 140, "TLM") +21-236-12:23:15.083 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/display_next_page.i +21-236-12:23:15.085 00 SPR-I:STS Procedure DISPLAY_NEXT_PAGE started +21-236-12:23:15.091 00 SPR-I:STS Procedure DISPLAY_NEXT_PAGE completed +21-236-12:23:18.107 00 SPR-I:OPRO <*> Passed - File 'seq100000102.dat' is contained in directory '/ram/movedir/' as expected. +21-236-12:23:18.113 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-12:23:23.118 00 SPR-I:OPRO ;*********************************************************************** +21-236-12:23:23.118 00 SPR-I:OPRO ; Step 3.0: Clean-up - Send the Processor Reset command in order to +21-236-12:23:23.118 00 SPR-I:OPRO ; be able to retrieve files in RAM after this procedure completes. +21-236-12:23:23.118 00 SPR-I:OPRO ;*********************************************************************** +21-236-12:23:23.120 00 CMH-I:CMD Command SFDU received:<1806C000000302210001> from gs582cfslab4:SPR +21-236-12:23:23.134 00 SPR-I:STTE Wait mode - waiting 10 seconds ... +21-236-12:23:30.373 00 DPD-I:STS Deleting page SCX_CPU1_FM_DIR_LIST +21-236-12:23:32.040 00 DPD-I:STS Deleting page SCX_CPU1_DS_FILE_HK +21-236-12:23:33.101 00 DPD-I:STS Deleting page SCX_CPU1_DS_FILE_TBL +21-236-12:23:33.143 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/clear_spacecraft_status.i +21-236-12:23:33.143 00 SPR-I:STS Procedure CLEAR_SPACECRAFT_STATUS started +21-236-12:23:33.147 00 SPR-I:STS Procedure CLEAR_SPACECRAFT_STATUS completed +21-236-12:23:33.162 00 SPR-I:STTE Wait mode - waiting 60 seconds ... +21-236-12:23:34.763 00 DPD-I:STS Deleting page SCX_CPU1_TST_DS_HK +21-236-12:23:35.956 00 DPD-I:STS Deleting page SCX_CPU1_DS_HK +21-236-12:23:37.091 00 DPD-I:STS Deleting page SCX_CPU1_DS_FILTER_TBL +21-236-12:24:33.225 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-12:24:39.189 00 CMH-I:STS Connected to FEDS:FEDS for commanding (internal ID 0). +21-236-12:24:43.236 00 SPR-I:STTE WAIT UNTIL completed +21-236-12:24:43.298 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/send_that_to_command.i +21-236-12:24:43.298 00 SPR-I:STS Procedure SEND_THAT_TO_COMMAND started +21-236-12:24:43.301 00 SPR-I:OPRO Sending: /SCX_CPU1_TO_OUTPUT_ENA gs582cfslab4 +21-236-12:24:43.302 00 CMH-I:CMD Command SFDU received:<1880C0000011069A3139322E3136382E312E313031000000> from gs582cfslab4:SPR +21-236-12:24:43.343 00 SPR-I:STS Procedure SEND_THAT_TO_COMMAND completed +21-236-12:24:43.343 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-236-12:24:44.235 00 TLMH-I:STS 58-012-14:09:49.600 INFO CPU=CPU1 APPNAME=TO_LAB_APP EVENT ID=3 TO telemetry output enabled for IP 192.168.1.101 +21-236-12:24:46.348 00 SPR-I:STTE WAIT UNTIL completed +21-236-12:24:46.348 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/fill_in_spacecraft_status.i +21-236-12:24:46.350 00 SPR-I:STS Procedure FILL_IN_SPACECRAFT_STATUS started +21-236-12:24:46.355 00 SPR-I:STS Procedure FILL_IN_SPACECRAFT_STATUS completed +21-236-12:24:46.356 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-236-12:24:51.360 00 SPR-I:OPRO **** Requirements Status Reporting +21-236-12:24:51.360 00 SPR-I:OPRO -------------------------- +21-236-12:24:51.361 00 SPR-I:OPRO Requirement(s) Report +21-236-12:24:51.361 00 SPR-I:OPRO -------------------------- +21-236-12:24:51.362 00 SPR-I:OPRO FSW Requirement: DS_1004 P/F: P +21-236-12:24:51.365 00 SPR-I:OPRO FSW Requirement: DS_3000 P/F: P +21-236-12:24:51.366 00 SPR-I:OPRO FSW Requirement: DS_3000.1 P/F: A +21-236-12:24:51.366 00 SPR-I:OPRO FSW Requirement: DS_3000.1.1 P/F: A +21-236-12:24:51.367 00 SPR-I:OPRO FSW Requirement: DS_3001 P/F: P +21-236-12:24:51.372 00 SPR-I:OPRO FSW Requirement: DS_3001.1 P/F: P +21-236-12:24:51.373 00 SPR-I:OPRO FSW Requirement: DS_3001.2 P/F: A +21-236-12:24:51.374 00 SPR-I:OPRO FSW Requirement: DS_3002 P/F: P +21-236-12:24:51.374 00 SPR-I:OPRO FSW Requirement: DS_3002.1 P/F: P +21-236-12:24:51.380 00 SPR-I:OPRO FSW Requirement: DS_5002 P/F: P +21-236-12:24:51.381 00 SPR-I:OPRO FSW Requirement: DS_8000 P/F: P +21-236-12:24:51.382 00 SPR-I:OPRO FSW Requirement: DS_9000 P/F: P +21-236-12:24:51.387 00 SPR-I:STS Variable "UT_REQUIREMENT" deleted +21-236-12:24:51.387 00 SPR-I:STS Variable "UT_REQ_ARRAY_SIZE" deleted +21-236-12:24:51.387 00 SPR-I:OPRO ;********************************************************************* +21-236-12:24:51.387 00 SPR-I:OPRO ; End procedure SCX_CPU1_ds_movefile +21-236-12:24:51.388 00 SPR-I:OPRO ;********************************************************************* +21-236-12:24:51.388 00 SPR-I:STS Procedure SCX_CPU1_DS_MOVEFILE completed +21-236-12:24:51.392 00 SPR-I:OPRO *** Telemetry Info *** +21-236-12:24:51.392 00 SPR-I:OPRO +21-236-12:24:51.392 00 SPR-I:OPRO Pkt Loss Count: N/A +21-236-12:24:51.392 00 SPR-I:OPRO +21-236-12:24:51.392 00 SPR-I:OPRO ****************** +21-236-12:24:51.392 00 SPR-I:OPRO +21-236-12:24:51.393 00 SPR-I:OPRO Elapsed time: 502.646 seconds +21-236-12:24:51.396 00 SPR-I:OPRO Elapsed time: 8.37744 minutes +21-236-12:24:51.396 00 SPR-I:STTE Wait mode - waiting 10 seconds ... +21-236-12:25:01.404 00 SPR-I:OPRO Creating filtered log at /s/opr/accounts/cfs_test/test_logs/DS2.6.0/scx_cpu1_ds_movefile-2021-236-12h16m28s.logf +21-236-12:25:01.404 00 SPR-I:OPRO Creating filtered output log at /s/opr/accounts/cfs_test/test_logs/DS2.6.0/scx_cpu1_ds_movefile-2021-236-12h16m28s.logp +21-236-12:25:01.404 00 SPR-I:OPRO Creating filtered output log (without SFDUs) at /s/opr/accounts/cfs_test/test_logs/DS2.6.0/scx_cpu1_ds_movefile-2021-236-12h16m28s.logs +21-236-12:25:01.405 00 SPR-I:OPRO Creating filtered event log at /s/opr/accounts/cfs_test/test_logs/DS2.6.0/scx_cpu1_ds_movefile-2021-236-12h16m28s.loge +21-236-12:25:01.405 00 SPR-I:OPRO Creating filtered requirements log at /s/opr/accounts/cfs_test/test_logs/DS2.6.0/scx_cpu1_ds_movefile-2021-236-12h16m28s.logr +21-236-12:25:01.511 00 SPR-I:OPRI --> newlog scx_cpu1_ds_movefile-2021-236-12h16m28s.log diff --git a/test_and_ground/results/Caelum/scx_cpu1_ds_resetnocds-2021-237-12h59m08s.loge b/test_and_ground/results/Caelum/scx_cpu1_ds_resetnocds-2021-237-12h59m08s.loge new file mode 100644 index 0000000..554e2da --- /dev/null +++ b/test_and_ground/results/Caelum/scx_cpu1_ds_resetnocds-2021-237-12h59m08s.loge @@ -0,0 +1,129 @@ +21-237-13:00:29.788 00 TLMH-I:STS 58-012-14:03:48.950 INFO CPU=CPU1 APPNAME=TO_LAB_APP EVENT ID=3 TO telemetry output enabled for IP 192.168.1.101 +21-237-13:00:45.289 00 TLMH-I:STS 58-012-14:04:04.501 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=12 Successful load of '/ram/ds_filtfile.tbl' into 'DS.FILE_TBL' working buffer +21-237-13:00:56.790 00 TLMH-I:STS 58-012-14:04:16.004 INFO CPU=CPU1 APPNAME=DS EVENT ID=10 Destination file table verify results: desc text = OK, good entries = 8, bad = 0, unused = 8 +21-237-13:00:56.791 00 TLMH-I:STS 58-012-14:04:16.004 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=36 DS validation successful for Inactive 'DS.FILE_TBL' +21-237-13:01:00.788 00 TLMH-I:STS 58-012-14:04:20.004 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=37 DS Successfully Updated 'DS.FILE_TBL' +21-237-13:01:10.281 00 TLMH-I:STS 58-012-14:04:29.501 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=12 Successful load of '/ram/ds_filtfilter.tbl' into 'DS.FILTER_TBL' working buffer +21-237-13:01:20.785 00 TLMH-I:STS 58-012-14:04:40.004 INFO CPU=CPU1 APPNAME=DS EVENT ID=12 Filter table verify results: desc text = OK, good entries = 6, bad = 0, unused = 250 +21-237-13:01:20.786 00 TLMH-I:STS 58-012-14:04:40.004 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=36 DS validation successful for Inactive 'DS.FILTER_TBL' +21-237-13:01:24.785 00 TLMH-I:STS 58-012-14:04:44.004 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=37 DS Successfully Updated 'DS.FILTER_TBL' +21-237-13:02:30.280 00 TLMH-I:STS 58-012-14:05:49.502 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=14 Successfully dumped Table 'DS.FILTER_TBL' to '/ram/cpu1_filtertbl16' +21-237-13:03:05.280 00 TLMH-I:STS 58-012-14:06:24.502 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=14 Successfully dumped Table 'DS.FILE_TBL' to '/ram/cpu1_filetbl17' +21-237-13:05:11.781 00 TLMH-I:STS 58-012-14:03:49.450 INFO CPU=CPU1 APPNAME=TO_LAB_APP EVENT ID=3 TO telemetry output enabled for IP 192.168.1.101 +21-237-13:06:54.807 00 TLMH-I:STS 58-012-14:03:49.450 INFO CPU=CPU1 APPNAME=TO_LAB_APP EVENT ID=3 TO telemetry output enabled for IP 192.168.1.101 +21-237-13:08:31.785 00 TLMH-I:STS 58-012-14:03:48.917 INFO CPU=CPU1 APPNAME=TO_LAB_APP EVENT ID=3 TO telemetry output enabled for IP 192.168.1.101 +21-237-13:08:51.283 00 TLMH-I:STS 58-012-14:04:08.500 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=4 Set counters to non-zero command +21-237-13:10:23.264 00 TLMH-I:STS 58-012-14:03:49.450 INFO CPU=CPU1 APPNAME=TO_LAB_APP EVENT ID=3 TO telemetry output enabled for IP 192.168.1.101 +21-237-13:10:42.754 00 TLMH-I:STS 58-012-14:04:09.004 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Message Size 116 to MID 0x00000901 +21-237-13:10:47.755 00 TLMH-I:STS 58-012-14:04:14.001 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Message Size 116 to MID 0x00000902 +21-237-13:10:52.754 00 TLMH-I:STS 58-012-14:04:19.002 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Message Size 116 to MID 0x00000903 +21-237-13:11:02.762 00 TLMH-I:STS 58-012-14:04:29.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-237-13:11:06.757 00 TLMH-I:STS 58-012-14:04:33.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=35 APP STATE command: state = 0 +21-237-13:12:36.167 00 TLMH-I:STS 58-012-14:05:09.600 INFO CPU=CPU1 APPNAME=TO_LAB_APP EVENT ID=3 TO telemetry output enabled for IP 192.168.1.101 +21-237-13:13:34.661 00 TLMH-I:STS 58-012-14:06:08.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-237-13:13:38.664 00 TLMH-I:STS 58-012-14:06:12.504 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Message Size 116 to MID 0x00000901 +21-237-13:13:43.667 00 TLMH-I:STS 58-012-14:06:17.500 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Message Size 116 to MID 0x00000902 +21-237-13:13:49.164 00 TLMH-I:STS 58-012-14:06:23.002 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Message Size 116 to MID 0x00000903 +21-237-13:13:59.166 00 TLMH-I:STS 58-012-14:06:33.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-237-13:14:08.157 00 TLMH-I:STS 58-012-14:06:42.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-237-13:14:11.163 00 TLMH-I:STS 58-012-14:06:45.012 ERROR CPU=CPU1 APPNAME=TST_DS EVENT ID=41 TST_DS_AppMain terminating!, Error = 0x0 +21-237-13:14:11.165 00 TLMH-I:STS 58-012-14:06:45.082 INFO CPU=CPU1 APPNAME=CFE_ES EVENT ID=10 Restart Application TST_DS Completed, AppID=1114124 +21-237-13:14:11.660 00 TLMH-I:STS 58-012-14:06:45.133 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=1 TST_DS Initialized. Version 2.5.1.0 +21-237-13:14:15.163 00 TLMH-I:STS 58-012-14:06:49.009 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=20 Request Housekeeping command +21-237-13:14:19.165 00 TLMH-I:STS 58-012-14:06:53.001 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=20 Request Housekeeping command +21-237-13:14:20.666 00 TLMH-I:STS 58-012-14:06:54.364 INFO CPU=CPU1 APPNAME=CFE_ES EVENT ID=10 Restart Application DS Completed, AppID=1114125 +21-237-13:14:20.667 00 TLMH-I:STS 58-012-14:06:54.435 INFO CPU=CPU1 APPNAME=DS EVENT ID=10 Destination file table verify results: desc text = OK, good entries = 8, bad = 0, unused = 8 +21-237-13:14:20.668 00 TLMH-I:STS 58-012-14:06:54.470 INFO CPU=CPU1 APPNAME=DS EVENT ID=12 Filter table verify results: desc text = OK, good entries = 6, bad = 0, unused = 250 +21-237-13:14:20.669 00 TLMH-I:STS 58-012-14:06:54.473 INFO CPU=CPU1 APPNAME=DS EVENT ID=1 Application initialized, version 2.6.0.0, data at 0xa7d1f0 +21-237-13:15:15.156 00 TLMH-I:STS 58-012-14:07:49.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-237-13:15:19.159 00 TLMH-I:STS 58-012-14:07:53.005 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Message Size 116 to MID 0x00000901 +21-237-13:15:24.162 00 TLMH-I:STS 58-012-14:07:58.001 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Message Size 116 to MID 0x00000902 +21-237-13:15:29.161 00 TLMH-I:STS 58-012-14:08:03.002 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Message Size 116 to MID 0x00000903 +21-237-13:15:39.158 00 TLMH-I:STS 58-012-14:08:13.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-237-13:15:59.165 00 TLMH-I:STS 58-012-14:08:33.002 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=12 Successful load of '/ram/ds_badfilter1.tbl' into 'DS.FILTER_TBL' working buffer +21-237-13:16:03.163 00 TLMH-I:STS 58-012-14:08:37.002 DEBUG CPU=CPU1 APPNAME=CFE_TBL EVENT ID=16 Tbl Services issued validation request for 'DS.FILTER_TBL' +21-237-13:16:06.165 00 TLMH-I:STS 58-012-14:08:40.003 ERROR CPU=CPU1 APPNAME=DS EVENT ID=13 Filter table verify err: invalid descriptor text +21-237-13:16:06.166 00 TLMH-I:STS 58-012-14:08:40.004 ERROR CPU=CPU1 APPNAME=DS EVENT ID=13 Filter table verify err: MID = 0x00001000, index = 0, filter = 0, file table index = 16 +21-237-13:16:06.168 00 TLMH-I:STS 58-012-14:08:40.004 INFO CPU=CPU1 APPNAME=DS EVENT ID=12 Filter table verify results: desc text = bad, good entries = 1, bad = 4, unused = 251 +21-237-13:16:06.169 00 TLMH-I:STS 58-012-14:08:40.004 ERROR CPU=CPU1 APPNAME=CFE_TBL EVENT ID=96 DS validation failed for Inactive 'DS.FILTER_TBL', Status=0xFFFFFFFF +21-237-13:16:07.665 00 TLMH-I:STS 58-012-14:08:41.500 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=21 Table Load Aborted for 'DS.FILTER_TBL' +21-237-13:16:16.662 00 TLMH-I:STS 58-012-14:08:50.501 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=12 Successful load of '/ram/ds_badfilter2.tbl' into 'DS.FILTER_TBL' working buffer +21-237-13:16:18.662 00 TLMH-I:STS 58-012-14:08:52.502 DEBUG CPU=CPU1 APPNAME=CFE_TBL EVENT ID=16 Tbl Services issued validation request for 'DS.FILTER_TBL' +21-237-13:16:22.168 00 TLMH-I:STS 58-012-14:08:56.003 ERROR CPU=CPU1 APPNAME=DS EVENT ID=13 Filter table verify err: MID = 0x00001000, index = 0, filter = 0, file table index = 16 +21-237-13:16:22.169 00 TLMH-I:STS 58-012-14:08:56.004 INFO CPU=CPU1 APPNAME=DS EVENT ID=12 Filter table verify results: desc text = OK, good entries = 1, bad = 4, unused = 251 +21-237-13:16:22.170 00 TLMH-I:STS 58-012-14:08:56.004 ERROR CPU=CPU1 APPNAME=CFE_TBL EVENT ID=96 DS validation failed for Inactive 'DS.FILTER_TBL', Status=0xFFFFFFFF +21-237-13:16:22.666 00 TLMH-I:STS 58-012-14:08:56.500 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=21 Table Load Aborted for 'DS.FILTER_TBL' +21-237-13:16:32.164 00 TLMH-I:STS 58-012-14:09:06.001 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=12 Successful load of '/ram/ds_badfilter3.tbl' into 'DS.FILTER_TBL' working buffer +21-237-13:16:35.165 00 TLMH-I:STS 58-012-14:09:09.002 DEBUG CPU=CPU1 APPNAME=CFE_TBL EVENT ID=16 Tbl Services issued validation request for 'DS.FILTER_TBL' +21-237-13:16:38.162 00 TLMH-I:STS 58-012-14:09:12.003 ERROR CPU=CPU1 APPNAME=DS EVENT ID=13 Filter table verify err: MID = 0x00001001, index = 1, filter = 0, filter type = 3 +21-237-13:16:38.163 00 TLMH-I:STS 58-012-14:09:12.004 INFO CPU=CPU1 APPNAME=DS EVENT ID=12 Filter table verify results: desc text = OK, good entries = 2, bad = 3, unused = 251 +21-237-13:16:38.164 00 TLMH-I:STS 58-012-14:09:12.004 ERROR CPU=CPU1 APPNAME=CFE_TBL EVENT ID=96 DS validation failed for Inactive 'DS.FILTER_TBL', Status=0xFFFFFFFF +21-237-13:16:39.163 00 TLMH-I:STS 58-012-14:09:13.001 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=21 Table Load Aborted for 'DS.FILTER_TBL' +21-237-13:16:48.159 00 TLMH-I:STS 58-012-14:09:22.002 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=12 Successful load of '/ram/ds_badfilter4.tbl' into 'DS.FILTER_TBL' working buffer +21-237-13:16:51.166 00 TLMH-I:STS 58-012-14:09:25.002 DEBUG CPU=CPU1 APPNAME=CFE_TBL EVENT ID=16 Tbl Services issued validation request for 'DS.FILTER_TBL' +21-237-13:16:54.167 00 TLMH-I:STS 58-012-14:09:28.004 ERROR CPU=CPU1 APPNAME=DS EVENT ID=13 Filter table verify err: MID = 0x00001002, index = 2, filter = 0, filter parms N = 2, X = 1, O = 0 +21-237-13:16:54.168 00 TLMH-I:STS 58-012-14:09:28.004 INFO CPU=CPU1 APPNAME=DS EVENT ID=12 Filter table verify results: desc text = OK, good entries = 3, bad = 2, unused = 251 +21-237-13:16:54.170 00 TLMH-I:STS 58-012-14:09:28.004 ERROR CPU=CPU1 APPNAME=CFE_TBL EVENT ID=96 DS validation failed for Inactive 'DS.FILTER_TBL', Status=0xFFFFFFFF +21-237-13:16:55.163 00 TLMH-I:STS 58-012-14:09:29.001 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=21 Table Load Aborted for 'DS.FILTER_TBL' +21-237-13:17:04.660 00 TLMH-I:STS 58-012-14:09:38.501 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=12 Successful load of '/ram/ds_badfilter5.tbl' into 'DS.FILTER_TBL' working buffer +21-237-13:17:07.657 00 TLMH-I:STS 58-012-14:09:41.502 DEBUG CPU=CPU1 APPNAME=CFE_TBL EVENT ID=16 Tbl Services issued validation request for 'DS.FILTER_TBL' +21-237-13:17:10.160 00 TLMH-I:STS 58-012-14:09:44.003 ERROR CPU=CPU1 APPNAME=DS EVENT ID=13 Filter table verify err: MID = 0x00001003, index = 3, filter = 0, filter parms N = 1, X = 1, O = 2 +21-237-13:17:10.161 00 TLMH-I:STS 58-012-14:09:44.004 INFO CPU=CPU1 APPNAME=DS EVENT ID=12 Filter table verify results: desc text = OK, good entries = 4, bad = 1, unused = 251 +21-237-13:17:10.162 00 TLMH-I:STS 58-012-14:09:44.004 ERROR CPU=CPU1 APPNAME=CFE_TBL EVENT ID=96 DS validation failed for Inactive 'DS.FILTER_TBL', Status=0xFFFFFFFF +21-237-13:17:10.665 00 TLMH-I:STS 58-012-14:09:44.500 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=21 Table Load Aborted for 'DS.FILTER_TBL' +21-237-13:17:30.163 00 TLMH-I:STS 58-012-14:10:04.001 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=12 Successful load of '/ram/ds_badfile1.tbl' into 'DS.FILE_TBL' working buffer +21-237-13:17:31.157 00 TLMH-I:STS 58-012-14:10:05.001 DEBUG CPU=CPU1 APPNAME=CFE_TBL EVENT ID=16 Tbl Services issued validation request for 'DS.FILE_TBL' +21-237-13:17:34.165 00 TLMH-I:STS 58-012-14:10:08.003 ERROR CPU=CPU1 APPNAME=DS EVENT ID=11 Destination file table verify err: invalid descriptor text +21-237-13:17:34.166 00 TLMH-I:STS 58-012-14:10:08.004 ERROR CPU=CPU1 APPNAME=DS EVENT ID=11 Destination file table verify err: index = 0, invalid pathname text +21-237-13:17:34.168 00 TLMH-I:STS 58-012-14:10:08.004 INFO CPU=CPU1 APPNAME=DS EVENT ID=10 Destination file table verify results: desc text = bad, good entries = 1, bad = 8, unused = 7 +21-237-13:17:34.169 00 TLMH-I:STS 58-012-14:10:08.004 ERROR CPU=CPU1 APPNAME=CFE_TBL EVENT ID=96 DS validation failed for Inactive 'DS.FILE_TBL', Status=0xFFFFFFFF +21-237-13:17:35.165 00 TLMH-I:STS 58-012-14:10:09.001 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=21 Table Load Aborted for 'DS.FILE_TBL' +21-237-13:17:44.162 00 TLMH-I:STS 58-012-14:10:18.001 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=12 Successful load of '/ram/ds_badfile2.tbl' into 'DS.FILE_TBL' working buffer +21-237-13:17:47.160 00 TLMH-I:STS 58-012-14:10:21.001 DEBUG CPU=CPU1 APPNAME=CFE_TBL EVENT ID=16 Tbl Services issued validation request for 'DS.FILE_TBL' +21-237-13:17:50.158 00 TLMH-I:STS 58-012-14:10:24.003 ERROR CPU=CPU1 APPNAME=DS EVENT ID=11 Destination file table verify err: index = 0, invalid pathname text +21-237-13:17:50.160 00 TLMH-I:STS 58-012-14:10:24.004 INFO CPU=CPU1 APPNAME=DS EVENT ID=10 Destination file table verify results: desc text = OK, good entries = 1, bad = 8, unused = 7 +21-237-13:17:50.161 00 TLMH-I:STS 58-012-14:10:24.004 ERROR CPU=CPU1 APPNAME=CFE_TBL EVENT ID=96 DS validation failed for Inactive 'DS.FILE_TBL', Status=0xFFFFFFFF +21-237-13:17:51.656 00 TLMH-I:STS 58-012-14:10:25.500 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=21 Table Load Aborted for 'DS.FILE_TBL' +21-237-13:18:00.656 00 TLMH-I:STS 58-012-14:10:34.501 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=12 Successful load of '/ram/ds_badfile3.tbl' into 'DS.FILE_TBL' working buffer +21-237-13:18:02.662 00 TLMH-I:STS 58-012-14:10:36.501 DEBUG CPU=CPU1 APPNAME=CFE_TBL EVENT ID=16 Tbl Services issued validation request for 'DS.FILE_TBL' +21-237-13:18:06.164 00 TLMH-I:STS 58-012-14:10:40.003 ERROR CPU=CPU1 APPNAME=DS EVENT ID=11 Destination file table verify err: index = 1, filename type = 3 +21-237-13:18:06.165 00 TLMH-I:STS 58-012-14:10:40.004 INFO CPU=CPU1 APPNAME=DS EVENT ID=10 Destination file table verify results: desc text = OK, good entries = 2, bad = 7, unused = 7 +21-237-13:18:06.166 00 TLMH-I:STS 58-012-14:10:40.004 ERROR CPU=CPU1 APPNAME=CFE_TBL EVENT ID=96 DS validation failed for Inactive 'DS.FILE_TBL', Status=0xFFFFFFFF +21-237-13:18:06.663 00 TLMH-I:STS 58-012-14:10:40.500 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=21 Table Load Aborted for 'DS.FILE_TBL' +21-237-13:18:15.658 00 TLMH-I:STS 58-012-14:10:49.501 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=12 Successful load of '/ram/ds_badfile4.tbl' into 'DS.FILE_TBL' working buffer +21-237-13:18:19.158 00 TLMH-I:STS 58-012-14:10:53.001 DEBUG CPU=CPU1 APPNAME=CFE_TBL EVENT ID=16 Tbl Services issued validation request for 'DS.FILE_TBL' +21-237-13:18:22.157 00 TLMH-I:STS 58-012-14:10:56.003 ERROR CPU=CPU1 APPNAME=DS EVENT ID=11 Destination file table verify err: index = 2, file enable state = 2 +21-237-13:18:22.159 00 TLMH-I:STS 58-012-14:10:56.004 INFO CPU=CPU1 APPNAME=DS EVENT ID=10 Destination file table verify results: desc text = OK, good entries = 3, bad = 6, unused = 7 +21-237-13:18:22.160 00 TLMH-I:STS 58-012-14:10:56.004 ERROR CPU=CPU1 APPNAME=CFE_TBL EVENT ID=96 DS validation failed for Inactive 'DS.FILE_TBL', Status=0xFFFFFFFF +21-237-13:18:23.163 00 TLMH-I:STS 58-012-14:10:57.001 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=21 Table Load Aborted for 'DS.FILE_TBL' +21-237-13:18:32.164 00 TLMH-I:STS 58-012-14:11:06.001 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=12 Successful load of '/ram/ds_badfile5.tbl' into 'DS.FILE_TBL' working buffer +21-237-13:18:35.165 00 TLMH-I:STS 58-012-14:11:09.001 DEBUG CPU=CPU1 APPNAME=CFE_TBL EVENT ID=16 Tbl Services issued validation request for 'DS.FILE_TBL' +21-237-13:18:38.163 00 TLMH-I:STS 58-012-14:11:12.004 ERROR CPU=CPU1 APPNAME=DS EVENT ID=11 Destination file table verify err: index = 3, max file size = 512 +21-237-13:18:38.164 00 TLMH-I:STS 58-012-14:11:12.004 INFO CPU=CPU1 APPNAME=DS EVENT ID=10 Destination file table verify results: desc text = OK, good entries = 4, bad = 5, unused = 7 +21-237-13:18:38.166 00 TLMH-I:STS 58-012-14:11:12.004 ERROR CPU=CPU1 APPNAME=CFE_TBL EVENT ID=96 DS validation failed for Inactive 'DS.FILE_TBL', Status=0xFFFFFFFF +21-237-13:18:39.157 00 TLMH-I:STS 58-012-14:11:13.001 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=21 Table Load Aborted for 'DS.FILE_TBL' +21-237-13:18:48.164 00 TLMH-I:STS 58-012-14:11:22.001 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=12 Successful load of '/ram/ds_badfile6.tbl' into 'DS.FILE_TBL' working buffer +21-237-13:18:51.657 00 TLMH-I:STS 58-012-14:11:25.501 DEBUG CPU=CPU1 APPNAME=CFE_TBL EVENT ID=16 Tbl Services issued validation request for 'DS.FILE_TBL' +21-237-13:18:54.156 00 TLMH-I:STS 58-012-14:11:28.004 ERROR CPU=CPU1 APPNAME=DS EVENT ID=11 Destination file table verify err: index = 4, max file age = 30 +21-237-13:18:54.157 00 TLMH-I:STS 58-012-14:11:28.004 INFO CPU=CPU1 APPNAME=DS EVENT ID=10 Destination file table verify results: desc text = OK, good entries = 5, bad = 4, unused = 7 +21-237-13:18:54.157 00 TLMH-I:STS 58-012-14:11:28.004 ERROR CPU=CPU1 APPNAME=CFE_TBL EVENT ID=96 DS validation failed for Inactive 'DS.FILE_TBL', Status=0xFFFFFFFF +21-237-13:18:55.655 00 TLMH-I:STS 58-012-14:11:29.500 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=21 Table Load Aborted for 'DS.FILE_TBL' +21-237-13:19:04.661 00 TLMH-I:STS 58-012-14:11:38.484 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=12 Successful load of '/ram/ds_badfile7.tbl' into 'DS.FILE_TBL' working buffer +21-237-13:19:06.664 00 TLMH-I:STS 58-012-14:11:40.501 DEBUG CPU=CPU1 APPNAME=CFE_TBL EVENT ID=16 Tbl Services issued validation request for 'DS.FILE_TBL' +21-237-13:19:10.162 00 TLMH-I:STS 58-012-14:11:44.004 ERROR CPU=CPU1 APPNAME=DS EVENT ID=11 Destination file table verify err: index = 5, invalid extension text +21-237-13:19:10.164 00 TLMH-I:STS 58-012-14:11:44.004 INFO CPU=CPU1 APPNAME=DS EVENT ID=10 Destination file table verify results: desc text = OK, good entries = 6, bad = 3, unused = 7 +21-237-13:19:10.165 00 TLMH-I:STS 58-012-14:11:44.004 ERROR CPU=CPU1 APPNAME=CFE_TBL EVENT ID=96 DS validation failed for Inactive 'DS.FILE_TBL', Status=0xFFFFFFFF +21-237-13:19:10.656 00 TLMH-I:STS 58-012-14:11:44.500 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=21 Table Load Aborted for 'DS.FILE_TBL' +21-237-13:19:20.164 00 TLMH-I:STS 58-012-14:11:54.001 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=12 Successful load of '/ram/ds_badfile8.tbl' into 'DS.FILE_TBL' working buffer +21-237-13:19:23.162 00 TLMH-I:STS 58-012-14:11:57.001 DEBUG CPU=CPU1 APPNAME=CFE_TBL EVENT ID=16 Tbl Services issued validation request for 'DS.FILE_TBL' +21-237-13:19:26.162 00 TLMH-I:STS 58-012-14:12:00.004 ERROR CPU=CPU1 APPNAME=DS EVENT ID=11 Destination file table verify err: index = 6, sequence count = 100000000 +21-237-13:19:26.163 00 TLMH-I:STS 58-012-14:12:00.004 INFO CPU=CPU1 APPNAME=DS EVENT ID=10 Destination file table verify results: desc text = OK, good entries = 7, bad = 2, unused = 7 +21-237-13:19:26.165 00 TLMH-I:STS 58-012-14:12:00.004 ERROR CPU=CPU1 APPNAME=CFE_TBL EVENT ID=96 DS validation failed for Inactive 'DS.FILE_TBL', Status=0xFFFFFFFF +21-237-13:19:27.164 00 TLMH-I:STS 58-012-14:12:01.001 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=21 Table Load Aborted for 'DS.FILE_TBL' +21-237-13:19:36.159 00 TLMH-I:STS 58-012-14:12:10.001 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=12 Successful load of '/ram/ds_badfile9.tbl' into 'DS.FILE_TBL' working buffer +21-237-13:19:39.157 00 TLMH-I:STS 58-012-14:12:13.001 DEBUG CPU=CPU1 APPNAME=CFE_TBL EVENT ID=16 Tbl Services issued validation request for 'DS.FILE_TBL' +21-237-13:19:42.156 00 TLMH-I:STS 58-012-14:12:16.004 ERROR CPU=CPU1 APPNAME=DS EVENT ID=11 Destination file table verify err: index = 8, sequence count = 100000000 +21-237-13:19:42.158 00 TLMH-I:STS 58-012-14:12:16.004 INFO CPU=CPU1 APPNAME=DS EVENT ID=10 Destination file table verify results: desc text = OK, good entries = 8, bad = 1, unused = 7 +21-237-13:19:42.159 00 TLMH-I:STS 58-012-14:12:16.004 ERROR CPU=CPU1 APPNAME=CFE_TBL EVENT ID=96 DS validation failed for Inactive 'DS.FILE_TBL', Status=0xFFFFFFFF +21-237-13:19:43.162 00 TLMH-I:STS 58-012-14:12:17.001 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=21 Table Load Aborted for 'DS.FILE_TBL' +21-237-13:21:12.769 00 TLMH-I:STS 58-012-14:12:53.533 INFO CPU=CPU1 APPNAME=TO_LAB_APP EVENT ID=3 TO telemetry output enabled for IP 192.168.1.101 diff --git a/test_and_ground/results/Caelum/scx_cpu1_ds_resetnocds-2021-237-12h59m08s.logf b/test_and_ground/results/Caelum/scx_cpu1_ds_resetnocds-2021-237-12h59m08s.logf new file mode 100644 index 0000000..ede7ccf --- /dev/null +++ b/test_and_ground/results/Caelum/scx_cpu1_ds_resetnocds-2021-237-12h59m08s.logf @@ -0,0 +1,9451 @@ +21-237-12:59:08.139 00 UT_RUNPROC/99 +21-237-12:59:08.139 00 UT_RUNPROC/100 ; Build the database prefix using SC and CPU definitions from cfe_utils.h +21-237-12:59:08.139 00 UT_RUNPROC/101 local db_prefix, cpu_prefix +21-237-12:59:08.139 00 UT_RUNPROC/102 +21-237-12:59:08.139 00 UT_RUNPROC/103 ; If SC is set, use it +21-237-12:59:08.139 00 UT_RUNPROC/104 if (SC <> "") then +21-237-12:59:08.139 00 UT_RUNPROC/105 db_prefix = SC +21-237-12:59:08.140 00 UT_RUNPROC/106 endif +21-237-12:59:08.140 00 UT_RUNPROC/107 +21-237-12:59:08.140 00 UT_RUNPROC/109 db_prefix = db_prefix & CPU_CFG +21-237-12:59:08.140 00 UT_RUNPROC/110 +21-237-12:59:08.140 00 UT_RUNPROC/111 cpu_prefix = db_prefix +21-237-12:59:08.140 00 UT_RUNPROC/112 +21-237-12:59:08.147 00 UT_RUNPROC/113 ; Set the database prefix for CPU1 +21-237-12:59:08.147 00 UT_RUNPROC/114 if (numCPUs > 1) then +21-237-12:59:08.147 00 UT_RUNPROC/116 endif +21-237-12:59:08.147 00 UT_RUNPROC/117 +21-237-12:59:08.147 00 UT_RUNPROC/118 ; setup the database mnemonics for CPU1 +21-237-12:59:08.147 00 UT_RUNPROC/119 local cksumItem = cpu_prefix & "_ES_CKSUM" +21-237-12:59:08.147 00 UT_RUNPROC/120 local cfeMajorVerItem = cpu_prefix & "_ES_CFEMAJORVER" +21-237-12:59:08.147 00 UT_RUNPROC/121 local cfeMinorVerItem = cpu_prefix & "_ES_CFEMINORVER" +21-237-12:59:08.147 00 UT_RUNPROC/122 local cfeRevisionItem = cpu_prefix & "_ES_CFEREVISION" +21-237-12:59:08.147 00 UT_RUNPROC/123 local cfeMissionRevItem = cpu_prefix & "_ES_CFEMSNREV" +21-237-12:59:08.147 00 UT_RUNPROC/124 local osMajorVerItem = cpu_prefix & "_ES_OSMAJORVER" +21-237-12:59:08.147 00 UT_RUNPROC/125 local osMinorVerItem = cpu_prefix & "_ES_OSMINORVER" +21-237-12:59:08.147 00 UT_RUNPROC/126 local osRevisionItem = cpu_prefix & "_ES_OSREVISION" +21-237-12:59:08.147 00 UT_RUNPROC/127 local osMissionRevItem = cpu_prefix & "_ES_OSMISSIONREV" +21-237-12:59:08.147 00 UT_RUNPROC/128 +21-237-12:59:08.147 00 UT_RUNPROC/129 ; +21-237-12:59:08.147 00 UT_RUNPROC/130 ; Output FSW configuration information +21-237-12:59:08.147 00 UT_RUNPROC/131 ; +21-237-12:59:08.147 00 UT_RUNPROC/132 write "****************** FSW Configuration ******************" +21-237-12:59:08.147 00 SPR-I:OPRO ****************** FSW Configuration ****************** +21-237-12:59:08.148 00 UT_RUNPROC/134 if (numCPUs = 1) then +21-237-12:59:08.148 00 UT_RUNPROC/135 write " Checksum: ", {cksumItem} +21-237-12:59:08.148 00 SPR-I:OPRO Checksum: 29237 +21-237-12:59:08.149 00 UT_RUNPROC/136 write " cFE Version: ", {cfeMajorVerItem} & "." & {cfeMinorVerItem} & "." & {cfeRevisionItem} & "." & {cfeMissionRevItem} +21-237-12:59:08.150 00 SPR-I:OPRO cFE Version: 6.7.99.0 +21-237-12:59:08.150 00 UT_RUNPROC/137 write " OS Version: ", {osMajorVerItem} & "." & {osMinorVerItem} & "." & {osRevisionItem} & "." & {osMissionRevItem} +21-237-12:59:08.150 00 SPR-I:OPRO OS Version: 5.0.0.255 +21-237-12:59:08.150 00 UT_RUNPROC/138 write " " +21-237-12:59:08.150 00 SPR-I:OPRO +21-237-12:59:08.150 00 UT_RUNPROC/139 endif +21-237-12:59:08.150 00 UT_RUNPROC/140 +21-237-12:59:08.150 00 UT_RUNPROC/141 if (numCPUs >= 2) then +21-237-12:59:08.150 00 UT_RUNPROC/166 endif +21-237-12:59:08.150 00 UT_RUNPROC/167 +21-237-12:59:08.150 00 UT_RUNPROC/168 ; This proc only supports up to 3 CPUs. +21-237-12:59:08.150 00 UT_RUNPROC/169 ; If there are more than 3, the additional CPUs must be added below +21-237-12:59:08.150 00 UT_RUNPROC/170 if (numCPUs = 3) then +21-237-12:59:08.150 00 UT_RUNPROC/189 endif +21-237-12:59:08.150 00 UT_RUNPROC/190 +21-237-12:59:08.150 00 UT_RUNPROC/191 write " Connection Status" +21-237-12:59:08.150 00 SPR-I:OPRO Connection Status +21-237-12:59:08.150 00 UT_RUNPROC/192 write " -----------------" +21-237-12:59:08.150 00 SPR-I:OPRO ----------------- +21-237-12:59:08.150 00 UT_RUNPROC/193 write " CFDP: ", %select(packet_valid("my_entity_id"),"UP","DOWN") +21-237-12:59:08.150 00 SPR-I:OPRO CFDP: DOWN +21-237-12:59:08.150 00 UT_RUNPROC/194 write " UDP: ", p@GSE_ICHAN +21-237-12:59:08.150 00 SPR-I:OPRO UDP: UP +21-237-12:59:08.151 00 UT_RUNPROC/195 write " SWTS: ", p@GSE_SCHAN +21-237-12:59:08.151 00 SPR-I:OPRO SWTS: UNK +21-237-12:59:08.151 00 UT_RUNPROC/196 ; write " ITOS: ", p@GSE_ZCHAN +21-237-12:59:08.151 00 UT_RUNPROC/197 +21-237-12:59:08.151 00 UT_RUNPROC/199 gds_label = "" +21-237-12:59:08.151 00 UT_RUNPROC/200 gds_version = "N/A" +21-237-12:59:08.151 00 UT_RUNPROC/201 +21-237-12:59:08.151 00 UT_RUNPROC/202 #ifdef GDS_EXISTS +21-237-12:59:08.151 00 UT_RUNPROC/203 write " GDS: ", %select(packet_valid("GDS_EXECUTOR_SIMULATION_TIME"),"UP", "DOWN") +21-237-12:59:08.151 00 UT_RUNPROC/204 if (GSE_HCHAN = 1) then +21-237-12:59:08.151 00 UT_RUNPROC/205 gds_label = "GDS" +21-237-12:59:08.151 00 UT_RUNPROC/206 gds_version = GDS_EXECUTOR_GDS_VERSION_VALUE +21-237-12:59:08.151 00 UT_RUNPROC/207 endif +21-237-12:59:08.151 00 UT_RUNPROC/208 #endif +21-237-12:59:08.151 00 UT_RUNPROC/209 +21-237-12:59:08.151 00 UT_RUNPROC/211 write " CMD / TLM Path" +21-237-12:59:08.151 00 SPR-I:OPRO +21-237-12:59:08.151 00 UT_RUNPROC/211 write " CMD / TLM Path" +21-237-12:59:08.151 00 SPR-I:OPRO CMD / TLM Path +21-237-12:59:08.151 00 UT_RUNPROC/212 write " --------------" +21-237-12:59:08.151 00 SPR-I:OPRO -------------- +21-237-12:59:08.151 00 UT_RUNPROC/213 if (GSE_ICHAN = 1) then +21-237-12:59:08.152 00 UT_RUNPROC/214 cmd_tlm_path = "UDP" +21-237-12:59:08.156 00 UT_RUNPROC/219 endif +21-237-12:59:08.156 00 UT_RUNPROC/220 +21-237-12:59:08.156 00 UT_RUNPROC/221 write " ", cmd_tlm_path +21-237-12:59:08.156 00 SPR-I:OPRO UDP +21-237-12:59:08.156 00 UT_RUNPROC/222 write " ", gds_label +21-237-12:59:08.157 00 SPR-I:OPRO +21-237-12:59:08.157 00 UT_RUNPROC/224 write " ASIST / GDS Configuration" +21-237-12:59:08.157 00 SPR-I:OPRO +21-237-12:59:08.157 00 UT_RUNPROC/224 write " ASIST / GDS Configuration" +21-237-12:59:08.157 00 SPR-I:OPRO ASIST / GDS Configuration +21-237-12:59:08.157 00 UT_RUNPROC/225 write " -------------------------" +21-237-12:59:08.157 00 SPR-I:OPRO ------------------------- +21-237-12:59:08.157 00 UT_RUNPROC/226 write " Workstation: ", %upper(%liv(LOCALHOST)) +21-237-12:59:08.157 00 SPR-I:OPRO Workstation: GS582CFSLAB4 +21-237-12:59:08.157 00 UT_RUNPROC/227 write " Account: ", %env("ACCOUNT") +21-237-12:59:08.157 00 SPR-I:OPRO Account: cfs_test +21-237-12:59:08.157 00 UT_RUNPROC/228 write " Version: ", ASIST_VERSION +21-237-12:59:08.157 00 SPR-I:OPRO Version: 21.0.7 +21-237-12:59:08.157 00 UT_RUNPROC/229 write " Tlm DB: Version: ",vidtlm.version, " Date: ", tlmdbdate, " Time: ", vidtlm.timeof +21-237-12:59:08.157 00 SPR-I:OPRO Tlm DB: Version: 1.985 Date: 08-24-21 Time: 06:37:06 AM. +21-237-12:59:08.157 00 UT_RUNPROC/230 write " Cmd DB: Version: ",%rpad(command_parm_attr("verid_cmd", "version", "description"),4," ")," Date: ",cmddbdate," Time: ",command_parm_attr("verid_cmd", "timeof", "description") +21-237-12:59:08.157 00 SPR-I:OPRO Cmd DB: Version: 1.51 Date: 08-24-21 Time: 06:47:31 AM.EDT +21-237-12:59:08.157 00 UT_RUNPROC/231 +21-237-12:59:08.157 00 UT_RUNPROC/232 #ifdef GDS_EXISTS +21-237-12:59:08.157 00 UT_RUNPROC/233 write " GDS: ", gds_version +21-237-12:59:08.158 00 UT_RUNPROC/234 #endif +21-237-12:59:08.158 00 UT_RUNPROC/235 +21-237-12:59:08.158 00 UT_RUNPROC/237 write " Telemetry Info" +21-237-12:59:08.158 00 SPR-I:OPRO +21-237-12:59:08.158 00 UT_RUNPROC/237 write " Telemetry Info" +21-237-12:59:08.158 00 SPR-I:OPRO Telemetry Info +21-237-12:59:08.158 00 UT_RUNPROC/238 write " --------------" +21-237-12:59:08.159 00 SPR-I:OPRO -------------- +21-237-12:59:08.159 00 UT_RUNPROC/240 write " Pkt Loss Count: N/A" +21-237-12:59:08.159 00 SPR-I:OPRO Pkt Loss Count: N/A +21-237-12:59:08.159 00 UT_RUNPROC/241 write "**************** End FSW Configuration ***************" +21-237-12:59:08.159 00 SPR-I:OPRO **************** End FSW Configuration *************** +21-237-12:59:08.159 00 UT_RUNPROC/242 ; +21-237-12:59:08.159 00 UT_RUNPROC/243 ; Start the procedure +21-237-12:59:08.159 00 UT_RUNPROC/244 ; +21-237-12:59:08.159 00 UT_RUNPROC/245 write "Starting Procedure.... ", proc_to_run +21-237-12:59:08.159 00 SPR-I:OPRO Starting Procedure.... scx_cpu1_ds_resetnocds +21-237-12:59:08.159 00 UT_RUNPROC/246 rstol_dir = "rstol 'start " & proc_to_run & "'" +21-237-12:59:08.159 00 UT_RUNPROC/247 stime = %gmt +21-237-12:59:08.159 00 UT_RUNPROC/248 native(rstol_dir) +21-237-12:59:08.289 00 SPR-I:OPRI --> start scx_cpu1_ds_resetnocds +21-237-12:59:08.290 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/scx_cpu1_ds_resetnocds.i +21-237-12:59:08.294 00 SPR-I:STS Procedure SCX_CPU1_DS_RESETNOCDS started +21-237-12:59:08.295 00 SCX_CPU1_DS_RE/2 ;******************************************************************************* +21-237-12:59:08.295 00 SCX_CPU1_DS_RE/3 ; Test Name: ds_resetnocds +21-237-12:59:08.295 00 SCX_CPU1_DS_RE/4 ; Test Level: Build Verification +21-237-12:59:08.295 00 SCX_CPU1_DS_RE/5 ; Test Type: Functional +21-237-12:59:08.295 00 SCX_CPU1_DS_RE/6 ; +21-237-12:59:08.295 00 SCX_CPU1_DS_RE/7 ; Test Description +21-237-12:59:08.295 00 SCX_CPU1_DS_RE/8 ; This test verifies that the CFS Data Storage(DS) application initializes +21-237-12:59:08.295 00 SCX_CPU1_DS_RE/9 ; the appropriate data items based upon the type of initialization that +21-237-12:59:08.295 00 SCX_CPU1_DS_RE/10 ; occurs (Application Reset, Processor Reset, or Power-On Reset). This +21-237-12:59:08.295 00 SCX_CPU1_DS_RE/11 ; test also verifies that the proper notifications occur if any anomalies +21-237-12:59:08.295 00 SCX_CPU1_DS_RE/12 ; exist with the data items stated in the requirements. +21-237-12:59:08.295 00 SCX_CPU1_DS_RE/13 ; +21-237-12:59:08.295 00 SCX_CPU1_DS_RE/14 ; NOTE: This test SHOULD NOT be executed if the Make Tables Critical +21-237-12:59:08.295 00 SCX_CPU1_DS_RE/15 ; configuration parameter is set to YES by the Mission. +21-237-12:59:08.295 00 SCX_CPU1_DS_RE/16 ; +21-237-12:59:08.295 00 SCX_CPU1_DS_RE/17 ; Requirements Tested +21-237-12:59:08.295 00 SCX_CPU1_DS_RE/18 ; cDS8000 DS shall generate a housekeeping message containing the +21-237-12:59:08.295 00 SCX_CPU1_DS_RE/19 ; following: +21-237-12:59:08.295 00 SCX_CPU1_DS_RE/20 ; a. Valid Ground Command Counter +21-237-12:59:08.295 00 SCX_CPU1_DS_RE/21 ; b. Command Rejected Counter +21-237-12:59:08.295 00 SCX_CPU1_DS_RE/22 ; c. Packets discarded (DS was disabled) Counter +21-237-12:59:08.295 00 SCX_CPU1_DS_RE/23 ; d. Packets discarded (pkt has no filter) Counter +21-237-12:59:08.304 00 SCX_CPU1_DS_RE/24 ; e. Packets discarded (failed filter test) Counter +21-237-12:59:08.304 00 SCX_CPU1_DS_RE/25 ; f. Packets that passed filter test Counter +21-237-12:59:08.304 00 SCX_CPU1_DS_RE/26 ; g. Good destination file I/O Counter +21-237-12:59:08.304 00 SCX_CPU1_DS_RE/27 ; h. Bad destination file I/O Counter +21-237-12:59:08.304 00 SCX_CPU1_DS_RE/28 ; i. Good updates to secondary header Counter +21-237-12:59:08.304 00 SCX_CPU1_DS_RE/29 ; j. Bad updates to secondary header Counter +21-237-12:59:08.304 00 SCX_CPU1_DS_RE/30 ; k. Destination file table loads Counter +21-237-12:59:08.304 00 SCX_CPU1_DS_RE/31 ; l. Failed attempts to get table data pointer Counter +21-237-12:59:08.304 00 SCX_CPU1_DS_RE/32 ; m. Packet filter table loads Counter +21-237-12:59:08.304 00 SCX_CPU1_DS_RE/33 ; n. Failed attempts to get table data pointer Counter +21-237-12:59:08.305 00 SCX_CPU1_DS_RE/34 ; o. Application State +21-237-12:59:08.305 00 SCX_CPU1_DS_RE/35 ; p. Destinatation file(s) state: +21-237-12:59:08.305 00 SCX_CPU1_DS_RE/36 ; 1. File age +21-237-12:59:08.305 00 SCX_CPU1_DS_RE/37 ; 2. File size +21-237-12:59:08.305 00 SCX_CPU1_DS_RE/38 ; 3. File rate +21-237-12:59:08.305 00 SCX_CPU1_DS_RE/39 ; 4. Sequence count +21-237-12:59:08.305 00 SCX_CPU1_DS_RE/40 ; 5. Enable State +21-237-12:59:08.305 00 SCX_CPU1_DS_RE/41 ; 6. Open State +21-237-12:59:08.305 00 SCX_CPU1_DS_RE/42 ; 7. Filename +21-237-12:59:08.305 00 SCX_CPU1_DS_RE/43 ; cDS9000 Upon initialization of the DS Application, DS shall initialize +21-237-12:59:08.305 00 SCX_CPU1_DS_RE/44 ; the following data to Zero: +21-237-12:59:08.305 00 SCX_CPU1_DS_RE/45 ; a. Valid Ground Command Counter +21-237-12:59:08.305 00 SCX_CPU1_DS_RE/46 ; b. Command Rejected Counter +21-237-12:59:08.305 00 SCX_CPU1_DS_RE/47 ; c. Packets discarded (DS was disabled) Counter +21-237-12:59:08.305 00 SCX_CPU1_DS_RE/48 ; d. Packets discarded (pkt has no filter) Counter +21-237-12:59:08.305 00 SCX_CPU1_DS_RE/49 ; e. Packets discarded (failed filter test) Counter +21-237-12:59:08.305 00 SCX_CPU1_DS_RE/50 ; f. Packets that passed filter test Counter +21-237-12:59:08.305 00 SCX_CPU1_DS_RE/51 ; g. Good destination file I/O Counter +21-237-12:59:08.305 00 SCX_CPU1_DS_RE/52 ; h. Bad destination file I/O Counter +21-237-12:59:08.305 00 SCX_CPU1_DS_RE/53 ; i. Good updates to secondary header Counter +21-237-12:59:08.305 00 SCX_CPU1_DS_RE/54 ; j. Bad updates to secondary header Counter +21-237-12:59:08.305 00 SCX_CPU1_DS_RE/55 ; k. Destination file table loads Counter +21-237-12:59:08.305 00 SCX_CPU1_DS_RE/56 ; l. Failed attempts to get table data pointer Counter +21-237-12:59:08.305 00 SCX_CPU1_DS_RE/57 ; m. Packet filter table loads Counter +21-237-12:59:08.305 00 SCX_CPU1_DS_RE/58 ; n. Failed attempts to get table data pointer Counter +21-237-12:59:08.305 00 SCX_CPU1_DS_RE/59 ; cDS9001 Upon cFE Power-On, DS shall initialize the DS tables from the +21-237-12:59:08.305 00 SCX_CPU1_DS_RE/60 ; default files. +21-237-12:59:08.306 00 SCX_CPU1_DS_RE/61 ; cDS9002 Upon cFE Processor Reset or DS Application Reset, DS shall close +21-237-12:59:08.306 00 SCX_CPU1_DS_RE/62 ; all files. +21-237-12:59:08.306 00 SCX_CPU1_DS_RE/63 ; cDS9004 Upon a cFE Processor Reset or DS Application Reset, DS shall +21-237-12:59:08.306 00 SCX_CPU1_DS_RE/64 ; restore the following if the associated +21-237-12:59:08.306 00 SCX_CPU1_DS_RE/65 ; Preserve State set to FALSE: +21-237-12:59:08.306 00 SCX_CPU1_DS_RE/66 ; a. File Sequence Counters +21-237-12:59:08.306 00 SCX_CPU1_DS_RE/67 ; b. Packet Processing State +21-237-12:59:08.306 00 SCX_CPU1_DS_RE/68 ; cDS9005 Upon any initialization and/or Packet Filter Table Update, DS +21-237-12:59:08.306 00 SCX_CPU1_DS_RE/69 ; shall validate the Packet Filter Table: +21-237-12:59:08.306 00 SCX_CPU1_DS_RE/70 ; a. Table descriptor text +21-237-12:59:08.308 00 SCX_CPU1_DS_RE/71 ; For each packet entry: +21-237-12:59:08.308 00 SCX_CPU1_DS_RE/72 ; b. Message ID (0 = unused, else ok) +21-237-12:59:08.308 00 SCX_CPU1_DS_RE/73 ; c. Destination File table index +21-237-12:59:08.308 00 SCX_CPU1_DS_RE/74 ; d. Filter Type (time/sequence) +21-237-12:59:08.308 00 SCX_CPU1_DS_RE/75 ; e. Filter parms (N,X,O) +21-237-12:59:08.308 00 SCX_CPU1_DS_RE/76 ; cDS9006 Upon any initialization and/or Packet Filter Table Update, DS +21-237-12:59:08.308 00 SCX_CPU1_DS_RE/77 ; shall subscribe to the messages defined in the Data Storage +21-237-12:59:08.308 00 SCX_CPU1_DS_RE/78 ; Packet Filter Table. +21-237-12:59:08.308 00 SCX_CPU1_DS_RE/79 ; cDS9007 Upon any initialization and/or Destination File Table Update, DS +21-237-12:59:08.308 00 SCX_CPU1_DS_RE/80 ; will validate the Destination File Table: +21-237-12:59:08.308 00 SCX_CPU1_DS_RE/81 ; a. Table descriptor tesxt for each destination file +21-237-12:59:08.308 00 SCX_CPU1_DS_RE/82 ; entry +21-237-12:59:08.308 00 SCX_CPU1_DS_RE/83 ; b. Pathname +21-237-12:59:08.308 00 SCX_CPU1_DS_RE/84 ; c. Basename +21-237-12:59:08.308 00 SCX_CPU1_DS_RE/85 ; d. Extension +21-237-12:59:08.308 00 SCX_CPU1_DS_RE/86 ; e. Filename type +21-237-12:59:08.308 00 SCX_CPU1_DS_RE/87 ; f. File enable/disable state +21-237-12:59:08.308 00 SCX_CPU1_DS_RE/88 ; g. Max file size +21-237-12:59:08.308 00 SCX_CPU1_DS_RE/89 ; h. Max file age +21-237-12:59:08.308 00 SCX_CPU1_DS_RE/90 ; i. Sequence count +21-237-12:59:08.308 00 SCX_CPU1_DS_RE/91 ; cDS9008 Upon cFE Power-On, DS shall set the Packet Processing State to +21-237-12:59:08.308 00 SCX_CPU1_DS_RE/92 ; the state (ENABLED or DISABLED). +21-237-12:59:08.308 00 SCX_CPU1_DS_RE/93 ; +21-237-12:59:08.308 00 SCX_CPU1_DS_RE/94 ; Prerequisite Conditions +21-237-12:59:08.308 00 SCX_CPU1_DS_RE/95 ; The cFE is up and running and ready to accept commands. +21-237-12:59:08.308 00 SCX_CPU1_DS_RE/96 ; The DS commands and telemetry items exist in the GSE database. +21-237-12:59:08.308 00 SCX_CPU1_DS_RE/97 ; The display pages exist for the DS Housekeeping. +21-237-12:59:08.308 00 SCX_CPU1_DS_RE/98 ; A DS Test application (TST_DS) exists in order to fully test the DS +21-237-12:59:08.315 00 SCX_CPU1_DS_RE/99 ; Application. +21-237-12:59:08.315 00 SCX_CPU1_DS_RE/100 ; +21-237-12:59:08.315 00 SCX_CPU1_DS_RE/101 ; Assumptions and Constraints +21-237-12:59:08.315 00 SCX_CPU1_DS_RE/102 ; None. +21-237-12:59:08.315 00 SCX_CPU1_DS_RE/103 ; +21-237-12:59:08.315 00 SCX_CPU1_DS_RE/104 ; Change History +21-237-12:59:08.315 00 SCX_CPU1_DS_RE/105 ; Date Name Description +21-237-12:59:08.315 00 SCX_CPU1_DS_RE/106 ; 10/05/09 Walt Moleski Original Procedure. +21-237-12:59:08.315 00 SCX_CPU1_DS_RE/107 ; 12/08/10 Walt Moleski Modified the procedure to use variables +21-237-12:59:08.315 00 SCX_CPU1_DS_RE/108 ; for the application name and ram disk. +21-237-12:59:08.315 00 SCX_CPU1_DS_RE/109 ; 01/22/15 Walt Moleski Removed DS9001.1 from this procedure +21-237-12:59:08.315 00 SCX_CPU1_DS_RE/110 ; since it was deleted for 2.4.0.0 +21-237-12:59:08.315 00 SCX_CPU1_DS_RE/111 ; 07/24/15 Walt Moleski Added DS9008 and tests for 2.4.1.0 +21-237-12:59:08.315 00 SCX_CPU1_DS_RE/112 ; 01/31/17 Walt Moleski Updated for DS 2.5.0.0 using CPU1 for +21-237-12:59:08.315 00 SCX_CPU1_DS_RE/113 ; commanding and added a hostCPU variable +21-237-12:59:08.315 00 SCX_CPU1_DS_RE/114 ; for the utility procs to connect to the +21-237-12:59:08.315 00 SCX_CPU1_DS_RE/115 ; proper host IP address. +21-237-12:59:08.315 00 SCX_CPU1_DS_RE/116 ; +21-237-12:59:08.315 00 SCX_CPU1_DS_RE/117 ; Arguments +21-237-12:59:08.315 00 SCX_CPU1_DS_RE/118 ; None. +21-237-12:59:08.315 00 SCX_CPU1_DS_RE/119 ; +21-237-12:59:08.315 00 SCX_CPU1_DS_RE/120 ; Procedures Called +21-237-12:59:08.315 00 SCX_CPU1_DS_RE/121 ; Name Description +21-237-12:59:08.316 00 SCX_CPU1_DS_RE/122 ; ut_tlmwait Wait for a specified telemetry point to update to a +21-237-12:59:08.316 00 SCX_CPU1_DS_RE/123 ; specified value. +21-237-12:59:08.316 00 SCX_CPU1_DS_RE/124 ; ut_pfindicate Print the pass fail status of a particular requirement +21-237-12:59:08.316 00 SCX_CPU1_DS_RE/125 ; number. +21-237-12:59:08.316 00 SCX_CPU1_DS_RE/126 ; ut_setupevents Performs setup to verify that a particular event +21-237-12:59:08.316 00 SCX_CPU1_DS_RE/127 ; message was received by ASIST. +21-237-12:59:08.316 00 SCX_CPU1_DS_RE/128 ; ut_setrequirements A directive to set the status of the cFE +21-237-12:59:08.316 00 SCX_CPU1_DS_RE/129 ; requirements array. +21-237-12:59:08.316 00 SCX_CPU1_DS_RE/130 ; +21-237-12:59:08.316 00 SCX_CPU1_DS_RE/131 ; Expected Test Results and Analysis +21-237-12:59:08.316 00 SCX_CPU1_DS_RE/132 ; +21-237-12:59:08.316 00 SCX_CPU1_DS_RE/133 ;********************************************************************** +21-237-12:59:08.316 00 SCX_CPU1_DS_RE/135 local logging = %liv (log_procedure) +21-237-12:59:08.316 00 SCX_CPU1_DS_RE/136 %liv (log_procedure) = FALSE +21-237-12:59:08.382 00 SCX_CPU1_DS_RE/151 +21-237-12:59:08.382 00 SCX_CPU1_DS_RE/152 #define DS_8000 0 +21-237-12:59:08.382 00 SCX_CPU1_DS_RE/153 #define DS_9000 1 +21-237-12:59:08.382 00 SCX_CPU1_DS_RE/154 #define DS_9001 2 +21-237-12:59:08.382 00 SCX_CPU1_DS_RE/155 #define DS_9002 3 +21-237-12:59:08.382 00 SCX_CPU1_DS_RE/156 #define DS_9004 4 +21-237-12:59:08.382 00 SCX_CPU1_DS_RE/157 #define DS_9005 5 +21-237-12:59:08.382 00 SCX_CPU1_DS_RE/158 #define DS_9006 6 +21-237-12:59:08.382 00 SCX_CPU1_DS_RE/159 #define DS_9007 7 +21-237-12:59:08.382 00 SCX_CPU1_DS_RE/160 #define DS_9008 8 +21-237-12:59:08.382 00 SCX_CPU1_DS_RE/161 +21-237-12:59:08.382 00 SCX_CPU1_DS_RE/162 global ut_req_array_size = 8 +21-237-12:59:08.382 00 SCX_CPU1_DS_RE/163 global ut_requirement[0 .. ut_req_array_size] +21-237-12:59:08.382 00 SCX_CPU1_DS_RE/164 +21-237-12:59:08.382 00 SCX_CPU1_DS_RE/165 for i = 0 to ut_req_array_size DO +21-237-12:59:08.382 00 SCX_CPU1_DS_RE/166 ut_requirement[i] = "U" +21-237-12:59:08.383 00 SCX_CPU1_DS_RE/167 enddo +21-237-12:59:08.383 00 SCX_CPU1_DS_RE/165 for i = 0 to ut_req_array_size DO +21-237-12:59:08.383 00 SCX_CPU1_DS_RE/166 ut_requirement[i] = "U" +21-237-12:59:08.383 00 SCX_CPU1_DS_RE/167 enddo +21-237-12:59:08.383 00 SCX_CPU1_DS_RE/165 for i = 0 to ut_req_array_size DO +21-237-12:59:08.383 00 SCX_CPU1_DS_RE/166 ut_requirement[i] = "U" +21-237-12:59:08.384 00 SCX_CPU1_DS_RE/167 enddo +21-237-12:59:08.384 00 SCX_CPU1_DS_RE/165 for i = 0 to ut_req_array_size DO +21-237-12:59:08.385 00 SCX_CPU1_DS_RE/166 ut_requirement[i] = "U" +21-237-12:59:08.385 00 SCX_CPU1_DS_RE/167 enddo +21-237-12:59:08.385 00 SCX_CPU1_DS_RE/165 for i = 0 to ut_req_array_size DO +21-237-12:59:08.385 00 SCX_CPU1_DS_RE/166 ut_requirement[i] = "U" +21-237-12:59:08.385 00 SCX_CPU1_DS_RE/167 enddo +21-237-12:59:08.385 00 SCX_CPU1_DS_RE/165 for i = 0 to ut_req_array_size DO +21-237-12:59:08.385 00 SCX_CPU1_DS_RE/166 ut_requirement[i] = "U" +21-237-12:59:08.385 00 SCX_CPU1_DS_RE/167 enddo +21-237-12:59:08.385 00 SCX_CPU1_DS_RE/165 for i = 0 to ut_req_array_size DO +21-237-12:59:08.385 00 SCX_CPU1_DS_RE/166 ut_requirement[i] = "U" +21-237-12:59:08.385 00 SCX_CPU1_DS_RE/167 enddo +21-237-12:59:08.385 00 SCX_CPU1_DS_RE/165 for i = 0 to ut_req_array_size DO +21-237-12:59:08.385 00 SCX_CPU1_DS_RE/166 ut_requirement[i] = "U" +21-237-12:59:08.385 00 SCX_CPU1_DS_RE/167 enddo +21-237-12:59:08.385 00 SCX_CPU1_DS_RE/165 for i = 0 to ut_req_array_size DO +21-237-12:59:08.386 00 SCX_CPU1_DS_RE/166 ut_requirement[i] = "U" +21-237-12:59:08.386 00 SCX_CPU1_DS_RE/167 enddo +21-237-12:59:08.386 00 SCX_CPU1_DS_RE/165 for i = 0 to ut_req_array_size DO +21-237-12:59:08.386 00 SCX_CPU1_DS_RE/168 +21-237-12:59:08.386 00 SCX_CPU1_DS_RE/169 ;********************************************************************** +21-237-12:59:08.386 00 SCX_CPU1_DS_RE/170 ; Set the local values +21-237-12:59:08.386 00 SCX_CPU1_DS_RE/171 ;********************************************************************** +21-237-12:59:08.386 00 SCX_CPU1_DS_RE/172 local cfe_requirements[0 .. ut_req_array_size] = ["DS_8000", "DS_9000", "DS_9001", "DS_9002", "DS_9004", "DS_9005", "DS_9006", "DS_9007", "DS_9008" ] +21-237-12:59:08.386 00 SCX_CPU1_DS_RE/173 +21-237-12:59:08.386 00 SCX_CPU1_DS_RE/174 ;********************************************************************** +21-237-12:59:08.386 00 SCX_CPU1_DS_RE/175 ; Define local variables +21-237-12:59:08.386 00 SCX_CPU1_DS_RE/176 ;********************************************************************** +21-237-12:59:08.386 00 SCX_CPU1_DS_RE/177 LOCAL rawcmd +21-237-12:59:08.386 00 SCX_CPU1_DS_RE/178 LOCAL fileTblPktId, fileTblAppId +21-237-12:59:08.386 00 SCX_CPU1_DS_RE/179 LOCAL filterTblPktId, filterTblAppId +21-237-12:59:08.386 00 SCX_CPU1_DS_RE/180 local DSAppName = "DS" +21-237-12:59:08.386 00 SCX_CPU1_DS_RE/181 local fileTblName = DSAppName & "." & DS_DESTINATION_TBL_NAME +21-237-12:59:08.386 00 SCX_CPU1_DS_RE/182 local filterTblName = DSAppName & "." & DS_FILTER_TBL_NAME +21-237-12:59:08.386 00 SCX_CPU1_DS_RE/183 local ramDir = "RAM:0" +21-237-12:59:08.386 00 SCX_CPU1_DS_RE/184 local hostCPU = "CPU3" +21-237-12:59:08.386 00 SCX_CPU1_DS_RE/185 +21-237-12:59:08.386 00 SCX_CPU1_DS_RE/188 fileTblPktId = "0F76" +21-237-12:59:08.387 00 SCX_CPU1_DS_RE/189 fileTblAppId = 3958 +21-237-12:59:08.387 00 SCX_CPU1_DS_RE/190 filterTblPktId = "0F77" +21-237-12:59:08.387 00 SCX_CPU1_DS_RE/191 filterTblAppId = 3959 +21-237-12:59:08.387 00 SCX_CPU1_DS_RE/192 +21-237-12:59:08.387 00 SCX_CPU1_DS_RE/193 write ";***********************************************************************" +21-237-12:59:08.387 00 SPR-I:OPRO ;*********************************************************************** +21-237-12:59:08.387 00 SCX_CPU1_DS_RE/194 write "; Step 1.0: Data Storage Test Setup." +21-237-12:59:08.387 00 SPR-I:OPRO ; Step 1.0: Data Storage Test Setup. +21-237-12:59:08.387 00 SCX_CPU1_DS_RE/195 write ";***********************************************************************" +21-237-12:59:08.387 00 SPR-I:OPRO ;*********************************************************************** +21-237-12:59:08.387 00 SCX_CPU1_DS_RE/196 write "; Step 1.1: Command a Power-on Reset on CPU1." +21-237-12:59:08.387 00 SPR-I:OPRO ; Step 1.1: Command a Power-on Reset on CPU1. +21-237-12:59:08.387 00 SCX_CPU1_DS_RE/197 write ";***********************************************************************" +21-237-12:59:08.387 00 SPR-I:OPRO ;*********************************************************************** +21-237-12:59:08.387 00 SCX_CPU1_DS_RE/198 /SCX_CPU1_ES_POWERONRESET +21-237-12:59:08.399 00 SCX_CPU1_DS_RE/199 wait 10 +21-237-12:59:08.399 00 SPR-I:STTE Wait mode - waiting 10 seconds ... +21-237-12:59:18.407 00 SCX_CPU1_DS_RE/200 +21-237-12:59:18.407 00 SCX_CPU1_DS_RE/201 close_data_center +21-237-12:59:18.408 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/clear_spacecraft_status.i +21-237-12:59:18.409 00 SPR-I:STS Procedure CLEAR_SPACECRAFT_STATUS started +21-237-12:59:18.410 00 CLEAR_SPACECRA/2 ; +21-237-12:59:18.410 00 CLEAR_SPACECRA/3 local logging = %liv(log_procedure) +21-237-12:59:18.410 00 CLEAR_SPACECRA/4 %liv (log_procedure) = FALSE +21-237-12:59:18.416 00 CLEAR_SPACECRA/135 +21-237-12:59:18.416 00 CLEAR_SPACECRA/136 endproc +21-237-12:59:18.416 00 SPR-I:STS Procedure CLEAR_SPACECRAFT_STATUS completed +21-237-12:59:18.440 00 SCX_CPU1_DS_RE/202 wait 60 +21-237-12:59:18.440 00 SPR-I:STTE Wait mode - waiting 60 seconds ... +21-237-13:00:18.488 00 SCX_CPU1_DS_RE/203 +21-237-13:00:18.488 00 SCX_CPU1_DS_RE/204 cfe_startup {hostCPU} +21-237-13:00:18.500 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:00:28.511 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:00:28.582 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/send_that_to_command.i +21-237-13:00:28.582 00 SPR-I:STS Procedure SEND_THAT_TO_COMMAND started +21-237-13:00:28.582 00 SEND_THAT_TO_C/2 ; +21-237-13:00:28.582 00 SEND_THAT_TO_C/3 local logging = %liv (log_procedure) +21-237-13:00:28.582 00 SEND_THAT_TO_C/4 %liv (log_procedure) = FALSE +21-237-13:00:28.583 00 SPR-I:OPRO Sending: /SCX_CPU1_TO_OUTPUT_ENA gs582cfslab4 +21-237-13:00:28.634 00 SEND_THAT_TO_C/83 +21-237-13:00:28.634 00 SEND_THAT_TO_C/84 endproc +21-237-13:00:28.634 00 SPR-I:STS Procedure SEND_THAT_TO_COMMAND completed +21-237-13:00:28.635 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:00:29.788 00 TLMH-I:STS 58-012-14:03:48.950 INFO CPU=CPU1 APPNAME=TO_LAB_APP EVENT ID=3 TO telemetry output enabled for IP 192.168.1.101 +21-237-13:00:33.640 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:00:33.641 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/fill_in_spacecraft_status.i +21-237-13:00:33.643 00 SPR-I:STS Procedure FILL_IN_SPACECRAFT_STATUS started +21-237-13:00:33.643 00 FILL_IN_SPACEC/2 ; +21-237-13:00:33.643 00 FILL_IN_SPACEC/3 local logging = %liv (log_procedure) +21-237-13:00:33.643 00 FILL_IN_SPACEC/4 %liv (log_procedure) = FALSE +21-237-13:00:33.648 00 FILL_IN_SPACEC/152 +21-237-13:00:33.648 00 FILL_IN_SPACEC/153 endproc +21-237-13:00:33.648 00 SPR-I:STS Procedure FILL_IN_SPACECRAFT_STATUS completed +21-237-13:00:33.648 00 SCX_CPU1_DS_RE/205 wait 5 +21-237-13:00:33.648 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:00:38.652 00 SCX_CPU1_DS_RE/206 +21-237-13:00:38.652 00 SCX_CPU1_DS_RE/207 write ";***********************************************************************" +21-237-13:00:38.652 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:00:38.652 00 SCX_CPU1_DS_RE/208 write "; Step 1.2: Upload the default DS table load images to CPU1." +21-237-13:00:38.653 00 SPR-I:OPRO ; Step 1.2: Upload the default DS table load images to CPU1. +21-237-13:00:38.653 00 SCX_CPU1_DS_RE/209 write ";***********************************************************************" +21-237-13:00:38.653 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:00:38.653 00 SCX_CPU1_DS_RE/211 s scx_cpu1_ds_tbl3 +21-237-13:00:38.653 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/scx_cpu1_ds_tbl3.i +21-237-13:00:38.659 00 SPR-I:STS Procedure SCX_CPU1_DS_TBL3 started +21-237-13:00:38.659 00 SCX_CPU1_DS_TB/2 ;******************************************************************************* +21-237-13:00:38.659 00 SCX_CPU1_DS_TB/3 ; Test Name: ds_tbl3 +21-237-13:00:38.659 00 SCX_CPU1_DS_TB/4 ; Test Level: Build Verification +21-237-13:00:38.659 00 SCX_CPU1_DS_TB/5 ; Test Type: Functional +21-237-13:00:38.659 00 SCX_CPU1_DS_TB/6 ; +21-237-13:00:38.659 00 SCX_CPU1_DS_TB/7 ; Test Description +21-237-13:00:38.659 00 SCX_CPU1_DS_TB/8 ; This procedure creates the initial CFS Data Storage (DS) Destination +21-237-13:00:38.659 00 SCX_CPU1_DS_TB/9 ; File and Packet Filter Table load image files. These files are currently +21-237-13:00:38.659 00 SCX_CPU1_DS_TB/10 ; used by the Filter and Reset No CDS test procedures. +21-237-13:00:38.659 00 SCX_CPU1_DS_TB/11 ; +21-237-13:00:38.659 00 SCX_CPU1_DS_TB/12 ; Prerequisite Conditions +21-237-13:00:38.659 00 SCX_CPU1_DS_TB/13 ; None. +21-237-13:00:38.659 00 SCX_CPU1_DS_TB/14 ; +21-237-13:00:38.659 00 SCX_CPU1_DS_TB/15 ; Assumptions and Constraints +21-237-13:00:38.659 00 SCX_CPU1_DS_TB/16 ; None. +21-237-13:00:38.659 00 SCX_CPU1_DS_TB/17 ; +21-237-13:00:38.659 00 SCX_CPU1_DS_TB/18 ; Change History +21-237-13:00:38.659 00 SCX_CPU1_DS_TB/19 ; Date Name Description +21-237-13:00:38.659 00 SCX_CPU1_DS_TB/20 ; 11/17/09 Walt Moleski Inital implemetation. +21-237-13:00:38.659 00 SCX_CPU1_DS_TB/21 ; 12/08/10 Walt Moleski Modified the procedure to use variables +21-237-13:00:38.659 00 SCX_CPU1_DS_TB/22 ; for the application name and ram disk. +21-237-13:00:38.659 00 SCX_CPU1_DS_TB/23 ; 01/31/17 Walt Moleski Updated for DS 2.5.0.0 using CPU1 for +21-237-13:00:38.661 00 SCX_CPU1_DS_TB/24 ; commanding and added a hostCPU variable +21-237-13:00:38.661 00 SCX_CPU1_DS_TB/25 ; for the utility procs to connect to the +21-237-13:00:38.661 00 SCX_CPU1_DS_TB/26 ; proper host IP address. +21-237-13:00:38.661 00 SCX_CPU1_DS_TB/27 ; +21-237-13:00:38.661 00 SCX_CPU1_DS_TB/28 ; Arguments +21-237-13:00:38.661 00 SCX_CPU1_DS_TB/29 ; None. +21-237-13:00:38.661 00 SCX_CPU1_DS_TB/30 ; +21-237-13:00:38.661 00 SCX_CPU1_DS_TB/31 ; Procedures Called +21-237-13:00:38.661 00 SCX_CPU1_DS_TB/32 ; Name Description +21-237-13:00:38.661 00 SCX_CPU1_DS_TB/33 ; +21-237-13:00:38.661 00 SCX_CPU1_DS_TB/34 ; Expected Test Results and Analysis +21-237-13:00:38.661 00 SCX_CPU1_DS_TB/35 ; +21-237-13:00:38.661 00 SCX_CPU1_DS_TB/36 ;********************************************************************** +21-237-13:00:38.661 00 SCX_CPU1_DS_TB/37 +21-237-13:00:38.661 00 SCX_CPU1_DS_TB/38 local logging = %liv (log_procedure) +21-237-13:00:38.661 00 SCX_CPU1_DS_TB/39 %liv (log_procedure) = FALSE +21-237-13:00:38.696 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:00:38.696 00 SPR-I:OPRO ; Step 1.0: Define DS Destination File And Packet Filter Tables. +21-237-13:00:38.696 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:00:38.700 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/create_tbl_file_from_cvt.i +21-237-13:00:38.700 00 SPR-I:STS Procedure CREATE_TBL_FILE_FROM_CVT started +21-237-13:00:38.702 00 SPR-I:OPRO ********** ds_filtfile.tbl ********** +21-237-13:00:38.702 00 SPR-I:OPRO +21-237-13:00:38.702 00 SPR-I:OPRO Content Type: cFE1 +21-237-13:00:38.702 00 SPR-I:OPRO Sub Type: 8 +21-237-13:00:38.702 00 SPR-I:OPRO Length: 12 +21-237-13:00:38.702 00 SPR-I:OPRO Spacecraft Id: SCX +21-237-13:00:38.702 00 SPR-I:OPRO Processor Id: CPU3 +21-237-13:00:38.702 00 SPR-I:OPRO Application Id: 3958 +21-237-13:00:38.702 00 SPR-I:OPRO Create Time Secs: 1629896438 +21-237-13:00:38.702 00 SPR-I:OPRO Create Time Subsecs: 0 +21-237-13:00:38.702 00 SPR-I:OPRO File Description: File Write Test File Table +21-237-13:00:38.702 00 SPR-I:OPRO +21-237-13:00:38.702 00 SPR-I:OPRO ********** DS.FILE_TBL ********** +21-237-13:00:38.702 00 SPR-I:OPRO +21-237-13:00:38.702 00 SPR-I:OPRO Start Mnemonic: SCX_CPU1_DS_DF_TBL_Description +21-237-13:00:38.702 00 SPR-I:OPRO Byte Offset: 0 +21-237-13:00:38.702 00 SPR-I:OPRO End Mnemonic: SCX_CPU1_DS_DF_TBL[7].SeqCnt +21-237-13:00:38.703 00 SPR-I:OPRO Number of Bytes: 1760 +21-237-13:00:38.703 00 SPR-I:OPRO +21-237-13:00:38.707 00 SPR-I:STS Loading file /s/opr/accounts/global/prc/partial_cvt_to_file_beta.i +21-237-13:00:38.707 00 SPR-I:STS Procedure PARTIAL_CVT_TO_FILE_BETA started +21-237-13:00:38.707 00 SPR-I:OPRO The unix command is cd /s/opr/accounts/cfs_test/image;cvt2file -s 116 -e 1875 P0F76 ds.file_tbl +21-237-13:00:38.712 00 SPR-I:STS Procedure PARTIAL_CVT_TO_FILE_BETA completed +21-237-13:00:38.712 00 SPR-I:OPRO cd /s/opr/accounts/cfs_test/image;cat ds_filtfile.tbl.tmp ds.file_tbl > ds_filtfile.tbl +21-237-13:00:38.718 00 SPR-I:OPRO cd /s/opr/accounts/cfs_test/image;rm ds.file_tbl ds_filtfile.tbl.tmp +21-237-13:00:38.723 00 SPR-I:STS Procedure CREATE_TBL_FILE_FROM_CVT completed +21-237-13:00:39.229 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/create_tbl_file_from_cvt.i +21-237-13:00:39.229 00 SPR-I:STS Procedure CREATE_TBL_FILE_FROM_CVT started +21-237-13:00:39.231 00 SPR-I:OPRO ********** ds_filtfilter.tbl ********** +21-237-13:00:39.231 00 SPR-I:OPRO +21-237-13:00:39.231 00 SPR-I:OPRO Content Type: cFE1 +21-237-13:00:39.231 00 SPR-I:OPRO Sub Type: 8 +21-237-13:00:39.231 00 SPR-I:OPRO Length: 12 +21-237-13:00:39.231 00 SPR-I:OPRO Spacecraft Id: SCX +21-237-13:00:39.231 00 SPR-I:OPRO Processor Id: CPU3 +21-237-13:00:39.231 00 SPR-I:OPRO Application Id: 3959 +21-237-13:00:39.231 00 SPR-I:OPRO Create Time Secs: 1629896439 +21-237-13:00:39.231 00 SPR-I:OPRO Create Time Subsecs: 0 +21-237-13:00:39.231 00 SPR-I:OPRO File Description: Filter Test Filter Table +21-237-13:00:39.231 00 SPR-I:OPRO +21-237-13:00:39.231 00 SPR-I:OPRO ********** DS.FILTER_TBL ********** +21-237-13:00:39.231 00 SPR-I:OPRO +21-237-13:00:39.232 00 SPR-I:OPRO Start Mnemonic: SCX_CPU1_DS_PF_TBL_Description +21-237-13:00:39.232 00 SPR-I:OPRO Byte Offset: 0 +21-237-13:00:39.232 00 SPR-I:OPRO End Mnemonic: SCX_CPU1_DS_PF_TBL[255].FilterParams[3].O_Value +21-237-13:00:39.232 00 SPR-I:OPRO Number of Bytes: 9248 +21-237-13:00:39.232 00 SPR-I:OPRO +21-237-13:00:39.236 00 SPR-I:STS Loading file /s/opr/accounts/global/prc/partial_cvt_to_file_beta.i +21-237-13:00:39.236 00 SPR-I:STS Procedure PARTIAL_CVT_TO_FILE_BETA started +21-237-13:00:39.237 00 SPR-I:OPRO The unix command is cd /s/opr/accounts/cfs_test/image;cvt2file -s 116 -e 9363 P0F77 ds.filter_tbl +21-237-13:00:39.240 00 SPR-I:STS Procedure PARTIAL_CVT_TO_FILE_BETA completed +21-237-13:00:39.240 00 SPR-I:OPRO cd /s/opr/accounts/cfs_test/image;cat ds_filtfilter.tbl.tmp ds.filter_tbl > ds_filtfilter.tbl +21-237-13:00:39.244 00 SPR-I:OPRO cd /s/opr/accounts/cfs_test/image;rm ds.filter_tbl ds_filtfilter.tbl.tmp +21-237-13:00:39.247 00 SPR-I:STS Procedure CREATE_TBL_FILE_FROM_CVT completed +21-237-13:00:39.248 00 SCX_CPU1_DS_TB/309 +21-237-13:00:39.248 00 SCX_CPU1_DS_TB/310 write ";*********************************************************************" +21-237-13:00:39.248 00 SPR-I:OPRO ;********************************************************************* +21-237-13:00:39.248 00 SCX_CPU1_DS_TB/311 write "; End procedure SCX_CPU1_ds_tbl3" +21-237-13:00:39.248 00 SPR-I:OPRO ; End procedure SCX_CPU1_ds_tbl3 +21-237-13:00:39.248 00 SCX_CPU1_DS_TB/312 write ";*********************************************************************" +21-237-13:00:39.248 00 SPR-I:OPRO ;********************************************************************* +21-237-13:00:39.248 00 SCX_CPU1_DS_TB/313 ENDPROC +21-237-13:00:39.248 00 SPR-I:STS Procedure SCX_CPU1_DS_TBL3 completed +21-237-13:00:39.249 00 SCX_CPU1_DS_RE/212 +21-237-13:00:39.249 00 SCX_CPU1_DS_RE/214 local destFileName = DS_DEF_DEST_FILENAME +21-237-13:00:39.249 00 SCX_CPU1_DS_RE/215 local filterFileName = DS_DEF_FILTER_FILENAME +21-237-13:00:39.249 00 SCX_CPU1_DS_RE/216 local slashLoc = %locate(destFileName,"/") +21-237-13:00:39.249 00 SCX_CPU1_DS_RE/217 +21-237-13:00:39.249 00 SCX_CPU1_DS_RE/219 while (slashLoc <> 0) do +21-237-13:00:39.251 00 SCX_CPU1_DS_RE/220 destFileName = %substring(destFileName,slashLoc+1,%length(destFileName)) +21-237-13:00:39.251 00 SCX_CPU1_DS_RE/221 slashLoc = %locate(destFileName,"/") +21-237-13:00:39.251 00 SCX_CPU1_DS_RE/222 enddo +21-237-13:00:39.251 00 SCX_CPU1_DS_RE/220 destFileName = %substring(destFileName,slashLoc+1,%length(destFileName)) +21-237-13:00:39.251 00 SCX_CPU1_DS_RE/221 slashLoc = %locate(destFileName,"/") +21-237-13:00:39.251 00 SCX_CPU1_DS_RE/222 enddo +21-237-13:00:39.252 00 SCX_CPU1_DS_RE/223 +21-237-13:00:39.252 00 SCX_CPU1_DS_RE/224 write "==> Default Destination File Table filename = '",destFileName,"'" +21-237-13:00:39.252 00 SPR-I:OPRO ==> Default Destination File Table filename = 'ds_file_tbl.tbl' +21-237-13:00:39.252 00 SCX_CPU1_DS_RE/225 +21-237-13:00:39.252 00 SCX_CPU1_DS_RE/226 slashLoc = %locate(filterFileName,"/") +21-237-13:00:39.252 00 SCX_CPU1_DS_RE/228 while (slashLoc <> 0) do +21-237-13:00:39.252 00 SCX_CPU1_DS_RE/229 filterFileName = %substring(filterFileName,slashLoc+1,%length(filterFileName)) +21-237-13:00:39.252 00 SCX_CPU1_DS_RE/230 slashLoc = %locate(filterFileName,"/") +21-237-13:00:39.252 00 SCX_CPU1_DS_RE/231 enddo +21-237-13:00:39.254 00 SCX_CPU1_DS_RE/229 filterFileName = %substring(filterFileName,slashLoc+1,%length(filterFileName)) +21-237-13:00:39.254 00 SCX_CPU1_DS_RE/230 slashLoc = %locate(filterFileName,"/") +21-237-13:00:39.254 00 SCX_CPU1_DS_RE/231 enddo +21-237-13:00:39.254 00 SCX_CPU1_DS_RE/232 +21-237-13:00:39.254 00 SCX_CPU1_DS_RE/233 write "==> Default Filter Table filename = '",filterFileName,"'" +21-237-13:00:39.254 00 SPR-I:OPRO ==> Default Filter Table filename = 'ds_filter_tbl.tbl' +21-237-13:00:39.254 00 SCX_CPU1_DS_RE/234 +21-237-13:00:39.254 00 SCX_CPU1_DS_RE/236 ;s ftp_file("CF:0", "ds_filtfile.tbl", destFileName, hostCPU, "P") +21-237-13:00:39.254 00 SCX_CPU1_DS_RE/237 ;s ftp_file("CF:0", "ds_filtfilter.tbl", filterFileName, hostCPU, "P") +21-237-13:00:39.254 00 SCX_CPU1_DS_RE/238 +21-237-13:00:39.254 00 SCX_CPU1_DS_RE/239 ; Load the File table created above +21-237-13:00:39.255 00 SCX_CPU1_DS_RE/240 s load_table("ds_filtfile.tbl",hostCPU) +21-237-13:00:39.255 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/load_table.i +21-237-13:00:39.255 00 SPR-I:STS Procedure LOAD_TABLE started +21-237-13:00:39.255 00 LOAD_TABLE/2 ; +21-237-13:00:39.255 00 LOAD_TABLE/3 local logging = %liv (log_procedure) +21-237-13:00:39.255 00 LOAD_TABLE/4 %liv (log_procedure) = FALSE +21-237-13:00:39.256 00 SPR-I:OPRO Table Filename: ds_filtfile.tbl +21-237-13:00:39.257 00 SPR-I:OPRO The perl command is: perl /s/opr/accounts/global/tools/table_ftp.pl 192.168.1.8 ds_filtfile.tbl RAM:0 3 +21-237-13:00:39.257 00 SPR-I:OPRO +21-237-13:00:39.391 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-237-13:00:39.391 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:00:44.395 00 SPR-I:OPRO +21-237-13:00:44.397 00 SPR-I:OPRO Sending Command: /SCX_CPU1_TBL_LOAD LFILENAME="/ram/ds_filtfile.tbl" +21-237-13:00:44.424 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:00:45.289 00 TLMH-I:STS 58-012-14:04:04.501 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=12 Successful load of '/ram/ds_filtfile.tbl' into 'DS.FILE_TBL' working buffer +21-237-13:00:49.431 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:00:49.433 00 LOAD_TABLE/195 +21-237-13:00:49.433 00 LOAD_TABLE/196 ENDPROC +21-237-13:00:49.433 00 SPR-I:STS Procedure LOAD_TABLE completed +21-237-13:00:49.434 00 SCX_CPU1_DS_RE/241 wait 5 +21-237-13:00:49.434 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:00:54.438 00 SCX_CPU1_DS_RE/242 +21-237-13:00:54.438 00 SCX_CPU1_DS_RE/243 /SCX_CPU1_TBL_VALIDATE INACTIVE VTABLENAME=fileTblName +21-237-13:00:54.453 00 SCX_CPU1_DS_RE/244 wait 5 +21-237-13:00:54.453 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:00:56.790 00 TLMH-I:STS 58-012-14:04:16.004 INFO CPU=CPU1 APPNAME=DS EVENT ID=10 Destination file table verify results: desc text = OK, good entries = 8, bad = 0, unused = 8 +21-237-13:00:56.791 00 TLMH-I:STS 58-012-14:04:16.004 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=36 DS validation successful for Inactive 'DS.FILE_TBL' +21-237-13:00:59.457 00 SCX_CPU1_DS_RE/245 +21-237-13:00:59.457 00 SCX_CPU1_DS_RE/246 /SCX_CPU1_TBL_ACTIVATE ATableName=fileTblName +21-237-13:00:59.472 00 SCX_CPU1_DS_RE/247 wait 5 +21-237-13:00:59.472 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:01:00.788 00 TLMH-I:STS 58-012-14:04:20.004 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=37 DS Successfully Updated 'DS.FILE_TBL' +21-237-13:01:04.476 00 SCX_CPU1_DS_RE/248 +21-237-13:01:04.476 00 SCX_CPU1_DS_RE/249 ; Load the Filter table created above +21-237-13:01:04.476 00 SCX_CPU1_DS_RE/250 s load_table("ds_filtfilter.tbl",hostCPU) +21-237-13:01:04.478 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/load_table.i +21-237-13:01:04.479 00 SPR-I:STS Procedure LOAD_TABLE started +21-237-13:01:04.479 00 LOAD_TABLE/2 ; +21-237-13:01:04.479 00 LOAD_TABLE/3 local logging = %liv (log_procedure) +21-237-13:01:04.479 00 LOAD_TABLE/4 %liv (log_procedure) = FALSE +21-237-13:01:04.483 00 SPR-I:OPRO Table Filename: ds_filtfilter.tbl +21-237-13:01:04.484 00 SPR-I:OPRO The perl command is: perl /s/opr/accounts/global/tools/table_ftp.pl 192.168.1.8 ds_filtfilter.tbl RAM:0 3 +21-237-13:01:04.484 00 SPR-I:OPRO +21-237-13:01:04.615 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-237-13:01:04.615 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:01:09.619 00 SPR-I:OPRO +21-237-13:01:09.622 00 SPR-I:OPRO Sending Command: /SCX_CPU1_TBL_LOAD LFILENAME="/ram/ds_filtfilter.tbl" +21-237-13:01:09.643 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:01:10.281 00 TLMH-I:STS 58-012-14:04:29.501 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=12 Successful load of '/ram/ds_filtfilter.tbl' into 'DS.FILTER_TBL' working buffer +21-237-13:01:13.648 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:01:13.649 00 LOAD_TABLE/195 +21-237-13:01:13.650 00 LOAD_TABLE/196 ENDPROC +21-237-13:01:13.650 00 SPR-I:STS Procedure LOAD_TABLE completed +21-237-13:01:13.650 00 SCX_CPU1_DS_RE/251 wait 5 +21-237-13:01:13.650 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:01:18.654 00 SCX_CPU1_DS_RE/252 +21-237-13:01:18.654 00 SCX_CPU1_DS_RE/253 /SCX_CPU1_TBL_VALIDATE INACTIVE VTABLENAME=filterTblName +21-237-13:01:18.670 00 SCX_CPU1_DS_RE/254 wait 5 +21-237-13:01:18.670 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:01:20.785 00 TLMH-I:STS 58-012-14:04:40.004 INFO CPU=CPU1 APPNAME=DS EVENT ID=12 Filter table verify results: desc text = OK, good entries = 6, bad = 0, unused = 250 +21-237-13:01:20.786 00 TLMH-I:STS 58-012-14:04:40.004 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=36 DS validation successful for Inactive 'DS.FILTER_TBL' +21-237-13:01:23.674 00 SCX_CPU1_DS_RE/255 +21-237-13:01:23.674 00 SCX_CPU1_DS_RE/256 /SCX_CPU1_TBL_ACTIVATE ATableName=filterTblName +21-237-13:01:23.688 00 SCX_CPU1_DS_RE/257 wait 5 +21-237-13:01:23.688 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:01:24.785 00 TLMH-I:STS 58-012-14:04:44.004 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=37 DS Successfully Updated 'DS.FILTER_TBL' +21-237-13:01:28.692 00 SCX_CPU1_DS_RE/258 +21-237-13:01:28.692 00 SCX_CPU1_DS_RE/259 write ";***********************************************************************" +21-237-13:01:28.692 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:01:28.693 00 SCX_CPU1_DS_RE/260 write "; Step 1.3: Display the Housekeeping pages " +21-237-13:01:28.693 00 SPR-I:OPRO ; Step 1.3: Display the Housekeeping pages +21-237-13:01:28.693 00 SCX_CPU1_DS_RE/261 write ";***********************************************************************" +21-237-13:01:28.693 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:01:28.693 00 SCX_CPU1_DS_RE/262 page SCX_CPU1_DS_HK +21-237-13:01:28.792 00 SCX_CPU1_DS_RE/263 page SCX_CPU1_TST_DS_HK +21-237-13:01:28.877 00 SCX_CPU1_DS_RE/264 page SCX_CPU1_DS_FILTER_TBL +21-237-13:01:28.972 00 SCX_CPU1_DS_RE/265 page SCX_CPU1_DS_FILE_TBL +21-237-13:01:29.088 00 SCX_CPU1_DS_RE/266 +21-237-13:01:29.088 00 SCX_CPU1_DS_RE/267 write ";***********************************************************************" +21-237-13:01:29.088 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:01:29.088 00 SCX_CPU1_DS_RE/268 write "; Step 1.4: Start the Data Storage (DS) and Test Applications. " +21-237-13:01:29.088 00 SPR-I:OPRO ; Step 1.4: Start the Data Storage (DS) and Test Applications. +21-237-13:01:29.088 00 SCX_CPU1_DS_RE/269 write ";***********************************************************************" +21-237-13:01:29.088 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:01:29.088 00 SCX_CPU1_DS_RE/270 ;s scx_cpu1_ds_start_apps("1.4") +21-237-13:01:29.088 00 SCX_CPU1_DS_RE/271 ;wait 5 +21-237-13:01:29.088 00 SCX_CPU1_DS_RE/272 +21-237-13:01:29.088 00 SCX_CPU1_DS_RE/274 local hkPktId = "p0B8" +21-237-13:01:29.088 00 SCX_CPU1_DS_RE/275 +21-237-13:01:29.088 00 SCX_CPU1_DS_RE/277 local seqTlmItem = hkPktId & "scnt" +21-237-13:01:29.088 00 SCX_CPU1_DS_RE/278 local currSCnt = {seqTlmItem} +21-237-13:01:29.088 00 SCX_CPU1_DS_RE/279 local expectedSCnt = currSCnt + 2 +21-237-13:01:29.088 00 SCX_CPU1_DS_RE/280 +21-237-13:01:29.088 00 SCX_CPU1_DS_RE/281 ut_tlmwait {seqTlmItem}, {expectedSCnt} +21-237-13:01:29.093 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:01:37.103 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:01:37.105 00 SCX_CPU1_DS_RE/282 if (UT_TW_Status = UT_Success) then +21-237-13:01:37.105 00 SCX_CPU1_DS_RE/283 write "<*> Passed (8000) - Housekeeping packet is being generated." +21-237-13:01:37.105 00 SPR-I:OPRO <*> Passed (8000) - Housekeeping packet is being generated. +21-237-13:01:37.105 00 SCX_CPU1_DS_RE/284 ut_setrequirements DS_8000, "P" +21-237-13:01:37.108 00 SCX_CPU1_DS_RE/288 endif +21-237-13:01:37.108 00 SCX_CPU1_DS_RE/289 +21-237-13:01:37.108 00 SCX_CPU1_DS_RE/291 if (SCX_CPU1_DS_CMDPC = 0) AND (SCX_CPU1_DS_CMDEC = 0) AND ;; +21-237-13:01:37.108 00 SCX_CPU1_DS_RE/292 (SCX_CPU1_DS_DisabledPktCnt = 0) AND ;; +21-237-13:01:37.108 00 SCX_CPU1_DS_RE/293 (SCX_CPU1_DS_FilteredPktCnt = 0) AND (SCX_CPU1_DS_PassedPktCnt = 0) AND ;; +21-237-13:01:37.108 00 SCX_CPU1_DS_RE/294 (SCX_CPU1_DS_FileWriteCnt = 0) AND (SCX_CPU1_DS_FileWriteErrCnt = 0) AND ;; +21-237-13:01:37.108 00 SCX_CPU1_DS_RE/295 (SCX_CPU1_DS_FileUpdCnt = 0) AND (SCX_CPU1_DS_FileUpdErrCnt = 0) AND ;; +21-237-13:01:37.108 00 SCX_CPU1_DS_RE/296 (SCX_CPU1_DS_DestLoadCnt = 2) AND (SCX_CPU1_DS_DestPtrErrCnt = 0) AND ;; +21-237-13:01:37.108 00 SCX_CPU1_DS_RE/297 (SCX_CPU1_DS_FilterLoadCnt = 2) AND (SCX_CPU1_DS_FilterPtrErrCnt = 0) then +21-237-13:01:37.110 00 SCX_CPU1_DS_RE/298 write "<*> Passed (9000) - Housekeeping telemetry initialized properly." +21-237-13:01:37.110 00 SPR-I:OPRO <*> Passed (9000) - Housekeeping telemetry initialized properly. +21-237-13:01:37.110 00 SCX_CPU1_DS_RE/299 ut_setrequirements DS_9000, "P" +21-237-13:01:37.113 00 SCX_CPU1_DS_RE/316 endif +21-237-13:01:37.113 00 SCX_CPU1_DS_RE/317 +21-237-13:01:37.113 00 SCX_CPU1_DS_RE/319 if (SCX_CPU1_DS_DestLoadCnt = 2) AND (SCX_CPU1_DS_FilterLoadCnt = 2) then +21-237-13:01:37.113 00 SCX_CPU1_DS_RE/320 write "<*> Passed (9005;9007) - The tables were validated properly." +21-237-13:01:37.114 00 SPR-I:OPRO <*> Passed (9005;9007) - The tables were validated properly. +21-237-13:01:37.114 00 SCX_CPU1_DS_RE/321 ut_setrequirements DS_9005, "P" +21-237-13:01:37.143 00 SCX_CPU1_DS_RE/322 ut_setrequirements DS_9007, "P" +21-237-13:01:37.145 00 SCX_CPU1_DS_RE/332 endif +21-237-13:01:37.145 00 SCX_CPU1_DS_RE/333 +21-237-13:01:37.145 00 SCX_CPU1_DS_RE/336 s get_file_to_cvt (ramDir, "cfe_sb_route.dat", "cpu1_sb_route.dat", hostCPU) +21-237-13:01:37.145 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/get_file_to_cvt.i +21-237-13:01:37.148 00 SPR-I:STS Procedure GET_FILE_TO_CVT started +21-237-13:01:37.149 00 GET_FILE_TO_CV/2 ; +21-237-13:01:37.149 00 GET_FILE_TO_CV/3 local logging = %liv (log_procedure) +21-237-13:01:37.149 00 GET_FILE_TO_CV/4 %liv (log_procedure) = FALSE +21-237-13:01:37.177 00 SPR-I:OPRO Sending Command: /SCX_CPU1_SB_WRITEROUTING2FILE ROUTINFOFILENAME="/ram/cfe_sb_route.dat" +21-237-13:01:37.190 00 SPR-I:STTE Wait mode - waiting 15 seconds ... +21-237-13:01:52.202 00 SPR-I:OPRO The APID is: P0F02 +21-237-13:01:52.202 00 SPR-I:OPRO The CPU is: CPU3 +21-237-13:01:52.202 00 SPR-I:OPRO The IP Address is: 192.168.1.8 +21-237-13:01:52.204 00 SPR-I:OPRO The perl command is: perl /s/opr/accounts/global/tools/ftp.pl RAM:0 cfe_sb_route.dat cpu1_sb_route.dat binary 192.168.1.8 +21-237-13:01:52.339 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-237-13:01:52.339 00 SPR-I:STTE Wait mode - waiting 15 seconds ... +21-237-13:02:07.349 00 SPR-I:OPRO +21-237-13:02:07.369 00 SPR-I:OPRO The unix command is cvt -ws file_list[3842].file_write_time "`date +%y-%j-%T -r /s/opr/accounts/cfs_test/image/cpu1_sb_route.dat`" +21-237-13:02:07.369 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:02:12.376 00 GET_FILE_TO_CV/513 +21-237-13:02:12.376 00 GET_FILE_TO_CV/514 ENDPROC +21-237-13:02:12.376 00 SPR-I:STS Procedure GET_FILE_TO_CVT completed +21-237-13:02:12.377 00 SCX_CPU1_DS_RE/337 wait 5 +21-237-13:02:12.377 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:02:15.890 00 SPR-I:OPRI --> page SCX_CPU1_DS_FILE_HK +21-237-13:02:17.463 00 SCX_CPU1_DS_RE/338 +21-237-13:02:17.463 00 SCX_CPU1_DS_RE/339 local filterMsgID +21-237-13:02:17.463 00 SCX_CPU1_DS_RE/340 local filterEntries = 0 +21-237-13:02:17.463 00 SCX_CPU1_DS_RE/341 local foundSubscription = 0 +21-237-13:02:17.464 00 SCX_CPU1_DS_RE/342 +21-237-13:02:17.464 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:17.464 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:17.464 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:17.465 00 SCX_CPU1_DS_RE/346 filterEntries = filterEntries + 1 +21-237-13:02:17.465 00 SCX_CPU1_DS_RE/347 write "== Looking for msgID = ", %hex(filterMsgId,4) +21-237-13:02:17.465 00 SPR-I:OPRO == Looking for msgID = 0900 +21-237-13:02:17.465 00 SCX_CPU1_DS_RE/348 for sbIndex = 1 to 16320 do +21-237-13:02:17.466 00 SCX_CPU1_DS_RE/349 if (SCX_CPU1_SB_RouteEntry[sbIndex].SB_AppName = DSAppName) AND ;; +21-237-13:02:17.466 00 SCX_CPU1_DS_RE/350 (SCX_CPU1_SB_RouteEntry[sbIndex].SB_MsgID = filterMsgID) then +21-237-13:02:17.467 00 SCX_CPU1_DS_RE/353 elseif (SCX_CPU1_SB_RouteEntry[sbIndex].SB_AppName = "") then +21-237-13:02:17.467 00 SCX_CPU1_DS_RE/355 endif +21-237-13:02:17.467 00 SCX_CPU1_DS_RE/356 enddo +21-237-13:02:17.467 00 SCX_CPU1_DS_RE/348 for sbIndex = 1 to 16320 do +21-237-13:02:17.468 00 SCX_CPU1_DS_RE/349 if (SCX_CPU1_SB_RouteEntry[sbIndex].SB_AppName = DSAppName) AND ;; +21-237-13:02:17.468 00 SCX_CPU1_DS_RE/350 (SCX_CPU1_SB_RouteEntry[sbIndex].SB_MsgID = filterMsgID) then +21-237-13:02:17.469 00 SCX_CPU1_DS_RE/353 elseif (SCX_CPU1_SB_RouteEntry[sbIndex].SB_AppName = "") then +21-237-13:02:17.469 00 SCX_CPU1_DS_RE/354 break +21-237-13:02:17.469 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:17.469 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:17.469 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:17.470 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:17.470 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:17.471 00 SCX_CPU1_DS_RE/346 filterEntries = filterEntries + 1 +21-237-13:02:17.471 00 SCX_CPU1_DS_RE/347 write "== Looking for msgID = ", %hex(filterMsgId,4) +21-237-13:02:17.471 00 SPR-I:OPRO == Looking for msgID = 0901 +21-237-13:02:17.471 00 SCX_CPU1_DS_RE/348 for sbIndex = 1 to 16320 do +21-237-13:02:17.472 00 SCX_CPU1_DS_RE/349 if (SCX_CPU1_SB_RouteEntry[sbIndex].SB_AppName = DSAppName) AND ;; +21-237-13:02:17.472 00 SCX_CPU1_DS_RE/350 (SCX_CPU1_SB_RouteEntry[sbIndex].SB_MsgID = filterMsgID) then +21-237-13:02:17.472 00 SCX_CPU1_DS_RE/353 elseif (SCX_CPU1_SB_RouteEntry[sbIndex].SB_AppName = "") then +21-237-13:02:17.473 00 SCX_CPU1_DS_RE/355 endif +21-237-13:02:17.473 00 SCX_CPU1_DS_RE/356 enddo +21-237-13:02:17.473 00 SCX_CPU1_DS_RE/348 for sbIndex = 1 to 16320 do +21-237-13:02:17.473 00 SCX_CPU1_DS_RE/349 if (SCX_CPU1_SB_RouteEntry[sbIndex].SB_AppName = DSAppName) AND ;; +21-237-13:02:17.473 00 SCX_CPU1_DS_RE/350 (SCX_CPU1_SB_RouteEntry[sbIndex].SB_MsgID = filterMsgID) then +21-237-13:02:17.474 00 SCX_CPU1_DS_RE/353 elseif (SCX_CPU1_SB_RouteEntry[sbIndex].SB_AppName = "") then +21-237-13:02:17.474 00 SCX_CPU1_DS_RE/354 break +21-237-13:02:17.475 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:17.475 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:17.475 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:17.475 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:17.475 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:17.476 00 SCX_CPU1_DS_RE/346 filterEntries = filterEntries + 1 +21-237-13:02:17.476 00 SCX_CPU1_DS_RE/347 write "== Looking for msgID = ", %hex(filterMsgId,4) +21-237-13:02:17.476 00 SPR-I:OPRO == Looking for msgID = 0902 +21-237-13:02:17.476 00 SCX_CPU1_DS_RE/348 for sbIndex = 1 to 16320 do +21-237-13:02:17.476 00 SCX_CPU1_DS_RE/349 if (SCX_CPU1_SB_RouteEntry[sbIndex].SB_AppName = DSAppName) AND ;; +21-237-13:02:17.477 00 SCX_CPU1_DS_RE/350 (SCX_CPU1_SB_RouteEntry[sbIndex].SB_MsgID = filterMsgID) then +21-237-13:02:17.477 00 SCX_CPU1_DS_RE/353 elseif (SCX_CPU1_SB_RouteEntry[sbIndex].SB_AppName = "") then +21-237-13:02:17.478 00 SCX_CPU1_DS_RE/355 endif +21-237-13:02:17.478 00 SCX_CPU1_DS_RE/356 enddo +21-237-13:02:17.478 00 SCX_CPU1_DS_RE/348 for sbIndex = 1 to 16320 do +21-237-13:02:17.478 00 SCX_CPU1_DS_RE/349 if (SCX_CPU1_SB_RouteEntry[sbIndex].SB_AppName = DSAppName) AND ;; +21-237-13:02:17.478 00 SCX_CPU1_DS_RE/350 (SCX_CPU1_SB_RouteEntry[sbIndex].SB_MsgID = filterMsgID) then +21-237-13:02:17.479 00 SCX_CPU1_DS_RE/353 elseif (SCX_CPU1_SB_RouteEntry[sbIndex].SB_AppName = "") then +21-237-13:02:17.479 00 SCX_CPU1_DS_RE/354 break +21-237-13:02:17.480 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:17.480 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:17.480 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:17.481 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:17.481 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:17.481 00 SCX_CPU1_DS_RE/346 filterEntries = filterEntries + 1 +21-237-13:02:17.481 00 SCX_CPU1_DS_RE/347 write "== Looking for msgID = ", %hex(filterMsgId,4) +21-237-13:02:17.482 00 SPR-I:OPRO == Looking for msgID = 0903 +21-237-13:02:17.482 00 SCX_CPU1_DS_RE/348 for sbIndex = 1 to 16320 do +21-237-13:02:17.482 00 SCX_CPU1_DS_RE/349 if (SCX_CPU1_SB_RouteEntry[sbIndex].SB_AppName = DSAppName) AND ;; +21-237-13:02:17.482 00 SCX_CPU1_DS_RE/350 (SCX_CPU1_SB_RouteEntry[sbIndex].SB_MsgID = filterMsgID) then +21-237-13:02:17.483 00 SCX_CPU1_DS_RE/353 elseif (SCX_CPU1_SB_RouteEntry[sbIndex].SB_AppName = "") then +21-237-13:02:17.484 00 SCX_CPU1_DS_RE/355 endif +21-237-13:02:17.484 00 SCX_CPU1_DS_RE/356 enddo +21-237-13:02:17.484 00 SCX_CPU1_DS_RE/348 for sbIndex = 1 to 16320 do +21-237-13:02:17.485 00 SCX_CPU1_DS_RE/349 if (SCX_CPU1_SB_RouteEntry[sbIndex].SB_AppName = DSAppName) AND ;; +21-237-13:02:17.485 00 SCX_CPU1_DS_RE/350 (SCX_CPU1_SB_RouteEntry[sbIndex].SB_MsgID = filterMsgID) then +21-237-13:02:17.486 00 SCX_CPU1_DS_RE/353 elseif (SCX_CPU1_SB_RouteEntry[sbIndex].SB_AppName = "") then +21-237-13:02:17.486 00 SCX_CPU1_DS_RE/354 break +21-237-13:02:17.486 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:17.486 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:17.487 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:17.487 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:17.487 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:17.487 00 SCX_CPU1_DS_RE/346 filterEntries = filterEntries + 1 +21-237-13:02:17.487 00 SCX_CPU1_DS_RE/347 write "== Looking for msgID = ", %hex(filterMsgId,4) +21-237-13:02:17.488 00 SPR-I:OPRO == Looking for msgID = 0904 +21-237-13:02:17.488 00 SCX_CPU1_DS_RE/348 for sbIndex = 1 to 16320 do +21-237-13:02:17.488 00 SCX_CPU1_DS_RE/349 if (SCX_CPU1_SB_RouteEntry[sbIndex].SB_AppName = DSAppName) AND ;; +21-237-13:02:17.488 00 SCX_CPU1_DS_RE/350 (SCX_CPU1_SB_RouteEntry[sbIndex].SB_MsgID = filterMsgID) then +21-237-13:02:17.488 00 SCX_CPU1_DS_RE/353 elseif (SCX_CPU1_SB_RouteEntry[sbIndex].SB_AppName = "") then +21-237-13:02:17.489 00 SCX_CPU1_DS_RE/355 endif +21-237-13:02:17.489 00 SCX_CPU1_DS_RE/356 enddo +21-237-13:02:17.489 00 SCX_CPU1_DS_RE/348 for sbIndex = 1 to 16320 do +21-237-13:02:17.489 00 SCX_CPU1_DS_RE/349 if (SCX_CPU1_SB_RouteEntry[sbIndex].SB_AppName = DSAppName) AND ;; +21-237-13:02:17.489 00 SCX_CPU1_DS_RE/350 (SCX_CPU1_SB_RouteEntry[sbIndex].SB_MsgID = filterMsgID) then +21-237-13:02:17.490 00 SCX_CPU1_DS_RE/353 elseif (SCX_CPU1_SB_RouteEntry[sbIndex].SB_AppName = "") then +21-237-13:02:17.490 00 SCX_CPU1_DS_RE/354 break +21-237-13:02:17.490 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:17.490 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:17.490 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:17.491 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:17.491 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:17.491 00 SCX_CPU1_DS_RE/346 filterEntries = filterEntries + 1 +21-237-13:02:17.491 00 SCX_CPU1_DS_RE/347 write "== Looking for msgID = ", %hex(filterMsgId,4) +21-237-13:02:17.491 00 SPR-I:OPRO == Looking for msgID = 0905 +21-237-13:02:17.491 00 SCX_CPU1_DS_RE/348 for sbIndex = 1 to 16320 do +21-237-13:02:17.492 00 SCX_CPU1_DS_RE/349 if (SCX_CPU1_SB_RouteEntry[sbIndex].SB_AppName = DSAppName) AND ;; +21-237-13:02:17.492 00 SCX_CPU1_DS_RE/350 (SCX_CPU1_SB_RouteEntry[sbIndex].SB_MsgID = filterMsgID) then +21-237-13:02:17.492 00 SCX_CPU1_DS_RE/353 elseif (SCX_CPU1_SB_RouteEntry[sbIndex].SB_AppName = "") then +21-237-13:02:17.492 00 SCX_CPU1_DS_RE/355 endif +21-237-13:02:17.492 00 SCX_CPU1_DS_RE/356 enddo +21-237-13:02:17.492 00 SCX_CPU1_DS_RE/348 for sbIndex = 1 to 16320 do +21-237-13:02:17.492 00 SCX_CPU1_DS_RE/349 if (SCX_CPU1_SB_RouteEntry[sbIndex].SB_AppName = DSAppName) AND ;; +21-237-13:02:17.492 00 SCX_CPU1_DS_RE/350 (SCX_CPU1_SB_RouteEntry[sbIndex].SB_MsgID = filterMsgID) then +21-237-13:02:17.493 00 SCX_CPU1_DS_RE/353 elseif (SCX_CPU1_SB_RouteEntry[sbIndex].SB_AppName = "") then +21-237-13:02:17.493 00 SCX_CPU1_DS_RE/354 break +21-237-13:02:17.493 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:17.493 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:17.493 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:17.494 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:17.494 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:17.494 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:17.494 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:17.494 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:17.494 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:17.495 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:17.495 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:17.495 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:17.495 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:17.495 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:17.495 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:17.495 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:17.495 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:17.496 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:17.496 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:17.496 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:17.496 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:17.496 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:17.496 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:17.496 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:17.497 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:17.497 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:17.497 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:17.497 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:17.497 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:17.497 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:17.497 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:17.498 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:17.498 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:17.498 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:17.498 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:17.498 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:17.498 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:17.498 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:17.499 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:17.499 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:17.499 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:17.499 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:17.499 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:17.499 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:17.499 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:17.499 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:17.499 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:17.500 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:17.500 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:17.500 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:17.500 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:17.500 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:17.500 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:17.500 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:17.501 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:17.501 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:17.501 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:17.501 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:17.501 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:17.501 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:17.501 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:17.501 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:17.501 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:17.502 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:17.502 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:17.502 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:17.502 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:17.502 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:17.502 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:17.502 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:17.502 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:17.502 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:17.503 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:17.503 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:17.503 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:17.503 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:17.503 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:17.503 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:17.503 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:17.503 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:17.503 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:17.503 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:17.503 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:17.504 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:17.504 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:17.504 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:17.504 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:17.504 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:17.504 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:17.504 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:17.504 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:17.504 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:17.504 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:17.505 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:17.505 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:17.505 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:17.505 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:17.505 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:17.505 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:17.505 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:17.506 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:17.506 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:17.506 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:17.506 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:17.506 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:17.506 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:17.506 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:17.506 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:17.506 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:17.506 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:17.506 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:17.506 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:17.506 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:17.507 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:17.507 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:17.507 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:17.507 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:17.507 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:17.507 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:17.507 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:17.507 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:17.507 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:17.507 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:17.507 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:17.507 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:17.507 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:17.507 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:17.508 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:17.508 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:17.508 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:17.508 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:17.508 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:17.508 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:17.508 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:17.508 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:17.508 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:17.508 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:17.508 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:17.508 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:17.508 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:17.508 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:17.509 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:17.509 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:17.509 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:17.509 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:17.509 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:17.509 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:17.509 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:17.509 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:17.509 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:17.509 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:17.509 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:17.509 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:17.509 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:17.509 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:17.509 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:17.510 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:17.510 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:17.510 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:17.510 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:17.510 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:17.510 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:17.510 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:17.510 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:17.510 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:17.510 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:17.510 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:17.510 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:17.510 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:17.510 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:17.511 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:17.511 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:17.511 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:17.511 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:17.511 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:17.511 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:17.511 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:17.512 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:17.512 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:17.512 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:17.512 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:17.512 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:17.512 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:17.512 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:17.512 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:17.512 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:17.512 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:17.512 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:17.512 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:17.513 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:17.513 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:17.513 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:17.513 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:17.513 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:17.513 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:17.513 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:17.513 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:17.513 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:17.513 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:17.513 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:17.513 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:17.513 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:17.513 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:17.513 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:17.514 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:17.514 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:17.514 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:17.514 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:17.514 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:17.514 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:17.514 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:17.514 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:17.514 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:17.514 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:17.514 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:17.514 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:17.514 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:17.514 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:17.893 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:17.893 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:17.893 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:17.894 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:17.894 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:17.894 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:17.894 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:17.894 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:17.894 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:17.894 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:17.894 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:17.894 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:17.894 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:17.894 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:17.895 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:17.895 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:17.895 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:17.895 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:17.895 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:17.895 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:17.895 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:17.895 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:17.895 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:17.895 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:17.895 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:17.895 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:17.895 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:17.895 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:17.896 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:17.896 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:17.896 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:17.896 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:17.896 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:17.896 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:17.896 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:17.896 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:17.896 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:17.896 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:17.896 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:17.896 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:17.896 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:17.896 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:17.896 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:17.896 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:17.897 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:17.897 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:17.897 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:17.897 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:17.897 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:17.897 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:17.897 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:17.897 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:17.897 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:17.897 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:17.897 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:17.897 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:17.897 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:17.898 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:17.898 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:17.898 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:17.898 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:17.898 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:17.898 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:17.898 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:17.898 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:17.898 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:17.898 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:17.898 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:17.898 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:17.898 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:17.898 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:17.899 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:17.899 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:17.899 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:17.899 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:17.899 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:17.899 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:17.899 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:17.899 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:17.899 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:17.899 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:17.900 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:17.900 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:17.900 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:17.900 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:17.900 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:17.900 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:17.900 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:17.900 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:17.900 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:17.900 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:17.900 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:17.900 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:17.900 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:17.901 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:17.901 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:17.901 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:17.901 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:17.901 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:17.901 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:17.901 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:17.901 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:17.901 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:17.901 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:17.901 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:17.901 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:17.902 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:17.902 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:17.902 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:17.902 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:17.902 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:17.902 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:17.902 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:17.902 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:17.902 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:17.902 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:17.902 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:17.902 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:17.902 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:17.903 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:17.903 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:17.903 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:17.903 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:17.903 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:17.903 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:17.903 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:17.903 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:17.903 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:17.903 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:17.903 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:17.903 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:17.904 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:17.904 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:17.904 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:17.904 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:17.904 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:17.904 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:17.904 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:17.904 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:17.904 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:17.904 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:17.904 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:17.904 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:17.904 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:17.904 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:17.904 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:17.905 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:17.905 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:17.905 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:17.905 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:17.905 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:17.905 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:17.905 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:17.905 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:17.905 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:17.905 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:17.905 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:17.906 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:17.906 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:17.906 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:17.906 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:17.906 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:17.906 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:17.906 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:17.906 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:17.906 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:17.906 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:17.906 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:17.906 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:17.906 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:17.907 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:17.907 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:17.907 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:17.907 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:17.907 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:17.907 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:17.907 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:17.907 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:17.907 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:17.907 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:17.907 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:17.907 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:17.907 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:17.907 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:17.907 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:17.908 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:17.908 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:17.908 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:17.908 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:17.908 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:17.908 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:17.908 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:17.908 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:17.908 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:17.908 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:17.908 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:17.908 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:17.908 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:17.908 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:17.908 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:17.908 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:17.909 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:17.909 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:17.909 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:17.909 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:17.909 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:17.909 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:17.909 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:17.909 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:17.909 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:17.909 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:17.909 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:17.909 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:17.910 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:17.910 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:17.910 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:17.910 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:17.910 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:17.910 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:17.910 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:17.910 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:17.910 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:17.910 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:17.910 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:17.910 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:17.910 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:17.911 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:17.911 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:17.911 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:17.911 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:17.911 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:17.911 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:17.911 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:17.911 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:17.911 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:17.911 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:17.911 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:17.911 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:17.911 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:17.912 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:17.912 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:17.912 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:17.912 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:17.912 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:17.912 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:17.912 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:17.912 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:17.912 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:17.912 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:17.912 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:17.912 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:17.912 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:17.912 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:17.913 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:17.913 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:17.913 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:17.913 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:17.913 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:17.913 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:17.913 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:17.913 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:17.913 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:17.913 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:17.913 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:17.913 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:17.913 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:17.915 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:17.915 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:17.915 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:17.915 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:17.915 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:17.915 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:17.915 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:17.915 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:17.916 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:17.916 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:17.916 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:17.916 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:17.916 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:18.277 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:18.277 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:18.277 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:18.277 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:18.277 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:18.277 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:18.277 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:18.278 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:18.278 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:18.278 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:18.278 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:18.278 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:18.278 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:18.278 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:18.278 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:18.278 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:18.278 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:18.278 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:18.279 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:18.279 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:18.279 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:18.279 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:18.279 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:18.279 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:18.279 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:18.279 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:18.279 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:18.279 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:18.279 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:18.279 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:18.279 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:18.280 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:18.280 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:18.280 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:18.280 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:18.280 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:18.280 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:18.280 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:18.280 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:18.280 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:18.280 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:18.280 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:18.281 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:18.281 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:18.281 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:18.281 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:18.281 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:18.281 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:18.281 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:18.281 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:18.281 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:18.281 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:18.281 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:18.281 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:18.281 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:18.282 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:18.282 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:18.282 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:18.282 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:18.282 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:18.282 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:18.282 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:18.282 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:18.282 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:18.282 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:18.282 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:18.282 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:18.283 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:18.283 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:18.283 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:18.283 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:18.283 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:18.283 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:18.283 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:18.283 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:18.283 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:18.283 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:18.283 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:18.283 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:18.283 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:18.284 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:18.284 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:18.284 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:18.284 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:18.284 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:18.284 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:18.284 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:18.284 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:18.284 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:18.284 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:18.285 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:18.285 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:18.285 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:18.285 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:18.285 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:18.285 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:18.285 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:18.285 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:18.285 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:18.285 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:18.285 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:18.286 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:18.286 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:18.286 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:18.286 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:18.286 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:18.286 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:18.286 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:18.286 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:18.286 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:18.286 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:18.287 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:18.287 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:18.287 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:18.287 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:18.287 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:18.287 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:18.287 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:18.287 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:18.287 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:18.287 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:18.287 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:18.288 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:18.288 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:18.288 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:18.288 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:18.288 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:18.288 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:18.288 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:18.288 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:18.288 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:18.288 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:18.288 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:18.289 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:18.289 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:18.289 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:18.289 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:18.289 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:18.289 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:18.289 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:18.289 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:18.289 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:18.289 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:18.289 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:18.290 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:18.290 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:18.290 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:18.290 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:18.294 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:18.294 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:18.294 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:18.295 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:18.295 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:18.295 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:18.295 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:18.295 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:18.295 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:18.295 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:18.295 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:18.295 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:18.295 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:18.295 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:18.295 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:18.295 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:18.295 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:18.296 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:18.296 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:18.296 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:18.296 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:18.296 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:18.296 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:18.296 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:18.296 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:18.296 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:18.296 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:18.296 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:18.296 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:18.297 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:18.297 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:18.297 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:18.297 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:18.297 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:18.297 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:18.297 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:18.297 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:18.297 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:18.297 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:18.298 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:18.298 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:18.298 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:18.298 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:18.298 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:18.298 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:18.298 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:18.298 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:18.298 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:18.298 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:18.298 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:18.298 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:18.298 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:18.298 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:18.299 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:18.299 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:18.299 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:18.299 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:18.299 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:18.299 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:18.299 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:18.299 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:18.299 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:18.299 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:18.299 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:18.299 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:18.299 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:18.299 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:18.299 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:18.300 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:18.300 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:18.300 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:18.300 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:18.300 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:18.300 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:18.300 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:18.300 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:18.300 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:18.300 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:18.684 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:18.684 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:18.684 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:18.684 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:18.684 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:18.684 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:18.684 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:18.684 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:18.684 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:18.684 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:18.685 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:18.685 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:18.685 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:18.685 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:18.685 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:18.685 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:18.685 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:18.685 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:18.685 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:18.685 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:18.685 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:18.685 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:18.685 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:18.685 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:18.685 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:18.685 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:18.686 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:18.686 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:18.686 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:18.686 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:18.686 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:18.686 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:18.686 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:18.686 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:18.686 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:18.686 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:18.686 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:18.686 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:18.686 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:18.686 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:18.686 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:18.687 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:18.687 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:18.687 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:18.687 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:18.687 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:18.687 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:18.687 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:18.687 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:18.687 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:18.687 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:18.687 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:18.687 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:18.687 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:18.687 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:18.688 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:18.688 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:18.688 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:18.688 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:18.688 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:18.688 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:18.688 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:18.688 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:18.688 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:18.688 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:18.688 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:18.688 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:18.688 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:18.688 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:18.688 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:18.689 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:18.689 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:18.689 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:18.689 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:18.689 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:18.689 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:18.689 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:18.689 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:18.689 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:18.689 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:18.689 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:18.689 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:18.689 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:18.689 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:18.689 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:18.690 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:18.690 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:18.690 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:18.690 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:18.690 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:18.690 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:18.690 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:18.690 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:18.690 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:18.690 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:18.690 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:18.690 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:18.690 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:18.690 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:18.690 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:18.690 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:18.690 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:18.691 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:18.691 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:18.691 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:18.691 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:18.691 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:18.691 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:18.691 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:18.691 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:18.691 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:18.691 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:18.691 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:18.691 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:18.691 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:18.691 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:18.691 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:18.691 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:18.691 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:18.692 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:18.692 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:18.692 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:18.692 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:18.692 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:18.692 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:18.692 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:18.692 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:18.692 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:18.692 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:18.692 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:18.692 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:18.692 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:18.692 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:18.692 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:18.693 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:18.693 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:18.693 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:18.693 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:18.693 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:18.693 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:18.693 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:18.693 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:18.693 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:18.693 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:18.693 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:18.693 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:18.693 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:18.693 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:18.693 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:18.694 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:18.694 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:18.694 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:18.694 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:18.694 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:18.694 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:18.694 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:18.694 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:18.694 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:18.694 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:18.694 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:18.694 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:18.694 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:18.695 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:18.695 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:18.695 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:18.695 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:18.695 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:18.695 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:18.695 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:18.695 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:18.695 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:18.695 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:18.695 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:18.695 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:18.695 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:18.696 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:18.696 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:18.696 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:18.696 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:18.696 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:18.696 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:18.696 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:18.696 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:18.696 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:18.696 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:18.696 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:18.696 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:18.696 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:18.696 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:18.697 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:18.697 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:18.697 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:18.697 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:18.697 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:18.697 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:18.697 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:18.697 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:18.697 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:18.697 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:18.697 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:18.697 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:18.698 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:18.698 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:18.698 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:18.698 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:18.698 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:18.698 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:18.698 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:18.698 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:18.698 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:18.698 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:18.698 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:18.698 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:18.698 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:18.698 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:18.698 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:18.698 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:18.699 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:18.699 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:18.699 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:18.699 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:18.699 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:18.699 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:18.699 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:18.699 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:18.699 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:18.699 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:19.036 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:19.036 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:19.036 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:19.036 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:19.037 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:19.037 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:19.037 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:19.037 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:19.037 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:19.037 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:19.037 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:19.037 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:19.037 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:19.037 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:19.037 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:19.037 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:19.038 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:19.038 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:19.038 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:19.038 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:19.038 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:19.038 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:19.038 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:19.038 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:19.038 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:19.038 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:19.038 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:19.038 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:19.038 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:19.039 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:19.039 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:19.039 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:19.039 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:19.039 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:19.039 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:19.039 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:19.039 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:19.039 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:19.039 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:19.039 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:19.039 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:19.039 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:19.040 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:19.040 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:19.040 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:19.040 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:19.040 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:19.040 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:19.040 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:19.040 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:19.040 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:19.040 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:19.040 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:19.041 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:19.041 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:19.041 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:19.041 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:19.041 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:19.041 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:19.041 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:19.041 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:19.041 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:19.041 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:19.041 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:19.041 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:19.041 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:19.041 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:19.042 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:19.042 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:19.042 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:19.042 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:19.042 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:19.042 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:19.042 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:19.042 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:19.042 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:19.042 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:19.042 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:19.042 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:19.043 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:19.043 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:19.043 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:19.043 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:19.043 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:19.043 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:19.043 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:19.043 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:19.043 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:19.043 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:19.043 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:19.043 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:19.043 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:19.043 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:19.044 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:19.044 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:19.044 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:19.044 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:19.044 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:19.044 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:19.044 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:19.044 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:19.044 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:19.044 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:19.044 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:19.044 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:19.045 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:19.045 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:19.045 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:19.045 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:19.045 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:19.045 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:19.045 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:19.045 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:19.045 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:19.045 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:19.045 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:19.045 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:19.045 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:19.045 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:19.045 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:19.046 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:19.046 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:19.046 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:19.046 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:19.046 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:19.046 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:19.046 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:19.046 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:19.046 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:19.046 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:19.046 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:19.046 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:19.046 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:19.046 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:19.047 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:19.047 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:19.047 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:19.047 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:19.047 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:19.047 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:19.047 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:19.047 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:19.047 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:19.047 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:19.047 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:19.047 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:19.047 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:19.047 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:19.047 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:19.047 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:19.048 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:19.048 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:19.048 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:19.048 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:19.048 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:19.048 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:19.048 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:19.048 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:19.048 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:19.048 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:19.048 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:19.048 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:19.048 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:19.048 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:19.048 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:19.048 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:19.048 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:19.049 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:19.049 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:19.049 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:19.049 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:19.049 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:19.049 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:19.049 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:19.049 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:19.049 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:19.049 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:19.049 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:19.049 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:19.049 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:19.049 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:19.049 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:19.050 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:19.050 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:19.050 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:19.050 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:19.050 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:19.050 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:19.050 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:19.050 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:19.050 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:19.050 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:19.050 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:19.050 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:19.050 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:19.050 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:19.050 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:19.050 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:19.051 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:19.051 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:19.051 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:19.051 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:19.051 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:19.051 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:19.051 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:19.051 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:19.051 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:19.051 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:19.051 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:19.051 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:19.051 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:19.051 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:19.051 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:19.051 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:19.051 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:19.052 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:19.052 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:19.052 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:19.052 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:19.052 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:19.052 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:19.052 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:19.052 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:19.052 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:19.052 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:19.052 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:19.052 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:19.406 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:19.406 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:19.406 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:19.406 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:19.406 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:19.407 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:19.407 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:19.407 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:19.407 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:19.407 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:19.407 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:19.407 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:19.407 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:19.407 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:19.407 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:19.407 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:19.407 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:19.407 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:19.408 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:19.408 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:19.408 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:19.408 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:19.408 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:19.408 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:19.408 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:19.408 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:19.408 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:19.408 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:19.408 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:19.408 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:19.408 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:19.408 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:19.409 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:19.409 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:19.409 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:19.409 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:19.409 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:19.409 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:19.409 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:19.409 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:19.409 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:19.409 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:19.409 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:19.409 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:19.409 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:19.410 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:19.410 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:19.410 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:19.410 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:19.410 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:19.410 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:19.410 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:19.410 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:19.410 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:19.410 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:19.410 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:19.411 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:19.411 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:19.411 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:19.411 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:19.411 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:19.411 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:19.411 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:19.411 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:19.411 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:19.411 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:19.411 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:19.412 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:19.412 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:19.412 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:19.412 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:19.412 00 SCX_CPU1_DS_RE/344 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:02:19.412 00 SCX_CPU1_DS_RE/345 if (filterMsgID <> 0) then +21-237-13:02:19.412 00 SCX_CPU1_DS_RE/357 endif +21-237-13:02:19.412 00 SCX_CPU1_DS_RE/358 enddo +21-237-13:02:19.412 00 SCX_CPU1_DS_RE/343 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:02:19.412 00 SCX_CPU1_DS_RE/359 +21-237-13:02:19.412 00 SCX_CPU1_DS_RE/360 if (foundSubscription = filterEntries) then +21-237-13:02:19.412 00 SCX_CPU1_DS_RE/363 else +21-237-13:02:19.412 00 SCX_CPU1_DS_RE/364 write " Failed (9006) - Expected ",filterEntries," message ID subscriptions. Found ",foundSubscription +21-237-13:02:19.412 00 SPR-I:OPRO Failed (9006) - Expected 6 message ID subscriptions. Found 0 +21-237-13:02:19.412 00 SCX_CPU1_DS_RE/365 ut_setrequirements DS_9006, "F" +21-237-13:02:19.413 00 SCX_CPU1_DS_RE/366 endif +21-237-13:02:19.413 00 SCX_CPU1_DS_RE/367 +21-237-13:02:19.413 00 SCX_CPU1_DS_RE/369 if (DS_DEF_ENABLE_STATE = 1) then +21-237-13:02:19.413 00 SCX_CPU1_DS_RE/370 if (p@SCX_CPU1_DS_AppEnaState = "Enabled") then +21-237-13:02:19.414 00 SCX_CPU1_DS_RE/371 write "<*> Passed (9008) - DS Application State is enabled as expected." +21-237-13:02:19.414 00 SPR-I:OPRO <*> Passed (9008) - DS Application State is enabled as expected. +21-237-13:02:19.414 00 SCX_CPU1_DS_RE/372 ut_setrequirements DS_9008, "P" +21-237-13:02:19.414 00 SCX_CPU1_DS_RE/376 endif +21-237-13:02:19.414 00 SCX_CPU1_DS_RE/385 endif +21-237-13:02:19.415 00 SCX_CPU1_DS_RE/386 +21-237-13:02:19.415 00 SCX_CPU1_DS_RE/387 wait 5 +21-237-13:02:19.415 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:02:24.418 00 SCX_CPU1_DS_RE/388 +21-237-13:02:24.418 00 SCX_CPU1_DS_RE/389 write ";***********************************************************************" +21-237-13:02:24.418 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:02:24.418 00 SCX_CPU1_DS_RE/390 write "; Step 1.5: Enable DEBUG Event Messages " +21-237-13:02:24.418 00 SPR-I:OPRO ; Step 1.5: Enable DEBUG Event Messages +21-237-13:02:24.418 00 SCX_CPU1_DS_RE/391 write ";***********************************************************************" +21-237-13:02:24.418 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:02:24.418 00 SCX_CPU1_DS_RE/392 local cmdCtr = SCX_CPU1_EVS_CMDPC + 1 +21-237-13:02:24.418 00 SCX_CPU1_DS_RE/393 +21-237-13:02:24.418 00 SCX_CPU1_DS_RE/395 /SCX_CPU1_EVS_EnaAppEVTType Application=DSAppName DEBUG +21-237-13:02:24.429 00 SCX_CPU1_DS_RE/396 +21-237-13:02:24.429 00 SCX_CPU1_DS_RE/397 ut_tlmwait SCX_CPU1_EVS_CMDPC, {cmdCtr} +21-237-13:02:24.432 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:02:29.437 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:02:29.438 00 SCX_CPU1_DS_RE/398 if (UT_TW_Status = UT_Success) then +21-237-13:02:29.439 00 SCX_CPU1_DS_RE/399 write "<*> Passed - Enable Debug events command sent properly." +21-237-13:02:29.439 00 SPR-I:OPRO <*> Passed - Enable Debug events command sent properly. +21-237-13:02:29.439 00 SCX_CPU1_DS_RE/402 endif +21-237-13:02:29.439 00 SCX_CPU1_DS_RE/403 +21-237-13:02:29.439 00 SCX_CPU1_DS_RE/404 write ";***********************************************************************" +21-237-13:02:29.439 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:02:29.439 00 SCX_CPU1_DS_RE/405 write "; Step 1.6: Dump the Destination File and Packet Filter tables. " +21-237-13:02:29.439 00 SPR-I:OPRO ; Step 1.6: Dump the Destination File and Packet Filter tables. +21-237-13:02:29.440 00 SCX_CPU1_DS_RE/406 write ";***********************************************************************" +21-237-13:02:29.440 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:02:29.440 00 SCX_CPU1_DS_RE/408 s get_tbl_to_cvt (ramDir,filterTblName,"A","cpu1_filtertbl16",hostCPU,filterTblPktId) +21-237-13:02:29.440 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/get_tbl_to_cvt.i +21-237-13:02:29.443 00 SPR-I:STS Procedure GET_TBL_TO_CVT started +21-237-13:02:29.443 00 GET_TBL_TO_CVT/2 ; +21-237-13:02:29.443 00 GET_TBL_TO_CVT/3 local logging = %liv (log_procedure) +21-237-13:02:29.444 00 GET_TBL_TO_CVT/4 %liv (log_procedure) = FALSE +21-237-13:02:29.462 00 SPR-I:OPRO Sending Command: /SCX_CPU1_TBL_DUMP ACTIVE DTABLENAME="DS.FILTER_TBL" DFILENAME="/ram/cpu1_filtertbl16" +21-237-13:02:29.475 00 SPR-I:STTE Wait mode - waiting 15 seconds ... +21-237-13:02:30.280 00 TLMH-I:STS 58-012-14:05:49.502 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=14 Successfully dumped Table 'DS.FILTER_TBL' to '/ram/cpu1_filtertbl16' +21-237-13:02:44.487 00 SPR-I:OPRO +21-237-13:02:44.487 00 SPR-I:OPRO The TBLNAME is: DS.FILTER_TBL +21-237-13:02:44.487 00 SPR-I:OPRO The APID is: P0F77 +21-237-13:02:44.487 00 SPR-I:OPRO The CPU is: CPU3 +21-237-13:02:44.487 00 SPR-I:OPRO The IP Address is: 192.168.1.8 +21-237-13:02:44.488 00 SPR-I:OPRO The perl command is: perl /s/opr/accounts/global/tools/ftp.pl RAM:0 cpu1_filtertbl16 cpu1_filtertbl16 binary 192.168.1.8 +21-237-13:02:44.621 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-237-13:02:44.622 00 SPR-I:STTE Wait mode - waiting 15 seconds ... +21-237-13:02:59.634 00 SPR-I:OPRO +21-237-13:02:59.673 00 SPR-I:OPRO The unix command is cvt -ws file_list[3959].file_write_time "`date +%y-%j-%T -r /s/opr/accounts/cfs_test/image/cpu1_filtertbl16`" +21-237-13:02:59.673 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:03:04.677 00 GET_TBL_TO_CVT/238 +21-237-13:03:04.678 00 GET_TBL_TO_CVT/239 ENDPROC +21-237-13:03:04.678 00 SPR-I:STS Procedure GET_TBL_TO_CVT completed +21-237-13:03:04.679 00 SCX_CPU1_DS_RE/409 +21-237-13:03:04.679 00 SCX_CPU1_DS_RE/410 local filterEntryCount = 0 +21-237-13:03:04.679 00 SCX_CPU1_DS_RE/412 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:03:04.679 00 SCX_CPU1_DS_RE/413 if (SCX_CPU1_DS_PF_TBL[i].MessageID <> DS_UNUSED) then +21-237-13:03:04.679 00 SCX_CPU1_DS_RE/414 filterEntryCount = filterEntryCount + 1 +21-237-13:03:04.680 00 SCX_CPU1_DS_RE/415 write "==> MessageID = ",%hex(SCX_CPU1_DS_PF_TBL[i].MessageID,4) +21-237-13:03:04.680 00 SPR-I:OPRO ==> MessageID = 0900 +21-237-13:03:04.680 00 SCX_CPU1_DS_RE/416 for j = 0 to DS_FILTERS_PER_PACKET-1 do +21-237-13:03:04.680 00 SCX_CPU1_DS_RE/417 if (SCX_CPU1_DS_PF_TBL[i].FilterParams[j].FilterType <> DS_UNUSED) then +21-237-13:03:04.681 00 SCX_CPU1_DS_RE/418 write "==> File Index = ",SCX_CPU1_DS_PF_TBL[i].FilterParams[j].Index +21-237-13:03:04.681 00 SPR-I:OPRO ==> File Index = 0 +21-237-13:03:04.681 00 SCX_CPU1_DS_RE/419 write "==> Filter Type = ",SCX_CPU1_DS_PF_TBL[i].FilterParams[j].FilterType +21-237-13:03:04.682 00 SPR-I:OPRO ==> Filter Type = 1 +21-237-13:03:04.682 00 SCX_CPU1_DS_RE/420 write "==> N Value = ",SCX_CPU1_DS_PF_TBL[i].FilterParams[j].N_Value +21-237-13:03:04.682 00 SPR-I:OPRO ==> N Value = 1 +21-237-13:03:04.682 00 SCX_CPU1_DS_RE/421 write "==> X Value = ",SCX_CPU1_DS_PF_TBL[i].FilterParams[j].X_Value +21-237-13:03:04.683 00 SPR-I:OPRO ==> X Value = 1 +21-237-13:03:04.683 00 SCX_CPU1_DS_RE/422 write "==> O Value = ",SCX_CPU1_DS_PF_TBL[i].FilterParams[j].O_Value +21-237-13:03:04.683 00 SPR-I:OPRO ==> O Value = 0 +21-237-13:03:04.683 00 SCX_CPU1_DS_RE/423 endif +21-237-13:03:04.684 00 SCX_CPU1_DS_RE/424 enddo +21-237-13:03:04.694 00 SCX_CPU1_DS_RE/416 for j = 0 to DS_FILTERS_PER_PACKET-1 do +21-237-13:03:04.694 00 SCX_CPU1_DS_RE/417 if (SCX_CPU1_DS_PF_TBL[i].FilterParams[j].FilterType <> DS_UNUSED) then +21-237-13:03:04.695 00 SCX_CPU1_DS_RE/418 write "==> File Index = ",SCX_CPU1_DS_PF_TBL[i].FilterParams[j].Index +21-237-13:03:04.695 00 SPR-I:OPRO ==> File Index = 1 +21-237-13:03:04.695 00 SCX_CPU1_DS_RE/419 write "==> Filter Type = ",SCX_CPU1_DS_PF_TBL[i].FilterParams[j].FilterType +21-237-13:03:04.696 00 SPR-I:OPRO ==> Filter Type = 1 +21-237-13:03:04.696 00 SCX_CPU1_DS_RE/420 write "==> N Value = ",SCX_CPU1_DS_PF_TBL[i].FilterParams[j].N_Value +21-237-13:03:04.697 00 SPR-I:OPRO ==> N Value = 1 +21-237-13:03:04.697 00 SCX_CPU1_DS_RE/421 write "==> X Value = ",SCX_CPU1_DS_PF_TBL[i].FilterParams[j].X_Value +21-237-13:03:04.697 00 SPR-I:OPRO ==> X Value = 1 +21-237-13:03:04.697 00 SCX_CPU1_DS_RE/422 write "==> O Value = ",SCX_CPU1_DS_PF_TBL[i].FilterParams[j].O_Value +21-237-13:03:04.698 00 SPR-I:OPRO ==> O Value = 0 +21-237-13:03:04.698 00 SCX_CPU1_DS_RE/423 endif +21-237-13:03:04.698 00 SCX_CPU1_DS_RE/424 enddo +21-237-13:03:04.698 00 SCX_CPU1_DS_RE/416 for j = 0 to DS_FILTERS_PER_PACKET-1 do +21-237-13:03:04.699 00 SCX_CPU1_DS_RE/417 if (SCX_CPU1_DS_PF_TBL[i].FilterParams[j].FilterType <> DS_UNUSED) then +21-237-13:03:04.699 00 SCX_CPU1_DS_RE/418 write "==> File Index = ",SCX_CPU1_DS_PF_TBL[i].FilterParams[j].Index +21-237-13:03:04.700 00 SPR-I:OPRO ==> File Index = 2 +21-237-13:03:04.700 00 SCX_CPU1_DS_RE/419 write "==> Filter Type = ",SCX_CPU1_DS_PF_TBL[i].FilterParams[j].FilterType +21-237-13:03:04.700 00 SPR-I:OPRO ==> Filter Type = 1 +21-237-13:03:04.701 00 SCX_CPU1_DS_RE/420 write "==> N Value = ",SCX_CPU1_DS_PF_TBL[i].FilterParams[j].N_Value +21-237-13:03:04.701 00 SPR-I:OPRO ==> N Value = 1 +21-237-13:03:04.701 00 SCX_CPU1_DS_RE/421 write "==> X Value = ",SCX_CPU1_DS_PF_TBL[i].FilterParams[j].X_Value +21-237-13:03:04.702 00 SPR-I:OPRO ==> X Value = 1 +21-237-13:03:04.702 00 SCX_CPU1_DS_RE/422 write "==> O Value = ",SCX_CPU1_DS_PF_TBL[i].FilterParams[j].O_Value +21-237-13:03:04.703 00 SPR-I:OPRO ==> O Value = 0 +21-237-13:03:04.703 00 SCX_CPU1_DS_RE/423 endif +21-237-13:03:04.703 00 SCX_CPU1_DS_RE/424 enddo +21-237-13:03:04.703 00 SCX_CPU1_DS_RE/416 for j = 0 to DS_FILTERS_PER_PACKET-1 do +21-237-13:03:04.706 00 SCX_CPU1_DS_RE/417 if (SCX_CPU1_DS_PF_TBL[i].FilterParams[j].FilterType <> DS_UNUSED) then +21-237-13:03:04.707 00 SCX_CPU1_DS_RE/418 write "==> File Index = ",SCX_CPU1_DS_PF_TBL[i].FilterParams[j].Index +21-237-13:03:04.707 00 SPR-I:OPRO ==> File Index = 3 +21-237-13:03:04.707 00 SCX_CPU1_DS_RE/419 write "==> Filter Type = ",SCX_CPU1_DS_PF_TBL[i].FilterParams[j].FilterType +21-237-13:03:04.708 00 SPR-I:OPRO ==> Filter Type = 1 +21-237-13:03:04.708 00 SCX_CPU1_DS_RE/420 write "==> N Value = ",SCX_CPU1_DS_PF_TBL[i].FilterParams[j].N_Value +21-237-13:03:04.708 00 SPR-I:OPRO ==> N Value = 1 +21-237-13:03:04.709 00 SCX_CPU1_DS_RE/421 write "==> X Value = ",SCX_CPU1_DS_PF_TBL[i].FilterParams[j].X_Value +21-237-13:03:04.709 00 SPR-I:OPRO ==> X Value = 1 +21-237-13:03:04.709 00 SCX_CPU1_DS_RE/422 write "==> O Value = ",SCX_CPU1_DS_PF_TBL[i].FilterParams[j].O_Value +21-237-13:03:04.710 00 SPR-I:OPRO ==> O Value = 0 +21-237-13:03:04.710 00 SCX_CPU1_DS_RE/423 endif +21-237-13:03:04.710 00 SCX_CPU1_DS_RE/424 enddo +21-237-13:03:04.710 00 SCX_CPU1_DS_RE/416 for j = 0 to DS_FILTERS_PER_PACKET-1 do +21-237-13:03:04.711 00 SCX_CPU1_DS_RE/427 endif +21-237-13:03:04.711 00 SCX_CPU1_DS_RE/428 enddo +21-237-13:03:04.711 00 SCX_CPU1_DS_RE/412 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:03:04.711 00 SCX_CPU1_DS_RE/413 if (SCX_CPU1_DS_PF_TBL[i].MessageID <> DS_UNUSED) then +21-237-13:03:04.712 00 SCX_CPU1_DS_RE/414 filterEntryCount = filterEntryCount + 1 +21-237-13:03:04.712 00 SCX_CPU1_DS_RE/415 write "==> MessageID = ",%hex(SCX_CPU1_DS_PF_TBL[i].MessageID,4) +21-237-13:03:04.712 00 SPR-I:OPRO ==> MessageID = 0901 +21-237-13:03:04.712 00 SCX_CPU1_DS_RE/416 for j = 0 to DS_FILTERS_PER_PACKET-1 do +21-237-13:03:04.712 00 SCX_CPU1_DS_RE/417 if (SCX_CPU1_DS_PF_TBL[i].FilterParams[j].FilterType <> DS_UNUSED) then +21-237-13:03:04.713 00 SCX_CPU1_DS_RE/418 write "==> File Index = ",SCX_CPU1_DS_PF_TBL[i].FilterParams[j].Index +21-237-13:03:04.713 00 SPR-I:OPRO ==> File Index = 4 +21-237-13:03:04.713 00 SCX_CPU1_DS_RE/419 write "==> Filter Type = ",SCX_CPU1_DS_PF_TBL[i].FilterParams[j].FilterType +21-237-13:03:04.714 00 SPR-I:OPRO ==> Filter Type = 2 +21-237-13:03:04.714 00 SCX_CPU1_DS_RE/420 write "==> N Value = ",SCX_CPU1_DS_PF_TBL[i].FilterParams[j].N_Value +21-237-13:03:04.714 00 SPR-I:OPRO ==> N Value = 1 +21-237-13:03:04.714 00 SCX_CPU1_DS_RE/421 write "==> X Value = ",SCX_CPU1_DS_PF_TBL[i].FilterParams[j].X_Value +21-237-13:03:04.715 00 SPR-I:OPRO ==> X Value = 1 +21-237-13:03:04.715 00 SCX_CPU1_DS_RE/422 write "==> O Value = ",SCX_CPU1_DS_PF_TBL[i].FilterParams[j].O_Value +21-237-13:03:04.716 00 SPR-I:OPRO ==> O Value = 0 +21-237-13:03:04.716 00 SCX_CPU1_DS_RE/423 endif +21-237-13:03:04.716 00 SCX_CPU1_DS_RE/424 enddo +21-237-13:03:04.716 00 SCX_CPU1_DS_RE/416 for j = 0 to DS_FILTERS_PER_PACKET-1 do +21-237-13:03:04.731 00 SCX_CPU1_DS_RE/417 if (SCX_CPU1_DS_PF_TBL[i].FilterParams[j].FilterType <> DS_UNUSED) then +21-237-13:03:04.731 00 SCX_CPU1_DS_RE/418 write "==> File Index = ",SCX_CPU1_DS_PF_TBL[i].FilterParams[j].Index +21-237-13:03:04.731 00 SPR-I:OPRO ==> File Index = 5 +21-237-13:03:04.731 00 SCX_CPU1_DS_RE/419 write "==> Filter Type = ",SCX_CPU1_DS_PF_TBL[i].FilterParams[j].FilterType +21-237-13:03:04.732 00 SPR-I:OPRO ==> Filter Type = 2 +21-237-13:03:04.732 00 SCX_CPU1_DS_RE/420 write "==> N Value = ",SCX_CPU1_DS_PF_TBL[i].FilterParams[j].N_Value +21-237-13:03:04.732 00 SPR-I:OPRO ==> N Value = 1 +21-237-13:03:04.732 00 SCX_CPU1_DS_RE/421 write "==> X Value = ",SCX_CPU1_DS_PF_TBL[i].FilterParams[j].X_Value +21-237-13:03:04.732 00 SPR-I:OPRO ==> X Value = 1 +21-237-13:03:04.732 00 SCX_CPU1_DS_RE/422 write "==> O Value = ",SCX_CPU1_DS_PF_TBL[i].FilterParams[j].O_Value +21-237-13:03:04.732 00 SPR-I:OPRO ==> O Value = 0 +21-237-13:03:04.732 00 SCX_CPU1_DS_RE/423 endif +21-237-13:03:04.732 00 SCX_CPU1_DS_RE/424 enddo +21-237-13:03:04.732 00 SCX_CPU1_DS_RE/416 for j = 0 to DS_FILTERS_PER_PACKET-1 do +21-237-13:03:04.732 00 SCX_CPU1_DS_RE/417 if (SCX_CPU1_DS_PF_TBL[i].FilterParams[j].FilterType <> DS_UNUSED) then +21-237-13:03:04.733 00 SCX_CPU1_DS_RE/418 write "==> File Index = ",SCX_CPU1_DS_PF_TBL[i].FilterParams[j].Index +21-237-13:03:04.733 00 SPR-I:OPRO ==> File Index = 6 +21-237-13:03:04.733 00 SCX_CPU1_DS_RE/419 write "==> Filter Type = ",SCX_CPU1_DS_PF_TBL[i].FilterParams[j].FilterType +21-237-13:03:04.733 00 SPR-I:OPRO ==> Filter Type = 2 +21-237-13:03:04.733 00 SCX_CPU1_DS_RE/420 write "==> N Value = ",SCX_CPU1_DS_PF_TBL[i].FilterParams[j].N_Value +21-237-13:03:04.733 00 SPR-I:OPRO ==> N Value = 1 +21-237-13:03:04.733 00 SCX_CPU1_DS_RE/421 write "==> X Value = ",SCX_CPU1_DS_PF_TBL[i].FilterParams[j].X_Value +21-237-13:03:04.733 00 SPR-I:OPRO ==> X Value = 1 +21-237-13:03:04.733 00 SCX_CPU1_DS_RE/422 write "==> O Value = ",SCX_CPU1_DS_PF_TBL[i].FilterParams[j].O_Value +21-237-13:03:04.733 00 SPR-I:OPRO ==> O Value = 0 +21-237-13:03:04.734 00 SCX_CPU1_DS_RE/423 endif +21-237-13:03:04.734 00 SCX_CPU1_DS_RE/424 enddo +21-237-13:03:04.734 00 SCX_CPU1_DS_RE/416 for j = 0 to DS_FILTERS_PER_PACKET-1 do +21-237-13:03:04.740 00 SCX_CPU1_DS_RE/417 if (SCX_CPU1_DS_PF_TBL[i].FilterParams[j].FilterType <> DS_UNUSED) then +21-237-13:03:04.740 00 SCX_CPU1_DS_RE/418 write "==> File Index = ",SCX_CPU1_DS_PF_TBL[i].FilterParams[j].Index +21-237-13:03:04.740 00 SPR-I:OPRO ==> File Index = 7 +21-237-13:03:04.740 00 SCX_CPU1_DS_RE/419 write "==> Filter Type = ",SCX_CPU1_DS_PF_TBL[i].FilterParams[j].FilterType +21-237-13:03:04.740 00 SPR-I:OPRO ==> Filter Type = 2 +21-237-13:03:04.740 00 SCX_CPU1_DS_RE/420 write "==> N Value = ",SCX_CPU1_DS_PF_TBL[i].FilterParams[j].N_Value +21-237-13:03:04.741 00 SPR-I:OPRO ==> N Value = 1 +21-237-13:03:04.741 00 SCX_CPU1_DS_RE/421 write "==> X Value = ",SCX_CPU1_DS_PF_TBL[i].FilterParams[j].X_Value +21-237-13:03:04.741 00 SPR-I:OPRO ==> X Value = 1 +21-237-13:03:04.741 00 SCX_CPU1_DS_RE/422 write "==> O Value = ",SCX_CPU1_DS_PF_TBL[i].FilterParams[j].O_Value +21-237-13:03:04.741 00 SPR-I:OPRO ==> O Value = 0 +21-237-13:03:04.741 00 SCX_CPU1_DS_RE/423 endif +21-237-13:03:04.741 00 SCX_CPU1_DS_RE/424 enddo +21-237-13:03:04.741 00 SCX_CPU1_DS_RE/416 for j = 0 to DS_FILTERS_PER_PACKET-1 do +21-237-13:03:04.741 00 SCX_CPU1_DS_RE/427 endif +21-237-13:03:04.741 00 SCX_CPU1_DS_RE/428 enddo +21-237-13:03:04.741 00 SCX_CPU1_DS_RE/412 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:03:04.741 00 SCX_CPU1_DS_RE/413 if (SCX_CPU1_DS_PF_TBL[i].MessageID <> DS_UNUSED) then +21-237-13:03:04.741 00 SCX_CPU1_DS_RE/414 filterEntryCount = filterEntryCount + 1 +21-237-13:03:04.741 00 SCX_CPU1_DS_RE/415 write "==> MessageID = ",%hex(SCX_CPU1_DS_PF_TBL[i].MessageID,4) +21-237-13:03:04.742 00 SPR-I:OPRO ==> MessageID = 0902 +21-237-13:03:04.742 00 SCX_CPU1_DS_RE/416 for j = 0 to DS_FILTERS_PER_PACKET-1 do +21-237-13:03:04.742 00 SCX_CPU1_DS_RE/417 if (SCX_CPU1_DS_PF_TBL[i].FilterParams[j].FilterType <> DS_UNUSED) then +21-237-13:03:04.742 00 SCX_CPU1_DS_RE/418 write "==> File Index = ",SCX_CPU1_DS_PF_TBL[i].FilterParams[j].Index +21-237-13:03:04.742 00 SPR-I:OPRO ==> File Index = 0 +21-237-13:03:04.742 00 SCX_CPU1_DS_RE/419 write "==> Filter Type = ",SCX_CPU1_DS_PF_TBL[i].FilterParams[j].FilterType +21-237-13:03:04.742 00 SPR-I:OPRO ==> Filter Type = 1 +21-237-13:03:04.742 00 SCX_CPU1_DS_RE/420 write "==> N Value = ",SCX_CPU1_DS_PF_TBL[i].FilterParams[j].N_Value +21-237-13:03:04.742 00 SPR-I:OPRO ==> N Value = 1 +21-237-13:03:04.742 00 SCX_CPU1_DS_RE/421 write "==> X Value = ",SCX_CPU1_DS_PF_TBL[i].FilterParams[j].X_Value +21-237-13:03:04.742 00 SPR-I:OPRO ==> X Value = 3 +21-237-13:03:04.742 00 SCX_CPU1_DS_RE/422 write "==> O Value = ",SCX_CPU1_DS_PF_TBL[i].FilterParams[j].O_Value +21-237-13:03:04.743 00 SPR-I:OPRO ==> O Value = 0 +21-237-13:03:04.743 00 SCX_CPU1_DS_RE/423 endif +21-237-13:03:04.743 00 SCX_CPU1_DS_RE/424 enddo +21-237-13:03:04.743 00 SCX_CPU1_DS_RE/416 for j = 0 to DS_FILTERS_PER_PACKET-1 do +21-237-13:03:04.743 00 SCX_CPU1_DS_RE/417 if (SCX_CPU1_DS_PF_TBL[i].FilterParams[j].FilterType <> DS_UNUSED) then +21-237-13:03:04.743 00 SCX_CPU1_DS_RE/423 endif +21-237-13:03:04.743 00 SCX_CPU1_DS_RE/424 enddo +21-237-13:03:04.743 00 SCX_CPU1_DS_RE/416 for j = 0 to DS_FILTERS_PER_PACKET-1 do +21-237-13:03:04.743 00 SCX_CPU1_DS_RE/417 if (SCX_CPU1_DS_PF_TBL[i].FilterParams[j].FilterType <> DS_UNUSED) then +21-237-13:03:04.743 00 SCX_CPU1_DS_RE/423 endif +21-237-13:03:04.743 00 SCX_CPU1_DS_RE/424 enddo +21-237-13:03:04.743 00 SCX_CPU1_DS_RE/416 for j = 0 to DS_FILTERS_PER_PACKET-1 do +21-237-13:03:04.744 00 SCX_CPU1_DS_RE/417 if (SCX_CPU1_DS_PF_TBL[i].FilterParams[j].FilterType <> DS_UNUSED) then +21-237-13:03:04.744 00 SCX_CPU1_DS_RE/423 endif +21-237-13:03:04.744 00 SCX_CPU1_DS_RE/424 enddo +21-237-13:03:04.744 00 SCX_CPU1_DS_RE/416 for j = 0 to DS_FILTERS_PER_PACKET-1 do +21-237-13:03:04.749 00 SCX_CPU1_DS_RE/427 endif +21-237-13:03:04.749 00 SCX_CPU1_DS_RE/428 enddo +21-237-13:03:04.749 00 SCX_CPU1_DS_RE/412 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:03:04.749 00 SCX_CPU1_DS_RE/413 if (SCX_CPU1_DS_PF_TBL[i].MessageID <> DS_UNUSED) then +21-237-13:03:04.749 00 SCX_CPU1_DS_RE/414 filterEntryCount = filterEntryCount + 1 +21-237-13:03:04.749 00 SCX_CPU1_DS_RE/415 write "==> MessageID = ",%hex(SCX_CPU1_DS_PF_TBL[i].MessageID,4) +21-237-13:03:04.749 00 SPR-I:OPRO ==> MessageID = 0903 +21-237-13:03:04.749 00 SCX_CPU1_DS_RE/416 for j = 0 to DS_FILTERS_PER_PACKET-1 do +21-237-13:03:04.749 00 SCX_CPU1_DS_RE/417 if (SCX_CPU1_DS_PF_TBL[i].FilterParams[j].FilterType <> DS_UNUSED) then +21-237-13:03:04.749 00 SCX_CPU1_DS_RE/418 write "==> File Index = ",SCX_CPU1_DS_PF_TBL[i].FilterParams[j].Index +21-237-13:03:04.749 00 SPR-I:OPRO ==> File Index = 1 +21-237-13:03:04.750 00 SCX_CPU1_DS_RE/419 write "==> Filter Type = ",SCX_CPU1_DS_PF_TBL[i].FilterParams[j].FilterType +21-237-13:03:04.750 00 SPR-I:OPRO ==> Filter Type = 1 +21-237-13:03:04.750 00 SCX_CPU1_DS_RE/420 write "==> N Value = ",SCX_CPU1_DS_PF_TBL[i].FilterParams[j].N_Value +21-237-13:03:04.750 00 SPR-I:OPRO ==> N Value = 1 +21-237-13:03:04.750 00 SCX_CPU1_DS_RE/421 write "==> X Value = ",SCX_CPU1_DS_PF_TBL[i].FilterParams[j].X_Value +21-237-13:03:04.750 00 SPR-I:OPRO ==> X Value = 1 +21-237-13:03:04.750 00 SCX_CPU1_DS_RE/422 write "==> O Value = ",SCX_CPU1_DS_PF_TBL[i].FilterParams[j].O_Value +21-237-13:03:04.750 00 SPR-I:OPRO ==> O Value = 0 +21-237-13:03:04.750 00 SCX_CPU1_DS_RE/423 endif +21-237-13:03:04.750 00 SCX_CPU1_DS_RE/424 enddo +21-237-13:03:04.750 00 SCX_CPU1_DS_RE/416 for j = 0 to DS_FILTERS_PER_PACKET-1 do +21-237-13:03:04.750 00 SCX_CPU1_DS_RE/417 if (SCX_CPU1_DS_PF_TBL[i].FilterParams[j].FilterType <> DS_UNUSED) then +21-237-13:03:04.750 00 SCX_CPU1_DS_RE/423 endif +21-237-13:03:04.750 00 SCX_CPU1_DS_RE/424 enddo +21-237-13:03:04.751 00 SCX_CPU1_DS_RE/416 for j = 0 to DS_FILTERS_PER_PACKET-1 do +21-237-13:03:04.751 00 SCX_CPU1_DS_RE/417 if (SCX_CPU1_DS_PF_TBL[i].FilterParams[j].FilterType <> DS_UNUSED) then +21-237-13:03:04.751 00 SCX_CPU1_DS_RE/423 endif +21-237-13:03:04.751 00 SCX_CPU1_DS_RE/424 enddo +21-237-13:03:04.751 00 SCX_CPU1_DS_RE/416 for j = 0 to DS_FILTERS_PER_PACKET-1 do +21-237-13:03:04.751 00 SCX_CPU1_DS_RE/417 if (SCX_CPU1_DS_PF_TBL[i].FilterParams[j].FilterType <> DS_UNUSED) then +21-237-13:03:04.751 00 SCX_CPU1_DS_RE/423 endif +21-237-13:03:04.751 00 SCX_CPU1_DS_RE/424 enddo +21-237-13:03:04.751 00 SCX_CPU1_DS_RE/416 for j = 0 to DS_FILTERS_PER_PACKET-1 do +21-237-13:03:04.751 00 SCX_CPU1_DS_RE/427 endif +21-237-13:03:04.752 00 SCX_CPU1_DS_RE/428 enddo +21-237-13:03:04.752 00 SCX_CPU1_DS_RE/412 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:03:04.752 00 SCX_CPU1_DS_RE/413 if (SCX_CPU1_DS_PF_TBL[i].MessageID <> DS_UNUSED) then +21-237-13:03:04.752 00 SCX_CPU1_DS_RE/414 filterEntryCount = filterEntryCount + 1 +21-237-13:03:04.752 00 SCX_CPU1_DS_RE/415 write "==> MessageID = ",%hex(SCX_CPU1_DS_PF_TBL[i].MessageID,4) +21-237-13:03:04.752 00 SPR-I:OPRO ==> MessageID = 0904 +21-237-13:03:04.752 00 SCX_CPU1_DS_RE/416 for j = 0 to DS_FILTERS_PER_PACKET-1 do +21-237-13:03:04.752 00 SCX_CPU1_DS_RE/417 if (SCX_CPU1_DS_PF_TBL[i].FilterParams[j].FilterType <> DS_UNUSED) then +21-237-13:03:04.752 00 SCX_CPU1_DS_RE/418 write "==> File Index = ",SCX_CPU1_DS_PF_TBL[i].FilterParams[j].Index +21-237-13:03:04.752 00 SPR-I:OPRO ==> File Index = 4 +21-237-13:03:04.752 00 SCX_CPU1_DS_RE/419 write "==> Filter Type = ",SCX_CPU1_DS_PF_TBL[i].FilterParams[j].FilterType +21-237-13:03:04.752 00 SPR-I:OPRO ==> Filter Type = 1 +21-237-13:03:04.752 00 SCX_CPU1_DS_RE/420 write "==> N Value = ",SCX_CPU1_DS_PF_TBL[i].FilterParams[j].N_Value +21-237-13:03:04.753 00 SPR-I:OPRO ==> N Value = 1 +21-237-13:03:04.753 00 SCX_CPU1_DS_RE/421 write "==> X Value = ",SCX_CPU1_DS_PF_TBL[i].FilterParams[j].X_Value +21-237-13:03:04.753 00 SPR-I:OPRO ==> X Value = 1 +21-237-13:03:04.758 00 SCX_CPU1_DS_RE/422 write "==> O Value = ",SCX_CPU1_DS_PF_TBL[i].FilterParams[j].O_Value +21-237-13:03:04.758 00 SPR-I:OPRO ==> O Value = 0 +21-237-13:03:04.759 00 SCX_CPU1_DS_RE/423 endif +21-237-13:03:04.759 00 SCX_CPU1_DS_RE/424 enddo +21-237-13:03:04.759 00 SCX_CPU1_DS_RE/416 for j = 0 to DS_FILTERS_PER_PACKET-1 do +21-237-13:03:04.759 00 SCX_CPU1_DS_RE/417 if (SCX_CPU1_DS_PF_TBL[i].FilterParams[j].FilterType <> DS_UNUSED) then +21-237-13:03:04.759 00 SCX_CPU1_DS_RE/423 endif +21-237-13:03:04.759 00 SCX_CPU1_DS_RE/424 enddo +21-237-13:03:04.759 00 SCX_CPU1_DS_RE/416 for j = 0 to DS_FILTERS_PER_PACKET-1 do +21-237-13:03:04.759 00 SCX_CPU1_DS_RE/417 if (SCX_CPU1_DS_PF_TBL[i].FilterParams[j].FilterType <> DS_UNUSED) then +21-237-13:03:04.759 00 SCX_CPU1_DS_RE/423 endif +21-237-13:03:04.759 00 SCX_CPU1_DS_RE/424 enddo +21-237-13:03:04.759 00 SCX_CPU1_DS_RE/416 for j = 0 to DS_FILTERS_PER_PACKET-1 do +21-237-13:03:04.760 00 SCX_CPU1_DS_RE/417 if (SCX_CPU1_DS_PF_TBL[i].FilterParams[j].FilterType <> DS_UNUSED) then +21-237-13:03:04.760 00 SCX_CPU1_DS_RE/423 endif +21-237-13:03:04.760 00 SCX_CPU1_DS_RE/424 enddo +21-237-13:03:04.760 00 SCX_CPU1_DS_RE/416 for j = 0 to DS_FILTERS_PER_PACKET-1 do +21-237-13:03:04.760 00 SCX_CPU1_DS_RE/427 endif +21-237-13:03:04.760 00 SCX_CPU1_DS_RE/428 enddo +21-237-13:03:04.760 00 SCX_CPU1_DS_RE/412 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:03:04.760 00 SCX_CPU1_DS_RE/413 if (SCX_CPU1_DS_PF_TBL[i].MessageID <> DS_UNUSED) then +21-237-13:03:04.760 00 SCX_CPU1_DS_RE/414 filterEntryCount = filterEntryCount + 1 +21-237-13:03:04.760 00 SCX_CPU1_DS_RE/415 write "==> MessageID = ",%hex(SCX_CPU1_DS_PF_TBL[i].MessageID,4) +21-237-13:03:04.760 00 SPR-I:OPRO ==> MessageID = 0905 +21-237-13:03:04.760 00 SCX_CPU1_DS_RE/416 for j = 0 to DS_FILTERS_PER_PACKET-1 do +21-237-13:03:04.761 00 SCX_CPU1_DS_RE/417 if (SCX_CPU1_DS_PF_TBL[i].FilterParams[j].FilterType <> DS_UNUSED) then +21-237-13:03:04.761 00 SCX_CPU1_DS_RE/418 write "==> File Index = ",SCX_CPU1_DS_PF_TBL[i].FilterParams[j].Index +21-237-13:03:04.761 00 SPR-I:OPRO ==> File Index = 1 +21-237-13:03:04.761 00 SCX_CPU1_DS_RE/419 write "==> Filter Type = ",SCX_CPU1_DS_PF_TBL[i].FilterParams[j].FilterType +21-237-13:03:04.761 00 SPR-I:OPRO ==> Filter Type = 2 +21-237-13:03:04.761 00 SCX_CPU1_DS_RE/420 write "==> N Value = ",SCX_CPU1_DS_PF_TBL[i].FilterParams[j].N_Value +21-237-13:03:04.761 00 SPR-I:OPRO ==> N Value = 1 +21-237-13:03:04.761 00 SCX_CPU1_DS_RE/421 write "==> X Value = ",SCX_CPU1_DS_PF_TBL[i].FilterParams[j].X_Value +21-237-13:03:04.761 00 SPR-I:OPRO ==> X Value = 1 +21-237-13:03:04.761 00 SCX_CPU1_DS_RE/422 write "==> O Value = ",SCX_CPU1_DS_PF_TBL[i].FilterParams[j].O_Value +21-237-13:03:04.761 00 SPR-I:OPRO ==> O Value = 0 +21-237-13:03:04.767 00 SCX_CPU1_DS_RE/423 endif +21-237-13:03:04.767 00 SCX_CPU1_DS_RE/424 enddo +21-237-13:03:04.767 00 SCX_CPU1_DS_RE/416 for j = 0 to DS_FILTERS_PER_PACKET-1 do +21-237-13:03:04.767 00 SCX_CPU1_DS_RE/417 if (SCX_CPU1_DS_PF_TBL[i].FilterParams[j].FilterType <> DS_UNUSED) then +21-237-13:03:04.767 00 SCX_CPU1_DS_RE/423 endif +21-237-13:03:04.767 00 SCX_CPU1_DS_RE/424 enddo +21-237-13:03:04.767 00 SCX_CPU1_DS_RE/416 for j = 0 to DS_FILTERS_PER_PACKET-1 do +21-237-13:03:04.767 00 SCX_CPU1_DS_RE/417 if (SCX_CPU1_DS_PF_TBL[i].FilterParams[j].FilterType <> DS_UNUSED) then +21-237-13:03:04.768 00 SCX_CPU1_DS_RE/423 endif +21-237-13:03:04.768 00 SCX_CPU1_DS_RE/424 enddo +21-237-13:03:04.768 00 SCX_CPU1_DS_RE/416 for j = 0 to DS_FILTERS_PER_PACKET-1 do +21-237-13:03:04.768 00 SCX_CPU1_DS_RE/417 if (SCX_CPU1_DS_PF_TBL[i].FilterParams[j].FilterType <> DS_UNUSED) then +21-237-13:03:04.768 00 SCX_CPU1_DS_RE/423 endif +21-237-13:03:04.768 00 SCX_CPU1_DS_RE/424 enddo +21-237-13:03:04.768 00 SCX_CPU1_DS_RE/416 for j = 0 to DS_FILTERS_PER_PACKET-1 do +21-237-13:03:04.768 00 SCX_CPU1_DS_RE/427 endif +21-237-13:03:04.768 00 SCX_CPU1_DS_RE/428 enddo +21-237-13:03:04.768 00 SCX_CPU1_DS_RE/412 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:03:04.768 00 SCX_CPU1_DS_RE/413 if (SCX_CPU1_DS_PF_TBL[i].MessageID <> DS_UNUSED) then +21-237-13:03:04.768 00 SCX_CPU1_DS_RE/425 else +21-237-13:03:04.768 00 SCX_CPU1_DS_RE/426 i = DS_PACKETS_IN_FILTER_TABLE +21-237-13:03:04.768 00 SCX_CPU1_DS_RE/427 endif +21-237-13:03:04.768 00 SCX_CPU1_DS_RE/428 enddo +21-237-13:03:04.769 00 SCX_CPU1_DS_RE/412 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:03:04.769 00 SCX_CPU1_DS_RE/429 +21-237-13:03:04.769 00 SCX_CPU1_DS_RE/431 s get_tbl_to_cvt (ramDir,fileTblName,"A","cpu1_filetbl17",hostCPU,fileTblPktId) +21-237-13:03:04.769 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/get_tbl_to_cvt.i +21-237-13:03:04.770 00 SPR-I:STS Procedure GET_TBL_TO_CVT started +21-237-13:03:04.770 00 GET_TBL_TO_CVT/2 ; +21-237-13:03:04.775 00 GET_TBL_TO_CVT/3 local logging = %liv (log_procedure) +21-237-13:03:04.776 00 GET_TBL_TO_CVT/4 %liv (log_procedure) = FALSE +21-237-13:03:04.781 00 SPR-I:OPRO Sending Command: /SCX_CPU1_TBL_DUMP ACTIVE DTABLENAME="DS.FILE_TBL" DFILENAME="/ram/cpu1_filetbl17" +21-237-13:03:04.794 00 SPR-I:STTE Wait mode - waiting 15 seconds ... +21-237-13:03:05.280 00 TLMH-I:STS 58-012-14:06:24.502 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=14 Successfully dumped Table 'DS.FILE_TBL' to '/ram/cpu1_filetbl17' +21-237-13:03:19.805 00 SPR-I:OPRO +21-237-13:03:19.805 00 SPR-I:OPRO The TBLNAME is: DS.FILE_TBL +21-237-13:03:19.805 00 SPR-I:OPRO The APID is: P0F76 +21-237-13:03:19.806 00 SPR-I:OPRO The CPU is: CPU3 +21-237-13:03:19.806 00 SPR-I:OPRO The IP Address is: 192.168.1.8 +21-237-13:03:19.810 00 SPR-I:OPRO The perl command is: perl /s/opr/accounts/global/tools/ftp.pl RAM:0 cpu1_filetbl17 cpu1_filetbl17 binary 192.168.1.8 +21-237-13:03:19.985 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-237-13:03:19.985 00 SPR-I:STTE Wait mode - waiting 15 seconds ... +21-237-13:03:34.996 00 SPR-I:OPRO +21-237-13:03:35.013 00 SPR-I:OPRO The unix command is cvt -ws file_list[3958].file_write_time "`date +%y-%j-%T -r /s/opr/accounts/cfs_test/image/cpu1_filetbl17`" +21-237-13:03:35.013 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:03:40.018 00 GET_TBL_TO_CVT/238 +21-237-13:03:40.019 00 GET_TBL_TO_CVT/239 ENDPROC +21-237-13:03:40.019 00 SPR-I:STS Procedure GET_TBL_TO_CVT completed +21-237-13:03:40.020 00 SCX_CPU1_DS_RE/432 +21-237-13:03:40.020 00 SCX_CPU1_DS_RE/433 local fileEntryCount = 0 +21-237-13:03:40.020 00 SCX_CPU1_DS_RE/435 for i = 0 to DS_DEST_FILE_CNT-1 do +21-237-13:03:40.020 00 SCX_CPU1_DS_RE/436 if (SCX_CPU1_DS_DF_TBL[i].FileNameType <> DS_UNUSED) then +21-237-13:03:40.021 00 SCX_CPU1_DS_RE/437 fileEntryCount = fileEntryCount + 1 +21-237-13:03:40.021 00 SCX_CPU1_DS_RE/438 write "==> Pathname = '",SCX_CPU1_DS_DF_TBL[i].Pathname,"'" +21-237-13:03:40.021 00 SPR-I:OPRO ==> Pathname = '/ram/' +21-237-13:03:40.022 00 SCX_CPU1_DS_RE/439 write "==> Basename = '",SCX_CPU1_DS_DF_TBL[i].Basename,"'" +21-237-13:03:40.022 00 SPR-I:OPRO ==> Basename = 'seq1' +21-237-13:03:40.022 00 SCX_CPU1_DS_RE/440 write "==> Extension = '",SCX_CPU1_DS_DF_TBL[i].Extension,"'" +21-237-13:03:40.022 00 SPR-I:OPRO ==> Extension = '.dat' +21-237-13:03:40.023 00 SCX_CPU1_DS_RE/441 write "==> Name Type = ",p@SCX_CPU1_DS_DF_TBL[i].FileNameType +21-237-13:03:40.023 00 SPR-I:OPRO ==> Name Type = Count +21-237-13:03:40.023 00 SCX_CPU1_DS_RE/442 write "==> State = ",p@SCX_CPU1_DS_DF_TBL[i].FileState +21-237-13:03:40.023 00 SPR-I:OPRO ==> State = Enabled +21-237-13:03:40.023 00 SCX_CPU1_DS_RE/443 write "==> Max Size = ",SCX_CPU1_DS_DF_TBL[i].FileSize +21-237-13:03:40.023 00 SPR-I:OPRO ==> Max Size = 1024 +21-237-13:03:40.023 00 SCX_CPU1_DS_RE/444 write "==> Max Age = ",SCX_CPU1_DS_DF_TBL[i].FileAge +21-237-13:03:40.023 00 SPR-I:OPRO ==> Max Age = 600 +21-237-13:03:40.023 00 SCX_CPU1_DS_RE/445 write "==> Seq Count = ",SCX_CPU1_DS_DF_TBL[i].SeqCnt +21-237-13:03:40.023 00 SPR-I:OPRO ==> Seq Count = 100 +21-237-13:03:40.026 00 SCX_CPU1_DS_RE/448 endif +21-237-13:03:40.026 00 SCX_CPU1_DS_RE/449 enddo +21-237-13:03:40.027 00 SCX_CPU1_DS_RE/435 for i = 0 to DS_DEST_FILE_CNT-1 do +21-237-13:03:40.027 00 SCX_CPU1_DS_RE/436 if (SCX_CPU1_DS_DF_TBL[i].FileNameType <> DS_UNUSED) then +21-237-13:03:40.027 00 SCX_CPU1_DS_RE/437 fileEntryCount = fileEntryCount + 1 +21-237-13:03:40.027 00 SCX_CPU1_DS_RE/438 write "==> Pathname = '",SCX_CPU1_DS_DF_TBL[i].Pathname,"'" +21-237-13:03:40.027 00 SPR-I:OPRO ==> Pathname = '/ram/' +21-237-13:03:40.027 00 SCX_CPU1_DS_RE/439 write "==> Basename = '",SCX_CPU1_DS_DF_TBL[i].Basename,"'" +21-237-13:03:40.027 00 SPR-I:OPRO ==> Basename = 'seq2' +21-237-13:03:40.027 00 SCX_CPU1_DS_RE/440 write "==> Extension = '",SCX_CPU1_DS_DF_TBL[i].Extension,"'" +21-237-13:03:40.027 00 SPR-I:OPRO ==> Extension = '.dat' +21-237-13:03:40.027 00 SCX_CPU1_DS_RE/441 write "==> Name Type = ",p@SCX_CPU1_DS_DF_TBL[i].FileNameType +21-237-13:03:40.027 00 SPR-I:OPRO ==> Name Type = Count +21-237-13:03:40.027 00 SCX_CPU1_DS_RE/442 write "==> State = ",p@SCX_CPU1_DS_DF_TBL[i].FileState +21-237-13:03:40.027 00 SPR-I:OPRO ==> State = Enabled +21-237-13:03:40.027 00 SCX_CPU1_DS_RE/443 write "==> Max Size = ",SCX_CPU1_DS_DF_TBL[i].FileSize +21-237-13:03:40.028 00 SPR-I:OPRO ==> Max Size = 1024 +21-237-13:03:40.028 00 SCX_CPU1_DS_RE/444 write "==> Max Age = ",SCX_CPU1_DS_DF_TBL[i].FileAge +21-237-13:03:40.028 00 SPR-I:OPRO ==> Max Age = 600 +21-237-13:03:40.028 00 SCX_CPU1_DS_RE/445 write "==> Seq Count = ",SCX_CPU1_DS_DF_TBL[i].SeqCnt +21-237-13:03:40.028 00 SPR-I:OPRO ==> Seq Count = 200 +21-237-13:03:40.028 00 SCX_CPU1_DS_RE/448 endif +21-237-13:03:40.028 00 SCX_CPU1_DS_RE/449 enddo +21-237-13:03:40.028 00 SCX_CPU1_DS_RE/435 for i = 0 to DS_DEST_FILE_CNT-1 do +21-237-13:03:40.028 00 SCX_CPU1_DS_RE/436 if (SCX_CPU1_DS_DF_TBL[i].FileNameType <> DS_UNUSED) then +21-237-13:03:40.028 00 SCX_CPU1_DS_RE/437 fileEntryCount = fileEntryCount + 1 +21-237-13:03:40.028 00 SCX_CPU1_DS_RE/438 write "==> Pathname = '",SCX_CPU1_DS_DF_TBL[i].Pathname,"'" +21-237-13:03:40.029 00 SPR-I:OPRO ==> Pathname = '/ram/' +21-237-13:03:40.029 00 SCX_CPU1_DS_RE/439 write "==> Basename = '",SCX_CPU1_DS_DF_TBL[i].Basename,"'" +21-237-13:03:40.029 00 SPR-I:OPRO ==> Basename = 'seq3' +21-237-13:03:40.029 00 SCX_CPU1_DS_RE/440 write "==> Extension = '",SCX_CPU1_DS_DF_TBL[i].Extension,"'" +21-237-13:03:40.029 00 SPR-I:OPRO ==> Extension = '.dat' +21-237-13:03:40.029 00 SCX_CPU1_DS_RE/441 write "==> Name Type = ",p@SCX_CPU1_DS_DF_TBL[i].FileNameType +21-237-13:03:40.029 00 SPR-I:OPRO ==> Name Type = Count +21-237-13:03:40.029 00 SCX_CPU1_DS_RE/442 write "==> State = ",p@SCX_CPU1_DS_DF_TBL[i].FileState +21-237-13:03:40.029 00 SPR-I:OPRO ==> State = Enabled +21-237-13:03:40.031 00 SCX_CPU1_DS_RE/443 write "==> Max Size = ",SCX_CPU1_DS_DF_TBL[i].FileSize +21-237-13:03:40.031 00 SPR-I:OPRO ==> Max Size = 1024 +21-237-13:03:40.031 00 SCX_CPU1_DS_RE/444 write "==> Max Age = ",SCX_CPU1_DS_DF_TBL[i].FileAge +21-237-13:03:40.031 00 SPR-I:OPRO ==> Max Age = 600 +21-237-13:03:40.031 00 SCX_CPU1_DS_RE/445 write "==> Seq Count = ",SCX_CPU1_DS_DF_TBL[i].SeqCnt +21-237-13:03:40.031 00 SPR-I:OPRO ==> Seq Count = 300 +21-237-13:03:40.031 00 SCX_CPU1_DS_RE/448 endif +21-237-13:03:40.031 00 SCX_CPU1_DS_RE/449 enddo +21-237-13:03:40.031 00 SCX_CPU1_DS_RE/435 for i = 0 to DS_DEST_FILE_CNT-1 do +21-237-13:03:40.031 00 SCX_CPU1_DS_RE/436 if (SCX_CPU1_DS_DF_TBL[i].FileNameType <> DS_UNUSED) then +21-237-13:03:40.031 00 SCX_CPU1_DS_RE/437 fileEntryCount = fileEntryCount + 1 +21-237-13:03:40.031 00 SCX_CPU1_DS_RE/438 write "==> Pathname = '",SCX_CPU1_DS_DF_TBL[i].Pathname,"'" +21-237-13:03:40.032 00 SPR-I:OPRO ==> Pathname = '/ram/' +21-237-13:03:40.032 00 SCX_CPU1_DS_RE/439 write "==> Basename = '",SCX_CPU1_DS_DF_TBL[i].Basename,"'" +21-237-13:03:40.032 00 SPR-I:OPRO ==> Basename = 'seq4' +21-237-13:03:40.032 00 SCX_CPU1_DS_RE/440 write "==> Extension = '",SCX_CPU1_DS_DF_TBL[i].Extension,"'" +21-237-13:03:40.032 00 SPR-I:OPRO ==> Extension = '.dat' +21-237-13:03:40.032 00 SCX_CPU1_DS_RE/441 write "==> Name Type = ",p@SCX_CPU1_DS_DF_TBL[i].FileNameType +21-237-13:03:40.032 00 SPR-I:OPRO ==> Name Type = Count +21-237-13:03:40.032 00 SCX_CPU1_DS_RE/442 write "==> State = ",p@SCX_CPU1_DS_DF_TBL[i].FileState +21-237-13:03:40.032 00 SPR-I:OPRO ==> State = Enabled +21-237-13:03:40.032 00 SCX_CPU1_DS_RE/443 write "==> Max Size = ",SCX_CPU1_DS_DF_TBL[i].FileSize +21-237-13:03:40.032 00 SPR-I:OPRO ==> Max Size = 1024 +21-237-13:03:40.032 00 SCX_CPU1_DS_RE/444 write "==> Max Age = ",SCX_CPU1_DS_DF_TBL[i].FileAge +21-237-13:03:40.032 00 SPR-I:OPRO ==> Max Age = 600 +21-237-13:03:40.032 00 SCX_CPU1_DS_RE/445 write "==> Seq Count = ",SCX_CPU1_DS_DF_TBL[i].SeqCnt +21-237-13:03:40.033 00 SPR-I:OPRO ==> Seq Count = 400 +21-237-13:03:40.040 00 SCX_CPU1_DS_RE/448 endif +21-237-13:03:40.040 00 SCX_CPU1_DS_RE/449 enddo +21-237-13:03:40.040 00 SCX_CPU1_DS_RE/435 for i = 0 to DS_DEST_FILE_CNT-1 do +21-237-13:03:40.040 00 SCX_CPU1_DS_RE/436 if (SCX_CPU1_DS_DF_TBL[i].FileNameType <> DS_UNUSED) then +21-237-13:03:40.040 00 SCX_CPU1_DS_RE/437 fileEntryCount = fileEntryCount + 1 +21-237-13:03:40.041 00 SCX_CPU1_DS_RE/438 write "==> Pathname = '",SCX_CPU1_DS_DF_TBL[i].Pathname,"'" +21-237-13:03:40.041 00 SPR-I:OPRO ==> Pathname = '/ram/' +21-237-13:03:40.041 00 SCX_CPU1_DS_RE/439 write "==> Basename = '",SCX_CPU1_DS_DF_TBL[i].Basename,"'" +21-237-13:03:40.043 00 SPR-I:OPRO ==> Basename = 'time1' +21-237-13:03:40.043 00 SCX_CPU1_DS_RE/440 write "==> Extension = '",SCX_CPU1_DS_DF_TBL[i].Extension,"'" +21-237-13:03:40.043 00 SPR-I:OPRO ==> Extension = '' +21-237-13:03:40.043 00 SCX_CPU1_DS_RE/441 write "==> Name Type = ",p@SCX_CPU1_DS_DF_TBL[i].FileNameType +21-237-13:03:40.043 00 SPR-I:OPRO ==> Name Type = Time +21-237-13:03:40.043 00 SCX_CPU1_DS_RE/442 write "==> State = ",p@SCX_CPU1_DS_DF_TBL[i].FileState +21-237-13:03:40.043 00 SPR-I:OPRO ==> State = Enabled +21-237-13:03:40.043 00 SCX_CPU1_DS_RE/443 write "==> Max Size = ",SCX_CPU1_DS_DF_TBL[i].FileSize +21-237-13:03:40.044 00 SPR-I:OPRO ==> Max Size = 1024 +21-237-13:03:40.044 00 SCX_CPU1_DS_RE/444 write "==> Max Age = ",SCX_CPU1_DS_DF_TBL[i].FileAge +21-237-13:03:40.044 00 SPR-I:OPRO ==> Max Age = 60 +21-237-13:03:40.044 00 SCX_CPU1_DS_RE/445 write "==> Seq Count = ",SCX_CPU1_DS_DF_TBL[i].SeqCnt +21-237-13:03:40.044 00 SPR-I:OPRO ==> Seq Count = 0 +21-237-13:03:40.044 00 SCX_CPU1_DS_RE/448 endif +21-237-13:03:40.044 00 SCX_CPU1_DS_RE/449 enddo +21-237-13:03:40.044 00 SCX_CPU1_DS_RE/435 for i = 0 to DS_DEST_FILE_CNT-1 do +21-237-13:03:40.044 00 SCX_CPU1_DS_RE/436 if (SCX_CPU1_DS_DF_TBL[i].FileNameType <> DS_UNUSED) then +21-237-13:03:40.045 00 SCX_CPU1_DS_RE/437 fileEntryCount = fileEntryCount + 1 +21-237-13:03:40.045 00 SCX_CPU1_DS_RE/438 write "==> Pathname = '",SCX_CPU1_DS_DF_TBL[i].Pathname,"'" +21-237-13:03:40.045 00 SPR-I:OPRO ==> Pathname = '/ram/' +21-237-13:03:40.045 00 SCX_CPU1_DS_RE/439 write "==> Basename = '",SCX_CPU1_DS_DF_TBL[i].Basename,"'" +21-237-13:03:40.045 00 SPR-I:OPRO ==> Basename = 'time2' +21-237-13:03:40.052 00 SCX_CPU1_DS_RE/440 write "==> Extension = '",SCX_CPU1_DS_DF_TBL[i].Extension,"'" +21-237-13:03:40.052 00 SPR-I:OPRO ==> Extension = '' +21-237-13:03:40.052 00 SCX_CPU1_DS_RE/441 write "==> Name Type = ",p@SCX_CPU1_DS_DF_TBL[i].FileNameType +21-237-13:03:40.053 00 SPR-I:OPRO ==> Name Type = Time +21-237-13:03:40.053 00 SCX_CPU1_DS_RE/442 write "==> State = ",p@SCX_CPU1_DS_DF_TBL[i].FileState +21-237-13:03:40.053 00 SPR-I:OPRO ==> State = Enabled +21-237-13:03:40.053 00 SCX_CPU1_DS_RE/443 write "==> Max Size = ",SCX_CPU1_DS_DF_TBL[i].FileSize +21-237-13:03:40.053 00 SPR-I:OPRO ==> Max Size = 1024 +21-237-13:03:40.053 00 SCX_CPU1_DS_RE/444 write "==> Max Age = ",SCX_CPU1_DS_DF_TBL[i].FileAge +21-237-13:03:40.053 00 SPR-I:OPRO ==> Max Age = 60 +21-237-13:03:40.053 00 SCX_CPU1_DS_RE/445 write "==> Seq Count = ",SCX_CPU1_DS_DF_TBL[i].SeqCnt +21-237-13:03:40.053 00 SPR-I:OPRO ==> Seq Count = 0 +21-237-13:03:40.053 00 SCX_CPU1_DS_RE/448 endif +21-237-13:03:40.053 00 SCX_CPU1_DS_RE/449 enddo +21-237-13:03:40.053 00 SCX_CPU1_DS_RE/435 for i = 0 to DS_DEST_FILE_CNT-1 do +21-237-13:03:40.053 00 SCX_CPU1_DS_RE/436 if (SCX_CPU1_DS_DF_TBL[i].FileNameType <> DS_UNUSED) then +21-237-13:03:40.053 00 SCX_CPU1_DS_RE/437 fileEntryCount = fileEntryCount + 1 +21-237-13:03:40.053 00 SCX_CPU1_DS_RE/438 write "==> Pathname = '",SCX_CPU1_DS_DF_TBL[i].Pathname,"'" +21-237-13:03:40.054 00 SPR-I:OPRO ==> Pathname = '/ram/' +21-237-13:03:40.054 00 SCX_CPU1_DS_RE/439 write "==> Basename = '",SCX_CPU1_DS_DF_TBL[i].Basename,"'" +21-237-13:03:40.054 00 SPR-I:OPRO ==> Basename = 'time3' +21-237-13:03:40.054 00 SCX_CPU1_DS_RE/440 write "==> Extension = '",SCX_CPU1_DS_DF_TBL[i].Extension,"'" +21-237-13:03:40.054 00 SPR-I:OPRO ==> Extension = '' +21-237-13:03:40.054 00 SCX_CPU1_DS_RE/441 write "==> Name Type = ",p@SCX_CPU1_DS_DF_TBL[i].FileNameType +21-237-13:03:40.054 00 SPR-I:OPRO ==> Name Type = Time +21-237-13:03:40.054 00 SCX_CPU1_DS_RE/442 write "==> State = ",p@SCX_CPU1_DS_DF_TBL[i].FileState +21-237-13:03:40.054 00 SPR-I:OPRO ==> State = Enabled +21-237-13:03:40.054 00 SCX_CPU1_DS_RE/443 write "==> Max Size = ",SCX_CPU1_DS_DF_TBL[i].FileSize +21-237-13:03:40.054 00 SPR-I:OPRO ==> Max Size = 1024 +21-237-13:03:40.054 00 SCX_CPU1_DS_RE/444 write "==> Max Age = ",SCX_CPU1_DS_DF_TBL[i].FileAge +21-237-13:03:40.054 00 SPR-I:OPRO ==> Max Age = 60 +21-237-13:03:40.054 00 SCX_CPU1_DS_RE/445 write "==> Seq Count = ",SCX_CPU1_DS_DF_TBL[i].SeqCnt +21-237-13:03:40.055 00 SPR-I:OPRO ==> Seq Count = 0 +21-237-13:03:40.055 00 SCX_CPU1_DS_RE/448 endif +21-237-13:03:40.055 00 SCX_CPU1_DS_RE/449 enddo +21-237-13:03:40.055 00 SCX_CPU1_DS_RE/435 for i = 0 to DS_DEST_FILE_CNT-1 do +21-237-13:03:40.055 00 SCX_CPU1_DS_RE/436 if (SCX_CPU1_DS_DF_TBL[i].FileNameType <> DS_UNUSED) then +21-237-13:03:40.055 00 SCX_CPU1_DS_RE/437 fileEntryCount = fileEntryCount + 1 +21-237-13:03:40.056 00 SCX_CPU1_DS_RE/438 write "==> Pathname = '",SCX_CPU1_DS_DF_TBL[i].Pathname,"'" +21-237-13:03:40.056 00 SPR-I:OPRO ==> Pathname = '/ram/' +21-237-13:03:40.056 00 SCX_CPU1_DS_RE/439 write "==> Basename = '",SCX_CPU1_DS_DF_TBL[i].Basename,"'" +21-237-13:03:40.056 00 SPR-I:OPRO ==> Basename = 'time4' +21-237-13:03:40.056 00 SCX_CPU1_DS_RE/440 write "==> Extension = '",SCX_CPU1_DS_DF_TBL[i].Extension,"'" +21-237-13:03:40.056 00 SPR-I:OPRO ==> Extension = '' +21-237-13:03:40.056 00 SCX_CPU1_DS_RE/441 write "==> Name Type = ",p@SCX_CPU1_DS_DF_TBL[i].FileNameType +21-237-13:03:40.056 00 SPR-I:OPRO ==> Name Type = Time +21-237-13:03:40.060 00 SCX_CPU1_DS_RE/442 write "==> State = ",p@SCX_CPU1_DS_DF_TBL[i].FileState +21-237-13:03:40.061 00 SPR-I:OPRO ==> State = Enabled +21-237-13:03:40.061 00 SCX_CPU1_DS_RE/443 write "==> Max Size = ",SCX_CPU1_DS_DF_TBL[i].FileSize +21-237-13:03:40.061 00 SPR-I:OPRO ==> Max Size = 1024 +21-237-13:03:40.061 00 SCX_CPU1_DS_RE/444 write "==> Max Age = ",SCX_CPU1_DS_DF_TBL[i].FileAge +21-237-13:03:40.061 00 SPR-I:OPRO ==> Max Age = 60 +21-237-13:03:40.061 00 SCX_CPU1_DS_RE/445 write "==> Seq Count = ",SCX_CPU1_DS_DF_TBL[i].SeqCnt +21-237-13:03:40.061 00 SPR-I:OPRO ==> Seq Count = 0 +21-237-13:03:40.061 00 SCX_CPU1_DS_RE/448 endif +21-237-13:03:40.061 00 SCX_CPU1_DS_RE/449 enddo +21-237-13:03:40.061 00 SCX_CPU1_DS_RE/435 for i = 0 to DS_DEST_FILE_CNT-1 do +21-237-13:03:40.061 00 SCX_CPU1_DS_RE/436 if (SCX_CPU1_DS_DF_TBL[i].FileNameType <> DS_UNUSED) then +21-237-13:03:40.061 00 SCX_CPU1_DS_RE/446 else +21-237-13:03:40.061 00 SCX_CPU1_DS_RE/447 i = DS_DEST_FILE_CNT +21-237-13:03:40.061 00 SCX_CPU1_DS_RE/448 endif +21-237-13:03:40.061 00 SCX_CPU1_DS_RE/449 enddo +21-237-13:03:40.062 00 SCX_CPU1_DS_RE/435 for i = 0 to DS_DEST_FILE_CNT-1 do +21-237-13:03:40.062 00 SCX_CPU1_DS_RE/450 +21-237-13:03:40.062 00 SCX_CPU1_DS_RE/451 if (filterEntryCount > 0) AND (fileEntryCount > 0) then +21-237-13:03:40.062 00 SCX_CPU1_DS_RE/452 write "<*> Passed (9001) - The Destination File and Packet Filter Table were loaded with ",fileEntryCount," and ",filterEntryCount," valid entries." +21-237-13:03:40.062 00 SPR-I:OPRO <*> Passed (9001) - The Destination File and Packet Filter Table were loaded with 8 and 6 valid entries. +21-237-13:03:40.062 00 SCX_CPU1_DS_RE/453 ut_setrequirements DS_9001, "P" +21-237-13:03:40.063 00 SCX_CPU1_DS_RE/457 endif +21-237-13:03:40.063 00 SCX_CPU1_DS_RE/458 +21-237-13:03:40.063 00 SCX_CPU1_DS_RE/459 wait 5 +21-237-13:03:40.063 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:03:45.067 00 SCX_CPU1_DS_RE/460 +21-237-13:03:45.067 00 SCX_CPU1_DS_RE/461 write ";***********************************************************************" +21-237-13:03:45.067 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:03:45.067 00 SCX_CPU1_DS_RE/462 write "; Step 2.0: Power-On Reset Tests." +21-237-13:03:45.067 00 SPR-I:OPRO ; Step 2.0: Power-On Reset Tests. +21-237-13:03:45.067 00 SCX_CPU1_DS_RE/463 write ";***********************************************************************" +21-237-13:03:45.067 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:03:45.067 00 SCX_CPU1_DS_RE/464 write "; Step 2.1: Remove the default Packet Filter table file." +21-237-13:03:45.067 00 SPR-I:OPRO ; Step 2.1: Remove the default Packet Filter table file. +21-237-13:03:45.068 00 SCX_CPU1_DS_RE/465 write ";***********************************************************************" +21-237-13:03:45.068 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:03:45.068 00 SCX_CPU1_DS_RE/466 s ftp_file("CF:0", "na", filterFileName, hostCPU, "R") +21-237-13:03:45.068 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/ftp_file.i +21-237-13:03:45.069 00 SPR-I:STS Procedure FTP_FILE started +21-237-13:03:45.069 00 FTP_FILE/2 ; +21-237-13:03:45.069 00 FTP_FILE/3 local logging = %liv (log_procedure) +21-237-13:03:45.070 00 FTP_FILE/4 %liv (log_procedure) = FALSE +21-237-13:03:45.205 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-237-13:03:45.205 00 FTP_FILE/85 ENDPROC +21-237-13:03:45.206 00 SPR-I:STS Procedure FTP_FILE completed +21-237-13:03:45.206 00 SCX_CPU1_DS_RE/467 wait 5 +21-237-13:03:45.206 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:03:50.210 00 SCX_CPU1_DS_RE/468 +21-237-13:03:50.210 00 SCX_CPU1_DS_RE/469 write ";***********************************************************************" +21-237-13:03:50.210 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:03:50.210 00 SCX_CPU1_DS_RE/470 write "; Step 2.2: Perform a Power-On Reset on CPU1." +21-237-13:03:50.210 00 SPR-I:OPRO ; Step 2.2: Perform a Power-On Reset on CPU1. +21-237-13:03:50.210 00 SCX_CPU1_DS_RE/471 write ";***********************************************************************" +21-237-13:03:50.210 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:03:50.210 00 SCX_CPU1_DS_RE/472 /SCX_CPU1_ES_POWERONRESET +21-237-13:03:50.223 00 SCX_CPU1_DS_RE/473 wait 10 +21-237-13:03:50.223 00 SPR-I:STTE Wait mode - waiting 10 seconds ... +21-237-13:04:00.231 00 SCX_CPU1_DS_RE/474 +21-237-13:04:00.231 00 SCX_CPU1_DS_RE/475 close_data_center +21-237-13:04:00.231 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/clear_spacecraft_status.i +21-237-13:04:00.233 00 SPR-I:STS Procedure CLEAR_SPACECRAFT_STATUS started +21-237-13:04:00.233 00 CLEAR_SPACECRA/2 ; +21-237-13:04:00.233 00 CLEAR_SPACECRA/3 local logging = %liv(log_procedure) +21-237-13:04:00.233 00 CLEAR_SPACECRA/4 %liv (log_procedure) = FALSE +21-237-13:04:00.248 00 CLEAR_SPACECRA/135 +21-237-13:04:00.248 00 CLEAR_SPACECRA/136 endproc +21-237-13:04:00.248 00 SPR-I:STS Procedure CLEAR_SPACECRAFT_STATUS completed +21-237-13:04:00.301 00 SCX_CPU1_DS_RE/476 wait 60 +21-237-13:04:00.301 00 SPR-I:STTE Wait mode - waiting 60 seconds ... +21-237-13:05:00.350 00 SCX_CPU1_DS_RE/477 +21-237-13:05:00.350 00 SCX_CPU1_DS_RE/478 cfe_startup {hostCPU} +21-237-13:05:00.365 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:05:10.375 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:05:10.442 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/send_that_to_command.i +21-237-13:05:10.442 00 SPR-I:STS Procedure SEND_THAT_TO_COMMAND started +21-237-13:05:10.442 00 SEND_THAT_TO_C/2 ; +21-237-13:05:10.442 00 SEND_THAT_TO_C/3 local logging = %liv (log_procedure) +21-237-13:05:10.442 00 SEND_THAT_TO_C/4 %liv (log_procedure) = FALSE +21-237-13:05:10.443 00 SPR-I:OPRO Sending: /SCX_CPU1_TO_OUTPUT_ENA gs582cfslab4 +21-237-13:05:10.494 00 SEND_THAT_TO_C/83 +21-237-13:05:10.494 00 SEND_THAT_TO_C/84 endproc +21-237-13:05:10.494 00 SPR-I:STS Procedure SEND_THAT_TO_COMMAND completed +21-237-13:05:10.495 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:05:11.781 00 TLMH-I:STS 58-012-14:03:49.450 INFO CPU=CPU1 APPNAME=TO_LAB_APP EVENT ID=3 TO telemetry output enabled for IP 192.168.1.101 +21-237-13:05:14.499 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:05:14.500 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/fill_in_spacecraft_status.i +21-237-13:05:14.502 00 SPR-I:STS Procedure FILL_IN_SPACECRAFT_STATUS started +21-237-13:05:14.502 00 FILL_IN_SPACEC/2 ; +21-237-13:05:14.502 00 FILL_IN_SPACEC/3 local logging = %liv (log_procedure) +21-237-13:05:14.502 00 FILL_IN_SPACEC/4 %liv (log_procedure) = FALSE +21-237-13:05:14.507 00 FILL_IN_SPACEC/152 +21-237-13:05:14.507 00 FILL_IN_SPACEC/153 endproc +21-237-13:05:14.507 00 SPR-I:STS Procedure FILL_IN_SPACECRAFT_STATUS completed +21-237-13:05:14.507 00 SCX_CPU1_DS_RE/479 wait 5 +21-237-13:05:14.507 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:05:19.511 00 SCX_CPU1_DS_RE/480 +21-237-13:05:19.511 00 SCX_CPU1_DS_RE/481 write ";***********************************************************************" +21-237-13:05:19.511 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:05:19.511 00 SCX_CPU1_DS_RE/482 write "; Step 2.3: Start the Data Storage (DS) and Test Applications. " +21-237-13:05:19.511 00 SPR-I:OPRO ; Step 2.3: Start the Data Storage (DS) and Test Applications. +21-237-13:05:19.511 00 SCX_CPU1_DS_RE/483 write ";***********************************************************************" +21-237-13:05:19.511 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:05:19.511 00 SCX_CPU1_DS_RE/486 ut_setupevents "SCX","CPU1","CFE_TBL",CFE_TBL_FILE_ACCESS_ERR_EID, "ERROR", 3 +21-237-13:05:19.518 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:05:19.518 00 SPR-I:OPRO ; Setup event 3 with CFE_TBL ERROR 53 +21-237-13:05:19.519 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:05:19.520 00 SCX_CPU1_DS_RE/487 ut_setupevents "SCX","CPU1",{DSAppName},DS_INIT_TBL_ERR_EID, "ERROR", 4 +21-237-13:05:19.529 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:05:19.530 00 SPR-I:OPRO ; Setup event 4 with DS ERROR 8 +21-237-13:05:19.530 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:05:19.531 00 SCX_CPU1_DS_RE/488 +21-237-13:05:19.531 00 SCX_CPU1_DS_RE/490 ;s scx_cpu1_ds_start_apps("2.3") +21-237-13:05:19.531 00 SCX_CPU1_DS_RE/491 ;wait 5 +21-237-13:05:19.531 00 SCX_CPU1_DS_RE/492 +21-237-13:05:19.531 00 SCX_CPU1_DS_RE/494 ;if (SCX_CPU1_find_event[3].num_found_messages = 1) AND ;; +21-237-13:05:19.531 00 SCX_CPU1_DS_RE/495 ; (SCX_CPU1_find_event[4].num_found_messages = 1) then +21-237-13:05:19.532 00 SCX_CPU1_DS_RE/495 ; (SCX_CPU1_find_event[4].num_found_messages = 1) then +21-237-13:05:19.532 00 SCX_CPU1_DS_RE/496 ; write "<*> Passed - Table Load Error message rcvd." +21-237-13:05:19.532 00 SCX_CPU1_DS_RE/497 ;else +21-237-13:05:19.532 00 SCX_CPU1_DS_RE/498 ; write " Failed - Table Load Error messages were NOT rcvd." +21-237-13:05:19.532 00 SCX_CPU1_DS_RE/499 ;endif +21-237-13:05:19.532 00 SCX_CPU1_DS_RE/500 +21-237-13:05:19.532 00 SCX_CPU1_DS_RE/501 write ";***********************************************************************" +21-237-13:05:19.532 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:05:19.532 00 SCX_CPU1_DS_RE/502 write "; Step 2.4: Enable DEBUG Event Messages " +21-237-13:05:19.533 00 SPR-I:OPRO ; Step 2.4: Enable DEBUG Event Messages +21-237-13:05:19.546 00 SCX_CPU1_DS_RE/503 write ";***********************************************************************" +21-237-13:05:19.546 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:05:19.546 00 SCX_CPU1_DS_RE/504 local cmdCtr = SCX_CPU1_EVS_CMDPC + 1 +21-237-13:05:19.546 00 SCX_CPU1_DS_RE/505 +21-237-13:05:19.546 00 SCX_CPU1_DS_RE/507 /SCX_CPU1_EVS_EnaAppEVTType Application=DSAppName DEBUG +21-237-13:05:19.559 00 SCX_CPU1_DS_RE/508 +21-237-13:05:19.559 00 SCX_CPU1_DS_RE/509 ut_tlmwait SCX_CPU1_EVS_CMDPC, {cmdCtr} +21-237-13:05:19.564 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:05:22.567 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:05:22.567 00 SCX_CPU1_DS_RE/510 if (UT_TW_Status = UT_Success) then +21-237-13:05:22.567 00 SCX_CPU1_DS_RE/511 write "<*> Passed - Enable Debug events command sent properly." +21-237-13:05:22.567 00 SPR-I:OPRO <*> Passed - Enable Debug events command sent properly. +21-237-13:05:22.567 00 SCX_CPU1_DS_RE/514 endif +21-237-13:05:22.568 00 SCX_CPU1_DS_RE/515 +21-237-13:05:22.568 00 SCX_CPU1_DS_RE/516 write ";***********************************************************************" +21-237-13:05:22.568 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:05:22.568 00 SCX_CPU1_DS_RE/517 write "; Step 2.5: Restore the default Packet Filter Table file." +21-237-13:05:22.568 00 SPR-I:OPRO ; Step 2.5: Restore the default Packet Filter Table file. +21-237-13:05:22.568 00 SCX_CPU1_DS_RE/518 write ";***********************************************************************" +21-237-13:05:22.568 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:05:22.568 00 SCX_CPU1_DS_RE/519 s ftp_file("CF:0", "ds_filtfilter.tbl", filterFileName, hostCPU, "P") +21-237-13:05:22.568 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/ftp_file.i +21-237-13:05:22.568 00 SPR-I:STS Procedure FTP_FILE started +21-237-13:05:22.568 00 FTP_FILE/2 ; +21-237-13:05:22.568 00 FTP_FILE/3 local logging = %liv (log_procedure) +21-237-13:05:22.568 00 FTP_FILE/4 %liv (log_procedure) = FALSE +21-237-13:05:23.032 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-237-13:05:23.033 00 FTP_FILE/85 ENDPROC +21-237-13:05:23.033 00 SPR-I:STS Procedure FTP_FILE completed +21-237-13:05:23.034 00 SCX_CPU1_DS_RE/520 wait 5 +21-237-13:05:23.034 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:05:28.038 00 SCX_CPU1_DS_RE/521 +21-237-13:05:28.038 00 SCX_CPU1_DS_RE/522 write ";***********************************************************************" +21-237-13:05:28.038 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:05:28.038 00 SCX_CPU1_DS_RE/523 write "; Step 2.6: Remove the default Destination File Table file." +21-237-13:05:28.038 00 SPR-I:OPRO ; Step 2.6: Remove the default Destination File Table file. +21-237-13:05:28.038 00 SCX_CPU1_DS_RE/524 write ";***********************************************************************" +21-237-13:05:28.038 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:05:28.038 00 SCX_CPU1_DS_RE/525 s ftp_file("CF:0", "na", destFileName, hostCPU, "R") +21-237-13:05:28.039 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/ftp_file.i +21-237-13:05:28.040 00 SPR-I:STS Procedure FTP_FILE started +21-237-13:05:28.040 00 FTP_FILE/2 ; +21-237-13:05:28.040 00 FTP_FILE/3 local logging = %liv (log_procedure) +21-237-13:05:28.041 00 FTP_FILE/4 %liv (log_procedure) = FALSE +21-237-13:05:28.143 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-237-13:05:28.143 00 FTP_FILE/85 ENDPROC +21-237-13:05:28.143 00 SPR-I:STS Procedure FTP_FILE completed +21-237-13:05:28.143 00 SCX_CPU1_DS_RE/526 wait 5 +21-237-13:05:28.143 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:05:33.147 00 SCX_CPU1_DS_RE/527 +21-237-13:05:33.147 00 SCX_CPU1_DS_RE/528 write ";***********************************************************************" +21-237-13:05:33.148 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:05:33.148 00 SCX_CPU1_DS_RE/529 write "; Step 2.7: Perform a Power-On Reset on CPU1." +21-237-13:05:33.148 00 SPR-I:OPRO ; Step 2.7: Perform a Power-On Reset on CPU1. +21-237-13:05:33.148 00 SCX_CPU1_DS_RE/530 write ";***********************************************************************" +21-237-13:05:33.148 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:05:33.148 00 SCX_CPU1_DS_RE/531 /SCX_CPU1_ES_POWERONRESET +21-237-13:05:33.163 00 SCX_CPU1_DS_RE/532 wait 10 +21-237-13:05:33.163 00 SPR-I:STTE Wait mode - waiting 10 seconds ... +21-237-13:05:43.172 00 SCX_CPU1_DS_RE/533 +21-237-13:05:43.172 00 SCX_CPU1_DS_RE/534 close_data_center +21-237-13:05:43.173 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/clear_spacecraft_status.i +21-237-13:05:43.174 00 SPR-I:STS Procedure CLEAR_SPACECRAFT_STATUS started +21-237-13:05:43.175 00 CLEAR_SPACECRA/2 ; +21-237-13:05:43.175 00 CLEAR_SPACECRA/3 local logging = %liv(log_procedure) +21-237-13:05:43.175 00 CLEAR_SPACECRA/4 %liv (log_procedure) = FALSE +21-237-13:05:43.181 00 CLEAR_SPACECRA/135 +21-237-13:05:43.181 00 CLEAR_SPACECRA/136 endproc +21-237-13:05:43.181 00 SPR-I:STS Procedure CLEAR_SPACECRAFT_STATUS completed +21-237-13:05:43.225 00 SCX_CPU1_DS_RE/535 wait 60 +21-237-13:05:43.225 00 SPR-I:STTE Wait mode - waiting 60 seconds ... +21-237-13:06:43.273 00 SCX_CPU1_DS_RE/536 +21-237-13:06:43.273 00 SCX_CPU1_DS_RE/537 cfe_startup {hostCPU} +21-237-13:06:43.289 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:06:53.299 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:06:53.363 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/send_that_to_command.i +21-237-13:06:53.363 00 SPR-I:STS Procedure SEND_THAT_TO_COMMAND started +21-237-13:06:53.363 00 SEND_THAT_TO_C/2 ; +21-237-13:06:53.363 00 SEND_THAT_TO_C/3 local logging = %liv (log_procedure) +21-237-13:06:53.363 00 SEND_THAT_TO_C/4 %liv (log_procedure) = FALSE +21-237-13:06:53.364 00 SPR-I:OPRO Sending: /SCX_CPU1_TO_OUTPUT_ENA gs582cfslab4 +21-237-13:06:53.415 00 SEND_THAT_TO_C/83 +21-237-13:06:53.415 00 SEND_THAT_TO_C/84 endproc +21-237-13:06:53.415 00 SPR-I:STS Procedure SEND_THAT_TO_COMMAND completed +21-237-13:06:53.416 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:06:54.807 00 TLMH-I:STS 58-012-14:03:49.450 INFO CPU=CPU1 APPNAME=TO_LAB_APP EVENT ID=3 TO telemetry output enabled for IP 192.168.1.101 +21-237-13:06:57.420 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:06:57.421 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/fill_in_spacecraft_status.i +21-237-13:06:57.422 00 SPR-I:STS Procedure FILL_IN_SPACECRAFT_STATUS started +21-237-13:06:57.423 00 FILL_IN_SPACEC/2 ; +21-237-13:06:57.423 00 FILL_IN_SPACEC/3 local logging = %liv (log_procedure) +21-237-13:06:57.423 00 FILL_IN_SPACEC/4 %liv (log_procedure) = FALSE +21-237-13:06:57.434 00 FILL_IN_SPACEC/152 +21-237-13:06:57.434 00 FILL_IN_SPACEC/153 endproc +21-237-13:06:57.435 00 SPR-I:STS Procedure FILL_IN_SPACECRAFT_STATUS completed +21-237-13:06:57.436 00 SCX_CPU1_DS_RE/538 wait 5 +21-237-13:06:57.436 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:07:02.440 00 SCX_CPU1_DS_RE/539 +21-237-13:07:02.440 00 SCX_CPU1_DS_RE/540 write ";***********************************************************************" +21-237-13:07:02.440 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:07:02.440 00 SCX_CPU1_DS_RE/541 write "; Step 2.8: Start the Data Storage (DS) and Test Applications. " +21-237-13:07:02.440 00 SPR-I:OPRO ; Step 2.8: Start the Data Storage (DS) and Test Applications. +21-237-13:07:02.440 00 SCX_CPU1_DS_RE/542 write ";***********************************************************************" +21-237-13:07:02.440 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:07:02.440 00 SCX_CPU1_DS_RE/545 ut_setupevents "SCX","CPU1","CFE_TBL",CFE_TBL_FILE_ACCESS_ERR_EID, "ERROR", 3 +21-237-13:07:02.446 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:07:02.446 00 SPR-I:OPRO ; Setup event 3 with CFE_TBL ERROR 53 +21-237-13:07:02.446 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:07:02.446 00 SCX_CPU1_DS_RE/546 ut_setupevents "SCX","CPU1",{DSAppName},DS_INIT_TBL_ERR_EID, "ERROR", 4 +21-237-13:07:02.448 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:07:02.448 00 SPR-I:OPRO ; Setup event 4 with DS ERROR 8 +21-237-13:07:02.448 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:07:02.448 00 SCX_CPU1_DS_RE/547 +21-237-13:07:02.448 00 SCX_CPU1_DS_RE/549 ;s scx_cpu1_ds_start_apps("2.8") +21-237-13:07:02.448 00 SCX_CPU1_DS_RE/550 ;wait 5 +21-237-13:07:02.448 00 SCX_CPU1_DS_RE/551 +21-237-13:07:02.448 00 SCX_CPU1_DS_RE/553 ;if (SCX_CPU1_find_event[3].num_found_messages = 1) AND ;; +21-237-13:07:02.448 00 SCX_CPU1_DS_RE/554 ; (SCX_CPU1_find_event[4].num_found_messages = 1) then +21-237-13:07:02.448 00 SCX_CPU1_DS_RE/554 ; (SCX_CPU1_find_event[4].num_found_messages = 1) then +21-237-13:07:02.448 00 SCX_CPU1_DS_RE/555 ; write "<*> Passed - Table Load Error message rcvd." +21-237-13:07:02.448 00 SCX_CPU1_DS_RE/556 ;else +21-237-13:07:02.448 00 SCX_CPU1_DS_RE/557 ; write " Failed - Table Load Error messages were NOT rcvd." +21-237-13:07:02.448 00 SCX_CPU1_DS_RE/558 ;endif +21-237-13:07:02.448 00 SCX_CPU1_DS_RE/559 +21-237-13:07:02.448 00 SCX_CPU1_DS_RE/560 write ";***********************************************************************" +21-237-13:07:02.448 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:07:02.448 00 SCX_CPU1_DS_RE/561 write "; Step 2.9: Enable DEBUG Event Messages " +21-237-13:07:02.448 00 SPR-I:OPRO ; Step 2.9: Enable DEBUG Event Messages +21-237-13:07:02.456 00 SCX_CPU1_DS_RE/562 write ";***********************************************************************" +21-237-13:07:02.456 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:07:02.456 00 SCX_CPU1_DS_RE/563 local cmdCtr = SCX_CPU1_EVS_CMDPC + 1 +21-237-13:07:02.456 00 SCX_CPU1_DS_RE/564 +21-237-13:07:02.456 00 SCX_CPU1_DS_RE/566 /SCX_CPU1_EVS_EnaAppEVTType Application=DSAppName DEBUG +21-237-13:07:02.468 00 SCX_CPU1_DS_RE/567 +21-237-13:07:02.468 00 SCX_CPU1_DS_RE/568 ut_tlmwait SCX_CPU1_EVS_CMDPC, {cmdCtr} +21-237-13:07:02.471 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:07:05.473 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:07:05.474 00 SCX_CPU1_DS_RE/569 if (UT_TW_Status = UT_Success) then +21-237-13:07:05.474 00 SCX_CPU1_DS_RE/570 write "<*> Passed - Enable Debug events command sent properly." +21-237-13:07:05.474 00 SPR-I:OPRO <*> Passed - Enable Debug events command sent properly. +21-237-13:07:05.474 00 SCX_CPU1_DS_RE/573 endif +21-237-13:07:05.474 00 SCX_CPU1_DS_RE/574 +21-237-13:07:05.474 00 SCX_CPU1_DS_RE/575 write ";***********************************************************************" +21-237-13:07:05.474 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:07:05.474 00 SCX_CPU1_DS_RE/576 write "; Step 2.10: Remove the default Packet Filter table file." +21-237-13:07:05.474 00 SPR-I:OPRO ; Step 2.10: Remove the default Packet Filter table file. +21-237-13:07:05.474 00 SCX_CPU1_DS_RE/577 write ";***********************************************************************" +21-237-13:07:05.474 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:07:05.474 00 SCX_CPU1_DS_RE/578 s ftp_file("CF:0", "na", filterFileName, hostCPU, "R") +21-237-13:07:05.474 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/ftp_file.i +21-237-13:07:05.474 00 SPR-I:STS Procedure FTP_FILE started +21-237-13:07:05.474 00 FTP_FILE/2 ; +21-237-13:07:05.474 00 FTP_FILE/3 local logging = %liv (log_procedure) +21-237-13:07:05.474 00 FTP_FILE/4 %liv (log_procedure) = FALSE +21-237-13:07:05.605 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-237-13:07:05.605 00 FTP_FILE/85 ENDPROC +21-237-13:07:05.605 00 SPR-I:STS Procedure FTP_FILE completed +21-237-13:07:05.605 00 SCX_CPU1_DS_RE/579 wait 5 +21-237-13:07:05.605 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:07:10.609 00 SCX_CPU1_DS_RE/580 +21-237-13:07:10.609 00 SCX_CPU1_DS_RE/581 write ";***********************************************************************" +21-237-13:07:10.609 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:07:10.609 00 SCX_CPU1_DS_RE/582 write "; Step 2.11: Perform a Power-On Reset on CPU1." +21-237-13:07:10.609 00 SPR-I:OPRO ; Step 2.11: Perform a Power-On Reset on CPU1. +21-237-13:07:10.609 00 SCX_CPU1_DS_RE/583 write ";***********************************************************************" +21-237-13:07:10.609 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:07:10.609 00 SCX_CPU1_DS_RE/584 /SCX_CPU1_ES_POWERONRESET +21-237-13:07:10.622 00 SCX_CPU1_DS_RE/585 wait 10 +21-237-13:07:10.622 00 SPR-I:STTE Wait mode - waiting 10 seconds ... +21-237-13:07:20.629 00 SCX_CPU1_DS_RE/586 +21-237-13:07:20.629 00 SCX_CPU1_DS_RE/587 close_data_center +21-237-13:07:20.630 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/clear_spacecraft_status.i +21-237-13:07:20.631 00 SPR-I:STS Procedure CLEAR_SPACECRAFT_STATUS started +21-237-13:07:20.632 00 CLEAR_SPACECRA/2 ; +21-237-13:07:20.632 00 CLEAR_SPACECRA/3 local logging = %liv(log_procedure) +21-237-13:07:20.632 00 CLEAR_SPACECRA/4 %liv (log_procedure) = FALSE +21-237-13:07:20.646 00 CLEAR_SPACECRA/135 +21-237-13:07:20.646 00 CLEAR_SPACECRA/136 endproc +21-237-13:07:20.646 00 SPR-I:STS Procedure CLEAR_SPACECRAFT_STATUS completed +21-237-13:07:20.697 00 SCX_CPU1_DS_RE/588 wait 60 +21-237-13:07:20.697 00 SPR-I:STTE Wait mode - waiting 60 seconds ... +21-237-13:08:20.747 00 SCX_CPU1_DS_RE/589 +21-237-13:08:20.748 00 SCX_CPU1_DS_RE/590 cfe_startup {hostCPU} +21-237-13:08:20.762 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:08:30.772 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:08:30.836 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/send_that_to_command.i +21-237-13:08:30.841 00 SPR-I:STS Procedure SEND_THAT_TO_COMMAND started +21-237-13:08:30.841 00 SEND_THAT_TO_C/2 ; +21-237-13:08:30.842 00 SEND_THAT_TO_C/3 local logging = %liv (log_procedure) +21-237-13:08:30.842 00 SEND_THAT_TO_C/4 %liv (log_procedure) = FALSE +21-237-13:08:30.846 00 SPR-I:OPRO Sending: /SCX_CPU1_TO_OUTPUT_ENA gs582cfslab4 +21-237-13:08:30.898 00 SEND_THAT_TO_C/83 +21-237-13:08:30.898 00 SEND_THAT_TO_C/84 endproc +21-237-13:08:30.898 00 SPR-I:STS Procedure SEND_THAT_TO_COMMAND completed +21-237-13:08:30.898 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:08:31.785 00 TLMH-I:STS 58-012-14:03:48.917 INFO CPU=CPU1 APPNAME=TO_LAB_APP EVENT ID=3 TO telemetry output enabled for IP 192.168.1.101 +21-237-13:08:34.901 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:08:34.902 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/fill_in_spacecraft_status.i +21-237-13:08:34.902 00 SPR-I:STS Procedure FILL_IN_SPACECRAFT_STATUS started +21-237-13:08:34.902 00 FILL_IN_SPACEC/2 ; +21-237-13:08:34.902 00 FILL_IN_SPACEC/3 local logging = %liv (log_procedure) +21-237-13:08:34.902 00 FILL_IN_SPACEC/4 %liv (log_procedure) = FALSE +21-237-13:08:34.905 00 FILL_IN_SPACEC/152 +21-237-13:08:34.905 00 FILL_IN_SPACEC/153 endproc +21-237-13:08:34.905 00 SPR-I:STS Procedure FILL_IN_SPACECRAFT_STATUS completed +21-237-13:08:34.906 00 SCX_CPU1_DS_RE/591 wait 5 +21-237-13:08:34.906 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:08:39.909 00 SCX_CPU1_DS_RE/592 +21-237-13:08:39.909 00 SCX_CPU1_DS_RE/593 write ";***********************************************************************" +21-237-13:08:39.909 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:08:39.909 00 SCX_CPU1_DS_RE/594 write "; Step 2.12: Start the Data Storage (DS) and Test Applications. " +21-237-13:08:39.909 00 SPR-I:OPRO ; Step 2.12: Start the Data Storage (DS) and Test Applications. +21-237-13:08:39.909 00 SCX_CPU1_DS_RE/595 write ";***********************************************************************" +21-237-13:08:39.909 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:08:39.909 00 SCX_CPU1_DS_RE/598 ut_setupevents "SCX","CPU1","CFE_TBL",CFE_TBL_FILE_ACCESS_ERR_EID, "ERROR", 3 +21-237-13:08:39.916 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:08:39.916 00 SPR-I:OPRO ; Setup event 3 with CFE_TBL ERROR 53 +21-237-13:08:39.916 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:08:39.917 00 SCX_CPU1_DS_RE/599 ut_setupevents "SCX","CPU1",{DSAppName},DS_INIT_TBL_ERR_EID, "ERROR", 4 +21-237-13:08:39.925 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:08:39.926 00 SPR-I:OPRO ; Setup event 4 with DS ERROR 8 +21-237-13:08:39.926 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:08:39.927 00 SCX_CPU1_DS_RE/600 +21-237-13:08:39.927 00 SCX_CPU1_DS_RE/602 ;s scx_cpu1_ds_start_apps("2.12") +21-237-13:08:39.927 00 SCX_CPU1_DS_RE/603 ;wait 5 +21-237-13:08:39.927 00 SCX_CPU1_DS_RE/604 +21-237-13:08:39.927 00 SCX_CPU1_DS_RE/606 ;if (SCX_CPU1_find_event[3].num_found_messages = 2) AND ;; +21-237-13:08:39.927 00 SCX_CPU1_DS_RE/607 ; (SCX_CPU1_find_event[4].num_found_messages = 2) then +21-237-13:08:39.928 00 SCX_CPU1_DS_RE/607 ; (SCX_CPU1_find_event[4].num_found_messages = 2) then +21-237-13:08:39.928 00 SCX_CPU1_DS_RE/608 ; write "<*> Passed - Table Load Error message rcvd." +21-237-13:08:39.928 00 SCX_CPU1_DS_RE/609 ;else +21-237-13:08:39.928 00 SCX_CPU1_DS_RE/610 ; write " Failed - Table Load Error messages were NOT rcvd." +21-237-13:08:39.928 00 SCX_CPU1_DS_RE/611 ;endif +21-237-13:08:39.928 00 SCX_CPU1_DS_RE/612 +21-237-13:08:39.928 00 SCX_CPU1_DS_RE/613 write ";***********************************************************************" +21-237-13:08:39.928 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:08:39.929 00 SCX_CPU1_DS_RE/614 write "; Step 2.13: Restore the default Table files." +21-237-13:08:39.929 00 SPR-I:OPRO ; Step 2.13: Restore the default Table files. +21-237-13:08:39.946 00 SCX_CPU1_DS_RE/615 write ";***********************************************************************" +21-237-13:08:39.946 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:08:39.946 00 SCX_CPU1_DS_RE/616 s ftp_file("CF:0", "ds_filtfile.tbl", destFileName, hostCPU, "P") +21-237-13:08:39.947 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/ftp_file.i +21-237-13:08:39.947 00 SPR-I:STS Procedure FTP_FILE started +21-237-13:08:39.947 00 FTP_FILE/2 ; +21-237-13:08:39.948 00 FTP_FILE/3 local logging = %liv (log_procedure) +21-237-13:08:39.948 00 FTP_FILE/4 %liv (log_procedure) = FALSE +21-237-13:08:40.248 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-237-13:08:40.249 00 FTP_FILE/85 ENDPROC +21-237-13:08:40.249 00 SPR-I:STS Procedure FTP_FILE completed +21-237-13:08:40.250 00 SCX_CPU1_DS_RE/617 wait 5 +21-237-13:08:40.250 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:08:45.254 00 SCX_CPU1_DS_RE/618 s ftp_file("CF:0", "ds_filtfilter.tbl", filterFileName, hostCPU, "P") +21-237-13:08:45.255 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/ftp_file.i +21-237-13:08:45.255 00 SPR-I:STS Procedure FTP_FILE started +21-237-13:08:45.255 00 FTP_FILE/2 ; +21-237-13:08:45.255 00 FTP_FILE/3 local logging = %liv (log_procedure) +21-237-13:08:45.255 00 FTP_FILE/4 %liv (log_procedure) = FALSE +21-237-13:08:45.633 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-237-13:08:45.633 00 FTP_FILE/85 ENDPROC +21-237-13:08:45.633 00 SPR-I:STS Procedure FTP_FILE completed +21-237-13:08:45.634 00 SCX_CPU1_DS_RE/619 wait 5 +21-237-13:08:45.635 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:08:50.638 00 SCX_CPU1_DS_RE/620 +21-237-13:08:50.638 00 SCX_CPU1_DS_RE/621 write ";***********************************************************************" +21-237-13:08:50.638 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:08:50.638 00 SCX_CPU1_DS_RE/622 write "; Step 2.14: Utilizing the TST_DS application, send the command that " +21-237-13:08:50.638 00 SPR-I:OPRO ; Step 2.14: Utilizing the TST_DS application, send the command that +21-237-13:08:50.638 00 SCX_CPU1_DS_RE/623 write "; will set all the counters that get reset to zero (0) by the Reset " +21-237-13:08:50.638 00 SPR-I:OPRO ; will set all the counters that get reset to zero (0) by the Reset +21-237-13:08:50.638 00 SCX_CPU1_DS_RE/624 write "; command to a non-zero value." +21-237-13:08:50.639 00 SPR-I:OPRO ; command to a non-zero value. +21-237-13:08:50.639 00 SCX_CPU1_DS_RE/625 write ";***********************************************************************" +21-237-13:08:50.639 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:08:50.639 00 SCX_CPU1_DS_RE/626 ut_setupevents "SCX", "CPU1", "TST_DS", TST_DS_SET_COUNTERS_INF_EID, "INFO", 1 +21-237-13:08:50.643 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:08:50.643 00 SPR-I:OPRO ; Setup event 1 with TST_DS INFO 4 +21-237-13:08:50.644 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:08:50.644 00 SCX_CPU1_DS_RE/627 +21-237-13:08:50.644 00 SCX_CPU1_DS_RE/628 /SCX_CPU1_TST_DS_SetCounters +21-237-13:08:50.658 00 SCX_CPU1_DS_RE/629 +21-237-13:08:50.658 00 SCX_CPU1_DS_RE/631 ut_tlmwait SCX_CPU1_find_event[1].num_found_messages, 1 +21-237-13:08:50.665 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:08:51.283 00 TLMH-I:STS 58-012-14:04:08.500 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=4 Set counters to non-zero command +21-237-13:08:51.666 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:08:51.667 00 SCX_CPU1_DS_RE/632 if (UT_TW_Status = UT_Success) then +21-237-13:08:51.667 00 SCX_CPU1_DS_RE/633 write "<*> Passed - Expected Event Msg ",TST_DS_SET_COUNTERS_INF_EID," rcv'd." +21-237-13:08:51.668 00 SPR-I:OPRO <*> Passed - Expected Event Msg 4 rcv'd. +21-237-13:08:51.668 00 SCX_CPU1_DS_RE/636 endif +21-237-13:08:51.668 00 SCX_CPU1_DS_RE/637 +21-237-13:08:51.668 00 SCX_CPU1_DS_RE/638 wait 5 +21-237-13:08:51.668 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:08:56.671 00 SCX_CPU1_DS_RE/639 +21-237-13:08:56.671 00 SCX_CPU1_DS_RE/641 if (SCX_CPU1_DS_CMDPC > 0) AND (SCX_CPU1_DS_CMDEC > 0) AND ;; +21-237-13:08:56.671 00 SCX_CPU1_DS_RE/642 (SCX_CPU1_DS_DisabledPktCnt > 0) AND (SCX_CPU1_DS_IgnoredPktCnt > 0) AND ;; +21-237-13:08:56.671 00 SCX_CPU1_DS_RE/643 (SCX_CPU1_DS_FilteredPktCnt > 0) AND (SCX_CPU1_DS_PassedPktCnt > 0) AND ;; +21-237-13:08:56.671 00 SCX_CPU1_DS_RE/644 (SCX_CPU1_DS_FileWriteCnt > 0) AND (SCX_CPU1_DS_FileWriteErrCnt > 0) AND ;; +21-237-13:08:56.671 00 SCX_CPU1_DS_RE/645 (SCX_CPU1_DS_FileUpdCnt > 0) AND (SCX_CPU1_DS_FileUpdErrCnt > 0) AND ;; +21-237-13:08:56.671 00 SCX_CPU1_DS_RE/646 (SCX_CPU1_DS_DestLoadCnt > 0) AND (SCX_CPU1_DS_DestPtrErrCnt > 0) AND ;; +21-237-13:08:56.671 00 SCX_CPU1_DS_RE/647 (SCX_CPU1_DS_FilterLoadCnt > 0) AND (SCX_CPU1_DS_FilterPtrErrCnt > 0) then +21-237-13:08:56.673 00 SCX_CPU1_DS_RE/648 write "<*> Passed - Counters are all non-zero. Sending reset command." +21-237-13:08:56.673 00 SPR-I:OPRO <*> Passed - Counters are all non-zero. Sending reset command. +21-237-13:08:56.673 00 SCX_CPU1_DS_RE/651 endif +21-237-13:08:56.673 00 SCX_CPU1_DS_RE/652 +21-237-13:08:56.673 00 SCX_CPU1_DS_RE/653 wait 5 +21-237-13:08:56.673 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:09:01.676 00 SCX_CPU1_DS_RE/654 +21-237-13:09:01.676 00 SCX_CPU1_DS_RE/655 write ";***********************************************************************" +21-237-13:09:01.676 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:09:01.676 00 SCX_CPU1_DS_RE/656 write "; Step 2.15: Perform a Power-On Reset on CPU1." +21-237-13:09:01.677 00 SPR-I:OPRO ; Step 2.15: Perform a Power-On Reset on CPU1. +21-237-13:09:01.677 00 SCX_CPU1_DS_RE/657 write ";***********************************************************************" +21-237-13:09:01.677 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:09:01.677 00 SCX_CPU1_DS_RE/658 /SCX_CPU1_ES_POWERONRESET +21-237-13:09:01.689 00 SCX_CPU1_DS_RE/659 wait 10 +21-237-13:09:01.689 00 SPR-I:STTE Wait mode - waiting 10 seconds ... +21-237-13:09:11.696 00 SCX_CPU1_DS_RE/660 +21-237-13:09:11.697 00 SCX_CPU1_DS_RE/661 close_data_center +21-237-13:09:11.697 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/clear_spacecraft_status.i +21-237-13:09:11.698 00 SPR-I:STS Procedure CLEAR_SPACECRAFT_STATUS started +21-237-13:09:11.698 00 CLEAR_SPACECRA/2 ; +21-237-13:09:11.698 00 CLEAR_SPACECRA/3 local logging = %liv(log_procedure) +21-237-13:09:11.698 00 CLEAR_SPACECRA/4 %liv (log_procedure) = FALSE +21-237-13:09:11.711 00 CLEAR_SPACECRA/135 +21-237-13:09:11.711 00 CLEAR_SPACECRA/136 endproc +21-237-13:09:11.711 00 SPR-I:STS Procedure CLEAR_SPACECRAFT_STATUS completed +21-237-13:09:11.776 00 SCX_CPU1_DS_RE/662 wait 60 +21-237-13:09:11.776 00 SPR-I:STTE Wait mode - waiting 60 seconds ... +21-237-13:10:11.828 00 SCX_CPU1_DS_RE/663 +21-237-13:10:11.828 00 SCX_CPU1_DS_RE/664 cfe_startup {hostCPU} +21-237-13:10:11.844 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:10:21.855 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:10:21.925 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/send_that_to_command.i +21-237-13:10:21.925 00 SPR-I:STS Procedure SEND_THAT_TO_COMMAND started +21-237-13:10:21.925 00 SEND_THAT_TO_C/2 ; +21-237-13:10:21.925 00 SEND_THAT_TO_C/3 local logging = %liv (log_procedure) +21-237-13:10:21.925 00 SEND_THAT_TO_C/4 %liv (log_procedure) = FALSE +21-237-13:10:21.926 00 SPR-I:OPRO Sending: /SCX_CPU1_TO_OUTPUT_ENA gs582cfslab4 +21-237-13:10:21.979 00 SEND_THAT_TO_C/83 +21-237-13:10:21.979 00 SEND_THAT_TO_C/84 endproc +21-237-13:10:21.979 00 SPR-I:STS Procedure SEND_THAT_TO_COMMAND completed +21-237-13:10:21.980 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:10:23.264 00 TLMH-I:STS 58-012-14:03:49.450 INFO CPU=CPU1 APPNAME=TO_LAB_APP EVENT ID=3 TO telemetry output enabled for IP 192.168.1.101 +21-237-13:10:25.984 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:10:25.985 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/fill_in_spacecraft_status.i +21-237-13:10:25.986 00 SPR-I:STS Procedure FILL_IN_SPACECRAFT_STATUS started +21-237-13:10:25.987 00 FILL_IN_SPACEC/2 ; +21-237-13:10:25.987 00 FILL_IN_SPACEC/3 local logging = %liv (log_procedure) +21-237-13:10:25.987 00 FILL_IN_SPACEC/4 %liv (log_procedure) = FALSE +21-237-13:10:25.996 00 FILL_IN_SPACEC/152 +21-237-13:10:25.996 00 FILL_IN_SPACEC/153 endproc +21-237-13:10:25.996 00 SPR-I:STS Procedure FILL_IN_SPACECRAFT_STATUS completed +21-237-13:10:25.997 00 SCX_CPU1_DS_RE/665 wait 5 +21-237-13:10:25.997 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:10:31.001 00 SCX_CPU1_DS_RE/666 +21-237-13:10:31.001 00 SCX_CPU1_DS_RE/667 write ";***********************************************************************" +21-237-13:10:31.001 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:10:31.001 00 SCX_CPU1_DS_RE/668 write "; Step 2.16: Start the Data Storage (DS) and Test Applications. " +21-237-13:10:31.001 00 SPR-I:OPRO ; Step 2.16: Start the Data Storage (DS) and Test Applications. +21-237-13:10:31.001 00 SCX_CPU1_DS_RE/669 write ";***********************************************************************" +21-237-13:10:31.001 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:10:31.001 00 SCX_CPU1_DS_RE/670 ;s scx_cpu1_ds_start_apps("2.13") +21-237-13:10:31.001 00 SCX_CPU1_DS_RE/671 ;wait 5 +21-237-13:10:31.001 00 SCX_CPU1_DS_RE/672 +21-237-13:10:31.001 00 SCX_CPU1_DS_RE/674 currSCnt = {seqTlmItem} +21-237-13:10:31.002 00 SCX_CPU1_DS_RE/675 expectedSCnt = currSCnt + 2 +21-237-13:10:31.002 00 SCX_CPU1_DS_RE/676 +21-237-13:10:31.002 00 SCX_CPU1_DS_RE/677 ut_tlmwait {seqTlmItem}, {expectedSCnt} +21-237-13:10:31.010 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:10:38.018 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:10:38.019 00 SCX_CPU1_DS_RE/678 if (UT_TW_Status = UT_Success) then +21-237-13:10:38.020 00 SCX_CPU1_DS_RE/679 write "<*> Passed (8000) - Housekeeping packet is being generated." +21-237-13:10:38.020 00 SPR-I:OPRO <*> Passed (8000) - Housekeeping packet is being generated. +21-237-13:10:38.020 00 SCX_CPU1_DS_RE/680 ut_setrequirements DS_8000, "P" +21-237-13:10:38.023 00 SCX_CPU1_DS_RE/684 endif +21-237-13:10:38.023 00 SCX_CPU1_DS_RE/685 +21-237-13:10:38.023 00 SCX_CPU1_DS_RE/687 if (SCX_CPU1_DS_CMDPC = 0) AND (SCX_CPU1_DS_CMDEC = 0) AND ;; +21-237-13:10:38.023 00 SCX_CPU1_DS_RE/688 (SCX_CPU1_DS_DisabledPktCnt = 0) AND ;; +21-237-13:10:38.023 00 SCX_CPU1_DS_RE/689 (SCX_CPU1_DS_FilteredPktCnt = 0) AND (SCX_CPU1_DS_PassedPktCnt = 0) AND ;; +21-237-13:10:38.023 00 SCX_CPU1_DS_RE/690 (SCX_CPU1_DS_FileWriteCnt = 0) AND (SCX_CPU1_DS_FileWriteErrCnt = 0) AND ;; +21-237-13:10:38.024 00 SCX_CPU1_DS_RE/691 (SCX_CPU1_DS_FileUpdCnt = 0) AND (SCX_CPU1_DS_FileUpdErrCnt = 0) AND ;; +21-237-13:10:38.024 00 SCX_CPU1_DS_RE/692 (SCX_CPU1_DS_DestLoadCnt = 1) AND (SCX_CPU1_DS_DestPtrErrCnt = 0) AND ;; +21-237-13:10:38.024 00 SCX_CPU1_DS_RE/693 (SCX_CPU1_DS_FilterLoadCnt = 1) AND (SCX_CPU1_DS_FilterPtrErrCnt = 0) then +21-237-13:10:38.024 00 SCX_CPU1_DS_RE/694 write "<*> Passed (9000) - Housekeeping telemetry initialized properly." +21-237-13:10:38.024 00 SPR-I:OPRO <*> Passed (9000) - Housekeeping telemetry initialized properly. +21-237-13:10:38.024 00 SCX_CPU1_DS_RE/695 ut_setrequirements DS_9000, "P" +21-237-13:10:38.025 00 SCX_CPU1_DS_RE/712 endif +21-237-13:10:38.026 00 SCX_CPU1_DS_RE/713 +21-237-13:10:38.026 00 SCX_CPU1_DS_RE/714 write ";***********************************************************************" +21-237-13:10:38.026 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:10:38.026 00 SCX_CPU1_DS_RE/715 write "; Step 2.17: Enable DEBUG Event Messages " +21-237-13:10:38.026 00 SPR-I:OPRO ; Step 2.17: Enable DEBUG Event Messages +21-237-13:10:38.026 00 SCX_CPU1_DS_RE/716 write ";***********************************************************************" +21-237-13:10:38.026 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:10:38.035 00 SCX_CPU1_DS_RE/717 local cmdCtr = SCX_CPU1_EVS_CMDPC + 1 +21-237-13:10:38.035 00 SCX_CPU1_DS_RE/718 +21-237-13:10:38.035 00 SCX_CPU1_DS_RE/720 /SCX_CPU1_EVS_EnaAppEVTType Application=DSAppName DEBUG +21-237-13:10:38.037 00 SCX_CPU1_DS_RE/721 +21-237-13:10:38.037 00 SCX_CPU1_DS_RE/722 ut_tlmwait SCX_CPU1_EVS_CMDPC, {cmdCtr} +21-237-13:10:38.041 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:10:42.045 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:10:42.047 00 SCX_CPU1_DS_RE/723 if (UT_TW_Status = UT_Success) then +21-237-13:10:42.047 00 SCX_CPU1_DS_RE/724 write "<*> Passed - Enable Debug events command sent properly." +21-237-13:10:42.047 00 SPR-I:OPRO <*> Passed - Enable Debug events command sent properly. +21-237-13:10:42.047 00 SCX_CPU1_DS_RE/727 endif +21-237-13:10:42.048 00 SCX_CPU1_DS_RE/728 +21-237-13:10:42.048 00 SCX_CPU1_DS_RE/729 write ";***********************************************************************" +21-237-13:10:42.048 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:10:42.048 00 SCX_CPU1_DS_RE/730 write "; Step 3.0: Processor Reset Tests." +21-237-13:10:42.048 00 SPR-I:OPRO ; Step 3.0: Processor Reset Tests. +21-237-13:10:42.048 00 SCX_CPU1_DS_RE/731 write ";***********************************************************************" +21-237-13:10:42.048 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:10:42.048 00 SCX_CPU1_DS_RE/732 write "; Step 3.1: Utilizing the TST_DS application, send several messages to" +21-237-13:10:42.048 00 SPR-I:OPRO ; Step 3.1: Utilizing the TST_DS application, send several messages to +21-237-13:10:42.049 00 SCX_CPU1_DS_RE/733 write "; the DS application so that files can be created and opened. " +21-237-13:10:42.049 00 SPR-I:OPRO ; the DS application so that files can be created and opened. +21-237-13:10:42.049 00 SCX_CPU1_DS_RE/734 write ";***********************************************************************" +21-237-13:10:42.049 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:10:42.049 00 SCX_CPU1_DS_RE/735 write "; Step 3.1.1: Parse the Packet Filter table to find several entries to " +21-237-13:10:42.049 00 SPR-I:OPRO ; Step 3.1.1: Parse the Packet Filter table to find several entries to +21-237-13:10:42.049 00 SCX_CPU1_DS_RE/736 write "; send messages to. " +21-237-13:10:42.049 00 SPR-I:OPRO ; send messages to. +21-237-13:10:42.064 00 SCX_CPU1_DS_RE/737 write ";***********************************************************************" +21-237-13:10:42.064 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:10:42.064 00 SCX_CPU1_DS_RE/739 logging = %liv (log_procedure) +21-237-13:10:42.064 00 SCX_CPU1_DS_RE/740 %liv (log_procedure) = FALSE +21-237-13:10:42.068 00 SCX_CPU1_DS_RE/757 +21-237-13:10:42.068 00 SCX_CPU1_DS_RE/758 write ";***********************************************************************" +21-237-13:10:42.068 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:10:42.068 00 SCX_CPU1_DS_RE/759 write "; Step 3.1.2: Send the TST_DS command to send messages to DS using the " +21-237-13:10:42.068 00 SPR-I:OPRO ; Step 3.1.2: Send the TST_DS command to send messages to DS using the +21-237-13:10:42.068 00 SCX_CPU1_DS_RE/760 write "; message IDs found in the previous step. " +21-237-13:10:42.068 00 SPR-I:OPRO ; message IDs found in the previous step. +21-237-13:10:42.068 00 SCX_CPU1_DS_RE/761 write ";***********************************************************************" +21-237-13:10:42.068 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:10:42.069 00 SCX_CPU1_DS_RE/763 ut_setupevents "SCX", "CPU1", "TST_DS", TST_DS_MSG1_SENT_INF_EID, "INFO", 1 +21-237-13:10:42.072 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:10:42.073 00 SPR-I:OPRO ; Setup event 1 with TST_DS INFO 5 +21-237-13:10:42.073 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:10:42.073 00 SCX_CPU1_DS_RE/764 +21-237-13:10:42.073 00 SCX_CPU1_DS_RE/766 for i = 1 to 3 do +21-237-13:10:42.073 00 SCX_CPU1_DS_RE/768 /SCX_CPU1_TST_DS_SENDMESSAGE MsgID=msgIDs[i] MsgType=1 Pattern=x'A5' +21-237-13:10:42.086 00 SCX_CPU1_DS_RE/769 wait 5 +21-237-13:10:42.086 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:10:42.754 00 TLMH-I:STS 58-012-14:04:09.004 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Message Size 116 to MID 0x00000901 +21-237-13:10:47.090 00 SCX_CPU1_DS_RE/770 enddo +21-237-13:10:47.091 00 SCX_CPU1_DS_RE/766 for i = 1 to 3 do +21-237-13:10:47.091 00 SCX_CPU1_DS_RE/768 /SCX_CPU1_TST_DS_SENDMESSAGE MsgID=msgIDs[i] MsgType=1 Pattern=x'A5' +21-237-13:10:47.106 00 SCX_CPU1_DS_RE/769 wait 5 +21-237-13:10:47.106 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:10:47.755 00 TLMH-I:STS 58-012-14:04:14.001 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Message Size 116 to MID 0x00000902 +21-237-13:10:52.110 00 SCX_CPU1_DS_RE/770 enddo +21-237-13:10:52.111 00 SCX_CPU1_DS_RE/766 for i = 1 to 3 do +21-237-13:10:52.111 00 SCX_CPU1_DS_RE/768 /SCX_CPU1_TST_DS_SENDMESSAGE MsgID=msgIDs[i] MsgType=1 Pattern=x'A5' +21-237-13:10:52.124 00 SCX_CPU1_DS_RE/769 wait 5 +21-237-13:10:52.124 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:10:52.754 00 TLMH-I:STS 58-012-14:04:19.002 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Message Size 116 to MID 0x00000903 +21-237-13:10:57.128 00 SCX_CPU1_DS_RE/770 enddo +21-237-13:10:57.128 00 SCX_CPU1_DS_RE/766 for i = 1 to 3 do +21-237-13:10:57.129 00 SCX_CPU1_DS_RE/771 +21-237-13:10:57.129 00 SCX_CPU1_DS_RE/773 if (SCX_CPU1_find_event[1].num_found_messages = 3) then +21-237-13:10:57.129 00 SCX_CPU1_DS_RE/774 write "<*> Passed - Rcv'd the expected number of Send events." +21-237-13:10:57.129 00 SPR-I:OPRO <*> Passed - Rcv'd the expected number of Send events. +21-237-13:10:57.129 00 SCX_CPU1_DS_RE/777 endif +21-237-13:10:57.129 00 SCX_CPU1_DS_RE/778 +21-237-13:10:57.130 00 SCX_CPU1_DS_RE/779 wait 5 +21-237-13:10:57.130 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:11:02.133 00 SCX_CPU1_DS_RE/780 +21-237-13:11:02.133 00 SCX_CPU1_DS_RE/781 write ";***********************************************************************" +21-237-13:11:02.134 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:11:02.134 00 SCX_CPU1_DS_RE/782 write "; Step 3.2: Save the file sequence counters and slots of all 'open' " +21-237-13:11:02.134 00 SPR-I:OPRO ; Step 3.2: Save the file sequence counters and slots of all 'open' +21-237-13:11:02.134 00 SCX_CPU1_DS_RE/783 write "; destination files. " +21-237-13:11:02.134 00 SPR-I:OPRO ; destination files. +21-237-13:11:02.134 00 SCX_CPU1_DS_RE/784 write ";***********************************************************************" +21-237-13:11:02.134 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:11:02.134 00 SCX_CPU1_DS_RE/787 local seqCnt[DS_DEST_FILE_CNT] +21-237-13:11:02.135 00 SCX_CPU1_DS_RE/788 local openFiles[DS_DEST_FILE_CNT] +21-237-13:11:02.135 00 SCX_CPU1_DS_RE/789 local openCount = 0 +21-237-13:11:02.135 00 SCX_CPU1_DS_RE/790 local seqCount = 0 +21-237-13:11:02.135 00 SCX_CPU1_DS_RE/791 local dotLoc = 0 +21-237-13:11:02.135 00 SCX_CPU1_DS_RE/792 +21-237-13:11:02.135 00 SCX_CPU1_DS_RE/794 cmdCtr = SCX_CPU1_DS_CMDPC + 1 +21-237-13:11:02.136 00 SCX_CPU1_DS_RE/795 +21-237-13:11:02.136 00 SCX_CPU1_DS_RE/796 /SCX_CPU1_DS_GetFileInfo +21-237-13:11:02.150 00 SCX_CPU1_DS_RE/797 +21-237-13:11:02.150 00 SCX_CPU1_DS_RE/798 ut_tlmwait SCX_CPU1_DS_CMDPC, {cmdCtr} +21-237-13:11:02.153 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:11:02.762 00 TLMH-I:STS 58-012-14:04:29.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-237-13:11:06.157 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:11:06.159 00 SCX_CPU1_DS_RE/799 +21-237-13:11:06.159 00 SCX_CPU1_DS_RE/801 local fileName +21-237-13:11:06.159 00 SCX_CPU1_DS_RE/802 for i = 0 to DS_DEST_FILE_CNT-1 do +21-237-13:11:06.159 00 SCX_CPU1_DS_RE/803 if (SCX_CPU1_DS_FileState[i].FileName <> "") then +21-237-13:11:06.160 00 SCX_CPU1_DS_RE/815 endif +21-237-13:11:06.160 00 SCX_CPU1_DS_RE/816 enddo +21-237-13:11:06.160 00 SCX_CPU1_DS_RE/802 for i = 0 to DS_DEST_FILE_CNT-1 do +21-237-13:11:06.161 00 SCX_CPU1_DS_RE/803 if (SCX_CPU1_DS_FileState[i].FileName <> "") then +21-237-13:11:06.161 00 SCX_CPU1_DS_RE/804 fileName = SCX_CPU1_DS_FileState[i].FileName +21-237-13:11:06.161 00 SCX_CPU1_DS_RE/805 write "<*> Passed - A file was created with name '",fileName,"'" +21-237-13:11:06.161 00 SPR-I:OPRO <*> Passed - A file was created with name '/ram/seq200000200.dat' +21-237-13:11:06.161 00 SCX_CPU1_DS_RE/806 openCount = openCount + 1 +21-237-13:11:06.162 00 SCX_CPU1_DS_RE/807 openFiles[openCount] = i +21-237-13:11:06.162 00 SCX_CPU1_DS_RE/809 if (p@SCX_CPU1_DS_DF_TBL[i].FileNameType = "Count") then +21-237-13:11:06.162 00 SCX_CPU1_DS_RE/810 seqCount = seqCount + 1 +21-237-13:11:06.162 00 SCX_CPU1_DS_RE/811 dotLoc = %locate(fileName,".") +21-237-13:11:06.162 00 SCX_CPU1_DS_RE/812 seqCnt[seqCount] = %substring(fileName,dotLoc-3,dotLoc-1) +21-237-13:11:06.163 00 SCX_CPU1_DS_RE/813 write "==> SeqCount = '",seqCnt[seqCount],"'" +21-237-13:11:06.163 00 SPR-I:OPRO ==> SeqCount = '200' +21-237-13:11:06.163 00 SCX_CPU1_DS_RE/814 endif +21-237-13:11:06.163 00 SCX_CPU1_DS_RE/815 endif +21-237-13:11:06.167 00 SCX_CPU1_DS_RE/816 enddo +21-237-13:11:06.167 00 SCX_CPU1_DS_RE/802 for i = 0 to DS_DEST_FILE_CNT-1 do +21-237-13:11:06.167 00 SCX_CPU1_DS_RE/803 if (SCX_CPU1_DS_FileState[i].FileName <> "") then +21-237-13:11:06.167 00 SCX_CPU1_DS_RE/815 endif +21-237-13:11:06.167 00 SCX_CPU1_DS_RE/816 enddo +21-237-13:11:06.167 00 SCX_CPU1_DS_RE/802 for i = 0 to DS_DEST_FILE_CNT-1 do +21-237-13:11:06.167 00 SCX_CPU1_DS_RE/803 if (SCX_CPU1_DS_FileState[i].FileName <> "") then +21-237-13:11:06.167 00 SCX_CPU1_DS_RE/815 endif +21-237-13:11:06.167 00 SCX_CPU1_DS_RE/816 enddo +21-237-13:11:06.168 00 SCX_CPU1_DS_RE/802 for i = 0 to DS_DEST_FILE_CNT-1 do +21-237-13:11:06.168 00 SCX_CPU1_DS_RE/803 if (SCX_CPU1_DS_FileState[i].FileName <> "") then +21-237-13:11:06.168 00 SCX_CPU1_DS_RE/804 fileName = SCX_CPU1_DS_FileState[i].FileName +21-237-13:11:06.168 00 SCX_CPU1_DS_RE/805 write "<*> Passed - A file was created with name '",fileName,"'" +21-237-13:11:06.168 00 SPR-I:OPRO <*> Passed - A file was created with name '/ram/time11980012140409' +21-237-13:11:06.168 00 SCX_CPU1_DS_RE/806 openCount = openCount + 1 +21-237-13:11:06.168 00 SCX_CPU1_DS_RE/807 openFiles[openCount] = i +21-237-13:11:06.168 00 SCX_CPU1_DS_RE/809 if (p@SCX_CPU1_DS_DF_TBL[i].FileNameType = "Count") then +21-237-13:11:06.168 00 SCX_CPU1_DS_RE/814 endif +21-237-13:11:06.168 00 SCX_CPU1_DS_RE/815 endif +21-237-13:11:06.168 00 SCX_CPU1_DS_RE/816 enddo +21-237-13:11:06.168 00 SCX_CPU1_DS_RE/802 for i = 0 to DS_DEST_FILE_CNT-1 do +21-237-13:11:06.168 00 SCX_CPU1_DS_RE/803 if (SCX_CPU1_DS_FileState[i].FileName <> "") then +21-237-13:11:06.168 00 SCX_CPU1_DS_RE/804 fileName = SCX_CPU1_DS_FileState[i].FileName +21-237-13:11:06.168 00 SCX_CPU1_DS_RE/805 write "<*> Passed - A file was created with name '",fileName,"'" +21-237-13:11:06.168 00 SPR-I:OPRO <*> Passed - A file was created with name '/ram/time21980012140409' +21-237-13:11:06.170 00 SCX_CPU1_DS_RE/806 openCount = openCount + 1 +21-237-13:11:06.170 00 SCX_CPU1_DS_RE/807 openFiles[openCount] = i +21-237-13:11:06.170 00 SCX_CPU1_DS_RE/809 if (p@SCX_CPU1_DS_DF_TBL[i].FileNameType = "Count") then +21-237-13:11:06.170 00 SCX_CPU1_DS_RE/814 endif +21-237-13:11:06.170 00 SCX_CPU1_DS_RE/815 endif +21-237-13:11:06.170 00 SCX_CPU1_DS_RE/816 enddo +21-237-13:11:06.170 00 SCX_CPU1_DS_RE/802 for i = 0 to DS_DEST_FILE_CNT-1 do +21-237-13:11:06.171 00 SCX_CPU1_DS_RE/803 if (SCX_CPU1_DS_FileState[i].FileName <> "") then +21-237-13:11:06.171 00 SCX_CPU1_DS_RE/804 fileName = SCX_CPU1_DS_FileState[i].FileName +21-237-13:11:06.171 00 SCX_CPU1_DS_RE/805 write "<*> Passed - A file was created with name '",fileName,"'" +21-237-13:11:06.171 00 SPR-I:OPRO <*> Passed - A file was created with name '/ram/time31980012140409' +21-237-13:11:06.171 00 SCX_CPU1_DS_RE/806 openCount = openCount + 1 +21-237-13:11:06.171 00 SCX_CPU1_DS_RE/807 openFiles[openCount] = i +21-237-13:11:06.171 00 SCX_CPU1_DS_RE/809 if (p@SCX_CPU1_DS_DF_TBL[i].FileNameType = "Count") then +21-237-13:11:06.171 00 SCX_CPU1_DS_RE/814 endif +21-237-13:11:06.171 00 SCX_CPU1_DS_RE/815 endif +21-237-13:11:06.171 00 SCX_CPU1_DS_RE/816 enddo +21-237-13:11:06.171 00 SCX_CPU1_DS_RE/802 for i = 0 to DS_DEST_FILE_CNT-1 do +21-237-13:11:06.172 00 SCX_CPU1_DS_RE/803 if (SCX_CPU1_DS_FileState[i].FileName <> "") then +21-237-13:11:06.172 00 SCX_CPU1_DS_RE/804 fileName = SCX_CPU1_DS_FileState[i].FileName +21-237-13:11:06.172 00 SCX_CPU1_DS_RE/805 write "<*> Passed - A file was created with name '",fileName,"'" +21-237-13:11:06.172 00 SPR-I:OPRO <*> Passed - A file was created with name '/ram/time41980012140409' +21-237-13:11:06.172 00 SCX_CPU1_DS_RE/806 openCount = openCount + 1 +21-237-13:11:06.172 00 SCX_CPU1_DS_RE/807 openFiles[openCount] = i +21-237-13:11:06.172 00 SCX_CPU1_DS_RE/809 if (p@SCX_CPU1_DS_DF_TBL[i].FileNameType = "Count") then +21-237-13:11:06.172 00 SCX_CPU1_DS_RE/814 endif +21-237-13:11:06.178 00 SCX_CPU1_DS_RE/815 endif +21-237-13:11:06.178 00 SCX_CPU1_DS_RE/816 enddo +21-237-13:11:06.179 00 SCX_CPU1_DS_RE/802 for i = 0 to DS_DEST_FILE_CNT-1 do +21-237-13:11:06.179 00 SCX_CPU1_DS_RE/803 if (SCX_CPU1_DS_FileState[i].FileName <> "") then +21-237-13:11:06.179 00 SCX_CPU1_DS_RE/815 endif +21-237-13:11:06.179 00 SCX_CPU1_DS_RE/816 enddo +21-237-13:11:06.179 00 SCX_CPU1_DS_RE/802 for i = 0 to DS_DEST_FILE_CNT-1 do +21-237-13:11:06.179 00 SCX_CPU1_DS_RE/803 if (SCX_CPU1_DS_FileState[i].FileName <> "") then +21-237-13:11:06.179 00 SCX_CPU1_DS_RE/815 endif +21-237-13:11:06.179 00 SCX_CPU1_DS_RE/816 enddo +21-237-13:11:06.179 00 SCX_CPU1_DS_RE/802 for i = 0 to DS_DEST_FILE_CNT-1 do +21-237-13:11:06.180 00 SCX_CPU1_DS_RE/803 if (SCX_CPU1_DS_FileState[i].FileName <> "") then +21-237-13:11:06.180 00 SCX_CPU1_DS_RE/815 endif +21-237-13:11:06.180 00 SCX_CPU1_DS_RE/816 enddo +21-237-13:11:06.180 00 SCX_CPU1_DS_RE/802 for i = 0 to DS_DEST_FILE_CNT-1 do +21-237-13:11:06.180 00 SCX_CPU1_DS_RE/803 if (SCX_CPU1_DS_FileState[i].FileName <> "") then +21-237-13:11:06.180 00 SCX_CPU1_DS_RE/815 endif +21-237-13:11:06.180 00 SCX_CPU1_DS_RE/816 enddo +21-237-13:11:06.183 00 SCX_CPU1_DS_RE/802 for i = 0 to DS_DEST_FILE_CNT-1 do +21-237-13:11:06.183 00 SCX_CPU1_DS_RE/803 if (SCX_CPU1_DS_FileState[i].FileName <> "") then +21-237-13:11:06.183 00 SCX_CPU1_DS_RE/815 endif +21-237-13:11:06.183 00 SCX_CPU1_DS_RE/816 enddo +21-237-13:11:06.184 00 SCX_CPU1_DS_RE/802 for i = 0 to DS_DEST_FILE_CNT-1 do +21-237-13:11:06.184 00 SCX_CPU1_DS_RE/803 if (SCX_CPU1_DS_FileState[i].FileName <> "") then +21-237-13:11:06.184 00 SCX_CPU1_DS_RE/815 endif +21-237-13:11:06.184 00 SCX_CPU1_DS_RE/816 enddo +21-237-13:11:06.184 00 SCX_CPU1_DS_RE/802 for i = 0 to DS_DEST_FILE_CNT-1 do +21-237-13:11:06.184 00 SCX_CPU1_DS_RE/803 if (SCX_CPU1_DS_FileState[i].FileName <> "") then +21-237-13:11:06.184 00 SCX_CPU1_DS_RE/815 endif +21-237-13:11:06.184 00 SCX_CPU1_DS_RE/816 enddo +21-237-13:11:06.184 00 SCX_CPU1_DS_RE/802 for i = 0 to DS_DEST_FILE_CNT-1 do +21-237-13:11:06.185 00 SCX_CPU1_DS_RE/803 if (SCX_CPU1_DS_FileState[i].FileName <> "") then +21-237-13:11:06.185 00 SCX_CPU1_DS_RE/815 endif +21-237-13:11:06.185 00 SCX_CPU1_DS_RE/816 enddo +21-237-13:11:06.185 00 SCX_CPU1_DS_RE/802 for i = 0 to DS_DEST_FILE_CNT-1 do +21-237-13:11:06.185 00 SCX_CPU1_DS_RE/817 +21-237-13:11:06.185 00 SCX_CPU1_DS_RE/819 local expectedState +21-237-13:11:06.188 00 SCX_CPU1_DS_RE/820 cmdCtr = SCX_CPU1_DS_CMDPC + 1 +21-237-13:11:06.188 00 SCX_CPU1_DS_RE/821 if (p@SCX_CPU1_DS_AppEnaState = "Enabled") then +21-237-13:11:06.188 00 SCX_CPU1_DS_RE/822 expectedState = "Disabled" +21-237-13:11:06.188 00 SCX_CPU1_DS_RE/824 /SCX_CPU1_DS_Disable +21-237-13:11:06.191 00 SCX_CPU1_DS_RE/829 endif +21-237-13:11:06.191 00 SCX_CPU1_DS_RE/830 +21-237-13:11:06.191 00 SCX_CPU1_DS_RE/831 ut_tlmwait SCX_CPU1_DS_CMDPC, {cmdCtr} +21-237-13:11:06.194 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:11:06.757 00 TLMH-I:STS 58-012-14:04:33.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=35 APP STATE command: state = 0 +21-237-13:11:10.199 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:11:10.201 00 SCX_CPU1_DS_RE/832 if (UT_TW_Status = UT_Success) then +21-237-13:11:10.201 00 SCX_CPU1_DS_RE/833 write "<*> Passed - DS Application State command sent properly." +21-237-13:11:10.201 00 SPR-I:OPRO <*> Passed - DS Application State command sent properly. +21-237-13:11:10.201 00 SCX_CPU1_DS_RE/836 endif +21-237-13:11:10.202 00 SCX_CPU1_DS_RE/837 +21-237-13:11:10.202 00 SCX_CPU1_DS_RE/838 wait 5 +21-237-13:11:10.202 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:11:15.205 00 SCX_CPU1_DS_RE/839 +21-237-13:11:15.205 00 SCX_CPU1_DS_RE/840 write ";*********************************************************************" +21-237-13:11:15.206 00 SPR-I:OPRO ;********************************************************************* +21-237-13:11:15.206 00 SCX_CPU1_DS_RE/841 write "; Step 3.3: Perform a Processor Reset. " +21-237-13:11:15.206 00 SPR-I:OPRO ; Step 3.3: Perform a Processor Reset. +21-237-13:11:15.206 00 SCX_CPU1_DS_RE/842 write ";*********************************************************************" +21-237-13:11:15.206 00 SPR-I:OPRO ;********************************************************************* +21-237-13:11:15.206 00 SCX_CPU1_DS_RE/843 /SCX_CPU1_ES_PROCESSORRESET +21-237-13:11:15.221 00 SCX_CPU1_DS_RE/844 wait 10 +21-237-13:11:15.221 00 SPR-I:STTE Wait mode - waiting 10 seconds ... +21-237-13:11:25.229 00 SCX_CPU1_DS_RE/845 +21-237-13:11:25.229 00 SCX_CPU1_DS_RE/846 close_data_center +21-237-13:11:25.230 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/clear_spacecraft_status.i +21-237-13:11:25.231 00 SPR-I:STS Procedure CLEAR_SPACECRAFT_STATUS started +21-237-13:11:25.231 00 CLEAR_SPACECRA/2 ; +21-237-13:11:25.231 00 CLEAR_SPACECRA/3 local logging = %liv(log_procedure) +21-237-13:11:25.232 00 CLEAR_SPACECRA/4 %liv (log_procedure) = FALSE +21-237-13:11:25.238 00 CLEAR_SPACECRA/135 +21-237-13:11:25.238 00 CLEAR_SPACECRA/136 endproc +21-237-13:11:25.238 00 SPR-I:STS Procedure CLEAR_SPACECRAFT_STATUS completed +21-237-13:11:25.285 00 SCX_CPU1_DS_RE/847 wait 60 +21-237-13:11:25.285 00 SPR-I:STTE Wait mode - waiting 60 seconds ... +21-237-13:12:25.324 00 SCX_CPU1_DS_RE/848 +21-237-13:12:25.325 00 SCX_CPU1_DS_RE/849 cfe_startup {hostCPU} +21-237-13:12:25.336 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:12:35.345 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:12:35.415 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/send_that_to_command.i +21-237-13:12:35.415 00 SPR-I:STS Procedure SEND_THAT_TO_COMMAND started +21-237-13:12:35.415 00 SEND_THAT_TO_C/2 ; +21-237-13:12:35.415 00 SEND_THAT_TO_C/3 local logging = %liv (log_procedure) +21-237-13:12:35.415 00 SEND_THAT_TO_C/4 %liv (log_procedure) = FALSE +21-237-13:12:35.416 00 SPR-I:OPRO Sending: /SCX_CPU1_TO_OUTPUT_ENA gs582cfslab4 +21-237-13:12:35.467 00 SEND_THAT_TO_C/83 +21-237-13:12:35.467 00 SEND_THAT_TO_C/84 endproc +21-237-13:12:35.467 00 SPR-I:STS Procedure SEND_THAT_TO_COMMAND completed +21-237-13:12:35.468 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:12:36.167 00 TLMH-I:STS 58-012-14:05:09.600 INFO CPU=CPU1 APPNAME=TO_LAB_APP EVENT ID=3 TO telemetry output enabled for IP 192.168.1.101 +21-237-13:12:38.470 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:12:38.471 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/fill_in_spacecraft_status.i +21-237-13:12:38.473 00 SPR-I:STS Procedure FILL_IN_SPACECRAFT_STATUS started +21-237-13:12:38.474 00 FILL_IN_SPACEC/2 ; +21-237-13:12:38.474 00 FILL_IN_SPACEC/3 local logging = %liv (log_procedure) +21-237-13:12:38.474 00 FILL_IN_SPACEC/4 %liv (log_procedure) = FALSE +21-237-13:12:38.478 00 FILL_IN_SPACEC/152 +21-237-13:12:38.478 00 FILL_IN_SPACEC/153 endproc +21-237-13:12:38.478 00 SPR-I:STS Procedure FILL_IN_SPACECRAFT_STATUS completed +21-237-13:12:38.479 00 SCX_CPU1_DS_RE/850 wait 5 +21-237-13:12:38.479 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:12:43.483 00 SCX_CPU1_DS_RE/851 +21-237-13:12:43.483 00 SCX_CPU1_DS_RE/852 write ";***********************************************************************" +21-237-13:12:43.483 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:12:43.483 00 SCX_CPU1_DS_RE/853 write "; Step 3.4: Start the Data Storage (DS) and Test Applications. " +21-237-13:12:43.483 00 SPR-I:OPRO ; Step 3.4: Start the Data Storage (DS) and Test Applications. +21-237-13:12:43.483 00 SCX_CPU1_DS_RE/854 write ";***********************************************************************" +21-237-13:12:43.483 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:12:43.483 00 SCX_CPU1_DS_RE/855 ;s scx_cpu1_ds_start_apps("3.4") +21-237-13:12:43.483 00 SCX_CPU1_DS_RE/856 ;wait 5 +21-237-13:12:43.483 00 SCX_CPU1_DS_RE/857 +21-237-13:12:43.483 00 SCX_CPU1_DS_RE/859 if (SCX_CPU1_DS_DestLoadCnt = 1) AND (SCX_CPU1_DS_FilterLoadCnt = 1) then +21-237-13:12:43.483 00 SCX_CPU1_DS_RE/860 write "<*> Passed (9005;9007) - The tables were validated properly." +21-237-13:12:43.483 00 SPR-I:OPRO <*> Passed (9005;9007) - The tables were validated properly. +21-237-13:12:43.483 00 SCX_CPU1_DS_RE/861 ut_setrequirements DS_9005, "P" +21-237-13:12:43.484 00 SCX_CPU1_DS_RE/862 ut_setrequirements DS_9007, "P" +21-237-13:12:43.485 00 SCX_CPU1_DS_RE/872 endif +21-237-13:12:43.485 00 SCX_CPU1_DS_RE/873 +21-237-13:12:43.485 00 SCX_CPU1_DS_RE/876 s get_file_to_cvt (ramDir, "cfe_sb_route.dat", "cpu1_sb_route.dat", hostCPU) +21-237-13:12:43.486 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/get_file_to_cvt.i +21-237-13:12:43.489 00 SPR-I:STS Procedure GET_FILE_TO_CVT started +21-237-13:12:43.489 00 GET_FILE_TO_CV/2 ; +21-237-13:12:43.489 00 GET_FILE_TO_CV/3 local logging = %liv (log_procedure) +21-237-13:12:43.489 00 GET_FILE_TO_CV/4 %liv (log_procedure) = FALSE +21-237-13:12:43.519 00 SPR-I:OPRO Sending Command: /SCX_CPU1_SB_WRITEROUTING2FILE ROUTINFOFILENAME="/ram/cfe_sb_route.dat" +21-237-13:12:43.533 00 SPR-I:STTE Wait mode - waiting 15 seconds ... +21-237-13:12:58.544 00 SPR-I:OPRO The APID is: P0F02 +21-237-13:12:58.544 00 SPR-I:OPRO The CPU is: CPU3 +21-237-13:12:58.544 00 SPR-I:OPRO The IP Address is: 192.168.1.8 +21-237-13:12:58.545 00 SPR-I:OPRO The perl command is: perl /s/opr/accounts/global/tools/ftp.pl RAM:0 cfe_sb_route.dat cpu1_sb_route.dat binary 192.168.1.8 +21-237-13:12:58.691 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-237-13:12:58.691 00 SPR-I:STTE Wait mode - waiting 15 seconds ... +21-237-13:13:13.704 00 SPR-I:OPRO +21-237-13:13:13.723 00 SPR-I:OPRO The unix command is cvt -ws file_list[3842].file_write_time "`date +%y-%j-%T -r /s/opr/accounts/cfs_test/image/cpu1_sb_route.dat`" +21-237-13:13:13.723 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:13:18.728 00 GET_FILE_TO_CV/513 +21-237-13:13:18.728 00 GET_FILE_TO_CV/514 ENDPROC +21-237-13:13:18.728 00 SPR-I:STS Procedure GET_FILE_TO_CVT completed +21-237-13:13:18.729 00 SCX_CPU1_DS_RE/877 wait 5 +21-237-13:13:18.729 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:13:23.732 00 SCX_CPU1_DS_RE/878 +21-237-13:13:23.733 00 SCX_CPU1_DS_RE/879 filterEntries = 0 +21-237-13:13:23.733 00 SCX_CPU1_DS_RE/880 foundSubscription = 0 +21-237-13:13:23.733 00 SCX_CPU1_DS_RE/881 +21-237-13:13:23.733 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:23.733 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:23.733 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:23.733 00 SCX_CPU1_DS_RE/885 filterEntries = filterEntries + 1 +21-237-13:13:23.734 00 SCX_CPU1_DS_RE/886 write "== Looking for msgID = ", %hex(filterMsgId,4) +21-237-13:13:23.734 00 SPR-I:OPRO == Looking for msgID = 0900 +21-237-13:13:23.734 00 SCX_CPU1_DS_RE/887 for sbIndex = 1 to CFE_SB_HIGHEST_VALID_MSGID do +21-237-13:13:23.734 00 SCX_CPU1_DS_RE/888 if (SCX_CPU1_SB_RouteEntry[sbIndex].SB_AppName = DSAppName) AND ;; +21-237-13:13:23.734 00 SCX_CPU1_DS_RE/889 (SCX_CPU1_SB_RouteEntry[sbIndex].SB_MsgID = filterMsgID) then +21-237-13:13:23.734 00 SCX_CPU1_DS_RE/892 elseif (SCX_CPU1_SB_RouteEntry[sbIndex].SB_AppName = "") then +21-237-13:13:23.734 00 SCX_CPU1_DS_RE/894 endif +21-237-13:13:23.734 00 SCX_CPU1_DS_RE/895 enddo +21-237-13:13:23.735 00 SCX_CPU1_DS_RE/887 for sbIndex = 1 to CFE_SB_HIGHEST_VALID_MSGID do +21-237-13:13:23.735 00 SCX_CPU1_DS_RE/888 if (SCX_CPU1_SB_RouteEntry[sbIndex].SB_AppName = DSAppName) AND ;; +21-237-13:13:23.735 00 SCX_CPU1_DS_RE/889 (SCX_CPU1_SB_RouteEntry[sbIndex].SB_MsgID = filterMsgID) then +21-237-13:13:23.735 00 SCX_CPU1_DS_RE/892 elseif (SCX_CPU1_SB_RouteEntry[sbIndex].SB_AppName = "") then +21-237-13:13:23.735 00 SCX_CPU1_DS_RE/893 break +21-237-13:13:23.736 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:23.736 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:23.736 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:23.736 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:23.736 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:23.736 00 SCX_CPU1_DS_RE/885 filterEntries = filterEntries + 1 +21-237-13:13:23.736 00 SCX_CPU1_DS_RE/886 write "== Looking for msgID = ", %hex(filterMsgId,4) +21-237-13:13:23.737 00 SPR-I:OPRO == Looking for msgID = 0901 +21-237-13:13:23.737 00 SCX_CPU1_DS_RE/887 for sbIndex = 1 to CFE_SB_HIGHEST_VALID_MSGID do +21-237-13:13:23.737 00 SCX_CPU1_DS_RE/888 if (SCX_CPU1_SB_RouteEntry[sbIndex].SB_AppName = DSAppName) AND ;; +21-237-13:13:23.737 00 SCX_CPU1_DS_RE/889 (SCX_CPU1_SB_RouteEntry[sbIndex].SB_MsgID = filterMsgID) then +21-237-13:13:23.737 00 SCX_CPU1_DS_RE/892 elseif (SCX_CPU1_SB_RouteEntry[sbIndex].SB_AppName = "") then +21-237-13:13:23.737 00 SCX_CPU1_DS_RE/894 endif +21-237-13:13:23.737 00 SCX_CPU1_DS_RE/895 enddo +21-237-13:13:23.737 00 SCX_CPU1_DS_RE/887 for sbIndex = 1 to CFE_SB_HIGHEST_VALID_MSGID do +21-237-13:13:23.737 00 SCX_CPU1_DS_RE/888 if (SCX_CPU1_SB_RouteEntry[sbIndex].SB_AppName = DSAppName) AND ;; +21-237-13:13:23.737 00 SCX_CPU1_DS_RE/889 (SCX_CPU1_SB_RouteEntry[sbIndex].SB_MsgID = filterMsgID) then +21-237-13:13:23.737 00 SCX_CPU1_DS_RE/892 elseif (SCX_CPU1_SB_RouteEntry[sbIndex].SB_AppName = "") then +21-237-13:13:23.738 00 SCX_CPU1_DS_RE/893 break +21-237-13:13:23.738 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:23.738 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:23.738 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:23.738 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:23.738 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:23.738 00 SCX_CPU1_DS_RE/885 filterEntries = filterEntries + 1 +21-237-13:13:23.738 00 SCX_CPU1_DS_RE/886 write "== Looking for msgID = ", %hex(filterMsgId,4) +21-237-13:13:23.738 00 SPR-I:OPRO == Looking for msgID = 0902 +21-237-13:13:23.738 00 SCX_CPU1_DS_RE/887 for sbIndex = 1 to CFE_SB_HIGHEST_VALID_MSGID do +21-237-13:13:23.738 00 SCX_CPU1_DS_RE/888 if (SCX_CPU1_SB_RouteEntry[sbIndex].SB_AppName = DSAppName) AND ;; +21-237-13:13:23.738 00 SCX_CPU1_DS_RE/889 (SCX_CPU1_SB_RouteEntry[sbIndex].SB_MsgID = filterMsgID) then +21-237-13:13:23.739 00 SCX_CPU1_DS_RE/892 elseif (SCX_CPU1_SB_RouteEntry[sbIndex].SB_AppName = "") then +21-237-13:13:23.739 00 SCX_CPU1_DS_RE/894 endif +21-237-13:13:23.739 00 SCX_CPU1_DS_RE/895 enddo +21-237-13:13:23.739 00 SCX_CPU1_DS_RE/887 for sbIndex = 1 to CFE_SB_HIGHEST_VALID_MSGID do +21-237-13:13:23.739 00 SCX_CPU1_DS_RE/888 if (SCX_CPU1_SB_RouteEntry[sbIndex].SB_AppName = DSAppName) AND ;; +21-237-13:13:23.739 00 SCX_CPU1_DS_RE/889 (SCX_CPU1_SB_RouteEntry[sbIndex].SB_MsgID = filterMsgID) then +21-237-13:13:23.739 00 SCX_CPU1_DS_RE/892 elseif (SCX_CPU1_SB_RouteEntry[sbIndex].SB_AppName = "") then +21-237-13:13:23.739 00 SCX_CPU1_DS_RE/893 break +21-237-13:13:23.739 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:23.739 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:23.739 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:23.740 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:23.740 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:23.740 00 SCX_CPU1_DS_RE/885 filterEntries = filterEntries + 1 +21-237-13:13:23.740 00 SCX_CPU1_DS_RE/886 write "== Looking for msgID = ", %hex(filterMsgId,4) +21-237-13:13:23.740 00 SPR-I:OPRO == Looking for msgID = 0903 +21-237-13:13:23.740 00 SCX_CPU1_DS_RE/887 for sbIndex = 1 to CFE_SB_HIGHEST_VALID_MSGID do +21-237-13:13:23.740 00 SCX_CPU1_DS_RE/888 if (SCX_CPU1_SB_RouteEntry[sbIndex].SB_AppName = DSAppName) AND ;; +21-237-13:13:23.740 00 SCX_CPU1_DS_RE/889 (SCX_CPU1_SB_RouteEntry[sbIndex].SB_MsgID = filterMsgID) then +21-237-13:13:23.740 00 SCX_CPU1_DS_RE/892 elseif (SCX_CPU1_SB_RouteEntry[sbIndex].SB_AppName = "") then +21-237-13:13:23.740 00 SCX_CPU1_DS_RE/894 endif +21-237-13:13:23.740 00 SCX_CPU1_DS_RE/895 enddo +21-237-13:13:23.740 00 SCX_CPU1_DS_RE/887 for sbIndex = 1 to CFE_SB_HIGHEST_VALID_MSGID do +21-237-13:13:23.740 00 SCX_CPU1_DS_RE/888 if (SCX_CPU1_SB_RouteEntry[sbIndex].SB_AppName = DSAppName) AND ;; +21-237-13:13:23.740 00 SCX_CPU1_DS_RE/889 (SCX_CPU1_SB_RouteEntry[sbIndex].SB_MsgID = filterMsgID) then +21-237-13:13:23.741 00 SCX_CPU1_DS_RE/892 elseif (SCX_CPU1_SB_RouteEntry[sbIndex].SB_AppName = "") then +21-237-13:13:23.741 00 SCX_CPU1_DS_RE/893 break +21-237-13:13:23.741 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:23.741 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:23.741 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:23.741 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:23.741 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:23.741 00 SCX_CPU1_DS_RE/885 filterEntries = filterEntries + 1 +21-237-13:13:23.741 00 SCX_CPU1_DS_RE/886 write "== Looking for msgID = ", %hex(filterMsgId,4) +21-237-13:13:23.741 00 SPR-I:OPRO == Looking for msgID = 0904 +21-237-13:13:23.741 00 SCX_CPU1_DS_RE/887 for sbIndex = 1 to CFE_SB_HIGHEST_VALID_MSGID do +21-237-13:13:23.741 00 SCX_CPU1_DS_RE/888 if (SCX_CPU1_SB_RouteEntry[sbIndex].SB_AppName = DSAppName) AND ;; +21-237-13:13:23.741 00 SCX_CPU1_DS_RE/889 (SCX_CPU1_SB_RouteEntry[sbIndex].SB_MsgID = filterMsgID) then +21-237-13:13:23.742 00 SCX_CPU1_DS_RE/892 elseif (SCX_CPU1_SB_RouteEntry[sbIndex].SB_AppName = "") then +21-237-13:13:23.742 00 SCX_CPU1_DS_RE/894 endif +21-237-13:13:23.742 00 SCX_CPU1_DS_RE/895 enddo +21-237-13:13:23.742 00 SCX_CPU1_DS_RE/887 for sbIndex = 1 to CFE_SB_HIGHEST_VALID_MSGID do +21-237-13:13:23.742 00 SCX_CPU1_DS_RE/888 if (SCX_CPU1_SB_RouteEntry[sbIndex].SB_AppName = DSAppName) AND ;; +21-237-13:13:23.742 00 SCX_CPU1_DS_RE/889 (SCX_CPU1_SB_RouteEntry[sbIndex].SB_MsgID = filterMsgID) then +21-237-13:13:23.742 00 SCX_CPU1_DS_RE/892 elseif (SCX_CPU1_SB_RouteEntry[sbIndex].SB_AppName = "") then +21-237-13:13:23.742 00 SCX_CPU1_DS_RE/893 break +21-237-13:13:23.742 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:23.742 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:23.742 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:23.742 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:23.742 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:23.742 00 SCX_CPU1_DS_RE/885 filterEntries = filterEntries + 1 +21-237-13:13:23.743 00 SCX_CPU1_DS_RE/886 write "== Looking for msgID = ", %hex(filterMsgId,4) +21-237-13:13:23.743 00 SPR-I:OPRO == Looking for msgID = 0905 +21-237-13:13:23.743 00 SCX_CPU1_DS_RE/887 for sbIndex = 1 to CFE_SB_HIGHEST_VALID_MSGID do +21-237-13:13:23.743 00 SCX_CPU1_DS_RE/888 if (SCX_CPU1_SB_RouteEntry[sbIndex].SB_AppName = DSAppName) AND ;; +21-237-13:13:23.743 00 SCX_CPU1_DS_RE/889 (SCX_CPU1_SB_RouteEntry[sbIndex].SB_MsgID = filterMsgID) then +21-237-13:13:23.743 00 SCX_CPU1_DS_RE/892 elseif (SCX_CPU1_SB_RouteEntry[sbIndex].SB_AppName = "") then +21-237-13:13:23.743 00 SCX_CPU1_DS_RE/894 endif +21-237-13:13:23.743 00 SCX_CPU1_DS_RE/895 enddo +21-237-13:13:23.743 00 SCX_CPU1_DS_RE/887 for sbIndex = 1 to CFE_SB_HIGHEST_VALID_MSGID do +21-237-13:13:23.743 00 SCX_CPU1_DS_RE/888 if (SCX_CPU1_SB_RouteEntry[sbIndex].SB_AppName = DSAppName) AND ;; +21-237-13:13:23.743 00 SCX_CPU1_DS_RE/889 (SCX_CPU1_SB_RouteEntry[sbIndex].SB_MsgID = filterMsgID) then +21-237-13:13:23.744 00 SCX_CPU1_DS_RE/892 elseif (SCX_CPU1_SB_RouteEntry[sbIndex].SB_AppName = "") then +21-237-13:13:23.744 00 SCX_CPU1_DS_RE/893 break +21-237-13:13:23.744 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:23.744 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:23.744 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:23.744 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:23.744 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:23.744 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:23.744 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:23.744 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:23.744 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:23.744 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:23.744 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:23.744 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:23.744 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:23.744 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:23.745 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:23.745 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:23.745 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:23.745 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:23.745 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:23.745 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:23.745 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:23.745 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:23.745 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:23.745 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:23.745 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:23.745 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:23.745 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:23.745 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:23.745 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:23.745 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:23.746 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:23.746 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:23.746 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:23.746 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:23.746 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:23.746 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:23.746 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:23.746 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:23.746 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:23.746 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:23.746 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:23.746 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:23.746 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:23.746 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:23.746 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:23.747 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:23.747 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:23.747 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:23.747 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:23.747 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:23.747 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:23.747 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:23.747 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:23.747 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:23.747 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:23.747 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:23.747 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:23.747 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:23.747 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:23.747 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:23.748 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:23.748 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:23.748 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:23.748 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:23.748 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:23.748 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:23.748 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:23.748 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:23.748 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:23.748 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:23.748 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:23.748 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:23.748 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:23.748 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:23.748 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:23.749 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:23.749 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:23.749 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:23.749 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:23.749 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:23.749 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:23.749 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:23.749 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:23.749 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:23.749 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:23.749 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:23.749 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:23.749 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:23.749 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:23.749 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:23.749 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:23.750 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:23.750 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:23.750 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:23.750 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:23.750 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:23.750 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:23.750 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:23.750 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:23.750 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:23.750 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:23.750 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:23.750 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:23.750 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:23.750 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:23.750 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:23.751 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:23.751 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:23.751 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:23.751 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:23.751 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:23.751 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:23.751 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:23.751 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:23.751 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:23.751 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:23.751 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:23.751 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:23.751 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:23.751 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:23.752 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:23.752 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:23.752 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:23.752 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:23.752 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:23.752 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:23.752 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:23.752 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:23.752 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:23.752 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:23.752 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:23.752 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:23.752 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:23.752 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:23.752 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:23.753 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:23.753 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:23.753 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:23.753 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:23.753 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:23.753 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:23.753 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:23.753 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:23.753 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:23.753 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:23.753 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:23.753 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:23.753 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:23.753 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:23.754 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:23.754 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:23.754 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:23.754 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:23.754 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:23.754 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:23.754 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:23.754 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:23.754 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:23.754 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:23.754 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:23.754 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:23.754 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:23.754 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:23.754 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:23.755 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:23.755 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:23.755 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:23.755 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:23.755 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:23.755 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:23.755 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:23.755 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:23.755 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:23.755 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:23.755 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:23.755 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:23.755 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:23.755 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:23.756 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:23.756 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:23.756 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:23.756 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:23.756 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:23.756 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:23.756 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:23.756 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:23.756 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:23.756 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:23.756 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:23.756 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:23.756 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:23.756 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:23.756 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:23.757 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:23.757 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:23.757 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:23.757 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:23.757 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:23.757 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:23.757 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:23.757 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:23.757 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:23.757 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:23.757 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:23.757 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:23.757 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:23.757 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:23.758 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:23.758 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:23.758 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:23.758 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:23.760 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:23.760 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:24.066 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:24.066 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:24.066 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:24.066 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:24.067 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:24.067 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:24.067 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:24.067 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:24.067 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:24.067 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:24.067 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:24.067 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:24.067 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:24.067 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:24.067 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:24.067 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:24.068 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:24.068 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:24.068 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:24.068 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:24.068 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:24.068 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:24.068 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:24.068 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:24.068 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:24.068 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:24.068 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:24.068 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:24.068 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:24.068 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:24.069 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:24.069 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:24.069 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:24.069 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:24.069 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:24.069 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:24.069 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:24.069 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:24.069 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:24.069 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:24.069 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:24.069 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:24.069 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:24.069 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:24.070 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:24.070 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:24.070 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:24.070 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:24.070 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:24.070 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:24.070 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:24.070 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:24.070 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:24.070 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:24.070 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:24.070 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:24.070 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:24.071 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:24.071 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:24.071 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:24.071 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:24.071 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:24.071 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:24.071 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:24.071 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:24.071 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:24.071 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:24.071 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:24.071 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:24.071 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:24.072 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:24.072 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:24.072 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:24.072 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:24.072 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:24.072 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:24.072 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:24.072 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:24.072 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:24.072 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:24.072 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:24.072 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:24.072 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:24.072 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:24.073 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:24.073 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:24.073 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:24.073 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:24.073 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:24.073 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:24.073 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:24.073 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:24.073 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:24.073 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:24.074 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:24.074 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:24.074 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:24.074 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:24.074 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:24.076 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:24.076 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:24.076 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:24.076 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:24.076 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:24.076 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:24.076 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:24.076 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:24.076 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:24.076 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:24.076 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:24.077 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:24.077 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:24.077 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:24.077 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:24.077 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:24.077 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:24.077 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:24.077 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:24.077 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:24.077 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:24.077 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:24.078 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:24.078 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:24.078 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:24.078 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:24.078 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:24.078 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:24.078 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:24.078 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:24.078 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:24.078 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:24.078 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:24.079 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:24.079 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:24.079 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:24.079 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:24.079 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:24.079 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:24.079 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:24.079 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:24.079 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:24.079 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:24.079 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:24.079 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:24.079 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:24.079 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:24.079 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:24.079 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:24.079 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:24.080 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:24.080 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:24.080 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:24.080 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:24.080 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:24.080 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:24.080 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:24.080 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:24.080 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:24.080 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:24.080 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:24.080 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:24.081 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:24.081 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:24.081 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:24.081 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:24.081 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:24.081 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:24.081 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:24.081 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:24.081 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:24.081 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:24.082 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:24.082 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:24.082 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:24.082 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:24.082 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:24.082 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:24.082 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:24.082 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:24.082 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:24.082 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:24.082 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:24.082 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:24.082 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:24.082 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:24.083 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:24.083 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:24.083 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:24.083 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:24.083 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:24.083 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:24.083 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:24.083 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:24.083 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:24.083 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:24.083 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:24.083 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:24.083 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:24.083 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:24.083 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:24.084 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:24.084 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:24.084 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:24.084 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:24.084 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:24.084 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:24.084 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:24.084 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:24.084 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:24.084 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:24.084 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:24.084 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:24.084 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:24.084 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:24.085 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:24.085 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:24.085 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:24.085 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:24.085 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:24.085 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:24.085 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:24.085 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:24.085 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:24.085 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:24.085 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:24.085 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:24.086 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:24.086 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:24.086 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:24.086 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:24.086 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:24.086 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:24.086 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:24.086 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:24.086 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:24.086 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:24.086 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:24.086 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:24.086 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:24.086 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:24.086 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:24.086 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:24.087 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:24.087 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:24.087 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:24.087 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:24.087 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:24.087 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:24.087 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:24.087 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:24.087 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:24.087 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:24.087 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:24.087 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:24.087 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:24.087 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:24.088 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:24.088 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:24.088 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:24.088 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:24.088 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:24.088 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:24.088 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:24.088 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:24.088 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:24.088 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:24.088 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:24.088 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:24.088 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:24.088 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:24.089 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:24.089 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:24.089 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:24.089 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:24.089 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:24.089 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:24.089 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:24.089 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:24.347 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:24.347 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:24.347 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:24.347 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:24.347 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:24.347 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:24.347 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:24.347 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:24.348 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:24.348 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:24.348 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:24.348 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:24.348 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:24.348 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:24.348 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:24.348 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:24.348 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:24.348 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:24.349 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:24.349 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:24.349 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:24.349 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:24.349 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:24.349 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:24.349 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:24.349 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:24.349 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:24.349 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:24.349 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:24.349 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:24.349 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:24.349 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:24.350 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:24.350 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:24.350 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:24.350 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:24.350 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:24.350 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:24.350 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:24.350 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:24.350 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:24.350 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:24.350 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:24.350 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:24.350 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:24.350 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:24.351 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:24.351 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:24.351 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:24.351 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:24.352 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:24.352 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:24.352 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:24.352 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:24.352 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:24.352 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:24.353 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:24.353 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:24.353 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:24.353 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:24.353 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:24.353 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:24.353 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:24.353 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:24.353 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:24.353 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:24.353 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:24.354 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:24.354 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:24.354 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:24.354 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:24.354 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:24.354 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:24.354 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:24.354 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:24.354 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:24.354 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:24.354 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:24.355 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:24.355 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:24.355 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:24.355 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:24.355 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:24.355 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:24.355 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:24.355 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:24.355 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:24.355 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:24.355 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:24.355 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:24.355 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:24.356 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:24.356 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:24.356 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:24.356 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:24.356 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:24.356 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:24.356 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:24.356 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:24.356 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:24.356 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:24.357 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:24.357 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:24.357 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:24.357 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:24.357 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:24.357 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:24.357 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:24.357 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:24.357 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:24.357 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:24.357 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:24.358 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:24.358 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:24.358 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:24.358 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:24.358 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:24.358 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:24.358 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:24.358 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:24.358 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:24.358 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:24.359 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:24.359 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:24.359 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:24.359 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:24.359 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:24.359 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:24.359 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:24.359 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:24.359 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:24.359 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:24.359 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:24.359 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:24.359 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:24.360 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:24.360 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:24.360 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:24.360 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:24.360 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:24.360 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:24.360 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:24.360 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:24.360 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:24.360 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:24.360 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:24.361 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:24.361 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:24.361 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:24.361 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:24.361 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:24.361 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:24.361 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:24.361 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:24.361 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:24.361 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:24.361 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:24.361 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:24.361 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:24.361 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:24.361 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:24.362 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:24.362 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:24.362 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:24.362 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:24.362 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:24.362 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:24.362 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:24.362 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:24.362 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:24.362 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:24.362 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:24.362 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:24.362 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:24.363 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:24.363 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:24.363 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:24.363 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:24.363 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:24.363 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:24.363 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:24.363 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:24.363 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:24.363 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:24.364 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:24.364 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:24.364 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:24.364 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:24.364 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:24.364 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:24.364 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:24.364 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:24.364 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:24.364 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:24.364 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:24.364 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:24.365 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:24.365 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:24.365 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:24.365 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:24.365 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:24.365 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:24.365 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:24.365 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:24.365 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:24.365 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:24.365 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:24.365 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:24.366 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:24.366 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:24.366 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:24.366 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:24.366 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:24.366 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:24.366 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:24.366 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:24.366 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:24.366 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:24.367 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:24.367 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:24.367 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:24.367 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:24.367 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:24.367 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:24.367 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:24.367 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:24.703 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:24.703 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:24.703 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:24.703 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:24.703 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:24.703 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:24.703 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:24.703 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:24.703 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:24.703 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:24.704 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:24.704 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:24.704 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:24.704 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:24.704 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:24.704 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:24.704 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:24.704 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:24.704 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:24.704 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:24.704 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:24.705 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:24.705 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:24.705 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:24.705 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:24.705 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:24.705 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:24.705 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:24.705 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:24.705 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:24.705 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:24.705 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:24.706 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:24.706 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:24.706 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:24.706 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:24.706 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:24.706 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:24.706 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:24.706 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:24.706 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:24.706 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:24.706 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:24.706 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:24.707 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:24.707 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:24.707 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:24.707 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:24.707 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:24.707 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:24.707 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:24.707 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:24.707 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:24.707 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:24.707 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:24.707 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:24.708 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:24.708 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:24.708 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:24.708 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:24.708 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:24.708 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:24.708 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:24.708 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:24.708 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:24.708 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:24.709 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:24.709 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:24.709 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:24.709 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:24.709 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:24.709 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:24.709 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:24.709 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:24.709 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:24.709 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:24.709 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:24.709 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:24.710 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:24.710 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:24.710 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:24.710 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:24.710 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:24.710 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:24.710 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:24.710 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:24.710 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:24.710 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:24.710 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:24.710 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:24.710 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:24.710 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:24.711 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:24.711 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:24.711 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:24.711 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:24.711 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:24.711 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:24.711 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:24.711 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:24.711 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:24.711 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:24.711 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:24.711 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:24.711 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:24.711 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:24.712 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:24.712 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:24.712 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:24.712 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:24.712 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:24.712 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:24.712 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:24.712 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:24.712 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:24.712 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:24.712 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:24.712 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:24.712 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:24.712 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:24.712 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:24.713 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:24.713 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:24.713 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:24.713 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:24.713 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:24.713 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:24.713 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:24.713 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:24.713 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:24.713 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:24.713 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:24.713 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:24.713 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:24.713 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:24.714 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:24.714 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:24.714 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:24.714 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:24.714 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:24.714 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:24.714 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:24.714 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:24.714 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:24.714 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:24.714 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:24.714 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:24.714 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:24.715 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:24.715 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:24.715 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:24.715 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:24.715 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:24.715 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:24.715 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:24.715 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:24.715 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:24.715 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:24.715 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:24.715 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:24.715 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:24.716 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:24.716 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:24.716 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:24.716 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:24.716 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:24.716 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:24.716 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:24.716 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:24.716 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:24.716 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:24.716 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:24.716 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:24.716 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:24.716 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:24.717 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:24.717 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:24.717 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:24.717 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:24.717 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:24.717 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:24.717 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:24.717 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:24.717 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:24.717 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:24.717 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:24.717 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:24.718 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:24.718 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:24.718 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:24.718 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:24.718 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:24.718 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:24.718 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:24.718 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:24.718 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:24.718 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:24.718 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:24.718 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:24.718 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:24.718 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:24.718 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:24.719 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:24.719 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:24.719 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:24.719 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:24.719 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:24.719 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:24.719 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:24.719 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:24.719 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:24.719 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:24.719 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:24.719 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:24.719 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:24.719 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:24.720 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:24.720 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:24.720 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:24.720 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:24.720 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:24.720 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:24.720 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:24.720 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:24.720 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:24.720 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:24.720 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:25.057 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:25.057 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:25.057 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:25.057 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:25.057 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:25.057 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:25.057 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:25.057 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:25.057 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:25.057 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:25.058 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:25.058 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:25.058 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:25.058 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:25.058 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:25.058 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:25.058 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:25.058 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:25.058 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:25.058 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:25.058 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:25.058 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:25.058 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:25.059 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:25.059 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:25.059 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:25.059 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:25.059 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:25.059 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:25.059 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:25.059 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:25.059 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:25.059 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:25.059 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:25.059 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:25.060 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:25.060 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:25.060 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:25.060 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:25.060 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:25.060 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:25.060 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:25.060 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:25.060 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:25.060 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:25.060 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:25.061 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:25.061 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:25.061 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:25.061 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:25.061 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:25.061 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:25.061 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:25.061 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:25.061 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:25.061 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:25.061 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:25.061 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:25.062 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:25.062 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:25.062 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:25.062 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:25.062 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:25.062 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:25.062 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:25.062 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:25.062 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:25.063 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:25.063 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:25.063 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:25.063 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:25.063 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:25.063 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:25.063 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:25.063 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:25.063 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:25.063 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:25.063 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:25.063 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:25.064 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:25.064 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:25.064 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:25.064 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:25.064 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:25.064 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:25.064 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:25.064 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:25.064 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:25.064 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:25.064 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:25.065 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:25.065 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:25.065 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:25.065 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:25.065 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:25.065 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:25.065 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:25.065 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:25.065 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:25.065 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:25.066 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:25.066 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:25.066 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:25.066 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:25.066 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:25.066 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:25.066 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:25.066 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:25.066 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:25.066 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:25.066 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:25.066 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:25.066 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:25.067 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:25.067 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:25.067 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:25.067 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:25.067 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:25.067 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:25.067 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:25.067 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:25.067 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:25.067 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:25.067 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:25.067 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:25.067 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:25.068 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:25.068 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:25.068 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:25.068 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:25.068 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:25.068 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:25.068 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:25.068 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:25.068 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:25.068 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:25.068 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:25.068 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:25.069 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:25.069 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:25.069 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:25.069 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:25.069 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:25.069 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:25.069 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:25.069 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:25.069 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:25.069 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:25.069 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:25.070 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:25.070 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:25.070 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:25.070 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:25.070 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:25.070 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:25.070 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:25.070 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:25.070 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:25.070 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:25.070 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:25.070 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:25.070 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:25.070 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:25.071 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:25.071 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:25.071 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:25.071 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:25.071 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:25.071 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:25.071 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:25.071 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:25.071 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:25.071 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:25.071 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:25.071 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:25.072 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:25.072 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:25.072 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:25.072 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:25.072 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:25.072 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:25.072 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:25.072 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:25.072 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:25.072 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:25.072 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:25.072 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:25.073 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:25.073 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:25.073 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:25.073 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:25.073 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:25.073 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:25.073 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:25.073 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:25.073 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:25.073 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:25.073 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:25.073 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:25.073 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:25.073 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:25.073 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:25.073 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:25.074 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:25.074 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:25.074 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:25.074 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:25.074 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:25.074 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:25.074 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:25.074 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:25.074 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:25.074 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:25.075 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:25.075 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:25.075 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:25.075 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:25.075 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:25.075 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:25.075 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:25.075 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:25.075 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:25.075 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:25.075 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:25.075 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:25.075 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:25.076 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:25.076 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:25.411 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:25.411 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:25.411 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:25.411 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:25.411 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:25.412 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:25.412 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:25.412 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:25.412 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:25.412 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:25.412 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:25.412 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:25.412 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:25.412 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:25.412 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:25.412 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:25.412 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:25.412 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:25.412 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:25.412 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:25.413 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:25.413 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:25.413 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:25.413 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:25.413 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:25.413 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:25.413 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:25.413 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:25.413 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:25.413 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:25.413 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:25.414 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:25.414 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:25.414 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:25.414 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:25.414 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:25.414 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:25.414 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:25.414 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:25.414 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:25.414 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:25.415 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:25.415 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:25.415 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:25.415 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:25.415 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:25.415 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:25.415 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:25.415 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:25.415 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:25.415 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:25.415 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:25.415 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:25.415 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:25.415 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:25.415 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:25.416 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:25.416 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:25.416 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:25.416 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:25.416 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:25.416 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:25.416 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:25.416 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:25.416 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:25.416 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:25.416 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:25.416 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:25.416 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:25.416 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:25.417 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:25.417 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:25.417 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:25.417 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:25.417 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:25.417 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:25.417 00 SCX_CPU1_DS_RE/883 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:13:25.417 00 SCX_CPU1_DS_RE/884 if (filterMsgID <> 0) then +21-237-13:13:25.417 00 SCX_CPU1_DS_RE/896 endif +21-237-13:13:25.417 00 SCX_CPU1_DS_RE/897 enddo +21-237-13:13:25.417 00 SCX_CPU1_DS_RE/882 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:13:25.417 00 SCX_CPU1_DS_RE/898 +21-237-13:13:25.417 00 SCX_CPU1_DS_RE/899 if (foundSubscription = filterEntries) then +21-237-13:13:25.417 00 SCX_CPU1_DS_RE/902 else +21-237-13:13:25.418 00 SCX_CPU1_DS_RE/903 write " Failed (9006) - Expected ",filterEntries," message ID subscriptions. Found ",foundSubscription +21-237-13:13:25.418 00 SPR-I:OPRO Failed (9006) - Expected 6 message ID subscriptions. Found 0 +21-237-13:13:25.418 00 SCX_CPU1_DS_RE/904 ut_setrequirements DS_9006, "F" +21-237-13:13:25.419 00 SCX_CPU1_DS_RE/905 endif +21-237-13:13:25.419 00 SCX_CPU1_DS_RE/906 +21-237-13:13:25.419 00 SCX_CPU1_DS_RE/910 if (DS_CDS_ENABLE_STATE = 1) then +21-237-13:13:25.419 00 SCX_CPU1_DS_RE/911 if (p@SCX_CPU1_DS_AppEnaState = expectedState) then +21-237-13:13:25.419 00 SCX_CPU1_DS_RE/912 write "<*> Passed (9004) - DS Application State is set as expected." +21-237-13:13:25.419 00 SPR-I:OPRO <*> Passed (9004) - DS Application State is set as expected. +21-237-13:13:25.419 00 SCX_CPU1_DS_RE/913 ut_setrequirements DS_9004, "P" +21-237-13:13:25.420 00 SCX_CPU1_DS_RE/917 endif +21-237-13:13:25.420 00 SCX_CPU1_DS_RE/936 endif +21-237-13:13:25.420 00 SCX_CPU1_DS_RE/937 +21-237-13:13:25.420 00 SCX_CPU1_DS_RE/939 if (p@SCX_CPU1_DS_AppEnaState = "Disabled") then +21-237-13:13:25.420 00 SCX_CPU1_DS_RE/940 cmdCtr = SCX_CPU1_DS_CMDPC + 1 +21-237-13:13:25.420 00 SCX_CPU1_DS_RE/942 /SCX_CPU1_DS_Enable +21-237-13:13:25.431 00 SCX_CPU1_DS_RE/943 +21-237-13:13:25.431 00 SCX_CPU1_DS_RE/944 ut_tlmwait SCX_CPU1_DS_CMDPC, {cmdCtr} +21-237-13:13:25.435 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:13:26.436 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:13:26.438 00 SCX_CPU1_DS_RE/945 if (UT_TW_Status = UT_Success) then +21-237-13:13:26.438 00 SCX_CPU1_DS_RE/946 write "<*> Passed - DS Application State command sent properly." +21-237-13:13:26.438 00 SPR-I:OPRO <*> Passed - DS Application State command sent properly. +21-237-13:13:26.438 00 SCX_CPU1_DS_RE/949 endif +21-237-13:13:26.438 00 SCX_CPU1_DS_RE/950 endif +21-237-13:13:26.438 00 SCX_CPU1_DS_RE/951 +21-237-13:13:26.438 00 SCX_CPU1_DS_RE/952 wait 5 +21-237-13:13:26.438 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:13:31.442 00 SCX_CPU1_DS_RE/953 +21-237-13:13:31.443 00 SCX_CPU1_DS_RE/954 write ";***********************************************************************" +21-237-13:13:31.443 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:13:31.443 00 SCX_CPU1_DS_RE/955 write "; Step 3.5: Enable DEBUG Event Messages " +21-237-13:13:31.443 00 SPR-I:OPRO ; Step 3.5: Enable DEBUG Event Messages +21-237-13:13:31.443 00 SCX_CPU1_DS_RE/956 write ";***********************************************************************" +21-237-13:13:31.443 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:13:31.443 00 SCX_CPU1_DS_RE/957 local cmdCtr = SCX_CPU1_EVS_CMDPC + 1 +21-237-13:13:31.444 00 SCX_CPU1_DS_RE/958 +21-237-13:13:31.444 00 SCX_CPU1_DS_RE/960 /SCX_CPU1_EVS_EnaAppEVTType Application=DSAppName DEBUG +21-237-13:13:31.459 00 SCX_CPU1_DS_RE/961 +21-237-13:13:31.459 00 SCX_CPU1_DS_RE/962 ut_tlmwait SCX_CPU1_EVS_CMDPC, {cmdCtr} +21-237-13:13:31.462 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:13:34.465 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:13:34.467 00 SCX_CPU1_DS_RE/963 if (UT_TW_Status = UT_Success) then +21-237-13:13:34.467 00 SCX_CPU1_DS_RE/964 write "<*> Passed - Enable Debug events command sent properly." +21-237-13:13:34.467 00 SPR-I:OPRO <*> Passed - Enable Debug events command sent properly. +21-237-13:13:34.467 00 SCX_CPU1_DS_RE/967 endif +21-237-13:13:34.467 00 SCX_CPU1_DS_RE/968 +21-237-13:13:34.468 00 SCX_CPU1_DS_RE/969 write ";***********************************************************************" +21-237-13:13:34.468 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:13:34.468 00 SCX_CPU1_DS_RE/970 write "; Step 3.6: Parse the File State HK information in order to verify that" +21-237-13:13:34.468 00 SPR-I:OPRO ; Step 3.6: Parse the File State HK information in order to verify that +21-237-13:13:34.468 00 SCX_CPU1_DS_RE/971 write "; the open Files saved in Step 3.2 have been closed. " +21-237-13:13:34.468 00 SPR-I:OPRO ; the open Files saved in Step 3.2 have been closed. +21-237-13:13:34.468 00 SCX_CPU1_DS_RE/972 write ";***********************************************************************" +21-237-13:13:34.468 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:13:34.468 00 SCX_CPU1_DS_RE/974 cmdCtr = SCX_CPU1_DS_CMDPC + 1 +21-237-13:13:34.468 00 SCX_CPU1_DS_RE/975 +21-237-13:13:34.468 00 SCX_CPU1_DS_RE/976 /SCX_CPU1_DS_GetFileInfo +21-237-13:13:34.482 00 SCX_CPU1_DS_RE/977 +21-237-13:13:34.482 00 SCX_CPU1_DS_RE/978 ut_tlmwait SCX_CPU1_DS_CMDPC, {cmdCtr} +21-237-13:13:34.485 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:13:34.661 00 TLMH-I:STS 58-012-14:06:08.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-237-13:13:38.490 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:13:38.491 00 SCX_CPU1_DS_RE/979 +21-237-13:13:38.491 00 SCX_CPU1_DS_RE/981 for i = 1 to openCount do +21-237-13:13:38.491 00 SCX_CPU1_DS_RE/982 if (SCX_CPU1_DS_FileState[openFiles[i]].FileName = "") then +21-237-13:13:38.492 00 SCX_CPU1_DS_RE/983 write "<*> Passed (9002) - The file at slot ",openFiles[i]," has been closed." +21-237-13:13:38.492 00 SPR-I:OPRO <*> Passed (9002) - The file at slot 1 has been closed. +21-237-13:13:38.492 00 SCX_CPU1_DS_RE/984 ut_setrequirements DS_9002, "P" +21-237-13:13:38.494 00 SCX_CPU1_DS_RE/988 endif +21-237-13:13:38.494 00 SCX_CPU1_DS_RE/989 enddo +21-237-13:13:38.494 00 SCX_CPU1_DS_RE/981 for i = 1 to openCount do +21-237-13:13:38.494 00 SCX_CPU1_DS_RE/982 if (SCX_CPU1_DS_FileState[openFiles[i]].FileName = "") then +21-237-13:13:38.495 00 SCX_CPU1_DS_RE/983 write "<*> Passed (9002) - The file at slot ",openFiles[i]," has been closed." +21-237-13:13:38.495 00 SPR-I:OPRO <*> Passed (9002) - The file at slot 4 has been closed. +21-237-13:13:38.495 00 SCX_CPU1_DS_RE/984 ut_setrequirements DS_9002, "P" +21-237-13:13:38.495 00 SCX_CPU1_DS_RE/988 endif +21-237-13:13:38.495 00 SCX_CPU1_DS_RE/989 enddo +21-237-13:13:38.495 00 SCX_CPU1_DS_RE/981 for i = 1 to openCount do +21-237-13:13:38.496 00 SCX_CPU1_DS_RE/982 if (SCX_CPU1_DS_FileState[openFiles[i]].FileName = "") then +21-237-13:13:38.501 00 SCX_CPU1_DS_RE/983 write "<*> Passed (9002) - The file at slot ",openFiles[i]," has been closed." +21-237-13:13:38.501 00 SPR-I:OPRO <*> Passed (9002) - The file at slot 5 has been closed. +21-237-13:13:38.501 00 SCX_CPU1_DS_RE/984 ut_setrequirements DS_9002, "P" +21-237-13:13:38.502 00 SCX_CPU1_DS_RE/988 endif +21-237-13:13:38.502 00 SCX_CPU1_DS_RE/989 enddo +21-237-13:13:38.502 00 SCX_CPU1_DS_RE/981 for i = 1 to openCount do +21-237-13:13:38.502 00 SCX_CPU1_DS_RE/982 if (SCX_CPU1_DS_FileState[openFiles[i]].FileName = "") then +21-237-13:13:38.502 00 SCX_CPU1_DS_RE/983 write "<*> Passed (9002) - The file at slot ",openFiles[i]," has been closed." +21-237-13:13:38.503 00 SPR-I:OPRO <*> Passed (9002) - The file at slot 6 has been closed. +21-237-13:13:38.503 00 SCX_CPU1_DS_RE/984 ut_setrequirements DS_9002, "P" +21-237-13:13:38.503 00 SCX_CPU1_DS_RE/988 endif +21-237-13:13:38.503 00 SCX_CPU1_DS_RE/989 enddo +21-237-13:13:38.504 00 SCX_CPU1_DS_RE/981 for i = 1 to openCount do +21-237-13:13:38.510 00 SCX_CPU1_DS_RE/982 if (SCX_CPU1_DS_FileState[openFiles[i]].FileName = "") then +21-237-13:13:38.510 00 SCX_CPU1_DS_RE/983 write "<*> Passed (9002) - The file at slot ",openFiles[i]," has been closed." +21-237-13:13:38.510 00 SPR-I:OPRO <*> Passed (9002) - The file at slot 7 has been closed. +21-237-13:13:38.510 00 SCX_CPU1_DS_RE/984 ut_setrequirements DS_9002, "P" +21-237-13:13:38.511 00 SCX_CPU1_DS_RE/988 endif +21-237-13:13:38.511 00 SCX_CPU1_DS_RE/989 enddo +21-237-13:13:38.511 00 SCX_CPU1_DS_RE/981 for i = 1 to openCount do +21-237-13:13:38.511 00 SCX_CPU1_DS_RE/990 +21-237-13:13:38.511 00 SCX_CPU1_DS_RE/991 write ";***********************************************************************" +21-237-13:13:38.511 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:13:38.511 00 SCX_CPU1_DS_RE/992 write "; Step 3.7: Verify that the File Sequence counters were restored after " +21-237-13:13:38.511 00 SPR-I:OPRO ; Step 3.7: Verify that the File Sequence counters were restored after +21-237-13:13:38.511 00 SCX_CPU1_DS_RE/993 write "; the Processor Reset. " +21-237-13:13:38.512 00 SPR-I:OPRO ; the Processor Reset. +21-237-13:13:38.512 00 SCX_CPU1_DS_RE/994 write ";***********************************************************************" +21-237-13:13:38.512 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:13:38.518 00 SCX_CPU1_DS_RE/995 write "; Step 3.7.1: Send the TST_DS command to send the same messages to DS " +21-237-13:13:38.518 00 SPR-I:OPRO ; Step 3.7.1: Send the TST_DS command to send the same messages to DS +21-237-13:13:38.518 00 SCX_CPU1_DS_RE/996 write "; that were sent in Step 3.1.2. " +21-237-13:13:38.518 00 SPR-I:OPRO ; that were sent in Step 3.1.2. +21-237-13:13:38.518 00 SCX_CPU1_DS_RE/997 write ";***********************************************************************" +21-237-13:13:38.518 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:13:38.518 00 SCX_CPU1_DS_RE/999 ut_setupevents "SCX", "CPU1", "TST_DS", TST_DS_MSG1_SENT_INF_EID, "INFO", 1 +21-237-13:13:38.520 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:13:38.521 00 SPR-I:OPRO ; Setup event 1 with TST_DS INFO 5 +21-237-13:13:38.521 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:13:38.521 00 SCX_CPU1_DS_RE/1000 +21-237-13:13:38.521 00 SCX_CPU1_DS_RE/1002 for i = 1 to 3 do +21-237-13:13:38.521 00 SCX_CPU1_DS_RE/1004 /SCX_CPU1_TST_DS_SENDMESSAGE MsgID=msgIDs[i] MsgType=1 Pattern=x'A5' +21-237-13:13:38.533 00 SCX_CPU1_DS_RE/1005 wait 5 +21-237-13:13:38.533 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:13:38.664 00 TLMH-I:STS 58-012-14:06:12.504 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Message Size 116 to MID 0x00000901 +21-237-13:13:43.537 00 SCX_CPU1_DS_RE/1006 enddo +21-237-13:13:43.537 00 SCX_CPU1_DS_RE/1002 for i = 1 to 3 do +21-237-13:13:43.537 00 SCX_CPU1_DS_RE/1004 /SCX_CPU1_TST_DS_SENDMESSAGE MsgID=msgIDs[i] MsgType=1 Pattern=x'A5' +21-237-13:13:43.549 00 SCX_CPU1_DS_RE/1005 wait 5 +21-237-13:13:43.549 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:13:43.667 00 TLMH-I:STS 58-012-14:06:17.500 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Message Size 116 to MID 0x00000902 +21-237-13:13:48.553 00 SCX_CPU1_DS_RE/1006 enddo +21-237-13:13:48.554 00 SCX_CPU1_DS_RE/1002 for i = 1 to 3 do +21-237-13:13:48.554 00 SCX_CPU1_DS_RE/1004 /SCX_CPU1_TST_DS_SENDMESSAGE MsgID=msgIDs[i] MsgType=1 Pattern=x'A5' +21-237-13:13:48.569 00 SCX_CPU1_DS_RE/1005 wait 5 +21-237-13:13:48.569 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:13:49.164 00 TLMH-I:STS 58-012-14:06:23.002 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Message Size 116 to MID 0x00000903 +21-237-13:13:53.573 00 SCX_CPU1_DS_RE/1006 enddo +21-237-13:13:53.573 00 SCX_CPU1_DS_RE/1002 for i = 1 to 3 do +21-237-13:13:53.574 00 SCX_CPU1_DS_RE/1007 +21-237-13:13:53.574 00 SCX_CPU1_DS_RE/1009 if (SCX_CPU1_find_event[1].num_found_messages = 3) then +21-237-13:13:53.574 00 SCX_CPU1_DS_RE/1010 write "<*> Passed - Rcv'd the expected number of Send events." +21-237-13:13:53.574 00 SPR-I:OPRO <*> Passed - Rcv'd the expected number of Send events. +21-237-13:13:53.574 00 SCX_CPU1_DS_RE/1013 endif +21-237-13:13:53.575 00 SCX_CPU1_DS_RE/1014 +21-237-13:13:53.575 00 SCX_CPU1_DS_RE/1015 wait 5 +21-237-13:13:53.575 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:13:58.578 00 SCX_CPU1_DS_RE/1016 +21-237-13:13:58.578 00 SCX_CPU1_DS_RE/1017 write ";***********************************************************************" +21-237-13:13:58.579 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:13:58.579 00 SCX_CPU1_DS_RE/1018 write "; Step 3.7.2: Parse the File State HK information in order to verify " +21-237-13:13:58.579 00 SPR-I:OPRO ; Step 3.7.2: Parse the File State HK information in order to verify +21-237-13:13:58.579 00 SCX_CPU1_DS_RE/1019 write "; that the File Sequence Counters saved in Step 3.2 have been restored." +21-237-13:13:58.579 00 SPR-I:OPRO ; that the File Sequence Counters saved in Step 3.2 have been restored. +21-237-13:13:58.579 00 SCX_CPU1_DS_RE/1020 write ";***********************************************************************" +21-237-13:13:58.579 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:13:58.579 00 SCX_CPU1_DS_RE/1021 local seqCntAR[DS_DEST_FILE_CNT] +21-237-13:13:58.579 00 SCX_CPU1_DS_RE/1022 seqCount = 0 +21-237-13:13:58.579 00 SCX_CPU1_DS_RE/1023 +21-237-13:13:58.579 00 SCX_CPU1_DS_RE/1025 cmdCtr = SCX_CPU1_DS_CMDPC + 1 +21-237-13:13:58.580 00 SCX_CPU1_DS_RE/1026 +21-237-13:13:58.580 00 SCX_CPU1_DS_RE/1027 /SCX_CPU1_DS_GetFileInfo +21-237-13:13:58.593 00 SCX_CPU1_DS_RE/1028 +21-237-13:13:58.593 00 SCX_CPU1_DS_RE/1029 ut_tlmwait SCX_CPU1_DS_CMDPC, {cmdCtr} +21-237-13:13:58.595 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:13:59.166 00 TLMH-I:STS 58-012-14:06:33.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-237-13:14:02.599 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:14:02.600 00 SCX_CPU1_DS_RE/1030 +21-237-13:14:02.600 00 SCX_CPU1_DS_RE/1032 for i = 0 to DS_DEST_FILE_CNT-1 do +21-237-13:14:02.600 00 SCX_CPU1_DS_RE/1033 if (SCX_CPU1_DS_FileState[i].FileName <> "") then +21-237-13:14:02.601 00 SCX_CPU1_DS_RE/1050 endif +21-237-13:14:02.601 00 SCX_CPU1_DS_RE/1051 enddo +21-237-13:14:02.601 00 SCX_CPU1_DS_RE/1032 for i = 0 to DS_DEST_FILE_CNT-1 do +21-237-13:14:02.601 00 SCX_CPU1_DS_RE/1033 if (SCX_CPU1_DS_FileState[i].FileName <> "") then +21-237-13:14:02.601 00 SCX_CPU1_DS_RE/1034 fileName = SCX_CPU1_DS_FileState[i].FileName +21-237-13:14:02.601 00 SCX_CPU1_DS_RE/1035 write "<*> Passed - A file was created with name '",fileName,"'" +21-237-13:14:02.601 00 SPR-I:OPRO <*> Passed - A file was created with name '/ram/seq200000201.dat' +21-237-13:14:02.601 00 SCX_CPU1_DS_RE/1037 if (p@SCX_CPU1_DS_DF_TBL[i].FileNameType = "Count") then +21-237-13:14:02.602 00 SCX_CPU1_DS_RE/1038 seqCount = seqCount + 1 +21-237-13:14:02.602 00 SCX_CPU1_DS_RE/1039 dotLoc = %locate(fileName,".") +21-237-13:14:02.602 00 SCX_CPU1_DS_RE/1040 seqCntAR[seqCount] = %substring(fileName,dotLoc-3,dotLoc-1) +21-237-13:14:02.602 00 SCX_CPU1_DS_RE/1041 write "==> SeqCount After Reset = '",seqCntAR[seqCount],"'" +21-237-13:14:02.602 00 SPR-I:OPRO ==> SeqCount After Reset = '201' +21-237-13:14:02.602 00 SCX_CPU1_DS_RE/1042 if (seqCnt[seqCount] < seqCntAR[seqCount]) then +21-237-13:14:02.602 00 SCX_CPU1_DS_RE/1043 write "<*> Passed (9004) - Sequence Count was preserved across reset" +21-237-13:14:02.602 00 SPR-I:OPRO <*> Passed (9004) - Sequence Count was preserved across reset +21-237-13:14:02.602 00 SCX_CPU1_DS_RE/1044 ut_setrequirements DS_9004, "P" +21-237-13:14:02.607 00 SCX_CPU1_DS_RE/1048 endif +21-237-13:14:02.607 00 SCX_CPU1_DS_RE/1049 endif +21-237-13:14:02.607 00 SCX_CPU1_DS_RE/1050 endif +21-237-13:14:02.607 00 SCX_CPU1_DS_RE/1051 enddo +21-237-13:14:02.607 00 SCX_CPU1_DS_RE/1032 for i = 0 to DS_DEST_FILE_CNT-1 do +21-237-13:14:02.607 00 SCX_CPU1_DS_RE/1033 if (SCX_CPU1_DS_FileState[i].FileName <> "") then +21-237-13:14:02.607 00 SCX_CPU1_DS_RE/1050 endif +21-237-13:14:02.607 00 SCX_CPU1_DS_RE/1051 enddo +21-237-13:14:02.607 00 SCX_CPU1_DS_RE/1032 for i = 0 to DS_DEST_FILE_CNT-1 do +21-237-13:14:02.607 00 SCX_CPU1_DS_RE/1033 if (SCX_CPU1_DS_FileState[i].FileName <> "") then +21-237-13:14:02.607 00 SCX_CPU1_DS_RE/1050 endif +21-237-13:14:02.607 00 SCX_CPU1_DS_RE/1051 enddo +21-237-13:14:02.607 00 SCX_CPU1_DS_RE/1032 for i = 0 to DS_DEST_FILE_CNT-1 do +21-237-13:14:02.607 00 SCX_CPU1_DS_RE/1033 if (SCX_CPU1_DS_FileState[i].FileName <> "") then +21-237-13:14:02.607 00 SCX_CPU1_DS_RE/1034 fileName = SCX_CPU1_DS_FileState[i].FileName +21-237-13:14:02.608 00 SCX_CPU1_DS_RE/1035 write "<*> Passed - A file was created with name '",fileName,"'" +21-237-13:14:02.608 00 SPR-I:OPRO <*> Passed - A file was created with name '/ram/time11980012140612' +21-237-13:14:02.608 00 SCX_CPU1_DS_RE/1037 if (p@SCX_CPU1_DS_DF_TBL[i].FileNameType = "Count") then +21-237-13:14:02.608 00 SCX_CPU1_DS_RE/1049 endif +21-237-13:14:02.608 00 SCX_CPU1_DS_RE/1050 endif +21-237-13:14:02.608 00 SCX_CPU1_DS_RE/1051 enddo +21-237-13:14:02.610 00 SCX_CPU1_DS_RE/1032 for i = 0 to DS_DEST_FILE_CNT-1 do +21-237-13:14:02.610 00 SCX_CPU1_DS_RE/1033 if (SCX_CPU1_DS_FileState[i].FileName <> "") then +21-237-13:14:02.610 00 SCX_CPU1_DS_RE/1034 fileName = SCX_CPU1_DS_FileState[i].FileName +21-237-13:14:02.610 00 SCX_CPU1_DS_RE/1035 write "<*> Passed - A file was created with name '",fileName,"'" +21-237-13:14:02.610 00 SPR-I:OPRO <*> Passed - A file was created with name '/ram/time21980012140612' +21-237-13:14:02.610 00 SCX_CPU1_DS_RE/1037 if (p@SCX_CPU1_DS_DF_TBL[i].FileNameType = "Count") then +21-237-13:14:02.610 00 SCX_CPU1_DS_RE/1049 endif +21-237-13:14:02.611 00 SCX_CPU1_DS_RE/1050 endif +21-237-13:14:02.611 00 SCX_CPU1_DS_RE/1051 enddo +21-237-13:14:02.611 00 SCX_CPU1_DS_RE/1032 for i = 0 to DS_DEST_FILE_CNT-1 do +21-237-13:14:02.611 00 SCX_CPU1_DS_RE/1033 if (SCX_CPU1_DS_FileState[i].FileName <> "") then +21-237-13:14:02.611 00 SCX_CPU1_DS_RE/1034 fileName = SCX_CPU1_DS_FileState[i].FileName +21-237-13:14:02.611 00 SCX_CPU1_DS_RE/1035 write "<*> Passed - A file was created with name '",fileName,"'" +21-237-13:14:02.611 00 SPR-I:OPRO <*> Passed - A file was created with name '/ram/time31980012140612' +21-237-13:14:02.611 00 SCX_CPU1_DS_RE/1037 if (p@SCX_CPU1_DS_DF_TBL[i].FileNameType = "Count") then +21-237-13:14:02.611 00 SCX_CPU1_DS_RE/1049 endif +21-237-13:14:02.611 00 SCX_CPU1_DS_RE/1050 endif +21-237-13:14:02.611 00 SCX_CPU1_DS_RE/1051 enddo +21-237-13:14:02.611 00 SCX_CPU1_DS_RE/1032 for i = 0 to DS_DEST_FILE_CNT-1 do +21-237-13:14:02.611 00 SCX_CPU1_DS_RE/1033 if (SCX_CPU1_DS_FileState[i].FileName <> "") then +21-237-13:14:02.612 00 SCX_CPU1_DS_RE/1034 fileName = SCX_CPU1_DS_FileState[i].FileName +21-237-13:14:02.612 00 SCX_CPU1_DS_RE/1035 write "<*> Passed - A file was created with name '",fileName,"'" +21-237-13:14:02.612 00 SPR-I:OPRO <*> Passed - A file was created with name '/ram/time41980012140612' +21-237-13:14:02.613 00 SCX_CPU1_DS_RE/1037 if (p@SCX_CPU1_DS_DF_TBL[i].FileNameType = "Count") then +21-237-13:14:02.613 00 SCX_CPU1_DS_RE/1049 endif +21-237-13:14:02.613 00 SCX_CPU1_DS_RE/1050 endif +21-237-13:14:02.613 00 SCX_CPU1_DS_RE/1051 enddo +21-237-13:14:02.613 00 SCX_CPU1_DS_RE/1032 for i = 0 to DS_DEST_FILE_CNT-1 do +21-237-13:14:02.613 00 SCX_CPU1_DS_RE/1033 if (SCX_CPU1_DS_FileState[i].FileName <> "") then +21-237-13:14:02.613 00 SCX_CPU1_DS_RE/1050 endif +21-237-13:14:02.614 00 SCX_CPU1_DS_RE/1051 enddo +21-237-13:14:02.614 00 SCX_CPU1_DS_RE/1032 for i = 0 to DS_DEST_FILE_CNT-1 do +21-237-13:14:02.614 00 SCX_CPU1_DS_RE/1033 if (SCX_CPU1_DS_FileState[i].FileName <> "") then +21-237-13:14:02.614 00 SCX_CPU1_DS_RE/1050 endif +21-237-13:14:02.614 00 SCX_CPU1_DS_RE/1051 enddo +21-237-13:14:02.614 00 SCX_CPU1_DS_RE/1032 for i = 0 to DS_DEST_FILE_CNT-1 do +21-237-13:14:02.614 00 SCX_CPU1_DS_RE/1033 if (SCX_CPU1_DS_FileState[i].FileName <> "") then +21-237-13:14:02.614 00 SCX_CPU1_DS_RE/1050 endif +21-237-13:14:02.614 00 SCX_CPU1_DS_RE/1051 enddo +21-237-13:14:02.614 00 SCX_CPU1_DS_RE/1032 for i = 0 to DS_DEST_FILE_CNT-1 do +21-237-13:14:02.615 00 SCX_CPU1_DS_RE/1033 if (SCX_CPU1_DS_FileState[i].FileName <> "") then +21-237-13:14:02.615 00 SCX_CPU1_DS_RE/1050 endif +21-237-13:14:02.615 00 SCX_CPU1_DS_RE/1051 enddo +21-237-13:14:02.615 00 SCX_CPU1_DS_RE/1032 for i = 0 to DS_DEST_FILE_CNT-1 do +21-237-13:14:02.615 00 SCX_CPU1_DS_RE/1033 if (SCX_CPU1_DS_FileState[i].FileName <> "") then +21-237-13:14:02.615 00 SCX_CPU1_DS_RE/1050 endif +21-237-13:14:02.615 00 SCX_CPU1_DS_RE/1051 enddo +21-237-13:14:02.615 00 SCX_CPU1_DS_RE/1032 for i = 0 to DS_DEST_FILE_CNT-1 do +21-237-13:14:02.615 00 SCX_CPU1_DS_RE/1033 if (SCX_CPU1_DS_FileState[i].FileName <> "") then +21-237-13:14:02.615 00 SCX_CPU1_DS_RE/1050 endif +21-237-13:14:02.622 00 SCX_CPU1_DS_RE/1051 enddo +21-237-13:14:02.622 00 SCX_CPU1_DS_RE/1032 for i = 0 to DS_DEST_FILE_CNT-1 do +21-237-13:14:02.622 00 SCX_CPU1_DS_RE/1033 if (SCX_CPU1_DS_FileState[i].FileName <> "") then +21-237-13:14:02.622 00 SCX_CPU1_DS_RE/1050 endif +21-237-13:14:02.622 00 SCX_CPU1_DS_RE/1051 enddo +21-237-13:14:02.622 00 SCX_CPU1_DS_RE/1032 for i = 0 to DS_DEST_FILE_CNT-1 do +21-237-13:14:02.622 00 SCX_CPU1_DS_RE/1033 if (SCX_CPU1_DS_FileState[i].FileName <> "") then +21-237-13:14:02.623 00 SCX_CPU1_DS_RE/1050 endif +21-237-13:14:02.623 00 SCX_CPU1_DS_RE/1051 enddo +21-237-13:14:02.623 00 SCX_CPU1_DS_RE/1032 for i = 0 to DS_DEST_FILE_CNT-1 do +21-237-13:14:02.623 00 SCX_CPU1_DS_RE/1052 +21-237-13:14:02.623 00 SCX_CPU1_DS_RE/1053 wait 5 +21-237-13:14:02.623 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:14:07.626 00 SCX_CPU1_DS_RE/1054 +21-237-13:14:07.626 00 SCX_CPU1_DS_RE/1055 write ";***********************************************************************" +21-237-13:14:07.626 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:14:07.626 00 SCX_CPU1_DS_RE/1056 write "; Step 4.0: Application Reset Tests." +21-237-13:14:07.626 00 SPR-I:OPRO ; Step 4.0: Application Reset Tests. +21-237-13:14:07.626 00 SCX_CPU1_DS_RE/1057 write ";***********************************************************************" +21-237-13:14:07.626 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:14:07.626 00 SCX_CPU1_DS_RE/1058 write "; Step 4.1: Save the file sequence counters and slots of all 'open' " +21-237-13:14:07.626 00 SPR-I:OPRO ; Step 4.1: Save the file sequence counters and slots of all 'open' +21-237-13:14:07.627 00 SCX_CPU1_DS_RE/1059 write "; destination files. " +21-237-13:14:07.627 00 SPR-I:OPRO ; destination files. +21-237-13:14:07.627 00 SCX_CPU1_DS_RE/1060 write ";***********************************************************************" +21-237-13:14:07.627 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:14:07.627 00 SCX_CPU1_DS_RE/1061 openCount = 0 +21-237-13:14:07.627 00 SCX_CPU1_DS_RE/1062 seqCount = 0 +21-237-13:14:07.627 00 SCX_CPU1_DS_RE/1063 +21-237-13:14:07.627 00 SCX_CPU1_DS_RE/1065 cmdCtr = SCX_CPU1_DS_CMDPC + 1 +21-237-13:14:07.627 00 SCX_CPU1_DS_RE/1066 +21-237-13:14:07.627 00 SCX_CPU1_DS_RE/1067 /SCX_CPU1_DS_GetFileInfo +21-237-13:14:07.640 00 SCX_CPU1_DS_RE/1068 +21-237-13:14:07.640 00 SCX_CPU1_DS_RE/1069 ut_tlmwait SCX_CPU1_DS_CMDPC, {cmdCtr} +21-237-13:14:07.656 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:14:08.157 00 TLMH-I:STS 58-012-14:06:42.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-237-13:14:10.659 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:14:10.660 00 SCX_CPU1_DS_RE/1070 +21-237-13:14:10.660 00 SCX_CPU1_DS_RE/1072 local fileName +21-237-13:14:10.661 00 SCX_CPU1_DS_RE/1073 for i = 0 to DS_DEST_FILE_CNT-1 do +21-237-13:14:10.661 00 SCX_CPU1_DS_RE/1074 if (SCX_CPU1_DS_FileState[i].FileName <> "") then +21-237-13:14:10.661 00 SCX_CPU1_DS_RE/1086 endif +21-237-13:14:10.661 00 SCX_CPU1_DS_RE/1087 enddo +21-237-13:14:10.662 00 SCX_CPU1_DS_RE/1073 for i = 0 to DS_DEST_FILE_CNT-1 do +21-237-13:14:10.662 00 SCX_CPU1_DS_RE/1074 if (SCX_CPU1_DS_FileState[i].FileName <> "") then +21-237-13:14:10.662 00 SCX_CPU1_DS_RE/1075 fileName = SCX_CPU1_DS_FileState[i].FileName +21-237-13:14:10.663 00 SCX_CPU1_DS_RE/1076 write "<*> Passed - A file was created with name '",fileName,"'" +21-237-13:14:10.663 00 SPR-I:OPRO <*> Passed - A file was created with name '/ram/seq200000201.dat' +21-237-13:14:10.663 00 SCX_CPU1_DS_RE/1077 openCount = openCount + 1 +21-237-13:14:10.663 00 SCX_CPU1_DS_RE/1078 openFiles[openCount] = i +21-237-13:14:10.663 00 SCX_CPU1_DS_RE/1080 if (p@SCX_CPU1_DS_DF_TBL[i].FileNameType = "Count") then +21-237-13:14:10.664 00 SCX_CPU1_DS_RE/1081 seqCount = seqCount + 1 +21-237-13:14:10.664 00 SCX_CPU1_DS_RE/1082 dotLoc = %locate(fileName,".") +21-237-13:14:10.664 00 SCX_CPU1_DS_RE/1083 seqCnt[seqCount] = %substring(fileName,dotLoc-3,dotLoc-1) +21-237-13:14:10.665 00 SCX_CPU1_DS_RE/1084 write "==> SeqCount = '",seqCnt[seqCount],"'" +21-237-13:14:10.665 00 SPR-I:OPRO ==> SeqCount = '201' +21-237-13:14:10.665 00 SCX_CPU1_DS_RE/1085 endif +21-237-13:14:10.665 00 SCX_CPU1_DS_RE/1086 endif +21-237-13:14:10.677 00 SCX_CPU1_DS_RE/1087 enddo +21-237-13:14:10.677 00 SCX_CPU1_DS_RE/1073 for i = 0 to DS_DEST_FILE_CNT-1 do +21-237-13:14:10.678 00 SCX_CPU1_DS_RE/1074 if (SCX_CPU1_DS_FileState[i].FileName <> "") then +21-237-13:14:10.678 00 SCX_CPU1_DS_RE/1086 endif +21-237-13:14:10.679 00 SCX_CPU1_DS_RE/1087 enddo +21-237-13:14:10.679 00 SCX_CPU1_DS_RE/1073 for i = 0 to DS_DEST_FILE_CNT-1 do +21-237-13:14:10.680 00 SCX_CPU1_DS_RE/1074 if (SCX_CPU1_DS_FileState[i].FileName <> "") then +21-237-13:14:10.680 00 SCX_CPU1_DS_RE/1086 endif +21-237-13:14:10.680 00 SCX_CPU1_DS_RE/1087 enddo +21-237-13:14:10.681 00 SCX_CPU1_DS_RE/1073 for i = 0 to DS_DEST_FILE_CNT-1 do +21-237-13:14:10.681 00 SCX_CPU1_DS_RE/1074 if (SCX_CPU1_DS_FileState[i].FileName <> "") then +21-237-13:14:10.681 00 SCX_CPU1_DS_RE/1075 fileName = SCX_CPU1_DS_FileState[i].FileName +21-237-13:14:10.681 00 SCX_CPU1_DS_RE/1076 write "<*> Passed - A file was created with name '",fileName,"'" +21-237-13:14:10.682 00 SPR-I:OPRO <*> Passed - A file was created with name '/ram/time11980012140612' +21-237-13:14:10.682 00 SCX_CPU1_DS_RE/1077 openCount = openCount + 1 +21-237-13:14:10.682 00 SCX_CPU1_DS_RE/1078 openFiles[openCount] = i +21-237-13:14:10.682 00 SCX_CPU1_DS_RE/1080 if (p@SCX_CPU1_DS_DF_TBL[i].FileNameType = "Count") then +21-237-13:14:10.682 00 SCX_CPU1_DS_RE/1085 endif +21-237-13:14:10.682 00 SCX_CPU1_DS_RE/1086 endif +21-237-13:14:10.682 00 SCX_CPU1_DS_RE/1087 enddo +21-237-13:14:10.683 00 SCX_CPU1_DS_RE/1073 for i = 0 to DS_DEST_FILE_CNT-1 do +21-237-13:14:10.683 00 SCX_CPU1_DS_RE/1074 if (SCX_CPU1_DS_FileState[i].FileName <> "") then +21-237-13:14:10.685 00 SCX_CPU1_DS_RE/1075 fileName = SCX_CPU1_DS_FileState[i].FileName +21-237-13:14:10.685 00 SCX_CPU1_DS_RE/1076 write "<*> Passed - A file was created with name '",fileName,"'" +21-237-13:14:10.685 00 SPR-I:OPRO <*> Passed - A file was created with name '/ram/time21980012140612' +21-237-13:14:10.687 00 SCX_CPU1_DS_RE/1077 openCount = openCount + 1 +21-237-13:14:10.687 00 SCX_CPU1_DS_RE/1078 openFiles[openCount] = i +21-237-13:14:10.687 00 SCX_CPU1_DS_RE/1080 if (p@SCX_CPU1_DS_DF_TBL[i].FileNameType = "Count") then +21-237-13:14:10.688 00 SCX_CPU1_DS_RE/1085 endif +21-237-13:14:10.688 00 SCX_CPU1_DS_RE/1086 endif +21-237-13:14:10.688 00 SCX_CPU1_DS_RE/1087 enddo +21-237-13:14:10.688 00 SCX_CPU1_DS_RE/1073 for i = 0 to DS_DEST_FILE_CNT-1 do +21-237-13:14:10.688 00 SCX_CPU1_DS_RE/1074 if (SCX_CPU1_DS_FileState[i].FileName <> "") then +21-237-13:14:10.689 00 SCX_CPU1_DS_RE/1075 fileName = SCX_CPU1_DS_FileState[i].FileName +21-237-13:14:10.689 00 SCX_CPU1_DS_RE/1076 write "<*> Passed - A file was created with name '",fileName,"'" +21-237-13:14:10.689 00 SPR-I:OPRO <*> Passed - A file was created with name '/ram/time31980012140612' +21-237-13:14:10.689 00 SCX_CPU1_DS_RE/1077 openCount = openCount + 1 +21-237-13:14:10.689 00 SCX_CPU1_DS_RE/1078 openFiles[openCount] = i +21-237-13:14:10.689 00 SCX_CPU1_DS_RE/1080 if (p@SCX_CPU1_DS_DF_TBL[i].FileNameType = "Count") then +21-237-13:14:10.690 00 SCX_CPU1_DS_RE/1085 endif +21-237-13:14:10.690 00 SCX_CPU1_DS_RE/1086 endif +21-237-13:14:10.690 00 SCX_CPU1_DS_RE/1087 enddo +21-237-13:14:10.690 00 SCX_CPU1_DS_RE/1073 for i = 0 to DS_DEST_FILE_CNT-1 do +21-237-13:14:10.690 00 SCX_CPU1_DS_RE/1074 if (SCX_CPU1_DS_FileState[i].FileName <> "") then +21-237-13:14:10.690 00 SCX_CPU1_DS_RE/1075 fileName = SCX_CPU1_DS_FileState[i].FileName +21-237-13:14:10.691 00 SCX_CPU1_DS_RE/1076 write "<*> Passed - A file was created with name '",fileName,"'" +21-237-13:14:10.691 00 SPR-I:OPRO <*> Passed - A file was created with name '/ram/time41980012140612' +21-237-13:14:10.691 00 SCX_CPU1_DS_RE/1077 openCount = openCount + 1 +21-237-13:14:10.691 00 SCX_CPU1_DS_RE/1078 openFiles[openCount] = i +21-237-13:14:10.691 00 SCX_CPU1_DS_RE/1080 if (p@SCX_CPU1_DS_DF_TBL[i].FileNameType = "Count") then +21-237-13:14:10.699 00 SCX_CPU1_DS_RE/1085 endif +21-237-13:14:10.699 00 SCX_CPU1_DS_RE/1086 endif +21-237-13:14:10.699 00 SCX_CPU1_DS_RE/1087 enddo +21-237-13:14:10.700 00 SCX_CPU1_DS_RE/1073 for i = 0 to DS_DEST_FILE_CNT-1 do +21-237-13:14:10.700 00 SCX_CPU1_DS_RE/1074 if (SCX_CPU1_DS_FileState[i].FileName <> "") then +21-237-13:14:10.700 00 SCX_CPU1_DS_RE/1086 endif +21-237-13:14:10.700 00 SCX_CPU1_DS_RE/1087 enddo +21-237-13:14:10.701 00 SCX_CPU1_DS_RE/1073 for i = 0 to DS_DEST_FILE_CNT-1 do +21-237-13:14:10.701 00 SCX_CPU1_DS_RE/1074 if (SCX_CPU1_DS_FileState[i].FileName <> "") then +21-237-13:14:10.701 00 SCX_CPU1_DS_RE/1086 endif +21-237-13:14:10.701 00 SCX_CPU1_DS_RE/1087 enddo +21-237-13:14:10.701 00 SCX_CPU1_DS_RE/1073 for i = 0 to DS_DEST_FILE_CNT-1 do +21-237-13:14:10.701 00 SCX_CPU1_DS_RE/1074 if (SCX_CPU1_DS_FileState[i].FileName <> "") then +21-237-13:14:10.702 00 SCX_CPU1_DS_RE/1086 endif +21-237-13:14:10.702 00 SCX_CPU1_DS_RE/1087 enddo +21-237-13:14:10.702 00 SCX_CPU1_DS_RE/1073 for i = 0 to DS_DEST_FILE_CNT-1 do +21-237-13:14:10.702 00 SCX_CPU1_DS_RE/1074 if (SCX_CPU1_DS_FileState[i].FileName <> "") then +21-237-13:14:10.702 00 SCX_CPU1_DS_RE/1086 endif +21-237-13:14:10.702 00 SCX_CPU1_DS_RE/1087 enddo +21-237-13:14:10.702 00 SCX_CPU1_DS_RE/1073 for i = 0 to DS_DEST_FILE_CNT-1 do +21-237-13:14:10.702 00 SCX_CPU1_DS_RE/1074 if (SCX_CPU1_DS_FileState[i].FileName <> "") then +21-237-13:14:10.703 00 SCX_CPU1_DS_RE/1086 endif +21-237-13:14:10.703 00 SCX_CPU1_DS_RE/1087 enddo +21-237-13:14:10.703 00 SCX_CPU1_DS_RE/1073 for i = 0 to DS_DEST_FILE_CNT-1 do +21-237-13:14:10.703 00 SCX_CPU1_DS_RE/1074 if (SCX_CPU1_DS_FileState[i].FileName <> "") then +21-237-13:14:10.703 00 SCX_CPU1_DS_RE/1086 endif +21-237-13:14:10.703 00 SCX_CPU1_DS_RE/1087 enddo +21-237-13:14:10.703 00 SCX_CPU1_DS_RE/1073 for i = 0 to DS_DEST_FILE_CNT-1 do +21-237-13:14:10.704 00 SCX_CPU1_DS_RE/1074 if (SCX_CPU1_DS_FileState[i].FileName <> "") then +21-237-13:14:10.704 00 SCX_CPU1_DS_RE/1086 endif +21-237-13:14:10.704 00 SCX_CPU1_DS_RE/1087 enddo +21-237-13:14:10.709 00 SCX_CPU1_DS_RE/1073 for i = 0 to DS_DEST_FILE_CNT-1 do +21-237-13:14:10.709 00 SCX_CPU1_DS_RE/1074 if (SCX_CPU1_DS_FileState[i].FileName <> "") then +21-237-13:14:10.709 00 SCX_CPU1_DS_RE/1086 endif +21-237-13:14:10.709 00 SCX_CPU1_DS_RE/1087 enddo +21-237-13:14:10.709 00 SCX_CPU1_DS_RE/1073 for i = 0 to DS_DEST_FILE_CNT-1 do +21-237-13:14:10.710 00 SCX_CPU1_DS_RE/1088 +21-237-13:14:10.710 00 SCX_CPU1_DS_RE/1089 write ";*********************************************************************" +21-237-13:14:10.710 00 SPR-I:OPRO ;********************************************************************* +21-237-13:14:10.710 00 SCX_CPU1_DS_RE/1090 write "; Step 4.2: Restart the DS and TST_DS Applications. " +21-237-13:14:10.710 00 SPR-I:OPRO ; Step 4.2: Restart the DS and TST_DS Applications. +21-237-13:14:10.710 00 SCX_CPU1_DS_RE/1091 write ";*********************************************************************" +21-237-13:14:10.710 00 SPR-I:OPRO ;********************************************************************* +21-237-13:14:10.710 00 SCX_CPU1_DS_RE/1092 write "; Step 4.2.1: Stop the DS and TST_DS Applications. " +21-237-13:14:10.710 00 SPR-I:OPRO ; Step 4.2.1: Stop the DS and TST_DS Applications. +21-237-13:14:10.710 00 SCX_CPU1_DS_RE/1093 write ";*********************************************************************" +21-237-13:14:10.710 00 SPR-I:OPRO ;********************************************************************* +21-237-13:14:10.710 00 SCX_CPU1_DS_RE/1094 local cmdCtr = SCX_CPU1_ES_CMDPC + 2 +21-237-13:14:10.710 00 SCX_CPU1_DS_RE/1095 +21-237-13:14:10.710 00 SCX_CPU1_DS_RE/1096 /SCX_CPU1_ES_RESTARTAPP Application="TST_DS" +21-237-13:14:10.712 00 SCX_CPU1_DS_RE/1097 wait 4 +21-237-13:14:10.712 00 SPR-I:STTE Wait mode - waiting 4 seconds ... +21-237-13:14:11.163 00 TLMH-I:STS 58-012-14:06:45.012 ERROR CPU=CPU1 APPNAME=TST_DS EVENT ID=41 TST_DS_AppMain terminating!, Error = 0x0 +21-237-13:14:11.165 00 TLMH-I:STS 58-012-14:06:45.082 INFO CPU=CPU1 APPNAME=CFE_ES EVENT ID=10 Restart Application TST_DS Completed, AppID=1114124 +21-237-13:14:11.660 00 TLMH-I:STS 58-012-14:06:45.133 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=1 TST_DS Initialized. Version 2.5.1.0 +21-237-13:14:14.715 00 SCX_CPU1_DS_RE/1098 /SCX_CPU1_ES_RESTARTAPP Application=DSAppName +21-237-13:14:14.730 00 SCX_CPU1_DS_RE/1099 wait 4 +21-237-13:14:14.730 00 SPR-I:STTE Wait mode - waiting 4 seconds ... +21-237-13:14:15.163 00 TLMH-I:STS 58-012-14:06:49.009 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=20 Request Housekeeping command +21-237-13:14:18.733 00 SCX_CPU1_DS_RE/1100 +21-237-13:14:18.733 00 SCX_CPU1_DS_RE/1101 ut_tlmwait SCX_CPU1_ES_CMDPC, {cmdCtr} +21-237-13:14:18.740 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:14:18.741 00 SCX_CPU1_DS_RE/1102 if (UT_TW_Status = UT_Success) then +21-237-13:14:18.741 00 SCX_CPU1_DS_RE/1103 write "<*> Passed - DS and TST_DS app commands sent properly." +21-237-13:14:18.741 00 SPR-I:OPRO <*> Passed - DS and TST_DS app commands sent properly. +21-237-13:14:18.741 00 SCX_CPU1_DS_RE/1106 endif +21-237-13:14:18.741 00 SCX_CPU1_DS_RE/1107 +21-237-13:14:18.741 00 SCX_CPU1_DS_RE/1108 wait 5 +21-237-13:14:18.741 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:14:19.165 00 TLMH-I:STS 58-012-14:06:53.001 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=20 Request Housekeeping command +21-237-13:14:20.666 00 TLMH-I:STS 58-012-14:06:54.364 INFO CPU=CPU1 APPNAME=CFE_ES EVENT ID=10 Restart Application DS Completed, AppID=1114125 +21-237-13:14:20.667 00 TLMH-I:STS 58-012-14:06:54.435 INFO CPU=CPU1 APPNAME=DS EVENT ID=10 Destination file table verify results: desc text = OK, good entries = 8, bad = 0, unused = 8 +21-237-13:14:20.668 00 TLMH-I:STS 58-012-14:06:54.470 INFO CPU=CPU1 APPNAME=DS EVENT ID=12 Filter table verify results: desc text = OK, good entries = 6, bad = 0, unused = 250 +21-237-13:14:20.669 00 TLMH-I:STS 58-012-14:06:54.473 INFO CPU=CPU1 APPNAME=DS EVENT ID=1 Application initialized, version 2.6.0.0, data at 0xa7d1f0 +21-237-13:14:23.745 00 SCX_CPU1_DS_RE/1109 +21-237-13:14:23.745 00 SCX_CPU1_DS_RE/1110 write ";*********************************************************************" +21-237-13:14:23.745 00 SPR-I:OPRO ;********************************************************************* +21-237-13:14:23.745 00 SCX_CPU1_DS_RE/1111 write "; Step 4.2.2: Start the DS and TST_DS Applications. " +21-237-13:14:23.745 00 SPR-I:OPRO ; Step 4.2.2: Start the DS and TST_DS Applications. +21-237-13:14:23.746 00 SCX_CPU1_DS_RE/1112 write ";*********************************************************************" +21-237-13:14:23.746 00 SPR-I:OPRO ;********************************************************************* +21-237-13:14:23.746 00 SCX_CPU1_DS_RE/1113 ;s scx_cpu1_ds_start_apps("4.2.2") +21-237-13:14:23.746 00 SCX_CPU1_DS_RE/1114 ;wait 5 +21-237-13:14:23.746 00 SCX_CPU1_DS_RE/1115 +21-237-13:14:23.746 00 SCX_CPU1_DS_RE/1117 if (SCX_CPU1_DS_DestLoadCnt = 1) AND (SCX_CPU1_DS_FilterLoadCnt = 1) then +21-237-13:14:23.747 00 SCX_CPU1_DS_RE/1118 write "<*> Passed (9005;9007) - The tables were validated properly." +21-237-13:14:23.747 00 SPR-I:OPRO <*> Passed (9005;9007) - The tables were validated properly. +21-237-13:14:23.747 00 SCX_CPU1_DS_RE/1119 ut_setrequirements DS_9005, "P" +21-237-13:14:23.750 00 SCX_CPU1_DS_RE/1120 ut_setrequirements DS_9007, "P" +21-237-13:14:23.754 00 SCX_CPU1_DS_RE/1130 endif +21-237-13:14:23.754 00 SCX_CPU1_DS_RE/1131 +21-237-13:14:23.754 00 SCX_CPU1_DS_RE/1134 s get_file_to_cvt (ramDir, "cfe_sb_route.dat", "cpu1_sb_route.dat", hostCPU) +21-237-13:14:23.755 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/get_file_to_cvt.i +21-237-13:14:23.763 00 SPR-I:STS Procedure GET_FILE_TO_CVT started +21-237-13:14:23.763 00 GET_FILE_TO_CV/2 ; +21-237-13:14:23.763 00 GET_FILE_TO_CV/3 local logging = %liv (log_procedure) +21-237-13:14:23.763 00 GET_FILE_TO_CV/4 %liv (log_procedure) = FALSE +21-237-13:14:23.800 00 SPR-I:OPRO Sending Command: /SCX_CPU1_SB_WRITEROUTING2FILE ROUTINFOFILENAME="/ram/cfe_sb_route.dat" +21-237-13:14:23.803 00 SPR-I:STTE Wait mode - waiting 15 seconds ... +21-237-13:14:38.815 00 SPR-I:OPRO The APID is: P0F02 +21-237-13:14:38.815 00 SPR-I:OPRO The CPU is: CPU3 +21-237-13:14:38.815 00 SPR-I:OPRO The IP Address is: 192.168.1.8 +21-237-13:14:38.818 00 SPR-I:OPRO The perl command is: perl /s/opr/accounts/global/tools/ftp.pl RAM:0 cfe_sb_route.dat cpu1_sb_route.dat binary 192.168.1.8 +21-237-13:14:38.992 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-237-13:14:38.993 00 SPR-I:STTE Wait mode - waiting 15 seconds ... +21-237-13:14:54.005 00 SPR-I:OPRO +21-237-13:14:54.047 00 SPR-I:OPRO The unix command is cvt -ws file_list[3842].file_write_time "`date +%y-%j-%T -r /s/opr/accounts/cfs_test/image/cpu1_sb_route.dat`" +21-237-13:14:54.048 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:14:59.052 00 GET_FILE_TO_CV/513 +21-237-13:14:59.052 00 GET_FILE_TO_CV/514 ENDPROC +21-237-13:14:59.052 00 SPR-I:STS Procedure GET_FILE_TO_CVT completed +21-237-13:14:59.054 00 SCX_CPU1_DS_RE/1135 wait 5 +21-237-13:14:59.055 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:15:04.058 00 SCX_CPU1_DS_RE/1136 +21-237-13:15:04.058 00 SCX_CPU1_DS_RE/1137 filterEntries = 0 +21-237-13:15:04.058 00 SCX_CPU1_DS_RE/1138 foundSubscription = 0 +21-237-13:15:04.059 00 SCX_CPU1_DS_RE/1139 +21-237-13:15:04.059 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:04.059 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:04.060 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:04.060 00 SCX_CPU1_DS_RE/1143 filterEntries = filterEntries + 1 +21-237-13:15:04.060 00 SCX_CPU1_DS_RE/1144 write "== Looking for msgID = ", %hex(filterMsgId,4) +21-237-13:15:04.060 00 SPR-I:OPRO == Looking for msgID = 0900 +21-237-13:15:04.061 00 SCX_CPU1_DS_RE/1145 for sbIndex = 1 to CFE_SB_HIGHEST_VALID_MSGID do +21-237-13:15:04.061 00 SCX_CPU1_DS_RE/1146 if (SCX_CPU1_SB_RouteEntry[sbIndex].SB_AppName = DSAppName) AND ;; +21-237-13:15:04.061 00 SCX_CPU1_DS_RE/1147 (SCX_CPU1_SB_RouteEntry[sbIndex].SB_MsgID = filterMsgID) then +21-237-13:15:04.062 00 SCX_CPU1_DS_RE/1150 elseif (SCX_CPU1_SB_RouteEntry[sbIndex].SB_AppName = "") then +21-237-13:15:04.062 00 SCX_CPU1_DS_RE/1152 endif +21-237-13:15:04.062 00 SCX_CPU1_DS_RE/1153 enddo +21-237-13:15:04.063 00 SCX_CPU1_DS_RE/1145 for sbIndex = 1 to CFE_SB_HIGHEST_VALID_MSGID do +21-237-13:15:04.064 00 SCX_CPU1_DS_RE/1146 if (SCX_CPU1_SB_RouteEntry[sbIndex].SB_AppName = DSAppName) AND ;; +21-237-13:15:04.064 00 SCX_CPU1_DS_RE/1147 (SCX_CPU1_SB_RouteEntry[sbIndex].SB_MsgID = filterMsgID) then +21-237-13:15:04.065 00 SCX_CPU1_DS_RE/1150 elseif (SCX_CPU1_SB_RouteEntry[sbIndex].SB_AppName = "") then +21-237-13:15:04.065 00 SCX_CPU1_DS_RE/1151 break +21-237-13:15:04.065 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:04.066 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:04.067 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:04.067 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:04.067 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:04.068 00 SCX_CPU1_DS_RE/1143 filterEntries = filterEntries + 1 +21-237-13:15:04.068 00 SCX_CPU1_DS_RE/1144 write "== Looking for msgID = ", %hex(filterMsgId,4) +21-237-13:15:04.068 00 SPR-I:OPRO == Looking for msgID = 0901 +21-237-13:15:04.069 00 SCX_CPU1_DS_RE/1145 for sbIndex = 1 to CFE_SB_HIGHEST_VALID_MSGID do +21-237-13:15:04.069 00 SCX_CPU1_DS_RE/1146 if (SCX_CPU1_SB_RouteEntry[sbIndex].SB_AppName = DSAppName) AND ;; +21-237-13:15:04.069 00 SCX_CPU1_DS_RE/1147 (SCX_CPU1_SB_RouteEntry[sbIndex].SB_MsgID = filterMsgID) then +21-237-13:15:04.070 00 SCX_CPU1_DS_RE/1150 elseif (SCX_CPU1_SB_RouteEntry[sbIndex].SB_AppName = "") then +21-237-13:15:04.070 00 SCX_CPU1_DS_RE/1152 endif +21-237-13:15:04.070 00 SCX_CPU1_DS_RE/1153 enddo +21-237-13:15:04.071 00 SCX_CPU1_DS_RE/1145 for sbIndex = 1 to CFE_SB_HIGHEST_VALID_MSGID do +21-237-13:15:04.071 00 SCX_CPU1_DS_RE/1146 if (SCX_CPU1_SB_RouteEntry[sbIndex].SB_AppName = DSAppName) AND ;; +21-237-13:15:04.071 00 SCX_CPU1_DS_RE/1147 (SCX_CPU1_SB_RouteEntry[sbIndex].SB_MsgID = filterMsgID) then +21-237-13:15:04.073 00 SCX_CPU1_DS_RE/1150 elseif (SCX_CPU1_SB_RouteEntry[sbIndex].SB_AppName = "") then +21-237-13:15:04.073 00 SCX_CPU1_DS_RE/1151 break +21-237-13:15:04.073 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:04.074 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:04.074 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:04.075 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:04.075 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:04.076 00 SCX_CPU1_DS_RE/1143 filterEntries = filterEntries + 1 +21-237-13:15:04.076 00 SCX_CPU1_DS_RE/1144 write "== Looking for msgID = ", %hex(filterMsgId,4) +21-237-13:15:04.076 00 SPR-I:OPRO == Looking for msgID = 0902 +21-237-13:15:04.076 00 SCX_CPU1_DS_RE/1145 for sbIndex = 1 to CFE_SB_HIGHEST_VALID_MSGID do +21-237-13:15:04.077 00 SCX_CPU1_DS_RE/1146 if (SCX_CPU1_SB_RouteEntry[sbIndex].SB_AppName = DSAppName) AND ;; +21-237-13:15:04.077 00 SCX_CPU1_DS_RE/1147 (SCX_CPU1_SB_RouteEntry[sbIndex].SB_MsgID = filterMsgID) then +21-237-13:15:04.078 00 SCX_CPU1_DS_RE/1150 elseif (SCX_CPU1_SB_RouteEntry[sbIndex].SB_AppName = "") then +21-237-13:15:04.078 00 SCX_CPU1_DS_RE/1152 endif +21-237-13:15:04.079 00 SCX_CPU1_DS_RE/1153 enddo +21-237-13:15:04.079 00 SCX_CPU1_DS_RE/1145 for sbIndex = 1 to CFE_SB_HIGHEST_VALID_MSGID do +21-237-13:15:04.080 00 SCX_CPU1_DS_RE/1146 if (SCX_CPU1_SB_RouteEntry[sbIndex].SB_AppName = DSAppName) AND ;; +21-237-13:15:04.080 00 SCX_CPU1_DS_RE/1147 (SCX_CPU1_SB_RouteEntry[sbIndex].SB_MsgID = filterMsgID) then +21-237-13:15:04.080 00 SCX_CPU1_DS_RE/1150 elseif (SCX_CPU1_SB_RouteEntry[sbIndex].SB_AppName = "") then +21-237-13:15:04.081 00 SCX_CPU1_DS_RE/1151 break +21-237-13:15:04.081 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:04.081 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:04.082 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:04.082 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:04.083 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:04.083 00 SCX_CPU1_DS_RE/1143 filterEntries = filterEntries + 1 +21-237-13:15:04.083 00 SCX_CPU1_DS_RE/1144 write "== Looking for msgID = ", %hex(filterMsgId,4) +21-237-13:15:04.083 00 SPR-I:OPRO == Looking for msgID = 0903 +21-237-13:15:04.083 00 SCX_CPU1_DS_RE/1145 for sbIndex = 1 to CFE_SB_HIGHEST_VALID_MSGID do +21-237-13:15:04.084 00 SCX_CPU1_DS_RE/1146 if (SCX_CPU1_SB_RouteEntry[sbIndex].SB_AppName = DSAppName) AND ;; +21-237-13:15:04.084 00 SCX_CPU1_DS_RE/1147 (SCX_CPU1_SB_RouteEntry[sbIndex].SB_MsgID = filterMsgID) then +21-237-13:15:04.084 00 SCX_CPU1_DS_RE/1150 elseif (SCX_CPU1_SB_RouteEntry[sbIndex].SB_AppName = "") then +21-237-13:15:04.085 00 SCX_CPU1_DS_RE/1152 endif +21-237-13:15:04.085 00 SCX_CPU1_DS_RE/1153 enddo +21-237-13:15:04.085 00 SCX_CPU1_DS_RE/1145 for sbIndex = 1 to CFE_SB_HIGHEST_VALID_MSGID do +21-237-13:15:04.086 00 SCX_CPU1_DS_RE/1146 if (SCX_CPU1_SB_RouteEntry[sbIndex].SB_AppName = DSAppName) AND ;; +21-237-13:15:04.086 00 SCX_CPU1_DS_RE/1147 (SCX_CPU1_SB_RouteEntry[sbIndex].SB_MsgID = filterMsgID) then +21-237-13:15:04.086 00 SCX_CPU1_DS_RE/1150 elseif (SCX_CPU1_SB_RouteEntry[sbIndex].SB_AppName = "") then +21-237-13:15:04.087 00 SCX_CPU1_DS_RE/1151 break +21-237-13:15:04.087 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:04.087 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:04.088 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:04.088 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:04.088 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:04.089 00 SCX_CPU1_DS_RE/1143 filterEntries = filterEntries + 1 +21-237-13:15:04.089 00 SCX_CPU1_DS_RE/1144 write "== Looking for msgID = ", %hex(filterMsgId,4) +21-237-13:15:04.089 00 SPR-I:OPRO == Looking for msgID = 0904 +21-237-13:15:04.089 00 SCX_CPU1_DS_RE/1145 for sbIndex = 1 to CFE_SB_HIGHEST_VALID_MSGID do +21-237-13:15:04.089 00 SCX_CPU1_DS_RE/1146 if (SCX_CPU1_SB_RouteEntry[sbIndex].SB_AppName = DSAppName) AND ;; +21-237-13:15:04.090 00 SCX_CPU1_DS_RE/1147 (SCX_CPU1_SB_RouteEntry[sbIndex].SB_MsgID = filterMsgID) then +21-237-13:15:04.091 00 SCX_CPU1_DS_RE/1150 elseif (SCX_CPU1_SB_RouteEntry[sbIndex].SB_AppName = "") then +21-237-13:15:04.092 00 SCX_CPU1_DS_RE/1152 endif +21-237-13:15:04.092 00 SCX_CPU1_DS_RE/1153 enddo +21-237-13:15:04.093 00 SCX_CPU1_DS_RE/1145 for sbIndex = 1 to CFE_SB_HIGHEST_VALID_MSGID do +21-237-13:15:04.093 00 SCX_CPU1_DS_RE/1146 if (SCX_CPU1_SB_RouteEntry[sbIndex].SB_AppName = DSAppName) AND ;; +21-237-13:15:04.093 00 SCX_CPU1_DS_RE/1147 (SCX_CPU1_SB_RouteEntry[sbIndex].SB_MsgID = filterMsgID) then +21-237-13:15:04.093 00 SCX_CPU1_DS_RE/1150 elseif (SCX_CPU1_SB_RouteEntry[sbIndex].SB_AppName = "") then +21-237-13:15:04.094 00 SCX_CPU1_DS_RE/1151 break +21-237-13:15:04.094 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:04.094 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:04.094 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:04.094 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:04.095 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:04.095 00 SCX_CPU1_DS_RE/1143 filterEntries = filterEntries + 1 +21-237-13:15:04.095 00 SCX_CPU1_DS_RE/1144 write "== Looking for msgID = ", %hex(filterMsgId,4) +21-237-13:15:04.095 00 SPR-I:OPRO == Looking for msgID = 0905 +21-237-13:15:04.095 00 SCX_CPU1_DS_RE/1145 for sbIndex = 1 to CFE_SB_HIGHEST_VALID_MSGID do +21-237-13:15:04.095 00 SCX_CPU1_DS_RE/1146 if (SCX_CPU1_SB_RouteEntry[sbIndex].SB_AppName = DSAppName) AND ;; +21-237-13:15:04.095 00 SCX_CPU1_DS_RE/1147 (SCX_CPU1_SB_RouteEntry[sbIndex].SB_MsgID = filterMsgID) then +21-237-13:15:04.096 00 SCX_CPU1_DS_RE/1150 elseif (SCX_CPU1_SB_RouteEntry[sbIndex].SB_AppName = "") then +21-237-13:15:04.096 00 SCX_CPU1_DS_RE/1152 endif +21-237-13:15:04.096 00 SCX_CPU1_DS_RE/1153 enddo +21-237-13:15:04.097 00 SCX_CPU1_DS_RE/1145 for sbIndex = 1 to CFE_SB_HIGHEST_VALID_MSGID do +21-237-13:15:04.097 00 SCX_CPU1_DS_RE/1146 if (SCX_CPU1_SB_RouteEntry[sbIndex].SB_AppName = DSAppName) AND ;; +21-237-13:15:04.097 00 SCX_CPU1_DS_RE/1147 (SCX_CPU1_SB_RouteEntry[sbIndex].SB_MsgID = filterMsgID) then +21-237-13:15:04.098 00 SCX_CPU1_DS_RE/1150 elseif (SCX_CPU1_SB_RouteEntry[sbIndex].SB_AppName = "") then +21-237-13:15:04.099 00 SCX_CPU1_DS_RE/1151 break +21-237-13:15:04.099 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:04.099 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:04.099 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:04.099 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:04.100 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:04.100 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:04.100 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:04.100 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:04.100 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:04.101 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:04.101 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:04.101 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:04.101 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:04.101 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:04.102 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:04.102 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:04.102 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:04.102 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:04.102 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:04.102 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:04.102 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:04.103 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:04.103 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:04.103 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:04.103 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:04.103 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:04.103 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:04.103 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:04.104 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:04.104 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:04.104 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:04.104 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:04.104 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:04.104 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:04.104 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:04.105 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:04.105 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:04.105 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:04.105 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:04.105 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:04.105 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:04.105 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:04.106 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:04.106 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:04.106 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:04.106 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:04.106 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:04.106 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:04.106 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:04.106 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:04.107 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:04.107 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:04.107 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:04.107 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:04.107 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:04.107 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:04.107 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:04.107 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:04.108 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:04.108 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:04.108 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:04.108 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:04.108 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:04.108 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:04.108 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:04.108 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:04.108 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:04.109 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:04.109 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:04.109 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:04.109 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:04.109 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:04.109 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:04.109 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:04.109 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:04.109 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:04.109 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:04.110 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:04.110 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:04.110 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:04.110 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:04.110 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:04.110 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:04.110 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:04.110 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:04.111 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:04.111 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:04.111 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:04.111 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:04.111 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:04.111 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:04.111 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:04.111 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:04.111 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:04.111 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:04.112 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:04.112 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:04.112 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:04.112 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:04.112 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:04.112 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:04.112 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:04.112 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:04.112 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:04.113 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:04.113 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:04.113 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:04.113 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:04.113 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:04.113 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:04.113 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:04.113 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:04.113 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:04.113 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:04.113 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:04.114 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:04.114 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:04.114 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:04.114 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:04.114 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:04.114 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:04.114 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:04.114 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:04.114 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:04.114 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:04.114 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:04.114 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:04.115 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:04.115 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:04.115 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:04.115 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:04.115 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:04.115 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:04.115 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:04.115 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:04.115 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:04.115 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:04.116 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:04.116 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:04.116 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:04.116 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:04.116 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:04.116 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:04.116 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:04.116 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:04.116 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:04.116 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:04.117 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:04.117 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:04.117 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:04.117 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:04.117 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:04.117 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:04.117 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:04.117 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:04.117 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:04.117 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:04.118 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:04.118 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:04.118 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:04.118 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:04.118 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:04.118 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:04.118 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:04.118 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:04.120 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:04.120 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:04.120 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:04.121 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:04.121 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:04.121 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:04.121 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:04.121 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:04.121 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:04.121 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:04.121 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:04.121 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:04.121 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:04.122 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:04.122 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:04.122 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:04.122 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:04.122 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:04.122 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:04.122 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:04.122 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:04.122 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:04.122 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:04.122 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:04.122 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:04.122 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:04.122 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:04.123 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:04.123 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:04.123 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:04.123 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:04.123 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:04.123 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:04.123 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:04.123 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:04.123 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:04.123 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:04.124 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:04.124 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:04.124 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:04.124 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:04.124 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:04.124 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:04.124 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:04.124 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:04.124 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:04.124 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:04.124 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:04.124 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:04.125 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:04.125 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:04.125 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:04.125 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:04.125 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:04.125 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:04.125 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:04.125 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:04.125 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:04.125 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:04.125 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:04.125 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:04.125 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:04.126 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:04.126 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:04.470 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:04.470 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:04.470 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:04.471 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:04.471 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:04.471 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:04.471 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:04.471 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:04.471 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:04.471 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:04.471 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:04.471 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:04.471 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:04.471 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:04.472 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:04.472 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:04.472 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:04.472 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:04.472 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:04.472 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:04.472 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:04.472 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:04.472 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:04.472 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:04.472 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:04.472 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:04.473 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:04.473 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:04.473 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:04.473 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:04.473 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:04.473 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:04.473 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:04.473 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:04.473 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:04.473 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:04.473 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:04.473 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:04.474 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:04.474 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:04.474 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:04.474 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:04.474 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:04.474 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:04.474 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:04.474 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:04.474 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:04.474 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:04.474 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:04.474 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:04.475 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:04.475 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:04.475 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:04.475 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:04.475 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:04.475 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:04.475 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:04.475 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:04.475 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:04.475 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:04.475 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:04.475 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:04.475 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:04.476 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:04.476 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:04.476 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:04.476 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:04.476 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:04.476 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:04.476 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:04.476 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:04.476 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:04.476 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:04.476 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:04.477 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:04.477 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:04.477 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:04.477 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:04.477 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:04.477 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:04.477 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:04.477 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:04.477 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:04.477 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:04.477 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:04.477 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:04.477 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:04.477 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:04.478 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:04.478 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:04.478 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:04.478 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:04.478 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:04.478 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:04.478 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:04.478 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:04.478 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:04.478 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:04.478 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:04.478 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:04.478 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:04.479 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:04.479 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:04.479 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:04.479 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:04.479 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:04.479 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:04.479 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:04.479 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:04.479 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:04.479 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:04.479 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:04.479 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:04.479 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:04.480 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:04.480 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:04.480 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:04.480 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:04.480 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:04.480 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:04.480 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:04.480 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:04.480 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:04.480 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:04.480 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:04.480 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:04.480 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:04.480 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:04.481 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:04.481 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:04.481 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:04.481 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:04.481 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:04.481 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:04.481 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:04.481 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:04.481 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:04.481 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:04.481 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:04.481 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:04.482 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:04.482 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:04.482 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:04.482 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:04.482 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:04.482 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:04.482 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:04.482 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:04.482 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:04.482 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:04.482 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:04.483 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:04.483 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:04.483 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:04.483 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:04.483 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:04.483 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:04.483 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:04.483 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:04.483 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:04.483 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:04.483 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:04.483 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:04.484 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:04.484 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:04.484 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:04.484 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:04.484 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:04.484 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:04.484 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:04.484 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:04.484 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:04.484 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:04.484 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:04.484 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:04.484 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:04.484 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:04.485 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:04.485 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:04.485 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:04.485 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:04.485 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:04.485 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:04.485 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:04.485 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:04.485 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:04.485 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:04.485 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:04.485 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:04.486 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:04.486 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:04.486 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:04.486 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:04.486 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:04.486 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:04.486 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:04.486 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:04.486 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:04.486 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:04.487 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:04.487 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:04.487 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:04.487 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:04.487 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:04.487 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:04.487 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:04.487 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:04.487 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:04.487 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:04.487 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:04.488 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:04.488 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:04.488 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:04.488 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:04.488 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:04.488 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:04.488 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:04.488 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:04.488 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:04.488 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:04.488 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:04.488 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:04.488 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:04.488 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:04.489 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:04.489 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:04.489 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:04.489 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:04.489 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:04.489 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:04.489 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:04.489 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:04.489 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:04.489 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:04.489 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:04.489 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:04.489 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:04.489 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:04.490 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:04.490 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:04.490 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:04.490 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:04.490 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:04.490 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:04.490 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:04.490 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:04.490 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:04.490 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:04.490 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:04.490 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:04.490 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:04.490 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:04.491 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:04.491 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:04.491 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:04.491 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:04.491 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:04.491 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:04.491 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:04.491 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:04.491 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:04.491 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:04.491 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:04.491 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:04.491 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:04.492 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:04.492 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:04.492 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:04.492 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:04.492 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:04.492 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:04.492 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:04.492 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:04.492 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:04.492 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:04.492 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:04.492 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:04.492 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:04.493 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:04.753 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:04.753 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:04.754 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:04.754 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:04.754 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:04.754 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:04.754 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:04.754 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:04.754 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:04.754 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:04.754 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:04.754 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:04.755 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:04.755 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:04.755 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:04.755 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:04.755 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:04.755 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:04.755 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:04.755 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:04.755 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:04.755 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:04.755 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:04.756 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:04.756 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:04.756 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:04.756 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:04.756 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:04.756 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:04.756 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:04.756 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:04.756 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:04.756 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:04.756 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:04.756 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:04.757 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:04.757 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:04.757 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:04.757 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:04.757 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:04.757 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:04.757 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:04.757 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:04.757 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:04.757 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:04.757 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:04.757 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:04.757 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:04.758 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:04.758 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:04.758 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:04.758 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:04.758 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:04.758 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:04.758 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:04.758 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:04.758 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:04.758 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:04.758 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:04.758 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:04.759 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:04.759 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:04.759 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:04.759 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:04.759 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:04.759 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:04.759 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:04.759 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:04.759 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:04.759 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:04.759 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:04.759 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:04.760 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:04.760 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:04.760 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:04.760 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:04.760 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:04.760 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:04.760 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:04.760 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:04.760 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:04.760 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:04.760 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:04.760 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:04.760 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:04.761 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:04.761 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:04.761 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:04.761 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:04.761 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:04.761 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:04.761 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:04.761 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:04.761 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:04.761 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:04.761 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:04.761 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:04.762 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:04.762 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:04.762 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:04.762 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:04.762 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:04.762 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:04.762 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:04.762 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:04.762 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:04.762 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:04.762 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:04.762 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:04.763 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:04.763 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:04.763 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:04.763 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:04.763 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:04.763 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:04.763 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:04.763 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:04.763 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:04.763 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:04.763 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:04.763 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:04.763 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:04.763 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:04.764 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:04.764 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:04.764 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:04.764 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:04.764 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:04.764 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:04.764 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:04.764 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:04.764 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:04.764 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:04.764 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:04.765 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:04.765 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:04.765 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:04.765 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:04.765 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:04.765 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:04.765 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:04.765 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:04.765 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:04.765 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:04.765 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:04.765 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:04.765 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:04.766 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:04.766 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:04.766 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:04.766 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:04.766 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:04.766 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:04.766 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:04.766 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:04.766 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:04.766 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:04.767 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:04.767 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:04.767 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:04.767 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:04.767 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:04.767 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:04.767 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:04.767 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:04.767 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:04.767 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:04.767 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:04.767 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:04.768 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:04.768 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:04.769 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:04.769 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:04.769 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:04.769 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:04.769 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:04.770 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:04.770 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:04.770 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:04.770 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:04.770 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:04.770 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:04.770 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:04.770 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:04.770 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:04.771 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:04.771 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:04.771 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:04.771 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:04.771 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:04.771 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:04.771 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:04.771 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:04.771 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:04.771 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:04.771 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:04.771 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:04.771 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:04.771 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:04.772 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:04.772 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:04.772 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:04.772 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:04.772 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:04.772 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:04.772 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:04.772 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:04.772 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:04.772 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:04.772 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:04.773 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:04.773 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:04.773 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:04.773 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:04.773 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:04.773 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:04.773 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:04.773 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:04.773 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:04.773 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:04.773 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:04.773 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:04.773 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:04.773 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:04.773 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:04.774 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:05.112 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:05.112 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:05.112 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:05.113 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:05.113 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:05.113 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:05.113 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:05.113 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:05.113 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:05.113 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:05.113 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:05.113 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:05.113 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:05.113 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:05.113 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:05.113 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:05.114 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:05.114 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:05.114 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:05.114 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:05.114 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:05.114 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:05.114 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:05.114 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:05.114 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:05.114 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:05.114 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:05.114 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:05.115 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:05.115 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:05.115 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:05.115 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:05.115 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:05.115 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:05.115 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:05.115 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:05.115 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:05.115 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:05.115 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:05.115 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:05.115 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:05.115 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:05.115 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:05.116 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:05.116 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:05.116 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:05.116 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:05.116 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:05.116 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:05.116 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:05.116 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:05.116 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:05.116 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:05.116 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:05.116 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:05.117 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:05.117 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:05.117 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:05.117 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:05.117 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:05.117 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:05.117 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:05.117 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:05.117 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:05.118 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:05.118 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:05.118 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:05.118 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:05.118 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:05.118 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:05.118 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:05.118 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:05.118 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:05.118 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:05.118 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:05.119 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:05.119 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:05.119 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:05.119 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:05.119 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:05.119 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:05.119 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:05.119 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:05.119 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:05.119 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:05.119 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:05.120 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:05.120 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:05.120 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:05.120 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:05.120 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:05.120 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:05.120 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:05.120 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:05.120 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:05.120 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:05.120 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:05.120 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:05.121 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:05.121 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:05.121 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:05.121 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:05.121 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:05.121 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:05.121 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:05.121 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:05.123 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:05.123 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:05.123 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:05.123 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:05.123 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:05.123 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:05.123 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:05.123 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:05.123 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:05.123 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:05.124 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:05.124 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:05.124 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:05.124 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:05.124 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:05.124 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:05.124 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:05.124 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:05.124 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:05.124 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:05.124 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:05.124 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:05.125 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:05.125 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:05.125 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:05.125 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:05.125 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:05.125 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:05.125 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:05.125 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:05.125 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:05.125 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:05.126 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:05.126 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:05.126 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:05.126 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:05.126 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:05.126 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:05.126 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:05.126 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:05.126 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:05.126 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:05.127 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:05.127 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:05.127 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:05.127 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:05.127 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:05.127 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:05.127 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:05.127 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:05.127 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:05.127 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:05.128 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:05.128 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:05.128 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:05.128 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:05.128 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:05.128 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:05.128 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:05.128 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:05.128 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:05.128 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:05.129 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:05.129 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:05.129 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:05.129 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:05.129 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:05.129 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:05.129 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:05.129 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:05.130 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:05.130 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:05.130 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:05.130 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:05.130 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:05.130 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:05.130 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:05.130 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:05.130 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:05.131 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:05.131 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:05.131 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:05.131 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:05.131 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:05.131 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:05.131 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:05.131 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:05.131 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:05.131 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:05.132 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:05.132 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:05.132 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:05.132 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:05.132 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:05.132 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:05.132 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:05.132 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:05.132 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:05.132 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:05.133 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:05.133 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:05.133 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:05.133 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:05.133 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:05.133 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:05.133 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:05.133 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:05.133 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:05.133 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:05.134 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:05.134 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:05.134 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:05.134 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:05.134 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:05.134 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:05.134 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:05.134 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:05.134 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:05.135 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:05.135 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:05.135 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:05.135 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:05.469 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:05.469 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:05.469 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:05.469 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:05.469 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:05.469 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:05.469 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:05.469 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:05.470 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:05.470 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:05.470 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:05.470 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:05.470 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:05.470 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:05.470 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:05.470 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:05.470 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:05.471 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:05.471 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:05.471 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:05.471 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:05.471 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:05.471 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:05.471 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:05.471 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:05.471 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:05.471 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:05.471 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:05.471 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:05.471 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:05.471 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:05.472 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:05.472 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:05.472 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:05.472 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:05.472 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:05.472 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:05.472 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:05.472 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:05.472 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:05.472 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:05.472 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:05.472 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:05.472 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:05.472 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:05.473 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:05.473 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:05.473 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:05.473 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:05.473 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:05.473 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:05.473 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:05.473 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:05.473 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:05.473 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:05.473 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:05.473 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:05.473 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:05.473 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:05.474 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:05.474 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:05.474 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:05.474 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:05.474 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:05.474 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:05.474 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:05.474 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:05.474 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:05.474 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:05.474 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:05.475 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:05.475 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:05.475 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:05.475 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:05.475 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:05.475 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:05.475 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:05.475 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:05.475 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:05.475 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:05.476 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:05.476 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:05.476 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:05.476 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:05.476 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:05.476 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:05.476 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:05.476 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:05.476 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:05.476 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:05.476 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:05.476 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:05.476 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:05.476 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:05.476 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:05.477 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:05.477 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:05.477 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:05.477 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:05.477 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:05.477 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:05.477 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:05.477 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:05.477 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:05.477 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:05.477 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:05.477 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:05.478 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:05.478 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:05.478 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:05.478 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:05.478 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:05.478 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:05.478 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:05.478 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:05.479 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:05.479 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:05.479 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:05.479 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:05.479 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:05.479 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:05.479 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:05.480 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:05.480 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:05.480 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:05.480 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:05.480 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:05.480 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:05.480 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:05.480 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:05.481 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:05.481 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:05.481 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:05.481 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:05.481 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:05.481 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:05.481 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:05.481 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:05.481 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:05.481 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:05.482 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:05.482 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:05.482 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:05.482 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:05.482 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:05.482 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:05.482 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:05.482 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:05.482 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:05.482 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:05.483 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:05.483 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:05.483 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:05.483 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:05.483 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:05.483 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:05.483 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:05.483 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:05.483 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:05.483 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:05.483 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:05.484 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:05.484 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:05.484 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:05.484 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:05.484 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:05.484 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:05.484 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:05.484 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:05.484 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:05.484 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:05.485 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:05.485 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:05.485 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:05.485 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:05.485 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:05.485 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:05.485 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:05.485 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:05.485 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:05.485 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:05.485 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:05.486 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:05.486 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:05.486 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:05.486 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:05.486 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:05.486 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:05.486 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:05.486 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:05.486 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:05.486 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:05.487 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:05.487 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:05.487 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:05.487 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:05.487 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:05.487 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:05.487 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:05.487 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:05.487 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:05.487 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:05.487 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:05.487 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:05.487 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:05.488 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:05.488 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:05.488 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:05.488 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:05.488 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:05.488 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:05.488 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:05.488 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:05.488 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:05.488 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:05.488 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:05.488 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:05.488 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:05.488 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:05.488 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:05.489 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:05.489 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:05.489 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:05.489 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:05.489 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:05.489 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:05.842 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:05.843 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:05.843 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:05.843 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:05.843 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:05.843 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:05.843 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:05.843 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:05.843 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:05.843 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:05.843 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:05.844 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:05.844 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:05.844 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:05.844 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:05.844 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:05.844 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:05.844 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:05.844 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:05.844 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:05.844 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:05.844 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:05.844 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:05.844 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:05.845 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:05.845 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:05.845 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:05.845 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:05.845 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:05.845 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:05.845 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:05.845 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:05.845 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:05.845 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:05.845 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:05.845 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:05.845 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:05.846 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:05.846 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:05.846 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:05.846 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:05.846 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:05.846 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:05.846 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:05.846 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:05.846 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:05.846 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:05.846 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:05.846 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:05.846 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:05.846 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:05.847 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:05.847 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:05.847 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:05.847 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:05.847 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:05.847 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:05.847 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:05.847 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:05.847 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:05.847 00 SCX_CPU1_DS_RE/1141 filterMsgID = SCX_CPU1_DS_PF_TBL[i].MessageID +21-237-13:15:05.847 00 SCX_CPU1_DS_RE/1142 if (filterMsgID <> 0) then +21-237-13:15:05.847 00 SCX_CPU1_DS_RE/1154 endif +21-237-13:15:05.847 00 SCX_CPU1_DS_RE/1155 enddo +21-237-13:15:05.848 00 SCX_CPU1_DS_RE/1140 for i = 0 to DS_PACKETS_IN_FILTER_TABLE-1 do +21-237-13:15:05.848 00 SCX_CPU1_DS_RE/1156 +21-237-13:15:05.848 00 SCX_CPU1_DS_RE/1157 if (foundSubscription = filterEntries) then +21-237-13:15:05.848 00 SCX_CPU1_DS_RE/1160 else +21-237-13:15:05.848 00 SCX_CPU1_DS_RE/1161 write " Failed (9006) - Expected ",filterEntries," message ID subscriptions. Found ",foundSubscription +21-237-13:15:05.848 00 SPR-I:OPRO Failed (9006) - Expected 6 message ID subscriptions. Found 0 +21-237-13:15:05.848 00 SCX_CPU1_DS_RE/1162 ut_setrequirements DS_9006, "F" +21-237-13:15:05.849 00 SCX_CPU1_DS_RE/1163 endif +21-237-13:15:05.849 00 SCX_CPU1_DS_RE/1164 +21-237-13:15:05.849 00 SCX_CPU1_DS_RE/1166 if (p@SCX_CPU1_DS_AppEnaState = "Disabled") then +21-237-13:15:05.849 00 SCX_CPU1_DS_RE/1177 endif +21-237-13:15:05.849 00 SCX_CPU1_DS_RE/1178 +21-237-13:15:05.849 00 SCX_CPU1_DS_RE/1179 wait 5 +21-237-13:15:05.850 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:15:10.853 00 SCX_CPU1_DS_RE/1180 +21-237-13:15:10.853 00 SCX_CPU1_DS_RE/1181 write ";***********************************************************************" +21-237-13:15:10.853 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:15:10.853 00 SCX_CPU1_DS_RE/1182 write "; Step 4.3: Enable DEBUG Event Messages " +21-237-13:15:10.853 00 SPR-I:OPRO ; Step 4.3: Enable DEBUG Event Messages +21-237-13:15:10.853 00 SCX_CPU1_DS_RE/1183 write ";***********************************************************************" +21-237-13:15:10.853 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:15:10.853 00 SCX_CPU1_DS_RE/1184 local cmdCtr = SCX_CPU1_EVS_CMDPC + 2 +21-237-13:15:10.853 00 SCX_CPU1_DS_RE/1185 +21-237-13:15:10.853 00 SCX_CPU1_DS_RE/1187 /SCX_CPU1_EVS_EnaAppEVTType Application=DSAppName DEBUG +21-237-13:15:10.864 00 SCX_CPU1_DS_RE/1188 wait 2 +21-237-13:15:10.864 00 SPR-I:STTE Wait mode - waiting 2 seconds ... +21-237-13:15:12.866 00 SCX_CPU1_DS_RE/1189 /SCX_CPU1_EVS_EnaAppEVTType Application="CFE_TBL" DEBUG +21-237-13:15:12.877 00 SCX_CPU1_DS_RE/1190 +21-237-13:15:12.877 00 SCX_CPU1_DS_RE/1191 ut_tlmwait SCX_CPU1_EVS_CMDPC, {cmdCtr} +21-237-13:15:12.880 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:15:14.881 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:15:14.882 00 SCX_CPU1_DS_RE/1192 if (UT_TW_Status = UT_Success) then +21-237-13:15:14.882 00 SCX_CPU1_DS_RE/1193 write "<*> Passed - Enable Debug events command sent properly." +21-237-13:15:14.882 00 SPR-I:OPRO <*> Passed - Enable Debug events command sent properly. +21-237-13:15:14.882 00 SCX_CPU1_DS_RE/1196 endif +21-237-13:15:14.882 00 SCX_CPU1_DS_RE/1197 +21-237-13:15:14.882 00 SCX_CPU1_DS_RE/1198 write ";***********************************************************************" +21-237-13:15:14.882 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:15:14.882 00 SCX_CPU1_DS_RE/1199 write "; Step 4.4: Parse the File State HK to determine if the open files have" +21-237-13:15:14.882 00 SPR-I:OPRO ; Step 4.4: Parse the File State HK to determine if the open files have +21-237-13:15:14.882 00 SCX_CPU1_DS_RE/1200 write "; been closed. " +21-237-13:15:14.882 00 SPR-I:OPRO ; been closed. +21-237-13:15:14.882 00 SCX_CPU1_DS_RE/1201 write ";***********************************************************************" +21-237-13:15:14.882 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:15:14.882 00 SCX_CPU1_DS_RE/1203 cmdCtr = SCX_CPU1_DS_CMDPC + 1 +21-237-13:15:14.882 00 SCX_CPU1_DS_RE/1204 +21-237-13:15:14.882 00 SCX_CPU1_DS_RE/1205 /SCX_CPU1_DS_GetFileInfo +21-237-13:15:14.893 00 SCX_CPU1_DS_RE/1206 +21-237-13:15:14.893 00 SCX_CPU1_DS_RE/1207 ut_tlmwait SCX_CPU1_DS_CMDPC, {cmdCtr} +21-237-13:15:14.897 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:15:15.156 00 TLMH-I:STS 58-012-14:07:49.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-237-13:15:18.899 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:15:18.901 00 SCX_CPU1_DS_RE/1208 +21-237-13:15:18.901 00 SCX_CPU1_DS_RE/1210 for i = 1 to openCount do +21-237-13:15:18.901 00 SCX_CPU1_DS_RE/1211 if (SCX_CPU1_DS_FileState[openFiles[i]].FileName = "") then +21-237-13:15:18.901 00 SCX_CPU1_DS_RE/1212 write "<*> Passed (9002) - The file at slot ",openFiles[i]," has been closed." +21-237-13:15:18.902 00 SPR-I:OPRO <*> Passed (9002) - The file at slot 1 has been closed. +21-237-13:15:18.902 00 SCX_CPU1_DS_RE/1213 ut_setrequirements DS_9002, "P" +21-237-13:15:18.904 00 SCX_CPU1_DS_RE/1217 endif +21-237-13:15:18.904 00 SCX_CPU1_DS_RE/1218 enddo +21-237-13:15:18.905 00 SCX_CPU1_DS_RE/1210 for i = 1 to openCount do +21-237-13:15:18.905 00 SCX_CPU1_DS_RE/1211 if (SCX_CPU1_DS_FileState[openFiles[i]].FileName = "") then +21-237-13:15:18.905 00 SCX_CPU1_DS_RE/1212 write "<*> Passed (9002) - The file at slot ",openFiles[i]," has been closed." +21-237-13:15:18.905 00 SPR-I:OPRO <*> Passed (9002) - The file at slot 4 has been closed. +21-237-13:15:18.905 00 SCX_CPU1_DS_RE/1213 ut_setrequirements DS_9002, "P" +21-237-13:15:18.906 00 SCX_CPU1_DS_RE/1217 endif +21-237-13:15:18.906 00 SCX_CPU1_DS_RE/1218 enddo +21-237-13:15:18.906 00 SCX_CPU1_DS_RE/1210 for i = 1 to openCount do +21-237-13:15:18.906 00 SCX_CPU1_DS_RE/1211 if (SCX_CPU1_DS_FileState[openFiles[i]].FileName = "") then +21-237-13:15:18.910 00 SCX_CPU1_DS_RE/1212 write "<*> Passed (9002) - The file at slot ",openFiles[i]," has been closed." +21-237-13:15:18.910 00 SPR-I:OPRO <*> Passed (9002) - The file at slot 5 has been closed. +21-237-13:15:18.910 00 SCX_CPU1_DS_RE/1213 ut_setrequirements DS_9002, "P" +21-237-13:15:18.911 00 SCX_CPU1_DS_RE/1217 endif +21-237-13:15:18.911 00 SCX_CPU1_DS_RE/1218 enddo +21-237-13:15:18.911 00 SCX_CPU1_DS_RE/1210 for i = 1 to openCount do +21-237-13:15:18.911 00 SCX_CPU1_DS_RE/1211 if (SCX_CPU1_DS_FileState[openFiles[i]].FileName = "") then +21-237-13:15:18.911 00 SCX_CPU1_DS_RE/1212 write "<*> Passed (9002) - The file at slot ",openFiles[i]," has been closed." +21-237-13:15:18.911 00 SPR-I:OPRO <*> Passed (9002) - The file at slot 6 has been closed. +21-237-13:15:18.911 00 SCX_CPU1_DS_RE/1213 ut_setrequirements DS_9002, "P" +21-237-13:15:18.912 00 SCX_CPU1_DS_RE/1217 endif +21-237-13:15:18.912 00 SCX_CPU1_DS_RE/1218 enddo +21-237-13:15:18.913 00 SCX_CPU1_DS_RE/1210 for i = 1 to openCount do +21-237-13:15:18.917 00 SCX_CPU1_DS_RE/1211 if (SCX_CPU1_DS_FileState[openFiles[i]].FileName = "") then +21-237-13:15:18.917 00 SCX_CPU1_DS_RE/1212 write "<*> Passed (9002) - The file at slot ",openFiles[i]," has been closed." +21-237-13:15:18.917 00 SPR-I:OPRO <*> Passed (9002) - The file at slot 7 has been closed. +21-237-13:15:18.917 00 SCX_CPU1_DS_RE/1213 ut_setrequirements DS_9002, "P" +21-237-13:15:18.918 00 SCX_CPU1_DS_RE/1217 endif +21-237-13:15:18.918 00 SCX_CPU1_DS_RE/1218 enddo +21-237-13:15:18.918 00 SCX_CPU1_DS_RE/1210 for i = 1 to openCount do +21-237-13:15:18.918 00 SCX_CPU1_DS_RE/1219 +21-237-13:15:18.918 00 SCX_CPU1_DS_RE/1220 write ";***********************************************************************" +21-237-13:15:18.918 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:15:18.918 00 SCX_CPU1_DS_RE/1221 write "; Step 4.5: Verify that the File Sequence counters were restored after " +21-237-13:15:18.918 00 SPR-I:OPRO ; Step 4.5: Verify that the File Sequence counters were restored after +21-237-13:15:18.918 00 SCX_CPU1_DS_RE/1222 write "; the Processor Reset. " +21-237-13:15:18.918 00 SPR-I:OPRO ; the Processor Reset. +21-237-13:15:18.918 00 SCX_CPU1_DS_RE/1223 write ";***********************************************************************" +21-237-13:15:18.918 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:15:18.924 00 SCX_CPU1_DS_RE/1224 write "; Step 4.5.1: Send the TST_DS command to send the same messages to DS " +21-237-13:15:18.925 00 SPR-I:OPRO ; Step 4.5.1: Send the TST_DS command to send the same messages to DS +21-237-13:15:18.925 00 SCX_CPU1_DS_RE/1225 write "; that were sent in previous steps." +21-237-13:15:18.925 00 SPR-I:OPRO ; that were sent in previous steps. +21-237-13:15:18.925 00 SCX_CPU1_DS_RE/1226 write ";***********************************************************************" +21-237-13:15:18.925 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:15:18.925 00 SCX_CPU1_DS_RE/1228 ut_setupevents "SCX", "CPU1", "TST_DS", TST_DS_MSG1_SENT_INF_EID, "INFO", 1 +21-237-13:15:18.926 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:15:18.927 00 SPR-I:OPRO ; Setup event 1 with TST_DS INFO 5 +21-237-13:15:18.927 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:15:18.927 00 SCX_CPU1_DS_RE/1229 +21-237-13:15:18.927 00 SCX_CPU1_DS_RE/1231 for i = 1 to 3 do +21-237-13:15:18.927 00 SCX_CPU1_DS_RE/1233 /SCX_CPU1_TST_DS_SENDMESSAGE MsgID=msgIDs[i] MsgType=1 Pattern=x'BB' +21-237-13:15:18.938 00 SCX_CPU1_DS_RE/1234 wait 5 +21-237-13:15:18.939 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:15:19.159 00 TLMH-I:STS 58-012-14:07:53.005 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Message Size 116 to MID 0x00000901 +21-237-13:15:23.942 00 SCX_CPU1_DS_RE/1235 enddo +21-237-13:15:23.942 00 SCX_CPU1_DS_RE/1231 for i = 1 to 3 do +21-237-13:15:23.943 00 SCX_CPU1_DS_RE/1233 /SCX_CPU1_TST_DS_SENDMESSAGE MsgID=msgIDs[i] MsgType=1 Pattern=x'BB' +21-237-13:15:23.958 00 SCX_CPU1_DS_RE/1234 wait 5 +21-237-13:15:23.958 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:15:24.162 00 TLMH-I:STS 58-012-14:07:58.001 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Message Size 116 to MID 0x00000902 +21-237-13:15:28.961 00 SCX_CPU1_DS_RE/1235 enddo +21-237-13:15:28.961 00 SCX_CPU1_DS_RE/1231 for i = 1 to 3 do +21-237-13:15:28.961 00 SCX_CPU1_DS_RE/1233 /SCX_CPU1_TST_DS_SENDMESSAGE MsgID=msgIDs[i] MsgType=1 Pattern=x'BB' +21-237-13:15:28.972 00 SCX_CPU1_DS_RE/1234 wait 5 +21-237-13:15:28.972 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:15:29.161 00 TLMH-I:STS 58-012-14:08:03.002 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Message Size 116 to MID 0x00000903 +21-237-13:15:33.976 00 SCX_CPU1_DS_RE/1235 enddo +21-237-13:15:33.976 00 SCX_CPU1_DS_RE/1231 for i = 1 to 3 do +21-237-13:15:33.977 00 SCX_CPU1_DS_RE/1236 +21-237-13:15:33.977 00 SCX_CPU1_DS_RE/1238 if (SCX_CPU1_find_event[1].num_found_messages = 3) then +21-237-13:15:33.977 00 SCX_CPU1_DS_RE/1239 write "<*> Passed - Rcv'd the expected number of Send events." +21-237-13:15:33.977 00 SPR-I:OPRO <*> Passed - Rcv'd the expected number of Send events. +21-237-13:15:33.977 00 SCX_CPU1_DS_RE/1242 endif +21-237-13:15:33.977 00 SCX_CPU1_DS_RE/1243 +21-237-13:15:33.977 00 SCX_CPU1_DS_RE/1244 wait 5 +21-237-13:15:33.977 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:15:38.981 00 SCX_CPU1_DS_RE/1245 +21-237-13:15:38.981 00 SCX_CPU1_DS_RE/1246 write ";***********************************************************************" +21-237-13:15:38.981 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:15:38.981 00 SCX_CPU1_DS_RE/1247 write "; Step 4.5.2: Parse the File State HK information in order to verify " +21-237-13:15:38.981 00 SPR-I:OPRO ; Step 4.5.2: Parse the File State HK information in order to verify +21-237-13:15:38.981 00 SCX_CPU1_DS_RE/1248 write "; that the File Sequence Counters saved in Step 3.2 have been restored." +21-237-13:15:38.981 00 SPR-I:OPRO ; that the File Sequence Counters saved in Step 3.2 have been restored. +21-237-13:15:38.981 00 SCX_CPU1_DS_RE/1249 write ";***********************************************************************" +21-237-13:15:38.981 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:15:38.982 00 SCX_CPU1_DS_RE/1250 seqCount = 0 +21-237-13:15:38.982 00 SCX_CPU1_DS_RE/1251 +21-237-13:15:38.982 00 SCX_CPU1_DS_RE/1253 cmdCtr = SCX_CPU1_DS_CMDPC + 1 +21-237-13:15:38.982 00 SCX_CPU1_DS_RE/1254 +21-237-13:15:38.982 00 SCX_CPU1_DS_RE/1255 /SCX_CPU1_DS_GetFileInfo +21-237-13:15:38.996 00 SCX_CPU1_DS_RE/1256 +21-237-13:15:38.996 00 SCX_CPU1_DS_RE/1257 ut_tlmwait SCX_CPU1_DS_CMDPC, {cmdCtr} +21-237-13:15:39.004 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:15:39.158 00 TLMH-I:STS 58-012-14:08:13.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-237-13:15:43.008 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:15:43.010 00 SCX_CPU1_DS_RE/1258 +21-237-13:15:43.010 00 SCX_CPU1_DS_RE/1260 for i = 0 to DS_DEST_FILE_CNT-1 do +21-237-13:15:43.011 00 SCX_CPU1_DS_RE/1261 if (SCX_CPU1_DS_FileState[i].FileName <> "") then +21-237-13:15:43.011 00 SCX_CPU1_DS_RE/1278 endif +21-237-13:15:43.011 00 SCX_CPU1_DS_RE/1279 enddo +21-237-13:15:43.012 00 SCX_CPU1_DS_RE/1260 for i = 0 to DS_DEST_FILE_CNT-1 do +21-237-13:15:43.012 00 SCX_CPU1_DS_RE/1261 if (SCX_CPU1_DS_FileState[i].FileName <> "") then +21-237-13:15:43.013 00 SCX_CPU1_DS_RE/1262 fileName = SCX_CPU1_DS_FileState[i].FileName +21-237-13:15:43.013 00 SCX_CPU1_DS_RE/1263 write "<*> Passed - A file was created with name '",fileName,"'" +21-237-13:15:43.013 00 SPR-I:OPRO <*> Passed - A file was created with name '/ram/seq200000202.dat' +21-237-13:15:43.014 00 SCX_CPU1_DS_RE/1265 if (p@SCX_CPU1_DS_DF_TBL[i].FileNameType = "Count") then +21-237-13:15:43.014 00 SCX_CPU1_DS_RE/1266 seqCount = seqCount + 1 +21-237-13:15:43.014 00 SCX_CPU1_DS_RE/1267 dotLoc = %locate(fileName,".") +21-237-13:15:43.014 00 SCX_CPU1_DS_RE/1268 seqCntAR[seqCount] = %substring(fileName,dotLoc-3,dotLoc-1) +21-237-13:15:43.015 00 SCX_CPU1_DS_RE/1269 write "==> SeqCount After Reset = '",seqCntAR[seqCount],"'" +21-237-13:15:43.015 00 SPR-I:OPRO ==> SeqCount After Reset = '202' +21-237-13:15:43.015 00 SCX_CPU1_DS_RE/1270 if (seqCnt[seqCount] < seqCntAR[seqCount]) then +21-237-13:15:43.016 00 SCX_CPU1_DS_RE/1271 write "<*> Passed (9004) - Sequence Count was preserved across reset" +21-237-13:15:43.016 00 SPR-I:OPRO <*> Passed (9004) - Sequence Count was preserved across reset +21-237-13:15:43.016 00 SCX_CPU1_DS_RE/1272 ut_setrequirements DS_9004, "P" +21-237-13:15:43.039 00 SCX_CPU1_DS_RE/1276 endif +21-237-13:15:43.039 00 SCX_CPU1_DS_RE/1277 endif +21-237-13:15:43.039 00 SCX_CPU1_DS_RE/1278 endif +21-237-13:15:43.039 00 SCX_CPU1_DS_RE/1279 enddo +21-237-13:15:43.039 00 SCX_CPU1_DS_RE/1260 for i = 0 to DS_DEST_FILE_CNT-1 do +21-237-13:15:43.040 00 SCX_CPU1_DS_RE/1261 if (SCX_CPU1_DS_FileState[i].FileName <> "") then +21-237-13:15:43.040 00 SCX_CPU1_DS_RE/1278 endif +21-237-13:15:43.040 00 SCX_CPU1_DS_RE/1279 enddo +21-237-13:15:43.040 00 SCX_CPU1_DS_RE/1260 for i = 0 to DS_DEST_FILE_CNT-1 do +21-237-13:15:43.040 00 SCX_CPU1_DS_RE/1261 if (SCX_CPU1_DS_FileState[i].FileName <> "") then +21-237-13:15:43.041 00 SCX_CPU1_DS_RE/1278 endif +21-237-13:15:43.041 00 SCX_CPU1_DS_RE/1279 enddo +21-237-13:15:43.041 00 SCX_CPU1_DS_RE/1260 for i = 0 to DS_DEST_FILE_CNT-1 do +21-237-13:15:43.041 00 SCX_CPU1_DS_RE/1261 if (SCX_CPU1_DS_FileState[i].FileName <> "") then +21-237-13:15:43.041 00 SCX_CPU1_DS_RE/1262 fileName = SCX_CPU1_DS_FileState[i].FileName +21-237-13:15:43.042 00 SCX_CPU1_DS_RE/1263 write "<*> Passed - A file was created with name '",fileName,"'" +21-237-13:15:43.042 00 SPR-I:OPRO <*> Passed - A file was created with name '/ram/time11980012140753' +21-237-13:15:43.042 00 SCX_CPU1_DS_RE/1265 if (p@SCX_CPU1_DS_DF_TBL[i].FileNameType = "Count") then +21-237-13:15:43.042 00 SCX_CPU1_DS_RE/1277 endif +21-237-13:15:43.042 00 SCX_CPU1_DS_RE/1278 endif +21-237-13:15:43.042 00 SCX_CPU1_DS_RE/1279 enddo +21-237-13:15:43.047 00 SCX_CPU1_DS_RE/1260 for i = 0 to DS_DEST_FILE_CNT-1 do +21-237-13:15:43.047 00 SCX_CPU1_DS_RE/1261 if (SCX_CPU1_DS_FileState[i].FileName <> "") then +21-237-13:15:43.047 00 SCX_CPU1_DS_RE/1262 fileName = SCX_CPU1_DS_FileState[i].FileName +21-237-13:15:43.048 00 SCX_CPU1_DS_RE/1263 write "<*> Passed - A file was created with name '",fileName,"'" +21-237-13:15:43.048 00 SPR-I:OPRO <*> Passed - A file was created with name '/ram/time21980012140753' +21-237-13:15:43.048 00 SCX_CPU1_DS_RE/1265 if (p@SCX_CPU1_DS_DF_TBL[i].FileNameType = "Count") then +21-237-13:15:43.048 00 SCX_CPU1_DS_RE/1277 endif +21-237-13:15:43.048 00 SCX_CPU1_DS_RE/1278 endif +21-237-13:15:43.048 00 SCX_CPU1_DS_RE/1279 enddo +21-237-13:15:43.048 00 SCX_CPU1_DS_RE/1260 for i = 0 to DS_DEST_FILE_CNT-1 do +21-237-13:15:43.049 00 SCX_CPU1_DS_RE/1261 if (SCX_CPU1_DS_FileState[i].FileName <> "") then +21-237-13:15:43.049 00 SCX_CPU1_DS_RE/1262 fileName = SCX_CPU1_DS_FileState[i].FileName +21-237-13:15:43.049 00 SCX_CPU1_DS_RE/1263 write "<*> Passed - A file was created with name '",fileName,"'" +21-237-13:15:43.049 00 SPR-I:OPRO <*> Passed - A file was created with name '/ram/time31980012140753' +21-237-13:15:43.049 00 SCX_CPU1_DS_RE/1265 if (p@SCX_CPU1_DS_DF_TBL[i].FileNameType = "Count") then +21-237-13:15:43.049 00 SCX_CPU1_DS_RE/1277 endif +21-237-13:15:43.049 00 SCX_CPU1_DS_RE/1278 endif +21-237-13:15:43.049 00 SCX_CPU1_DS_RE/1279 enddo +21-237-13:15:43.050 00 SCX_CPU1_DS_RE/1260 for i = 0 to DS_DEST_FILE_CNT-1 do +21-237-13:15:43.050 00 SCX_CPU1_DS_RE/1261 if (SCX_CPU1_DS_FileState[i].FileName <> "") then +21-237-13:15:43.050 00 SCX_CPU1_DS_RE/1262 fileName = SCX_CPU1_DS_FileState[i].FileName +21-237-13:15:43.050 00 SCX_CPU1_DS_RE/1263 write "<*> Passed - A file was created with name '",fileName,"'" +21-237-13:15:43.050 00 SPR-I:OPRO <*> Passed - A file was created with name '/ram/time41980012140753' +21-237-13:15:43.052 00 SCX_CPU1_DS_RE/1265 if (p@SCX_CPU1_DS_DF_TBL[i].FileNameType = "Count") then +21-237-13:15:43.052 00 SCX_CPU1_DS_RE/1277 endif +21-237-13:15:43.052 00 SCX_CPU1_DS_RE/1278 endif +21-237-13:15:43.052 00 SCX_CPU1_DS_RE/1279 enddo +21-237-13:15:43.052 00 SCX_CPU1_DS_RE/1260 for i = 0 to DS_DEST_FILE_CNT-1 do +21-237-13:15:43.053 00 SCX_CPU1_DS_RE/1261 if (SCX_CPU1_DS_FileState[i].FileName <> "") then +21-237-13:15:43.053 00 SCX_CPU1_DS_RE/1278 endif +21-237-13:15:43.053 00 SCX_CPU1_DS_RE/1279 enddo +21-237-13:15:43.053 00 SCX_CPU1_DS_RE/1260 for i = 0 to DS_DEST_FILE_CNT-1 do +21-237-13:15:43.053 00 SCX_CPU1_DS_RE/1261 if (SCX_CPU1_DS_FileState[i].FileName <> "") then +21-237-13:15:43.053 00 SCX_CPU1_DS_RE/1278 endif +21-237-13:15:43.053 00 SCX_CPU1_DS_RE/1279 enddo +21-237-13:15:43.054 00 SCX_CPU1_DS_RE/1260 for i = 0 to DS_DEST_FILE_CNT-1 do +21-237-13:15:43.054 00 SCX_CPU1_DS_RE/1261 if (SCX_CPU1_DS_FileState[i].FileName <> "") then +21-237-13:15:43.054 00 SCX_CPU1_DS_RE/1278 endif +21-237-13:15:43.054 00 SCX_CPU1_DS_RE/1279 enddo +21-237-13:15:43.054 00 SCX_CPU1_DS_RE/1260 for i = 0 to DS_DEST_FILE_CNT-1 do +21-237-13:15:43.054 00 SCX_CPU1_DS_RE/1261 if (SCX_CPU1_DS_FileState[i].FileName <> "") then +21-237-13:15:43.055 00 SCX_CPU1_DS_RE/1278 endif +21-237-13:15:43.055 00 SCX_CPU1_DS_RE/1279 enddo +21-237-13:15:43.055 00 SCX_CPU1_DS_RE/1260 for i = 0 to DS_DEST_FILE_CNT-1 do +21-237-13:15:43.055 00 SCX_CPU1_DS_RE/1261 if (SCX_CPU1_DS_FileState[i].FileName <> "") then +21-237-13:15:43.055 00 SCX_CPU1_DS_RE/1278 endif +21-237-13:15:43.055 00 SCX_CPU1_DS_RE/1279 enddo +21-237-13:15:43.056 00 SCX_CPU1_DS_RE/1260 for i = 0 to DS_DEST_FILE_CNT-1 do +21-237-13:15:43.056 00 SCX_CPU1_DS_RE/1261 if (SCX_CPU1_DS_FileState[i].FileName <> "") then +21-237-13:15:43.056 00 SCX_CPU1_DS_RE/1278 endif +21-237-13:15:43.062 00 SCX_CPU1_DS_RE/1279 enddo +21-237-13:15:43.063 00 SCX_CPU1_DS_RE/1260 for i = 0 to DS_DEST_FILE_CNT-1 do +21-237-13:15:43.063 00 SCX_CPU1_DS_RE/1261 if (SCX_CPU1_DS_FileState[i].FileName <> "") then +21-237-13:15:43.063 00 SCX_CPU1_DS_RE/1278 endif +21-237-13:15:43.063 00 SCX_CPU1_DS_RE/1279 enddo +21-237-13:15:43.063 00 SCX_CPU1_DS_RE/1260 for i = 0 to DS_DEST_FILE_CNT-1 do +21-237-13:15:43.063 00 SCX_CPU1_DS_RE/1261 if (SCX_CPU1_DS_FileState[i].FileName <> "") then +21-237-13:15:43.063 00 SCX_CPU1_DS_RE/1278 endif +21-237-13:15:43.063 00 SCX_CPU1_DS_RE/1279 enddo +21-237-13:15:43.063 00 SCX_CPU1_DS_RE/1260 for i = 0 to DS_DEST_FILE_CNT-1 do +21-237-13:15:43.064 00 SCX_CPU1_DS_RE/1280 +21-237-13:15:43.064 00 SCX_CPU1_DS_RE/1281 wait 5 +21-237-13:15:43.064 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:15:48.068 00 SCX_CPU1_DS_RE/1282 +21-237-13:15:48.068 00 SCX_CPU1_DS_RE/1283 write ";***********************************************************************" +21-237-13:15:48.068 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:15:48.068 00 SCX_CPU1_DS_RE/1284 write "; Step 5.0: Table Validation Failure Tests" +21-237-13:15:48.068 00 SPR-I:OPRO ; Step 5.0: Table Validation Failure Tests +21-237-13:15:48.068 00 SCX_CPU1_DS_RE/1285 write ";***********************************************************************" +21-237-13:15:48.068 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:15:48.068 00 SCX_CPU1_DS_RE/1286 write "; Step 5.1: Create five Packet Filter Table load images with each " +21-237-13:15:48.069 00 SPR-I:OPRO ; Step 5.1: Create five Packet Filter Table load images with each +21-237-13:15:48.069 00 SCX_CPU1_DS_RE/1287 write "; containing one of the possible five content errors. " +21-237-13:15:48.069 00 SPR-I:OPRO ; containing one of the possible five content errors. +21-237-13:15:48.069 00 SCX_CPU1_DS_RE/1288 write ";***********************************************************************" +21-237-13:15:48.069 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:15:48.069 00 SCX_CPU1_DS_RE/1290 s scx_cpu1_ds_badfiltertbls +21-237-13:15:48.070 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/scx_cpu1_ds_badfiltertbls.i +21-237-13:15:48.081 00 SPR-I:STS Procedure SCX_CPU1_DS_BADFILTERTBLS started +21-237-13:15:48.081 00 SCX_CPU1_DS_BA/2 ;******************************************************************************* +21-237-13:15:48.081 00 SCX_CPU1_DS_BA/3 ; Test Name: ds_badfiltertbls +21-237-13:15:48.082 00 SCX_CPU1_DS_BA/4 ; Test Level: Build Verification +21-237-13:15:48.082 00 SCX_CPU1_DS_BA/5 ; Test Type: Functional +21-237-13:15:48.082 00 SCX_CPU1_DS_BA/6 ; +21-237-13:15:48.082 00 SCX_CPU1_DS_BA/7 ; Test Description +21-237-13:15:48.082 00 SCX_CPU1_DS_BA/8 ; This procedure creates five CFS Data Storage (DS) Packet Filter Table +21-237-13:15:48.082 00 SCX_CPU1_DS_BA/9 ; load images each containing one of the possible five content errors such +21-237-13:15:48.082 00 SCX_CPU1_DS_BA/10 ; that the table validation will fail and generate the proper error event +21-237-13:15:48.082 00 SCX_CPU1_DS_BA/11 ; message. This table image is used in the ResetNoCDS test procedure. +21-237-13:15:48.082 00 SCX_CPU1_DS_BA/12 ; +21-237-13:15:48.082 00 SCX_CPU1_DS_BA/13 ; Prerequisite Conditions +21-237-13:15:48.082 00 SCX_CPU1_DS_BA/14 ; None. +21-237-13:15:48.083 00 SCX_CPU1_DS_BA/15 ; +21-237-13:15:48.083 00 SCX_CPU1_DS_BA/16 ; Assumptions and Constraints +21-237-13:15:48.083 00 SCX_CPU1_DS_BA/17 ; None. +21-237-13:15:48.083 00 SCX_CPU1_DS_BA/18 ; +21-237-13:15:48.083 00 SCX_CPU1_DS_BA/19 ; Change History +21-237-13:15:48.083 00 SCX_CPU1_DS_BA/20 ; Date Name Description +21-237-13:15:48.083 00 SCX_CPU1_DS_BA/21 ; 11/23/09 Walt Moleski Inital implemetation. +21-237-13:15:48.083 00 SCX_CPU1_DS_BA/22 ; 12/08/10 Walt Moleski Modified to use the table name specified +21-237-13:15:48.083 00 SCX_CPU1_DS_BA/23 ; in the ds_platform_cfg.h file and added +21-237-13:15:48.087 00 SCX_CPU1_DS_BA/24 ; a variable for the application name. +21-237-13:15:48.087 00 SCX_CPU1_DS_BA/25 ; 01/31/17 Walt Moleski Updated for DS 2.5.0.0 using CPU1 for +21-237-13:15:48.087 00 SCX_CPU1_DS_BA/26 ; commanding and added a hostCPU variable +21-237-13:15:48.087 00 SCX_CPU1_DS_BA/27 ; for the utility procs to connect to the +21-237-13:15:48.087 00 SCX_CPU1_DS_BA/28 ; proper host IP address. +21-237-13:15:48.087 00 SCX_CPU1_DS_BA/29 ; +21-237-13:15:48.087 00 SCX_CPU1_DS_BA/30 ; Arguments +21-237-13:15:48.088 00 SCX_CPU1_DS_BA/31 ; None. +21-237-13:15:48.088 00 SCX_CPU1_DS_BA/32 ; +21-237-13:15:48.088 00 SCX_CPU1_DS_BA/33 ; Procedures Called +21-237-13:15:48.088 00 SCX_CPU1_DS_BA/34 ; Name Description +21-237-13:15:48.088 00 SCX_CPU1_DS_BA/35 ; +21-237-13:15:48.088 00 SCX_CPU1_DS_BA/36 ; Expected Test Results and Analysis +21-237-13:15:48.088 00 SCX_CPU1_DS_BA/37 ; +21-237-13:15:48.088 00 SCX_CPU1_DS_BA/38 ;********************************************************************** +21-237-13:15:48.088 00 SCX_CPU1_DS_BA/39 +21-237-13:15:48.089 00 SCX_CPU1_DS_BA/40 local logging = %liv (log_procedure) +21-237-13:15:48.089 00 SCX_CPU1_DS_BA/41 %liv (log_procedure) = FALSE +21-237-13:15:48.138 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:15:48.138 00 SPR-I:OPRO ; Step 1.0: Define DS Destination File And Packet Filter Tables. +21-237-13:15:48.138 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:15:48.626 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/create_tbl_file_from_cvt.i +21-237-13:15:48.626 00 SPR-I:STS Procedure CREATE_TBL_FILE_FROM_CVT started +21-237-13:15:48.628 00 SPR-I:OPRO ********** ds_badfilter1.tbl ********** +21-237-13:15:48.628 00 SPR-I:OPRO +21-237-13:15:48.628 00 SPR-I:OPRO Content Type: cFE1 +21-237-13:15:48.628 00 SPR-I:OPRO Sub Type: 8 +21-237-13:15:48.628 00 SPR-I:OPRO Length: 12 +21-237-13:15:48.628 00 SPR-I:OPRO Spacecraft Id: SCX +21-237-13:15:48.628 00 SPR-I:OPRO Processor Id: CPU3 +21-237-13:15:48.628 00 SPR-I:OPRO Application Id: 3959 +21-237-13:15:48.628 00 SPR-I:OPRO Create Time Secs: 1629897348 +21-237-13:15:48.628 00 SPR-I:OPRO Create Time Subsecs: 0 +21-237-13:15:48.628 00 SPR-I:OPRO File Description: Invalid Filter Table Description +21-237-13:15:48.628 00 SPR-I:OPRO +21-237-13:15:48.628 00 SPR-I:OPRO ********** DS.FILTER_TBL ********** +21-237-13:15:48.628 00 SPR-I:OPRO +21-237-13:15:48.628 00 SPR-I:OPRO Start Mnemonic: SCX_CPU1_DS_PF_TBL_Description +21-237-13:15:48.629 00 SPR-I:OPRO Byte Offset: 0 +21-237-13:15:48.629 00 SPR-I:OPRO End Mnemonic: SCX_CPU1_DS_PF_TBL[255].FilterParams[3].O_Value +21-237-13:15:48.629 00 SPR-I:OPRO Number of Bytes: 9248 +21-237-13:15:48.629 00 SPR-I:OPRO +21-237-13:15:48.634 00 SPR-I:STS Loading file /s/opr/accounts/global/prc/partial_cvt_to_file_beta.i +21-237-13:15:48.634 00 SPR-I:STS Procedure PARTIAL_CVT_TO_FILE_BETA started +21-237-13:15:48.634 00 SPR-I:OPRO The unix command is cd /s/opr/accounts/cfs_test/image;cvt2file -s 116 -e 9363 P0F77 ds.filter_tbl +21-237-13:15:48.639 00 SPR-I:STS Procedure PARTIAL_CVT_TO_FILE_BETA completed +21-237-13:15:48.640 00 SPR-I:OPRO cd /s/opr/accounts/cfs_test/image;cat ds_badfilter1.tbl.tmp ds.filter_tbl > ds_badfilter1.tbl +21-237-13:15:48.643 00 SPR-I:OPRO cd /s/opr/accounts/cfs_test/image;rm ds.filter_tbl ds_badfilter1.tbl.tmp +21-237-13:15:48.647 00 SPR-I:STS Procedure CREATE_TBL_FILE_FROM_CVT completed +21-237-13:15:48.648 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/create_tbl_file_from_cvt.i +21-237-13:15:48.648 00 SPR-I:STS Procedure CREATE_TBL_FILE_FROM_CVT started +21-237-13:15:48.651 00 SPR-I:OPRO ********** ds_badfilter2.tbl ********** +21-237-13:15:48.651 00 SPR-I:OPRO +21-237-13:15:48.651 00 SPR-I:OPRO Content Type: cFE1 +21-237-13:15:48.651 00 SPR-I:OPRO Sub Type: 8 +21-237-13:15:48.651 00 SPR-I:OPRO Length: 12 +21-237-13:15:48.651 00 SPR-I:OPRO Spacecraft Id: SCX +21-237-13:15:48.651 00 SPR-I:OPRO Processor Id: CPU3 +21-237-13:15:48.651 00 SPR-I:OPRO Application Id: 3959 +21-237-13:15:48.651 00 SPR-I:OPRO Create Time Secs: 1629897348 +21-237-13:15:48.651 00 SPR-I:OPRO Create Time Subsecs: 0 +21-237-13:15:48.651 00 SPR-I:OPRO File Description: Invalid Filter Table Entry #1 In +21-237-13:15:48.651 00 SPR-I:OPRO +21-237-13:15:48.651 00 SPR-I:OPRO ********** DS.FILTER_TBL ********** +21-237-13:15:48.651 00 SPR-I:OPRO +21-237-13:15:48.651 00 SPR-I:OPRO Start Mnemonic: SCX_CPU1_DS_PF_TBL_Description +21-237-13:15:48.651 00 SPR-I:OPRO Byte Offset: 0 +21-237-13:15:48.651 00 SPR-I:OPRO End Mnemonic: SCX_CPU1_DS_PF_TBL[255].FilterParams[3].O_Value +21-237-13:15:48.652 00 SPR-I:OPRO Number of Bytes: 9248 +21-237-13:15:48.652 00 SPR-I:OPRO +21-237-13:15:48.659 00 SPR-I:STS Loading file /s/opr/accounts/global/prc/partial_cvt_to_file_beta.i +21-237-13:15:48.659 00 SPR-I:STS Procedure PARTIAL_CVT_TO_FILE_BETA started +21-237-13:15:48.660 00 SPR-I:OPRO The unix command is cd /s/opr/accounts/cfs_test/image;cvt2file -s 116 -e 9363 P0F77 ds.filter_tbl +21-237-13:15:48.665 00 SPR-I:STS Procedure PARTIAL_CVT_TO_FILE_BETA completed +21-237-13:15:48.665 00 SPR-I:OPRO cd /s/opr/accounts/cfs_test/image;cat ds_badfilter2.tbl.tmp ds.filter_tbl > ds_badfilter2.tbl +21-237-13:15:48.669 00 SPR-I:OPRO cd /s/opr/accounts/cfs_test/image;rm ds.filter_tbl ds_badfilter2.tbl.tmp +21-237-13:15:48.677 00 SPR-I:STS Procedure CREATE_TBL_FILE_FROM_CVT completed +21-237-13:15:48.677 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/create_tbl_file_from_cvt.i +21-237-13:15:48.678 00 SPR-I:STS Procedure CREATE_TBL_FILE_FROM_CVT started +21-237-13:15:48.681 00 SPR-I:OPRO ********** ds_badfilter3.tbl ********** +21-237-13:15:48.681 00 SPR-I:OPRO +21-237-13:15:48.681 00 SPR-I:OPRO Content Type: cFE1 +21-237-13:15:48.681 00 SPR-I:OPRO Sub Type: 8 +21-237-13:15:48.681 00 SPR-I:OPRO Length: 12 +21-237-13:15:48.681 00 SPR-I:OPRO Spacecraft Id: SCX +21-237-13:15:48.681 00 SPR-I:OPRO Processor Id: CPU3 +21-237-13:15:48.681 00 SPR-I:OPRO Application Id: 3959 +21-237-13:15:48.681 00 SPR-I:OPRO Create Time Secs: 1629897348 +21-237-13:15:48.681 00 SPR-I:OPRO Create Time Subsecs: 0 +21-237-13:15:48.681 00 SPR-I:OPRO File Description: Invalid Filter Table Entry #2 Ty +21-237-13:15:48.681 00 SPR-I:OPRO +21-237-13:15:48.681 00 SPR-I:OPRO ********** DS.FILTER_TBL ********** +21-237-13:15:48.681 00 SPR-I:OPRO +21-237-13:15:48.681 00 SPR-I:OPRO Start Mnemonic: SCX_CPU1_DS_PF_TBL_Description +21-237-13:15:48.681 00 SPR-I:OPRO Byte Offset: 0 +21-237-13:15:48.681 00 SPR-I:OPRO End Mnemonic: SCX_CPU1_DS_PF_TBL[255].FilterParams[3].O_Value +21-237-13:15:48.681 00 SPR-I:OPRO Number of Bytes: 9248 +21-237-13:15:48.681 00 SPR-I:OPRO +21-237-13:15:48.688 00 SPR-I:STS Loading file /s/opr/accounts/global/prc/partial_cvt_to_file_beta.i +21-237-13:15:48.688 00 SPR-I:STS Procedure PARTIAL_CVT_TO_FILE_BETA started +21-237-13:15:48.688 00 SPR-I:OPRO The unix command is cd /s/opr/accounts/cfs_test/image;cvt2file -s 116 -e 9363 P0F77 ds.filter_tbl +21-237-13:15:48.693 00 SPR-I:STS Procedure PARTIAL_CVT_TO_FILE_BETA completed +21-237-13:15:48.693 00 SPR-I:OPRO cd /s/opr/accounts/cfs_test/image;cat ds_badfilter3.tbl.tmp ds.filter_tbl > ds_badfilter3.tbl +21-237-13:15:48.697 00 SPR-I:OPRO cd /s/opr/accounts/cfs_test/image;rm ds.filter_tbl ds_badfilter3.tbl.tmp +21-237-13:15:48.701 00 SPR-I:STS Procedure CREATE_TBL_FILE_FROM_CVT completed +21-237-13:15:48.701 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/create_tbl_file_from_cvt.i +21-237-13:15:48.702 00 SPR-I:STS Procedure CREATE_TBL_FILE_FROM_CVT started +21-237-13:15:48.704 00 SPR-I:OPRO ********** ds_badfilter4.tbl ********** +21-237-13:15:48.704 00 SPR-I:OPRO +21-237-13:15:48.704 00 SPR-I:OPRO Content Type: cFE1 +21-237-13:15:48.704 00 SPR-I:OPRO Sub Type: 8 +21-237-13:15:48.704 00 SPR-I:OPRO Length: 12 +21-237-13:15:48.704 00 SPR-I:OPRO Spacecraft Id: SCX +21-237-13:15:48.704 00 SPR-I:OPRO Processor Id: CPU3 +21-237-13:15:48.704 00 SPR-I:OPRO Application Id: 3959 +21-237-13:15:48.704 00 SPR-I:OPRO Create Time Secs: 1629897348 +21-237-13:15:48.704 00 SPR-I:OPRO Create Time Subsecs: 0 +21-237-13:15:48.704 00 SPR-I:OPRO File Description: Invalid Filter Table Entry #3 N> +21-237-13:15:48.704 00 SPR-I:OPRO +21-237-13:15:48.704 00 SPR-I:OPRO ********** DS.FILTER_TBL ********** +21-237-13:15:48.704 00 SPR-I:OPRO +21-237-13:15:48.704 00 SPR-I:OPRO Start Mnemonic: SCX_CPU1_DS_PF_TBL_Description +21-237-13:15:48.705 00 SPR-I:OPRO Byte Offset: 0 +21-237-13:15:48.705 00 SPR-I:OPRO End Mnemonic: SCX_CPU1_DS_PF_TBL[255].FilterParams[3].O_Value +21-237-13:15:48.705 00 SPR-I:OPRO Number of Bytes: 9248 +21-237-13:15:48.705 00 SPR-I:OPRO +21-237-13:15:48.710 00 SPR-I:STS Loading file /s/opr/accounts/global/prc/partial_cvt_to_file_beta.i +21-237-13:15:48.711 00 SPR-I:STS Procedure PARTIAL_CVT_TO_FILE_BETA started +21-237-13:15:48.711 00 SPR-I:OPRO The unix command is cd /s/opr/accounts/cfs_test/image;cvt2file -s 116 -e 9363 P0F77 ds.filter_tbl +21-237-13:15:48.719 00 SPR-I:STS Procedure PARTIAL_CVT_TO_FILE_BETA completed +21-237-13:15:48.719 00 SPR-I:OPRO cd /s/opr/accounts/cfs_test/image;cat ds_badfilter4.tbl.tmp ds.filter_tbl > ds_badfilter4.tbl +21-237-13:15:48.724 00 SPR-I:OPRO cd /s/opr/accounts/cfs_test/image;rm ds.filter_tbl ds_badfilter4.tbl.tmp +21-237-13:15:48.728 00 SPR-I:STS Procedure CREATE_TBL_FILE_FROM_CVT completed +21-237-13:15:48.728 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/create_tbl_file_from_cvt.i +21-237-13:15:48.728 00 SPR-I:STS Procedure CREATE_TBL_FILE_FROM_CVT started +21-237-13:15:48.731 00 SPR-I:OPRO ********** ds_badfilter5.tbl ********** +21-237-13:15:48.731 00 SPR-I:OPRO +21-237-13:15:48.731 00 SPR-I:OPRO Content Type: cFE1 +21-237-13:15:48.731 00 SPR-I:OPRO Sub Type: 8 +21-237-13:15:48.731 00 SPR-I:OPRO Length: 12 +21-237-13:15:48.731 00 SPR-I:OPRO Spacecraft Id: SCX +21-237-13:15:48.731 00 SPR-I:OPRO Processor Id: CPU3 +21-237-13:15:48.731 00 SPR-I:OPRO Application Id: 3959 +21-237-13:15:48.731 00 SPR-I:OPRO Create Time Secs: 1629897348 +21-237-13:15:48.731 00 SPR-I:OPRO Create Time Subsecs: 0 +21-237-13:15:48.731 00 SPR-I:OPRO File Description: Invalid Filter Table Entry #4 O> +21-237-13:15:48.731 00 SPR-I:OPRO +21-237-13:15:48.731 00 SPR-I:OPRO ********** DS.FILTER_TBL ********** +21-237-13:15:48.731 00 SPR-I:OPRO +21-237-13:15:48.732 00 SPR-I:OPRO Start Mnemonic: SCX_CPU1_DS_PF_TBL_Description +21-237-13:15:48.732 00 SPR-I:OPRO Byte Offset: 0 +21-237-13:15:48.732 00 SPR-I:OPRO End Mnemonic: SCX_CPU1_DS_PF_TBL[255].FilterParams[3].O_Value +21-237-13:15:48.732 00 SPR-I:OPRO Number of Bytes: 9248 +21-237-13:15:48.732 00 SPR-I:OPRO +21-237-13:15:48.741 00 SPR-I:STS Loading file /s/opr/accounts/global/prc/partial_cvt_to_file_beta.i +21-237-13:15:48.741 00 SPR-I:STS Procedure PARTIAL_CVT_TO_FILE_BETA started +21-237-13:15:48.742 00 SPR-I:OPRO The unix command is cd /s/opr/accounts/cfs_test/image;cvt2file -s 116 -e 9363 P0F77 ds.filter_tbl +21-237-13:15:48.747 00 SPR-I:STS Procedure PARTIAL_CVT_TO_FILE_BETA completed +21-237-13:15:48.747 00 SPR-I:OPRO cd /s/opr/accounts/cfs_test/image;cat ds_badfilter5.tbl.tmp ds.filter_tbl > ds_badfilter5.tbl +21-237-13:15:48.755 00 SPR-I:OPRO cd /s/opr/accounts/cfs_test/image;rm ds.filter_tbl ds_badfilter5.tbl.tmp +21-237-13:15:48.759 00 SPR-I:STS Procedure CREATE_TBL_FILE_FROM_CVT completed +21-237-13:15:48.759 00 SCX_CPU1_DS_BA/184 +21-237-13:15:48.759 00 SCX_CPU1_DS_BA/185 write ";*********************************************************************" +21-237-13:15:48.759 00 SPR-I:OPRO ;********************************************************************* +21-237-13:15:48.759 00 SCX_CPU1_DS_BA/186 write "; End procedure SCX_CPU1_ds_badfiltertbls" +21-237-13:15:48.759 00 SPR-I:OPRO ; End procedure SCX_CPU1_ds_badfiltertbls +21-237-13:15:48.759 00 SCX_CPU1_DS_BA/187 write ";*********************************************************************" +21-237-13:15:48.759 00 SPR-I:OPRO ;********************************************************************* +21-237-13:15:48.759 00 SCX_CPU1_DS_BA/188 ENDPROC +21-237-13:15:48.759 00 SPR-I:STS Procedure SCX_CPU1_DS_BADFILTERTBLS completed +21-237-13:15:48.759 00 SCX_CPU1_DS_RE/1291 wait 5 +21-237-13:15:48.760 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:15:53.764 00 SCX_CPU1_DS_RE/1292 +21-237-13:15:53.764 00 SCX_CPU1_DS_RE/1293 write ";***********************************************************************" +21-237-13:15:53.765 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:15:53.765 00 SCX_CPU1_DS_RE/1294 write "; Step 5.2: Loop for each file created above. " +21-237-13:15:53.765 00 SPR-I:OPRO ; Step 5.2: Loop for each file created above. +21-237-13:15:53.765 00 SCX_CPU1_DS_RE/1295 write ";***********************************************************************" +21-237-13:15:53.765 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:15:53.765 00 SCX_CPU1_DS_RE/1296 for i = 1 to 5 do +21-237-13:15:53.766 00 SCX_CPU1_DS_RE/1297 write ";***********************************************************************" +21-237-13:15:53.766 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:15:53.766 00 SCX_CPU1_DS_RE/1298 write "; Load the invalid table image." +21-237-13:15:53.766 00 SPR-I:OPRO ; Load the invalid table image. +21-237-13:15:53.766 00 SCX_CPU1_DS_RE/1299 write ";***********************************************************************" +21-237-13:15:53.766 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:15:53.766 00 SCX_CPU1_DS_RE/1301 ut_setupevents "SCX", "CPU1", "CFE_TBL",CFE_TBL_FILE_LOADED_INF_EID,"INFO", 1 +21-237-13:15:53.772 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:15:53.773 00 SPR-I:OPRO ; Setup event 1 with CFE_TBL INFO 12 +21-237-13:15:53.773 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:15:53.775 00 SCX_CPU1_DS_RE/1302 +21-237-13:15:53.775 00 SCX_CPU1_DS_RE/1303 cmdCtr = SCX_CPU1_TBL_CMDPC + 1 +21-237-13:15:53.775 00 SCX_CPU1_DS_RE/1304 +21-237-13:15:53.775 00 SCX_CPU1_DS_RE/1305 start load_table ("ds_badfilter" & i & ".tbl", hostCPU) +21-237-13:15:53.776 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/load_table.i +21-237-13:15:53.777 00 SPR-I:STS Procedure LOAD_TABLE started +21-237-13:15:53.778 00 LOAD_TABLE/2 ; +21-237-13:15:53.778 00 LOAD_TABLE/3 local logging = %liv (log_procedure) +21-237-13:15:53.778 00 LOAD_TABLE/4 %liv (log_procedure) = FALSE +21-237-13:15:53.782 00 SPR-I:OPRO Table Filename: ds_badfilter1.tbl +21-237-13:15:53.786 00 SPR-I:OPRO The perl command is: perl /s/opr/accounts/global/tools/table_ftp.pl 192.168.1.8 ds_badfilter1.tbl RAM:0 3 +21-237-13:15:53.786 00 SPR-I:OPRO +21-237-13:15:53.935 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-237-13:15:53.935 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:15:58.942 00 SPR-I:OPRO +21-237-13:15:58.944 00 SPR-I:OPRO Sending Command: /SCX_CPU1_TBL_LOAD LFILENAME="/ram/ds_badfilter1.tbl" +21-237-13:15:58.965 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:15:59.165 00 TLMH-I:STS 58-012-14:08:33.002 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=12 Successful load of '/ram/ds_badfilter1.tbl' into 'DS.FILTER_TBL' working buffer +21-237-13:16:02.969 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:16:02.971 00 LOAD_TABLE/195 +21-237-13:16:02.971 00 LOAD_TABLE/196 ENDPROC +21-237-13:16:02.971 00 SPR-I:STS Procedure LOAD_TABLE completed +21-237-13:16:02.972 00 SCX_CPU1_DS_RE/1306 +21-237-13:16:02.972 00 SCX_CPU1_DS_RE/1307 ut_tlmwait SCX_CPU1_TBL_CMDPC, {cmdCtr} +21-237-13:16:02.984 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:16:02.986 00 SCX_CPU1_DS_RE/1308 if (UT_TW_Status = UT_Success) then +21-237-13:16:02.986 00 SCX_CPU1_DS_RE/1309 write "<*> Passed - Load command for Invalid Packet Filter Table sent successfully." +21-237-13:16:02.986 00 SPR-I:OPRO <*> Passed - Load command for Invalid Packet Filter Table sent successfully. +21-237-13:16:02.986 00 SCX_CPU1_DS_RE/1312 endif +21-237-13:16:02.986 00 SCX_CPU1_DS_RE/1313 +21-237-13:16:02.986 00 SCX_CPU1_DS_RE/1314 if (SCX_CPU1_find_event[1].num_found_messages = 1) then +21-237-13:16:02.987 00 SCX_CPU1_DS_RE/1315 write "<*> Passed - Event Msg ",SCX_CPU1_find_event[1].eventid," Found!" +21-237-13:16:02.987 00 SPR-I:OPRO <*> Passed - Event Msg 12 Found! +21-237-13:16:02.987 00 SCX_CPU1_DS_RE/1318 endif +21-237-13:16:02.987 00 SCX_CPU1_DS_RE/1319 +21-237-13:16:02.987 00 SCX_CPU1_DS_RE/1320 write ";***********************************************************************" +21-237-13:16:02.987 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:02.987 00 SCX_CPU1_DS_RE/1321 write "; Send the Table Services command to validate the inactive buffer." +21-237-13:16:02.987 00 SPR-I:OPRO ; Send the Table Services command to validate the inactive buffer. +21-237-13:16:02.988 00 SCX_CPU1_DS_RE/1322 write ";***********************************************************************" +21-237-13:16:02.988 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:02.988 00 SCX_CPU1_DS_RE/1323 ut_setupevents "SCX","CPU1","CFE_TBL",CFE_TBL_VAL_REQ_MADE_INF_EID, "DEBUG", 1 +21-237-13:16:02.994 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:02.995 00 SPR-I:OPRO ; Setup event 1 with CFE_TBL DEBUG 16 +21-237-13:16:02.995 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:03.003 00 SCX_CPU1_DS_RE/1324 ut_setupevents "SCX","CPU1","CFE_TBL",CFE_TBL_VALIDATION_ERR_EID, "ERROR", 2 +21-237-13:16:03.007 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:03.007 00 SPR-I:OPRO ; Setup event 2 with CFE_TBL ERROR 96 +21-237-13:16:03.007 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:03.008 00 SCX_CPU1_DS_RE/1325 ut_setupevents "SCX","CPU1",{DSAppName},DS_FLT_TBL_ERR_EID, "ERROR", 3 +21-237-13:16:03.012 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:03.012 00 SPR-I:OPRO ; Setup event 3 with DS ERROR 13 +21-237-13:16:03.012 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:03.012 00 SCX_CPU1_DS_RE/1326 ut_setupevents "SCX","CPU1",{DSAppName},DS_FLT_TBL_EID, "INFO", 4 +21-237-13:16:03.015 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:03.015 00 SPR-I:OPRO ; Setup event 4 with DS INFO 12 +21-237-13:16:03.015 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:03.016 00 SCX_CPU1_DS_RE/1327 +21-237-13:16:03.016 00 SCX_CPU1_DS_RE/1328 cmdCtr = SCX_CPU1_TBL_CMDPC + 1 +21-237-13:16:03.016 00 SCX_CPU1_DS_RE/1329 +21-237-13:16:03.016 00 SCX_CPU1_DS_RE/1330 /SCX_CPU1_TBL_VALIDATE INACTIVE VTABLENAME=filterTblName +21-237-13:16:03.028 00 SCX_CPU1_DS_RE/1331 +21-237-13:16:03.028 00 SCX_CPU1_DS_RE/1332 ut_tlmwait SCX_CPU1_TBL_CMDPC, {cmdCtr} +21-237-13:16:03.031 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:16:03.163 00 TLMH-I:STS 58-012-14:08:37.002 DEBUG CPU=CPU1 APPNAME=CFE_TBL EVENT ID=16 Tbl Services issued validation request for 'DS.FILTER_TBL' +21-237-13:16:06.165 00 TLMH-I:STS 58-012-14:08:40.003 ERROR CPU=CPU1 APPNAME=DS EVENT ID=13 Filter table verify err: invalid descriptor text +21-237-13:16:06.166 00 TLMH-I:STS 58-012-14:08:40.004 ERROR CPU=CPU1 APPNAME=DS EVENT ID=13 Filter table verify err: MID = 0x00001000, index = 0, filter = 0, file table index = 16 +21-237-13:16:06.168 00 TLMH-I:STS 58-012-14:08:40.004 INFO CPU=CPU1 APPNAME=DS EVENT ID=12 Filter table verify results: desc text = bad, good entries = 1, bad = 4, unused = 251 +21-237-13:16:06.169 00 TLMH-I:STS 58-012-14:08:40.004 ERROR CPU=CPU1 APPNAME=CFE_TBL EVENT ID=96 DS validation failed for Inactive 'DS.FILTER_TBL', Status=0xFFFFFFFF +21-237-13:16:07.035 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:16:07.037 00 SCX_CPU1_DS_RE/1333 if (UT_TW_Status = UT_Success) then +21-237-13:16:07.037 00 SCX_CPU1_DS_RE/1334 write "<*> Passed - Packet Filter Table validate command sent." +21-237-13:16:07.037 00 SPR-I:OPRO <*> Passed - Packet Filter Table validate command sent. +21-237-13:16:07.038 00 SCX_CPU1_DS_RE/1337 endif +21-237-13:16:07.038 00 SCX_CPU1_DS_RE/1338 +21-237-13:16:07.038 00 SCX_CPU1_DS_RE/1340 ut_tlmwait SCX_CPU1_find_event[2].num_found_messages, 1 +21-237-13:16:07.051 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:16:07.053 00 SCX_CPU1_DS_RE/1341 if (UT_TW_Status = UT_Success) then +21-237-13:16:07.054 00 SCX_CPU1_DS_RE/1342 write "<*> Passed (9005) - Packet Filter Table validation failed as expected." +21-237-13:16:07.054 00 SPR-I:OPRO <*> Passed (9005) - Packet Filter Table validation failed as expected. +21-237-13:16:07.054 00 SCX_CPU1_DS_RE/1343 ut_setrequirements DS_9005, "P" +21-237-13:16:07.057 00 SCX_CPU1_DS_RE/1347 endif +21-237-13:16:07.058 00 SCX_CPU1_DS_RE/1348 +21-237-13:16:07.058 00 SCX_CPU1_DS_RE/1350 if (SCX_CPU1_find_event[1].num_found_messages = 1) then +21-237-13:16:07.058 00 SCX_CPU1_DS_RE/1351 write "<*> Passed - Event Msg ",SCX_CPU1_find_event[1].eventid," Found!" +21-237-13:16:07.059 00 SPR-I:OPRO <*> Passed - Event Msg 16 Found! +21-237-13:16:07.059 00 SCX_CPU1_DS_RE/1354 endif +21-237-13:16:07.059 00 SCX_CPU1_DS_RE/1355 +21-237-13:16:07.059 00 SCX_CPU1_DS_RE/1357 if (SCX_CPU1_find_event[3].num_found_messages > 0) then +21-237-13:16:07.059 00 SCX_CPU1_DS_RE/1358 write "<*> Passed - Validation Event Msg rcv'd" +21-237-13:16:07.059 00 SPR-I:OPRO <*> Passed - Validation Event Msg rcv'd +21-237-13:16:07.059 00 SCX_CPU1_DS_RE/1361 endif +21-237-13:16:07.060 00 SCX_CPU1_DS_RE/1362 +21-237-13:16:07.060 00 SCX_CPU1_DS_RE/1364 if (SCX_CPU1_find_event[4].num_found_messages > 0) then +21-237-13:16:07.060 00 SCX_CPU1_DS_RE/1365 write "<*> Passed - Validation Summary Event Msg rcv'd" +21-237-13:16:07.060 00 SPR-I:OPRO <*> Passed - Validation Summary Event Msg rcv'd +21-237-13:16:07.077 00 SCX_CPU1_DS_RE/1368 endif +21-237-13:16:07.077 00 SCX_CPU1_DS_RE/1369 +21-237-13:16:07.077 00 SCX_CPU1_DS_RE/1370 write ";***********************************************************************" +21-237-13:16:07.077 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:07.077 00 SCX_CPU1_DS_RE/1371 write "; Send the Table Services Load Abort command to release the buffer." +21-237-13:16:07.077 00 SPR-I:OPRO ; Send the Table Services Load Abort command to release the buffer. +21-237-13:16:07.077 00 SCX_CPU1_DS_RE/1372 write ";***********************************************************************" +21-237-13:16:07.077 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:07.077 00 SCX_CPU1_DS_RE/1373 ut_setupevents "SCX","CPU1","CFE_TBL",CFE_TBL_LOAD_ABORT_INF_EID,"INFO", 1 +21-237-13:16:07.080 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:07.080 00 SPR-I:OPRO ; Setup event 1 with CFE_TBL INFO 21 +21-237-13:16:07.080 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:07.080 00 SCX_CPU1_DS_RE/1374 +21-237-13:16:07.080 00 SCX_CPU1_DS_RE/1375 cmdCtr = SCX_CPU1_TBL_CMDPC + 1 +21-237-13:16:07.080 00 SCX_CPU1_DS_RE/1376 +21-237-13:16:07.081 00 SCX_CPU1_DS_RE/1377 /SCX_CPU1_TBL_LOADABORT ABTABLENAME=filterTblName +21-237-13:16:07.083 00 SCX_CPU1_DS_RE/1378 +21-237-13:16:07.083 00 SCX_CPU1_DS_RE/1379 ut_tlmwait SCX_CPU1_TBL_CMDPC, {cmdCtr} +21-237-13:16:07.086 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:16:07.665 00 TLMH-I:STS 58-012-14:08:41.500 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=21 Table Load Aborted for 'DS.FILTER_TBL' +21-237-13:16:11.091 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:16:11.093 00 SCX_CPU1_DS_RE/1380 if (UT_TW_Status = UT_Success) then +21-237-13:16:11.093 00 SCX_CPU1_DS_RE/1381 write "<*> Passed - Load abort command sent successfully." +21-237-13:16:11.093 00 SPR-I:OPRO <*> Passed - Load abort command sent successfully. +21-237-13:16:11.094 00 SCX_CPU1_DS_RE/1384 endif +21-237-13:16:11.094 00 SCX_CPU1_DS_RE/1385 +21-237-13:16:11.094 00 SCX_CPU1_DS_RE/1387 if (SCX_CPU1_find_event[1].num_found_messages = 1) then +21-237-13:16:11.094 00 SCX_CPU1_DS_RE/1388 write "<*> Passed - Event Msg ",SCX_CPU1_find_event[1].eventid," Found!" +21-237-13:16:11.094 00 SPR-I:OPRO <*> Passed - Event Msg 21 Found! +21-237-13:16:11.095 00 SCX_CPU1_DS_RE/1391 endif +21-237-13:16:11.095 00 SCX_CPU1_DS_RE/1392 enddo +21-237-13:16:11.095 00 SCX_CPU1_DS_RE/1296 for i = 1 to 5 do +21-237-13:16:11.095 00 SCX_CPU1_DS_RE/1297 write ";***********************************************************************" +21-237-13:16:11.096 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:11.096 00 SCX_CPU1_DS_RE/1298 write "; Load the invalid table image." +21-237-13:16:11.096 00 SPR-I:OPRO ; Load the invalid table image. +21-237-13:16:11.096 00 SCX_CPU1_DS_RE/1299 write ";***********************************************************************" +21-237-13:16:11.096 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:11.096 00 SCX_CPU1_DS_RE/1301 ut_setupevents "SCX", "CPU1", "CFE_TBL",CFE_TBL_FILE_LOADED_INF_EID,"INFO", 1 +21-237-13:16:11.103 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:11.104 00 SPR-I:OPRO ; Setup event 1 with CFE_TBL INFO 12 +21-237-13:16:11.104 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:11.111 00 SCX_CPU1_DS_RE/1302 +21-237-13:16:11.111 00 SCX_CPU1_DS_RE/1303 cmdCtr = SCX_CPU1_TBL_CMDPC + 1 +21-237-13:16:11.111 00 SCX_CPU1_DS_RE/1304 +21-237-13:16:11.111 00 SCX_CPU1_DS_RE/1305 start load_table ("ds_badfilter" & i & ".tbl", hostCPU) +21-237-13:16:11.112 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/load_table.i +21-237-13:16:11.114 00 SPR-I:STS Procedure LOAD_TABLE started +21-237-13:16:11.114 00 LOAD_TABLE/2 ; +21-237-13:16:11.115 00 LOAD_TABLE/3 local logging = %liv (log_procedure) +21-237-13:16:11.115 00 LOAD_TABLE/4 %liv (log_procedure) = FALSE +21-237-13:16:11.120 00 SPR-I:OPRO Table Filename: ds_badfilter2.tbl +21-237-13:16:11.123 00 SPR-I:OPRO The perl command is: perl /s/opr/accounts/global/tools/table_ftp.pl 192.168.1.8 ds_badfilter2.tbl RAM:0 3 +21-237-13:16:11.124 00 SPR-I:OPRO +21-237-13:16:11.274 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-237-13:16:11.274 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:16:16.278 00 SPR-I:OPRO +21-237-13:16:16.281 00 SPR-I:OPRO Sending Command: /SCX_CPU1_TBL_LOAD LFILENAME="/ram/ds_badfilter2.tbl" +21-237-13:16:16.299 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:16:16.662 00 TLMH-I:STS 58-012-14:08:50.501 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=12 Successful load of '/ram/ds_badfilter2.tbl' into 'DS.FILTER_TBL' working buffer +21-237-13:16:18.302 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:16:18.303 00 LOAD_TABLE/195 +21-237-13:16:18.303 00 LOAD_TABLE/196 ENDPROC +21-237-13:16:18.303 00 SPR-I:STS Procedure LOAD_TABLE completed +21-237-13:16:18.305 00 SCX_CPU1_DS_RE/1306 +21-237-13:16:18.305 00 SCX_CPU1_DS_RE/1307 ut_tlmwait SCX_CPU1_TBL_CMDPC, {cmdCtr} +21-237-13:16:18.311 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:16:18.312 00 SCX_CPU1_DS_RE/1308 if (UT_TW_Status = UT_Success) then +21-237-13:16:18.312 00 SCX_CPU1_DS_RE/1309 write "<*> Passed - Load command for Invalid Packet Filter Table sent successfully." +21-237-13:16:18.312 00 SPR-I:OPRO <*> Passed - Load command for Invalid Packet Filter Table sent successfully. +21-237-13:16:18.312 00 SCX_CPU1_DS_RE/1312 endif +21-237-13:16:18.312 00 SCX_CPU1_DS_RE/1313 +21-237-13:16:18.312 00 SCX_CPU1_DS_RE/1314 if (SCX_CPU1_find_event[1].num_found_messages = 1) then +21-237-13:16:18.312 00 SCX_CPU1_DS_RE/1315 write "<*> Passed - Event Msg ",SCX_CPU1_find_event[1].eventid," Found!" +21-237-13:16:18.312 00 SPR-I:OPRO <*> Passed - Event Msg 12 Found! +21-237-13:16:18.312 00 SCX_CPU1_DS_RE/1318 endif +21-237-13:16:18.312 00 SCX_CPU1_DS_RE/1319 +21-237-13:16:18.312 00 SCX_CPU1_DS_RE/1320 write ";***********************************************************************" +21-237-13:16:18.312 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:18.312 00 SCX_CPU1_DS_RE/1321 write "; Send the Table Services command to validate the inactive buffer." +21-237-13:16:18.312 00 SPR-I:OPRO ; Send the Table Services command to validate the inactive buffer. +21-237-13:16:18.312 00 SCX_CPU1_DS_RE/1322 write ";***********************************************************************" +21-237-13:16:18.312 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:18.312 00 SCX_CPU1_DS_RE/1323 ut_setupevents "SCX","CPU1","CFE_TBL",CFE_TBL_VAL_REQ_MADE_INF_EID, "DEBUG", 1 +21-237-13:16:18.314 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:18.314 00 SPR-I:OPRO ; Setup event 1 with CFE_TBL DEBUG 16 +21-237-13:16:18.314 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:18.317 00 SCX_CPU1_DS_RE/1324 ut_setupevents "SCX","CPU1","CFE_TBL",CFE_TBL_VALIDATION_ERR_EID, "ERROR", 2 +21-237-13:16:18.319 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:18.319 00 SPR-I:OPRO ; Setup event 2 with CFE_TBL ERROR 96 +21-237-13:16:18.319 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:18.319 00 SCX_CPU1_DS_RE/1325 ut_setupevents "SCX","CPU1",{DSAppName},DS_FLT_TBL_ERR_EID, "ERROR", 3 +21-237-13:16:18.322 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:18.322 00 SPR-I:OPRO ; Setup event 3 with DS ERROR 13 +21-237-13:16:18.322 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:18.322 00 SCX_CPU1_DS_RE/1326 ut_setupevents "SCX","CPU1",{DSAppName},DS_FLT_TBL_EID, "INFO", 4 +21-237-13:16:18.327 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:18.327 00 SPR-I:OPRO ; Setup event 4 with DS INFO 12 +21-237-13:16:18.327 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:18.328 00 SCX_CPU1_DS_RE/1327 +21-237-13:16:18.328 00 SCX_CPU1_DS_RE/1328 cmdCtr = SCX_CPU1_TBL_CMDPC + 1 +21-237-13:16:18.328 00 SCX_CPU1_DS_RE/1329 +21-237-13:16:18.328 00 SCX_CPU1_DS_RE/1330 /SCX_CPU1_TBL_VALIDATE INACTIVE VTABLENAME=filterTblName +21-237-13:16:18.340 00 SCX_CPU1_DS_RE/1331 +21-237-13:16:18.340 00 SCX_CPU1_DS_RE/1332 ut_tlmwait SCX_CPU1_TBL_CMDPC, {cmdCtr} +21-237-13:16:18.345 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:16:18.662 00 TLMH-I:STS 58-012-14:08:52.502 DEBUG CPU=CPU1 APPNAME=CFE_TBL EVENT ID=16 Tbl Services issued validation request for 'DS.FILTER_TBL' +21-237-13:16:22.168 00 TLMH-I:STS 58-012-14:08:56.003 ERROR CPU=CPU1 APPNAME=DS EVENT ID=13 Filter table verify err: MID = 0x00001000, index = 0, filter = 0, file table index = 16 +21-237-13:16:22.169 00 TLMH-I:STS 58-012-14:08:56.004 INFO CPU=CPU1 APPNAME=DS EVENT ID=12 Filter table verify results: desc text = OK, good entries = 1, bad = 4, unused = 251 +21-237-13:16:22.170 00 TLMH-I:STS 58-012-14:08:56.004 ERROR CPU=CPU1 APPNAME=CFE_TBL EVENT ID=96 DS validation failed for Inactive 'DS.FILTER_TBL', Status=0xFFFFFFFF +21-237-13:16:22.350 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:16:22.352 00 SCX_CPU1_DS_RE/1333 if (UT_TW_Status = UT_Success) then +21-237-13:16:22.352 00 SCX_CPU1_DS_RE/1334 write "<*> Passed - Packet Filter Table validate command sent." +21-237-13:16:22.352 00 SPR-I:OPRO <*> Passed - Packet Filter Table validate command sent. +21-237-13:16:22.352 00 SCX_CPU1_DS_RE/1337 endif +21-237-13:16:22.352 00 SCX_CPU1_DS_RE/1338 +21-237-13:16:22.352 00 SCX_CPU1_DS_RE/1340 ut_tlmwait SCX_CPU1_find_event[2].num_found_messages, 1 +21-237-13:16:22.365 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:16:22.367 00 SCX_CPU1_DS_RE/1341 if (UT_TW_Status = UT_Success) then +21-237-13:16:22.367 00 SCX_CPU1_DS_RE/1342 write "<*> Passed (9005) - Packet Filter Table validation failed as expected." +21-237-13:16:22.367 00 SPR-I:OPRO <*> Passed (9005) - Packet Filter Table validation failed as expected. +21-237-13:16:22.367 00 SCX_CPU1_DS_RE/1343 ut_setrequirements DS_9005, "P" +21-237-13:16:22.370 00 SCX_CPU1_DS_RE/1347 endif +21-237-13:16:22.370 00 SCX_CPU1_DS_RE/1348 +21-237-13:16:22.370 00 SCX_CPU1_DS_RE/1350 if (SCX_CPU1_find_event[1].num_found_messages = 1) then +21-237-13:16:22.371 00 SCX_CPU1_DS_RE/1351 write "<*> Passed - Event Msg ",SCX_CPU1_find_event[1].eventid," Found!" +21-237-13:16:22.372 00 SPR-I:OPRO <*> Passed - Event Msg 16 Found! +21-237-13:16:22.372 00 SCX_CPU1_DS_RE/1354 endif +21-237-13:16:22.372 00 SCX_CPU1_DS_RE/1355 +21-237-13:16:22.372 00 SCX_CPU1_DS_RE/1357 if (SCX_CPU1_find_event[3].num_found_messages > 0) then +21-237-13:16:22.372 00 SCX_CPU1_DS_RE/1358 write "<*> Passed - Validation Event Msg rcv'd" +21-237-13:16:22.372 00 SPR-I:OPRO <*> Passed - Validation Event Msg rcv'd +21-237-13:16:22.372 00 SCX_CPU1_DS_RE/1361 endif +21-237-13:16:22.372 00 SCX_CPU1_DS_RE/1362 +21-237-13:16:22.372 00 SCX_CPU1_DS_RE/1364 if (SCX_CPU1_find_event[4].num_found_messages > 0) then +21-237-13:16:22.373 00 SCX_CPU1_DS_RE/1365 write "<*> Passed - Validation Summary Event Msg rcv'd" +21-237-13:16:22.373 00 SPR-I:OPRO <*> Passed - Validation Summary Event Msg rcv'd +21-237-13:16:22.391 00 SCX_CPU1_DS_RE/1368 endif +21-237-13:16:22.391 00 SCX_CPU1_DS_RE/1369 +21-237-13:16:22.391 00 SCX_CPU1_DS_RE/1370 write ";***********************************************************************" +21-237-13:16:22.391 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:22.391 00 SCX_CPU1_DS_RE/1371 write "; Send the Table Services Load Abort command to release the buffer." +21-237-13:16:22.391 00 SPR-I:OPRO ; Send the Table Services Load Abort command to release the buffer. +21-237-13:16:22.391 00 SCX_CPU1_DS_RE/1372 write ";***********************************************************************" +21-237-13:16:22.391 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:22.391 00 SCX_CPU1_DS_RE/1373 ut_setupevents "SCX","CPU1","CFE_TBL",CFE_TBL_LOAD_ABORT_INF_EID,"INFO", 1 +21-237-13:16:22.394 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:22.394 00 SPR-I:OPRO ; Setup event 1 with CFE_TBL INFO 21 +21-237-13:16:22.394 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:22.394 00 SCX_CPU1_DS_RE/1374 +21-237-13:16:22.394 00 SCX_CPU1_DS_RE/1375 cmdCtr = SCX_CPU1_TBL_CMDPC + 1 +21-237-13:16:22.395 00 SCX_CPU1_DS_RE/1376 +21-237-13:16:22.395 00 SCX_CPU1_DS_RE/1377 /SCX_CPU1_TBL_LOADABORT ABTABLENAME=filterTblName +21-237-13:16:22.407 00 SCX_CPU1_DS_RE/1378 +21-237-13:16:22.407 00 SCX_CPU1_DS_RE/1379 ut_tlmwait SCX_CPU1_TBL_CMDPC, {cmdCtr} +21-237-13:16:22.410 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:16:22.666 00 TLMH-I:STS 58-012-14:08:56.500 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=21 Table Load Aborted for 'DS.FILTER_TBL' +21-237-13:16:26.415 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:16:26.417 00 SCX_CPU1_DS_RE/1380 if (UT_TW_Status = UT_Success) then +21-237-13:16:26.418 00 SCX_CPU1_DS_RE/1381 write "<*> Passed - Load abort command sent successfully." +21-237-13:16:26.418 00 SPR-I:OPRO <*> Passed - Load abort command sent successfully. +21-237-13:16:26.418 00 SCX_CPU1_DS_RE/1384 endif +21-237-13:16:26.418 00 SCX_CPU1_DS_RE/1385 +21-237-13:16:26.418 00 SCX_CPU1_DS_RE/1387 if (SCX_CPU1_find_event[1].num_found_messages = 1) then +21-237-13:16:26.419 00 SCX_CPU1_DS_RE/1388 write "<*> Passed - Event Msg ",SCX_CPU1_find_event[1].eventid," Found!" +21-237-13:16:26.419 00 SPR-I:OPRO <*> Passed - Event Msg 21 Found! +21-237-13:16:26.419 00 SCX_CPU1_DS_RE/1391 endif +21-237-13:16:26.419 00 SCX_CPU1_DS_RE/1392 enddo +21-237-13:16:26.420 00 SCX_CPU1_DS_RE/1296 for i = 1 to 5 do +21-237-13:16:26.420 00 SCX_CPU1_DS_RE/1297 write ";***********************************************************************" +21-237-13:16:26.420 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:26.420 00 SCX_CPU1_DS_RE/1298 write "; Load the invalid table image." +21-237-13:16:26.420 00 SPR-I:OPRO ; Load the invalid table image. +21-237-13:16:26.420 00 SCX_CPU1_DS_RE/1299 write ";***********************************************************************" +21-237-13:16:26.420 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:26.420 00 SCX_CPU1_DS_RE/1301 ut_setupevents "SCX", "CPU1", "CFE_TBL",CFE_TBL_FILE_LOADED_INF_EID,"INFO", 1 +21-237-13:16:26.423 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:26.423 00 SPR-I:OPRO ; Setup event 1 with CFE_TBL INFO 12 +21-237-13:16:26.423 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:26.425 00 SCX_CPU1_DS_RE/1302 +21-237-13:16:26.426 00 SCX_CPU1_DS_RE/1303 cmdCtr = SCX_CPU1_TBL_CMDPC + 1 +21-237-13:16:26.426 00 SCX_CPU1_DS_RE/1304 +21-237-13:16:26.426 00 SCX_CPU1_DS_RE/1305 start load_table ("ds_badfilter" & i & ".tbl", hostCPU) +21-237-13:16:26.426 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/load_table.i +21-237-13:16:26.426 00 SPR-I:STS Procedure LOAD_TABLE started +21-237-13:16:26.427 00 LOAD_TABLE/2 ; +21-237-13:16:26.427 00 LOAD_TABLE/3 local logging = %liv (log_procedure) +21-237-13:16:26.427 00 LOAD_TABLE/4 %liv (log_procedure) = FALSE +21-237-13:16:26.428 00 SPR-I:OPRO Table Filename: ds_badfilter3.tbl +21-237-13:16:26.429 00 SPR-I:OPRO The perl command is: perl /s/opr/accounts/global/tools/table_ftp.pl 192.168.1.8 ds_badfilter3.tbl RAM:0 3 +21-237-13:16:26.429 00 SPR-I:OPRO +21-237-13:16:26.564 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-237-13:16:26.564 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:16:31.568 00 SPR-I:OPRO +21-237-13:16:31.571 00 SPR-I:OPRO Sending Command: /SCX_CPU1_TBL_LOAD LFILENAME="/ram/ds_badfilter3.tbl" +21-237-13:16:31.590 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:16:32.164 00 TLMH-I:STS 58-012-14:09:06.001 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=12 Successful load of '/ram/ds_badfilter3.tbl' into 'DS.FILTER_TBL' working buffer +21-237-13:16:34.594 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:16:34.595 00 LOAD_TABLE/195 +21-237-13:16:34.595 00 LOAD_TABLE/196 ENDPROC +21-237-13:16:34.595 00 SPR-I:STS Procedure LOAD_TABLE completed +21-237-13:16:34.597 00 SCX_CPU1_DS_RE/1306 +21-237-13:16:34.597 00 SCX_CPU1_DS_RE/1307 ut_tlmwait SCX_CPU1_TBL_CMDPC, {cmdCtr} +21-237-13:16:34.603 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:16:34.604 00 SCX_CPU1_DS_RE/1308 if (UT_TW_Status = UT_Success) then +21-237-13:16:34.604 00 SCX_CPU1_DS_RE/1309 write "<*> Passed - Load command for Invalid Packet Filter Table sent successfully." +21-237-13:16:34.604 00 SPR-I:OPRO <*> Passed - Load command for Invalid Packet Filter Table sent successfully. +21-237-13:16:34.604 00 SCX_CPU1_DS_RE/1312 endif +21-237-13:16:34.604 00 SCX_CPU1_DS_RE/1313 +21-237-13:16:34.604 00 SCX_CPU1_DS_RE/1314 if (SCX_CPU1_find_event[1].num_found_messages = 1) then +21-237-13:16:34.604 00 SCX_CPU1_DS_RE/1315 write "<*> Passed - Event Msg ",SCX_CPU1_find_event[1].eventid," Found!" +21-237-13:16:34.604 00 SPR-I:OPRO <*> Passed - Event Msg 12 Found! +21-237-13:16:34.605 00 SCX_CPU1_DS_RE/1318 endif +21-237-13:16:34.605 00 SCX_CPU1_DS_RE/1319 +21-237-13:16:34.605 00 SCX_CPU1_DS_RE/1320 write ";***********************************************************************" +21-237-13:16:34.605 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:34.605 00 SCX_CPU1_DS_RE/1321 write "; Send the Table Services command to validate the inactive buffer." +21-237-13:16:34.605 00 SPR-I:OPRO ; Send the Table Services command to validate the inactive buffer. +21-237-13:16:34.605 00 SCX_CPU1_DS_RE/1322 write ";***********************************************************************" +21-237-13:16:34.605 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:34.605 00 SCX_CPU1_DS_RE/1323 ut_setupevents "SCX","CPU1","CFE_TBL",CFE_TBL_VAL_REQ_MADE_INF_EID, "DEBUG", 1 +21-237-13:16:34.607 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:34.607 00 SPR-I:OPRO ; Setup event 1 with CFE_TBL DEBUG 16 +21-237-13:16:34.607 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:34.610 00 SCX_CPU1_DS_RE/1324 ut_setupevents "SCX","CPU1","CFE_TBL",CFE_TBL_VALIDATION_ERR_EID, "ERROR", 2 +21-237-13:16:34.612 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:34.612 00 SPR-I:OPRO ; Setup event 2 with CFE_TBL ERROR 96 +21-237-13:16:34.613 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:34.613 00 SCX_CPU1_DS_RE/1325 ut_setupevents "SCX","CPU1",{DSAppName},DS_FLT_TBL_ERR_EID, "ERROR", 3 +21-237-13:16:34.615 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:34.615 00 SPR-I:OPRO ; Setup event 3 with DS ERROR 13 +21-237-13:16:34.615 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:34.616 00 SCX_CPU1_DS_RE/1326 ut_setupevents "SCX","CPU1",{DSAppName},DS_FLT_TBL_EID, "INFO", 4 +21-237-13:16:34.618 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:34.618 00 SPR-I:OPRO ; Setup event 4 with DS INFO 12 +21-237-13:16:34.618 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:34.619 00 SCX_CPU1_DS_RE/1327 +21-237-13:16:34.619 00 SCX_CPU1_DS_RE/1328 cmdCtr = SCX_CPU1_TBL_CMDPC + 1 +21-237-13:16:34.619 00 SCX_CPU1_DS_RE/1329 +21-237-13:16:34.619 00 SCX_CPU1_DS_RE/1330 /SCX_CPU1_TBL_VALIDATE INACTIVE VTABLENAME=filterTblName +21-237-13:16:34.621 00 SCX_CPU1_DS_RE/1331 +21-237-13:16:34.621 00 SCX_CPU1_DS_RE/1332 ut_tlmwait SCX_CPU1_TBL_CMDPC, {cmdCtr} +21-237-13:16:34.624 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:16:35.165 00 TLMH-I:STS 58-012-14:09:09.002 DEBUG CPU=CPU1 APPNAME=CFE_TBL EVENT ID=16 Tbl Services issued validation request for 'DS.FILTER_TBL' +21-237-13:16:38.162 00 TLMH-I:STS 58-012-14:09:12.003 ERROR CPU=CPU1 APPNAME=DS EVENT ID=13 Filter table verify err: MID = 0x00001001, index = 1, filter = 0, filter type = 3 +21-237-13:16:38.163 00 TLMH-I:STS 58-012-14:09:12.004 INFO CPU=CPU1 APPNAME=DS EVENT ID=12 Filter table verify results: desc text = OK, good entries = 2, bad = 3, unused = 251 +21-237-13:16:38.164 00 TLMH-I:STS 58-012-14:09:12.004 ERROR CPU=CPU1 APPNAME=CFE_TBL EVENT ID=96 DS validation failed for Inactive 'DS.FILTER_TBL', Status=0xFFFFFFFF +21-237-13:16:38.629 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:16:38.631 00 SCX_CPU1_DS_RE/1333 if (UT_TW_Status = UT_Success) then +21-237-13:16:38.631 00 SCX_CPU1_DS_RE/1334 write "<*> Passed - Packet Filter Table validate command sent." +21-237-13:16:38.632 00 SPR-I:OPRO <*> Passed - Packet Filter Table validate command sent. +21-237-13:16:38.632 00 SCX_CPU1_DS_RE/1337 endif +21-237-13:16:38.632 00 SCX_CPU1_DS_RE/1338 +21-237-13:16:38.632 00 SCX_CPU1_DS_RE/1340 ut_tlmwait SCX_CPU1_find_event[2].num_found_messages, 1 +21-237-13:16:38.637 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:16:38.638 00 SCX_CPU1_DS_RE/1341 if (UT_TW_Status = UT_Success) then +21-237-13:16:38.638 00 SCX_CPU1_DS_RE/1342 write "<*> Passed (9005) - Packet Filter Table validation failed as expected." +21-237-13:16:38.638 00 SPR-I:OPRO <*> Passed (9005) - Packet Filter Table validation failed as expected. +21-237-13:16:38.638 00 SCX_CPU1_DS_RE/1343 ut_setrequirements DS_9005, "P" +21-237-13:16:38.638 00 SCX_CPU1_DS_RE/1347 endif +21-237-13:16:38.638 00 SCX_CPU1_DS_RE/1348 +21-237-13:16:38.638 00 SCX_CPU1_DS_RE/1350 if (SCX_CPU1_find_event[1].num_found_messages = 1) then +21-237-13:16:38.638 00 SCX_CPU1_DS_RE/1351 write "<*> Passed - Event Msg ",SCX_CPU1_find_event[1].eventid," Found!" +21-237-13:16:38.638 00 SPR-I:OPRO <*> Passed - Event Msg 16 Found! +21-237-13:16:38.639 00 SCX_CPU1_DS_RE/1354 endif +21-237-13:16:38.639 00 SCX_CPU1_DS_RE/1355 +21-237-13:16:38.639 00 SCX_CPU1_DS_RE/1357 if (SCX_CPU1_find_event[3].num_found_messages > 0) then +21-237-13:16:38.639 00 SCX_CPU1_DS_RE/1358 write "<*> Passed - Validation Event Msg rcv'd" +21-237-13:16:38.639 00 SPR-I:OPRO <*> Passed - Validation Event Msg rcv'd +21-237-13:16:38.639 00 SCX_CPU1_DS_RE/1361 endif +21-237-13:16:38.639 00 SCX_CPU1_DS_RE/1362 +21-237-13:16:38.639 00 SCX_CPU1_DS_RE/1364 if (SCX_CPU1_find_event[4].num_found_messages > 0) then +21-237-13:16:38.639 00 SCX_CPU1_DS_RE/1365 write "<*> Passed - Validation Summary Event Msg rcv'd" +21-237-13:16:38.639 00 SPR-I:OPRO <*> Passed - Validation Summary Event Msg rcv'd +21-237-13:16:38.646 00 SCX_CPU1_DS_RE/1368 endif +21-237-13:16:38.646 00 SCX_CPU1_DS_RE/1369 +21-237-13:16:38.646 00 SCX_CPU1_DS_RE/1370 write ";***********************************************************************" +21-237-13:16:38.646 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:38.646 00 SCX_CPU1_DS_RE/1371 write "; Send the Table Services Load Abort command to release the buffer." +21-237-13:16:38.646 00 SPR-I:OPRO ; Send the Table Services Load Abort command to release the buffer. +21-237-13:16:38.646 00 SCX_CPU1_DS_RE/1372 write ";***********************************************************************" +21-237-13:16:38.646 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:38.646 00 SCX_CPU1_DS_RE/1373 ut_setupevents "SCX","CPU1","CFE_TBL",CFE_TBL_LOAD_ABORT_INF_EID,"INFO", 1 +21-237-13:16:38.648 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:38.648 00 SPR-I:OPRO ; Setup event 1 with CFE_TBL INFO 21 +21-237-13:16:38.648 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:38.648 00 SCX_CPU1_DS_RE/1374 +21-237-13:16:38.648 00 SCX_CPU1_DS_RE/1375 cmdCtr = SCX_CPU1_TBL_CMDPC + 1 +21-237-13:16:38.648 00 SCX_CPU1_DS_RE/1376 +21-237-13:16:38.648 00 SCX_CPU1_DS_RE/1377 /SCX_CPU1_TBL_LOADABORT ABTABLENAME=filterTblName +21-237-13:16:38.660 00 SCX_CPU1_DS_RE/1378 +21-237-13:16:38.660 00 SCX_CPU1_DS_RE/1379 ut_tlmwait SCX_CPU1_TBL_CMDPC, {cmdCtr} +21-237-13:16:38.663 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:16:39.163 00 TLMH-I:STS 58-012-14:09:13.001 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=21 Table Load Aborted for 'DS.FILTER_TBL' +21-237-13:16:42.667 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:16:42.667 00 SCX_CPU1_DS_RE/1380 if (UT_TW_Status = UT_Success) then +21-237-13:16:42.667 00 SCX_CPU1_DS_RE/1381 write "<*> Passed - Load abort command sent successfully." +21-237-13:16:42.667 00 SPR-I:OPRO <*> Passed - Load abort command sent successfully. +21-237-13:16:42.667 00 SCX_CPU1_DS_RE/1384 endif +21-237-13:16:42.668 00 SCX_CPU1_DS_RE/1385 +21-237-13:16:42.668 00 SCX_CPU1_DS_RE/1387 if (SCX_CPU1_find_event[1].num_found_messages = 1) then +21-237-13:16:42.668 00 SCX_CPU1_DS_RE/1388 write "<*> Passed - Event Msg ",SCX_CPU1_find_event[1].eventid," Found!" +21-237-13:16:42.668 00 SPR-I:OPRO <*> Passed - Event Msg 21 Found! +21-237-13:16:42.668 00 SCX_CPU1_DS_RE/1391 endif +21-237-13:16:42.668 00 SCX_CPU1_DS_RE/1392 enddo +21-237-13:16:42.668 00 SCX_CPU1_DS_RE/1296 for i = 1 to 5 do +21-237-13:16:42.668 00 SCX_CPU1_DS_RE/1297 write ";***********************************************************************" +21-237-13:16:42.668 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:42.668 00 SCX_CPU1_DS_RE/1298 write "; Load the invalid table image." +21-237-13:16:42.668 00 SPR-I:OPRO ; Load the invalid table image. +21-237-13:16:42.668 00 SCX_CPU1_DS_RE/1299 write ";***********************************************************************" +21-237-13:16:42.668 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:42.668 00 SCX_CPU1_DS_RE/1301 ut_setupevents "SCX", "CPU1", "CFE_TBL",CFE_TBL_FILE_LOADED_INF_EID,"INFO", 1 +21-237-13:16:42.670 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:42.670 00 SPR-I:OPRO ; Setup event 1 with CFE_TBL INFO 12 +21-237-13:16:42.670 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:42.672 00 SCX_CPU1_DS_RE/1302 +21-237-13:16:42.672 00 SCX_CPU1_DS_RE/1303 cmdCtr = SCX_CPU1_TBL_CMDPC + 1 +21-237-13:16:42.672 00 SCX_CPU1_DS_RE/1304 +21-237-13:16:42.672 00 SCX_CPU1_DS_RE/1305 start load_table ("ds_badfilter" & i & ".tbl", hostCPU) +21-237-13:16:42.673 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/load_table.i +21-237-13:16:42.673 00 SPR-I:STS Procedure LOAD_TABLE started +21-237-13:16:42.673 00 LOAD_TABLE/2 ; +21-237-13:16:42.673 00 LOAD_TABLE/3 local logging = %liv (log_procedure) +21-237-13:16:42.673 00 LOAD_TABLE/4 %liv (log_procedure) = FALSE +21-237-13:16:42.674 00 SPR-I:OPRO Table Filename: ds_badfilter4.tbl +21-237-13:16:42.675 00 SPR-I:OPRO The perl command is: perl /s/opr/accounts/global/tools/table_ftp.pl 192.168.1.8 ds_badfilter4.tbl RAM:0 3 +21-237-13:16:42.675 00 SPR-I:OPRO +21-237-13:16:42.799 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-237-13:16:42.799 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:16:47.803 00 SPR-I:OPRO +21-237-13:16:47.806 00 SPR-I:OPRO Sending Command: /SCX_CPU1_TBL_LOAD LFILENAME="/ram/ds_badfilter4.tbl" +21-237-13:16:47.823 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:16:48.159 00 TLMH-I:STS 58-012-14:09:22.002 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=12 Successful load of '/ram/ds_badfilter4.tbl' into 'DS.FILTER_TBL' working buffer +21-237-13:16:50.826 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:16:50.828 00 LOAD_TABLE/195 +21-237-13:16:50.828 00 LOAD_TABLE/196 ENDPROC +21-237-13:16:50.828 00 SPR-I:STS Procedure LOAD_TABLE completed +21-237-13:16:50.830 00 SCX_CPU1_DS_RE/1306 +21-237-13:16:50.830 00 SCX_CPU1_DS_RE/1307 ut_tlmwait SCX_CPU1_TBL_CMDPC, {cmdCtr} +21-237-13:16:50.844 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:16:50.846 00 SCX_CPU1_DS_RE/1308 if (UT_TW_Status = UT_Success) then +21-237-13:16:50.846 00 SCX_CPU1_DS_RE/1309 write "<*> Passed - Load command for Invalid Packet Filter Table sent successfully." +21-237-13:16:50.846 00 SPR-I:OPRO <*> Passed - Load command for Invalid Packet Filter Table sent successfully. +21-237-13:16:50.846 00 SCX_CPU1_DS_RE/1312 endif +21-237-13:16:50.846 00 SCX_CPU1_DS_RE/1313 +21-237-13:16:50.846 00 SCX_CPU1_DS_RE/1314 if (SCX_CPU1_find_event[1].num_found_messages = 1) then +21-237-13:16:50.846 00 SCX_CPU1_DS_RE/1315 write "<*> Passed - Event Msg ",SCX_CPU1_find_event[1].eventid," Found!" +21-237-13:16:50.847 00 SPR-I:OPRO <*> Passed - Event Msg 12 Found! +21-237-13:16:50.847 00 SCX_CPU1_DS_RE/1318 endif +21-237-13:16:50.847 00 SCX_CPU1_DS_RE/1319 +21-237-13:16:50.847 00 SCX_CPU1_DS_RE/1320 write ";***********************************************************************" +21-237-13:16:50.847 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:50.847 00 SCX_CPU1_DS_RE/1321 write "; Send the Table Services command to validate the inactive buffer." +21-237-13:16:50.848 00 SPR-I:OPRO ; Send the Table Services command to validate the inactive buffer. +21-237-13:16:50.848 00 SCX_CPU1_DS_RE/1322 write ";***********************************************************************" +21-237-13:16:50.848 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:50.848 00 SCX_CPU1_DS_RE/1323 ut_setupevents "SCX","CPU1","CFE_TBL",CFE_TBL_VAL_REQ_MADE_INF_EID, "DEBUG", 1 +21-237-13:16:50.855 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:50.855 00 SPR-I:OPRO ; Setup event 1 with CFE_TBL DEBUG 16 +21-237-13:16:50.855 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:50.860 00 SCX_CPU1_DS_RE/1324 ut_setupevents "SCX","CPU1","CFE_TBL",CFE_TBL_VALIDATION_ERR_EID, "ERROR", 2 +21-237-13:16:50.863 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:50.864 00 SPR-I:OPRO ; Setup event 2 with CFE_TBL ERROR 96 +21-237-13:16:50.864 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:50.864 00 SCX_CPU1_DS_RE/1325 ut_setupevents "SCX","CPU1",{DSAppName},DS_FLT_TBL_ERR_EID, "ERROR", 3 +21-237-13:16:50.867 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:50.867 00 SPR-I:OPRO ; Setup event 3 with DS ERROR 13 +21-237-13:16:50.867 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:50.868 00 SCX_CPU1_DS_RE/1326 ut_setupevents "SCX","CPU1",{DSAppName},DS_FLT_TBL_EID, "INFO", 4 +21-237-13:16:50.871 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:50.871 00 SPR-I:OPRO ; Setup event 4 with DS INFO 12 +21-237-13:16:50.871 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:50.871 00 SCX_CPU1_DS_RE/1327 +21-237-13:16:50.871 00 SCX_CPU1_DS_RE/1328 cmdCtr = SCX_CPU1_TBL_CMDPC + 1 +21-237-13:16:50.871 00 SCX_CPU1_DS_RE/1329 +21-237-13:16:50.871 00 SCX_CPU1_DS_RE/1330 /SCX_CPU1_TBL_VALIDATE INACTIVE VTABLENAME=filterTblName +21-237-13:16:50.883 00 SCX_CPU1_DS_RE/1331 +21-237-13:16:50.883 00 SCX_CPU1_DS_RE/1332 ut_tlmwait SCX_CPU1_TBL_CMDPC, {cmdCtr} +21-237-13:16:50.887 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:16:51.166 00 TLMH-I:STS 58-012-14:09:25.002 DEBUG CPU=CPU1 APPNAME=CFE_TBL EVENT ID=16 Tbl Services issued validation request for 'DS.FILTER_TBL' +21-237-13:16:54.167 00 TLMH-I:STS 58-012-14:09:28.004 ERROR CPU=CPU1 APPNAME=DS EVENT ID=13 Filter table verify err: MID = 0x00001002, index = 2, filter = 0, filter parms N = 2, X = 1, O = 0 +21-237-13:16:54.168 00 TLMH-I:STS 58-012-14:09:28.004 INFO CPU=CPU1 APPNAME=DS EVENT ID=12 Filter table verify results: desc text = OK, good entries = 3, bad = 2, unused = 251 +21-237-13:16:54.170 00 TLMH-I:STS 58-012-14:09:28.004 ERROR CPU=CPU1 APPNAME=CFE_TBL EVENT ID=96 DS validation failed for Inactive 'DS.FILTER_TBL', Status=0xFFFFFFFF +21-237-13:16:54.893 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:16:54.895 00 SCX_CPU1_DS_RE/1333 if (UT_TW_Status = UT_Success) then +21-237-13:16:54.895 00 SCX_CPU1_DS_RE/1334 write "<*> Passed - Packet Filter Table validate command sent." +21-237-13:16:54.896 00 SPR-I:OPRO <*> Passed - Packet Filter Table validate command sent. +21-237-13:16:54.896 00 SCX_CPU1_DS_RE/1337 endif +21-237-13:16:54.896 00 SCX_CPU1_DS_RE/1338 +21-237-13:16:54.896 00 SCX_CPU1_DS_RE/1340 ut_tlmwait SCX_CPU1_find_event[2].num_found_messages, 1 +21-237-13:16:54.902 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:16:54.903 00 SCX_CPU1_DS_RE/1341 if (UT_TW_Status = UT_Success) then +21-237-13:16:54.903 00 SCX_CPU1_DS_RE/1342 write "<*> Passed (9005) - Packet Filter Table validation failed as expected." +21-237-13:16:54.903 00 SPR-I:OPRO <*> Passed (9005) - Packet Filter Table validation failed as expected. +21-237-13:16:54.903 00 SCX_CPU1_DS_RE/1343 ut_setrequirements DS_9005, "P" +21-237-13:16:54.904 00 SCX_CPU1_DS_RE/1347 endif +21-237-13:16:54.904 00 SCX_CPU1_DS_RE/1348 +21-237-13:16:54.904 00 SCX_CPU1_DS_RE/1350 if (SCX_CPU1_find_event[1].num_found_messages = 1) then +21-237-13:16:54.905 00 SCX_CPU1_DS_RE/1351 write "<*> Passed - Event Msg ",SCX_CPU1_find_event[1].eventid," Found!" +21-237-13:16:54.905 00 SPR-I:OPRO <*> Passed - Event Msg 16 Found! +21-237-13:16:54.905 00 SCX_CPU1_DS_RE/1354 endif +21-237-13:16:54.905 00 SCX_CPU1_DS_RE/1355 +21-237-13:16:54.905 00 SCX_CPU1_DS_RE/1357 if (SCX_CPU1_find_event[3].num_found_messages > 0) then +21-237-13:16:54.905 00 SCX_CPU1_DS_RE/1358 write "<*> Passed - Validation Event Msg rcv'd" +21-237-13:16:54.905 00 SPR-I:OPRO <*> Passed - Validation Event Msg rcv'd +21-237-13:16:54.905 00 SCX_CPU1_DS_RE/1361 endif +21-237-13:16:54.905 00 SCX_CPU1_DS_RE/1362 +21-237-13:16:54.905 00 SCX_CPU1_DS_RE/1364 if (SCX_CPU1_find_event[4].num_found_messages > 0) then +21-237-13:16:54.905 00 SCX_CPU1_DS_RE/1365 write "<*> Passed - Validation Summary Event Msg rcv'd" +21-237-13:16:54.905 00 SPR-I:OPRO <*> Passed - Validation Summary Event Msg rcv'd +21-237-13:16:54.917 00 SCX_CPU1_DS_RE/1368 endif +21-237-13:16:54.917 00 SCX_CPU1_DS_RE/1369 +21-237-13:16:54.917 00 SCX_CPU1_DS_RE/1370 write ";***********************************************************************" +21-237-13:16:54.917 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:54.917 00 SCX_CPU1_DS_RE/1371 write "; Send the Table Services Load Abort command to release the buffer." +21-237-13:16:54.917 00 SPR-I:OPRO ; Send the Table Services Load Abort command to release the buffer. +21-237-13:16:54.917 00 SCX_CPU1_DS_RE/1372 write ";***********************************************************************" +21-237-13:16:54.917 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:54.917 00 SCX_CPU1_DS_RE/1373 ut_setupevents "SCX","CPU1","CFE_TBL",CFE_TBL_LOAD_ABORT_INF_EID,"INFO", 1 +21-237-13:16:54.919 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:54.919 00 SPR-I:OPRO ; Setup event 1 with CFE_TBL INFO 21 +21-237-13:16:54.919 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:54.920 00 SCX_CPU1_DS_RE/1374 +21-237-13:16:54.920 00 SCX_CPU1_DS_RE/1375 cmdCtr = SCX_CPU1_TBL_CMDPC + 1 +21-237-13:16:54.920 00 SCX_CPU1_DS_RE/1376 +21-237-13:16:54.920 00 SCX_CPU1_DS_RE/1377 /SCX_CPU1_TBL_LOADABORT ABTABLENAME=filterTblName +21-237-13:16:54.932 00 SCX_CPU1_DS_RE/1378 +21-237-13:16:54.932 00 SCX_CPU1_DS_RE/1379 ut_tlmwait SCX_CPU1_TBL_CMDPC, {cmdCtr} +21-237-13:16:54.935 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:16:55.163 00 TLMH-I:STS 58-012-14:09:29.001 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=21 Table Load Aborted for 'DS.FILTER_TBL' +21-237-13:16:58.940 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:16:58.942 00 SCX_CPU1_DS_RE/1380 if (UT_TW_Status = UT_Success) then +21-237-13:16:58.942 00 SCX_CPU1_DS_RE/1381 write "<*> Passed - Load abort command sent successfully." +21-237-13:16:58.942 00 SPR-I:OPRO <*> Passed - Load abort command sent successfully. +21-237-13:16:58.942 00 SCX_CPU1_DS_RE/1384 endif +21-237-13:16:58.942 00 SCX_CPU1_DS_RE/1385 +21-237-13:16:58.943 00 SCX_CPU1_DS_RE/1387 if (SCX_CPU1_find_event[1].num_found_messages = 1) then +21-237-13:16:58.943 00 SCX_CPU1_DS_RE/1388 write "<*> Passed - Event Msg ",SCX_CPU1_find_event[1].eventid," Found!" +21-237-13:16:58.943 00 SPR-I:OPRO <*> Passed - Event Msg 21 Found! +21-237-13:16:58.943 00 SCX_CPU1_DS_RE/1391 endif +21-237-13:16:58.943 00 SCX_CPU1_DS_RE/1392 enddo +21-237-13:16:58.944 00 SCX_CPU1_DS_RE/1296 for i = 1 to 5 do +21-237-13:16:58.944 00 SCX_CPU1_DS_RE/1297 write ";***********************************************************************" +21-237-13:16:58.944 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:58.944 00 SCX_CPU1_DS_RE/1298 write "; Load the invalid table image." +21-237-13:16:58.945 00 SPR-I:OPRO ; Load the invalid table image. +21-237-13:16:58.945 00 SCX_CPU1_DS_RE/1299 write ";***********************************************************************" +21-237-13:16:58.945 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:58.945 00 SCX_CPU1_DS_RE/1301 ut_setupevents "SCX", "CPU1", "CFE_TBL",CFE_TBL_FILE_LOADED_INF_EID,"INFO", 1 +21-237-13:16:58.947 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:58.948 00 SPR-I:OPRO ; Setup event 1 with CFE_TBL INFO 12 +21-237-13:16:58.948 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:58.950 00 SCX_CPU1_DS_RE/1302 +21-237-13:16:58.950 00 SCX_CPU1_DS_RE/1303 cmdCtr = SCX_CPU1_TBL_CMDPC + 1 +21-237-13:16:58.950 00 SCX_CPU1_DS_RE/1304 +21-237-13:16:58.950 00 SCX_CPU1_DS_RE/1305 start load_table ("ds_badfilter" & i & ".tbl", hostCPU) +21-237-13:16:58.951 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/load_table.i +21-237-13:16:58.951 00 SPR-I:STS Procedure LOAD_TABLE started +21-237-13:16:58.951 00 LOAD_TABLE/2 ; +21-237-13:16:58.951 00 LOAD_TABLE/3 local logging = %liv (log_procedure) +21-237-13:16:58.951 00 LOAD_TABLE/4 %liv (log_procedure) = FALSE +21-237-13:16:58.953 00 SPR-I:OPRO Table Filename: ds_badfilter5.tbl +21-237-13:16:58.954 00 SPR-I:OPRO The perl command is: perl /s/opr/accounts/global/tools/table_ftp.pl 192.168.1.8 ds_badfilter5.tbl RAM:0 3 +21-237-13:16:58.954 00 SPR-I:OPRO +21-237-13:16:59.094 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-237-13:16:59.094 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:17:04.099 00 SPR-I:OPRO +21-237-13:17:04.102 00 SPR-I:OPRO Sending Command: /SCX_CPU1_TBL_LOAD LFILENAME="/ram/ds_badfilter5.tbl" +21-237-13:17:04.128 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:17:04.660 00 TLMH-I:STS 58-012-14:09:38.501 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=12 Successful load of '/ram/ds_badfilter5.tbl' into 'DS.FILTER_TBL' working buffer +21-237-13:17:07.132 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:17:07.134 00 LOAD_TABLE/195 +21-237-13:17:07.134 00 LOAD_TABLE/196 ENDPROC +21-237-13:17:07.135 00 SPR-I:STS Procedure LOAD_TABLE completed +21-237-13:17:07.137 00 SCX_CPU1_DS_RE/1306 +21-237-13:17:07.137 00 SCX_CPU1_DS_RE/1307 ut_tlmwait SCX_CPU1_TBL_CMDPC, {cmdCtr} +21-237-13:17:07.143 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:17:07.144 00 SCX_CPU1_DS_RE/1308 if (UT_TW_Status = UT_Success) then +21-237-13:17:07.144 00 SCX_CPU1_DS_RE/1309 write "<*> Passed - Load command for Invalid Packet Filter Table sent successfully." +21-237-13:17:07.144 00 SPR-I:OPRO <*> Passed - Load command for Invalid Packet Filter Table sent successfully. +21-237-13:17:07.144 00 SCX_CPU1_DS_RE/1312 endif +21-237-13:17:07.144 00 SCX_CPU1_DS_RE/1313 +21-237-13:17:07.144 00 SCX_CPU1_DS_RE/1314 if (SCX_CPU1_find_event[1].num_found_messages = 1) then +21-237-13:17:07.144 00 SCX_CPU1_DS_RE/1315 write "<*> Passed - Event Msg ",SCX_CPU1_find_event[1].eventid," Found!" +21-237-13:17:07.144 00 SPR-I:OPRO <*> Passed - Event Msg 12 Found! +21-237-13:17:07.144 00 SCX_CPU1_DS_RE/1318 endif +21-237-13:17:07.144 00 SCX_CPU1_DS_RE/1319 +21-237-13:17:07.144 00 SCX_CPU1_DS_RE/1320 write ";***********************************************************************" +21-237-13:17:07.144 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:17:07.145 00 SCX_CPU1_DS_RE/1321 write "; Send the Table Services command to validate the inactive buffer." +21-237-13:17:07.145 00 SPR-I:OPRO ; Send the Table Services command to validate the inactive buffer. +21-237-13:17:07.145 00 SCX_CPU1_DS_RE/1322 write ";***********************************************************************" +21-237-13:17:07.145 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:17:07.151 00 SCX_CPU1_DS_RE/1323 ut_setupevents "SCX","CPU1","CFE_TBL",CFE_TBL_VAL_REQ_MADE_INF_EID, "DEBUG", 1 +21-237-13:17:07.154 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:17:07.155 00 SPR-I:OPRO ; Setup event 1 with CFE_TBL DEBUG 16 +21-237-13:17:07.155 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:17:07.155 00 SCX_CPU1_DS_RE/1324 ut_setupevents "SCX","CPU1","CFE_TBL",CFE_TBL_VALIDATION_ERR_EID, "ERROR", 2 +21-237-13:17:07.162 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:17:07.162 00 SPR-I:OPRO ; Setup event 2 with CFE_TBL ERROR 96 +21-237-13:17:07.162 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:17:07.162 00 SCX_CPU1_DS_RE/1325 ut_setupevents "SCX","CPU1",{DSAppName},DS_FLT_TBL_ERR_EID, "ERROR", 3 +21-237-13:17:07.165 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:17:07.165 00 SPR-I:OPRO ; Setup event 3 with DS ERROR 13 +21-237-13:17:07.165 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:17:07.165 00 SCX_CPU1_DS_RE/1326 ut_setupevents "SCX","CPU1",{DSAppName},DS_FLT_TBL_EID, "INFO", 4 +21-237-13:17:07.168 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:17:07.168 00 SPR-I:OPRO ; Setup event 4 with DS INFO 12 +21-237-13:17:07.168 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:17:07.168 00 SCX_CPU1_DS_RE/1327 +21-237-13:17:07.168 00 SCX_CPU1_DS_RE/1328 cmdCtr = SCX_CPU1_TBL_CMDPC + 1 +21-237-13:17:07.168 00 SCX_CPU1_DS_RE/1329 +21-237-13:17:07.168 00 SCX_CPU1_DS_RE/1330 /SCX_CPU1_TBL_VALIDATE INACTIVE VTABLENAME=filterTblName +21-237-13:17:07.171 00 SCX_CPU1_DS_RE/1331 +21-237-13:17:07.171 00 SCX_CPU1_DS_RE/1332 ut_tlmwait SCX_CPU1_TBL_CMDPC, {cmdCtr} +21-237-13:17:07.178 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:17:07.657 00 TLMH-I:STS 58-012-14:09:41.502 DEBUG CPU=CPU1 APPNAME=CFE_TBL EVENT ID=16 Tbl Services issued validation request for 'DS.FILTER_TBL' +21-237-13:17:10.160 00 TLMH-I:STS 58-012-14:09:44.003 ERROR CPU=CPU1 APPNAME=DS EVENT ID=13 Filter table verify err: MID = 0x00001003, index = 3, filter = 0, filter parms N = 1, X = 1, O = 2 +21-237-13:17:10.161 00 TLMH-I:STS 58-012-14:09:44.004 INFO CPU=CPU1 APPNAME=DS EVENT ID=12 Filter table verify results: desc text = OK, good entries = 4, bad = 1, unused = 251 +21-237-13:17:10.162 00 TLMH-I:STS 58-012-14:09:44.004 ERROR CPU=CPU1 APPNAME=CFE_TBL EVENT ID=96 DS validation failed for Inactive 'DS.FILTER_TBL', Status=0xFFFFFFFF +21-237-13:17:10.182 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:17:10.184 00 SCX_CPU1_DS_RE/1333 if (UT_TW_Status = UT_Success) then +21-237-13:17:10.184 00 SCX_CPU1_DS_RE/1334 write "<*> Passed - Packet Filter Table validate command sent." +21-237-13:17:10.184 00 SPR-I:OPRO <*> Passed - Packet Filter Table validate command sent. +21-237-13:17:10.184 00 SCX_CPU1_DS_RE/1337 endif +21-237-13:17:10.185 00 SCX_CPU1_DS_RE/1338 +21-237-13:17:10.185 00 SCX_CPU1_DS_RE/1340 ut_tlmwait SCX_CPU1_find_event[2].num_found_messages, 1 +21-237-13:17:10.201 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:17:10.203 00 SCX_CPU1_DS_RE/1341 if (UT_TW_Status = UT_Success) then +21-237-13:17:10.203 00 SCX_CPU1_DS_RE/1342 write "<*> Passed (9005) - Packet Filter Table validation failed as expected." +21-237-13:17:10.203 00 SPR-I:OPRO <*> Passed (9005) - Packet Filter Table validation failed as expected. +21-237-13:17:10.203 00 SCX_CPU1_DS_RE/1343 ut_setrequirements DS_9005, "P" +21-237-13:17:10.206 00 SCX_CPU1_DS_RE/1347 endif +21-237-13:17:10.206 00 SCX_CPU1_DS_RE/1348 +21-237-13:17:10.207 00 SCX_CPU1_DS_RE/1350 if (SCX_CPU1_find_event[1].num_found_messages = 1) then +21-237-13:17:10.207 00 SCX_CPU1_DS_RE/1351 write "<*> Passed - Event Msg ",SCX_CPU1_find_event[1].eventid," Found!" +21-237-13:17:10.207 00 SPR-I:OPRO <*> Passed - Event Msg 16 Found! +21-237-13:17:10.207 00 SCX_CPU1_DS_RE/1354 endif +21-237-13:17:10.207 00 SCX_CPU1_DS_RE/1355 +21-237-13:17:10.207 00 SCX_CPU1_DS_RE/1357 if (SCX_CPU1_find_event[3].num_found_messages > 0) then +21-237-13:17:10.207 00 SCX_CPU1_DS_RE/1358 write "<*> Passed - Validation Event Msg rcv'd" +21-237-13:17:10.208 00 SPR-I:OPRO <*> Passed - Validation Event Msg rcv'd +21-237-13:17:10.208 00 SCX_CPU1_DS_RE/1361 endif +21-237-13:17:10.208 00 SCX_CPU1_DS_RE/1362 +21-237-13:17:10.208 00 SCX_CPU1_DS_RE/1364 if (SCX_CPU1_find_event[4].num_found_messages > 0) then +21-237-13:17:10.227 00 SCX_CPU1_DS_RE/1365 write "<*> Passed - Validation Summary Event Msg rcv'd" +21-237-13:17:10.228 00 SPR-I:OPRO <*> Passed - Validation Summary Event Msg rcv'd +21-237-13:17:10.228 00 SCX_CPU1_DS_RE/1368 endif +21-237-13:17:10.228 00 SCX_CPU1_DS_RE/1369 +21-237-13:17:10.228 00 SCX_CPU1_DS_RE/1370 write ";***********************************************************************" +21-237-13:17:10.228 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:17:10.228 00 SCX_CPU1_DS_RE/1371 write "; Send the Table Services Load Abort command to release the buffer." +21-237-13:17:10.228 00 SPR-I:OPRO ; Send the Table Services Load Abort command to release the buffer. +21-237-13:17:10.228 00 SCX_CPU1_DS_RE/1372 write ";***********************************************************************" +21-237-13:17:10.228 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:17:10.228 00 SCX_CPU1_DS_RE/1373 ut_setupevents "SCX","CPU1","CFE_TBL",CFE_TBL_LOAD_ABORT_INF_EID,"INFO", 1 +21-237-13:17:10.230 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:17:10.230 00 SPR-I:OPRO ; Setup event 1 with CFE_TBL INFO 21 +21-237-13:17:10.230 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:17:10.231 00 SCX_CPU1_DS_RE/1374 +21-237-13:17:10.231 00 SCX_CPU1_DS_RE/1375 cmdCtr = SCX_CPU1_TBL_CMDPC + 1 +21-237-13:17:10.231 00 SCX_CPU1_DS_RE/1376 +21-237-13:17:10.231 00 SCX_CPU1_DS_RE/1377 /SCX_CPU1_TBL_LOADABORT ABTABLENAME=filterTblName +21-237-13:17:10.245 00 SCX_CPU1_DS_RE/1378 +21-237-13:17:10.245 00 SCX_CPU1_DS_RE/1379 ut_tlmwait SCX_CPU1_TBL_CMDPC, {cmdCtr} +21-237-13:17:10.248 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:17:10.665 00 TLMH-I:STS 58-012-14:09:44.500 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=21 Table Load Aborted for 'DS.FILTER_TBL' +21-237-13:17:14.253 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:17:14.255 00 SCX_CPU1_DS_RE/1380 if (UT_TW_Status = UT_Success) then +21-237-13:17:14.255 00 SCX_CPU1_DS_RE/1381 write "<*> Passed - Load abort command sent successfully." +21-237-13:17:14.255 00 SPR-I:OPRO <*> Passed - Load abort command sent successfully. +21-237-13:17:14.256 00 SCX_CPU1_DS_RE/1384 endif +21-237-13:17:14.256 00 SCX_CPU1_DS_RE/1385 +21-237-13:17:14.256 00 SCX_CPU1_DS_RE/1387 if (SCX_CPU1_find_event[1].num_found_messages = 1) then +21-237-13:17:14.256 00 SCX_CPU1_DS_RE/1388 write "<*> Passed - Event Msg ",SCX_CPU1_find_event[1].eventid," Found!" +21-237-13:17:14.256 00 SPR-I:OPRO <*> Passed - Event Msg 21 Found! +21-237-13:17:14.257 00 SCX_CPU1_DS_RE/1391 endif +21-237-13:17:14.257 00 SCX_CPU1_DS_RE/1392 enddo +21-237-13:17:14.258 00 SCX_CPU1_DS_RE/1296 for i = 1 to 5 do +21-237-13:17:14.258 00 SCX_CPU1_DS_RE/1393 +21-237-13:17:14.258 00 SCX_CPU1_DS_RE/1394 wait 5 +21-237-13:17:14.258 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:17:19.262 00 SCX_CPU1_DS_RE/1395 +21-237-13:17:19.262 00 SCX_CPU1_DS_RE/1396 write ";***********************************************************************" +21-237-13:17:19.262 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:17:19.262 00 SCX_CPU1_DS_RE/1397 write "; Step 5.3: Create invalid Destination File Table load images each " +21-237-13:17:19.262 00 SPR-I:OPRO ; Step 5.3: Create invalid Destination File Table load images each +21-237-13:17:19.263 00 SCX_CPU1_DS_RE/1398 write "; containing one of the possible content errors. " +21-237-13:17:19.263 00 SPR-I:OPRO ; containing one of the possible content errors. +21-237-13:17:19.263 00 SCX_CPU1_DS_RE/1399 write ";***********************************************************************" +21-237-13:17:19.263 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:17:19.263 00 SCX_CPU1_DS_RE/1401 s scx_cpu1_ds_badfiletbls +21-237-13:17:19.263 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/scx_cpu1_ds_badfiletbls.i +21-237-13:17:19.270 00 SPR-I:STS Procedure SCX_CPU1_DS_BADFILETBLS started +21-237-13:17:19.270 00 SCX_CPU1_DS_BA/2 ;******************************************************************************* +21-237-13:17:19.270 00 SCX_CPU1_DS_BA/3 ; Test Name: ds_badfiletbls +21-237-13:17:19.270 00 SCX_CPU1_DS_BA/4 ; Test Level: Build Verification +21-237-13:17:19.270 00 SCX_CPU1_DS_BA/5 ; Test Type: Functional +21-237-13:17:19.270 00 SCX_CPU1_DS_BA/6 ; +21-237-13:17:19.270 00 SCX_CPU1_DS_BA/7 ; Test Description +21-237-13:17:19.270 00 SCX_CPU1_DS_BA/8 ; This procedure creates seven CFS Data Storage (DS) Destination File +21-237-13:17:19.270 00 SCX_CPU1_DS_BA/9 ; Table load images each containing one of the possible seven content +21-237-13:17:19.270 00 SCX_CPU1_DS_BA/10 ; errors such that the table validation will fail and generate the proper +21-237-13:17:19.270 00 SCX_CPU1_DS_BA/11 ; error event message. This table image is used in the ResetNoCDS test +21-237-13:17:19.270 00 SCX_CPU1_DS_BA/12 ; procedure. +21-237-13:17:19.270 00 SCX_CPU1_DS_BA/13 ; +21-237-13:17:19.270 00 SCX_CPU1_DS_BA/14 ; Prerequisite Conditions +21-237-13:17:19.270 00 SCX_CPU1_DS_BA/15 ; None. +21-237-13:17:19.270 00 SCX_CPU1_DS_BA/16 ; +21-237-13:17:19.270 00 SCX_CPU1_DS_BA/17 ; Assumptions and Constraints +21-237-13:17:19.271 00 SCX_CPU1_DS_BA/18 ; None. +21-237-13:17:19.271 00 SCX_CPU1_DS_BA/19 ; +21-237-13:17:19.271 00 SCX_CPU1_DS_BA/20 ; Change History +21-237-13:17:19.271 00 SCX_CPU1_DS_BA/21 ; Date Name Description +21-237-13:17:19.271 00 SCX_CPU1_DS_BA/22 ; 11/24/09 Walt Moleski Inital implemetation. +21-237-13:17:19.271 00 SCX_CPU1_DS_BA/23 ; 12/08/10 Walt Moleski Modified to use the table name specified +21-237-13:17:19.272 00 SCX_CPU1_DS_BA/24 ; in the ds_platform_cfg.h file and added +21-237-13:17:19.272 00 SCX_CPU1_DS_BA/25 ; a variable for the application name. +21-237-13:17:19.272 00 SCX_CPU1_DS_BA/26 ; 03/19/13 Walt Moleski Added 2 new cases to test an invalid +21-237-13:17:19.272 00 SCX_CPU1_DS_BA/27 ; sequence count for both types +21-237-13:17:19.272 00 SCX_CPU1_DS_BA/28 ; 01/31/17 Walt Moleski Updated for DS 2.5.0.0 using CPU1 for +21-237-13:17:19.272 00 SCX_CPU1_DS_BA/29 ; commanding and added a hostCPU variable +21-237-13:17:19.272 00 SCX_CPU1_DS_BA/30 ; for the utility procs to connect to the +21-237-13:17:19.272 00 SCX_CPU1_DS_BA/31 ; proper host IP address. +21-237-13:17:19.272 00 SCX_CPU1_DS_BA/32 ; +21-237-13:17:19.272 00 SCX_CPU1_DS_BA/33 ; Arguments +21-237-13:17:19.272 00 SCX_CPU1_DS_BA/34 ; None. +21-237-13:17:19.273 00 SCX_CPU1_DS_BA/35 ; +21-237-13:17:19.273 00 SCX_CPU1_DS_BA/36 ; Procedures Called +21-237-13:17:19.273 00 SCX_CPU1_DS_BA/37 ; Name Description +21-237-13:17:19.273 00 SCX_CPU1_DS_BA/38 ; +21-237-13:17:19.273 00 SCX_CPU1_DS_BA/39 ; Expected Test Results and Analysis +21-237-13:17:19.273 00 SCX_CPU1_DS_BA/40 ; +21-237-13:17:19.273 00 SCX_CPU1_DS_BA/41 ;********************************************************************** +21-237-13:17:19.273 00 SCX_CPU1_DS_BA/42 +21-237-13:17:19.273 00 SCX_CPU1_DS_BA/43 local logging = %liv (log_procedure) +21-237-13:17:19.273 00 SCX_CPU1_DS_BA/44 %liv (log_procedure) = FALSE +21-237-13:17:19.318 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:17:19.318 00 SPR-I:OPRO ; Step 1.0: Define DS Destination File And Packet Filter Tables. +21-237-13:17:19.318 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:17:19.325 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/create_tbl_file_from_cvt.i +21-237-13:17:19.325 00 SPR-I:STS Procedure CREATE_TBL_FILE_FROM_CVT started +21-237-13:17:19.328 00 SPR-I:OPRO ********** ds_badfile1.tbl ********** +21-237-13:17:19.328 00 SPR-I:OPRO +21-237-13:17:19.328 00 SPR-I:OPRO Content Type: cFE1 +21-237-13:17:19.328 00 SPR-I:OPRO Sub Type: 8 +21-237-13:17:19.329 00 SPR-I:OPRO Length: 12 +21-237-13:17:19.329 00 SPR-I:OPRO Spacecraft Id: SCX +21-237-13:17:19.329 00 SPR-I:OPRO Processor Id: CPU3 +21-237-13:17:19.329 00 SPR-I:OPRO Application Id: 3958 +21-237-13:17:19.329 00 SPR-I:OPRO Create Time Secs: 1629897439 +21-237-13:17:19.329 00 SPR-I:OPRO Create Time Subsecs: 0 +21-237-13:17:19.329 00 SPR-I:OPRO File Description: Invalid File Table Description +21-237-13:17:19.329 00 SPR-I:OPRO +21-237-13:17:19.329 00 SPR-I:OPRO ********** DS.FILE_TBL ********** +21-237-13:17:19.329 00 SPR-I:OPRO +21-237-13:17:19.329 00 SPR-I:OPRO Start Mnemonic: SCX_CPU1_DS_DF_TBL_Description +21-237-13:17:19.329 00 SPR-I:OPRO Byte Offset: 0 +21-237-13:17:19.329 00 SPR-I:OPRO End Mnemonic: SCX_CPU1_DS_DF_TBL[8].SeqCnt +21-237-13:17:19.329 00 SPR-I:OPRO Number of Bytes: 1976 +21-237-13:17:19.329 00 SPR-I:OPRO +21-237-13:17:19.335 00 SPR-I:STS Loading file /s/opr/accounts/global/prc/partial_cvt_to_file_beta.i +21-237-13:17:19.335 00 SPR-I:STS Procedure PARTIAL_CVT_TO_FILE_BETA started +21-237-13:17:19.336 00 SPR-I:OPRO The unix command is cd /s/opr/accounts/cfs_test/image;cvt2file -s 116 -e 2091 P0F76 ds.file_tbl +21-237-13:17:19.340 00 SPR-I:STS Procedure PARTIAL_CVT_TO_FILE_BETA completed +21-237-13:17:19.340 00 SPR-I:OPRO cd /s/opr/accounts/cfs_test/image;cat ds_badfile1.tbl.tmp ds.file_tbl > ds_badfile1.tbl +21-237-13:17:19.344 00 SPR-I:OPRO cd /s/opr/accounts/cfs_test/image;rm ds.file_tbl ds_badfile1.tbl.tmp +21-237-13:17:19.348 00 SPR-I:STS Procedure CREATE_TBL_FILE_FROM_CVT completed +21-237-13:17:19.348 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/create_tbl_file_from_cvt.i +21-237-13:17:19.349 00 SPR-I:STS Procedure CREATE_TBL_FILE_FROM_CVT started +21-237-13:17:19.351 00 SPR-I:OPRO ********** ds_badfile2.tbl ********** +21-237-13:17:19.351 00 SPR-I:OPRO +21-237-13:17:19.351 00 SPR-I:OPRO Content Type: cFE1 +21-237-13:17:19.351 00 SPR-I:OPRO Sub Type: 8 +21-237-13:17:19.351 00 SPR-I:OPRO Length: 12 +21-237-13:17:19.351 00 SPR-I:OPRO Spacecraft Id: SCX +21-237-13:17:19.351 00 SPR-I:OPRO Processor Id: CPU3 +21-237-13:17:19.351 00 SPR-I:OPRO Application Id: 3958 +21-237-13:17:19.351 00 SPR-I:OPRO Create Time Secs: 1629897439 +21-237-13:17:19.351 00 SPR-I:OPRO Create Time Subsecs: 0 +21-237-13:17:19.351 00 SPR-I:OPRO File Description: Invalid File Table Null Path +21-237-13:17:19.351 00 SPR-I:OPRO +21-237-13:17:19.351 00 SPR-I:OPRO ********** DS.FILE_TBL ********** +21-237-13:17:19.351 00 SPR-I:OPRO +21-237-13:17:19.352 00 SPR-I:OPRO Start Mnemonic: SCX_CPU1_DS_DF_TBL_Description +21-237-13:17:19.352 00 SPR-I:OPRO Byte Offset: 0 +21-237-13:17:19.352 00 SPR-I:OPRO End Mnemonic: SCX_CPU1_DS_DF_TBL[8].SeqCnt +21-237-13:17:19.352 00 SPR-I:OPRO Number of Bytes: 1976 +21-237-13:17:19.352 00 SPR-I:OPRO +21-237-13:17:19.357 00 SPR-I:STS Loading file /s/opr/accounts/global/prc/partial_cvt_to_file_beta.i +21-237-13:17:19.357 00 SPR-I:STS Procedure PARTIAL_CVT_TO_FILE_BETA started +21-237-13:17:19.358 00 SPR-I:OPRO The unix command is cd /s/opr/accounts/cfs_test/image;cvt2file -s 116 -e 2091 P0F76 ds.file_tbl +21-237-13:17:19.362 00 SPR-I:STS Procedure PARTIAL_CVT_TO_FILE_BETA completed +21-237-13:17:19.362 00 SPR-I:OPRO cd /s/opr/accounts/cfs_test/image;cat ds_badfile2.tbl.tmp ds.file_tbl > ds_badfile2.tbl +21-237-13:17:19.367 00 SPR-I:OPRO cd /s/opr/accounts/cfs_test/image;rm ds.file_tbl ds_badfile2.tbl.tmp +21-237-13:17:19.374 00 SPR-I:STS Procedure CREATE_TBL_FILE_FROM_CVT completed +21-237-13:17:19.375 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/create_tbl_file_from_cvt.i +21-237-13:17:19.375 00 SPR-I:STS Procedure CREATE_TBL_FILE_FROM_CVT started +21-237-13:17:19.377 00 SPR-I:OPRO ********** ds_badfile3.tbl ********** +21-237-13:17:19.377 00 SPR-I:OPRO +21-237-13:17:19.377 00 SPR-I:OPRO Content Type: cFE1 +21-237-13:17:19.377 00 SPR-I:OPRO Sub Type: 8 +21-237-13:17:19.378 00 SPR-I:OPRO Length: 12 +21-237-13:17:19.378 00 SPR-I:OPRO Spacecraft Id: SCX +21-237-13:17:19.378 00 SPR-I:OPRO Processor Id: CPU3 +21-237-13:17:19.378 00 SPR-I:OPRO Application Id: 3958 +21-237-13:17:19.378 00 SPR-I:OPRO Create Time Secs: 1629897439 +21-237-13:17:19.378 00 SPR-I:OPRO Create Time Subsecs: 0 +21-237-13:17:19.378 00 SPR-I:OPRO File Description: Invalid File Table Name Type +21-237-13:17:19.378 00 SPR-I:OPRO +21-237-13:17:19.378 00 SPR-I:OPRO ********** DS.FILE_TBL ********** +21-237-13:17:19.378 00 SPR-I:OPRO +21-237-13:17:19.378 00 SPR-I:OPRO Start Mnemonic: SCX_CPU1_DS_DF_TBL_Description +21-237-13:17:19.378 00 SPR-I:OPRO Byte Offset: 0 +21-237-13:17:19.378 00 SPR-I:OPRO End Mnemonic: SCX_CPU1_DS_DF_TBL[8].SeqCnt +21-237-13:17:19.378 00 SPR-I:OPRO Number of Bytes: 1976 +21-237-13:17:19.379 00 SPR-I:OPRO +21-237-13:17:19.384 00 SPR-I:STS Loading file /s/opr/accounts/global/prc/partial_cvt_to_file_beta.i +21-237-13:17:19.384 00 SPR-I:STS Procedure PARTIAL_CVT_TO_FILE_BETA started +21-237-13:17:19.385 00 SPR-I:OPRO The unix command is cd /s/opr/accounts/cfs_test/image;cvt2file -s 116 -e 2091 P0F76 ds.file_tbl +21-237-13:17:19.390 00 SPR-I:STS Procedure PARTIAL_CVT_TO_FILE_BETA completed +21-237-13:17:19.390 00 SPR-I:OPRO cd /s/opr/accounts/cfs_test/image;cat ds_badfile3.tbl.tmp ds.file_tbl > ds_badfile3.tbl +21-237-13:17:19.394 00 SPR-I:OPRO cd /s/opr/accounts/cfs_test/image;rm ds.file_tbl ds_badfile3.tbl.tmp +21-237-13:17:19.399 00 SPR-I:STS Procedure CREATE_TBL_FILE_FROM_CVT completed +21-237-13:17:19.399 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/create_tbl_file_from_cvt.i +21-237-13:17:19.399 00 SPR-I:STS Procedure CREATE_TBL_FILE_FROM_CVT started +21-237-13:17:19.401 00 SPR-I:OPRO ********** ds_badfile4.tbl ********** +21-237-13:17:19.401 00 SPR-I:OPRO +21-237-13:17:19.402 00 SPR-I:OPRO Content Type: cFE1 +21-237-13:17:19.402 00 SPR-I:OPRO Sub Type: 8 +21-237-13:17:19.402 00 SPR-I:OPRO Length: 12 +21-237-13:17:19.402 00 SPR-I:OPRO Spacecraft Id: SCX +21-237-13:17:19.402 00 SPR-I:OPRO Processor Id: CPU3 +21-237-13:17:19.402 00 SPR-I:OPRO Application Id: 3958 +21-237-13:17:19.402 00 SPR-I:OPRO Create Time Secs: 1629897439 +21-237-13:17:19.402 00 SPR-I:OPRO Create Time Subsecs: 0 +21-237-13:17:19.402 00 SPR-I:OPRO File Description: Invalid File State Type +21-237-13:17:19.402 00 SPR-I:OPRO +21-237-13:17:19.402 00 SPR-I:OPRO ********** DS.FILE_TBL ********** +21-237-13:17:19.402 00 SPR-I:OPRO +21-237-13:17:19.402 00 SPR-I:OPRO Start Mnemonic: SCX_CPU1_DS_DF_TBL_Description +21-237-13:17:19.402 00 SPR-I:OPRO Byte Offset: 0 +21-237-13:17:19.402 00 SPR-I:OPRO End Mnemonic: SCX_CPU1_DS_DF_TBL[8].SeqCnt +21-237-13:17:19.402 00 SPR-I:OPRO Number of Bytes: 1976 +21-237-13:17:19.402 00 SPR-I:OPRO +21-237-13:17:19.409 00 SPR-I:STS Loading file /s/opr/accounts/global/prc/partial_cvt_to_file_beta.i +21-237-13:17:19.409 00 SPR-I:STS Procedure PARTIAL_CVT_TO_FILE_BETA started +21-237-13:17:19.409 00 SPR-I:OPRO The unix command is cd /s/opr/accounts/cfs_test/image;cvt2file -s 116 -e 2091 P0F76 ds.file_tbl +21-237-13:17:19.414 00 SPR-I:STS Procedure PARTIAL_CVT_TO_FILE_BETA completed +21-237-13:17:19.414 00 SPR-I:OPRO cd /s/opr/accounts/cfs_test/image;cat ds_badfile4.tbl.tmp ds.file_tbl > ds_badfile4.tbl +21-237-13:17:19.419 00 SPR-I:OPRO cd /s/opr/accounts/cfs_test/image;rm ds.file_tbl ds_badfile4.tbl.tmp +21-237-13:17:19.423 00 SPR-I:STS Procedure CREATE_TBL_FILE_FROM_CVT completed +21-237-13:17:19.424 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/create_tbl_file_from_cvt.i +21-237-13:17:19.424 00 SPR-I:STS Procedure CREATE_TBL_FILE_FROM_CVT started +21-237-13:17:19.426 00 SPR-I:OPRO ********** ds_badfile5.tbl ********** +21-237-13:17:19.426 00 SPR-I:OPRO +21-237-13:17:19.426 00 SPR-I:OPRO Content Type: cFE1 +21-237-13:17:19.427 00 SPR-I:OPRO Sub Type: 8 +21-237-13:17:19.427 00 SPR-I:OPRO Length: 12 +21-237-13:17:19.427 00 SPR-I:OPRO Spacecraft Id: SCX +21-237-13:17:19.427 00 SPR-I:OPRO Processor Id: CPU3 +21-237-13:17:19.427 00 SPR-I:OPRO Application Id: 3958 +21-237-13:17:19.427 00 SPR-I:OPRO Create Time Secs: 1629897439 +21-237-13:17:19.427 00 SPR-I:OPRO Create Time Subsecs: 0 +21-237-13:17:19.427 00 SPR-I:OPRO File Description: Invalid File Table Max Size +21-237-13:17:19.427 00 SPR-I:OPRO +21-237-13:17:19.427 00 SPR-I:OPRO ********** DS.FILE_TBL ********** +21-237-13:17:19.427 00 SPR-I:OPRO +21-237-13:17:19.427 00 SPR-I:OPRO Start Mnemonic: SCX_CPU1_DS_DF_TBL_Description +21-237-13:17:19.427 00 SPR-I:OPRO Byte Offset: 0 +21-237-13:17:19.427 00 SPR-I:OPRO End Mnemonic: SCX_CPU1_DS_DF_TBL[8].SeqCnt +21-237-13:17:19.427 00 SPR-I:OPRO Number of Bytes: 1976 +21-237-13:17:19.427 00 SPR-I:OPRO +21-237-13:17:19.433 00 SPR-I:STS Loading file /s/opr/accounts/global/prc/partial_cvt_to_file_beta.i +21-237-13:17:19.433 00 SPR-I:STS Procedure PARTIAL_CVT_TO_FILE_BETA started +21-237-13:17:19.435 00 SPR-I:OPRO The unix command is cd /s/opr/accounts/cfs_test/image;cvt2file -s 116 -e 2091 P0F76 ds.file_tbl +21-237-13:17:19.440 00 SPR-I:STS Procedure PARTIAL_CVT_TO_FILE_BETA completed +21-237-13:17:19.440 00 SPR-I:OPRO cd /s/opr/accounts/cfs_test/image;cat ds_badfile5.tbl.tmp ds.file_tbl > ds_badfile5.tbl +21-237-13:17:19.444 00 SPR-I:OPRO cd /s/opr/accounts/cfs_test/image;rm ds.file_tbl ds_badfile5.tbl.tmp +21-237-13:17:19.448 00 SPR-I:STS Procedure CREATE_TBL_FILE_FROM_CVT completed +21-237-13:17:19.449 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/create_tbl_file_from_cvt.i +21-237-13:17:19.449 00 SPR-I:STS Procedure CREATE_TBL_FILE_FROM_CVT started +21-237-13:17:19.452 00 SPR-I:OPRO ********** ds_badfile6.tbl ********** +21-237-13:17:19.452 00 SPR-I:OPRO +21-237-13:17:19.452 00 SPR-I:OPRO Content Type: cFE1 +21-237-13:17:19.452 00 SPR-I:OPRO Sub Type: 8 +21-237-13:17:19.452 00 SPR-I:OPRO Length: 12 +21-237-13:17:19.452 00 SPR-I:OPRO Spacecraft Id: SCX +21-237-13:17:19.452 00 SPR-I:OPRO Processor Id: CPU3 +21-237-13:17:19.452 00 SPR-I:OPRO Application Id: 3958 +21-237-13:17:19.452 00 SPR-I:OPRO Create Time Secs: 1629897439 +21-237-13:17:19.452 00 SPR-I:OPRO Create Time Subsecs: 0 +21-237-13:17:19.452 00 SPR-I:OPRO File Description: Invalid File Table Max Age +21-237-13:17:19.452 00 SPR-I:OPRO +21-237-13:17:19.452 00 SPR-I:OPRO ********** DS.FILE_TBL ********** +21-237-13:17:19.453 00 SPR-I:OPRO +21-237-13:17:19.453 00 SPR-I:OPRO Start Mnemonic: SCX_CPU1_DS_DF_TBL_Description +21-237-13:17:19.453 00 SPR-I:OPRO Byte Offset: 0 +21-237-13:17:19.453 00 SPR-I:OPRO End Mnemonic: SCX_CPU1_DS_DF_TBL[8].SeqCnt +21-237-13:17:19.453 00 SPR-I:OPRO Number of Bytes: 1976 +21-237-13:17:19.453 00 SPR-I:OPRO +21-237-13:17:19.458 00 SPR-I:STS Loading file /s/opr/accounts/global/prc/partial_cvt_to_file_beta.i +21-237-13:17:19.458 00 SPR-I:STS Procedure PARTIAL_CVT_TO_FILE_BETA started +21-237-13:17:19.459 00 SPR-I:OPRO The unix command is cd /s/opr/accounts/cfs_test/image;cvt2file -s 116 -e 2091 P0F76 ds.file_tbl +21-237-13:17:19.464 00 SPR-I:STS Procedure PARTIAL_CVT_TO_FILE_BETA completed +21-237-13:17:19.464 00 SPR-I:OPRO cd /s/opr/accounts/cfs_test/image;cat ds_badfile6.tbl.tmp ds.file_tbl > ds_badfile6.tbl +21-237-13:17:19.468 00 SPR-I:OPRO cd /s/opr/accounts/cfs_test/image;rm ds.file_tbl ds_badfile6.tbl.tmp +21-237-13:17:19.471 00 SPR-I:STS Procedure CREATE_TBL_FILE_FROM_CVT completed +21-237-13:17:19.472 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/create_tbl_file_from_cvt.i +21-237-13:17:19.472 00 SPR-I:STS Procedure CREATE_TBL_FILE_FROM_CVT started +21-237-13:17:19.474 00 SPR-I:OPRO ********** ds_badfile7.tbl ********** +21-237-13:17:19.474 00 SPR-I:OPRO +21-237-13:17:19.474 00 SPR-I:OPRO Content Type: cFE1 +21-237-13:17:19.474 00 SPR-I:OPRO Sub Type: 8 +21-237-13:17:19.474 00 SPR-I:OPRO Length: 12 +21-237-13:17:19.475 00 SPR-I:OPRO Spacecraft Id: SCX +21-237-13:17:19.475 00 SPR-I:OPRO Processor Id: CPU3 +21-237-13:17:19.475 00 SPR-I:OPRO Application Id: 3958 +21-237-13:17:19.475 00 SPR-I:OPRO Create Time Secs: 1629897439 +21-237-13:17:19.475 00 SPR-I:OPRO Create Time Subsecs: 0 +21-237-13:17:19.475 00 SPR-I:OPRO File Description: Invalid File Table Extension +21-237-13:17:19.475 00 SPR-I:OPRO +21-237-13:17:19.475 00 SPR-I:OPRO ********** DS.FILE_TBL ********** +21-237-13:17:19.475 00 SPR-I:OPRO +21-237-13:17:19.475 00 SPR-I:OPRO Start Mnemonic: SCX_CPU1_DS_DF_TBL_Description +21-237-13:17:19.475 00 SPR-I:OPRO Byte Offset: 0 +21-237-13:17:19.475 00 SPR-I:OPRO End Mnemonic: SCX_CPU1_DS_DF_TBL[8].SeqCnt +21-237-13:17:19.475 00 SPR-I:OPRO Number of Bytes: 1976 +21-237-13:17:19.475 00 SPR-I:OPRO +21-237-13:17:19.483 00 SPR-I:STS Loading file /s/opr/accounts/global/prc/partial_cvt_to_file_beta.i +21-237-13:17:19.484 00 SPR-I:STS Procedure PARTIAL_CVT_TO_FILE_BETA started +21-237-13:17:19.484 00 SPR-I:OPRO The unix command is cd /s/opr/accounts/cfs_test/image;cvt2file -s 116 -e 2091 P0F76 ds.file_tbl +21-237-13:17:19.489 00 SPR-I:STS Procedure PARTIAL_CVT_TO_FILE_BETA completed +21-237-13:17:19.489 00 SPR-I:OPRO cd /s/opr/accounts/cfs_test/image;cat ds_badfile7.tbl.tmp ds.file_tbl > ds_badfile7.tbl +21-237-13:17:19.493 00 SPR-I:OPRO cd /s/opr/accounts/cfs_test/image;rm ds.file_tbl ds_badfile7.tbl.tmp +21-237-13:17:19.500 00 SPR-I:STS Procedure CREATE_TBL_FILE_FROM_CVT completed +21-237-13:17:19.501 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/create_tbl_file_from_cvt.i +21-237-13:17:19.501 00 SPR-I:STS Procedure CREATE_TBL_FILE_FROM_CVT started +21-237-13:17:19.503 00 SPR-I:OPRO ********** ds_badfile8.tbl ********** +21-237-13:17:19.503 00 SPR-I:OPRO +21-237-13:17:19.503 00 SPR-I:OPRO Content Type: cFE1 +21-237-13:17:19.503 00 SPR-I:OPRO Sub Type: 8 +21-237-13:17:19.503 00 SPR-I:OPRO Length: 12 +21-237-13:17:19.504 00 SPR-I:OPRO Spacecraft Id: SCX +21-237-13:17:19.504 00 SPR-I:OPRO Processor Id: CPU3 +21-237-13:17:19.504 00 SPR-I:OPRO Application Id: 3958 +21-237-13:17:19.504 00 SPR-I:OPRO Create Time Secs: 1629897439 +21-237-13:17:19.504 00 SPR-I:OPRO Create Time Subsecs: 0 +21-237-13:17:19.504 00 SPR-I:OPRO File Description: Invalid Sequence Num1 +21-237-13:17:19.504 00 SPR-I:OPRO +21-237-13:17:19.504 00 SPR-I:OPRO ********** DS.FILE_TBL ********** +21-237-13:17:19.504 00 SPR-I:OPRO +21-237-13:17:19.504 00 SPR-I:OPRO Start Mnemonic: SCX_CPU1_DS_DF_TBL_Description +21-237-13:17:19.504 00 SPR-I:OPRO Byte Offset: 0 +21-237-13:17:19.504 00 SPR-I:OPRO End Mnemonic: SCX_CPU1_DS_DF_TBL[8].SeqCnt +21-237-13:17:19.504 00 SPR-I:OPRO Number of Bytes: 1976 +21-237-13:17:19.504 00 SPR-I:OPRO +21-237-13:17:19.510 00 SPR-I:STS Loading file /s/opr/accounts/global/prc/partial_cvt_to_file_beta.i +21-237-13:17:19.510 00 SPR-I:STS Procedure PARTIAL_CVT_TO_FILE_BETA started +21-237-13:17:19.511 00 SPR-I:OPRO The unix command is cd /s/opr/accounts/cfs_test/image;cvt2file -s 116 -e 2091 P0F76 ds.file_tbl +21-237-13:17:19.515 00 SPR-I:STS Procedure PARTIAL_CVT_TO_FILE_BETA completed +21-237-13:17:19.515 00 SPR-I:OPRO cd /s/opr/accounts/cfs_test/image;cat ds_badfile8.tbl.tmp ds.file_tbl > ds_badfile8.tbl +21-237-13:17:19.519 00 SPR-I:OPRO cd /s/opr/accounts/cfs_test/image;rm ds.file_tbl ds_badfile8.tbl.tmp +21-237-13:17:19.526 00 SPR-I:STS Procedure CREATE_TBL_FILE_FROM_CVT completed +21-237-13:17:19.527 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/create_tbl_file_from_cvt.i +21-237-13:17:19.527 00 SPR-I:STS Procedure CREATE_TBL_FILE_FROM_CVT started +21-237-13:17:19.529 00 SPR-I:OPRO ********** ds_badfile9.tbl ********** +21-237-13:17:19.529 00 SPR-I:OPRO +21-237-13:17:19.529 00 SPR-I:OPRO Content Type: cFE1 +21-237-13:17:19.529 00 SPR-I:OPRO Sub Type: 8 +21-237-13:17:19.529 00 SPR-I:OPRO Length: 12 +21-237-13:17:19.530 00 SPR-I:OPRO Spacecraft Id: SCX +21-237-13:17:19.530 00 SPR-I:OPRO Processor Id: CPU3 +21-237-13:17:19.530 00 SPR-I:OPRO Application Id: 3958 +21-237-13:17:19.530 00 SPR-I:OPRO Create Time Secs: 1629897439 +21-237-13:17:19.530 00 SPR-I:OPRO Create Time Subsecs: 0 +21-237-13:17:19.530 00 SPR-I:OPRO File Description: Invalid Sequence Num2 +21-237-13:17:19.530 00 SPR-I:OPRO +21-237-13:17:19.530 00 SPR-I:OPRO ********** DS.FILE_TBL ********** +21-237-13:17:19.530 00 SPR-I:OPRO +21-237-13:17:19.530 00 SPR-I:OPRO Start Mnemonic: SCX_CPU1_DS_DF_TBL_Description +21-237-13:17:19.530 00 SPR-I:OPRO Byte Offset: 0 +21-237-13:17:19.530 00 SPR-I:OPRO End Mnemonic: SCX_CPU1_DS_DF_TBL[8].SeqCnt +21-237-13:17:19.530 00 SPR-I:OPRO Number of Bytes: 1976 +21-237-13:17:19.530 00 SPR-I:OPRO +21-237-13:17:19.535 00 SPR-I:STS Loading file /s/opr/accounts/global/prc/partial_cvt_to_file_beta.i +21-237-13:17:19.536 00 SPR-I:STS Procedure PARTIAL_CVT_TO_FILE_BETA started +21-237-13:17:19.536 00 SPR-I:OPRO The unix command is cd /s/opr/accounts/cfs_test/image;cvt2file -s 116 -e 2091 P0F76 ds.file_tbl +21-237-13:17:19.542 00 SPR-I:STS Procedure PARTIAL_CVT_TO_FILE_BETA completed +21-237-13:17:19.542 00 SPR-I:OPRO cd /s/opr/accounts/cfs_test/image;cat ds_badfile9.tbl.tmp ds.file_tbl > ds_badfile9.tbl +21-237-13:17:19.546 00 SPR-I:OPRO cd /s/opr/accounts/cfs_test/image;rm ds.file_tbl ds_badfile9.tbl.tmp +21-237-13:17:19.550 00 SPR-I:STS Procedure CREATE_TBL_FILE_FROM_CVT completed +21-237-13:17:19.550 00 SCX_CPU1_DS_BA/196 +21-237-13:17:19.550 00 SCX_CPU1_DS_BA/197 write ";*********************************************************************" +21-237-13:17:19.550 00 SPR-I:OPRO ;********************************************************************* +21-237-13:17:19.550 00 SCX_CPU1_DS_BA/198 write "; End procedure SCX_CPU1_ds_badfiletbls" +21-237-13:17:19.550 00 SPR-I:OPRO ; End procedure SCX_CPU1_ds_badfiletbls +21-237-13:17:19.550 00 SCX_CPU1_DS_BA/199 write ";*********************************************************************" +21-237-13:17:19.550 00 SPR-I:OPRO ;********************************************************************* +21-237-13:17:19.550 00 SCX_CPU1_DS_BA/200 ENDPROC +21-237-13:17:19.550 00 SPR-I:STS Procedure SCX_CPU1_DS_BADFILETBLS completed +21-237-13:17:19.551 00 SCX_CPU1_DS_RE/1402 wait 5 +21-237-13:17:19.551 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:17:24.555 00 SCX_CPU1_DS_RE/1403 +21-237-13:17:24.555 00 SCX_CPU1_DS_RE/1404 write ";***********************************************************************" +21-237-13:17:24.556 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:17:24.556 00 SCX_CPU1_DS_RE/1405 write "; Step 5.4: Loop for each file created above. " +21-237-13:17:24.556 00 SPR-I:OPRO ; Step 5.4: Loop for each file created above. +21-237-13:17:24.556 00 SCX_CPU1_DS_RE/1406 write ";***********************************************************************" +21-237-13:17:24.556 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:17:24.556 00 SCX_CPU1_DS_RE/1407 write "; Step 5.4.1: Send the Table Services command to load the next file." +21-237-13:17:24.556 00 SPR-I:OPRO ; Step 5.4.1: Send the Table Services command to load the next file. +21-237-13:17:24.556 00 SCX_CPU1_DS_RE/1408 write ";***********************************************************************" +21-237-13:17:24.556 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:17:24.556 00 SCX_CPU1_DS_RE/1409 for i = 1 to 9 do +21-237-13:17:24.557 00 SCX_CPU1_DS_RE/1411 ut_setupevents "SCX","CPU1","CFE_TBL",CFE_TBL_FILE_LOADED_INF_EID,"INFO", 1 +21-237-13:17:24.561 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:17:24.561 00 SPR-I:OPRO ; Setup event 1 with CFE_TBL INFO 12 +21-237-13:17:24.561 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:17:24.562 00 SCX_CPU1_DS_RE/1412 +21-237-13:17:24.562 00 SCX_CPU1_DS_RE/1413 cmdCtr = SCX_CPU1_TBL_CMDPC + 1 +21-237-13:17:24.562 00 SCX_CPU1_DS_RE/1414 +21-237-13:17:24.562 00 SCX_CPU1_DS_RE/1415 start load_table ("ds_badfile" & i & ".tbl", hostCPU) +21-237-13:17:24.562 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/load_table.i +21-237-13:17:24.562 00 SPR-I:STS Procedure LOAD_TABLE started +21-237-13:17:24.562 00 LOAD_TABLE/2 ; +21-237-13:17:24.562 00 LOAD_TABLE/3 local logging = %liv (log_procedure) +21-237-13:17:24.563 00 LOAD_TABLE/4 %liv (log_procedure) = FALSE +21-237-13:17:24.564 00 SPR-I:OPRO Table Filename: ds_badfile1.tbl +21-237-13:17:24.564 00 SPR-I:OPRO The perl command is: perl /s/opr/accounts/global/tools/table_ftp.pl 192.168.1.8 ds_badfile1.tbl RAM:0 3 +21-237-13:17:24.564 00 SPR-I:OPRO +21-237-13:17:24.693 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-237-13:17:24.693 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:17:29.698 00 SPR-I:OPRO +21-237-13:17:29.701 00 SPR-I:OPRO Sending Command: /SCX_CPU1_TBL_LOAD LFILENAME="/ram/ds_badfile1.tbl" +21-237-13:17:29.726 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:17:30.163 00 TLMH-I:STS 58-012-14:10:04.001 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=12 Successful load of '/ram/ds_badfile1.tbl' into 'DS.FILE_TBL' working buffer +21-237-13:17:30.727 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:17:30.729 00 LOAD_TABLE/195 +21-237-13:17:30.729 00 LOAD_TABLE/196 ENDPROC +21-237-13:17:30.729 00 SPR-I:STS Procedure LOAD_TABLE completed +21-237-13:17:30.730 00 SCX_CPU1_DS_RE/1416 +21-237-13:17:30.730 00 SCX_CPU1_DS_RE/1417 ut_tlmwait SCX_CPU1_TBL_CMDPC, {cmdCtr} +21-237-13:17:30.735 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:17:30.735 00 SCX_CPU1_DS_RE/1418 if (UT_TW_Status = UT_Success) then +21-237-13:17:30.735 00 SCX_CPU1_DS_RE/1419 write "<*> Passed - Load command for Invalid Destination File Table sent successfully." +21-237-13:17:30.735 00 SPR-I:OPRO <*> Passed - Load command for Invalid Destination File Table sent successfully. +21-237-13:17:30.735 00 SCX_CPU1_DS_RE/1422 endif +21-237-13:17:30.735 00 SCX_CPU1_DS_RE/1423 +21-237-13:17:30.735 00 SCX_CPU1_DS_RE/1424 if (SCX_CPU1_find_event[1].num_found_messages = 1) then +21-237-13:17:30.735 00 SCX_CPU1_DS_RE/1425 write "<*> Passed - Event Msg ",SCX_CPU1_find_event[1].eventid," Found!" +21-237-13:17:30.735 00 SPR-I:OPRO <*> Passed - Event Msg 12 Found! +21-237-13:17:30.736 00 SCX_CPU1_DS_RE/1428 endif +21-237-13:17:30.736 00 SCX_CPU1_DS_RE/1429 +21-237-13:17:30.736 00 SCX_CPU1_DS_RE/1430 write ";***********************************************************************" +21-237-13:17:30.736 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:17:30.736 00 SCX_CPU1_DS_RE/1431 write "; Send the Table Services command to validate the inactive buffer." +21-237-13:17:30.736 00 SPR-I:OPRO ; Send the Table Services command to validate the inactive buffer. +21-237-13:17:30.736 00 SCX_CPU1_DS_RE/1432 write ";***********************************************************************" +21-237-13:17:30.736 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:17:30.740 00 SCX_CPU1_DS_RE/1433 ut_setupevents "SCX","CPU1","CFE_TBL",CFE_TBL_VAL_REQ_MADE_INF_EID, "DEBUG", 1 +21-237-13:17:30.742 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:17:30.742 00 SPR-I:OPRO ; Setup event 1 with CFE_TBL DEBUG 16 +21-237-13:17:30.742 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:17:30.742 00 SCX_CPU1_DS_RE/1434 ut_setupevents "SCX","CPU1","CFE_TBL",CFE_TBL_VALIDATION_ERR_EID, "ERROR", 2 +21-237-13:17:30.744 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:17:30.745 00 SPR-I:OPRO ; Setup event 2 with CFE_TBL ERROR 96 +21-237-13:17:30.745 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:17:30.745 00 SCX_CPU1_DS_RE/1435 ut_setupevents "SCX","CPU1",{DSAppName},DS_FIL_TBL_ERR_EID, "ERROR", 3 +21-237-13:17:30.747 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:17:30.747 00 SPR-I:OPRO ; Setup event 3 with DS ERROR 11 +21-237-13:17:30.747 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:17:30.747 00 SCX_CPU1_DS_RE/1436 ut_setupevents "SCX","CPU1",{DSAppName},DS_FIL_TBL_EID, "INFO", 4 +21-237-13:17:30.749 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:17:30.750 00 SPR-I:OPRO ; Setup event 4 with DS INFO 10 +21-237-13:17:30.750 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:17:30.750 00 SCX_CPU1_DS_RE/1437 +21-237-13:17:30.750 00 SCX_CPU1_DS_RE/1438 cmdCtr = SCX_CPU1_TBL_CMDPC + 1 +21-237-13:17:30.750 00 SCX_CPU1_DS_RE/1439 +21-237-13:17:30.750 00 SCX_CPU1_DS_RE/1440 /SCX_CPU1_TBL_VALIDATE INACTIVE VTABLENAME=fileTblName +21-237-13:17:30.762 00 SCX_CPU1_DS_RE/1441 +21-237-13:17:30.762 00 SCX_CPU1_DS_RE/1442 ut_tlmwait SCX_CPU1_TBL_CMDPC, {cmdCtr} +21-237-13:17:30.766 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:17:31.157 00 TLMH-I:STS 58-012-14:10:05.001 DEBUG CPU=CPU1 APPNAME=CFE_TBL EVENT ID=16 Tbl Services issued validation request for 'DS.FILE_TBL' +21-237-13:17:34.165 00 TLMH-I:STS 58-012-14:10:08.003 ERROR CPU=CPU1 APPNAME=DS EVENT ID=11 Destination file table verify err: invalid descriptor text +21-237-13:17:34.166 00 TLMH-I:STS 58-012-14:10:08.004 ERROR CPU=CPU1 APPNAME=DS EVENT ID=11 Destination file table verify err: index = 0, invalid pathname text +21-237-13:17:34.168 00 TLMH-I:STS 58-012-14:10:08.004 INFO CPU=CPU1 APPNAME=DS EVENT ID=10 Destination file table verify results: desc text = bad, good entries = 1, bad = 8, unused = 7 +21-237-13:17:34.169 00 TLMH-I:STS 58-012-14:10:08.004 ERROR CPU=CPU1 APPNAME=CFE_TBL EVENT ID=96 DS validation failed for Inactive 'DS.FILE_TBL', Status=0xFFFFFFFF +21-237-13:17:34.771 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:17:34.773 00 SCX_CPU1_DS_RE/1443 if (UT_TW_Status = UT_Success) then +21-237-13:17:34.773 00 SCX_CPU1_DS_RE/1444 write "<*> Passed - Packet Filter Table validate command sent." +21-237-13:17:34.773 00 SPR-I:OPRO <*> Passed - Packet Filter Table validate command sent. +21-237-13:17:34.773 00 SCX_CPU1_DS_RE/1445 if (SCX_CPU1_find_event[1].num_found_messages = 1) then +21-237-13:17:34.774 00 SCX_CPU1_DS_RE/1446 write "<*> Passed - Event Msg ",SCX_CPU1_find_event[1].eventid," Found!" +21-237-13:17:34.774 00 SPR-I:OPRO <*> Passed - Event Msg 16 Found! +21-237-13:17:34.774 00 SCX_CPU1_DS_RE/1449 endif +21-237-13:17:34.774 00 SCX_CPU1_DS_RE/1452 endif +21-237-13:17:34.774 00 SCX_CPU1_DS_RE/1453 +21-237-13:17:34.774 00 SCX_CPU1_DS_RE/1455 ut_tlmwait SCX_CPU1_find_event[2].num_found_messages, 1 +21-237-13:17:34.787 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:17:34.790 00 SCX_CPU1_DS_RE/1456 if (UT_TW_Status = UT_Success) then +21-237-13:17:34.790 00 SCX_CPU1_DS_RE/1457 write "<*> Passed (9007) - Destination File Table validation failed as expected." +21-237-13:17:34.790 00 SPR-I:OPRO <*> Passed (9007) - Destination File Table validation failed as expected. +21-237-13:17:34.790 00 SCX_CPU1_DS_RE/1458 ut_setrequirements DS_9007, "P" +21-237-13:17:34.794 00 SCX_CPU1_DS_RE/1462 endif +21-237-13:17:34.794 00 SCX_CPU1_DS_RE/1463 +21-237-13:17:34.794 00 SCX_CPU1_DS_RE/1465 if (SCX_CPU1_find_event[3].num_found_messages > 0) then +21-237-13:17:34.794 00 SCX_CPU1_DS_RE/1466 write "<*> Passed - Validation Event Msg rcv'd" +21-237-13:17:34.794 00 SPR-I:OPRO <*> Passed - Validation Event Msg rcv'd +21-237-13:17:34.794 00 SCX_CPU1_DS_RE/1469 endif +21-237-13:17:34.794 00 SCX_CPU1_DS_RE/1470 +21-237-13:17:34.794 00 SCX_CPU1_DS_RE/1472 if (SCX_CPU1_find_event[4].num_found_messages > 0) then +21-237-13:17:34.795 00 SCX_CPU1_DS_RE/1473 write "<*> Passed - Validation Summary Event Msg rcv'd" +21-237-13:17:34.795 00 SPR-I:OPRO <*> Passed - Validation Summary Event Msg rcv'd +21-237-13:17:34.795 00 SCX_CPU1_DS_RE/1476 endif +21-237-13:17:34.795 00 SCX_CPU1_DS_RE/1477 +21-237-13:17:34.795 00 SCX_CPU1_DS_RE/1478 write ";***********************************************************************" +21-237-13:17:34.795 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:17:34.795 00 SCX_CPU1_DS_RE/1479 write "; Send the Table Services Load Abort command to release the buffer." +21-237-13:17:34.795 00 SPR-I:OPRO ; Send the Table Services Load Abort command to release the buffer. +21-237-13:17:34.809 00 SCX_CPU1_DS_RE/1480 write ";***********************************************************************" +21-237-13:17:34.809 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:17:34.809 00 SCX_CPU1_DS_RE/1481 ut_setupevents "SCX", "CPU1", "CFE_TBL", CFE_TBL_LOAD_ABORT_INF_EID, "INFO", 1 +21-237-13:17:34.812 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:17:34.812 00 SPR-I:OPRO ; Setup event 1 with CFE_TBL INFO 21 +21-237-13:17:34.812 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:17:34.812 00 SCX_CPU1_DS_RE/1482 +21-237-13:17:34.812 00 SCX_CPU1_DS_RE/1483 cmdCtr = SCX_CPU1_TBL_CMDPC + 1 +21-237-13:17:34.813 00 SCX_CPU1_DS_RE/1484 +21-237-13:17:34.813 00 SCX_CPU1_DS_RE/1485 /SCX_CPU1_TBL_LOADABORT ABTABLENAME=fileTblName +21-237-13:17:34.824 00 SCX_CPU1_DS_RE/1486 +21-237-13:17:34.824 00 SCX_CPU1_DS_RE/1487 ut_tlmwait SCX_CPU1_TBL_CMDPC, {cmdCtr} +21-237-13:17:34.827 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:17:35.165 00 TLMH-I:STS 58-012-14:10:09.001 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=21 Table Load Aborted for 'DS.FILE_TBL' +21-237-13:17:38.832 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:17:38.834 00 SCX_CPU1_DS_RE/1488 if (UT_TW_Status = UT_Success) then +21-237-13:17:38.834 00 SCX_CPU1_DS_RE/1489 write "<*> Passed - Load abort command sent successfully." +21-237-13:17:38.834 00 SPR-I:OPRO <*> Passed - Load abort command sent successfully. +21-237-13:17:38.834 00 SCX_CPU1_DS_RE/1492 endif +21-237-13:17:38.834 00 SCX_CPU1_DS_RE/1493 +21-237-13:17:38.835 00 SCX_CPU1_DS_RE/1495 if (SCX_CPU1_find_event[1].num_found_messages = 1) then +21-237-13:17:38.835 00 SCX_CPU1_DS_RE/1496 write "<*> Passed - Event Msg ",SCX_CPU1_find_event[1].eventid," Found!" +21-237-13:17:38.835 00 SPR-I:OPRO <*> Passed - Event Msg 21 Found! +21-237-13:17:38.835 00 SCX_CPU1_DS_RE/1499 endif +21-237-13:17:38.835 00 SCX_CPU1_DS_RE/1500 enddo +21-237-13:17:38.836 00 SCX_CPU1_DS_RE/1409 for i = 1 to 9 do +21-237-13:17:38.836 00 SCX_CPU1_DS_RE/1411 ut_setupevents "SCX","CPU1","CFE_TBL",CFE_TBL_FILE_LOADED_INF_EID,"INFO", 1 +21-237-13:17:38.838 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:17:38.838 00 SPR-I:OPRO ; Setup event 1 with CFE_TBL INFO 12 +21-237-13:17:38.838 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:17:38.839 00 SCX_CPU1_DS_RE/1412 +21-237-13:17:38.839 00 SCX_CPU1_DS_RE/1413 cmdCtr = SCX_CPU1_TBL_CMDPC + 1 +21-237-13:17:38.839 00 SCX_CPU1_DS_RE/1414 +21-237-13:17:38.839 00 SCX_CPU1_DS_RE/1415 start load_table ("ds_badfile" & i & ".tbl", hostCPU) +21-237-13:17:38.839 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/load_table.i +21-237-13:17:38.840 00 SPR-I:STS Procedure LOAD_TABLE started +21-237-13:17:38.840 00 LOAD_TABLE/2 ; +21-237-13:17:38.840 00 LOAD_TABLE/3 local logging = %liv (log_procedure) +21-237-13:17:38.840 00 LOAD_TABLE/4 %liv (log_procedure) = FALSE +21-237-13:17:38.841 00 SPR-I:OPRO Table Filename: ds_badfile2.tbl +21-237-13:17:38.842 00 SPR-I:OPRO The perl command is: perl /s/opr/accounts/global/tools/table_ftp.pl 192.168.1.8 ds_badfile2.tbl RAM:0 3 +21-237-13:17:38.842 00 SPR-I:OPRO +21-237-13:17:38.980 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-237-13:17:38.981 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:17:43.984 00 SPR-I:OPRO +21-237-13:17:43.987 00 SPR-I:OPRO Sending Command: /SCX_CPU1_TBL_LOAD LFILENAME="/ram/ds_badfile2.tbl" +21-237-13:17:44.004 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:17:44.162 00 TLMH-I:STS 58-012-14:10:18.001 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=12 Successful load of '/ram/ds_badfile2.tbl' into 'DS.FILE_TBL' working buffer +21-237-13:17:47.008 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:17:47.010 00 LOAD_TABLE/195 +21-237-13:17:47.010 00 LOAD_TABLE/196 ENDPROC +21-237-13:17:47.010 00 SPR-I:STS Procedure LOAD_TABLE completed +21-237-13:17:47.011 00 SCX_CPU1_DS_RE/1416 +21-237-13:17:47.011 00 SCX_CPU1_DS_RE/1417 ut_tlmwait SCX_CPU1_TBL_CMDPC, {cmdCtr} +21-237-13:17:47.015 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:17:47.016 00 SCX_CPU1_DS_RE/1418 if (UT_TW_Status = UT_Success) then +21-237-13:17:47.016 00 SCX_CPU1_DS_RE/1419 write "<*> Passed - Load command for Invalid Destination File Table sent successfully." +21-237-13:17:47.016 00 SPR-I:OPRO <*> Passed - Load command for Invalid Destination File Table sent successfully. +21-237-13:17:47.016 00 SCX_CPU1_DS_RE/1422 endif +21-237-13:17:47.016 00 SCX_CPU1_DS_RE/1423 +21-237-13:17:47.016 00 SCX_CPU1_DS_RE/1424 if (SCX_CPU1_find_event[1].num_found_messages = 1) then +21-237-13:17:47.016 00 SCX_CPU1_DS_RE/1425 write "<*> Passed - Event Msg ",SCX_CPU1_find_event[1].eventid," Found!" +21-237-13:17:47.016 00 SPR-I:OPRO <*> Passed - Event Msg 12 Found! +21-237-13:17:47.016 00 SCX_CPU1_DS_RE/1428 endif +21-237-13:17:47.016 00 SCX_CPU1_DS_RE/1429 +21-237-13:17:47.016 00 SCX_CPU1_DS_RE/1430 write ";***********************************************************************" +21-237-13:17:47.016 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:17:47.016 00 SCX_CPU1_DS_RE/1431 write "; Send the Table Services command to validate the inactive buffer." +21-237-13:17:47.016 00 SPR-I:OPRO ; Send the Table Services command to validate the inactive buffer. +21-237-13:17:47.016 00 SCX_CPU1_DS_RE/1432 write ";***********************************************************************" +21-237-13:17:47.016 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:17:47.020 00 SCX_CPU1_DS_RE/1433 ut_setupevents "SCX","CPU1","CFE_TBL",CFE_TBL_VAL_REQ_MADE_INF_EID, "DEBUG", 1 +21-237-13:17:47.022 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:17:47.022 00 SPR-I:OPRO ; Setup event 1 with CFE_TBL DEBUG 16 +21-237-13:17:47.022 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:17:47.022 00 SCX_CPU1_DS_RE/1434 ut_setupevents "SCX","CPU1","CFE_TBL",CFE_TBL_VALIDATION_ERR_EID, "ERROR", 2 +21-237-13:17:47.024 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:17:47.024 00 SPR-I:OPRO ; Setup event 2 with CFE_TBL ERROR 96 +21-237-13:17:47.024 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:17:47.025 00 SCX_CPU1_DS_RE/1435 ut_setupevents "SCX","CPU1",{DSAppName},DS_FIL_TBL_ERR_EID, "ERROR", 3 +21-237-13:17:47.026 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:17:47.026 00 SPR-I:OPRO ; Setup event 3 with DS ERROR 11 +21-237-13:17:47.026 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:17:47.026 00 SCX_CPU1_DS_RE/1436 ut_setupevents "SCX","CPU1",{DSAppName},DS_FIL_TBL_EID, "INFO", 4 +21-237-13:17:47.028 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:17:47.028 00 SPR-I:OPRO ; Setup event 4 with DS INFO 10 +21-237-13:17:47.028 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:17:47.029 00 SCX_CPU1_DS_RE/1437 +21-237-13:17:47.029 00 SCX_CPU1_DS_RE/1438 cmdCtr = SCX_CPU1_TBL_CMDPC + 1 +21-237-13:17:47.029 00 SCX_CPU1_DS_RE/1439 +21-237-13:17:47.029 00 SCX_CPU1_DS_RE/1440 /SCX_CPU1_TBL_VALIDATE INACTIVE VTABLENAME=fileTblName +21-237-13:17:47.033 00 SCX_CPU1_DS_RE/1441 +21-237-13:17:47.033 00 SCX_CPU1_DS_RE/1442 ut_tlmwait SCX_CPU1_TBL_CMDPC, {cmdCtr} +21-237-13:17:47.036 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:17:47.160 00 TLMH-I:STS 58-012-14:10:21.001 DEBUG CPU=CPU1 APPNAME=CFE_TBL EVENT ID=16 Tbl Services issued validation request for 'DS.FILE_TBL' +21-237-13:17:50.158 00 TLMH-I:STS 58-012-14:10:24.003 ERROR CPU=CPU1 APPNAME=DS EVENT ID=11 Destination file table verify err: index = 0, invalid pathname text +21-237-13:17:50.160 00 TLMH-I:STS 58-012-14:10:24.004 INFO CPU=CPU1 APPNAME=DS EVENT ID=10 Destination file table verify results: desc text = OK, good entries = 1, bad = 8, unused = 7 +21-237-13:17:50.161 00 TLMH-I:STS 58-012-14:10:24.004 ERROR CPU=CPU1 APPNAME=CFE_TBL EVENT ID=96 DS validation failed for Inactive 'DS.FILE_TBL', Status=0xFFFFFFFF +21-237-13:17:51.041 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:17:51.042 00 SCX_CPU1_DS_RE/1443 if (UT_TW_Status = UT_Success) then +21-237-13:17:51.043 00 SCX_CPU1_DS_RE/1444 write "<*> Passed - Packet Filter Table validate command sent." +21-237-13:17:51.043 00 SPR-I:OPRO <*> Passed - Packet Filter Table validate command sent. +21-237-13:17:51.043 00 SCX_CPU1_DS_RE/1445 if (SCX_CPU1_find_event[1].num_found_messages = 1) then +21-237-13:17:51.043 00 SCX_CPU1_DS_RE/1446 write "<*> Passed - Event Msg ",SCX_CPU1_find_event[1].eventid," Found!" +21-237-13:17:51.044 00 SPR-I:OPRO <*> Passed - Event Msg 16 Found! +21-237-13:17:51.044 00 SCX_CPU1_DS_RE/1449 endif +21-237-13:17:51.044 00 SCX_CPU1_DS_RE/1452 endif +21-237-13:17:51.044 00 SCX_CPU1_DS_RE/1453 +21-237-13:17:51.044 00 SCX_CPU1_DS_RE/1455 ut_tlmwait SCX_CPU1_find_event[2].num_found_messages, 1 +21-237-13:17:51.049 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:17:51.049 00 SCX_CPU1_DS_RE/1456 if (UT_TW_Status = UT_Success) then +21-237-13:17:51.049 00 SCX_CPU1_DS_RE/1457 write "<*> Passed (9007) - Destination File Table validation failed as expected." +21-237-13:17:51.049 00 SPR-I:OPRO <*> Passed (9007) - Destination File Table validation failed as expected. +21-237-13:17:51.049 00 SCX_CPU1_DS_RE/1458 ut_setrequirements DS_9007, "P" +21-237-13:17:51.050 00 SCX_CPU1_DS_RE/1462 endif +21-237-13:17:51.050 00 SCX_CPU1_DS_RE/1463 +21-237-13:17:51.054 00 SCX_CPU1_DS_RE/1465 if (SCX_CPU1_find_event[3].num_found_messages > 0) then +21-237-13:17:51.054 00 SCX_CPU1_DS_RE/1466 write "<*> Passed - Validation Event Msg rcv'd" +21-237-13:17:51.054 00 SPR-I:OPRO <*> Passed - Validation Event Msg rcv'd +21-237-13:17:51.054 00 SCX_CPU1_DS_RE/1469 endif +21-237-13:17:51.054 00 SCX_CPU1_DS_RE/1470 +21-237-13:17:51.054 00 SCX_CPU1_DS_RE/1472 if (SCX_CPU1_find_event[4].num_found_messages > 0) then +21-237-13:17:51.054 00 SCX_CPU1_DS_RE/1473 write "<*> Passed - Validation Summary Event Msg rcv'd" +21-237-13:17:51.054 00 SPR-I:OPRO <*> Passed - Validation Summary Event Msg rcv'd +21-237-13:17:51.054 00 SCX_CPU1_DS_RE/1476 endif +21-237-13:17:51.055 00 SCX_CPU1_DS_RE/1477 +21-237-13:17:51.055 00 SCX_CPU1_DS_RE/1478 write ";***********************************************************************" +21-237-13:17:51.055 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:17:51.055 00 SCX_CPU1_DS_RE/1479 write "; Send the Table Services Load Abort command to release the buffer." +21-237-13:17:51.055 00 SPR-I:OPRO ; Send the Table Services Load Abort command to release the buffer. +21-237-13:17:51.055 00 SCX_CPU1_DS_RE/1480 write ";***********************************************************************" +21-237-13:17:51.055 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:17:51.055 00 SCX_CPU1_DS_RE/1481 ut_setupevents "SCX", "CPU1", "CFE_TBL", CFE_TBL_LOAD_ABORT_INF_EID, "INFO", 1 +21-237-13:17:51.057 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:17:51.057 00 SPR-I:OPRO ; Setup event 1 with CFE_TBL INFO 21 +21-237-13:17:51.057 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:17:51.058 00 SCX_CPU1_DS_RE/1482 +21-237-13:17:51.058 00 SCX_CPU1_DS_RE/1483 cmdCtr = SCX_CPU1_TBL_CMDPC + 1 +21-237-13:17:51.058 00 SCX_CPU1_DS_RE/1484 +21-237-13:17:51.058 00 SCX_CPU1_DS_RE/1485 /SCX_CPU1_TBL_LOADABORT ABTABLENAME=fileTblName +21-237-13:17:51.070 00 SCX_CPU1_DS_RE/1486 +21-237-13:17:51.070 00 SCX_CPU1_DS_RE/1487 ut_tlmwait SCX_CPU1_TBL_CMDPC, {cmdCtr} +21-237-13:17:51.073 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:17:51.656 00 TLMH-I:STS 58-012-14:10:25.500 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=21 Table Load Aborted for 'DS.FILE_TBL' +21-237-13:17:55.077 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:17:55.078 00 SCX_CPU1_DS_RE/1488 if (UT_TW_Status = UT_Success) then +21-237-13:17:55.078 00 SCX_CPU1_DS_RE/1489 write "<*> Passed - Load abort command sent successfully." +21-237-13:17:55.078 00 SPR-I:OPRO <*> Passed - Load abort command sent successfully. +21-237-13:17:55.078 00 SCX_CPU1_DS_RE/1492 endif +21-237-13:17:55.078 00 SCX_CPU1_DS_RE/1493 +21-237-13:17:55.078 00 SCX_CPU1_DS_RE/1495 if (SCX_CPU1_find_event[1].num_found_messages = 1) then +21-237-13:17:55.078 00 SCX_CPU1_DS_RE/1496 write "<*> Passed - Event Msg ",SCX_CPU1_find_event[1].eventid," Found!" +21-237-13:17:55.078 00 SPR-I:OPRO <*> Passed - Event Msg 21 Found! +21-237-13:17:55.078 00 SCX_CPU1_DS_RE/1499 endif +21-237-13:17:55.079 00 SCX_CPU1_DS_RE/1500 enddo +21-237-13:17:55.079 00 SCX_CPU1_DS_RE/1409 for i = 1 to 9 do +21-237-13:17:55.079 00 SCX_CPU1_DS_RE/1411 ut_setupevents "SCX","CPU1","CFE_TBL",CFE_TBL_FILE_LOADED_INF_EID,"INFO", 1 +21-237-13:17:55.081 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:17:55.082 00 SPR-I:OPRO ; Setup event 1 with CFE_TBL INFO 12 +21-237-13:17:55.082 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:17:55.082 00 SCX_CPU1_DS_RE/1412 +21-237-13:17:55.082 00 SCX_CPU1_DS_RE/1413 cmdCtr = SCX_CPU1_TBL_CMDPC + 1 +21-237-13:17:55.082 00 SCX_CPU1_DS_RE/1414 +21-237-13:17:55.082 00 SCX_CPU1_DS_RE/1415 start load_table ("ds_badfile" & i & ".tbl", hostCPU) +21-237-13:17:55.083 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/load_table.i +21-237-13:17:55.086 00 SPR-I:STS Procedure LOAD_TABLE started +21-237-13:17:55.086 00 LOAD_TABLE/2 ; +21-237-13:17:55.086 00 LOAD_TABLE/3 local logging = %liv (log_procedure) +21-237-13:17:55.086 00 LOAD_TABLE/4 %liv (log_procedure) = FALSE +21-237-13:17:55.088 00 SPR-I:OPRO Table Filename: ds_badfile3.tbl +21-237-13:17:55.091 00 SPR-I:OPRO The perl command is: perl /s/opr/accounts/global/tools/table_ftp.pl 192.168.1.8 ds_badfile3.tbl RAM:0 3 +21-237-13:17:55.091 00 SPR-I:OPRO +21-237-13:17:55.238 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-237-13:17:55.238 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:18:00.244 00 SPR-I:OPRO +21-237-13:18:00.247 00 SPR-I:OPRO Sending Command: /SCX_CPU1_TBL_LOAD LFILENAME="/ram/ds_badfile3.tbl" +21-237-13:18:00.272 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:18:00.656 00 TLMH-I:STS 58-012-14:10:34.501 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=12 Successful load of '/ram/ds_badfile3.tbl' into 'DS.FILE_TBL' working buffer +21-237-13:18:02.275 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:18:02.276 00 LOAD_TABLE/195 +21-237-13:18:02.276 00 LOAD_TABLE/196 ENDPROC +21-237-13:18:02.276 00 SPR-I:STS Procedure LOAD_TABLE completed +21-237-13:18:02.277 00 SCX_CPU1_DS_RE/1416 +21-237-13:18:02.277 00 SCX_CPU1_DS_RE/1417 ut_tlmwait SCX_CPU1_TBL_CMDPC, {cmdCtr} +21-237-13:18:02.282 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:18:02.283 00 SCX_CPU1_DS_RE/1418 if (UT_TW_Status = UT_Success) then +21-237-13:18:02.283 00 SCX_CPU1_DS_RE/1419 write "<*> Passed - Load command for Invalid Destination File Table sent successfully." +21-237-13:18:02.283 00 SPR-I:OPRO <*> Passed - Load command for Invalid Destination File Table sent successfully. +21-237-13:18:02.283 00 SCX_CPU1_DS_RE/1422 endif +21-237-13:18:02.283 00 SCX_CPU1_DS_RE/1423 +21-237-13:18:02.283 00 SCX_CPU1_DS_RE/1424 if (SCX_CPU1_find_event[1].num_found_messages = 1) then +21-237-13:18:02.283 00 SCX_CPU1_DS_RE/1425 write "<*> Passed - Event Msg ",SCX_CPU1_find_event[1].eventid," Found!" +21-237-13:18:02.283 00 SPR-I:OPRO <*> Passed - Event Msg 12 Found! +21-237-13:18:02.283 00 SCX_CPU1_DS_RE/1428 endif +21-237-13:18:02.283 00 SCX_CPU1_DS_RE/1429 +21-237-13:18:02.283 00 SCX_CPU1_DS_RE/1430 write ";***********************************************************************" +21-237-13:18:02.283 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:02.283 00 SCX_CPU1_DS_RE/1431 write "; Send the Table Services command to validate the inactive buffer." +21-237-13:18:02.283 00 SPR-I:OPRO ; Send the Table Services command to validate the inactive buffer. +21-237-13:18:02.283 00 SCX_CPU1_DS_RE/1432 write ";***********************************************************************" +21-237-13:18:02.283 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:02.283 00 SCX_CPU1_DS_RE/1433 ut_setupevents "SCX","CPU1","CFE_TBL",CFE_TBL_VAL_REQ_MADE_INF_EID, "DEBUG", 1 +21-237-13:18:02.284 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:02.284 00 SPR-I:OPRO ; Setup event 1 with CFE_TBL DEBUG 16 +21-237-13:18:02.284 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:02.286 00 SCX_CPU1_DS_RE/1434 ut_setupevents "SCX","CPU1","CFE_TBL",CFE_TBL_VALIDATION_ERR_EID, "ERROR", 2 +21-237-13:18:02.288 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:02.288 00 SPR-I:OPRO ; Setup event 2 with CFE_TBL ERROR 96 +21-237-13:18:02.288 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:02.288 00 SCX_CPU1_DS_RE/1435 ut_setupevents "SCX","CPU1",{DSAppName},DS_FIL_TBL_ERR_EID, "ERROR", 3 +21-237-13:18:02.290 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:02.290 00 SPR-I:OPRO ; Setup event 3 with DS ERROR 11 +21-237-13:18:02.290 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:02.290 00 SCX_CPU1_DS_RE/1436 ut_setupevents "SCX","CPU1",{DSAppName},DS_FIL_TBL_EID, "INFO", 4 +21-237-13:18:02.292 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:02.292 00 SPR-I:OPRO ; Setup event 4 with DS INFO 10 +21-237-13:18:02.292 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:02.292 00 SCX_CPU1_DS_RE/1437 +21-237-13:18:02.292 00 SCX_CPU1_DS_RE/1438 cmdCtr = SCX_CPU1_TBL_CMDPC + 1 +21-237-13:18:02.292 00 SCX_CPU1_DS_RE/1439 +21-237-13:18:02.292 00 SCX_CPU1_DS_RE/1440 /SCX_CPU1_TBL_VALIDATE INACTIVE VTABLENAME=fileTblName +21-237-13:18:02.304 00 SCX_CPU1_DS_RE/1441 +21-237-13:18:02.304 00 SCX_CPU1_DS_RE/1442 ut_tlmwait SCX_CPU1_TBL_CMDPC, {cmdCtr} +21-237-13:18:02.307 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:18:02.662 00 TLMH-I:STS 58-012-14:10:36.501 DEBUG CPU=CPU1 APPNAME=CFE_TBL EVENT ID=16 Tbl Services issued validation request for 'DS.FILE_TBL' +21-237-13:18:06.164 00 TLMH-I:STS 58-012-14:10:40.003 ERROR CPU=CPU1 APPNAME=DS EVENT ID=11 Destination file table verify err: index = 1, filename type = 3 +21-237-13:18:06.165 00 TLMH-I:STS 58-012-14:10:40.004 INFO CPU=CPU1 APPNAME=DS EVENT ID=10 Destination file table verify results: desc text = OK, good entries = 2, bad = 7, unused = 7 +21-237-13:18:06.166 00 TLMH-I:STS 58-012-14:10:40.004 ERROR CPU=CPU1 APPNAME=CFE_TBL EVENT ID=96 DS validation failed for Inactive 'DS.FILE_TBL', Status=0xFFFFFFFF +21-237-13:18:06.312 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:18:06.314 00 SCX_CPU1_DS_RE/1443 if (UT_TW_Status = UT_Success) then +21-237-13:18:06.314 00 SCX_CPU1_DS_RE/1444 write "<*> Passed - Packet Filter Table validate command sent." +21-237-13:18:06.314 00 SPR-I:OPRO <*> Passed - Packet Filter Table validate command sent. +21-237-13:18:06.314 00 SCX_CPU1_DS_RE/1445 if (SCX_CPU1_find_event[1].num_found_messages = 1) then +21-237-13:18:06.315 00 SCX_CPU1_DS_RE/1446 write "<*> Passed - Event Msg ",SCX_CPU1_find_event[1].eventid," Found!" +21-237-13:18:06.315 00 SPR-I:OPRO <*> Passed - Event Msg 16 Found! +21-237-13:18:06.315 00 SCX_CPU1_DS_RE/1449 endif +21-237-13:18:06.315 00 SCX_CPU1_DS_RE/1452 endif +21-237-13:18:06.316 00 SCX_CPU1_DS_RE/1453 +21-237-13:18:06.316 00 SCX_CPU1_DS_RE/1455 ut_tlmwait SCX_CPU1_find_event[2].num_found_messages, 1 +21-237-13:18:06.330 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:18:06.332 00 SCX_CPU1_DS_RE/1456 if (UT_TW_Status = UT_Success) then +21-237-13:18:06.332 00 SCX_CPU1_DS_RE/1457 write "<*> Passed (9007) - Destination File Table validation failed as expected." +21-237-13:18:06.332 00 SPR-I:OPRO <*> Passed (9007) - Destination File Table validation failed as expected. +21-237-13:18:06.332 00 SCX_CPU1_DS_RE/1458 ut_setrequirements DS_9007, "P" +21-237-13:18:06.336 00 SCX_CPU1_DS_RE/1462 endif +21-237-13:18:06.336 00 SCX_CPU1_DS_RE/1463 +21-237-13:18:06.337 00 SCX_CPU1_DS_RE/1465 if (SCX_CPU1_find_event[3].num_found_messages > 0) then +21-237-13:18:06.337 00 SCX_CPU1_DS_RE/1466 write "<*> Passed - Validation Event Msg rcv'd" +21-237-13:18:06.337 00 SPR-I:OPRO <*> Passed - Validation Event Msg rcv'd +21-237-13:18:06.337 00 SCX_CPU1_DS_RE/1469 endif +21-237-13:18:06.337 00 SCX_CPU1_DS_RE/1470 +21-237-13:18:06.337 00 SCX_CPU1_DS_RE/1472 if (SCX_CPU1_find_event[4].num_found_messages > 0) then +21-237-13:18:06.338 00 SCX_CPU1_DS_RE/1473 write "<*> Passed - Validation Summary Event Msg rcv'd" +21-237-13:18:06.338 00 SPR-I:OPRO <*> Passed - Validation Summary Event Msg rcv'd +21-237-13:18:06.338 00 SCX_CPU1_DS_RE/1476 endif +21-237-13:18:06.338 00 SCX_CPU1_DS_RE/1477 +21-237-13:18:06.338 00 SCX_CPU1_DS_RE/1478 write ";***********************************************************************" +21-237-13:18:06.338 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:06.338 00 SCX_CPU1_DS_RE/1479 write "; Send the Table Services Load Abort command to release the buffer." +21-237-13:18:06.338 00 SPR-I:OPRO ; Send the Table Services Load Abort command to release the buffer. +21-237-13:18:06.357 00 SCX_CPU1_DS_RE/1480 write ";***********************************************************************" +21-237-13:18:06.357 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:06.357 00 SCX_CPU1_DS_RE/1481 ut_setupevents "SCX", "CPU1", "CFE_TBL", CFE_TBL_LOAD_ABORT_INF_EID, "INFO", 1 +21-237-13:18:06.362 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:06.362 00 SPR-I:OPRO ; Setup event 1 with CFE_TBL INFO 21 +21-237-13:18:06.362 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:06.362 00 SCX_CPU1_DS_RE/1482 +21-237-13:18:06.362 00 SCX_CPU1_DS_RE/1483 cmdCtr = SCX_CPU1_TBL_CMDPC + 1 +21-237-13:18:06.362 00 SCX_CPU1_DS_RE/1484 +21-237-13:18:06.362 00 SCX_CPU1_DS_RE/1485 /SCX_CPU1_TBL_LOADABORT ABTABLENAME=fileTblName +21-237-13:18:06.364 00 SCX_CPU1_DS_RE/1486 +21-237-13:18:06.364 00 SCX_CPU1_DS_RE/1487 ut_tlmwait SCX_CPU1_TBL_CMDPC, {cmdCtr} +21-237-13:18:06.368 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:18:06.663 00 TLMH-I:STS 58-012-14:10:40.500 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=21 Table Load Aborted for 'DS.FILE_TBL' +21-237-13:18:10.373 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:18:10.375 00 SCX_CPU1_DS_RE/1488 if (UT_TW_Status = UT_Success) then +21-237-13:18:10.375 00 SCX_CPU1_DS_RE/1489 write "<*> Passed - Load abort command sent successfully." +21-237-13:18:10.375 00 SPR-I:OPRO <*> Passed - Load abort command sent successfully. +21-237-13:18:10.376 00 SCX_CPU1_DS_RE/1492 endif +21-237-13:18:10.376 00 SCX_CPU1_DS_RE/1493 +21-237-13:18:10.376 00 SCX_CPU1_DS_RE/1495 if (SCX_CPU1_find_event[1].num_found_messages = 1) then +21-237-13:18:10.376 00 SCX_CPU1_DS_RE/1496 write "<*> Passed - Event Msg ",SCX_CPU1_find_event[1].eventid," Found!" +21-237-13:18:10.377 00 SPR-I:OPRO <*> Passed - Event Msg 21 Found! +21-237-13:18:10.377 00 SCX_CPU1_DS_RE/1499 endif +21-237-13:18:10.377 00 SCX_CPU1_DS_RE/1500 enddo +21-237-13:18:10.378 00 SCX_CPU1_DS_RE/1409 for i = 1 to 9 do +21-237-13:18:10.378 00 SCX_CPU1_DS_RE/1411 ut_setupevents "SCX","CPU1","CFE_TBL",CFE_TBL_FILE_LOADED_INF_EID,"INFO", 1 +21-237-13:18:10.380 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:10.380 00 SPR-I:OPRO ; Setup event 1 with CFE_TBL INFO 12 +21-237-13:18:10.380 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:10.381 00 SCX_CPU1_DS_RE/1412 +21-237-13:18:10.381 00 SCX_CPU1_DS_RE/1413 cmdCtr = SCX_CPU1_TBL_CMDPC + 1 +21-237-13:18:10.381 00 SCX_CPU1_DS_RE/1414 +21-237-13:18:10.381 00 SCX_CPU1_DS_RE/1415 start load_table ("ds_badfile" & i & ".tbl", hostCPU) +21-237-13:18:10.381 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/load_table.i +21-237-13:18:10.382 00 SPR-I:STS Procedure LOAD_TABLE started +21-237-13:18:10.382 00 LOAD_TABLE/2 ; +21-237-13:18:10.382 00 LOAD_TABLE/3 local logging = %liv (log_procedure) +21-237-13:18:10.382 00 LOAD_TABLE/4 %liv (log_procedure) = FALSE +21-237-13:18:10.383 00 SPR-I:OPRO Table Filename: ds_badfile4.tbl +21-237-13:18:10.384 00 SPR-I:OPRO The perl command is: perl /s/opr/accounts/global/tools/table_ftp.pl 192.168.1.8 ds_badfile4.tbl RAM:0 3 +21-237-13:18:10.384 00 SPR-I:OPRO +21-237-13:18:10.519 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-237-13:18:10.519 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:18:15.523 00 SPR-I:OPRO +21-237-13:18:15.527 00 SPR-I:OPRO Sending Command: /SCX_CPU1_TBL_LOAD LFILENAME="/ram/ds_badfile4.tbl" +21-237-13:18:15.546 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:18:15.658 00 TLMH-I:STS 58-012-14:10:49.501 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=12 Successful load of '/ram/ds_badfile4.tbl' into 'DS.FILE_TBL' working buffer +21-237-13:18:18.550 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:18:18.551 00 LOAD_TABLE/195 +21-237-13:18:18.551 00 LOAD_TABLE/196 ENDPROC +21-237-13:18:18.551 00 SPR-I:STS Procedure LOAD_TABLE completed +21-237-13:18:18.553 00 SCX_CPU1_DS_RE/1416 +21-237-13:18:18.553 00 SCX_CPU1_DS_RE/1417 ut_tlmwait SCX_CPU1_TBL_CMDPC, {cmdCtr} +21-237-13:18:18.559 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:18:18.559 00 SCX_CPU1_DS_RE/1418 if (UT_TW_Status = UT_Success) then +21-237-13:18:18.559 00 SCX_CPU1_DS_RE/1419 write "<*> Passed - Load command for Invalid Destination File Table sent successfully." +21-237-13:18:18.559 00 SPR-I:OPRO <*> Passed - Load command for Invalid Destination File Table sent successfully. +21-237-13:18:18.559 00 SCX_CPU1_DS_RE/1422 endif +21-237-13:18:18.559 00 SCX_CPU1_DS_RE/1423 +21-237-13:18:18.559 00 SCX_CPU1_DS_RE/1424 if (SCX_CPU1_find_event[1].num_found_messages = 1) then +21-237-13:18:18.560 00 SCX_CPU1_DS_RE/1425 write "<*> Passed - Event Msg ",SCX_CPU1_find_event[1].eventid," Found!" +21-237-13:18:18.560 00 SPR-I:OPRO <*> Passed - Event Msg 12 Found! +21-237-13:18:18.560 00 SCX_CPU1_DS_RE/1428 endif +21-237-13:18:18.560 00 SCX_CPU1_DS_RE/1429 +21-237-13:18:18.560 00 SCX_CPU1_DS_RE/1430 write ";***********************************************************************" +21-237-13:18:18.560 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:18.560 00 SCX_CPU1_DS_RE/1431 write "; Send the Table Services command to validate the inactive buffer." +21-237-13:18:18.560 00 SPR-I:OPRO ; Send the Table Services command to validate the inactive buffer. +21-237-13:18:18.560 00 SCX_CPU1_DS_RE/1432 write ";***********************************************************************" +21-237-13:18:18.560 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:18.560 00 SCX_CPU1_DS_RE/1433 ut_setupevents "SCX","CPU1","CFE_TBL",CFE_TBL_VAL_REQ_MADE_INF_EID, "DEBUG", 1 +21-237-13:18:18.561 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:18.562 00 SPR-I:OPRO ; Setup event 1 with CFE_TBL DEBUG 16 +21-237-13:18:18.562 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:18.564 00 SCX_CPU1_DS_RE/1434 ut_setupevents "SCX","CPU1","CFE_TBL",CFE_TBL_VALIDATION_ERR_EID, "ERROR", 2 +21-237-13:18:18.566 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:18.566 00 SPR-I:OPRO ; Setup event 2 with CFE_TBL ERROR 96 +21-237-13:18:18.566 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:18.566 00 SCX_CPU1_DS_RE/1435 ut_setupevents "SCX","CPU1",{DSAppName},DS_FIL_TBL_ERR_EID, "ERROR", 3 +21-237-13:18:18.568 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:18.568 00 SPR-I:OPRO ; Setup event 3 with DS ERROR 11 +21-237-13:18:18.568 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:18.569 00 SCX_CPU1_DS_RE/1436 ut_setupevents "SCX","CPU1",{DSAppName},DS_FIL_TBL_EID, "INFO", 4 +21-237-13:18:18.570 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:18.570 00 SPR-I:OPRO ; Setup event 4 with DS INFO 10 +21-237-13:18:18.570 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:18.571 00 SCX_CPU1_DS_RE/1437 +21-237-13:18:18.571 00 SCX_CPU1_DS_RE/1438 cmdCtr = SCX_CPU1_TBL_CMDPC + 1 +21-237-13:18:18.571 00 SCX_CPU1_DS_RE/1439 +21-237-13:18:18.571 00 SCX_CPU1_DS_RE/1440 /SCX_CPU1_TBL_VALIDATE INACTIVE VTABLENAME=fileTblName +21-237-13:18:18.573 00 SCX_CPU1_DS_RE/1441 +21-237-13:18:18.573 00 SCX_CPU1_DS_RE/1442 ut_tlmwait SCX_CPU1_TBL_CMDPC, {cmdCtr} +21-237-13:18:18.576 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:18:19.158 00 TLMH-I:STS 58-012-14:10:53.001 DEBUG CPU=CPU1 APPNAME=CFE_TBL EVENT ID=16 Tbl Services issued validation request for 'DS.FILE_TBL' +21-237-13:18:22.157 00 TLMH-I:STS 58-012-14:10:56.003 ERROR CPU=CPU1 APPNAME=DS EVENT ID=11 Destination file table verify err: index = 2, file enable state = 2 +21-237-13:18:22.159 00 TLMH-I:STS 58-012-14:10:56.004 INFO CPU=CPU1 APPNAME=DS EVENT ID=10 Destination file table verify results: desc text = OK, good entries = 3, bad = 6, unused = 7 +21-237-13:18:22.160 00 TLMH-I:STS 58-012-14:10:56.004 ERROR CPU=CPU1 APPNAME=CFE_TBL EVENT ID=96 DS validation failed for Inactive 'DS.FILE_TBL', Status=0xFFFFFFFF +21-237-13:18:22.581 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:18:22.582 00 SCX_CPU1_DS_RE/1443 if (UT_TW_Status = UT_Success) then +21-237-13:18:22.583 00 SCX_CPU1_DS_RE/1444 write "<*> Passed - Packet Filter Table validate command sent." +21-237-13:18:22.583 00 SPR-I:OPRO <*> Passed - Packet Filter Table validate command sent. +21-237-13:18:22.583 00 SCX_CPU1_DS_RE/1445 if (SCX_CPU1_find_event[1].num_found_messages = 1) then +21-237-13:18:22.583 00 SCX_CPU1_DS_RE/1446 write "<*> Passed - Event Msg ",SCX_CPU1_find_event[1].eventid," Found!" +21-237-13:18:22.583 00 SPR-I:OPRO <*> Passed - Event Msg 16 Found! +21-237-13:18:22.584 00 SCX_CPU1_DS_RE/1449 endif +21-237-13:18:22.584 00 SCX_CPU1_DS_RE/1452 endif +21-237-13:18:22.584 00 SCX_CPU1_DS_RE/1453 +21-237-13:18:22.584 00 SCX_CPU1_DS_RE/1455 ut_tlmwait SCX_CPU1_find_event[2].num_found_messages, 1 +21-237-13:18:22.588 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:18:22.589 00 SCX_CPU1_DS_RE/1456 if (UT_TW_Status = UT_Success) then +21-237-13:18:22.589 00 SCX_CPU1_DS_RE/1457 write "<*> Passed (9007) - Destination File Table validation failed as expected." +21-237-13:18:22.589 00 SPR-I:OPRO <*> Passed (9007) - Destination File Table validation failed as expected. +21-237-13:18:22.589 00 SCX_CPU1_DS_RE/1458 ut_setrequirements DS_9007, "P" +21-237-13:18:22.590 00 SCX_CPU1_DS_RE/1462 endif +21-237-13:18:22.590 00 SCX_CPU1_DS_RE/1463 +21-237-13:18:22.590 00 SCX_CPU1_DS_RE/1465 if (SCX_CPU1_find_event[3].num_found_messages > 0) then +21-237-13:18:22.590 00 SCX_CPU1_DS_RE/1466 write "<*> Passed - Validation Event Msg rcv'd" +21-237-13:18:22.590 00 SPR-I:OPRO <*> Passed - Validation Event Msg rcv'd +21-237-13:18:22.590 00 SCX_CPU1_DS_RE/1469 endif +21-237-13:18:22.590 00 SCX_CPU1_DS_RE/1470 +21-237-13:18:22.590 00 SCX_CPU1_DS_RE/1472 if (SCX_CPU1_find_event[4].num_found_messages > 0) then +21-237-13:18:22.590 00 SCX_CPU1_DS_RE/1473 write "<*> Passed - Validation Summary Event Msg rcv'd" +21-237-13:18:22.590 00 SPR-I:OPRO <*> Passed - Validation Summary Event Msg rcv'd +21-237-13:18:22.590 00 SCX_CPU1_DS_RE/1476 endif +21-237-13:18:22.590 00 SCX_CPU1_DS_RE/1477 +21-237-13:18:22.590 00 SCX_CPU1_DS_RE/1478 write ";***********************************************************************" +21-237-13:18:22.590 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:22.590 00 SCX_CPU1_DS_RE/1479 write "; Send the Table Services Load Abort command to release the buffer." +21-237-13:18:22.590 00 SPR-I:OPRO ; Send the Table Services Load Abort command to release the buffer. +21-237-13:18:22.596 00 SCX_CPU1_DS_RE/1480 write ";***********************************************************************" +21-237-13:18:22.596 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:22.596 00 SCX_CPU1_DS_RE/1481 ut_setupevents "SCX", "CPU1", "CFE_TBL", CFE_TBL_LOAD_ABORT_INF_EID, "INFO", 1 +21-237-13:18:22.597 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:22.597 00 SPR-I:OPRO ; Setup event 1 with CFE_TBL INFO 21 +21-237-13:18:22.598 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:22.598 00 SCX_CPU1_DS_RE/1482 +21-237-13:18:22.598 00 SCX_CPU1_DS_RE/1483 cmdCtr = SCX_CPU1_TBL_CMDPC + 1 +21-237-13:18:22.598 00 SCX_CPU1_DS_RE/1484 +21-237-13:18:22.598 00 SCX_CPU1_DS_RE/1485 /SCX_CPU1_TBL_LOADABORT ABTABLENAME=fileTblName +21-237-13:18:22.609 00 SCX_CPU1_DS_RE/1486 +21-237-13:18:22.609 00 SCX_CPU1_DS_RE/1487 ut_tlmwait SCX_CPU1_TBL_CMDPC, {cmdCtr} +21-237-13:18:22.613 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:18:23.163 00 TLMH-I:STS 58-012-14:10:57.001 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=21 Table Load Aborted for 'DS.FILE_TBL' +21-237-13:18:26.617 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:18:26.619 00 SCX_CPU1_DS_RE/1488 if (UT_TW_Status = UT_Success) then +21-237-13:18:26.619 00 SCX_CPU1_DS_RE/1489 write "<*> Passed - Load abort command sent successfully." +21-237-13:18:26.619 00 SPR-I:OPRO <*> Passed - Load abort command sent successfully. +21-237-13:18:26.619 00 SCX_CPU1_DS_RE/1492 endif +21-237-13:18:26.620 00 SCX_CPU1_DS_RE/1493 +21-237-13:18:26.620 00 SCX_CPU1_DS_RE/1495 if (SCX_CPU1_find_event[1].num_found_messages = 1) then +21-237-13:18:26.620 00 SCX_CPU1_DS_RE/1496 write "<*> Passed - Event Msg ",SCX_CPU1_find_event[1].eventid," Found!" +21-237-13:18:26.620 00 SPR-I:OPRO <*> Passed - Event Msg 21 Found! +21-237-13:18:26.620 00 SCX_CPU1_DS_RE/1499 endif +21-237-13:18:26.620 00 SCX_CPU1_DS_RE/1500 enddo +21-237-13:18:26.621 00 SCX_CPU1_DS_RE/1409 for i = 1 to 9 do +21-237-13:18:26.621 00 SCX_CPU1_DS_RE/1411 ut_setupevents "SCX","CPU1","CFE_TBL",CFE_TBL_FILE_LOADED_INF_EID,"INFO", 1 +21-237-13:18:26.625 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:26.625 00 SPR-I:OPRO ; Setup event 1 with CFE_TBL INFO 12 +21-237-13:18:26.625 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:26.625 00 SCX_CPU1_DS_RE/1412 +21-237-13:18:26.625 00 SCX_CPU1_DS_RE/1413 cmdCtr = SCX_CPU1_TBL_CMDPC + 1 +21-237-13:18:26.625 00 SCX_CPU1_DS_RE/1414 +21-237-13:18:26.625 00 SCX_CPU1_DS_RE/1415 start load_table ("ds_badfile" & i & ".tbl", hostCPU) +21-237-13:18:26.625 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/load_table.i +21-237-13:18:26.628 00 SPR-I:STS Procedure LOAD_TABLE started +21-237-13:18:26.628 00 LOAD_TABLE/2 ; +21-237-13:18:26.628 00 LOAD_TABLE/3 local logging = %liv (log_procedure) +21-237-13:18:26.628 00 LOAD_TABLE/4 %liv (log_procedure) = FALSE +21-237-13:18:26.629 00 SPR-I:OPRO Table Filename: ds_badfile5.tbl +21-237-13:18:26.630 00 SPR-I:OPRO The perl command is: perl /s/opr/accounts/global/tools/table_ftp.pl 192.168.1.8 ds_badfile5.tbl RAM:0 3 +21-237-13:18:26.630 00 SPR-I:OPRO +21-237-13:18:26.764 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-237-13:18:26.764 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:18:31.769 00 SPR-I:OPRO +21-237-13:18:31.770 00 SPR-I:OPRO Sending Command: /SCX_CPU1_TBL_LOAD LFILENAME="/ram/ds_badfile5.tbl" +21-237-13:18:31.787 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:18:32.164 00 TLMH-I:STS 58-012-14:11:06.001 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=12 Successful load of '/ram/ds_badfile5.tbl' into 'DS.FILE_TBL' working buffer +21-237-13:18:34.790 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:18:34.791 00 LOAD_TABLE/195 +21-237-13:18:34.791 00 LOAD_TABLE/196 ENDPROC +21-237-13:18:34.791 00 SPR-I:STS Procedure LOAD_TABLE completed +21-237-13:18:34.791 00 SCX_CPU1_DS_RE/1416 +21-237-13:18:34.791 00 SCX_CPU1_DS_RE/1417 ut_tlmwait SCX_CPU1_TBL_CMDPC, {cmdCtr} +21-237-13:18:34.796 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:18:34.796 00 SCX_CPU1_DS_RE/1418 if (UT_TW_Status = UT_Success) then +21-237-13:18:34.796 00 SCX_CPU1_DS_RE/1419 write "<*> Passed - Load command for Invalid Destination File Table sent successfully." +21-237-13:18:34.796 00 SPR-I:OPRO <*> Passed - Load command for Invalid Destination File Table sent successfully. +21-237-13:18:34.796 00 SCX_CPU1_DS_RE/1422 endif +21-237-13:18:34.796 00 SCX_CPU1_DS_RE/1423 +21-237-13:18:34.796 00 SCX_CPU1_DS_RE/1424 if (SCX_CPU1_find_event[1].num_found_messages = 1) then +21-237-13:18:34.796 00 SCX_CPU1_DS_RE/1425 write "<*> Passed - Event Msg ",SCX_CPU1_find_event[1].eventid," Found!" +21-237-13:18:34.796 00 SPR-I:OPRO <*> Passed - Event Msg 12 Found! +21-237-13:18:34.796 00 SCX_CPU1_DS_RE/1428 endif +21-237-13:18:34.796 00 SCX_CPU1_DS_RE/1429 +21-237-13:18:34.796 00 SCX_CPU1_DS_RE/1430 write ";***********************************************************************" +21-237-13:18:34.797 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:34.797 00 SCX_CPU1_DS_RE/1431 write "; Send the Table Services command to validate the inactive buffer." +21-237-13:18:34.797 00 SPR-I:OPRO ; Send the Table Services command to validate the inactive buffer. +21-237-13:18:34.797 00 SCX_CPU1_DS_RE/1432 write ";***********************************************************************" +21-237-13:18:34.797 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:34.797 00 SCX_CPU1_DS_RE/1433 ut_setupevents "SCX","CPU1","CFE_TBL",CFE_TBL_VAL_REQ_MADE_INF_EID, "DEBUG", 1 +21-237-13:18:34.798 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:34.798 00 SPR-I:OPRO ; Setup event 1 with CFE_TBL DEBUG 16 +21-237-13:18:34.798 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:34.801 00 SCX_CPU1_DS_RE/1434 ut_setupevents "SCX","CPU1","CFE_TBL",CFE_TBL_VALIDATION_ERR_EID, "ERROR", 2 +21-237-13:18:34.802 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:34.803 00 SPR-I:OPRO ; Setup event 2 with CFE_TBL ERROR 96 +21-237-13:18:34.803 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:34.803 00 SCX_CPU1_DS_RE/1435 ut_setupevents "SCX","CPU1",{DSAppName},DS_FIL_TBL_ERR_EID, "ERROR", 3 +21-237-13:18:34.804 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:34.805 00 SPR-I:OPRO ; Setup event 3 with DS ERROR 11 +21-237-13:18:34.805 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:34.805 00 SCX_CPU1_DS_RE/1436 ut_setupevents "SCX","CPU1",{DSAppName},DS_FIL_TBL_EID, "INFO", 4 +21-237-13:18:34.807 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:34.807 00 SPR-I:OPRO ; Setup event 4 with DS INFO 10 +21-237-13:18:34.807 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:34.807 00 SCX_CPU1_DS_RE/1437 +21-237-13:18:34.807 00 SCX_CPU1_DS_RE/1438 cmdCtr = SCX_CPU1_TBL_CMDPC + 1 +21-237-13:18:34.807 00 SCX_CPU1_DS_RE/1439 +21-237-13:18:34.807 00 SCX_CPU1_DS_RE/1440 /SCX_CPU1_TBL_VALIDATE INACTIVE VTABLENAME=fileTblName +21-237-13:18:34.819 00 SCX_CPU1_DS_RE/1441 +21-237-13:18:34.819 00 SCX_CPU1_DS_RE/1442 ut_tlmwait SCX_CPU1_TBL_CMDPC, {cmdCtr} +21-237-13:18:34.822 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:18:35.165 00 TLMH-I:STS 58-012-14:11:09.001 DEBUG CPU=CPU1 APPNAME=CFE_TBL EVENT ID=16 Tbl Services issued validation request for 'DS.FILE_TBL' +21-237-13:18:38.163 00 TLMH-I:STS 58-012-14:11:12.004 ERROR CPU=CPU1 APPNAME=DS EVENT ID=11 Destination file table verify err: index = 3, max file size = 512 +21-237-13:18:38.164 00 TLMH-I:STS 58-012-14:11:12.004 INFO CPU=CPU1 APPNAME=DS EVENT ID=10 Destination file table verify results: desc text = OK, good entries = 4, bad = 5, unused = 7 +21-237-13:18:38.166 00 TLMH-I:STS 58-012-14:11:12.004 ERROR CPU=CPU1 APPNAME=CFE_TBL EVENT ID=96 DS validation failed for Inactive 'DS.FILE_TBL', Status=0xFFFFFFFF +21-237-13:18:38.826 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:18:38.828 00 SCX_CPU1_DS_RE/1443 if (UT_TW_Status = UT_Success) then +21-237-13:18:38.828 00 SCX_CPU1_DS_RE/1444 write "<*> Passed - Packet Filter Table validate command sent." +21-237-13:18:38.828 00 SPR-I:OPRO <*> Passed - Packet Filter Table validate command sent. +21-237-13:18:38.829 00 SCX_CPU1_DS_RE/1445 if (SCX_CPU1_find_event[1].num_found_messages = 1) then +21-237-13:18:38.829 00 SCX_CPU1_DS_RE/1446 write "<*> Passed - Event Msg ",SCX_CPU1_find_event[1].eventid," Found!" +21-237-13:18:38.829 00 SPR-I:OPRO <*> Passed - Event Msg 16 Found! +21-237-13:18:38.829 00 SCX_CPU1_DS_RE/1449 endif +21-237-13:18:38.830 00 SCX_CPU1_DS_RE/1452 endif +21-237-13:18:38.830 00 SCX_CPU1_DS_RE/1453 +21-237-13:18:38.830 00 SCX_CPU1_DS_RE/1455 ut_tlmwait SCX_CPU1_find_event[2].num_found_messages, 1 +21-237-13:18:38.835 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:18:38.836 00 SCX_CPU1_DS_RE/1456 if (UT_TW_Status = UT_Success) then +21-237-13:18:38.836 00 SCX_CPU1_DS_RE/1457 write "<*> Passed (9007) - Destination File Table validation failed as expected." +21-237-13:18:38.836 00 SPR-I:OPRO <*> Passed (9007) - Destination File Table validation failed as expected. +21-237-13:18:38.836 00 SCX_CPU1_DS_RE/1458 ut_setrequirements DS_9007, "P" +21-237-13:18:38.837 00 SCX_CPU1_DS_RE/1462 endif +21-237-13:18:38.837 00 SCX_CPU1_DS_RE/1463 +21-237-13:18:38.837 00 SCX_CPU1_DS_RE/1465 if (SCX_CPU1_find_event[3].num_found_messages > 0) then +21-237-13:18:38.837 00 SCX_CPU1_DS_RE/1466 write "<*> Passed - Validation Event Msg rcv'd" +21-237-13:18:38.837 00 SPR-I:OPRO <*> Passed - Validation Event Msg rcv'd +21-237-13:18:38.837 00 SCX_CPU1_DS_RE/1469 endif +21-237-13:18:38.837 00 SCX_CPU1_DS_RE/1470 +21-237-13:18:38.837 00 SCX_CPU1_DS_RE/1472 if (SCX_CPU1_find_event[4].num_found_messages > 0) then +21-237-13:18:38.838 00 SCX_CPU1_DS_RE/1473 write "<*> Passed - Validation Summary Event Msg rcv'd" +21-237-13:18:38.838 00 SPR-I:OPRO <*> Passed - Validation Summary Event Msg rcv'd +21-237-13:18:38.838 00 SCX_CPU1_DS_RE/1476 endif +21-237-13:18:38.838 00 SCX_CPU1_DS_RE/1477 +21-237-13:18:38.838 00 SCX_CPU1_DS_RE/1478 write ";***********************************************************************" +21-237-13:18:38.838 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:38.846 00 SCX_CPU1_DS_RE/1479 write "; Send the Table Services Load Abort command to release the buffer." +21-237-13:18:38.846 00 SPR-I:OPRO ; Send the Table Services Load Abort command to release the buffer. +21-237-13:18:38.846 00 SCX_CPU1_DS_RE/1480 write ";***********************************************************************" +21-237-13:18:38.846 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:38.846 00 SCX_CPU1_DS_RE/1481 ut_setupevents "SCX", "CPU1", "CFE_TBL", CFE_TBL_LOAD_ABORT_INF_EID, "INFO", 1 +21-237-13:18:38.848 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:38.848 00 SPR-I:OPRO ; Setup event 1 with CFE_TBL INFO 21 +21-237-13:18:38.848 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:38.849 00 SCX_CPU1_DS_RE/1482 +21-237-13:18:38.849 00 SCX_CPU1_DS_RE/1483 cmdCtr = SCX_CPU1_TBL_CMDPC + 1 +21-237-13:18:38.849 00 SCX_CPU1_DS_RE/1484 +21-237-13:18:38.849 00 SCX_CPU1_DS_RE/1485 /SCX_CPU1_TBL_LOADABORT ABTABLENAME=fileTblName +21-237-13:18:38.861 00 SCX_CPU1_DS_RE/1486 +21-237-13:18:38.861 00 SCX_CPU1_DS_RE/1487 ut_tlmwait SCX_CPU1_TBL_CMDPC, {cmdCtr} +21-237-13:18:38.864 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:18:39.157 00 TLMH-I:STS 58-012-14:11:13.001 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=21 Table Load Aborted for 'DS.FILE_TBL' +21-237-13:18:42.869 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:18:42.871 00 SCX_CPU1_DS_RE/1488 if (UT_TW_Status = UT_Success) then +21-237-13:18:42.871 00 SCX_CPU1_DS_RE/1489 write "<*> Passed - Load abort command sent successfully." +21-237-13:18:42.871 00 SPR-I:OPRO <*> Passed - Load abort command sent successfully. +21-237-13:18:42.871 00 SCX_CPU1_DS_RE/1492 endif +21-237-13:18:42.871 00 SCX_CPU1_DS_RE/1493 +21-237-13:18:42.871 00 SCX_CPU1_DS_RE/1495 if (SCX_CPU1_find_event[1].num_found_messages = 1) then +21-237-13:18:42.872 00 SCX_CPU1_DS_RE/1496 write "<*> Passed - Event Msg ",SCX_CPU1_find_event[1].eventid," Found!" +21-237-13:18:42.872 00 SPR-I:OPRO <*> Passed - Event Msg 21 Found! +21-237-13:18:42.872 00 SCX_CPU1_DS_RE/1499 endif +21-237-13:18:42.872 00 SCX_CPU1_DS_RE/1500 enddo +21-237-13:18:42.873 00 SCX_CPU1_DS_RE/1409 for i = 1 to 9 do +21-237-13:18:42.873 00 SCX_CPU1_DS_RE/1411 ut_setupevents "SCX","CPU1","CFE_TBL",CFE_TBL_FILE_LOADED_INF_EID,"INFO", 1 +21-237-13:18:42.880 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:42.881 00 SPR-I:OPRO ; Setup event 1 with CFE_TBL INFO 12 +21-237-13:18:42.881 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:42.882 00 SCX_CPU1_DS_RE/1412 +21-237-13:18:42.882 00 SCX_CPU1_DS_RE/1413 cmdCtr = SCX_CPU1_TBL_CMDPC + 1 +21-237-13:18:42.882 00 SCX_CPU1_DS_RE/1414 +21-237-13:18:42.883 00 SCX_CPU1_DS_RE/1415 start load_table ("ds_badfile" & i & ".tbl", hostCPU) +21-237-13:18:42.883 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/load_table.i +21-237-13:18:42.888 00 SPR-I:STS Procedure LOAD_TABLE started +21-237-13:18:42.889 00 LOAD_TABLE/2 ; +21-237-13:18:42.889 00 LOAD_TABLE/3 local logging = %liv (log_procedure) +21-237-13:18:42.889 00 LOAD_TABLE/4 %liv (log_procedure) = FALSE +21-237-13:18:42.894 00 SPR-I:OPRO Table Filename: ds_badfile6.tbl +21-237-13:18:42.898 00 SPR-I:OPRO The perl command is: perl /s/opr/accounts/global/tools/table_ftp.pl 192.168.1.8 ds_badfile6.tbl RAM:0 3 +21-237-13:18:42.898 00 SPR-I:OPRO +21-237-13:18:43.044 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-237-13:18:43.044 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:18:48.048 00 SPR-I:OPRO +21-237-13:18:48.049 00 SPR-I:OPRO Sending Command: /SCX_CPU1_TBL_LOAD LFILENAME="/ram/ds_badfile6.tbl" +21-237-13:18:48.067 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:18:48.164 00 TLMH-I:STS 58-012-14:11:22.001 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=12 Successful load of '/ram/ds_badfile6.tbl' into 'DS.FILE_TBL' working buffer +21-237-13:18:51.070 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:18:51.072 00 LOAD_TABLE/195 +21-237-13:18:51.072 00 LOAD_TABLE/196 ENDPROC +21-237-13:18:51.072 00 SPR-I:STS Procedure LOAD_TABLE completed +21-237-13:18:51.073 00 SCX_CPU1_DS_RE/1416 +21-237-13:18:51.073 00 SCX_CPU1_DS_RE/1417 ut_tlmwait SCX_CPU1_TBL_CMDPC, {cmdCtr} +21-237-13:18:51.079 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:18:51.080 00 SCX_CPU1_DS_RE/1418 if (UT_TW_Status = UT_Success) then +21-237-13:18:51.080 00 SCX_CPU1_DS_RE/1419 write "<*> Passed - Load command for Invalid Destination File Table sent successfully." +21-237-13:18:51.080 00 SPR-I:OPRO <*> Passed - Load command for Invalid Destination File Table sent successfully. +21-237-13:18:51.080 00 SCX_CPU1_DS_RE/1422 endif +21-237-13:18:51.080 00 SCX_CPU1_DS_RE/1423 +21-237-13:18:51.080 00 SCX_CPU1_DS_RE/1424 if (SCX_CPU1_find_event[1].num_found_messages = 1) then +21-237-13:18:51.080 00 SCX_CPU1_DS_RE/1425 write "<*> Passed - Event Msg ",SCX_CPU1_find_event[1].eventid," Found!" +21-237-13:18:51.080 00 SPR-I:OPRO <*> Passed - Event Msg 12 Found! +21-237-13:18:51.080 00 SCX_CPU1_DS_RE/1428 endif +21-237-13:18:51.080 00 SCX_CPU1_DS_RE/1429 +21-237-13:18:51.080 00 SCX_CPU1_DS_RE/1430 write ";***********************************************************************" +21-237-13:18:51.080 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:51.080 00 SCX_CPU1_DS_RE/1431 write "; Send the Table Services command to validate the inactive buffer." +21-237-13:18:51.080 00 SPR-I:OPRO ; Send the Table Services command to validate the inactive buffer. +21-237-13:18:51.080 00 SCX_CPU1_DS_RE/1432 write ";***********************************************************************" +21-237-13:18:51.081 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:51.081 00 SCX_CPU1_DS_RE/1433 ut_setupevents "SCX","CPU1","CFE_TBL",CFE_TBL_VAL_REQ_MADE_INF_EID, "DEBUG", 1 +21-237-13:18:51.082 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:51.082 00 SPR-I:OPRO ; Setup event 1 with CFE_TBL DEBUG 16 +21-237-13:18:51.082 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:51.085 00 SCX_CPU1_DS_RE/1434 ut_setupevents "SCX","CPU1","CFE_TBL",CFE_TBL_VALIDATION_ERR_EID, "ERROR", 2 +21-237-13:18:51.086 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:51.087 00 SPR-I:OPRO ; Setup event 2 with CFE_TBL ERROR 96 +21-237-13:18:51.087 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:51.087 00 SCX_CPU1_DS_RE/1435 ut_setupevents "SCX","CPU1",{DSAppName},DS_FIL_TBL_ERR_EID, "ERROR", 3 +21-237-13:18:51.088 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:51.088 00 SPR-I:OPRO ; Setup event 3 with DS ERROR 11 +21-237-13:18:51.088 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:51.089 00 SCX_CPU1_DS_RE/1436 ut_setupevents "SCX","CPU1",{DSAppName},DS_FIL_TBL_EID, "INFO", 4 +21-237-13:18:51.091 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:51.091 00 SPR-I:OPRO ; Setup event 4 with DS INFO 10 +21-237-13:18:51.091 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:51.092 00 SCX_CPU1_DS_RE/1437 +21-237-13:18:51.092 00 SCX_CPU1_DS_RE/1438 cmdCtr = SCX_CPU1_TBL_CMDPC + 1 +21-237-13:18:51.092 00 SCX_CPU1_DS_RE/1439 +21-237-13:18:51.092 00 SCX_CPU1_DS_RE/1440 /SCX_CPU1_TBL_VALIDATE INACTIVE VTABLENAME=fileTblName +21-237-13:18:51.104 00 SCX_CPU1_DS_RE/1441 +21-237-13:18:51.104 00 SCX_CPU1_DS_RE/1442 ut_tlmwait SCX_CPU1_TBL_CMDPC, {cmdCtr} +21-237-13:18:51.108 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:18:51.657 00 TLMH-I:STS 58-012-14:11:25.501 DEBUG CPU=CPU1 APPNAME=CFE_TBL EVENT ID=16 Tbl Services issued validation request for 'DS.FILE_TBL' +21-237-13:18:54.156 00 TLMH-I:STS 58-012-14:11:28.004 ERROR CPU=CPU1 APPNAME=DS EVENT ID=11 Destination file table verify err: index = 4, max file age = 30 +21-237-13:18:54.157 00 TLMH-I:STS 58-012-14:11:28.004 INFO CPU=CPU1 APPNAME=DS EVENT ID=10 Destination file table verify results: desc text = OK, good entries = 5, bad = 4, unused = 7 +21-237-13:18:54.157 00 TLMH-I:STS 58-012-14:11:28.004 ERROR CPU=CPU1 APPNAME=CFE_TBL EVENT ID=96 DS validation failed for Inactive 'DS.FILE_TBL', Status=0xFFFFFFFF +21-237-13:18:55.112 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:18:55.114 00 SCX_CPU1_DS_RE/1443 if (UT_TW_Status = UT_Success) then +21-237-13:18:55.114 00 SCX_CPU1_DS_RE/1444 write "<*> Passed - Packet Filter Table validate command sent." +21-237-13:18:55.114 00 SPR-I:OPRO <*> Passed - Packet Filter Table validate command sent. +21-237-13:18:55.114 00 SCX_CPU1_DS_RE/1445 if (SCX_CPU1_find_event[1].num_found_messages = 1) then +21-237-13:18:55.115 00 SCX_CPU1_DS_RE/1446 write "<*> Passed - Event Msg ",SCX_CPU1_find_event[1].eventid," Found!" +21-237-13:18:55.115 00 SPR-I:OPRO <*> Passed - Event Msg 16 Found! +21-237-13:18:55.115 00 SCX_CPU1_DS_RE/1449 endif +21-237-13:18:55.115 00 SCX_CPU1_DS_RE/1452 endif +21-237-13:18:55.116 00 SCX_CPU1_DS_RE/1453 +21-237-13:18:55.116 00 SCX_CPU1_DS_RE/1455 ut_tlmwait SCX_CPU1_find_event[2].num_found_messages, 1 +21-237-13:18:55.120 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:18:55.120 00 SCX_CPU1_DS_RE/1456 if (UT_TW_Status = UT_Success) then +21-237-13:18:55.120 00 SCX_CPU1_DS_RE/1457 write "<*> Passed (9007) - Destination File Table validation failed as expected." +21-237-13:18:55.120 00 SPR-I:OPRO <*> Passed (9007) - Destination File Table validation failed as expected. +21-237-13:18:55.120 00 SCX_CPU1_DS_RE/1458 ut_setrequirements DS_9007, "P" +21-237-13:18:55.121 00 SCX_CPU1_DS_RE/1462 endif +21-237-13:18:55.121 00 SCX_CPU1_DS_RE/1463 +21-237-13:18:55.121 00 SCX_CPU1_DS_RE/1465 if (SCX_CPU1_find_event[3].num_found_messages > 0) then +21-237-13:18:55.121 00 SCX_CPU1_DS_RE/1466 write "<*> Passed - Validation Event Msg rcv'd" +21-237-13:18:55.121 00 SPR-I:OPRO <*> Passed - Validation Event Msg rcv'd +21-237-13:18:55.121 00 SCX_CPU1_DS_RE/1469 endif +21-237-13:18:55.121 00 SCX_CPU1_DS_RE/1470 +21-237-13:18:55.122 00 SCX_CPU1_DS_RE/1472 if (SCX_CPU1_find_event[4].num_found_messages > 0) then +21-237-13:18:55.122 00 SCX_CPU1_DS_RE/1473 write "<*> Passed - Validation Summary Event Msg rcv'd" +21-237-13:18:55.122 00 SPR-I:OPRO <*> Passed - Validation Summary Event Msg rcv'd +21-237-13:18:55.122 00 SCX_CPU1_DS_RE/1476 endif +21-237-13:18:55.122 00 SCX_CPU1_DS_RE/1477 +21-237-13:18:55.122 00 SCX_CPU1_DS_RE/1478 write ";***********************************************************************" +21-237-13:18:55.122 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:55.122 00 SCX_CPU1_DS_RE/1479 write "; Send the Table Services Load Abort command to release the buffer." +21-237-13:18:55.122 00 SPR-I:OPRO ; Send the Table Services Load Abort command to release the buffer. +21-237-13:18:55.128 00 SCX_CPU1_DS_RE/1480 write ";***********************************************************************" +21-237-13:18:55.128 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:55.128 00 SCX_CPU1_DS_RE/1481 ut_setupevents "SCX", "CPU1", "CFE_TBL", CFE_TBL_LOAD_ABORT_INF_EID, "INFO", 1 +21-237-13:18:55.130 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:55.130 00 SPR-I:OPRO ; Setup event 1 with CFE_TBL INFO 21 +21-237-13:18:55.130 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:55.130 00 SCX_CPU1_DS_RE/1482 +21-237-13:18:55.130 00 SCX_CPU1_DS_RE/1483 cmdCtr = SCX_CPU1_TBL_CMDPC + 1 +21-237-13:18:55.131 00 SCX_CPU1_DS_RE/1484 +21-237-13:18:55.131 00 SCX_CPU1_DS_RE/1485 /SCX_CPU1_TBL_LOADABORT ABTABLENAME=fileTblName +21-237-13:18:55.142 00 SCX_CPU1_DS_RE/1486 +21-237-13:18:55.142 00 SCX_CPU1_DS_RE/1487 ut_tlmwait SCX_CPU1_TBL_CMDPC, {cmdCtr} +21-237-13:18:55.145 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:18:55.655 00 TLMH-I:STS 58-012-14:11:29.500 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=21 Table Load Aborted for 'DS.FILE_TBL' +21-237-13:18:59.151 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:18:59.152 00 SCX_CPU1_DS_RE/1488 if (UT_TW_Status = UT_Success) then +21-237-13:18:59.153 00 SCX_CPU1_DS_RE/1489 write "<*> Passed - Load abort command sent successfully." +21-237-13:18:59.153 00 SPR-I:OPRO <*> Passed - Load abort command sent successfully. +21-237-13:18:59.153 00 SCX_CPU1_DS_RE/1492 endif +21-237-13:18:59.153 00 SCX_CPU1_DS_RE/1493 +21-237-13:18:59.153 00 SCX_CPU1_DS_RE/1495 if (SCX_CPU1_find_event[1].num_found_messages = 1) then +21-237-13:18:59.153 00 SCX_CPU1_DS_RE/1496 write "<*> Passed - Event Msg ",SCX_CPU1_find_event[1].eventid," Found!" +21-237-13:18:59.154 00 SPR-I:OPRO <*> Passed - Event Msg 21 Found! +21-237-13:18:59.154 00 SCX_CPU1_DS_RE/1499 endif +21-237-13:18:59.154 00 SCX_CPU1_DS_RE/1500 enddo +21-237-13:18:59.155 00 SCX_CPU1_DS_RE/1409 for i = 1 to 9 do +21-237-13:18:59.155 00 SCX_CPU1_DS_RE/1411 ut_setupevents "SCX","CPU1","CFE_TBL",CFE_TBL_FILE_LOADED_INF_EID,"INFO", 1 +21-237-13:18:59.157 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:59.157 00 SPR-I:OPRO ; Setup event 1 with CFE_TBL INFO 12 +21-237-13:18:59.157 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:59.158 00 SCX_CPU1_DS_RE/1412 +21-237-13:18:59.158 00 SCX_CPU1_DS_RE/1413 cmdCtr = SCX_CPU1_TBL_CMDPC + 1 +21-237-13:18:59.158 00 SCX_CPU1_DS_RE/1414 +21-237-13:18:59.158 00 SCX_CPU1_DS_RE/1415 start load_table ("ds_badfile" & i & ".tbl", hostCPU) +21-237-13:18:59.158 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/load_table.i +21-237-13:18:59.159 00 SPR-I:STS Procedure LOAD_TABLE started +21-237-13:18:59.159 00 LOAD_TABLE/2 ; +21-237-13:18:59.159 00 LOAD_TABLE/3 local logging = %liv (log_procedure) +21-237-13:18:59.159 00 LOAD_TABLE/4 %liv (log_procedure) = FALSE +21-237-13:18:59.160 00 SPR-I:OPRO Table Filename: ds_badfile7.tbl +21-237-13:18:59.161 00 SPR-I:OPRO The perl command is: perl /s/opr/accounts/global/tools/table_ftp.pl 192.168.1.8 ds_badfile7.tbl RAM:0 3 +21-237-13:18:59.161 00 SPR-I:OPRO +21-237-13:18:59.300 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-237-13:18:59.300 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:19:04.304 00 SPR-I:OPRO +21-237-13:19:04.307 00 SPR-I:OPRO Sending Command: /SCX_CPU1_TBL_LOAD LFILENAME="/ram/ds_badfile7.tbl" +21-237-13:19:04.327 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:19:04.661 00 TLMH-I:STS 58-012-14:11:38.484 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=12 Successful load of '/ram/ds_badfile7.tbl' into 'DS.FILE_TBL' working buffer +21-237-13:19:06.330 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:19:06.331 00 LOAD_TABLE/195 +21-237-13:19:06.331 00 LOAD_TABLE/196 ENDPROC +21-237-13:19:06.331 00 SPR-I:STS Procedure LOAD_TABLE completed +21-237-13:19:06.332 00 SCX_CPU1_DS_RE/1416 +21-237-13:19:06.332 00 SCX_CPU1_DS_RE/1417 ut_tlmwait SCX_CPU1_TBL_CMDPC, {cmdCtr} +21-237-13:19:06.339 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:19:06.339 00 SCX_CPU1_DS_RE/1418 if (UT_TW_Status = UT_Success) then +21-237-13:19:06.339 00 SCX_CPU1_DS_RE/1419 write "<*> Passed - Load command for Invalid Destination File Table sent successfully." +21-237-13:19:06.339 00 SPR-I:OPRO <*> Passed - Load command for Invalid Destination File Table sent successfully. +21-237-13:19:06.339 00 SCX_CPU1_DS_RE/1422 endif +21-237-13:19:06.339 00 SCX_CPU1_DS_RE/1423 +21-237-13:19:06.339 00 SCX_CPU1_DS_RE/1424 if (SCX_CPU1_find_event[1].num_found_messages = 1) then +21-237-13:19:06.339 00 SCX_CPU1_DS_RE/1425 write "<*> Passed - Event Msg ",SCX_CPU1_find_event[1].eventid," Found!" +21-237-13:19:06.340 00 SPR-I:OPRO <*> Passed - Event Msg 12 Found! +21-237-13:19:06.340 00 SCX_CPU1_DS_RE/1428 endif +21-237-13:19:06.340 00 SCX_CPU1_DS_RE/1429 +21-237-13:19:06.340 00 SCX_CPU1_DS_RE/1430 write ";***********************************************************************" +21-237-13:19:06.340 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:19:06.340 00 SCX_CPU1_DS_RE/1431 write "; Send the Table Services command to validate the inactive buffer." +21-237-13:19:06.340 00 SPR-I:OPRO ; Send the Table Services command to validate the inactive buffer. +21-237-13:19:06.340 00 SCX_CPU1_DS_RE/1432 write ";***********************************************************************" +21-237-13:19:06.340 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:19:06.340 00 SCX_CPU1_DS_RE/1433 ut_setupevents "SCX","CPU1","CFE_TBL",CFE_TBL_VAL_REQ_MADE_INF_EID, "DEBUG", 1 +21-237-13:19:06.341 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:19:06.341 00 SPR-I:OPRO ; Setup event 1 with CFE_TBL DEBUG 16 +21-237-13:19:06.342 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:19:06.344 00 SCX_CPU1_DS_RE/1434 ut_setupevents "SCX","CPU1","CFE_TBL",CFE_TBL_VALIDATION_ERR_EID, "ERROR", 2 +21-237-13:19:06.346 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:19:06.346 00 SPR-I:OPRO ; Setup event 2 with CFE_TBL ERROR 96 +21-237-13:19:06.346 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:19:06.347 00 SCX_CPU1_DS_RE/1435 ut_setupevents "SCX","CPU1",{DSAppName},DS_FIL_TBL_ERR_EID, "ERROR", 3 +21-237-13:19:06.348 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:19:06.348 00 SPR-I:OPRO ; Setup event 3 with DS ERROR 11 +21-237-13:19:06.348 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:19:06.349 00 SCX_CPU1_DS_RE/1436 ut_setupevents "SCX","CPU1",{DSAppName},DS_FIL_TBL_EID, "INFO", 4 +21-237-13:19:06.351 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:19:06.351 00 SPR-I:OPRO ; Setup event 4 with DS INFO 10 +21-237-13:19:06.351 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:19:06.351 00 SCX_CPU1_DS_RE/1437 +21-237-13:19:06.351 00 SCX_CPU1_DS_RE/1438 cmdCtr = SCX_CPU1_TBL_CMDPC + 1 +21-237-13:19:06.351 00 SCX_CPU1_DS_RE/1439 +21-237-13:19:06.351 00 SCX_CPU1_DS_RE/1440 /SCX_CPU1_TBL_VALIDATE INACTIVE VTABLENAME=fileTblName +21-237-13:19:06.355 00 SCX_CPU1_DS_RE/1441 +21-237-13:19:06.355 00 SCX_CPU1_DS_RE/1442 ut_tlmwait SCX_CPU1_TBL_CMDPC, {cmdCtr} +21-237-13:19:06.358 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:19:06.664 00 TLMH-I:STS 58-012-14:11:40.501 DEBUG CPU=CPU1 APPNAME=CFE_TBL EVENT ID=16 Tbl Services issued validation request for 'DS.FILE_TBL' +21-237-13:19:10.162 00 TLMH-I:STS 58-012-14:11:44.004 ERROR CPU=CPU1 APPNAME=DS EVENT ID=11 Destination file table verify err: index = 5, invalid extension text +21-237-13:19:10.164 00 TLMH-I:STS 58-012-14:11:44.004 INFO CPU=CPU1 APPNAME=DS EVENT ID=10 Destination file table verify results: desc text = OK, good entries = 6, bad = 3, unused = 7 +21-237-13:19:10.165 00 TLMH-I:STS 58-012-14:11:44.004 ERROR CPU=CPU1 APPNAME=CFE_TBL EVENT ID=96 DS validation failed for Inactive 'DS.FILE_TBL', Status=0xFFFFFFFF +21-237-13:19:10.362 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:19:10.364 00 SCX_CPU1_DS_RE/1443 if (UT_TW_Status = UT_Success) then +21-237-13:19:10.364 00 SCX_CPU1_DS_RE/1444 write "<*> Passed - Packet Filter Table validate command sent." +21-237-13:19:10.364 00 SPR-I:OPRO <*> Passed - Packet Filter Table validate command sent. +21-237-13:19:10.364 00 SCX_CPU1_DS_RE/1445 if (SCX_CPU1_find_event[1].num_found_messages = 1) then +21-237-13:19:10.365 00 SCX_CPU1_DS_RE/1446 write "<*> Passed - Event Msg ",SCX_CPU1_find_event[1].eventid," Found!" +21-237-13:19:10.365 00 SPR-I:OPRO <*> Passed - Event Msg 16 Found! +21-237-13:19:10.365 00 SCX_CPU1_DS_RE/1449 endif +21-237-13:19:10.365 00 SCX_CPU1_DS_RE/1452 endif +21-237-13:19:10.365 00 SCX_CPU1_DS_RE/1453 +21-237-13:19:10.365 00 SCX_CPU1_DS_RE/1455 ut_tlmwait SCX_CPU1_find_event[2].num_found_messages, 1 +21-237-13:19:10.377 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:19:10.379 00 SCX_CPU1_DS_RE/1456 if (UT_TW_Status = UT_Success) then +21-237-13:19:10.379 00 SCX_CPU1_DS_RE/1457 write "<*> Passed (9007) - Destination File Table validation failed as expected." +21-237-13:19:10.379 00 SPR-I:OPRO <*> Passed (9007) - Destination File Table validation failed as expected. +21-237-13:19:10.379 00 SCX_CPU1_DS_RE/1458 ut_setrequirements DS_9007, "P" +21-237-13:19:10.382 00 SCX_CPU1_DS_RE/1462 endif +21-237-13:19:10.382 00 SCX_CPU1_DS_RE/1463 +21-237-13:19:10.391 00 SCX_CPU1_DS_RE/1465 if (SCX_CPU1_find_event[3].num_found_messages > 0) then +21-237-13:19:10.391 00 SCX_CPU1_DS_RE/1466 write "<*> Passed - Validation Event Msg rcv'd" +21-237-13:19:10.391 00 SPR-I:OPRO <*> Passed - Validation Event Msg rcv'd +21-237-13:19:10.392 00 SCX_CPU1_DS_RE/1469 endif +21-237-13:19:10.392 00 SCX_CPU1_DS_RE/1470 +21-237-13:19:10.392 00 SCX_CPU1_DS_RE/1472 if (SCX_CPU1_find_event[4].num_found_messages > 0) then +21-237-13:19:10.392 00 SCX_CPU1_DS_RE/1473 write "<*> Passed - Validation Summary Event Msg rcv'd" +21-237-13:19:10.392 00 SPR-I:OPRO <*> Passed - Validation Summary Event Msg rcv'd +21-237-13:19:10.392 00 SCX_CPU1_DS_RE/1476 endif +21-237-13:19:10.392 00 SCX_CPU1_DS_RE/1477 +21-237-13:19:10.392 00 SCX_CPU1_DS_RE/1478 write ";***********************************************************************" +21-237-13:19:10.392 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:19:10.392 00 SCX_CPU1_DS_RE/1479 write "; Send the Table Services Load Abort command to release the buffer." +21-237-13:19:10.392 00 SPR-I:OPRO ; Send the Table Services Load Abort command to release the buffer. +21-237-13:19:10.392 00 SCX_CPU1_DS_RE/1480 write ";***********************************************************************" +21-237-13:19:10.392 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:19:10.392 00 SCX_CPU1_DS_RE/1481 ut_setupevents "SCX", "CPU1", "CFE_TBL", CFE_TBL_LOAD_ABORT_INF_EID, "INFO", 1 +21-237-13:19:10.395 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:19:10.395 00 SPR-I:OPRO ; Setup event 1 with CFE_TBL INFO 21 +21-237-13:19:10.395 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:19:10.398 00 SCX_CPU1_DS_RE/1482 +21-237-13:19:10.398 00 SCX_CPU1_DS_RE/1483 cmdCtr = SCX_CPU1_TBL_CMDPC + 1 +21-237-13:19:10.398 00 SCX_CPU1_DS_RE/1484 +21-237-13:19:10.398 00 SCX_CPU1_DS_RE/1485 /SCX_CPU1_TBL_LOADABORT ABTABLENAME=fileTblName +21-237-13:19:10.401 00 SCX_CPU1_DS_RE/1486 +21-237-13:19:10.401 00 SCX_CPU1_DS_RE/1487 ut_tlmwait SCX_CPU1_TBL_CMDPC, {cmdCtr} +21-237-13:19:10.405 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:19:10.656 00 TLMH-I:STS 58-012-14:11:44.500 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=21 Table Load Aborted for 'DS.FILE_TBL' +21-237-13:19:14.410 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:19:14.413 00 SCX_CPU1_DS_RE/1488 if (UT_TW_Status = UT_Success) then +21-237-13:19:14.413 00 SCX_CPU1_DS_RE/1489 write "<*> Passed - Load abort command sent successfully." +21-237-13:19:14.413 00 SPR-I:OPRO <*> Passed - Load abort command sent successfully. +21-237-13:19:14.413 00 SCX_CPU1_DS_RE/1492 endif +21-237-13:19:14.413 00 SCX_CPU1_DS_RE/1493 +21-237-13:19:14.414 00 SCX_CPU1_DS_RE/1495 if (SCX_CPU1_find_event[1].num_found_messages = 1) then +21-237-13:19:14.414 00 SCX_CPU1_DS_RE/1496 write "<*> Passed - Event Msg ",SCX_CPU1_find_event[1].eventid," Found!" +21-237-13:19:14.414 00 SPR-I:OPRO <*> Passed - Event Msg 21 Found! +21-237-13:19:14.414 00 SCX_CPU1_DS_RE/1499 endif +21-237-13:19:14.415 00 SCX_CPU1_DS_RE/1500 enddo +21-237-13:19:14.415 00 SCX_CPU1_DS_RE/1409 for i = 1 to 9 do +21-237-13:19:14.416 00 SCX_CPU1_DS_RE/1411 ut_setupevents "SCX","CPU1","CFE_TBL",CFE_TBL_FILE_LOADED_INF_EID,"INFO", 1 +21-237-13:19:14.418 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:19:14.418 00 SPR-I:OPRO ; Setup event 1 with CFE_TBL INFO 12 +21-237-13:19:14.418 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:19:14.418 00 SCX_CPU1_DS_RE/1412 +21-237-13:19:14.418 00 SCX_CPU1_DS_RE/1413 cmdCtr = SCX_CPU1_TBL_CMDPC + 1 +21-237-13:19:14.418 00 SCX_CPU1_DS_RE/1414 +21-237-13:19:14.418 00 SCX_CPU1_DS_RE/1415 start load_table ("ds_badfile" & i & ".tbl", hostCPU) +21-237-13:19:14.419 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/load_table.i +21-237-13:19:14.420 00 SPR-I:STS Procedure LOAD_TABLE started +21-237-13:19:14.421 00 LOAD_TABLE/2 ; +21-237-13:19:14.421 00 LOAD_TABLE/3 local logging = %liv (log_procedure) +21-237-13:19:14.421 00 LOAD_TABLE/4 %liv (log_procedure) = FALSE +21-237-13:19:14.422 00 SPR-I:OPRO Table Filename: ds_badfile8.tbl +21-237-13:19:14.423 00 SPR-I:OPRO The perl command is: perl /s/opr/accounts/global/tools/table_ftp.pl 192.168.1.8 ds_badfile8.tbl RAM:0 3 +21-237-13:19:14.423 00 SPR-I:OPRO +21-237-13:19:14.564 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-237-13:19:14.565 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:19:19.569 00 SPR-I:OPRO +21-237-13:19:19.572 00 SPR-I:OPRO Sending Command: /SCX_CPU1_TBL_LOAD LFILENAME="/ram/ds_badfile8.tbl" +21-237-13:19:19.590 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:19:20.164 00 TLMH-I:STS 58-012-14:11:54.001 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=12 Successful load of '/ram/ds_badfile8.tbl' into 'DS.FILE_TBL' working buffer +21-237-13:19:22.594 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:19:22.595 00 LOAD_TABLE/195 +21-237-13:19:22.595 00 LOAD_TABLE/196 ENDPROC +21-237-13:19:22.595 00 SPR-I:STS Procedure LOAD_TABLE completed +21-237-13:19:22.595 00 SCX_CPU1_DS_RE/1416 +21-237-13:19:22.595 00 SCX_CPU1_DS_RE/1417 ut_tlmwait SCX_CPU1_TBL_CMDPC, {cmdCtr} +21-237-13:19:22.600 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:19:22.600 00 SCX_CPU1_DS_RE/1418 if (UT_TW_Status = UT_Success) then +21-237-13:19:22.600 00 SCX_CPU1_DS_RE/1419 write "<*> Passed - Load command for Invalid Destination File Table sent successfully." +21-237-13:19:22.600 00 SPR-I:OPRO <*> Passed - Load command for Invalid Destination File Table sent successfully. +21-237-13:19:22.600 00 SCX_CPU1_DS_RE/1422 endif +21-237-13:19:22.600 00 SCX_CPU1_DS_RE/1423 +21-237-13:19:22.600 00 SCX_CPU1_DS_RE/1424 if (SCX_CPU1_find_event[1].num_found_messages = 1) then +21-237-13:19:22.600 00 SCX_CPU1_DS_RE/1425 write "<*> Passed - Event Msg ",SCX_CPU1_find_event[1].eventid," Found!" +21-237-13:19:22.601 00 SPR-I:OPRO <*> Passed - Event Msg 12 Found! +21-237-13:19:22.601 00 SCX_CPU1_DS_RE/1428 endif +21-237-13:19:22.601 00 SCX_CPU1_DS_RE/1429 +21-237-13:19:22.601 00 SCX_CPU1_DS_RE/1430 write ";***********************************************************************" +21-237-13:19:22.601 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:19:22.601 00 SCX_CPU1_DS_RE/1431 write "; Send the Table Services command to validate the inactive buffer." +21-237-13:19:22.601 00 SPR-I:OPRO ; Send the Table Services command to validate the inactive buffer. +21-237-13:19:22.601 00 SCX_CPU1_DS_RE/1432 write ";***********************************************************************" +21-237-13:19:22.601 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:19:22.601 00 SCX_CPU1_DS_RE/1433 ut_setupevents "SCX","CPU1","CFE_TBL",CFE_TBL_VAL_REQ_MADE_INF_EID, "DEBUG", 1 +21-237-13:19:22.603 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:19:22.603 00 SPR-I:OPRO ; Setup event 1 with CFE_TBL DEBUG 16 +21-237-13:19:22.603 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:19:22.610 00 SCX_CPU1_DS_RE/1434 ut_setupevents "SCX","CPU1","CFE_TBL",CFE_TBL_VALIDATION_ERR_EID, "ERROR", 2 +21-237-13:19:22.612 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:19:22.612 00 SPR-I:OPRO ; Setup event 2 with CFE_TBL ERROR 96 +21-237-13:19:22.612 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:19:22.613 00 SCX_CPU1_DS_RE/1435 ut_setupevents "SCX","CPU1",{DSAppName},DS_FIL_TBL_ERR_EID, "ERROR", 3 +21-237-13:19:22.615 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:19:22.615 00 SPR-I:OPRO ; Setup event 3 with DS ERROR 11 +21-237-13:19:22.615 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:19:22.615 00 SCX_CPU1_DS_RE/1436 ut_setupevents "SCX","CPU1",{DSAppName},DS_FIL_TBL_EID, "INFO", 4 +21-237-13:19:22.617 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:19:22.617 00 SPR-I:OPRO ; Setup event 4 with DS INFO 10 +21-237-13:19:22.617 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:19:22.617 00 SCX_CPU1_DS_RE/1437 +21-237-13:19:22.617 00 SCX_CPU1_DS_RE/1438 cmdCtr = SCX_CPU1_TBL_CMDPC + 1 +21-237-13:19:22.618 00 SCX_CPU1_DS_RE/1439 +21-237-13:19:22.618 00 SCX_CPU1_DS_RE/1440 /SCX_CPU1_TBL_VALIDATE INACTIVE VTABLENAME=fileTblName +21-237-13:19:22.620 00 SCX_CPU1_DS_RE/1441 +21-237-13:19:22.620 00 SCX_CPU1_DS_RE/1442 ut_tlmwait SCX_CPU1_TBL_CMDPC, {cmdCtr} +21-237-13:19:22.623 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:19:23.162 00 TLMH-I:STS 58-012-14:11:57.001 DEBUG CPU=CPU1 APPNAME=CFE_TBL EVENT ID=16 Tbl Services issued validation request for 'DS.FILE_TBL' +21-237-13:19:26.162 00 TLMH-I:STS 58-012-14:12:00.004 ERROR CPU=CPU1 APPNAME=DS EVENT ID=11 Destination file table verify err: index = 6, sequence count = 100000000 +21-237-13:19:26.163 00 TLMH-I:STS 58-012-14:12:00.004 INFO CPU=CPU1 APPNAME=DS EVENT ID=10 Destination file table verify results: desc text = OK, good entries = 7, bad = 2, unused = 7 +21-237-13:19:26.165 00 TLMH-I:STS 58-012-14:12:00.004 ERROR CPU=CPU1 APPNAME=CFE_TBL EVENT ID=96 DS validation failed for Inactive 'DS.FILE_TBL', Status=0xFFFFFFFF +21-237-13:19:26.628 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:19:26.630 00 SCX_CPU1_DS_RE/1443 if (UT_TW_Status = UT_Success) then +21-237-13:19:26.630 00 SCX_CPU1_DS_RE/1444 write "<*> Passed - Packet Filter Table validate command sent." +21-237-13:19:26.631 00 SPR-I:OPRO <*> Passed - Packet Filter Table validate command sent. +21-237-13:19:26.631 00 SCX_CPU1_DS_RE/1445 if (SCX_CPU1_find_event[1].num_found_messages = 1) then +21-237-13:19:26.631 00 SCX_CPU1_DS_RE/1446 write "<*> Passed - Event Msg ",SCX_CPU1_find_event[1].eventid," Found!" +21-237-13:19:26.632 00 SPR-I:OPRO <*> Passed - Event Msg 16 Found! +21-237-13:19:26.632 00 SCX_CPU1_DS_RE/1449 endif +21-237-13:19:26.632 00 SCX_CPU1_DS_RE/1452 endif +21-237-13:19:26.632 00 SCX_CPU1_DS_RE/1453 +21-237-13:19:26.632 00 SCX_CPU1_DS_RE/1455 ut_tlmwait SCX_CPU1_find_event[2].num_found_messages, 1 +21-237-13:19:26.636 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:19:26.636 00 SCX_CPU1_DS_RE/1456 if (UT_TW_Status = UT_Success) then +21-237-13:19:26.636 00 SCX_CPU1_DS_RE/1457 write "<*> Passed (9007) - Destination File Table validation failed as expected." +21-237-13:19:26.636 00 SPR-I:OPRO <*> Passed (9007) - Destination File Table validation failed as expected. +21-237-13:19:26.637 00 SCX_CPU1_DS_RE/1458 ut_setrequirements DS_9007, "P" +21-237-13:19:26.637 00 SCX_CPU1_DS_RE/1462 endif +21-237-13:19:26.637 00 SCX_CPU1_DS_RE/1463 +21-237-13:19:26.637 00 SCX_CPU1_DS_RE/1465 if (SCX_CPU1_find_event[3].num_found_messages > 0) then +21-237-13:19:26.637 00 SCX_CPU1_DS_RE/1466 write "<*> Passed - Validation Event Msg rcv'd" +21-237-13:19:26.637 00 SPR-I:OPRO <*> Passed - Validation Event Msg rcv'd +21-237-13:19:26.637 00 SCX_CPU1_DS_RE/1469 endif +21-237-13:19:26.637 00 SCX_CPU1_DS_RE/1470 +21-237-13:19:26.637 00 SCX_CPU1_DS_RE/1472 if (SCX_CPU1_find_event[4].num_found_messages > 0) then +21-237-13:19:26.637 00 SCX_CPU1_DS_RE/1473 write "<*> Passed - Validation Summary Event Msg rcv'd" +21-237-13:19:26.638 00 SPR-I:OPRO <*> Passed - Validation Summary Event Msg rcv'd +21-237-13:19:26.638 00 SCX_CPU1_DS_RE/1476 endif +21-237-13:19:26.638 00 SCX_CPU1_DS_RE/1477 +21-237-13:19:26.638 00 SCX_CPU1_DS_RE/1478 write ";***********************************************************************" +21-237-13:19:26.638 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:19:26.638 00 SCX_CPU1_DS_RE/1479 write "; Send the Table Services Load Abort command to release the buffer." +21-237-13:19:26.638 00 SPR-I:OPRO ; Send the Table Services Load Abort command to release the buffer. +21-237-13:19:26.643 00 SCX_CPU1_DS_RE/1480 write ";***********************************************************************" +21-237-13:19:26.643 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:19:26.643 00 SCX_CPU1_DS_RE/1481 ut_setupevents "SCX", "CPU1", "CFE_TBL", CFE_TBL_LOAD_ABORT_INF_EID, "INFO", 1 +21-237-13:19:26.644 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:19:26.644 00 SPR-I:OPRO ; Setup event 1 with CFE_TBL INFO 21 +21-237-13:19:26.644 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:19:26.645 00 SCX_CPU1_DS_RE/1482 +21-237-13:19:26.645 00 SCX_CPU1_DS_RE/1483 cmdCtr = SCX_CPU1_TBL_CMDPC + 1 +21-237-13:19:26.645 00 SCX_CPU1_DS_RE/1484 +21-237-13:19:26.645 00 SCX_CPU1_DS_RE/1485 /SCX_CPU1_TBL_LOADABORT ABTABLENAME=fileTblName +21-237-13:19:26.656 00 SCX_CPU1_DS_RE/1486 +21-237-13:19:26.656 00 SCX_CPU1_DS_RE/1487 ut_tlmwait SCX_CPU1_TBL_CMDPC, {cmdCtr} +21-237-13:19:26.660 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:19:27.164 00 TLMH-I:STS 58-012-14:12:01.001 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=21 Table Load Aborted for 'DS.FILE_TBL' +21-237-13:19:30.664 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:19:30.666 00 SCX_CPU1_DS_RE/1488 if (UT_TW_Status = UT_Success) then +21-237-13:19:30.666 00 SCX_CPU1_DS_RE/1489 write "<*> Passed - Load abort command sent successfully." +21-237-13:19:30.666 00 SPR-I:OPRO <*> Passed - Load abort command sent successfully. +21-237-13:19:30.667 00 SCX_CPU1_DS_RE/1492 endif +21-237-13:19:30.667 00 SCX_CPU1_DS_RE/1493 +21-237-13:19:30.667 00 SCX_CPU1_DS_RE/1495 if (SCX_CPU1_find_event[1].num_found_messages = 1) then +21-237-13:19:30.667 00 SCX_CPU1_DS_RE/1496 write "<*> Passed - Event Msg ",SCX_CPU1_find_event[1].eventid," Found!" +21-237-13:19:30.667 00 SPR-I:OPRO <*> Passed - Event Msg 21 Found! +21-237-13:19:30.667 00 SCX_CPU1_DS_RE/1499 endif +21-237-13:19:30.668 00 SCX_CPU1_DS_RE/1500 enddo +21-237-13:19:30.668 00 SCX_CPU1_DS_RE/1409 for i = 1 to 9 do +21-237-13:19:30.668 00 SCX_CPU1_DS_RE/1411 ut_setupevents "SCX","CPU1","CFE_TBL",CFE_TBL_FILE_LOADED_INF_EID,"INFO", 1 +21-237-13:19:30.671 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:19:30.671 00 SPR-I:OPRO ; Setup event 1 with CFE_TBL INFO 12 +21-237-13:19:30.671 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:19:30.672 00 SCX_CPU1_DS_RE/1412 +21-237-13:19:30.672 00 SCX_CPU1_DS_RE/1413 cmdCtr = SCX_CPU1_TBL_CMDPC + 1 +21-237-13:19:30.672 00 SCX_CPU1_DS_RE/1414 +21-237-13:19:30.672 00 SCX_CPU1_DS_RE/1415 start load_table ("ds_badfile" & i & ".tbl", hostCPU) +21-237-13:19:30.672 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/load_table.i +21-237-13:19:30.673 00 SPR-I:STS Procedure LOAD_TABLE started +21-237-13:19:30.673 00 LOAD_TABLE/2 ; +21-237-13:19:30.673 00 LOAD_TABLE/3 local logging = %liv (log_procedure) +21-237-13:19:30.673 00 LOAD_TABLE/4 %liv (log_procedure) = FALSE +21-237-13:19:30.674 00 SPR-I:OPRO Table Filename: ds_badfile9.tbl +21-237-13:19:30.675 00 SPR-I:OPRO The perl command is: perl /s/opr/accounts/global/tools/table_ftp.pl 192.168.1.8 ds_badfile9.tbl RAM:0 3 +21-237-13:19:30.675 00 SPR-I:OPRO +21-237-13:19:30.812 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-237-13:19:30.812 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:19:35.817 00 SPR-I:OPRO +21-237-13:19:35.818 00 SPR-I:OPRO Sending Command: /SCX_CPU1_TBL_LOAD LFILENAME="/ram/ds_badfile9.tbl" +21-237-13:19:35.835 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:19:36.159 00 TLMH-I:STS 58-012-14:12:10.001 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=12 Successful load of '/ram/ds_badfile9.tbl' into 'DS.FILE_TBL' working buffer +21-237-13:19:38.838 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:19:38.838 00 LOAD_TABLE/195 +21-237-13:19:38.839 00 LOAD_TABLE/196 ENDPROC +21-237-13:19:38.839 00 SPR-I:STS Procedure LOAD_TABLE completed +21-237-13:19:38.839 00 SCX_CPU1_DS_RE/1416 +21-237-13:19:38.839 00 SCX_CPU1_DS_RE/1417 ut_tlmwait SCX_CPU1_TBL_CMDPC, {cmdCtr} +21-237-13:19:38.844 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:19:38.844 00 SCX_CPU1_DS_RE/1418 if (UT_TW_Status = UT_Success) then +21-237-13:19:38.844 00 SCX_CPU1_DS_RE/1419 write "<*> Passed - Load command for Invalid Destination File Table sent successfully." +21-237-13:19:38.845 00 SPR-I:OPRO <*> Passed - Load command for Invalid Destination File Table sent successfully. +21-237-13:19:38.845 00 SCX_CPU1_DS_RE/1422 endif +21-237-13:19:38.845 00 SCX_CPU1_DS_RE/1423 +21-237-13:19:38.845 00 SCX_CPU1_DS_RE/1424 if (SCX_CPU1_find_event[1].num_found_messages = 1) then +21-237-13:19:38.845 00 SCX_CPU1_DS_RE/1425 write "<*> Passed - Event Msg ",SCX_CPU1_find_event[1].eventid," Found!" +21-237-13:19:38.845 00 SPR-I:OPRO <*> Passed - Event Msg 12 Found! +21-237-13:19:38.845 00 SCX_CPU1_DS_RE/1428 endif +21-237-13:19:38.845 00 SCX_CPU1_DS_RE/1429 +21-237-13:19:38.845 00 SCX_CPU1_DS_RE/1430 write ";***********************************************************************" +21-237-13:19:38.845 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:19:38.845 00 SCX_CPU1_DS_RE/1431 write "; Send the Table Services command to validate the inactive buffer." +21-237-13:19:38.845 00 SPR-I:OPRO ; Send the Table Services command to validate the inactive buffer. +21-237-13:19:38.845 00 SCX_CPU1_DS_RE/1432 write ";***********************************************************************" +21-237-13:19:38.845 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:19:38.845 00 SCX_CPU1_DS_RE/1433 ut_setupevents "SCX","CPU1","CFE_TBL",CFE_TBL_VAL_REQ_MADE_INF_EID, "DEBUG", 1 +21-237-13:19:38.847 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:19:38.847 00 SPR-I:OPRO ; Setup event 1 with CFE_TBL DEBUG 16 +21-237-13:19:38.847 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:19:38.849 00 SCX_CPU1_DS_RE/1434 ut_setupevents "SCX","CPU1","CFE_TBL",CFE_TBL_VALIDATION_ERR_EID, "ERROR", 2 +21-237-13:19:38.850 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:19:38.850 00 SPR-I:OPRO ; Setup event 2 with CFE_TBL ERROR 96 +21-237-13:19:38.850 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:19:38.851 00 SCX_CPU1_DS_RE/1435 ut_setupevents "SCX","CPU1",{DSAppName},DS_FIL_TBL_ERR_EID, "ERROR", 3 +21-237-13:19:38.852 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:19:38.852 00 SPR-I:OPRO ; Setup event 3 with DS ERROR 11 +21-237-13:19:38.852 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:19:38.852 00 SCX_CPU1_DS_RE/1436 ut_setupevents "SCX","CPU1",{DSAppName},DS_FIL_TBL_EID, "INFO", 4 +21-237-13:19:38.854 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:19:38.854 00 SPR-I:OPRO ; Setup event 4 with DS INFO 10 +21-237-13:19:38.854 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:19:38.854 00 SCX_CPU1_DS_RE/1437 +21-237-13:19:38.854 00 SCX_CPU1_DS_RE/1438 cmdCtr = SCX_CPU1_TBL_CMDPC + 1 +21-237-13:19:38.854 00 SCX_CPU1_DS_RE/1439 +21-237-13:19:38.854 00 SCX_CPU1_DS_RE/1440 /SCX_CPU1_TBL_VALIDATE INACTIVE VTABLENAME=fileTblName +21-237-13:19:38.856 00 SCX_CPU1_DS_RE/1441 +21-237-13:19:38.856 00 SCX_CPU1_DS_RE/1442 ut_tlmwait SCX_CPU1_TBL_CMDPC, {cmdCtr} +21-237-13:19:38.860 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:19:39.157 00 TLMH-I:STS 58-012-14:12:13.001 DEBUG CPU=CPU1 APPNAME=CFE_TBL EVENT ID=16 Tbl Services issued validation request for 'DS.FILE_TBL' +21-237-13:19:42.156 00 TLMH-I:STS 58-012-14:12:16.004 ERROR CPU=CPU1 APPNAME=DS EVENT ID=11 Destination file table verify err: index = 8, sequence count = 100000000 +21-237-13:19:42.158 00 TLMH-I:STS 58-012-14:12:16.004 INFO CPU=CPU1 APPNAME=DS EVENT ID=10 Destination file table verify results: desc text = OK, good entries = 8, bad = 1, unused = 7 +21-237-13:19:42.159 00 TLMH-I:STS 58-012-14:12:16.004 ERROR CPU=CPU1 APPNAME=CFE_TBL EVENT ID=96 DS validation failed for Inactive 'DS.FILE_TBL', Status=0xFFFFFFFF +21-237-13:19:42.865 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:19:42.867 00 SCX_CPU1_DS_RE/1443 if (UT_TW_Status = UT_Success) then +21-237-13:19:42.867 00 SCX_CPU1_DS_RE/1444 write "<*> Passed - Packet Filter Table validate command sent." +21-237-13:19:42.867 00 SPR-I:OPRO <*> Passed - Packet Filter Table validate command sent. +21-237-13:19:42.867 00 SCX_CPU1_DS_RE/1445 if (SCX_CPU1_find_event[1].num_found_messages = 1) then +21-237-13:19:42.868 00 SCX_CPU1_DS_RE/1446 write "<*> Passed - Event Msg ",SCX_CPU1_find_event[1].eventid," Found!" +21-237-13:19:42.868 00 SPR-I:OPRO <*> Passed - Event Msg 16 Found! +21-237-13:19:42.868 00 SCX_CPU1_DS_RE/1449 endif +21-237-13:19:42.868 00 SCX_CPU1_DS_RE/1452 endif +21-237-13:19:42.868 00 SCX_CPU1_DS_RE/1453 +21-237-13:19:42.869 00 SCX_CPU1_DS_RE/1455 ut_tlmwait SCX_CPU1_find_event[2].num_found_messages, 1 +21-237-13:19:42.881 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:19:42.882 00 SCX_CPU1_DS_RE/1456 if (UT_TW_Status = UT_Success) then +21-237-13:19:42.883 00 SCX_CPU1_DS_RE/1457 write "<*> Passed (9007) - Destination File Table validation failed as expected." +21-237-13:19:42.883 00 SPR-I:OPRO <*> Passed (9007) - Destination File Table validation failed as expected. +21-237-13:19:42.883 00 SCX_CPU1_DS_RE/1458 ut_setrequirements DS_9007, "P" +21-237-13:19:42.884 00 SCX_CPU1_DS_RE/1462 endif +21-237-13:19:42.884 00 SCX_CPU1_DS_RE/1463 +21-237-13:19:42.884 00 SCX_CPU1_DS_RE/1465 if (SCX_CPU1_find_event[3].num_found_messages > 0) then +21-237-13:19:42.884 00 SCX_CPU1_DS_RE/1466 write "<*> Passed - Validation Event Msg rcv'd" +21-237-13:19:42.884 00 SPR-I:OPRO <*> Passed - Validation Event Msg rcv'd +21-237-13:19:42.884 00 SCX_CPU1_DS_RE/1469 endif +21-237-13:19:42.884 00 SCX_CPU1_DS_RE/1470 +21-237-13:19:42.884 00 SCX_CPU1_DS_RE/1472 if (SCX_CPU1_find_event[4].num_found_messages > 0) then +21-237-13:19:42.884 00 SCX_CPU1_DS_RE/1473 write "<*> Passed - Validation Summary Event Msg rcv'd" +21-237-13:19:42.884 00 SPR-I:OPRO <*> Passed - Validation Summary Event Msg rcv'd +21-237-13:19:42.884 00 SCX_CPU1_DS_RE/1476 endif +21-237-13:19:42.884 00 SCX_CPU1_DS_RE/1477 +21-237-13:19:42.884 00 SCX_CPU1_DS_RE/1478 write ";***********************************************************************" +21-237-13:19:42.884 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:19:42.885 00 SCX_CPU1_DS_RE/1479 write "; Send the Table Services Load Abort command to release the buffer." +21-237-13:19:42.885 00 SPR-I:OPRO ; Send the Table Services Load Abort command to release the buffer. +21-237-13:19:42.892 00 SCX_CPU1_DS_RE/1480 write ";***********************************************************************" +21-237-13:19:42.893 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:19:42.893 00 SCX_CPU1_DS_RE/1481 ut_setupevents "SCX", "CPU1", "CFE_TBL", CFE_TBL_LOAD_ABORT_INF_EID, "INFO", 1 +21-237-13:19:42.894 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:19:42.894 00 SPR-I:OPRO ; Setup event 1 with CFE_TBL INFO 21 +21-237-13:19:42.894 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:19:42.895 00 SCX_CPU1_DS_RE/1482 +21-237-13:19:42.895 00 SCX_CPU1_DS_RE/1483 cmdCtr = SCX_CPU1_TBL_CMDPC + 1 +21-237-13:19:42.895 00 SCX_CPU1_DS_RE/1484 +21-237-13:19:42.895 00 SCX_CPU1_DS_RE/1485 /SCX_CPU1_TBL_LOADABORT ABTABLENAME=fileTblName +21-237-13:19:42.897 00 SCX_CPU1_DS_RE/1486 +21-237-13:19:42.897 00 SCX_CPU1_DS_RE/1487 ut_tlmwait SCX_CPU1_TBL_CMDPC, {cmdCtr} +21-237-13:19:42.901 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:19:43.162 00 TLMH-I:STS 58-012-14:12:17.001 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=21 Table Load Aborted for 'DS.FILE_TBL' +21-237-13:19:46.905 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:19:46.908 00 SCX_CPU1_DS_RE/1488 if (UT_TW_Status = UT_Success) then +21-237-13:19:46.908 00 SCX_CPU1_DS_RE/1489 write "<*> Passed - Load abort command sent successfully." +21-237-13:19:46.908 00 SPR-I:OPRO <*> Passed - Load abort command sent successfully. +21-237-13:19:46.909 00 SCX_CPU1_DS_RE/1492 endif +21-237-13:19:46.909 00 SCX_CPU1_DS_RE/1493 +21-237-13:19:46.909 00 SCX_CPU1_DS_RE/1495 if (SCX_CPU1_find_event[1].num_found_messages = 1) then +21-237-13:19:46.909 00 SCX_CPU1_DS_RE/1496 write "<*> Passed - Event Msg ",SCX_CPU1_find_event[1].eventid," Found!" +21-237-13:19:46.910 00 SPR-I:OPRO <*> Passed - Event Msg 21 Found! +21-237-13:19:46.910 00 SCX_CPU1_DS_RE/1499 endif +21-237-13:19:46.910 00 SCX_CPU1_DS_RE/1500 enddo +21-237-13:19:46.911 00 SCX_CPU1_DS_RE/1409 for i = 1 to 9 do +21-237-13:19:46.911 00 SCX_CPU1_DS_RE/1501 +21-237-13:19:46.911 00 SCX_CPU1_DS_RE/1502 wait 5 +21-237-13:19:46.911 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:19:51.916 00 SCX_CPU1_DS_RE/1503 +21-237-13:19:51.917 00 SCX_CPU1_DS_RE/1504 write ";*********************************************************************" +21-237-13:19:51.917 00 SPR-I:OPRO ;********************************************************************* +21-237-13:19:51.917 00 SCX_CPU1_DS_RE/1505 write "; Step 6.0: Clean-up - Send the Processor Reset command. " +21-237-13:19:51.917 00 SPR-I:OPRO ; Step 6.0: Clean-up - Send the Processor Reset command. +21-237-13:19:51.917 00 SCX_CPU1_DS_RE/1506 write ";*********************************************************************" +21-237-13:19:51.917 00 SPR-I:OPRO ;********************************************************************* +21-237-13:19:51.917 00 SCX_CPU1_DS_RE/1507 /SCX_CPU1_ES_PROCESSORRESET +21-237-13:19:51.933 00 SCX_CPU1_DS_RE/1508 wait 10 +21-237-13:19:51.933 00 SPR-I:STTE Wait mode - waiting 10 seconds ... +21-237-13:20:01.940 00 SCX_CPU1_DS_RE/1509 +21-237-13:20:01.940 00 SCX_CPU1_DS_RE/1510 close_data_center +21-237-13:20:01.940 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/clear_spacecraft_status.i +21-237-13:20:01.941 00 SPR-I:STS Procedure CLEAR_SPACECRAFT_STATUS started +21-237-13:20:01.941 00 CLEAR_SPACECRA/2 ; +21-237-13:20:01.941 00 CLEAR_SPACECRA/3 local logging = %liv(log_procedure) +21-237-13:20:01.941 00 CLEAR_SPACECRA/4 %liv (log_procedure) = FALSE +21-237-13:20:01.945 00 CLEAR_SPACECRA/135 +21-237-13:20:01.945 00 CLEAR_SPACECRA/136 endproc +21-237-13:20:01.945 00 SPR-I:STS Procedure CLEAR_SPACECRAFT_STATUS completed +21-237-13:20:02.016 00 SCX_CPU1_DS_RE/1511 wait 60 +21-237-13:20:02.016 00 SPR-I:STTE Wait mode - waiting 60 seconds ... +21-237-13:21:02.069 00 SCX_CPU1_DS_RE/1512 +21-237-13:21:02.070 00 SCX_CPU1_DS_RE/1513 cfe_startup {hostCPU} +21-237-13:21:02.083 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:21:12.096 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:21:12.160 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/send_that_to_command.i +21-237-13:21:12.160 00 SPR-I:STS Procedure SEND_THAT_TO_COMMAND started +21-237-13:21:12.161 00 SEND_THAT_TO_C/2 ; +21-237-13:21:12.161 00 SEND_THAT_TO_C/3 local logging = %liv (log_procedure) +21-237-13:21:12.161 00 SEND_THAT_TO_C/4 %liv (log_procedure) = FALSE +21-237-13:21:12.163 00 SPR-I:OPRO Sending: /SCX_CPU1_TO_OUTPUT_ENA gs582cfslab4 +21-237-13:21:12.214 00 SEND_THAT_TO_C/83 +21-237-13:21:12.214 00 SEND_THAT_TO_C/84 endproc +21-237-13:21:12.214 00 SPR-I:STS Procedure SEND_THAT_TO_COMMAND completed +21-237-13:21:12.215 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:21:12.769 00 TLMH-I:STS 58-012-14:12:53.533 INFO CPU=CPU1 APPNAME=TO_LAB_APP EVENT ID=3 TO telemetry output enabled for IP 192.168.1.101 +21-237-13:21:15.217 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:21:15.218 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/fill_in_spacecraft_status.i +21-237-13:21:15.219 00 SPR-I:STS Procedure FILL_IN_SPACECRAFT_STATUS started +21-237-13:21:15.219 00 FILL_IN_SPACEC/2 ; +21-237-13:21:15.219 00 FILL_IN_SPACEC/3 local logging = %liv (log_procedure) +21-237-13:21:15.220 00 FILL_IN_SPACEC/4 %liv (log_procedure) = FALSE +21-237-13:21:15.229 00 FILL_IN_SPACEC/152 +21-237-13:21:15.229 00 FILL_IN_SPACEC/153 endproc +21-237-13:21:15.229 00 SPR-I:STS Procedure FILL_IN_SPACECRAFT_STATUS completed +21-237-13:21:15.231 00 SCX_CPU1_DS_RE/1514 wait 5 +21-237-13:21:15.231 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:21:20.235 00 SCX_CPU1_DS_RE/1515 +21-237-13:21:20.235 00 SCX_CPU1_DS_RE/1516 write "**** Requirements Status Reporting" +21-237-13:21:20.235 00 SPR-I:OPRO **** Requirements Status Reporting +21-237-13:21:20.235 00 SCX_CPU1_DS_RE/1517 +21-237-13:21:20.235 00 SCX_CPU1_DS_RE/1518 write "--------------------------" +21-237-13:21:20.235 00 SPR-I:OPRO -------------------------- +21-237-13:21:20.235 00 SCX_CPU1_DS_RE/1519 write " Requirement(s) Report" +21-237-13:21:20.235 00 SPR-I:OPRO Requirement(s) Report +21-237-13:21:20.235 00 SCX_CPU1_DS_RE/1520 write "--------------------------" +21-237-13:21:20.235 00 SPR-I:OPRO -------------------------- +21-237-13:21:20.235 00 SCX_CPU1_DS_RE/1521 +21-237-13:21:20.235 00 SCX_CPU1_DS_RE/1522 FOR i = 0 to ut_req_array_size DO +21-237-13:21:20.235 00 SCX_CPU1_DS_RE/1523 ut_pfindicate {cfe_requirements[i]} {ut_requirement[i]} +21-237-13:21:20.235 00 SPR-I:OPRO FSW Requirement: DS_8000 P/F: P +21-237-13:21:20.236 00 SCX_CPU1_DS_RE/1524 ENDDO +21-237-13:21:20.236 00 SCX_CPU1_DS_RE/1522 FOR i = 0 to ut_req_array_size DO +21-237-13:21:20.236 00 SCX_CPU1_DS_RE/1523 ut_pfindicate {cfe_requirements[i]} {ut_requirement[i]} +21-237-13:21:20.236 00 SPR-I:OPRO FSW Requirement: DS_9000 P/F: P +21-237-13:21:20.237 00 SCX_CPU1_DS_RE/1524 ENDDO +21-237-13:21:20.237 00 SCX_CPU1_DS_RE/1522 FOR i = 0 to ut_req_array_size DO +21-237-13:21:20.237 00 SCX_CPU1_DS_RE/1523 ut_pfindicate {cfe_requirements[i]} {ut_requirement[i]} +21-237-13:21:20.238 00 SPR-I:OPRO FSW Requirement: DS_9001 P/F: P +21-237-13:21:20.238 00 SCX_CPU1_DS_RE/1524 ENDDO +21-237-13:21:20.238 00 SCX_CPU1_DS_RE/1522 FOR i = 0 to ut_req_array_size DO +21-237-13:21:20.238 00 SCX_CPU1_DS_RE/1523 ut_pfindicate {cfe_requirements[i]} {ut_requirement[i]} +21-237-13:21:20.238 00 SPR-I:OPRO FSW Requirement: DS_9002 P/F: P +21-237-13:21:20.239 00 SCX_CPU1_DS_RE/1524 ENDDO +21-237-13:21:20.239 00 SCX_CPU1_DS_RE/1522 FOR i = 0 to ut_req_array_size DO +21-237-13:21:20.239 00 SCX_CPU1_DS_RE/1523 ut_pfindicate {cfe_requirements[i]} {ut_requirement[i]} +21-237-13:21:20.239 00 SPR-I:OPRO FSW Requirement: DS_9004 P/F: P +21-237-13:21:20.251 00 SCX_CPU1_DS_RE/1524 ENDDO +21-237-13:21:20.251 00 SCX_CPU1_DS_RE/1522 FOR i = 0 to ut_req_array_size DO +21-237-13:21:20.251 00 SCX_CPU1_DS_RE/1523 ut_pfindicate {cfe_requirements[i]} {ut_requirement[i]} +21-237-13:21:20.251 00 SPR-I:OPRO FSW Requirement: DS_9005 P/F: P +21-237-13:21:20.252 00 SCX_CPU1_DS_RE/1524 ENDDO +21-237-13:21:20.252 00 SCX_CPU1_DS_RE/1522 FOR i = 0 to ut_req_array_size DO +21-237-13:21:20.252 00 SCX_CPU1_DS_RE/1523 ut_pfindicate {cfe_requirements[i]} {ut_requirement[i]} +21-237-13:21:20.252 00 SPR-I:OPRO FSW Requirement: DS_9006 P/F: F +21-237-13:21:20.253 00 SCX_CPU1_DS_RE/1524 ENDDO +21-237-13:21:20.253 00 SCX_CPU1_DS_RE/1522 FOR i = 0 to ut_req_array_size DO +21-237-13:21:20.253 00 SCX_CPU1_DS_RE/1523 ut_pfindicate {cfe_requirements[i]} {ut_requirement[i]} +21-237-13:21:20.253 00 SPR-I:OPRO FSW Requirement: DS_9007 P/F: P +21-237-13:21:20.269 00 SCX_CPU1_DS_RE/1524 ENDDO +21-237-13:21:20.269 00 SCX_CPU1_DS_RE/1522 FOR i = 0 to ut_req_array_size DO +21-237-13:21:20.270 00 SCX_CPU1_DS_RE/1523 ut_pfindicate {cfe_requirements[i]} {ut_requirement[i]} +21-237-13:21:20.270 00 SPR-I:OPRO FSW Requirement: DS_9008 P/F: P +21-237-13:21:20.270 00 SCX_CPU1_DS_RE/1524 ENDDO +21-237-13:21:20.271 00 SCX_CPU1_DS_RE/1522 FOR i = 0 to ut_req_array_size DO +21-237-13:21:20.271 00 SCX_CPU1_DS_RE/1525 +21-237-13:21:20.271 00 SCX_CPU1_DS_RE/1526 drop ut_requirement ; needed to clear global variables +21-237-13:21:20.271 00 SPR-I:STS Variable "UT_REQUIREMENT" deleted +21-237-13:21:20.271 00 SCX_CPU1_DS_RE/1527 drop ut_req_array_size ; needed to clear global variables +21-237-13:21:20.271 00 SPR-I:STS Variable "UT_REQ_ARRAY_SIZE" deleted +21-237-13:21:20.271 00 SCX_CPU1_DS_RE/1528 +21-237-13:21:20.271 00 SCX_CPU1_DS_RE/1529 write ";*********************************************************************" +21-237-13:21:20.271 00 SPR-I:OPRO ;********************************************************************* +21-237-13:21:20.286 00 SCX_CPU1_DS_RE/1530 write "; End procedure SCX_CPU1_ds_resetnocds" +21-237-13:21:20.286 00 SPR-I:OPRO ; End procedure SCX_CPU1_ds_resetnocds +21-237-13:21:20.286 00 SCX_CPU1_DS_RE/1531 write ";*********************************************************************" +21-237-13:21:20.286 00 SPR-I:OPRO ;********************************************************************* +21-237-13:21:20.286 00 SCX_CPU1_DS_RE/1532 ENDPROC +21-237-13:21:20.286 00 SPR-I:STS Procedure SCX_CPU1_DS_RESETNOCDS completed +21-237-13:21:20.287 00 UT_RUNPROC/249 +21-237-13:21:20.287 00 UT_RUNPROC/264 #endif +21-237-13:21:20.287 00 UT_RUNPROC/265 +21-237-13:21:20.287 00 UT_RUNPROC/266 write "*** Telemetry Info ***" +21-237-13:21:20.287 00 SPR-I:OPRO *** Telemetry Info *** +21-237-13:21:20.287 00 UT_RUNPROC/268 ;;; write "Pkt Loss Count: ", TO_PCKTSDISCARD +21-237-13:21:20.287 00 UT_RUNPROC/269 write "Pkt Loss Count: N/A" +21-237-13:21:20.287 00 SPR-I:OPRO +21-237-13:21:20.287 00 UT_RUNPROC/269 write "Pkt Loss Count: N/A" +21-237-13:21:20.287 00 SPR-I:OPRO Pkt Loss Count: N/A +21-237-13:21:20.287 00 UT_RUNPROC/271 write "******************" +21-237-13:21:20.287 00 SPR-I:OPRO +21-237-13:21:20.288 00 UT_RUNPROC/271 write "******************" +21-237-13:21:20.288 00 SPR-I:OPRO ****************** +21-237-13:21:20.288 00 UT_RUNPROC/273 +21-237-13:21:20.288 00 SPR-I:OPRO +21-237-13:21:20.288 00 UT_RUNPROC/273 +21-237-13:21:20.291 00 UT_RUNPROC/274 etime = %gmt +21-237-13:21:20.291 00 UT_RUNPROC/275 write "Elapsed time: ", etime-stime, " seconds" +21-237-13:21:20.291 00 SPR-I:OPRO Elapsed time: 1332.13 seconds +21-237-13:21:20.291 00 UT_RUNPROC/276 write "Elapsed time: ", (etime-stime)/60, " minutes" +21-237-13:21:20.291 00 SPR-I:OPRO Elapsed time: 22.2022 minutes +21-237-13:21:20.291 00 UT_RUNPROC/277 ; +21-237-13:21:20.291 00 UT_RUNPROC/278 ; wait for completion of procedure +21-237-13:21:20.291 00 UT_RUNPROC/279 ; +21-237-13:21:20.292 00 UT_RUNPROC/280 wait(10) +21-237-13:21:20.292 00 SPR-I:STTE Wait mode - waiting 10 seconds ... +21-237-13:21:30.300 00 UT_RUNPROC/281 ; +21-237-13:21:30.300 00 UT_RUNPROC/282 ; close the log to procedure log name for archive +21-237-13:21:30.300 00 UT_RUNPROC/283 ; +21-237-13:21:30.300 00 UT_RUNPROC/284 local test_log_string = "/test_logs/" +21-237-13:21:30.301 00 UT_RUNPROC/285 if ((logoff_when_done = 0) and (%length(opt_parm) <> 0)) then +21-237-13:21:30.301 00 UT_RUNPROC/286 test_log_string = test_log_string & opt_parm & "/" +21-237-13:21:30.301 00 UT_RUNPROC/287 endif +21-237-13:21:30.301 00 UT_RUNPROC/288 +21-237-13:21:30.301 00 UT_RUNPROC/289 write "Creating filtered log at " & %env("WORK") & test_log_string ;; +21-237-13:21:30.301 00 UT_RUNPROC/290 & log_name & "f" +21-237-13:21:30.302 00 SPR-I:OPRO Creating filtered log at /s/opr/accounts/cfs_test/test_logs/DS2.6.0/scx_cpu1_ds_resetnocds-2021-237-12h59m08s.logf +21-237-13:21:30.302 00 UT_RUNPROC/291 write "Creating filtered output log at " & %env("WORK") & test_log_string ;; +21-237-13:21:30.302 00 UT_RUNPROC/292 & log_name & "p" +21-237-13:21:30.302 00 SPR-I:OPRO Creating filtered output log at /s/opr/accounts/cfs_test/test_logs/DS2.6.0/scx_cpu1_ds_resetnocds-2021-237-12h59m08s.logp +21-237-13:21:30.302 00 UT_RUNPROC/293 write "Creating filtered output log (without SFDUs) at " & %env("WORK") ;; +21-237-13:21:30.302 00 UT_RUNPROC/294 & test_log_string & log_name & "s" +21-237-13:21:30.303 00 SPR-I:OPRO Creating filtered output log (without SFDUs) at /s/opr/accounts/cfs_test/test_logs/DS2.6.0/scx_cpu1_ds_resetnocds-2021-237-12h59m08s.logs +21-237-13:21:30.303 00 UT_RUNPROC/295 write "Creating filtered event log at " & %env("WORK") & test_log_string ;; +21-237-13:21:30.303 00 UT_RUNPROC/296 & log_name & "e" +21-237-13:21:30.303 00 SPR-I:OPRO Creating filtered event log at /s/opr/accounts/cfs_test/test_logs/DS2.6.0/scx_cpu1_ds_resetnocds-2021-237-12h59m08s.loge +21-237-13:21:30.303 00 UT_RUNPROC/297 write "Creating filtered requirements log at " & %env("WORK") ;; +21-237-13:21:30.303 00 UT_RUNPROC/298 & test_log_string & log_name & "r" +21-237-13:21:30.303 00 SPR-I:OPRO Creating filtered requirements log at /s/opr/accounts/cfs_test/test_logs/DS2.6.0/scx_cpu1_ds_resetnocds-2021-237-12h59m08s.logr +21-237-13:21:30.303 00 UT_RUNPROC/299 +21-237-13:21:30.304 00 UT_RUNPROC/300 rstol_dir = "rstol 'newlog " & log_name & "'" +21-237-13:21:30.304 00 UT_RUNPROC/301 native(rstol_dir) +21-237-13:21:30.447 00 SPR-I:OPRI --> newlog scx_cpu1_ds_resetnocds-2021-237-12h59m08s.log diff --git a/test_and_ground/results/Caelum/scx_cpu1_ds_resetnocds-2021-237-12h59m08s.logp b/test_and_ground/results/Caelum/scx_cpu1_ds_resetnocds-2021-237-12h59m08s.logp new file mode 100644 index 0000000..b5a013b --- /dev/null +++ b/test_and_ground/results/Caelum/scx_cpu1_ds_resetnocds-2021-237-12h59m08s.logp @@ -0,0 +1,2357 @@ +21-237-12:59:08.147 00 SPR-I:OPRO ****************** FSW Configuration ****************** +21-237-12:59:08.148 00 SPR-I:OPRO Checksum: 29237 +21-237-12:59:08.150 00 SPR-I:OPRO cFE Version: 6.7.99.0 +21-237-12:59:08.150 00 SPR-I:OPRO OS Version: 5.0.0.255 +21-237-12:59:08.150 00 SPR-I:OPRO +21-237-12:59:08.150 00 SPR-I:OPRO Connection Status +21-237-12:59:08.150 00 SPR-I:OPRO ----------------- +21-237-12:59:08.150 00 SPR-I:OPRO CFDP: DOWN +21-237-12:59:08.150 00 SPR-I:OPRO UDP: UP +21-237-12:59:08.151 00 SPR-I:OPRO SWTS: UNK +21-237-12:59:08.151 00 SPR-I:OPRO +21-237-12:59:08.151 00 SPR-I:OPRO CMD / TLM Path +21-237-12:59:08.151 00 SPR-I:OPRO -------------- +21-237-12:59:08.156 00 SPR-I:OPRO UDP +21-237-12:59:08.157 00 SPR-I:OPRO +21-237-12:59:08.157 00 SPR-I:OPRO +21-237-12:59:08.157 00 SPR-I:OPRO ASIST / GDS Configuration +21-237-12:59:08.157 00 SPR-I:OPRO ------------------------- +21-237-12:59:08.157 00 SPR-I:OPRO Workstation: GS582CFSLAB4 +21-237-12:59:08.157 00 SPR-I:OPRO Account: cfs_test +21-237-12:59:08.157 00 SPR-I:OPRO Version: 21.0.7 +21-237-12:59:08.157 00 SPR-I:OPRO Tlm DB: Version: 1.985 Date: 08-24-21 Time: 06:37:06 AM. +21-237-12:59:08.157 00 SPR-I:OPRO Cmd DB: Version: 1.51 Date: 08-24-21 Time: 06:47:31 AM.EDT +21-237-12:59:08.158 00 SPR-I:OPRO +21-237-12:59:08.158 00 SPR-I:OPRO Telemetry Info +21-237-12:59:08.159 00 SPR-I:OPRO -------------- +21-237-12:59:08.159 00 SPR-I:OPRO Pkt Loss Count: N/A +21-237-12:59:08.159 00 SPR-I:OPRO **************** End FSW Configuration *************** +21-237-12:59:08.159 00 SPR-I:OPRO Starting Procedure.... scx_cpu1_ds_resetnocds +21-237-12:59:08.289 00 SPR-I:OPRI --> start scx_cpu1_ds_resetnocds +21-237-12:59:08.290 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/scx_cpu1_ds_resetnocds.i +21-237-12:59:08.294 00 SPR-I:STS Procedure SCX_CPU1_DS_RESETNOCDS started +21-237-12:59:08.387 00 SPR-I:OPRO ;*********************************************************************** +21-237-12:59:08.387 00 SPR-I:OPRO ; Step 1.0: Data Storage Test Setup. +21-237-12:59:08.387 00 SPR-I:OPRO ;*********************************************************************** +21-237-12:59:08.387 00 SPR-I:OPRO ; Step 1.1: Command a Power-on Reset on CPU1. +21-237-12:59:08.387 00 SPR-I:OPRO ;*********************************************************************** +21-237-12:59:08.388 00 CMH-I:CMD Command is /SCX_CPU1_ES_POWERONRESET ;;; (SCX CPU1 ES Power-On Reset command code) +21-237-12:59:08.388 00 CMH-I:CMD Command SFDU received:<1806C000000302220002> from gs582cfslab4:SPR +21-237-12:59:08.399 00 SPR-I:STTE Wait mode - waiting 10 seconds ... +21-237-12:59:18.408 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/clear_spacecraft_status.i +21-237-12:59:18.409 00 SPR-I:STS Procedure CLEAR_SPACECRAFT_STATUS started +21-237-12:59:18.416 00 SPR-I:STS Procedure CLEAR_SPACECRAFT_STATUS completed +21-237-12:59:18.440 00 SPR-I:STTE Wait mode - waiting 60 seconds ... +21-237-13:00:18.500 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:00:24.467 00 CMH-I:STS Connected to FEDS:FEDS for commanding (internal ID 0). +21-237-13:00:28.511 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:00:28.513 00 CMH-I:CMD SFDU is /DDIR DATA="open udp_read C%03X 1235 packet_only" ;;; ( ) +21-237-13:00:28.530 00 CMH-I:CMD SFDU is /DDIR DATA="open udp_write CPKT cpu3 1234 ascii_pkt" ;;; ( ) +21-237-13:00:28.582 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/send_that_to_command.i +21-237-13:00:28.582 00 SPR-I:STS Procedure SEND_THAT_TO_COMMAND started +21-237-13:00:28.583 00 SPR-I:OPRO Sending: /SCX_CPU1_TO_OUTPUT_ENA gs582cfslab4 +21-237-13:00:28.584 00 CMH-I:CMD Command is /SCX_CPU1_TO_OUTPUT_ENA GS582CFSLAB4 ;;; (SCX CPU1 Enables TO output) +21-237-13:00:28.584 00 CMH-I:CMD Command SFDU received:<1880C0000011069A3139322E3136382E312E313031000000> from gs582cfslab4:SPR +21-237-13:00:28.634 00 SPR-I:STS Procedure SEND_THAT_TO_COMMAND completed +21-237-13:00:28.635 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:00:29.788 00 TLMH-I:STS 58-012-14:03:48.950 INFO CPU=CPU1 APPNAME=TO_LAB_APP EVENT ID=3 TO telemetry output enabled for IP 192.168.1.101 +21-237-13:00:33.640 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:00:33.641 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/fill_in_spacecraft_status.i +21-237-13:00:33.643 00 SPR-I:STS Procedure FILL_IN_SPACECRAFT_STATUS started +21-237-13:00:33.648 00 SPR-I:STS Procedure FILL_IN_SPACECRAFT_STATUS completed +21-237-13:00:33.648 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:00:38.652 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:00:38.653 00 SPR-I:OPRO ; Step 1.2: Upload the default DS table load images to CPU1. +21-237-13:00:38.653 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:00:38.653 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/scx_cpu1_ds_tbl3.i +21-237-13:00:38.659 00 SPR-I:STS Procedure SCX_CPU1_DS_TBL3 started +21-237-13:00:38.696 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:00:38.696 00 SPR-I:OPRO ; Step 1.0: Define DS Destination File And Packet Filter Tables. +21-237-13:00:38.696 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:00:38.700 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/create_tbl_file_from_cvt.i +21-237-13:00:38.700 00 SPR-I:STS Procedure CREATE_TBL_FILE_FROM_CVT started +21-237-13:00:38.702 00 SPR-I:OPRO ********** ds_filtfile.tbl ********** +21-237-13:00:38.702 00 SPR-I:OPRO +21-237-13:00:38.702 00 SPR-I:OPRO Content Type: cFE1 +21-237-13:00:38.702 00 SPR-I:OPRO Sub Type: 8 +21-237-13:00:38.702 00 SPR-I:OPRO Length: 12 +21-237-13:00:38.702 00 SPR-I:OPRO Spacecraft Id: SCX +21-237-13:00:38.702 00 SPR-I:OPRO Processor Id: CPU3 +21-237-13:00:38.702 00 SPR-I:OPRO Application Id: 3958 +21-237-13:00:38.702 00 SPR-I:OPRO Create Time Secs: 1629896438 +21-237-13:00:38.702 00 SPR-I:OPRO Create Time Subsecs: 0 +21-237-13:00:38.702 00 SPR-I:OPRO File Description: File Write Test File Table +21-237-13:00:38.702 00 SPR-I:OPRO +21-237-13:00:38.702 00 SPR-I:OPRO ********** DS.FILE_TBL ********** +21-237-13:00:38.702 00 SPR-I:OPRO +21-237-13:00:38.702 00 SPR-I:OPRO Start Mnemonic: SCX_CPU1_DS_DF_TBL_Description +21-237-13:00:38.702 00 SPR-I:OPRO Byte Offset: 0 +21-237-13:00:38.702 00 SPR-I:OPRO End Mnemonic: SCX_CPU1_DS_DF_TBL[7].SeqCnt +21-237-13:00:38.703 00 SPR-I:OPRO Number of Bytes: 1760 +21-237-13:00:38.703 00 SPR-I:OPRO +21-237-13:00:38.707 00 SPR-I:STS Loading file /s/opr/accounts/global/prc/partial_cvt_to_file_beta.i +21-237-13:00:38.707 00 SPR-I:STS Procedure PARTIAL_CVT_TO_FILE_BETA started +21-237-13:00:38.707 00 SPR-I:OPRO The unix command is cd /s/opr/accounts/cfs_test/image;cvt2file -s 116 -e 1875 P0F76 ds.file_tbl +21-237-13:00:38.712 00 SPR-I:STS Procedure PARTIAL_CVT_TO_FILE_BETA completed +21-237-13:00:38.712 00 SPR-I:OPRO cd /s/opr/accounts/cfs_test/image;cat ds_filtfile.tbl.tmp ds.file_tbl > ds_filtfile.tbl +21-237-13:00:38.718 00 SPR-I:OPRO cd /s/opr/accounts/cfs_test/image;rm ds.file_tbl ds_filtfile.tbl.tmp +21-237-13:00:38.723 00 SPR-I:STS Procedure CREATE_TBL_FILE_FROM_CVT completed +21-237-13:00:39.229 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/create_tbl_file_from_cvt.i +21-237-13:00:39.229 00 SPR-I:STS Procedure CREATE_TBL_FILE_FROM_CVT started +21-237-13:00:39.231 00 SPR-I:OPRO ********** ds_filtfilter.tbl ********** +21-237-13:00:39.231 00 SPR-I:OPRO +21-237-13:00:39.231 00 SPR-I:OPRO Content Type: cFE1 +21-237-13:00:39.231 00 SPR-I:OPRO Sub Type: 8 +21-237-13:00:39.231 00 SPR-I:OPRO Length: 12 +21-237-13:00:39.231 00 SPR-I:OPRO Spacecraft Id: SCX +21-237-13:00:39.231 00 SPR-I:OPRO Processor Id: CPU3 +21-237-13:00:39.231 00 SPR-I:OPRO Application Id: 3959 +21-237-13:00:39.231 00 SPR-I:OPRO Create Time Secs: 1629896439 +21-237-13:00:39.231 00 SPR-I:OPRO Create Time Subsecs: 0 +21-237-13:00:39.231 00 SPR-I:OPRO File Description: Filter Test Filter Table +21-237-13:00:39.231 00 SPR-I:OPRO +21-237-13:00:39.231 00 SPR-I:OPRO ********** DS.FILTER_TBL ********** +21-237-13:00:39.231 00 SPR-I:OPRO +21-237-13:00:39.232 00 SPR-I:OPRO Start Mnemonic: SCX_CPU1_DS_PF_TBL_Description +21-237-13:00:39.232 00 SPR-I:OPRO Byte Offset: 0 +21-237-13:00:39.232 00 SPR-I:OPRO End Mnemonic: SCX_CPU1_DS_PF_TBL[255].FilterParams[3].O_Value +21-237-13:00:39.232 00 SPR-I:OPRO Number of Bytes: 9248 +21-237-13:00:39.232 00 SPR-I:OPRO +21-237-13:00:39.236 00 SPR-I:STS Loading file /s/opr/accounts/global/prc/partial_cvt_to_file_beta.i +21-237-13:00:39.236 00 SPR-I:STS Procedure PARTIAL_CVT_TO_FILE_BETA started +21-237-13:00:39.237 00 SPR-I:OPRO The unix command is cd /s/opr/accounts/cfs_test/image;cvt2file -s 116 -e 9363 P0F77 ds.filter_tbl +21-237-13:00:39.240 00 SPR-I:STS Procedure PARTIAL_CVT_TO_FILE_BETA completed +21-237-13:00:39.240 00 SPR-I:OPRO cd /s/opr/accounts/cfs_test/image;cat ds_filtfilter.tbl.tmp ds.filter_tbl > ds_filtfilter.tbl +21-237-13:00:39.244 00 SPR-I:OPRO cd /s/opr/accounts/cfs_test/image;rm ds.filter_tbl ds_filtfilter.tbl.tmp +21-237-13:00:39.247 00 SPR-I:STS Procedure CREATE_TBL_FILE_FROM_CVT completed +21-237-13:00:39.248 00 SPR-I:OPRO ;********************************************************************* +21-237-13:00:39.248 00 SPR-I:OPRO ; End procedure SCX_CPU1_ds_tbl3 +21-237-13:00:39.248 00 SPR-I:OPRO ;********************************************************************* +21-237-13:00:39.248 00 SPR-I:STS Procedure SCX_CPU1_DS_TBL3 completed +21-237-13:00:39.252 00 SPR-I:OPRO ==> Default Destination File Table filename = 'ds_file_tbl.tbl' +21-237-13:00:39.254 00 SPR-I:OPRO ==> Default Filter Table filename = 'ds_filter_tbl.tbl' +21-237-13:00:39.255 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/load_table.i +21-237-13:00:39.255 00 SPR-I:STS Procedure LOAD_TABLE started +21-237-13:00:39.256 00 SPR-I:OPRO Table Filename: ds_filtfile.tbl +21-237-13:00:39.257 00 SPR-I:OPRO The perl command is: perl /s/opr/accounts/global/tools/table_ftp.pl 192.168.1.8 ds_filtfile.tbl RAM:0 3 +21-237-13:00:39.257 00 SPR-I:OPRO +21-237-13:00:39.391 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-237-13:00:39.391 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:00:44.395 00 SPR-I:OPRO +21-237-13:00:44.397 00 SPR-I:OPRO Sending Command: /SCX_CPU1_TBL_LOAD LFILENAME="/ram/ds_filtfile.tbl" +21-237-13:00:44.399 00 CMH-I:CMD Command is /SCX_CPU1_TBL_LOAD LFILENAME="/ram/ds_filtfile.tbl" ;;; (SCX CPU1 TBL load table command) +21-237-13:00:44.399 00 CMH-I:CMD Command SFDU received:<1804C000004102132F72616D2F64735F66696C7466696C652E74626C0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-237-13:00:44.424 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:00:45.289 00 TLMH-I:STS 58-012-14:04:04.501 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=12 Successful load of '/ram/ds_filtfile.tbl' into 'DS.FILE_TBL' working buffer +21-237-13:00:49.431 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:00:49.433 00 SPR-I:STS Procedure LOAD_TABLE completed +21-237-13:00:49.434 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:00:54.440 00 CMH-I:CMD Command is /SCX_CPU1_TBL_VALIDATE INACTIVE VTABLENAME="DS.FILE_TBL" ;;; (SCX CPU1 TBL validate table command) +21-237-13:00:54.440 00 CMH-I:CMD Command SFDU received:<1804C000002B0436000044532E46494C455F54424C0000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-237-13:00:54.453 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:00:56.790 00 TLMH-I:STS 58-012-14:04:16.004 INFO CPU=CPU1 APPNAME=DS EVENT ID=10 Destination file table verify results: desc text = OK, good entries = 8, bad = 0, unused = 8 +21-237-13:00:56.791 00 TLMH-I:STS 58-012-14:04:16.004 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=36 DS validation successful for Inactive 'DS.FILE_TBL' +21-237-13:00:59.459 00 CMH-I:CMD Command is /SCX_CPU1_TBL_ACTIVATE ATABLENAME="DS.FILE_TBL" ;;; (SCX CPU1 TBL activate table command) +21-237-13:00:59.459 00 CMH-I:CMD Command SFDU received:<1804C0000029053544532E46494C455F54424C0000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-237-13:00:59.472 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:01:00.788 00 TLMH-I:STS 58-012-14:04:20.004 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=37 DS Successfully Updated 'DS.FILE_TBL' +21-237-13:01:04.478 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/load_table.i +21-237-13:01:04.479 00 SPR-I:STS Procedure LOAD_TABLE started +21-237-13:01:04.483 00 SPR-I:OPRO Table Filename: ds_filtfilter.tbl +21-237-13:01:04.484 00 SPR-I:OPRO The perl command is: perl /s/opr/accounts/global/tools/table_ftp.pl 192.168.1.8 ds_filtfilter.tbl RAM:0 3 +21-237-13:01:04.484 00 SPR-I:OPRO +21-237-13:01:04.615 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-237-13:01:04.615 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:01:09.619 00 SPR-I:OPRO +21-237-13:01:09.622 00 SPR-I:OPRO Sending Command: /SCX_CPU1_TBL_LOAD LFILENAME="/ram/ds_filtfilter.tbl" +21-237-13:01:09.624 00 CMH-I:CMD Command is /SCX_CPU1_TBL_LOAD LFILENAME="/ram/ds_filtfilter.tbl" ;;; (SCX CPU1 TBL load table command) +21-237-13:01:09.624 00 CMH-I:CMD Command SFDU received:<1804C000004102152F72616D2F64735F66696C7466696C7465722E74626C000000000000000000000000000000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-237-13:01:09.643 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:01:10.281 00 TLMH-I:STS 58-012-14:04:29.501 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=12 Successful load of '/ram/ds_filtfilter.tbl' into 'DS.FILTER_TBL' working buffer +21-237-13:01:13.648 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:01:13.650 00 SPR-I:STS Procedure LOAD_TABLE completed +21-237-13:01:13.650 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:01:18.656 00 CMH-I:CMD Command is /SCX_CPU1_TBL_VALIDATE INACTIVE VTABLENAME="DS.FILTER_TBL" ;;; (SCX CPU1 TBL validate table command) +21-237-13:01:18.656 00 CMH-I:CMD Command SFDU received:<1804C000002B0430000044532E46494C5445525F54424C000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-237-13:01:18.670 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:01:20.785 00 TLMH-I:STS 58-012-14:04:40.004 INFO CPU=CPU1 APPNAME=DS EVENT ID=12 Filter table verify results: desc text = OK, good entries = 6, bad = 0, unused = 250 +21-237-13:01:20.786 00 TLMH-I:STS 58-012-14:04:40.004 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=36 DS validation successful for Inactive 'DS.FILTER_TBL' +21-237-13:01:23.675 00 CMH-I:CMD Command is /SCX_CPU1_TBL_ACTIVATE ATABLENAME="DS.FILTER_TBL" ;;; (SCX CPU1 TBL activate table command) +21-237-13:01:23.676 00 CMH-I:CMD Command SFDU received:<1804C0000029053344532E46494C5445525F54424C000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-237-13:01:23.688 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:01:24.785 00 TLMH-I:STS 58-012-14:04:44.004 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=37 DS Successfully Updated 'DS.FILTER_TBL' +21-237-13:01:28.692 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:01:28.693 00 SPR-I:OPRO ; Step 1.3: Display the Housekeeping pages +21-237-13:01:28.693 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:01:28.788 00 DPD-I:STS Page SCX_CPU1_DS_HK added (cid:1). +21-237-13:01:28.874 00 DPD-I:STS Page SCX_CPU1_TST_DS_HK added (cid:1). +21-237-13:01:28.968 00 DPD-I:STS Page SCX_CPU1_DS_FILTER_TBL added (cid:1). +21-237-13:01:29.080 00 DPD-I:STS Page SCX_CPU1_DS_FILE_TBL added (cid:1). +21-237-13:01:29.088 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:01:29.088 00 SPR-I:OPRO ; Step 1.4: Start the Data Storage (DS) and Test Applications. +21-237-13:01:29.088 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:01:29.093 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:01:37.103 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:01:37.105 00 SPR-I:OPRO <*> Passed (8000) - Housekeeping packet is being generated. +21-237-13:01:37.110 00 SPR-I:OPRO <*> Passed (9000) - Housekeeping telemetry initialized properly. +21-237-13:01:37.114 00 SPR-I:OPRO <*> Passed (9005;9007) - The tables were validated properly. +21-237-13:01:37.145 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/get_file_to_cvt.i +21-237-13:01:37.148 00 SPR-I:STS Procedure GET_FILE_TO_CVT started +21-237-13:01:37.177 00 SPR-I:OPRO Sending Command: /SCX_CPU1_SB_WRITEROUTING2FILE ROUTINFOFILENAME="/ram/cfe_sb_route.dat" +21-237-13:01:37.178 00 CMH-I:CMD Command is /SCX_CPU1_SB_WRITEROUTING2FILE ROUTINFOFILENAME="/ram/cfe_sb_route.dat" ;;; (SCX CPU1 SB save routing info command code) +21-237-13:01:37.178 00 CMH-I:CMD Command SFDU received:<1803C0000041034F2F72616D2F6366655F73625F726F7574652E64617400000000000000000000000000000000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-237-13:01:37.190 00 SPR-I:STTE Wait mode - waiting 15 seconds ... +21-237-13:01:52.202 00 SPR-I:OPRO The APID is: P0F02 +21-237-13:01:52.202 00 SPR-I:OPRO The CPU is: CPU3 +21-237-13:01:52.202 00 SPR-I:OPRO The IP Address is: 192.168.1.8 +21-237-13:01:52.204 00 SPR-I:OPRO The perl command is: perl /s/opr/accounts/global/tools/ftp.pl RAM:0 cfe_sb_route.dat cpu1_sb_route.dat binary 192.168.1.8 +21-237-13:01:52.339 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-237-13:01:52.339 00 SPR-I:STTE Wait mode - waiting 15 seconds ... +21-237-13:02:07.349 00 SPR-I:OPRO +21-237-13:02:07.369 00 SPR-I:OPRO The unix command is cvt -ws file_list[3842].file_write_time "`date +%y-%j-%T -r /s/opr/accounts/cfs_test/image/cpu1_sb_route.dat`" +21-237-13:02:07.369 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:02:12.376 00 SPR-I:STS Procedure GET_FILE_TO_CVT completed +21-237-13:02:12.377 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:02:15.890 00 SPR-I:OPRI --> page SCX_CPU1_DS_FILE_HK +21-237-13:02:15.958 00 DPD-I:STS Page SCX_CPU1_DS_FILE_HK added (cid:1). +21-237-13:02:17.465 00 SPR-I:OPRO == Looking for msgID = 0900 +21-237-13:02:17.471 00 SPR-I:OPRO == Looking for msgID = 0901 +21-237-13:02:17.476 00 SPR-I:OPRO == Looking for msgID = 0902 +21-237-13:02:17.482 00 SPR-I:OPRO == Looking for msgID = 0903 +21-237-13:02:17.488 00 SPR-I:OPRO == Looking for msgID = 0904 +21-237-13:02:17.491 00 SPR-I:OPRO == Looking for msgID = 0905 +21-237-13:02:19.412 00 SPR-I:OPRO Failed (9006) - Expected 6 message ID subscriptions. Found 0 +21-237-13:02:19.414 00 SPR-I:OPRO <*> Passed (9008) - DS Application State is enabled as expected. +21-237-13:02:19.415 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:02:24.418 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:02:24.418 00 SPR-I:OPRO ; Step 1.5: Enable DEBUG Event Messages +21-237-13:02:24.418 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:02:24.418 00 CMH-I:CMD Command is /SCX_CPU1_EVS_ENAAPPEVTTYPE APPLICATION="DS" DEBUG ;;; (SCX CPU1 EVS Enable Event Type for the App) +21-237-13:02:24.418 00 CMH-I:CMD Or Command is /SCX_CPU1_EVS_ENAAPPEVTTYPEMASK APPLICATION="DS" BITMASK= 1 (x1) ;;; (SCX CPU1 EVS Enable Event Type for the App (mask)) +21-237-13:02:24.419 00 CMH-I:CMD Command SFDU received:<1801C0000017052244530000000000000000000000000000000000000100> from gs582cfslab4:SPR +21-237-13:02:24.432 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:02:29.437 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:02:29.439 00 SPR-I:OPRO <*> Passed - Enable Debug events command sent properly. +21-237-13:02:29.439 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:02:29.439 00 SPR-I:OPRO ; Step 1.6: Dump the Destination File and Packet Filter tables. +21-237-13:02:29.440 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:02:29.440 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/get_tbl_to_cvt.i +21-237-13:02:29.443 00 SPR-I:STS Procedure GET_TBL_TO_CVT started +21-237-13:02:29.462 00 SPR-I:OPRO Sending Command: /SCX_CPU1_TBL_DUMP ACTIVE DTABLENAME="DS.FILTER_TBL" DFILENAME="/ram/cpu1_filtertbl16" +21-237-13:02:29.463 00 CMH-I:CMD Command is /SCX_CPU1_TBL_DUMP ACTIVE DTABLENAME="DS.FILTER_TBL" DFILENAME="/ram/cpu1_filtertbl16" ;;; (SCX CPU1 TBL dump table command) +21-237-13:02:29.463 00 CMH-I:CMD Command SFDU received:<1804C000006B037D000144532E46494C5445525F54424C0000000000000000000000000000000000000000000000000000002F72616D2F637075315F66696C74657274626C313600000000000000000000000000000000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-237-13:02:29.475 00 SPR-I:STTE Wait mode - waiting 15 seconds ... +21-237-13:02:30.280 00 TLMH-I:STS 58-012-14:05:49.502 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=14 Successfully dumped Table 'DS.FILTER_TBL' to '/ram/cpu1_filtertbl16' +21-237-13:02:44.487 00 SPR-I:OPRO +21-237-13:02:44.487 00 SPR-I:OPRO The TBLNAME is: DS.FILTER_TBL +21-237-13:02:44.487 00 SPR-I:OPRO The APID is: P0F77 +21-237-13:02:44.487 00 SPR-I:OPRO The CPU is: CPU3 +21-237-13:02:44.487 00 SPR-I:OPRO The IP Address is: 192.168.1.8 +21-237-13:02:44.488 00 SPR-I:OPRO The perl command is: perl /s/opr/accounts/global/tools/ftp.pl RAM:0 cpu1_filtertbl16 cpu1_filtertbl16 binary 192.168.1.8 +21-237-13:02:44.621 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-237-13:02:44.622 00 SPR-I:STTE Wait mode - waiting 15 seconds ... +21-237-13:02:59.634 00 SPR-I:OPRO +21-237-13:02:59.673 00 SPR-I:OPRO The unix command is cvt -ws file_list[3959].file_write_time "`date +%y-%j-%T -r /s/opr/accounts/cfs_test/image/cpu1_filtertbl16`" +21-237-13:02:59.673 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:03:04.678 00 SPR-I:STS Procedure GET_TBL_TO_CVT completed +21-237-13:03:04.680 00 SPR-I:OPRO ==> MessageID = 0900 +21-237-13:03:04.681 00 SPR-I:OPRO ==> File Index = 0 +21-237-13:03:04.682 00 SPR-I:OPRO ==> Filter Type = 1 +21-237-13:03:04.682 00 SPR-I:OPRO ==> N Value = 1 +21-237-13:03:04.683 00 SPR-I:OPRO ==> X Value = 1 +21-237-13:03:04.683 00 SPR-I:OPRO ==> O Value = 0 +21-237-13:03:04.695 00 SPR-I:OPRO ==> File Index = 1 +21-237-13:03:04.696 00 SPR-I:OPRO ==> Filter Type = 1 +21-237-13:03:04.697 00 SPR-I:OPRO ==> N Value = 1 +21-237-13:03:04.697 00 SPR-I:OPRO ==> X Value = 1 +21-237-13:03:04.698 00 SPR-I:OPRO ==> O Value = 0 +21-237-13:03:04.700 00 SPR-I:OPRO ==> File Index = 2 +21-237-13:03:04.700 00 SPR-I:OPRO ==> Filter Type = 1 +21-237-13:03:04.701 00 SPR-I:OPRO ==> N Value = 1 +21-237-13:03:04.702 00 SPR-I:OPRO ==> X Value = 1 +21-237-13:03:04.703 00 SPR-I:OPRO ==> O Value = 0 +21-237-13:03:04.707 00 SPR-I:OPRO ==> File Index = 3 +21-237-13:03:04.708 00 SPR-I:OPRO ==> Filter Type = 1 +21-237-13:03:04.708 00 SPR-I:OPRO ==> N Value = 1 +21-237-13:03:04.709 00 SPR-I:OPRO ==> X Value = 1 +21-237-13:03:04.710 00 SPR-I:OPRO ==> O Value = 0 +21-237-13:03:04.712 00 SPR-I:OPRO ==> MessageID = 0901 +21-237-13:03:04.713 00 SPR-I:OPRO ==> File Index = 4 +21-237-13:03:04.714 00 SPR-I:OPRO ==> Filter Type = 2 +21-237-13:03:04.714 00 SPR-I:OPRO ==> N Value = 1 +21-237-13:03:04.715 00 SPR-I:OPRO ==> X Value = 1 +21-237-13:03:04.716 00 SPR-I:OPRO ==> O Value = 0 +21-237-13:03:04.731 00 SPR-I:OPRO ==> File Index = 5 +21-237-13:03:04.732 00 SPR-I:OPRO ==> Filter Type = 2 +21-237-13:03:04.732 00 SPR-I:OPRO ==> N Value = 1 +21-237-13:03:04.732 00 SPR-I:OPRO ==> X Value = 1 +21-237-13:03:04.732 00 SPR-I:OPRO ==> O Value = 0 +21-237-13:03:04.733 00 SPR-I:OPRO ==> File Index = 6 +21-237-13:03:04.733 00 SPR-I:OPRO ==> Filter Type = 2 +21-237-13:03:04.733 00 SPR-I:OPRO ==> N Value = 1 +21-237-13:03:04.733 00 SPR-I:OPRO ==> X Value = 1 +21-237-13:03:04.733 00 SPR-I:OPRO ==> O Value = 0 +21-237-13:03:04.740 00 SPR-I:OPRO ==> File Index = 7 +21-237-13:03:04.740 00 SPR-I:OPRO ==> Filter Type = 2 +21-237-13:03:04.741 00 SPR-I:OPRO ==> N Value = 1 +21-237-13:03:04.741 00 SPR-I:OPRO ==> X Value = 1 +21-237-13:03:04.741 00 SPR-I:OPRO ==> O Value = 0 +21-237-13:03:04.742 00 SPR-I:OPRO ==> MessageID = 0902 +21-237-13:03:04.742 00 SPR-I:OPRO ==> File Index = 0 +21-237-13:03:04.742 00 SPR-I:OPRO ==> Filter Type = 1 +21-237-13:03:04.742 00 SPR-I:OPRO ==> N Value = 1 +21-237-13:03:04.742 00 SPR-I:OPRO ==> X Value = 3 +21-237-13:03:04.743 00 SPR-I:OPRO ==> O Value = 0 +21-237-13:03:04.749 00 SPR-I:OPRO ==> MessageID = 0903 +21-237-13:03:04.749 00 SPR-I:OPRO ==> File Index = 1 +21-237-13:03:04.750 00 SPR-I:OPRO ==> Filter Type = 1 +21-237-13:03:04.750 00 SPR-I:OPRO ==> N Value = 1 +21-237-13:03:04.750 00 SPR-I:OPRO ==> X Value = 1 +21-237-13:03:04.750 00 SPR-I:OPRO ==> O Value = 0 +21-237-13:03:04.752 00 SPR-I:OPRO ==> MessageID = 0904 +21-237-13:03:04.752 00 SPR-I:OPRO ==> File Index = 4 +21-237-13:03:04.752 00 SPR-I:OPRO ==> Filter Type = 1 +21-237-13:03:04.753 00 SPR-I:OPRO ==> N Value = 1 +21-237-13:03:04.753 00 SPR-I:OPRO ==> X Value = 1 +21-237-13:03:04.758 00 SPR-I:OPRO ==> O Value = 0 +21-237-13:03:04.760 00 SPR-I:OPRO ==> MessageID = 0905 +21-237-13:03:04.761 00 SPR-I:OPRO ==> File Index = 1 +21-237-13:03:04.761 00 SPR-I:OPRO ==> Filter Type = 2 +21-237-13:03:04.761 00 SPR-I:OPRO ==> N Value = 1 +21-237-13:03:04.761 00 SPR-I:OPRO ==> X Value = 1 +21-237-13:03:04.761 00 SPR-I:OPRO ==> O Value = 0 +21-237-13:03:04.769 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/get_tbl_to_cvt.i +21-237-13:03:04.770 00 SPR-I:STS Procedure GET_TBL_TO_CVT started +21-237-13:03:04.781 00 SPR-I:OPRO Sending Command: /SCX_CPU1_TBL_DUMP ACTIVE DTABLENAME="DS.FILE_TBL" DFILENAME="/ram/cpu1_filetbl17" +21-237-13:03:04.782 00 CMH-I:CMD Command is /SCX_CPU1_TBL_DUMP ACTIVE DTABLENAME="DS.FILE_TBL" DFILENAME="/ram/cpu1_filetbl17" ;;; (SCX CPU1 TBL dump table command) +21-237-13:03:04.782 00 CMH-I:CMD Command SFDU received:<1804C000006B037C000144532E46494C455F54424C00000000000000000000000000000000000000000000000000000000002F72616D2F637075315F66696C6574626C3137000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-237-13:03:04.794 00 SPR-I:STTE Wait mode - waiting 15 seconds ... +21-237-13:03:05.280 00 TLMH-I:STS 58-012-14:06:24.502 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=14 Successfully dumped Table 'DS.FILE_TBL' to '/ram/cpu1_filetbl17' +21-237-13:03:19.805 00 SPR-I:OPRO +21-237-13:03:19.805 00 SPR-I:OPRO The TBLNAME is: DS.FILE_TBL +21-237-13:03:19.805 00 SPR-I:OPRO The APID is: P0F76 +21-237-13:03:19.806 00 SPR-I:OPRO The CPU is: CPU3 +21-237-13:03:19.806 00 SPR-I:OPRO The IP Address is: 192.168.1.8 +21-237-13:03:19.810 00 SPR-I:OPRO The perl command is: perl /s/opr/accounts/global/tools/ftp.pl RAM:0 cpu1_filetbl17 cpu1_filetbl17 binary 192.168.1.8 +21-237-13:03:19.985 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-237-13:03:19.985 00 SPR-I:STTE Wait mode - waiting 15 seconds ... +21-237-13:03:34.996 00 SPR-I:OPRO +21-237-13:03:35.013 00 SPR-I:OPRO The unix command is cvt -ws file_list[3958].file_write_time "`date +%y-%j-%T -r /s/opr/accounts/cfs_test/image/cpu1_filetbl17`" +21-237-13:03:35.013 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:03:40.019 00 SPR-I:STS Procedure GET_TBL_TO_CVT completed +21-237-13:03:40.021 00 SPR-I:OPRO ==> Pathname = '/ram/' +21-237-13:03:40.022 00 SPR-I:OPRO ==> Basename = 'seq1' +21-237-13:03:40.022 00 SPR-I:OPRO ==> Extension = '.dat' +21-237-13:03:40.023 00 SPR-I:OPRO ==> Name Type = Count +21-237-13:03:40.023 00 SPR-I:OPRO ==> State = Enabled +21-237-13:03:40.023 00 SPR-I:OPRO ==> Max Size = 1024 +21-237-13:03:40.023 00 SPR-I:OPRO ==> Max Age = 600 +21-237-13:03:40.023 00 SPR-I:OPRO ==> Seq Count = 100 +21-237-13:03:40.027 00 SPR-I:OPRO ==> Pathname = '/ram/' +21-237-13:03:40.027 00 SPR-I:OPRO ==> Basename = 'seq2' +21-237-13:03:40.027 00 SPR-I:OPRO ==> Extension = '.dat' +21-237-13:03:40.027 00 SPR-I:OPRO ==> Name Type = Count +21-237-13:03:40.027 00 SPR-I:OPRO ==> State = Enabled +21-237-13:03:40.028 00 SPR-I:OPRO ==> Max Size = 1024 +21-237-13:03:40.028 00 SPR-I:OPRO ==> Max Age = 600 +21-237-13:03:40.028 00 SPR-I:OPRO ==> Seq Count = 200 +21-237-13:03:40.029 00 SPR-I:OPRO ==> Pathname = '/ram/' +21-237-13:03:40.029 00 SPR-I:OPRO ==> Basename = 'seq3' +21-237-13:03:40.029 00 SPR-I:OPRO ==> Extension = '.dat' +21-237-13:03:40.029 00 SPR-I:OPRO ==> Name Type = Count +21-237-13:03:40.029 00 SPR-I:OPRO ==> State = Enabled +21-237-13:03:40.031 00 SPR-I:OPRO ==> Max Size = 1024 +21-237-13:03:40.031 00 SPR-I:OPRO ==> Max Age = 600 +21-237-13:03:40.031 00 SPR-I:OPRO ==> Seq Count = 300 +21-237-13:03:40.032 00 SPR-I:OPRO ==> Pathname = '/ram/' +21-237-13:03:40.032 00 SPR-I:OPRO ==> Basename = 'seq4' +21-237-13:03:40.032 00 SPR-I:OPRO ==> Extension = '.dat' +21-237-13:03:40.032 00 SPR-I:OPRO ==> Name Type = Count +21-237-13:03:40.032 00 SPR-I:OPRO ==> State = Enabled +21-237-13:03:40.032 00 SPR-I:OPRO ==> Max Size = 1024 +21-237-13:03:40.032 00 SPR-I:OPRO ==> Max Age = 600 +21-237-13:03:40.033 00 SPR-I:OPRO ==> Seq Count = 400 +21-237-13:03:40.041 00 SPR-I:OPRO ==> Pathname = '/ram/' +21-237-13:03:40.043 00 SPR-I:OPRO ==> Basename = 'time1' +21-237-13:03:40.043 00 SPR-I:OPRO ==> Extension = '' +21-237-13:03:40.043 00 SPR-I:OPRO ==> Name Type = Time +21-237-13:03:40.043 00 SPR-I:OPRO ==> State = Enabled +21-237-13:03:40.044 00 SPR-I:OPRO ==> Max Size = 1024 +21-237-13:03:40.044 00 SPR-I:OPRO ==> Max Age = 60 +21-237-13:03:40.044 00 SPR-I:OPRO ==> Seq Count = 0 +21-237-13:03:40.045 00 SPR-I:OPRO ==> Pathname = '/ram/' +21-237-13:03:40.045 00 SPR-I:OPRO ==> Basename = 'time2' +21-237-13:03:40.052 00 SPR-I:OPRO ==> Extension = '' +21-237-13:03:40.053 00 SPR-I:OPRO ==> Name Type = Time +21-237-13:03:40.053 00 SPR-I:OPRO ==> State = Enabled +21-237-13:03:40.053 00 SPR-I:OPRO ==> Max Size = 1024 +21-237-13:03:40.053 00 SPR-I:OPRO ==> Max Age = 60 +21-237-13:03:40.053 00 SPR-I:OPRO ==> Seq Count = 0 +21-237-13:03:40.054 00 SPR-I:OPRO ==> Pathname = '/ram/' +21-237-13:03:40.054 00 SPR-I:OPRO ==> Basename = 'time3' +21-237-13:03:40.054 00 SPR-I:OPRO ==> Extension = '' +21-237-13:03:40.054 00 SPR-I:OPRO ==> Name Type = Time +21-237-13:03:40.054 00 SPR-I:OPRO ==> State = Enabled +21-237-13:03:40.054 00 SPR-I:OPRO ==> Max Size = 1024 +21-237-13:03:40.054 00 SPR-I:OPRO ==> Max Age = 60 +21-237-13:03:40.055 00 SPR-I:OPRO ==> Seq Count = 0 +21-237-13:03:40.056 00 SPR-I:OPRO ==> Pathname = '/ram/' +21-237-13:03:40.056 00 SPR-I:OPRO ==> Basename = 'time4' +21-237-13:03:40.056 00 SPR-I:OPRO ==> Extension = '' +21-237-13:03:40.056 00 SPR-I:OPRO ==> Name Type = Time +21-237-13:03:40.061 00 SPR-I:OPRO ==> State = Enabled +21-237-13:03:40.061 00 SPR-I:OPRO ==> Max Size = 1024 +21-237-13:03:40.061 00 SPR-I:OPRO ==> Max Age = 60 +21-237-13:03:40.061 00 SPR-I:OPRO ==> Seq Count = 0 +21-237-13:03:40.062 00 SPR-I:OPRO <*> Passed (9001) - The Destination File and Packet Filter Table were loaded with 8 and 6 valid entries. +21-237-13:03:40.063 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:03:45.067 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:03:45.067 00 SPR-I:OPRO ; Step 2.0: Power-On Reset Tests. +21-237-13:03:45.067 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:03:45.067 00 SPR-I:OPRO ; Step 2.1: Remove the default Packet Filter table file. +21-237-13:03:45.068 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:03:45.068 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/ftp_file.i +21-237-13:03:45.069 00 SPR-I:STS Procedure FTP_FILE started +21-237-13:03:45.205 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-237-13:03:45.206 00 SPR-I:STS Procedure FTP_FILE completed +21-237-13:03:45.206 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:03:50.210 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:03:50.210 00 SPR-I:OPRO ; Step 2.2: Perform a Power-On Reset on CPU1. +21-237-13:03:50.210 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:03:50.211 00 CMH-I:CMD Command is /SCX_CPU1_ES_POWERONRESET ;;; (SCX CPU1 ES Power-On Reset command code) +21-237-13:03:50.211 00 CMH-I:CMD Command SFDU received:<1806C000000302220002> from gs582cfslab4:SPR +21-237-13:03:50.223 00 SPR-I:STTE Wait mode - waiting 10 seconds ... +21-237-13:04:00.231 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/clear_spacecraft_status.i +21-237-13:04:00.233 00 SPR-I:STS Procedure CLEAR_SPACECRAFT_STATUS started +21-237-13:04:00.248 00 SPR-I:STS Procedure CLEAR_SPACECRAFT_STATUS completed +21-237-13:04:00.301 00 SPR-I:STTE Wait mode - waiting 60 seconds ... +21-237-13:05:00.365 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:05:06.325 00 CMH-I:STS Connected to FEDS:FEDS for commanding (internal ID 0). +21-237-13:05:10.375 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:05:10.377 00 CMH-I:CMD SFDU is /DDIR DATA="open udp_read C%03X 1235 packet_only" ;;; ( ) +21-237-13:05:10.391 00 CMH-I:CMD SFDU is /DDIR DATA="open udp_write CPKT cpu3 1234 ascii_pkt" ;;; ( ) +21-237-13:05:10.442 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/send_that_to_command.i +21-237-13:05:10.442 00 SPR-I:STS Procedure SEND_THAT_TO_COMMAND started +21-237-13:05:10.443 00 SPR-I:OPRO Sending: /SCX_CPU1_TO_OUTPUT_ENA gs582cfslab4 +21-237-13:05:10.443 00 CMH-I:CMD Command is /SCX_CPU1_TO_OUTPUT_ENA GS582CFSLAB4 ;;; (SCX CPU1 Enables TO output) +21-237-13:05:10.443 00 CMH-I:CMD Command SFDU received:<1880C0000011069A3139322E3136382E312E313031000000> from gs582cfslab4:SPR +21-237-13:05:10.494 00 SPR-I:STS Procedure SEND_THAT_TO_COMMAND completed +21-237-13:05:10.495 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:05:11.781 00 TLMH-I:STS 58-012-14:03:49.450 INFO CPU=CPU1 APPNAME=TO_LAB_APP EVENT ID=3 TO telemetry output enabled for IP 192.168.1.101 +21-237-13:05:14.499 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:05:14.500 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/fill_in_spacecraft_status.i +21-237-13:05:14.502 00 SPR-I:STS Procedure FILL_IN_SPACECRAFT_STATUS started +21-237-13:05:14.507 00 SPR-I:STS Procedure FILL_IN_SPACECRAFT_STATUS completed +21-237-13:05:14.507 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:05:19.511 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:05:19.511 00 SPR-I:OPRO ; Step 2.3: Start the Data Storage (DS) and Test Applications. +21-237-13:05:19.511 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:05:19.518 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:05:19.518 00 SPR-I:OPRO ; Setup event 3 with CFE_TBL ERROR 53 +21-237-13:05:19.519 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:05:19.529 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:05:19.530 00 SPR-I:OPRO ; Setup event 4 with DS ERROR 8 +21-237-13:05:19.530 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:05:19.532 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:05:19.533 00 SPR-I:OPRO ; Step 2.4: Enable DEBUG Event Messages +21-237-13:05:19.546 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:05:19.547 00 CMH-I:CMD Command is /SCX_CPU1_EVS_ENAAPPEVTTYPE APPLICATION="DS" DEBUG ;;; (SCX CPU1 EVS Enable Event Type for the App) +21-237-13:05:19.547 00 CMH-I:CMD Or Command is /SCX_CPU1_EVS_ENAAPPEVTTYPEMASK APPLICATION="DS" BITMASK= 1 (x1) ;;; (SCX CPU1 EVS Enable Event Type for the App (mask)) +21-237-13:05:19.548 00 CMH-I:CMD Command SFDU received:<1801C0000017052244530000000000000000000000000000000000000100> from gs582cfslab4:SPR +21-237-13:05:19.564 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:05:22.567 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:05:22.567 00 SPR-I:OPRO <*> Passed - Enable Debug events command sent properly. +21-237-13:05:22.568 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:05:22.568 00 SPR-I:OPRO ; Step 2.5: Restore the default Packet Filter Table file. +21-237-13:05:22.568 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:05:22.568 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/ftp_file.i +21-237-13:05:22.568 00 SPR-I:STS Procedure FTP_FILE started +21-237-13:05:23.032 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-237-13:05:23.033 00 SPR-I:STS Procedure FTP_FILE completed +21-237-13:05:23.034 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:05:28.038 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:05:28.038 00 SPR-I:OPRO ; Step 2.6: Remove the default Destination File Table file. +21-237-13:05:28.038 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:05:28.039 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/ftp_file.i +21-237-13:05:28.040 00 SPR-I:STS Procedure FTP_FILE started +21-237-13:05:28.143 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-237-13:05:28.143 00 SPR-I:STS Procedure FTP_FILE completed +21-237-13:05:28.143 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:05:33.148 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:05:33.148 00 SPR-I:OPRO ; Step 2.7: Perform a Power-On Reset on CPU1. +21-237-13:05:33.148 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:05:33.150 00 CMH-I:CMD Command is /SCX_CPU1_ES_POWERONRESET ;;; (SCX CPU1 ES Power-On Reset command code) +21-237-13:05:33.150 00 CMH-I:CMD Command SFDU received:<1806C000000302220002> from gs582cfslab4:SPR +21-237-13:05:33.163 00 SPR-I:STTE Wait mode - waiting 10 seconds ... +21-237-13:05:43.173 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/clear_spacecraft_status.i +21-237-13:05:43.174 00 SPR-I:STS Procedure CLEAR_SPACECRAFT_STATUS started +21-237-13:05:43.181 00 SPR-I:STS Procedure CLEAR_SPACECRAFT_STATUS completed +21-237-13:05:43.225 00 SPR-I:STTE Wait mode - waiting 60 seconds ... +21-237-13:06:43.289 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:06:49.245 00 CMH-I:STS Connected to FEDS:FEDS for commanding (internal ID 0). +21-237-13:06:53.299 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:06:53.300 00 CMH-I:CMD SFDU is /DDIR DATA="open udp_read C%03X 1235 packet_only" ;;; ( ) +21-237-13:06:53.312 00 CMH-I:CMD SFDU is /DDIR DATA="open udp_write CPKT cpu3 1234 ascii_pkt" ;;; ( ) +21-237-13:06:53.363 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/send_that_to_command.i +21-237-13:06:53.363 00 SPR-I:STS Procedure SEND_THAT_TO_COMMAND started +21-237-13:06:53.364 00 SPR-I:OPRO Sending: /SCX_CPU1_TO_OUTPUT_ENA gs582cfslab4 +21-237-13:06:53.365 00 CMH-I:CMD Command is /SCX_CPU1_TO_OUTPUT_ENA GS582CFSLAB4 ;;; (SCX CPU1 Enables TO output) +21-237-13:06:53.365 00 CMH-I:CMD Command SFDU received:<1880C0000011069A3139322E3136382E312E313031000000> from gs582cfslab4:SPR +21-237-13:06:53.415 00 SPR-I:STS Procedure SEND_THAT_TO_COMMAND completed +21-237-13:06:53.416 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:06:54.807 00 TLMH-I:STS 58-012-14:03:49.450 INFO CPU=CPU1 APPNAME=TO_LAB_APP EVENT ID=3 TO telemetry output enabled for IP 192.168.1.101 +21-237-13:06:57.420 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:06:57.421 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/fill_in_spacecraft_status.i +21-237-13:06:57.422 00 SPR-I:STS Procedure FILL_IN_SPACECRAFT_STATUS started +21-237-13:06:57.435 00 SPR-I:STS Procedure FILL_IN_SPACECRAFT_STATUS completed +21-237-13:06:57.436 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:07:02.440 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:07:02.440 00 SPR-I:OPRO ; Step 2.8: Start the Data Storage (DS) and Test Applications. +21-237-13:07:02.440 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:07:02.446 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:07:02.446 00 SPR-I:OPRO ; Setup event 3 with CFE_TBL ERROR 53 +21-237-13:07:02.446 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:07:02.448 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:07:02.448 00 SPR-I:OPRO ; Setup event 4 with DS ERROR 8 +21-237-13:07:02.448 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:07:02.448 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:07:02.448 00 SPR-I:OPRO ; Step 2.9: Enable DEBUG Event Messages +21-237-13:07:02.456 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:07:02.457 00 CMH-I:CMD Command is /SCX_CPU1_EVS_ENAAPPEVTTYPE APPLICATION="DS" DEBUG ;;; (SCX CPU1 EVS Enable Event Type for the App) +21-237-13:07:02.457 00 CMH-I:CMD Or Command is /SCX_CPU1_EVS_ENAAPPEVTTYPEMASK APPLICATION="DS" BITMASK= 1 (x1) ;;; (SCX CPU1 EVS Enable Event Type for the App (mask)) +21-237-13:07:02.457 00 CMH-I:CMD Command SFDU received:<1801C0000017052244530000000000000000000000000000000000000100> from gs582cfslab4:SPR +21-237-13:07:02.471 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:07:05.473 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:07:05.474 00 SPR-I:OPRO <*> Passed - Enable Debug events command sent properly. +21-237-13:07:05.474 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:07:05.474 00 SPR-I:OPRO ; Step 2.10: Remove the default Packet Filter table file. +21-237-13:07:05.474 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:07:05.474 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/ftp_file.i +21-237-13:07:05.474 00 SPR-I:STS Procedure FTP_FILE started +21-237-13:07:05.605 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-237-13:07:05.605 00 SPR-I:STS Procedure FTP_FILE completed +21-237-13:07:05.605 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:07:10.609 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:07:10.609 00 SPR-I:OPRO ; Step 2.11: Perform a Power-On Reset on CPU1. +21-237-13:07:10.609 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:07:10.610 00 CMH-I:CMD Command is /SCX_CPU1_ES_POWERONRESET ;;; (SCX CPU1 ES Power-On Reset command code) +21-237-13:07:10.610 00 CMH-I:CMD Command SFDU received:<1806C000000302220002> from gs582cfslab4:SPR +21-237-13:07:10.622 00 SPR-I:STTE Wait mode - waiting 10 seconds ... +21-237-13:07:20.630 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/clear_spacecraft_status.i +21-237-13:07:20.631 00 SPR-I:STS Procedure CLEAR_SPACECRAFT_STATUS started +21-237-13:07:20.646 00 SPR-I:STS Procedure CLEAR_SPACECRAFT_STATUS completed +21-237-13:07:20.697 00 SPR-I:STTE Wait mode - waiting 60 seconds ... +21-237-13:08:20.762 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:08:26.721 00 CMH-I:STS Connected to FEDS:FEDS for commanding (internal ID 0). +21-237-13:08:30.772 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:08:30.775 00 CMH-I:CMD SFDU is /DDIR DATA="open udp_read C%03X 1235 packet_only" ;;; ( ) +21-237-13:08:30.792 00 CMH-I:CMD SFDU is /DDIR DATA="open udp_write CPKT cpu3 1234 ascii_pkt" ;;; ( ) +21-237-13:08:30.836 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/send_that_to_command.i +21-237-13:08:30.841 00 SPR-I:STS Procedure SEND_THAT_TO_COMMAND started +21-237-13:08:30.846 00 SPR-I:OPRO Sending: /SCX_CPU1_TO_OUTPUT_ENA gs582cfslab4 +21-237-13:08:30.847 00 CMH-I:CMD Command is /SCX_CPU1_TO_OUTPUT_ENA GS582CFSLAB4 ;;; (SCX CPU1 Enables TO output) +21-237-13:08:30.847 00 CMH-I:CMD Command SFDU received:<1880C0000011069A3139322E3136382E312E313031000000> from gs582cfslab4:SPR +21-237-13:08:30.898 00 SPR-I:STS Procedure SEND_THAT_TO_COMMAND completed +21-237-13:08:30.898 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:08:31.785 00 TLMH-I:STS 58-012-14:03:48.917 INFO CPU=CPU1 APPNAME=TO_LAB_APP EVENT ID=3 TO telemetry output enabled for IP 192.168.1.101 +21-237-13:08:34.901 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:08:34.902 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/fill_in_spacecraft_status.i +21-237-13:08:34.902 00 SPR-I:STS Procedure FILL_IN_SPACECRAFT_STATUS started +21-237-13:08:34.905 00 SPR-I:STS Procedure FILL_IN_SPACECRAFT_STATUS completed +21-237-13:08:34.906 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:08:39.909 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:08:39.909 00 SPR-I:OPRO ; Step 2.12: Start the Data Storage (DS) and Test Applications. +21-237-13:08:39.909 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:08:39.916 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:08:39.916 00 SPR-I:OPRO ; Setup event 3 with CFE_TBL ERROR 53 +21-237-13:08:39.916 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:08:39.925 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:08:39.926 00 SPR-I:OPRO ; Setup event 4 with DS ERROR 8 +21-237-13:08:39.926 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:08:39.928 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:08:39.929 00 SPR-I:OPRO ; Step 2.13: Restore the default Table files. +21-237-13:08:39.946 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:08:39.947 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/ftp_file.i +21-237-13:08:39.947 00 SPR-I:STS Procedure FTP_FILE started +21-237-13:08:40.248 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-237-13:08:40.249 00 SPR-I:STS Procedure FTP_FILE completed +21-237-13:08:40.250 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:08:45.255 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/ftp_file.i +21-237-13:08:45.255 00 SPR-I:STS Procedure FTP_FILE started +21-237-13:08:45.633 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-237-13:08:45.633 00 SPR-I:STS Procedure FTP_FILE completed +21-237-13:08:45.635 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:08:50.638 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:08:50.638 00 SPR-I:OPRO ; Step 2.14: Utilizing the TST_DS application, send the command that +21-237-13:08:50.638 00 SPR-I:OPRO ; will set all the counters that get reset to zero (0) by the Reset +21-237-13:08:50.639 00 SPR-I:OPRO ; command to a non-zero value. +21-237-13:08:50.639 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:08:50.643 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:08:50.643 00 SPR-I:OPRO ; Setup event 1 with TST_DS INFO 4 +21-237-13:08:50.644 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:08:50.646 00 CMH-I:CMD Command is /SCX_CPU1_TST_DS_SETCOUNTERS ;;; (SCX CPU1 TST_DS Set Counters to non-zero command code) +21-237-13:08:50.646 00 CMH-I:CMD Command SFDU received:<1943C00000010266> from gs582cfslab4:SPR +21-237-13:08:50.665 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:08:51.283 00 TLMH-I:STS 58-012-14:04:08.500 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=4 Set counters to non-zero command +21-237-13:08:51.666 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:08:51.668 00 SPR-I:OPRO <*> Passed - Expected Event Msg 4 rcv'd. +21-237-13:08:51.668 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:08:56.673 00 SPR-I:OPRO <*> Passed - Counters are all non-zero. Sending reset command. +21-237-13:08:56.673 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:09:01.676 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:09:01.677 00 SPR-I:OPRO ; Step 2.15: Perform a Power-On Reset on CPU1. +21-237-13:09:01.677 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:09:01.678 00 CMH-I:CMD Command is /SCX_CPU1_ES_POWERONRESET ;;; (SCX CPU1 ES Power-On Reset command code) +21-237-13:09:01.678 00 CMH-I:CMD Command SFDU received:<1806C000000302220002> from gs582cfslab4:SPR +21-237-13:09:01.689 00 SPR-I:STTE Wait mode - waiting 10 seconds ... +21-237-13:09:11.697 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/clear_spacecraft_status.i +21-237-13:09:11.698 00 SPR-I:STS Procedure CLEAR_SPACECRAFT_STATUS started +21-237-13:09:11.711 00 SPR-I:STS Procedure CLEAR_SPACECRAFT_STATUS completed +21-237-13:09:11.776 00 SPR-I:STTE Wait mode - waiting 60 seconds ... +21-237-13:10:11.844 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:10:17.800 00 CMH-I:STS Connected to FEDS:FEDS for commanding (internal ID 0). +21-237-13:10:21.855 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:10:21.857 00 CMH-I:CMD SFDU is /DDIR DATA="open udp_read C%03X 1235 packet_only" ;;; ( ) +21-237-13:10:21.873 00 CMH-I:CMD SFDU is /DDIR DATA="open udp_write CPKT cpu3 1234 ascii_pkt" ;;; ( ) +21-237-13:10:21.925 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/send_that_to_command.i +21-237-13:10:21.925 00 SPR-I:STS Procedure SEND_THAT_TO_COMMAND started +21-237-13:10:21.926 00 SPR-I:OPRO Sending: /SCX_CPU1_TO_OUTPUT_ENA gs582cfslab4 +21-237-13:10:21.927 00 CMH-I:CMD Command is /SCX_CPU1_TO_OUTPUT_ENA GS582CFSLAB4 ;;; (SCX CPU1 Enables TO output) +21-237-13:10:21.927 00 CMH-I:CMD Command SFDU received:<1880C0000011069A3139322E3136382E312E313031000000> from gs582cfslab4:SPR +21-237-13:10:21.979 00 SPR-I:STS Procedure SEND_THAT_TO_COMMAND completed +21-237-13:10:21.980 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:10:23.264 00 TLMH-I:STS 58-012-14:03:49.450 INFO CPU=CPU1 APPNAME=TO_LAB_APP EVENT ID=3 TO telemetry output enabled for IP 192.168.1.101 +21-237-13:10:25.984 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:10:25.985 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/fill_in_spacecraft_status.i +21-237-13:10:25.986 00 SPR-I:STS Procedure FILL_IN_SPACECRAFT_STATUS started +21-237-13:10:25.996 00 SPR-I:STS Procedure FILL_IN_SPACECRAFT_STATUS completed +21-237-13:10:25.997 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:10:31.001 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:10:31.001 00 SPR-I:OPRO ; Step 2.16: Start the Data Storage (DS) and Test Applications. +21-237-13:10:31.001 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:10:31.010 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:10:38.018 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:10:38.020 00 SPR-I:OPRO <*> Passed (8000) - Housekeeping packet is being generated. +21-237-13:10:38.024 00 SPR-I:OPRO <*> Passed (9000) - Housekeeping telemetry initialized properly. +21-237-13:10:38.026 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:10:38.026 00 SPR-I:OPRO ; Step 2.17: Enable DEBUG Event Messages +21-237-13:10:38.026 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:10:38.036 00 CMH-I:CMD Command is /SCX_CPU1_EVS_ENAAPPEVTTYPE APPLICATION="DS" DEBUG ;;; (SCX CPU1 EVS Enable Event Type for the App) +21-237-13:10:38.036 00 CMH-I:CMD Or Command is /SCX_CPU1_EVS_ENAAPPEVTTYPEMASK APPLICATION="DS" BITMASK= 1 (x1) ;;; (SCX CPU1 EVS Enable Event Type for the App (mask)) +21-237-13:10:38.036 00 CMH-I:CMD Command SFDU received:<1801C0000017052244530000000000000000000000000000000000000100> from gs582cfslab4:SPR +21-237-13:10:38.041 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:10:42.045 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:10:42.047 00 SPR-I:OPRO <*> Passed - Enable Debug events command sent properly. +21-237-13:10:42.048 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:10:42.048 00 SPR-I:OPRO ; Step 3.0: Processor Reset Tests. +21-237-13:10:42.048 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:10:42.048 00 SPR-I:OPRO ; Step 3.1: Utilizing the TST_DS application, send several messages to +21-237-13:10:42.049 00 SPR-I:OPRO ; the DS application so that files can be created and opened. +21-237-13:10:42.049 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:10:42.049 00 SPR-I:OPRO ; Step 3.1.1: Parse the Packet Filter table to find several entries to +21-237-13:10:42.049 00 SPR-I:OPRO ; send messages to. +21-237-13:10:42.064 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:10:42.068 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:10:42.068 00 SPR-I:OPRO ; Step 3.1.2: Send the TST_DS command to send messages to DS using the +21-237-13:10:42.068 00 SPR-I:OPRO ; message IDs found in the previous step. +21-237-13:10:42.068 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:10:42.072 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:10:42.073 00 SPR-I:OPRO ; Setup event 1 with TST_DS INFO 5 +21-237-13:10:42.073 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:10:42.074 00 CMH-I:CMD Command is /SCX_CPU1_TST_DS_SENDMESSAGE MSGID= 2305 (x901) MSGTYPE= 1 (x1) PATTERN= 165 (xA5) ;;; (SCX CPU1 TST_DS Send Message command code) +21-237-13:10:42.074 00 CMH-I:CMD Command SFDU received:<1943C000000903C30000090101A50000> from gs582cfslab4:SPR +21-237-13:10:42.086 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:10:42.754 00 TLMH-I:STS 58-012-14:04:09.004 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Message Size 116 to MID 0x00000901 +21-237-13:10:47.093 00 CMH-I:CMD Command is /SCX_CPU1_TST_DS_SENDMESSAGE MSGID= 2306 (x902) MSGTYPE= 1 (x1) PATTERN= 165 (xA5) ;;; (SCX CPU1 TST_DS Send Message command code) +21-237-13:10:47.093 00 CMH-I:CMD Command SFDU received:<1943C000000903C00000090201A50000> from gs582cfslab4:SPR +21-237-13:10:47.106 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:10:47.755 00 TLMH-I:STS 58-012-14:04:14.001 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Message Size 116 to MID 0x00000902 +21-237-13:10:52.113 00 CMH-I:CMD Command is /SCX_CPU1_TST_DS_SENDMESSAGE MSGID= 2307 (x903) MSGTYPE= 1 (x1) PATTERN= 165 (xA5) ;;; (SCX CPU1 TST_DS Send Message command code) +21-237-13:10:52.113 00 CMH-I:CMD Command SFDU received:<1943C000000903C10000090301A50000> from gs582cfslab4:SPR +21-237-13:10:52.124 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:10:52.754 00 TLMH-I:STS 58-012-14:04:19.002 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Message Size 116 to MID 0x00000903 +21-237-13:10:57.129 00 SPR-I:OPRO <*> Passed - Rcv'd the expected number of Send events. +21-237-13:10:57.130 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:11:02.134 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:11:02.134 00 SPR-I:OPRO ; Step 3.2: Save the file sequence counters and slots of all 'open' +21-237-13:11:02.134 00 SPR-I:OPRO ; destination files. +21-237-13:11:02.134 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:11:02.137 00 CMH-I:CMD Command is /SCX_CPU1_DS_GETFILEINFO ;;; (The Get File Info command) +21-237-13:11:02.138 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-237-13:11:02.153 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:11:02.762 00 TLMH-I:STS 58-012-14:04:29.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-237-13:11:06.157 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:11:06.161 00 SPR-I:OPRO <*> Passed - A file was created with name '/ram/seq200000200.dat' +21-237-13:11:06.163 00 SPR-I:OPRO ==> SeqCount = '200' +21-237-13:11:06.168 00 SPR-I:OPRO <*> Passed - A file was created with name '/ram/time11980012140409' +21-237-13:11:06.168 00 SPR-I:OPRO <*> Passed - A file was created with name '/ram/time21980012140409' +21-237-13:11:06.171 00 SPR-I:OPRO <*> Passed - A file was created with name '/ram/time31980012140409' +21-237-13:11:06.172 00 SPR-I:OPRO <*> Passed - A file was created with name '/ram/time41980012140409' +21-237-13:11:06.189 00 CMH-I:CMD Command is /SCX_CPU1_DS_DISABLE ;;; (SCX CPU1 DS Disable Application State command) +21-237-13:11:06.189 00 CMH-I:CMD Command SFDU received:<18BBC0000005029B00000000> from gs582cfslab4:SPR +21-237-13:11:06.194 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:11:06.757 00 TLMH-I:STS 58-012-14:04:33.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=35 APP STATE command: state = 0 +21-237-13:11:10.199 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:11:10.201 00 SPR-I:OPRO <*> Passed - DS Application State command sent properly. +21-237-13:11:10.202 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:11:15.206 00 SPR-I:OPRO ;********************************************************************* +21-237-13:11:15.206 00 SPR-I:OPRO ; Step 3.3: Perform a Processor Reset. +21-237-13:11:15.206 00 SPR-I:OPRO ;********************************************************************* +21-237-13:11:15.208 00 CMH-I:CMD Command is /SCX_CPU1_ES_PROCESSORRESET ;;; (SCX CPU1 ES Processor Reset command code) +21-237-13:11:15.208 00 CMH-I:CMD Command SFDU received:<1806C000000302210001> from gs582cfslab4:SPR +21-237-13:11:15.221 00 SPR-I:STTE Wait mode - waiting 10 seconds ... +21-237-13:11:25.230 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/clear_spacecraft_status.i +21-237-13:11:25.231 00 SPR-I:STS Procedure CLEAR_SPACECRAFT_STATUS started +21-237-13:11:25.238 00 SPR-I:STS Procedure CLEAR_SPACECRAFT_STATUS completed +21-237-13:11:25.285 00 SPR-I:STTE Wait mode - waiting 60 seconds ... +21-237-13:12:25.336 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:12:31.307 00 CMH-I:STS Connected to FEDS:FEDS for commanding (internal ID 0). +21-237-13:12:35.345 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:12:35.347 00 CMH-I:CMD SFDU is /DDIR DATA="open udp_read C%03X 1235 packet_only" ;;; ( ) +21-237-13:12:35.363 00 CMH-I:CMD SFDU is /DDIR DATA="open udp_write CPKT cpu3 1234 ascii_pkt" ;;; ( ) +21-237-13:12:35.415 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/send_that_to_command.i +21-237-13:12:35.415 00 SPR-I:STS Procedure SEND_THAT_TO_COMMAND started +21-237-13:12:35.416 00 SPR-I:OPRO Sending: /SCX_CPU1_TO_OUTPUT_ENA gs582cfslab4 +21-237-13:12:35.416 00 CMH-I:CMD Command is /SCX_CPU1_TO_OUTPUT_ENA GS582CFSLAB4 ;;; (SCX CPU1 Enables TO output) +21-237-13:12:35.417 00 CMH-I:CMD Command SFDU received:<1880C0000011069A3139322E3136382E312E313031000000> from gs582cfslab4:SPR +21-237-13:12:35.467 00 SPR-I:STS Procedure SEND_THAT_TO_COMMAND completed +21-237-13:12:35.468 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:12:36.167 00 TLMH-I:STS 58-012-14:05:09.600 INFO CPU=CPU1 APPNAME=TO_LAB_APP EVENT ID=3 TO telemetry output enabled for IP 192.168.1.101 +21-237-13:12:38.470 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:12:38.471 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/fill_in_spacecraft_status.i +21-237-13:12:38.473 00 SPR-I:STS Procedure FILL_IN_SPACECRAFT_STATUS started +21-237-13:12:38.478 00 SPR-I:STS Procedure FILL_IN_SPACECRAFT_STATUS completed +21-237-13:12:38.479 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:12:43.483 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:12:43.483 00 SPR-I:OPRO ; Step 3.4: Start the Data Storage (DS) and Test Applications. +21-237-13:12:43.483 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:12:43.483 00 SPR-I:OPRO <*> Passed (9005;9007) - The tables were validated properly. +21-237-13:12:43.486 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/get_file_to_cvt.i +21-237-13:12:43.489 00 SPR-I:STS Procedure GET_FILE_TO_CVT started +21-237-13:12:43.519 00 SPR-I:OPRO Sending Command: /SCX_CPU1_SB_WRITEROUTING2FILE ROUTINFOFILENAME="/ram/cfe_sb_route.dat" +21-237-13:12:43.520 00 CMH-I:CMD Command is /SCX_CPU1_SB_WRITEROUTING2FILE ROUTINFOFILENAME="/ram/cfe_sb_route.dat" ;;; (SCX CPU1 SB save routing info command code) +21-237-13:12:43.520 00 CMH-I:CMD Command SFDU received:<1803C0000041034F2F72616D2F6366655F73625F726F7574652E64617400000000000000000000000000000000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-237-13:12:43.533 00 SPR-I:STTE Wait mode - waiting 15 seconds ... +21-237-13:12:58.544 00 SPR-I:OPRO The APID is: P0F02 +21-237-13:12:58.544 00 SPR-I:OPRO The CPU is: CPU3 +21-237-13:12:58.544 00 SPR-I:OPRO The IP Address is: 192.168.1.8 +21-237-13:12:58.545 00 SPR-I:OPRO The perl command is: perl /s/opr/accounts/global/tools/ftp.pl RAM:0 cfe_sb_route.dat cpu1_sb_route.dat binary 192.168.1.8 +21-237-13:12:58.691 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-237-13:12:58.691 00 SPR-I:STTE Wait mode - waiting 15 seconds ... +21-237-13:13:13.704 00 SPR-I:OPRO +21-237-13:13:13.723 00 SPR-I:OPRO The unix command is cvt -ws file_list[3842].file_write_time "`date +%y-%j-%T -r /s/opr/accounts/cfs_test/image/cpu1_sb_route.dat`" +21-237-13:13:13.723 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:13:18.728 00 SPR-I:STS Procedure GET_FILE_TO_CVT completed +21-237-13:13:18.729 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:13:23.734 00 SPR-I:OPRO == Looking for msgID = 0900 +21-237-13:13:23.737 00 SPR-I:OPRO == Looking for msgID = 0901 +21-237-13:13:23.738 00 SPR-I:OPRO == Looking for msgID = 0902 +21-237-13:13:23.740 00 SPR-I:OPRO == Looking for msgID = 0903 +21-237-13:13:23.741 00 SPR-I:OPRO == Looking for msgID = 0904 +21-237-13:13:23.743 00 SPR-I:OPRO == Looking for msgID = 0905 +21-237-13:13:25.418 00 SPR-I:OPRO Failed (9006) - Expected 6 message ID subscriptions. Found 0 +21-237-13:13:25.419 00 SPR-I:OPRO <*> Passed (9004) - DS Application State is set as expected. +21-237-13:13:25.420 00 CMH-I:CMD Command is /SCX_CPU1_DS_ENABLE ;;; (SCX CPU1 DS Enable Application State command) +21-237-13:13:25.420 00 CMH-I:CMD Command SFDU received:<18BBC0000005029A00010000> from gs582cfslab4:SPR +21-237-13:13:25.435 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:13:26.436 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:13:26.438 00 SPR-I:OPRO <*> Passed - DS Application State command sent properly. +21-237-13:13:26.438 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:13:31.443 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:13:31.443 00 SPR-I:OPRO ; Step 3.5: Enable DEBUG Event Messages +21-237-13:13:31.443 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:13:31.445 00 CMH-I:CMD Command is /SCX_CPU1_EVS_ENAAPPEVTTYPE APPLICATION="DS" DEBUG ;;; (SCX CPU1 EVS Enable Event Type for the App) +21-237-13:13:31.446 00 CMH-I:CMD Or Command is /SCX_CPU1_EVS_ENAAPPEVTTYPEMASK APPLICATION="DS" BITMASK= 1 (x1) ;;; (SCX CPU1 EVS Enable Event Type for the App (mask)) +21-237-13:13:31.446 00 CMH-I:CMD Command SFDU received:<1801C0000017052244530000000000000000000000000000000000000100> from gs582cfslab4:SPR +21-237-13:13:31.462 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:13:34.465 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:13:34.467 00 SPR-I:OPRO <*> Passed - Enable Debug events command sent properly. +21-237-13:13:34.468 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:13:34.468 00 SPR-I:OPRO ; Step 3.6: Parse the File State HK information in order to verify that +21-237-13:13:34.468 00 SPR-I:OPRO ; the open Files saved in Step 3.2 have been closed. +21-237-13:13:34.468 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:13:34.470 00 CMH-I:CMD Command is /SCX_CPU1_DS_GETFILEINFO ;;; (The Get File Info command) +21-237-13:13:34.470 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-237-13:13:34.485 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:13:34.661 00 TLMH-I:STS 58-012-14:06:08.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-237-13:13:38.490 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:13:38.492 00 SPR-I:OPRO <*> Passed (9002) - The file at slot 1 has been closed. +21-237-13:13:38.495 00 SPR-I:OPRO <*> Passed (9002) - The file at slot 4 has been closed. +21-237-13:13:38.501 00 SPR-I:OPRO <*> Passed (9002) - The file at slot 5 has been closed. +21-237-13:13:38.503 00 SPR-I:OPRO <*> Passed (9002) - The file at slot 6 has been closed. +21-237-13:13:38.510 00 SPR-I:OPRO <*> Passed (9002) - The file at slot 7 has been closed. +21-237-13:13:38.511 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:13:38.511 00 SPR-I:OPRO ; Step 3.7: Verify that the File Sequence counters were restored after +21-237-13:13:38.512 00 SPR-I:OPRO ; the Processor Reset. +21-237-13:13:38.512 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:13:38.518 00 SPR-I:OPRO ; Step 3.7.1: Send the TST_DS command to send the same messages to DS +21-237-13:13:38.518 00 SPR-I:OPRO ; that were sent in Step 3.1.2. +21-237-13:13:38.518 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:13:38.520 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:13:38.521 00 SPR-I:OPRO ; Setup event 1 with TST_DS INFO 5 +21-237-13:13:38.521 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:13:38.521 00 CMH-I:CMD Command is /SCX_CPU1_TST_DS_SENDMESSAGE MSGID= 2305 (x901) MSGTYPE= 1 (x1) PATTERN= 165 (xA5) ;;; (SCX CPU1 TST_DS Send Message command code) +21-237-13:13:38.521 00 CMH-I:CMD Command SFDU received:<1943C000000903C30000090101A50000> from gs582cfslab4:SPR +21-237-13:13:38.533 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:13:38.664 00 TLMH-I:STS 58-012-14:06:12.504 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Message Size 116 to MID 0x00000901 +21-237-13:13:43.538 00 CMH-I:CMD Command is /SCX_CPU1_TST_DS_SENDMESSAGE MSGID= 2306 (x902) MSGTYPE= 1 (x1) PATTERN= 165 (xA5) ;;; (SCX CPU1 TST_DS Send Message command code) +21-237-13:13:43.538 00 CMH-I:CMD Command SFDU received:<1943C000000903C00000090201A50000> from gs582cfslab4:SPR +21-237-13:13:43.549 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:13:43.667 00 TLMH-I:STS 58-012-14:06:17.500 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Message Size 116 to MID 0x00000902 +21-237-13:13:48.555 00 CMH-I:CMD Command is /SCX_CPU1_TST_DS_SENDMESSAGE MSGID= 2307 (x903) MSGTYPE= 1 (x1) PATTERN= 165 (xA5) ;;; (SCX CPU1 TST_DS Send Message command code) +21-237-13:13:48.556 00 CMH-I:CMD Command SFDU received:<1943C000000903C10000090301A50000> from gs582cfslab4:SPR +21-237-13:13:48.569 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:13:49.164 00 TLMH-I:STS 58-012-14:06:23.002 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Message Size 116 to MID 0x00000903 +21-237-13:13:53.574 00 SPR-I:OPRO <*> Passed - Rcv'd the expected number of Send events. +21-237-13:13:53.575 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:13:58.579 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:13:58.579 00 SPR-I:OPRO ; Step 3.7.2: Parse the File State HK information in order to verify +21-237-13:13:58.579 00 SPR-I:OPRO ; that the File Sequence Counters saved in Step 3.2 have been restored. +21-237-13:13:58.579 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:13:58.581 00 CMH-I:CMD Command is /SCX_CPU1_DS_GETFILEINFO ;;; (The Get File Info command) +21-237-13:13:58.581 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-237-13:13:58.595 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:13:59.166 00 TLMH-I:STS 58-012-14:06:33.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-237-13:14:02.599 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:14:02.601 00 SPR-I:OPRO <*> Passed - A file was created with name '/ram/seq200000201.dat' +21-237-13:14:02.602 00 SPR-I:OPRO ==> SeqCount After Reset = '201' +21-237-13:14:02.602 00 SPR-I:OPRO <*> Passed (9004) - Sequence Count was preserved across reset +21-237-13:14:02.608 00 SPR-I:OPRO <*> Passed - A file was created with name '/ram/time11980012140612' +21-237-13:14:02.610 00 SPR-I:OPRO <*> Passed - A file was created with name '/ram/time21980012140612' +21-237-13:14:02.611 00 SPR-I:OPRO <*> Passed - A file was created with name '/ram/time31980012140612' +21-237-13:14:02.612 00 SPR-I:OPRO <*> Passed - A file was created with name '/ram/time41980012140612' +21-237-13:14:02.623 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:14:07.626 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:14:07.626 00 SPR-I:OPRO ; Step 4.0: Application Reset Tests. +21-237-13:14:07.626 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:14:07.626 00 SPR-I:OPRO ; Step 4.1: Save the file sequence counters and slots of all 'open' +21-237-13:14:07.627 00 SPR-I:OPRO ; destination files. +21-237-13:14:07.627 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:14:07.628 00 CMH-I:CMD Command is /SCX_CPU1_DS_GETFILEINFO ;;; (The Get File Info command) +21-237-13:14:07.628 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-237-13:14:07.656 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:14:08.157 00 TLMH-I:STS 58-012-14:06:42.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-237-13:14:10.659 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:14:10.663 00 SPR-I:OPRO <*> Passed - A file was created with name '/ram/seq200000201.dat' +21-237-13:14:10.665 00 SPR-I:OPRO ==> SeqCount = '201' +21-237-13:14:10.682 00 SPR-I:OPRO <*> Passed - A file was created with name '/ram/time11980012140612' +21-237-13:14:10.685 00 SPR-I:OPRO <*> Passed - A file was created with name '/ram/time21980012140612' +21-237-13:14:10.689 00 SPR-I:OPRO <*> Passed - A file was created with name '/ram/time31980012140612' +21-237-13:14:10.691 00 SPR-I:OPRO <*> Passed - A file was created with name '/ram/time41980012140612' +21-237-13:14:10.710 00 SPR-I:OPRO ;********************************************************************* +21-237-13:14:10.710 00 SPR-I:OPRO ; Step 4.2: Restart the DS and TST_DS Applications. +21-237-13:14:10.710 00 SPR-I:OPRO ;********************************************************************* +21-237-13:14:10.710 00 SPR-I:OPRO ; Step 4.2.1: Stop the DS and TST_DS Applications. +21-237-13:14:10.710 00 SPR-I:OPRO ;********************************************************************* +21-237-13:14:10.711 00 CMH-I:CMD Command is /SCX_CPU1_ES_RESTARTAPP APPLICATION="TST_DS" ;;; (SCX CPU1 ES Restart Application command code) +21-237-13:14:10.711 00 CMH-I:CMD Command SFDU received:<1806C000001506295453545F44530000000000000000000000000000> from gs582cfslab4:SPR +21-237-13:14:10.712 00 SPR-I:STTE Wait mode - waiting 4 seconds ... +21-237-13:14:11.163 00 TLMH-I:STS 58-012-14:06:45.012 ERROR CPU=CPU1 APPNAME=TST_DS EVENT ID=41 TST_DS_AppMain terminating!, Error = 0x0 +21-237-13:14:11.165 00 TLMH-I:STS 58-012-14:06:45.082 INFO CPU=CPU1 APPNAME=CFE_ES EVENT ID=10 Restart Application TST_DS Completed, AppID=1114124 +21-237-13:14:11.660 00 TLMH-I:STS 58-012-14:06:45.133 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=1 TST_DS Initialized. Version 2.5.1.0 +21-237-13:14:14.717 00 CMH-I:CMD Command is /SCX_CPU1_ES_RESTARTAPP APPLICATION="DS" ;;; (SCX CPU1 ES Restart Application command code) +21-237-13:14:14.717 00 CMH-I:CMD Command SFDU received:<1806C000001506254453000000000000000000000000000000000000> from gs582cfslab4:SPR +21-237-13:14:14.730 00 SPR-I:STTE Wait mode - waiting 4 seconds ... +21-237-13:14:15.163 00 TLMH-I:STS 58-012-14:06:49.009 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=20 Request Housekeeping command +21-237-13:14:18.740 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:14:18.741 00 SPR-I:OPRO <*> Passed - DS and TST_DS app commands sent properly. +21-237-13:14:18.741 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:14:19.165 00 TLMH-I:STS 58-012-14:06:53.001 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=20 Request Housekeeping command +21-237-13:14:20.666 00 TLMH-I:STS 58-012-14:06:54.364 INFO CPU=CPU1 APPNAME=CFE_ES EVENT ID=10 Restart Application DS Completed, AppID=1114125 +21-237-13:14:20.667 00 TLMH-I:STS 58-012-14:06:54.435 INFO CPU=CPU1 APPNAME=DS EVENT ID=10 Destination file table verify results: desc text = OK, good entries = 8, bad = 0, unused = 8 +21-237-13:14:20.668 00 TLMH-I:STS 58-012-14:06:54.470 INFO CPU=CPU1 APPNAME=DS EVENT ID=12 Filter table verify results: desc text = OK, good entries = 6, bad = 0, unused = 250 +21-237-13:14:20.669 00 TLMH-I:STS 58-012-14:06:54.473 INFO CPU=CPU1 APPNAME=DS EVENT ID=1 Application initialized, version 2.6.0.0, data at 0xa7d1f0 +21-237-13:14:23.745 00 SPR-I:OPRO ;********************************************************************* +21-237-13:14:23.745 00 SPR-I:OPRO ; Step 4.2.2: Start the DS and TST_DS Applications. +21-237-13:14:23.746 00 SPR-I:OPRO ;********************************************************************* +21-237-13:14:23.747 00 SPR-I:OPRO <*> Passed (9005;9007) - The tables were validated properly. +21-237-13:14:23.755 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/get_file_to_cvt.i +21-237-13:14:23.763 00 SPR-I:STS Procedure GET_FILE_TO_CVT started +21-237-13:14:23.800 00 SPR-I:OPRO Sending Command: /SCX_CPU1_SB_WRITEROUTING2FILE ROUTINFOFILENAME="/ram/cfe_sb_route.dat" +21-237-13:14:23.801 00 CMH-I:CMD Command is /SCX_CPU1_SB_WRITEROUTING2FILE ROUTINFOFILENAME="/ram/cfe_sb_route.dat" ;;; (SCX CPU1 SB save routing info command code) +21-237-13:14:23.801 00 CMH-I:CMD Command SFDU received:<1803C0000041034F2F72616D2F6366655F73625F726F7574652E64617400000000000000000000000000000000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-237-13:14:23.803 00 SPR-I:STTE Wait mode - waiting 15 seconds ... +21-237-13:14:38.815 00 SPR-I:OPRO The APID is: P0F02 +21-237-13:14:38.815 00 SPR-I:OPRO The CPU is: CPU3 +21-237-13:14:38.815 00 SPR-I:OPRO The IP Address is: 192.168.1.8 +21-237-13:14:38.818 00 SPR-I:OPRO The perl command is: perl /s/opr/accounts/global/tools/ftp.pl RAM:0 cfe_sb_route.dat cpu1_sb_route.dat binary 192.168.1.8 +21-237-13:14:38.992 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-237-13:14:38.993 00 SPR-I:STTE Wait mode - waiting 15 seconds ... +21-237-13:14:54.005 00 SPR-I:OPRO +21-237-13:14:54.047 00 SPR-I:OPRO The unix command is cvt -ws file_list[3842].file_write_time "`date +%y-%j-%T -r /s/opr/accounts/cfs_test/image/cpu1_sb_route.dat`" +21-237-13:14:54.048 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:14:59.052 00 SPR-I:STS Procedure GET_FILE_TO_CVT completed +21-237-13:14:59.055 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:15:04.060 00 SPR-I:OPRO == Looking for msgID = 0900 +21-237-13:15:04.068 00 SPR-I:OPRO == Looking for msgID = 0901 +21-237-13:15:04.076 00 SPR-I:OPRO == Looking for msgID = 0902 +21-237-13:15:04.083 00 SPR-I:OPRO == Looking for msgID = 0903 +21-237-13:15:04.089 00 SPR-I:OPRO == Looking for msgID = 0904 +21-237-13:15:04.095 00 SPR-I:OPRO == Looking for msgID = 0905 +21-237-13:15:05.848 00 SPR-I:OPRO Failed (9006) - Expected 6 message ID subscriptions. Found 0 +21-237-13:15:05.850 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:15:10.853 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:15:10.853 00 SPR-I:OPRO ; Step 4.3: Enable DEBUG Event Messages +21-237-13:15:10.853 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:15:10.853 00 CMH-I:CMD Command is /SCX_CPU1_EVS_ENAAPPEVTTYPE APPLICATION="DS" DEBUG ;;; (SCX CPU1 EVS Enable Event Type for the App) +21-237-13:15:10.853 00 CMH-I:CMD Or Command is /SCX_CPU1_EVS_ENAAPPEVTTYPEMASK APPLICATION="DS" BITMASK= 1 (x1) ;;; (SCX CPU1 EVS Enable Event Type for the App (mask)) +21-237-13:15:10.853 00 CMH-I:CMD Command SFDU received:<1801C0000017052244530000000000000000000000000000000000000100> from gs582cfslab4:SPR +21-237-13:15:10.864 00 SPR-I:STTE Wait mode - waiting 2 seconds ... +21-237-13:15:12.866 00 CMH-I:CMD Command is /SCX_CPU1_EVS_ENAAPPEVTTYPE APPLICATION="CFE_TBL" DEBUG ;;; (SCX CPU1 EVS Enable Event Type for the App) +21-237-13:15:12.866 00 CMH-I:CMD Or Command is /SCX_CPU1_EVS_ENAAPPEVTTYPEMASK APPLICATION="CFE_TBL" BITMASK= 1 (x1) ;;; (SCX CPU1 EVS Enable Event Type for the App (mask)) +21-237-13:15:12.866 00 CMH-I:CMD Command SFDU received:<1801C000001705704346455F54424C000000000000000000000000000100> from gs582cfslab4:SPR +21-237-13:15:12.880 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:15:14.881 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:15:14.882 00 SPR-I:OPRO <*> Passed - Enable Debug events command sent properly. +21-237-13:15:14.882 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:15:14.882 00 SPR-I:OPRO ; Step 4.4: Parse the File State HK to determine if the open files have +21-237-13:15:14.882 00 SPR-I:OPRO ; been closed. +21-237-13:15:14.882 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:15:14.882 00 CMH-I:CMD Command is /SCX_CPU1_DS_GETFILEINFO ;;; (The Get File Info command) +21-237-13:15:14.883 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-237-13:15:14.897 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:15:15.156 00 TLMH-I:STS 58-012-14:07:49.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-237-13:15:18.899 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:15:18.902 00 SPR-I:OPRO <*> Passed (9002) - The file at slot 1 has been closed. +21-237-13:15:18.905 00 SPR-I:OPRO <*> Passed (9002) - The file at slot 4 has been closed. +21-237-13:15:18.910 00 SPR-I:OPRO <*> Passed (9002) - The file at slot 5 has been closed. +21-237-13:15:18.911 00 SPR-I:OPRO <*> Passed (9002) - The file at slot 6 has been closed. +21-237-13:15:18.917 00 SPR-I:OPRO <*> Passed (9002) - The file at slot 7 has been closed. +21-237-13:15:18.918 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:15:18.918 00 SPR-I:OPRO ; Step 4.5: Verify that the File Sequence counters were restored after +21-237-13:15:18.918 00 SPR-I:OPRO ; the Processor Reset. +21-237-13:15:18.918 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:15:18.925 00 SPR-I:OPRO ; Step 4.5.1: Send the TST_DS command to send the same messages to DS +21-237-13:15:18.925 00 SPR-I:OPRO ; that were sent in previous steps. +21-237-13:15:18.925 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:15:18.926 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:15:18.927 00 SPR-I:OPRO ; Setup event 1 with TST_DS INFO 5 +21-237-13:15:18.927 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:15:18.928 00 CMH-I:CMD Command is /SCX_CPU1_TST_DS_SENDMESSAGE MSGID= 2305 (x901) MSGTYPE= 1 (x1) PATTERN= 187 (xBB) ;;; (SCX CPU1 TST_DS Send Message command code) +21-237-13:15:18.928 00 CMH-I:CMD Command SFDU received:<1943C000000903DD0000090101BB0000> from gs582cfslab4:SPR +21-237-13:15:18.939 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:15:19.159 00 TLMH-I:STS 58-012-14:07:53.005 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Message Size 116 to MID 0x00000901 +21-237-13:15:23.944 00 CMH-I:CMD Command is /SCX_CPU1_TST_DS_SENDMESSAGE MSGID= 2306 (x902) MSGTYPE= 1 (x1) PATTERN= 187 (xBB) ;;; (SCX CPU1 TST_DS Send Message command code) +21-237-13:15:23.944 00 CMH-I:CMD Command SFDU received:<1943C000000903DE0000090201BB0000> from gs582cfslab4:SPR +21-237-13:15:23.958 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:15:24.162 00 TLMH-I:STS 58-012-14:07:58.001 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Message Size 116 to MID 0x00000902 +21-237-13:15:28.962 00 CMH-I:CMD Command is /SCX_CPU1_TST_DS_SENDMESSAGE MSGID= 2307 (x903) MSGTYPE= 1 (x1) PATTERN= 187 (xBB) ;;; (SCX CPU1 TST_DS Send Message command code) +21-237-13:15:28.962 00 CMH-I:CMD Command SFDU received:<1943C000000903DF0000090301BB0000> from gs582cfslab4:SPR +21-237-13:15:28.972 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:15:29.161 00 TLMH-I:STS 58-012-14:08:03.002 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Message Size 116 to MID 0x00000903 +21-237-13:15:33.977 00 SPR-I:OPRO <*> Passed - Rcv'd the expected number of Send events. +21-237-13:15:33.977 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:15:38.981 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:15:38.981 00 SPR-I:OPRO ; Step 4.5.2: Parse the File State HK information in order to verify +21-237-13:15:38.981 00 SPR-I:OPRO ; that the File Sequence Counters saved in Step 3.2 have been restored. +21-237-13:15:38.981 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:15:38.983 00 CMH-I:CMD Command is /SCX_CPU1_DS_GETFILEINFO ;;; (The Get File Info command) +21-237-13:15:38.983 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-237-13:15:39.004 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:15:39.158 00 TLMH-I:STS 58-012-14:08:13.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-237-13:15:43.008 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:15:43.013 00 SPR-I:OPRO <*> Passed - A file was created with name '/ram/seq200000202.dat' +21-237-13:15:43.015 00 SPR-I:OPRO ==> SeqCount After Reset = '202' +21-237-13:15:43.016 00 SPR-I:OPRO <*> Passed (9004) - Sequence Count was preserved across reset +21-237-13:15:43.042 00 SPR-I:OPRO <*> Passed - A file was created with name '/ram/time11980012140753' +21-237-13:15:43.048 00 SPR-I:OPRO <*> Passed - A file was created with name '/ram/time21980012140753' +21-237-13:15:43.049 00 SPR-I:OPRO <*> Passed - A file was created with name '/ram/time31980012140753' +21-237-13:15:43.050 00 SPR-I:OPRO <*> Passed - A file was created with name '/ram/time41980012140753' +21-237-13:15:43.064 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:15:48.068 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:15:48.068 00 SPR-I:OPRO ; Step 5.0: Table Validation Failure Tests +21-237-13:15:48.068 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:15:48.069 00 SPR-I:OPRO ; Step 5.1: Create five Packet Filter Table load images with each +21-237-13:15:48.069 00 SPR-I:OPRO ; containing one of the possible five content errors. +21-237-13:15:48.069 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:15:48.070 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/scx_cpu1_ds_badfiltertbls.i +21-237-13:15:48.081 00 SPR-I:STS Procedure SCX_CPU1_DS_BADFILTERTBLS started +21-237-13:15:48.138 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:15:48.138 00 SPR-I:OPRO ; Step 1.0: Define DS Destination File And Packet Filter Tables. +21-237-13:15:48.138 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:15:48.626 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/create_tbl_file_from_cvt.i +21-237-13:15:48.626 00 SPR-I:STS Procedure CREATE_TBL_FILE_FROM_CVT started +21-237-13:15:48.628 00 SPR-I:OPRO ********** ds_badfilter1.tbl ********** +21-237-13:15:48.628 00 SPR-I:OPRO +21-237-13:15:48.628 00 SPR-I:OPRO Content Type: cFE1 +21-237-13:15:48.628 00 SPR-I:OPRO Sub Type: 8 +21-237-13:15:48.628 00 SPR-I:OPRO Length: 12 +21-237-13:15:48.628 00 SPR-I:OPRO Spacecraft Id: SCX +21-237-13:15:48.628 00 SPR-I:OPRO Processor Id: CPU3 +21-237-13:15:48.628 00 SPR-I:OPRO Application Id: 3959 +21-237-13:15:48.628 00 SPR-I:OPRO Create Time Secs: 1629897348 +21-237-13:15:48.628 00 SPR-I:OPRO Create Time Subsecs: 0 +21-237-13:15:48.628 00 SPR-I:OPRO File Description: Invalid Filter Table Description +21-237-13:15:48.628 00 SPR-I:OPRO +21-237-13:15:48.628 00 SPR-I:OPRO ********** DS.FILTER_TBL ********** +21-237-13:15:48.628 00 SPR-I:OPRO +21-237-13:15:48.628 00 SPR-I:OPRO Start Mnemonic: SCX_CPU1_DS_PF_TBL_Description +21-237-13:15:48.629 00 SPR-I:OPRO Byte Offset: 0 +21-237-13:15:48.629 00 SPR-I:OPRO End Mnemonic: SCX_CPU1_DS_PF_TBL[255].FilterParams[3].O_Value +21-237-13:15:48.629 00 SPR-I:OPRO Number of Bytes: 9248 +21-237-13:15:48.629 00 SPR-I:OPRO +21-237-13:15:48.634 00 SPR-I:STS Loading file /s/opr/accounts/global/prc/partial_cvt_to_file_beta.i +21-237-13:15:48.634 00 SPR-I:STS Procedure PARTIAL_CVT_TO_FILE_BETA started +21-237-13:15:48.634 00 SPR-I:OPRO The unix command is cd /s/opr/accounts/cfs_test/image;cvt2file -s 116 -e 9363 P0F77 ds.filter_tbl +21-237-13:15:48.639 00 SPR-I:STS Procedure PARTIAL_CVT_TO_FILE_BETA completed +21-237-13:15:48.640 00 SPR-I:OPRO cd /s/opr/accounts/cfs_test/image;cat ds_badfilter1.tbl.tmp ds.filter_tbl > ds_badfilter1.tbl +21-237-13:15:48.643 00 SPR-I:OPRO cd /s/opr/accounts/cfs_test/image;rm ds.filter_tbl ds_badfilter1.tbl.tmp +21-237-13:15:48.647 00 SPR-I:STS Procedure CREATE_TBL_FILE_FROM_CVT completed +21-237-13:15:48.648 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/create_tbl_file_from_cvt.i +21-237-13:15:48.648 00 SPR-I:STS Procedure CREATE_TBL_FILE_FROM_CVT started +21-237-13:15:48.651 00 SPR-I:OPRO ********** ds_badfilter2.tbl ********** +21-237-13:15:48.651 00 SPR-I:OPRO +21-237-13:15:48.651 00 SPR-I:OPRO Content Type: cFE1 +21-237-13:15:48.651 00 SPR-I:OPRO Sub Type: 8 +21-237-13:15:48.651 00 SPR-I:OPRO Length: 12 +21-237-13:15:48.651 00 SPR-I:OPRO Spacecraft Id: SCX +21-237-13:15:48.651 00 SPR-I:OPRO Processor Id: CPU3 +21-237-13:15:48.651 00 SPR-I:OPRO Application Id: 3959 +21-237-13:15:48.651 00 SPR-I:OPRO Create Time Secs: 1629897348 +21-237-13:15:48.651 00 SPR-I:OPRO Create Time Subsecs: 0 +21-237-13:15:48.651 00 SPR-I:OPRO File Description: Invalid Filter Table Entry #1 In +21-237-13:15:48.651 00 SPR-I:OPRO +21-237-13:15:48.651 00 SPR-I:OPRO ********** DS.FILTER_TBL ********** +21-237-13:15:48.651 00 SPR-I:OPRO +21-237-13:15:48.651 00 SPR-I:OPRO Start Mnemonic: SCX_CPU1_DS_PF_TBL_Description +21-237-13:15:48.651 00 SPR-I:OPRO Byte Offset: 0 +21-237-13:15:48.651 00 SPR-I:OPRO End Mnemonic: SCX_CPU1_DS_PF_TBL[255].FilterParams[3].O_Value +21-237-13:15:48.652 00 SPR-I:OPRO Number of Bytes: 9248 +21-237-13:15:48.652 00 SPR-I:OPRO +21-237-13:15:48.659 00 SPR-I:STS Loading file /s/opr/accounts/global/prc/partial_cvt_to_file_beta.i +21-237-13:15:48.659 00 SPR-I:STS Procedure PARTIAL_CVT_TO_FILE_BETA started +21-237-13:15:48.660 00 SPR-I:OPRO The unix command is cd /s/opr/accounts/cfs_test/image;cvt2file -s 116 -e 9363 P0F77 ds.filter_tbl +21-237-13:15:48.665 00 SPR-I:STS Procedure PARTIAL_CVT_TO_FILE_BETA completed +21-237-13:15:48.665 00 SPR-I:OPRO cd /s/opr/accounts/cfs_test/image;cat ds_badfilter2.tbl.tmp ds.filter_tbl > ds_badfilter2.tbl +21-237-13:15:48.669 00 SPR-I:OPRO cd /s/opr/accounts/cfs_test/image;rm ds.filter_tbl ds_badfilter2.tbl.tmp +21-237-13:15:48.677 00 SPR-I:STS Procedure CREATE_TBL_FILE_FROM_CVT completed +21-237-13:15:48.677 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/create_tbl_file_from_cvt.i +21-237-13:15:48.678 00 SPR-I:STS Procedure CREATE_TBL_FILE_FROM_CVT started +21-237-13:15:48.681 00 SPR-I:OPRO ********** ds_badfilter3.tbl ********** +21-237-13:15:48.681 00 SPR-I:OPRO +21-237-13:15:48.681 00 SPR-I:OPRO Content Type: cFE1 +21-237-13:15:48.681 00 SPR-I:OPRO Sub Type: 8 +21-237-13:15:48.681 00 SPR-I:OPRO Length: 12 +21-237-13:15:48.681 00 SPR-I:OPRO Spacecraft Id: SCX +21-237-13:15:48.681 00 SPR-I:OPRO Processor Id: CPU3 +21-237-13:15:48.681 00 SPR-I:OPRO Application Id: 3959 +21-237-13:15:48.681 00 SPR-I:OPRO Create Time Secs: 1629897348 +21-237-13:15:48.681 00 SPR-I:OPRO Create Time Subsecs: 0 +21-237-13:15:48.681 00 SPR-I:OPRO File Description: Invalid Filter Table Entry #2 Ty +21-237-13:15:48.681 00 SPR-I:OPRO +21-237-13:15:48.681 00 SPR-I:OPRO ********** DS.FILTER_TBL ********** +21-237-13:15:48.681 00 SPR-I:OPRO +21-237-13:15:48.681 00 SPR-I:OPRO Start Mnemonic: SCX_CPU1_DS_PF_TBL_Description +21-237-13:15:48.681 00 SPR-I:OPRO Byte Offset: 0 +21-237-13:15:48.681 00 SPR-I:OPRO End Mnemonic: SCX_CPU1_DS_PF_TBL[255].FilterParams[3].O_Value +21-237-13:15:48.681 00 SPR-I:OPRO Number of Bytes: 9248 +21-237-13:15:48.681 00 SPR-I:OPRO +21-237-13:15:48.688 00 SPR-I:STS Loading file /s/opr/accounts/global/prc/partial_cvt_to_file_beta.i +21-237-13:15:48.688 00 SPR-I:STS Procedure PARTIAL_CVT_TO_FILE_BETA started +21-237-13:15:48.688 00 SPR-I:OPRO The unix command is cd /s/opr/accounts/cfs_test/image;cvt2file -s 116 -e 9363 P0F77 ds.filter_tbl +21-237-13:15:48.693 00 SPR-I:STS Procedure PARTIAL_CVT_TO_FILE_BETA completed +21-237-13:15:48.693 00 SPR-I:OPRO cd /s/opr/accounts/cfs_test/image;cat ds_badfilter3.tbl.tmp ds.filter_tbl > ds_badfilter3.tbl +21-237-13:15:48.697 00 SPR-I:OPRO cd /s/opr/accounts/cfs_test/image;rm ds.filter_tbl ds_badfilter3.tbl.tmp +21-237-13:15:48.701 00 SPR-I:STS Procedure CREATE_TBL_FILE_FROM_CVT completed +21-237-13:15:48.701 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/create_tbl_file_from_cvt.i +21-237-13:15:48.702 00 SPR-I:STS Procedure CREATE_TBL_FILE_FROM_CVT started +21-237-13:15:48.704 00 SPR-I:OPRO ********** ds_badfilter4.tbl ********** +21-237-13:15:48.704 00 SPR-I:OPRO +21-237-13:15:48.704 00 SPR-I:OPRO Content Type: cFE1 +21-237-13:15:48.704 00 SPR-I:OPRO Sub Type: 8 +21-237-13:15:48.704 00 SPR-I:OPRO Length: 12 +21-237-13:15:48.704 00 SPR-I:OPRO Spacecraft Id: SCX +21-237-13:15:48.704 00 SPR-I:OPRO Processor Id: CPU3 +21-237-13:15:48.704 00 SPR-I:OPRO Application Id: 3959 +21-237-13:15:48.704 00 SPR-I:OPRO Create Time Secs: 1629897348 +21-237-13:15:48.704 00 SPR-I:OPRO Create Time Subsecs: 0 +21-237-13:15:48.704 00 SPR-I:OPRO File Description: Invalid Filter Table Entry #3 N> +21-237-13:15:48.704 00 SPR-I:OPRO +21-237-13:15:48.704 00 SPR-I:OPRO ********** DS.FILTER_TBL ********** +21-237-13:15:48.704 00 SPR-I:OPRO +21-237-13:15:48.704 00 SPR-I:OPRO Start Mnemonic: SCX_CPU1_DS_PF_TBL_Description +21-237-13:15:48.705 00 SPR-I:OPRO Byte Offset: 0 +21-237-13:15:48.705 00 SPR-I:OPRO End Mnemonic: SCX_CPU1_DS_PF_TBL[255].FilterParams[3].O_Value +21-237-13:15:48.705 00 SPR-I:OPRO Number of Bytes: 9248 +21-237-13:15:48.705 00 SPR-I:OPRO +21-237-13:15:48.710 00 SPR-I:STS Loading file /s/opr/accounts/global/prc/partial_cvt_to_file_beta.i +21-237-13:15:48.711 00 SPR-I:STS Procedure PARTIAL_CVT_TO_FILE_BETA started +21-237-13:15:48.711 00 SPR-I:OPRO The unix command is cd /s/opr/accounts/cfs_test/image;cvt2file -s 116 -e 9363 P0F77 ds.filter_tbl +21-237-13:15:48.719 00 SPR-I:STS Procedure PARTIAL_CVT_TO_FILE_BETA completed +21-237-13:15:48.719 00 SPR-I:OPRO cd /s/opr/accounts/cfs_test/image;cat ds_badfilter4.tbl.tmp ds.filter_tbl > ds_badfilter4.tbl +21-237-13:15:48.724 00 SPR-I:OPRO cd /s/opr/accounts/cfs_test/image;rm ds.filter_tbl ds_badfilter4.tbl.tmp +21-237-13:15:48.728 00 SPR-I:STS Procedure CREATE_TBL_FILE_FROM_CVT completed +21-237-13:15:48.728 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/create_tbl_file_from_cvt.i +21-237-13:15:48.728 00 SPR-I:STS Procedure CREATE_TBL_FILE_FROM_CVT started +21-237-13:15:48.731 00 SPR-I:OPRO ********** ds_badfilter5.tbl ********** +21-237-13:15:48.731 00 SPR-I:OPRO +21-237-13:15:48.731 00 SPR-I:OPRO Content Type: cFE1 +21-237-13:15:48.731 00 SPR-I:OPRO Sub Type: 8 +21-237-13:15:48.731 00 SPR-I:OPRO Length: 12 +21-237-13:15:48.731 00 SPR-I:OPRO Spacecraft Id: SCX +21-237-13:15:48.731 00 SPR-I:OPRO Processor Id: CPU3 +21-237-13:15:48.731 00 SPR-I:OPRO Application Id: 3959 +21-237-13:15:48.731 00 SPR-I:OPRO Create Time Secs: 1629897348 +21-237-13:15:48.731 00 SPR-I:OPRO Create Time Subsecs: 0 +21-237-13:15:48.731 00 SPR-I:OPRO File Description: Invalid Filter Table Entry #4 O> +21-237-13:15:48.731 00 SPR-I:OPRO +21-237-13:15:48.731 00 SPR-I:OPRO ********** DS.FILTER_TBL ********** +21-237-13:15:48.731 00 SPR-I:OPRO +21-237-13:15:48.732 00 SPR-I:OPRO Start Mnemonic: SCX_CPU1_DS_PF_TBL_Description +21-237-13:15:48.732 00 SPR-I:OPRO Byte Offset: 0 +21-237-13:15:48.732 00 SPR-I:OPRO End Mnemonic: SCX_CPU1_DS_PF_TBL[255].FilterParams[3].O_Value +21-237-13:15:48.732 00 SPR-I:OPRO Number of Bytes: 9248 +21-237-13:15:48.732 00 SPR-I:OPRO +21-237-13:15:48.741 00 SPR-I:STS Loading file /s/opr/accounts/global/prc/partial_cvt_to_file_beta.i +21-237-13:15:48.741 00 SPR-I:STS Procedure PARTIAL_CVT_TO_FILE_BETA started +21-237-13:15:48.742 00 SPR-I:OPRO The unix command is cd /s/opr/accounts/cfs_test/image;cvt2file -s 116 -e 9363 P0F77 ds.filter_tbl +21-237-13:15:48.747 00 SPR-I:STS Procedure PARTIAL_CVT_TO_FILE_BETA completed +21-237-13:15:48.747 00 SPR-I:OPRO cd /s/opr/accounts/cfs_test/image;cat ds_badfilter5.tbl.tmp ds.filter_tbl > ds_badfilter5.tbl +21-237-13:15:48.755 00 SPR-I:OPRO cd /s/opr/accounts/cfs_test/image;rm ds.filter_tbl ds_badfilter5.tbl.tmp +21-237-13:15:48.759 00 SPR-I:STS Procedure CREATE_TBL_FILE_FROM_CVT completed +21-237-13:15:48.759 00 SPR-I:OPRO ;********************************************************************* +21-237-13:15:48.759 00 SPR-I:OPRO ; End procedure SCX_CPU1_ds_badfiltertbls +21-237-13:15:48.759 00 SPR-I:OPRO ;********************************************************************* +21-237-13:15:48.759 00 SPR-I:STS Procedure SCX_CPU1_DS_BADFILTERTBLS completed +21-237-13:15:48.760 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:15:52.762 00 DPD-I:STS Deleting page SCX_CPU1_DS_FILE_HK +21-237-13:15:53.765 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:15:53.765 00 SPR-I:OPRO ; Step 5.2: Loop for each file created above. +21-237-13:15:53.765 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:15:53.766 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:15:53.766 00 SPR-I:OPRO ; Load the invalid table image. +21-237-13:15:53.766 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:15:53.772 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:15:53.773 00 SPR-I:OPRO ; Setup event 1 with CFE_TBL INFO 12 +21-237-13:15:53.773 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:15:53.776 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/load_table.i +21-237-13:15:53.777 00 SPR-I:STS Procedure LOAD_TABLE started +21-237-13:15:53.782 00 SPR-I:OPRO Table Filename: ds_badfilter1.tbl +21-237-13:15:53.786 00 SPR-I:OPRO The perl command is: perl /s/opr/accounts/global/tools/table_ftp.pl 192.168.1.8 ds_badfilter1.tbl RAM:0 3 +21-237-13:15:53.786 00 SPR-I:OPRO +21-237-13:15:53.935 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-237-13:15:53.935 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:15:54.903 00 DPD-I:STS Deleting page SCX_CPU1_DS_FILE_TBL +21-237-13:15:56.885 00 DPD-I:STS Deleting page SCX_CPU1_DS_FILTER_TBL +21-237-13:15:58.816 00 DPD-I:STS Deleting page SCX_CPU1_TST_DS_HK +21-237-13:15:58.942 00 SPR-I:OPRO +21-237-13:15:58.944 00 SPR-I:OPRO Sending Command: /SCX_CPU1_TBL_LOAD LFILENAME="/ram/ds_badfilter1.tbl" +21-237-13:15:58.945 00 CMH-I:CMD Command is /SCX_CPU1_TBL_LOAD LFILENAME="/ram/ds_badfilter1.tbl" ;;; (SCX CPU1 TBL load table command) +21-237-13:15:58.945 00 CMH-I:CMD Command SFDU received:<1804C000004102542F72616D2F64735F62616466696C746572312E74626C000000000000000000000000000000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-237-13:15:58.965 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:15:59.165 00 TLMH-I:STS 58-012-14:08:33.002 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=12 Successful load of '/ram/ds_badfilter1.tbl' into 'DS.FILTER_TBL' working buffer +21-237-13:16:02.969 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:16:02.971 00 SPR-I:STS Procedure LOAD_TABLE completed +21-237-13:16:02.984 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:16:02.986 00 SPR-I:OPRO <*> Passed - Load command for Invalid Packet Filter Table sent successfully. +21-237-13:16:02.987 00 SPR-I:OPRO <*> Passed - Event Msg 12 Found! +21-237-13:16:02.987 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:02.987 00 SPR-I:OPRO ; Send the Table Services command to validate the inactive buffer. +21-237-13:16:02.988 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:02.994 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:02.995 00 SPR-I:OPRO ; Setup event 1 with CFE_TBL DEBUG 16 +21-237-13:16:02.995 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:03.007 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:03.007 00 SPR-I:OPRO ; Setup event 2 with CFE_TBL ERROR 96 +21-237-13:16:03.007 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:03.012 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:03.012 00 SPR-I:OPRO ; Setup event 3 with DS ERROR 13 +21-237-13:16:03.012 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:03.015 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:03.015 00 SPR-I:OPRO ; Setup event 4 with DS INFO 12 +21-237-13:16:03.015 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:03.016 00 CMH-I:CMD Command is /SCX_CPU1_TBL_VALIDATE INACTIVE VTABLENAME="DS.FILTER_TBL" ;;; (SCX CPU1 TBL validate table command) +21-237-13:16:03.016 00 CMH-I:CMD Command SFDU received:<1804C000002B0430000044532E46494C5445525F54424C000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-237-13:16:03.031 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:16:03.163 00 TLMH-I:STS 58-012-14:08:37.002 DEBUG CPU=CPU1 APPNAME=CFE_TBL EVENT ID=16 Tbl Services issued validation request for 'DS.FILTER_TBL' +21-237-13:16:06.165 00 TLMH-I:STS 58-012-14:08:40.003 ERROR CPU=CPU1 APPNAME=DS EVENT ID=13 Filter table verify err: invalid descriptor text +21-237-13:16:06.166 00 TLMH-I:STS 58-012-14:08:40.004 ERROR CPU=CPU1 APPNAME=DS EVENT ID=13 Filter table verify err: MID = 0x00001000, index = 0, filter = 0, file table index = 16 +21-237-13:16:06.168 00 TLMH-I:STS 58-012-14:08:40.004 INFO CPU=CPU1 APPNAME=DS EVENT ID=12 Filter table verify results: desc text = bad, good entries = 1, bad = 4, unused = 251 +21-237-13:16:06.169 00 TLMH-I:STS 58-012-14:08:40.004 ERROR CPU=CPU1 APPNAME=CFE_TBL EVENT ID=96 DS validation failed for Inactive 'DS.FILTER_TBL', Status=0xFFFFFFFF +21-237-13:16:07.035 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:16:07.037 00 SPR-I:OPRO <*> Passed - Packet Filter Table validate command sent. +21-237-13:16:07.051 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:16:07.054 00 SPR-I:OPRO <*> Passed (9005) - Packet Filter Table validation failed as expected. +21-237-13:16:07.059 00 SPR-I:OPRO <*> Passed - Event Msg 16 Found! +21-237-13:16:07.059 00 SPR-I:OPRO <*> Passed - Validation Event Msg rcv'd +21-237-13:16:07.060 00 SPR-I:OPRO <*> Passed - Validation Summary Event Msg rcv'd +21-237-13:16:07.077 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:07.077 00 SPR-I:OPRO ; Send the Table Services Load Abort command to release the buffer. +21-237-13:16:07.077 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:07.080 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:07.080 00 SPR-I:OPRO ; Setup event 1 with CFE_TBL INFO 21 +21-237-13:16:07.080 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:07.081 00 CMH-I:CMD Command is /SCX_CPU1_TBL_LOADABORT ABTABLENAME="DS.FILTER_TBL" ;;; (SCX CPU1 TBL Abort Loading of a table) +21-237-13:16:07.081 00 CMH-I:CMD Command SFDU received:<1804C0000029093F44532E46494C5445525F54424C000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-237-13:16:07.086 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:16:07.665 00 TLMH-I:STS 58-012-14:08:41.500 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=21 Table Load Aborted for 'DS.FILTER_TBL' +21-237-13:16:11.091 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:16:11.093 00 SPR-I:OPRO <*> Passed - Load abort command sent successfully. +21-237-13:16:11.094 00 SPR-I:OPRO <*> Passed - Event Msg 21 Found! +21-237-13:16:11.096 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:11.096 00 SPR-I:OPRO ; Load the invalid table image. +21-237-13:16:11.096 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:11.103 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:11.104 00 SPR-I:OPRO ; Setup event 1 with CFE_TBL INFO 12 +21-237-13:16:11.104 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:11.112 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/load_table.i +21-237-13:16:11.114 00 SPR-I:STS Procedure LOAD_TABLE started +21-237-13:16:11.120 00 SPR-I:OPRO Table Filename: ds_badfilter2.tbl +21-237-13:16:11.123 00 SPR-I:OPRO The perl command is: perl /s/opr/accounts/global/tools/table_ftp.pl 192.168.1.8 ds_badfilter2.tbl RAM:0 3 +21-237-13:16:11.124 00 SPR-I:OPRO +21-237-13:16:11.274 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-237-13:16:11.274 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:16:16.278 00 SPR-I:OPRO +21-237-13:16:16.281 00 SPR-I:OPRO Sending Command: /SCX_CPU1_TBL_LOAD LFILENAME="/ram/ds_badfilter2.tbl" +21-237-13:16:16.283 00 CMH-I:CMD Command is /SCX_CPU1_TBL_LOAD LFILENAME="/ram/ds_badfilter2.tbl" ;;; (SCX CPU1 TBL load table command) +21-237-13:16:16.283 00 CMH-I:CMD Command SFDU received:<1804C000004102572F72616D2F64735F62616466696C746572322E74626C000000000000000000000000000000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-237-13:16:16.299 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:16:16.662 00 TLMH-I:STS 58-012-14:08:50.501 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=12 Successful load of '/ram/ds_badfilter2.tbl' into 'DS.FILTER_TBL' working buffer +21-237-13:16:18.302 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:16:18.303 00 SPR-I:STS Procedure LOAD_TABLE completed +21-237-13:16:18.311 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:16:18.312 00 SPR-I:OPRO <*> Passed - Load command for Invalid Packet Filter Table sent successfully. +21-237-13:16:18.312 00 SPR-I:OPRO <*> Passed - Event Msg 12 Found! +21-237-13:16:18.312 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:18.312 00 SPR-I:OPRO ; Send the Table Services command to validate the inactive buffer. +21-237-13:16:18.312 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:18.314 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:18.314 00 SPR-I:OPRO ; Setup event 1 with CFE_TBL DEBUG 16 +21-237-13:16:18.314 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:18.319 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:18.319 00 SPR-I:OPRO ; Setup event 2 with CFE_TBL ERROR 96 +21-237-13:16:18.319 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:18.322 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:18.322 00 SPR-I:OPRO ; Setup event 3 with DS ERROR 13 +21-237-13:16:18.322 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:18.327 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:18.327 00 SPR-I:OPRO ; Setup event 4 with DS INFO 12 +21-237-13:16:18.327 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:18.329 00 CMH-I:CMD Command is /SCX_CPU1_TBL_VALIDATE INACTIVE VTABLENAME="DS.FILTER_TBL" ;;; (SCX CPU1 TBL validate table command) +21-237-13:16:18.329 00 CMH-I:CMD Command SFDU received:<1804C000002B0430000044532E46494C5445525F54424C000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-237-13:16:18.345 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:16:18.662 00 TLMH-I:STS 58-012-14:08:52.502 DEBUG CPU=CPU1 APPNAME=CFE_TBL EVENT ID=16 Tbl Services issued validation request for 'DS.FILTER_TBL' +21-237-13:16:22.168 00 TLMH-I:STS 58-012-14:08:56.003 ERROR CPU=CPU1 APPNAME=DS EVENT ID=13 Filter table verify err: MID = 0x00001000, index = 0, filter = 0, file table index = 16 +21-237-13:16:22.169 00 TLMH-I:STS 58-012-14:08:56.004 INFO CPU=CPU1 APPNAME=DS EVENT ID=12 Filter table verify results: desc text = OK, good entries = 1, bad = 4, unused = 251 +21-237-13:16:22.170 00 TLMH-I:STS 58-012-14:08:56.004 ERROR CPU=CPU1 APPNAME=CFE_TBL EVENT ID=96 DS validation failed for Inactive 'DS.FILTER_TBL', Status=0xFFFFFFFF +21-237-13:16:22.350 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:16:22.352 00 SPR-I:OPRO <*> Passed - Packet Filter Table validate command sent. +21-237-13:16:22.365 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:16:22.367 00 SPR-I:OPRO <*> Passed (9005) - Packet Filter Table validation failed as expected. +21-237-13:16:22.372 00 SPR-I:OPRO <*> Passed - Event Msg 16 Found! +21-237-13:16:22.372 00 SPR-I:OPRO <*> Passed - Validation Event Msg rcv'd +21-237-13:16:22.373 00 SPR-I:OPRO <*> Passed - Validation Summary Event Msg rcv'd +21-237-13:16:22.391 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:22.391 00 SPR-I:OPRO ; Send the Table Services Load Abort command to release the buffer. +21-237-13:16:22.391 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:22.394 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:22.394 00 SPR-I:OPRO ; Setup event 1 with CFE_TBL INFO 21 +21-237-13:16:22.394 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:22.395 00 CMH-I:CMD Command is /SCX_CPU1_TBL_LOADABORT ABTABLENAME="DS.FILTER_TBL" ;;; (SCX CPU1 TBL Abort Loading of a table) +21-237-13:16:22.395 00 CMH-I:CMD Command SFDU received:<1804C0000029093F44532E46494C5445525F54424C000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-237-13:16:22.410 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:16:22.666 00 TLMH-I:STS 58-012-14:08:56.500 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=21 Table Load Aborted for 'DS.FILTER_TBL' +21-237-13:16:26.415 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:16:26.418 00 SPR-I:OPRO <*> Passed - Load abort command sent successfully. +21-237-13:16:26.419 00 SPR-I:OPRO <*> Passed - Event Msg 21 Found! +21-237-13:16:26.420 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:26.420 00 SPR-I:OPRO ; Load the invalid table image. +21-237-13:16:26.420 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:26.423 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:26.423 00 SPR-I:OPRO ; Setup event 1 with CFE_TBL INFO 12 +21-237-13:16:26.423 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:26.426 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/load_table.i +21-237-13:16:26.426 00 SPR-I:STS Procedure LOAD_TABLE started +21-237-13:16:26.428 00 SPR-I:OPRO Table Filename: ds_badfilter3.tbl +21-237-13:16:26.429 00 SPR-I:OPRO The perl command is: perl /s/opr/accounts/global/tools/table_ftp.pl 192.168.1.8 ds_badfilter3.tbl RAM:0 3 +21-237-13:16:26.429 00 SPR-I:OPRO +21-237-13:16:26.564 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-237-13:16:26.564 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:16:31.568 00 SPR-I:OPRO +21-237-13:16:31.571 00 SPR-I:OPRO Sending Command: /SCX_CPU1_TBL_LOAD LFILENAME="/ram/ds_badfilter3.tbl" +21-237-13:16:31.573 00 CMH-I:CMD Command is /SCX_CPU1_TBL_LOAD LFILENAME="/ram/ds_badfilter3.tbl" ;;; (SCX CPU1 TBL load table command) +21-237-13:16:31.574 00 CMH-I:CMD Command SFDU received:<1804C000004102562F72616D2F64735F62616466696C746572332E74626C000000000000000000000000000000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-237-13:16:31.590 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:16:32.164 00 TLMH-I:STS 58-012-14:09:06.001 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=12 Successful load of '/ram/ds_badfilter3.tbl' into 'DS.FILTER_TBL' working buffer +21-237-13:16:34.594 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:16:34.595 00 SPR-I:STS Procedure LOAD_TABLE completed +21-237-13:16:34.603 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:16:34.604 00 SPR-I:OPRO <*> Passed - Load command for Invalid Packet Filter Table sent successfully. +21-237-13:16:34.604 00 SPR-I:OPRO <*> Passed - Event Msg 12 Found! +21-237-13:16:34.605 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:34.605 00 SPR-I:OPRO ; Send the Table Services command to validate the inactive buffer. +21-237-13:16:34.605 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:34.607 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:34.607 00 SPR-I:OPRO ; Setup event 1 with CFE_TBL DEBUG 16 +21-237-13:16:34.607 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:34.612 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:34.612 00 SPR-I:OPRO ; Setup event 2 with CFE_TBL ERROR 96 +21-237-13:16:34.613 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:34.615 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:34.615 00 SPR-I:OPRO ; Setup event 3 with DS ERROR 13 +21-237-13:16:34.615 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:34.618 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:34.618 00 SPR-I:OPRO ; Setup event 4 with DS INFO 12 +21-237-13:16:34.618 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:34.619 00 CMH-I:CMD Command is /SCX_CPU1_TBL_VALIDATE INACTIVE VTABLENAME="DS.FILTER_TBL" ;;; (SCX CPU1 TBL validate table command) +21-237-13:16:34.619 00 CMH-I:CMD Command SFDU received:<1804C000002B0430000044532E46494C5445525F54424C000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-237-13:16:34.624 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:16:35.165 00 TLMH-I:STS 58-012-14:09:09.002 DEBUG CPU=CPU1 APPNAME=CFE_TBL EVENT ID=16 Tbl Services issued validation request for 'DS.FILTER_TBL' +21-237-13:16:38.162 00 TLMH-I:STS 58-012-14:09:12.003 ERROR CPU=CPU1 APPNAME=DS EVENT ID=13 Filter table verify err: MID = 0x00001001, index = 1, filter = 0, filter type = 3 +21-237-13:16:38.163 00 TLMH-I:STS 58-012-14:09:12.004 INFO CPU=CPU1 APPNAME=DS EVENT ID=12 Filter table verify results: desc text = OK, good entries = 2, bad = 3, unused = 251 +21-237-13:16:38.164 00 TLMH-I:STS 58-012-14:09:12.004 ERROR CPU=CPU1 APPNAME=CFE_TBL EVENT ID=96 DS validation failed for Inactive 'DS.FILTER_TBL', Status=0xFFFFFFFF +21-237-13:16:38.629 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:16:38.632 00 SPR-I:OPRO <*> Passed - Packet Filter Table validate command sent. +21-237-13:16:38.637 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:16:38.638 00 SPR-I:OPRO <*> Passed (9005) - Packet Filter Table validation failed as expected. +21-237-13:16:38.638 00 SPR-I:OPRO <*> Passed - Event Msg 16 Found! +21-237-13:16:38.639 00 SPR-I:OPRO <*> Passed - Validation Event Msg rcv'd +21-237-13:16:38.639 00 SPR-I:OPRO <*> Passed - Validation Summary Event Msg rcv'd +21-237-13:16:38.646 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:38.646 00 SPR-I:OPRO ; Send the Table Services Load Abort command to release the buffer. +21-237-13:16:38.646 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:38.648 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:38.648 00 SPR-I:OPRO ; Setup event 1 with CFE_TBL INFO 21 +21-237-13:16:38.648 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:38.649 00 CMH-I:CMD Command is /SCX_CPU1_TBL_LOADABORT ABTABLENAME="DS.FILTER_TBL" ;;; (SCX CPU1 TBL Abort Loading of a table) +21-237-13:16:38.649 00 CMH-I:CMD Command SFDU received:<1804C0000029093F44532E46494C5445525F54424C000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-237-13:16:38.663 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:16:39.163 00 TLMH-I:STS 58-012-14:09:13.001 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=21 Table Load Aborted for 'DS.FILTER_TBL' +21-237-13:16:42.667 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:16:42.667 00 SPR-I:OPRO <*> Passed - Load abort command sent successfully. +21-237-13:16:42.668 00 SPR-I:OPRO <*> Passed - Event Msg 21 Found! +21-237-13:16:42.668 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:42.668 00 SPR-I:OPRO ; Load the invalid table image. +21-237-13:16:42.668 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:42.670 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:42.670 00 SPR-I:OPRO ; Setup event 1 with CFE_TBL INFO 12 +21-237-13:16:42.670 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:42.673 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/load_table.i +21-237-13:16:42.673 00 SPR-I:STS Procedure LOAD_TABLE started +21-237-13:16:42.674 00 SPR-I:OPRO Table Filename: ds_badfilter4.tbl +21-237-13:16:42.675 00 SPR-I:OPRO The perl command is: perl /s/opr/accounts/global/tools/table_ftp.pl 192.168.1.8 ds_badfilter4.tbl RAM:0 3 +21-237-13:16:42.675 00 SPR-I:OPRO +21-237-13:16:42.799 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-237-13:16:42.799 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:16:47.803 00 SPR-I:OPRO +21-237-13:16:47.806 00 SPR-I:OPRO Sending Command: /SCX_CPU1_TBL_LOAD LFILENAME="/ram/ds_badfilter4.tbl" +21-237-13:16:47.808 00 CMH-I:CMD Command is /SCX_CPU1_TBL_LOAD LFILENAME="/ram/ds_badfilter4.tbl" ;;; (SCX CPU1 TBL load table command) +21-237-13:16:47.808 00 CMH-I:CMD Command SFDU received:<1804C000004102512F72616D2F64735F62616466696C746572342E74626C000000000000000000000000000000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-237-13:16:47.823 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:16:48.159 00 TLMH-I:STS 58-012-14:09:22.002 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=12 Successful load of '/ram/ds_badfilter4.tbl' into 'DS.FILTER_TBL' working buffer +21-237-13:16:50.826 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:16:50.828 00 SPR-I:STS Procedure LOAD_TABLE completed +21-237-13:16:50.844 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:16:50.846 00 SPR-I:OPRO <*> Passed - Load command for Invalid Packet Filter Table sent successfully. +21-237-13:16:50.847 00 SPR-I:OPRO <*> Passed - Event Msg 12 Found! +21-237-13:16:50.847 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:50.848 00 SPR-I:OPRO ; Send the Table Services command to validate the inactive buffer. +21-237-13:16:50.848 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:50.855 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:50.855 00 SPR-I:OPRO ; Setup event 1 with CFE_TBL DEBUG 16 +21-237-13:16:50.855 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:50.863 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:50.864 00 SPR-I:OPRO ; Setup event 2 with CFE_TBL ERROR 96 +21-237-13:16:50.864 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:50.867 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:50.867 00 SPR-I:OPRO ; Setup event 3 with DS ERROR 13 +21-237-13:16:50.867 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:50.871 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:50.871 00 SPR-I:OPRO ; Setup event 4 with DS INFO 12 +21-237-13:16:50.871 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:50.872 00 CMH-I:CMD Command is /SCX_CPU1_TBL_VALIDATE INACTIVE VTABLENAME="DS.FILTER_TBL" ;;; (SCX CPU1 TBL validate table command) +21-237-13:16:50.872 00 CMH-I:CMD Command SFDU received:<1804C000002B0430000044532E46494C5445525F54424C000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-237-13:16:50.887 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:16:51.166 00 TLMH-I:STS 58-012-14:09:25.002 DEBUG CPU=CPU1 APPNAME=CFE_TBL EVENT ID=16 Tbl Services issued validation request for 'DS.FILTER_TBL' +21-237-13:16:54.167 00 TLMH-I:STS 58-012-14:09:28.004 ERROR CPU=CPU1 APPNAME=DS EVENT ID=13 Filter table verify err: MID = 0x00001002, index = 2, filter = 0, filter parms N = 2, X = 1, O = 0 +21-237-13:16:54.168 00 TLMH-I:STS 58-012-14:09:28.004 INFO CPU=CPU1 APPNAME=DS EVENT ID=12 Filter table verify results: desc text = OK, good entries = 3, bad = 2, unused = 251 +21-237-13:16:54.170 00 TLMH-I:STS 58-012-14:09:28.004 ERROR CPU=CPU1 APPNAME=CFE_TBL EVENT ID=96 DS validation failed for Inactive 'DS.FILTER_TBL', Status=0xFFFFFFFF +21-237-13:16:54.893 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:16:54.896 00 SPR-I:OPRO <*> Passed - Packet Filter Table validate command sent. +21-237-13:16:54.902 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:16:54.903 00 SPR-I:OPRO <*> Passed (9005) - Packet Filter Table validation failed as expected. +21-237-13:16:54.905 00 SPR-I:OPRO <*> Passed - Event Msg 16 Found! +21-237-13:16:54.905 00 SPR-I:OPRO <*> Passed - Validation Event Msg rcv'd +21-237-13:16:54.905 00 SPR-I:OPRO <*> Passed - Validation Summary Event Msg rcv'd +21-237-13:16:54.917 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:54.917 00 SPR-I:OPRO ; Send the Table Services Load Abort command to release the buffer. +21-237-13:16:54.917 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:54.919 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:54.919 00 SPR-I:OPRO ; Setup event 1 with CFE_TBL INFO 21 +21-237-13:16:54.919 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:54.920 00 CMH-I:CMD Command is /SCX_CPU1_TBL_LOADABORT ABTABLENAME="DS.FILTER_TBL" ;;; (SCX CPU1 TBL Abort Loading of a table) +21-237-13:16:54.920 00 CMH-I:CMD Command SFDU received:<1804C0000029093F44532E46494C5445525F54424C000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-237-13:16:54.935 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:16:55.163 00 TLMH-I:STS 58-012-14:09:29.001 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=21 Table Load Aborted for 'DS.FILTER_TBL' +21-237-13:16:58.940 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:16:58.942 00 SPR-I:OPRO <*> Passed - Load abort command sent successfully. +21-237-13:16:58.943 00 SPR-I:OPRO <*> Passed - Event Msg 21 Found! +21-237-13:16:58.944 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:58.945 00 SPR-I:OPRO ; Load the invalid table image. +21-237-13:16:58.945 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:58.947 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:58.948 00 SPR-I:OPRO ; Setup event 1 with CFE_TBL INFO 12 +21-237-13:16:58.948 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:58.951 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/load_table.i +21-237-13:16:58.951 00 SPR-I:STS Procedure LOAD_TABLE started +21-237-13:16:58.953 00 SPR-I:OPRO Table Filename: ds_badfilter5.tbl +21-237-13:16:58.954 00 SPR-I:OPRO The perl command is: perl /s/opr/accounts/global/tools/table_ftp.pl 192.168.1.8 ds_badfilter5.tbl RAM:0 3 +21-237-13:16:58.954 00 SPR-I:OPRO +21-237-13:16:59.094 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-237-13:16:59.094 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:17:04.099 00 SPR-I:OPRO +21-237-13:17:04.102 00 SPR-I:OPRO Sending Command: /SCX_CPU1_TBL_LOAD LFILENAME="/ram/ds_badfilter5.tbl" +21-237-13:17:04.104 00 CMH-I:CMD Command is /SCX_CPU1_TBL_LOAD LFILENAME="/ram/ds_badfilter5.tbl" ;;; (SCX CPU1 TBL load table command) +21-237-13:17:04.104 00 CMH-I:CMD Command SFDU received:<1804C000004102502F72616D2F64735F62616466696C746572352E74626C000000000000000000000000000000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-237-13:17:04.128 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:17:04.660 00 TLMH-I:STS 58-012-14:09:38.501 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=12 Successful load of '/ram/ds_badfilter5.tbl' into 'DS.FILTER_TBL' working buffer +21-237-13:17:07.132 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:17:07.135 00 SPR-I:STS Procedure LOAD_TABLE completed +21-237-13:17:07.143 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:17:07.144 00 SPR-I:OPRO <*> Passed - Load command for Invalid Packet Filter Table sent successfully. +21-237-13:17:07.144 00 SPR-I:OPRO <*> Passed - Event Msg 12 Found! +21-237-13:17:07.144 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:17:07.145 00 SPR-I:OPRO ; Send the Table Services command to validate the inactive buffer. +21-237-13:17:07.145 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:17:07.154 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:17:07.155 00 SPR-I:OPRO ; Setup event 1 with CFE_TBL DEBUG 16 +21-237-13:17:07.155 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:17:07.162 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:17:07.162 00 SPR-I:OPRO ; Setup event 2 with CFE_TBL ERROR 96 +21-237-13:17:07.162 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:17:07.165 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:17:07.165 00 SPR-I:OPRO ; Setup event 3 with DS ERROR 13 +21-237-13:17:07.165 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:17:07.168 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:17:07.168 00 SPR-I:OPRO ; Setup event 4 with DS INFO 12 +21-237-13:17:07.168 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:17:07.169 00 CMH-I:CMD Command is /SCX_CPU1_TBL_VALIDATE INACTIVE VTABLENAME="DS.FILTER_TBL" ;;; (SCX CPU1 TBL validate table command) +21-237-13:17:07.169 00 CMH-I:CMD Command SFDU received:<1804C000002B0430000044532E46494C5445525F54424C000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-237-13:17:07.178 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:17:07.657 00 TLMH-I:STS 58-012-14:09:41.502 DEBUG CPU=CPU1 APPNAME=CFE_TBL EVENT ID=16 Tbl Services issued validation request for 'DS.FILTER_TBL' +21-237-13:17:10.160 00 TLMH-I:STS 58-012-14:09:44.003 ERROR CPU=CPU1 APPNAME=DS EVENT ID=13 Filter table verify err: MID = 0x00001003, index = 3, filter = 0, filter parms N = 1, X = 1, O = 2 +21-237-13:17:10.161 00 TLMH-I:STS 58-012-14:09:44.004 INFO CPU=CPU1 APPNAME=DS EVENT ID=12 Filter table verify results: desc text = OK, good entries = 4, bad = 1, unused = 251 +21-237-13:17:10.162 00 TLMH-I:STS 58-012-14:09:44.004 ERROR CPU=CPU1 APPNAME=CFE_TBL EVENT ID=96 DS validation failed for Inactive 'DS.FILTER_TBL', Status=0xFFFFFFFF +21-237-13:17:10.182 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:17:10.184 00 SPR-I:OPRO <*> Passed - Packet Filter Table validate command sent. +21-237-13:17:10.201 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:17:10.203 00 SPR-I:OPRO <*> Passed (9005) - Packet Filter Table validation failed as expected. +21-237-13:17:10.207 00 SPR-I:OPRO <*> Passed - Event Msg 16 Found! +21-237-13:17:10.208 00 SPR-I:OPRO <*> Passed - Validation Event Msg rcv'd +21-237-13:17:10.228 00 SPR-I:OPRO <*> Passed - Validation Summary Event Msg rcv'd +21-237-13:17:10.228 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:17:10.228 00 SPR-I:OPRO ; Send the Table Services Load Abort command to release the buffer. +21-237-13:17:10.228 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:17:10.230 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:17:10.230 00 SPR-I:OPRO ; Setup event 1 with CFE_TBL INFO 21 +21-237-13:17:10.230 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:17:10.232 00 CMH-I:CMD Command is /SCX_CPU1_TBL_LOADABORT ABTABLENAME="DS.FILTER_TBL" ;;; (SCX CPU1 TBL Abort Loading of a table) +21-237-13:17:10.232 00 CMH-I:CMD Command SFDU received:<1804C0000029093F44532E46494C5445525F54424C000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-237-13:17:10.248 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:17:10.665 00 TLMH-I:STS 58-012-14:09:44.500 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=21 Table Load Aborted for 'DS.FILTER_TBL' +21-237-13:17:14.253 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:17:14.255 00 SPR-I:OPRO <*> Passed - Load abort command sent successfully. +21-237-13:17:14.256 00 SPR-I:OPRO <*> Passed - Event Msg 21 Found! +21-237-13:17:14.258 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:17:19.262 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:17:19.262 00 SPR-I:OPRO ; Step 5.3: Create invalid Destination File Table load images each +21-237-13:17:19.263 00 SPR-I:OPRO ; containing one of the possible content errors. +21-237-13:17:19.263 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:17:19.263 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/scx_cpu1_ds_badfiletbls.i +21-237-13:17:19.270 00 SPR-I:STS Procedure SCX_CPU1_DS_BADFILETBLS started +21-237-13:17:19.318 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:17:19.318 00 SPR-I:OPRO ; Step 1.0: Define DS Destination File And Packet Filter Tables. +21-237-13:17:19.318 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:17:19.325 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/create_tbl_file_from_cvt.i +21-237-13:17:19.325 00 SPR-I:STS Procedure CREATE_TBL_FILE_FROM_CVT started +21-237-13:17:19.328 00 SPR-I:OPRO ********** ds_badfile1.tbl ********** +21-237-13:17:19.328 00 SPR-I:OPRO +21-237-13:17:19.328 00 SPR-I:OPRO Content Type: cFE1 +21-237-13:17:19.328 00 SPR-I:OPRO Sub Type: 8 +21-237-13:17:19.329 00 SPR-I:OPRO Length: 12 +21-237-13:17:19.329 00 SPR-I:OPRO Spacecraft Id: SCX +21-237-13:17:19.329 00 SPR-I:OPRO Processor Id: CPU3 +21-237-13:17:19.329 00 SPR-I:OPRO Application Id: 3958 +21-237-13:17:19.329 00 SPR-I:OPRO Create Time Secs: 1629897439 +21-237-13:17:19.329 00 SPR-I:OPRO Create Time Subsecs: 0 +21-237-13:17:19.329 00 SPR-I:OPRO File Description: Invalid File Table Description +21-237-13:17:19.329 00 SPR-I:OPRO +21-237-13:17:19.329 00 SPR-I:OPRO ********** DS.FILE_TBL ********** +21-237-13:17:19.329 00 SPR-I:OPRO +21-237-13:17:19.329 00 SPR-I:OPRO Start Mnemonic: SCX_CPU1_DS_DF_TBL_Description +21-237-13:17:19.329 00 SPR-I:OPRO Byte Offset: 0 +21-237-13:17:19.329 00 SPR-I:OPRO End Mnemonic: SCX_CPU1_DS_DF_TBL[8].SeqCnt +21-237-13:17:19.329 00 SPR-I:OPRO Number of Bytes: 1976 +21-237-13:17:19.329 00 SPR-I:OPRO +21-237-13:17:19.335 00 SPR-I:STS Loading file /s/opr/accounts/global/prc/partial_cvt_to_file_beta.i +21-237-13:17:19.335 00 SPR-I:STS Procedure PARTIAL_CVT_TO_FILE_BETA started +21-237-13:17:19.336 00 SPR-I:OPRO The unix command is cd /s/opr/accounts/cfs_test/image;cvt2file -s 116 -e 2091 P0F76 ds.file_tbl +21-237-13:17:19.340 00 SPR-I:STS Procedure PARTIAL_CVT_TO_FILE_BETA completed +21-237-13:17:19.340 00 SPR-I:OPRO cd /s/opr/accounts/cfs_test/image;cat ds_badfile1.tbl.tmp ds.file_tbl > ds_badfile1.tbl +21-237-13:17:19.344 00 SPR-I:OPRO cd /s/opr/accounts/cfs_test/image;rm ds.file_tbl ds_badfile1.tbl.tmp +21-237-13:17:19.348 00 SPR-I:STS Procedure CREATE_TBL_FILE_FROM_CVT completed +21-237-13:17:19.348 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/create_tbl_file_from_cvt.i +21-237-13:17:19.349 00 SPR-I:STS Procedure CREATE_TBL_FILE_FROM_CVT started +21-237-13:17:19.351 00 SPR-I:OPRO ********** ds_badfile2.tbl ********** +21-237-13:17:19.351 00 SPR-I:OPRO +21-237-13:17:19.351 00 SPR-I:OPRO Content Type: cFE1 +21-237-13:17:19.351 00 SPR-I:OPRO Sub Type: 8 +21-237-13:17:19.351 00 SPR-I:OPRO Length: 12 +21-237-13:17:19.351 00 SPR-I:OPRO Spacecraft Id: SCX +21-237-13:17:19.351 00 SPR-I:OPRO Processor Id: CPU3 +21-237-13:17:19.351 00 SPR-I:OPRO Application Id: 3958 +21-237-13:17:19.351 00 SPR-I:OPRO Create Time Secs: 1629897439 +21-237-13:17:19.351 00 SPR-I:OPRO Create Time Subsecs: 0 +21-237-13:17:19.351 00 SPR-I:OPRO File Description: Invalid File Table Null Path +21-237-13:17:19.351 00 SPR-I:OPRO +21-237-13:17:19.351 00 SPR-I:OPRO ********** DS.FILE_TBL ********** +21-237-13:17:19.351 00 SPR-I:OPRO +21-237-13:17:19.352 00 SPR-I:OPRO Start Mnemonic: SCX_CPU1_DS_DF_TBL_Description +21-237-13:17:19.352 00 SPR-I:OPRO Byte Offset: 0 +21-237-13:17:19.352 00 SPR-I:OPRO End Mnemonic: SCX_CPU1_DS_DF_TBL[8].SeqCnt +21-237-13:17:19.352 00 SPR-I:OPRO Number of Bytes: 1976 +21-237-13:17:19.352 00 SPR-I:OPRO +21-237-13:17:19.357 00 SPR-I:STS Loading file /s/opr/accounts/global/prc/partial_cvt_to_file_beta.i +21-237-13:17:19.357 00 SPR-I:STS Procedure PARTIAL_CVT_TO_FILE_BETA started +21-237-13:17:19.358 00 SPR-I:OPRO The unix command is cd /s/opr/accounts/cfs_test/image;cvt2file -s 116 -e 2091 P0F76 ds.file_tbl +21-237-13:17:19.362 00 SPR-I:STS Procedure PARTIAL_CVT_TO_FILE_BETA completed +21-237-13:17:19.362 00 SPR-I:OPRO cd /s/opr/accounts/cfs_test/image;cat ds_badfile2.tbl.tmp ds.file_tbl > ds_badfile2.tbl +21-237-13:17:19.367 00 SPR-I:OPRO cd /s/opr/accounts/cfs_test/image;rm ds.file_tbl ds_badfile2.tbl.tmp +21-237-13:17:19.374 00 SPR-I:STS Procedure CREATE_TBL_FILE_FROM_CVT completed +21-237-13:17:19.375 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/create_tbl_file_from_cvt.i +21-237-13:17:19.375 00 SPR-I:STS Procedure CREATE_TBL_FILE_FROM_CVT started +21-237-13:17:19.377 00 SPR-I:OPRO ********** ds_badfile3.tbl ********** +21-237-13:17:19.377 00 SPR-I:OPRO +21-237-13:17:19.377 00 SPR-I:OPRO Content Type: cFE1 +21-237-13:17:19.377 00 SPR-I:OPRO Sub Type: 8 +21-237-13:17:19.378 00 SPR-I:OPRO Length: 12 +21-237-13:17:19.378 00 SPR-I:OPRO Spacecraft Id: SCX +21-237-13:17:19.378 00 SPR-I:OPRO Processor Id: CPU3 +21-237-13:17:19.378 00 SPR-I:OPRO Application Id: 3958 +21-237-13:17:19.378 00 SPR-I:OPRO Create Time Secs: 1629897439 +21-237-13:17:19.378 00 SPR-I:OPRO Create Time Subsecs: 0 +21-237-13:17:19.378 00 SPR-I:OPRO File Description: Invalid File Table Name Type +21-237-13:17:19.378 00 SPR-I:OPRO +21-237-13:17:19.378 00 SPR-I:OPRO ********** DS.FILE_TBL ********** +21-237-13:17:19.378 00 SPR-I:OPRO +21-237-13:17:19.378 00 SPR-I:OPRO Start Mnemonic: SCX_CPU1_DS_DF_TBL_Description +21-237-13:17:19.378 00 SPR-I:OPRO Byte Offset: 0 +21-237-13:17:19.378 00 SPR-I:OPRO End Mnemonic: SCX_CPU1_DS_DF_TBL[8].SeqCnt +21-237-13:17:19.378 00 SPR-I:OPRO Number of Bytes: 1976 +21-237-13:17:19.379 00 SPR-I:OPRO +21-237-13:17:19.384 00 SPR-I:STS Loading file /s/opr/accounts/global/prc/partial_cvt_to_file_beta.i +21-237-13:17:19.384 00 SPR-I:STS Procedure PARTIAL_CVT_TO_FILE_BETA started +21-237-13:17:19.385 00 SPR-I:OPRO The unix command is cd /s/opr/accounts/cfs_test/image;cvt2file -s 116 -e 2091 P0F76 ds.file_tbl +21-237-13:17:19.390 00 SPR-I:STS Procedure PARTIAL_CVT_TO_FILE_BETA completed +21-237-13:17:19.390 00 SPR-I:OPRO cd /s/opr/accounts/cfs_test/image;cat ds_badfile3.tbl.tmp ds.file_tbl > ds_badfile3.tbl +21-237-13:17:19.394 00 SPR-I:OPRO cd /s/opr/accounts/cfs_test/image;rm ds.file_tbl ds_badfile3.tbl.tmp +21-237-13:17:19.399 00 SPR-I:STS Procedure CREATE_TBL_FILE_FROM_CVT completed +21-237-13:17:19.399 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/create_tbl_file_from_cvt.i +21-237-13:17:19.399 00 SPR-I:STS Procedure CREATE_TBL_FILE_FROM_CVT started +21-237-13:17:19.401 00 SPR-I:OPRO ********** ds_badfile4.tbl ********** +21-237-13:17:19.401 00 SPR-I:OPRO +21-237-13:17:19.402 00 SPR-I:OPRO Content Type: cFE1 +21-237-13:17:19.402 00 SPR-I:OPRO Sub Type: 8 +21-237-13:17:19.402 00 SPR-I:OPRO Length: 12 +21-237-13:17:19.402 00 SPR-I:OPRO Spacecraft Id: SCX +21-237-13:17:19.402 00 SPR-I:OPRO Processor Id: CPU3 +21-237-13:17:19.402 00 SPR-I:OPRO Application Id: 3958 +21-237-13:17:19.402 00 SPR-I:OPRO Create Time Secs: 1629897439 +21-237-13:17:19.402 00 SPR-I:OPRO Create Time Subsecs: 0 +21-237-13:17:19.402 00 SPR-I:OPRO File Description: Invalid File State Type +21-237-13:17:19.402 00 SPR-I:OPRO +21-237-13:17:19.402 00 SPR-I:OPRO ********** DS.FILE_TBL ********** +21-237-13:17:19.402 00 SPR-I:OPRO +21-237-13:17:19.402 00 SPR-I:OPRO Start Mnemonic: SCX_CPU1_DS_DF_TBL_Description +21-237-13:17:19.402 00 SPR-I:OPRO Byte Offset: 0 +21-237-13:17:19.402 00 SPR-I:OPRO End Mnemonic: SCX_CPU1_DS_DF_TBL[8].SeqCnt +21-237-13:17:19.402 00 SPR-I:OPRO Number of Bytes: 1976 +21-237-13:17:19.402 00 SPR-I:OPRO +21-237-13:17:19.409 00 SPR-I:STS Loading file /s/opr/accounts/global/prc/partial_cvt_to_file_beta.i +21-237-13:17:19.409 00 SPR-I:STS Procedure PARTIAL_CVT_TO_FILE_BETA started +21-237-13:17:19.409 00 SPR-I:OPRO The unix command is cd /s/opr/accounts/cfs_test/image;cvt2file -s 116 -e 2091 P0F76 ds.file_tbl +21-237-13:17:19.414 00 SPR-I:STS Procedure PARTIAL_CVT_TO_FILE_BETA completed +21-237-13:17:19.414 00 SPR-I:OPRO cd /s/opr/accounts/cfs_test/image;cat ds_badfile4.tbl.tmp ds.file_tbl > ds_badfile4.tbl +21-237-13:17:19.419 00 SPR-I:OPRO cd /s/opr/accounts/cfs_test/image;rm ds.file_tbl ds_badfile4.tbl.tmp +21-237-13:17:19.423 00 SPR-I:STS Procedure CREATE_TBL_FILE_FROM_CVT completed +21-237-13:17:19.424 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/create_tbl_file_from_cvt.i +21-237-13:17:19.424 00 SPR-I:STS Procedure CREATE_TBL_FILE_FROM_CVT started +21-237-13:17:19.426 00 SPR-I:OPRO ********** ds_badfile5.tbl ********** +21-237-13:17:19.426 00 SPR-I:OPRO +21-237-13:17:19.426 00 SPR-I:OPRO Content Type: cFE1 +21-237-13:17:19.427 00 SPR-I:OPRO Sub Type: 8 +21-237-13:17:19.427 00 SPR-I:OPRO Length: 12 +21-237-13:17:19.427 00 SPR-I:OPRO Spacecraft Id: SCX +21-237-13:17:19.427 00 SPR-I:OPRO Processor Id: CPU3 +21-237-13:17:19.427 00 SPR-I:OPRO Application Id: 3958 +21-237-13:17:19.427 00 SPR-I:OPRO Create Time Secs: 1629897439 +21-237-13:17:19.427 00 SPR-I:OPRO Create Time Subsecs: 0 +21-237-13:17:19.427 00 SPR-I:OPRO File Description: Invalid File Table Max Size +21-237-13:17:19.427 00 SPR-I:OPRO +21-237-13:17:19.427 00 SPR-I:OPRO ********** DS.FILE_TBL ********** +21-237-13:17:19.427 00 SPR-I:OPRO +21-237-13:17:19.427 00 SPR-I:OPRO Start Mnemonic: SCX_CPU1_DS_DF_TBL_Description +21-237-13:17:19.427 00 SPR-I:OPRO Byte Offset: 0 +21-237-13:17:19.427 00 SPR-I:OPRO End Mnemonic: SCX_CPU1_DS_DF_TBL[8].SeqCnt +21-237-13:17:19.427 00 SPR-I:OPRO Number of Bytes: 1976 +21-237-13:17:19.427 00 SPR-I:OPRO +21-237-13:17:19.433 00 SPR-I:STS Loading file /s/opr/accounts/global/prc/partial_cvt_to_file_beta.i +21-237-13:17:19.433 00 SPR-I:STS Procedure PARTIAL_CVT_TO_FILE_BETA started +21-237-13:17:19.435 00 SPR-I:OPRO The unix command is cd /s/opr/accounts/cfs_test/image;cvt2file -s 116 -e 2091 P0F76 ds.file_tbl +21-237-13:17:19.440 00 SPR-I:STS Procedure PARTIAL_CVT_TO_FILE_BETA completed +21-237-13:17:19.440 00 SPR-I:OPRO cd /s/opr/accounts/cfs_test/image;cat ds_badfile5.tbl.tmp ds.file_tbl > ds_badfile5.tbl +21-237-13:17:19.444 00 SPR-I:OPRO cd /s/opr/accounts/cfs_test/image;rm ds.file_tbl ds_badfile5.tbl.tmp +21-237-13:17:19.448 00 SPR-I:STS Procedure CREATE_TBL_FILE_FROM_CVT completed +21-237-13:17:19.449 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/create_tbl_file_from_cvt.i +21-237-13:17:19.449 00 SPR-I:STS Procedure CREATE_TBL_FILE_FROM_CVT started +21-237-13:17:19.452 00 SPR-I:OPRO ********** ds_badfile6.tbl ********** +21-237-13:17:19.452 00 SPR-I:OPRO +21-237-13:17:19.452 00 SPR-I:OPRO Content Type: cFE1 +21-237-13:17:19.452 00 SPR-I:OPRO Sub Type: 8 +21-237-13:17:19.452 00 SPR-I:OPRO Length: 12 +21-237-13:17:19.452 00 SPR-I:OPRO Spacecraft Id: SCX +21-237-13:17:19.452 00 SPR-I:OPRO Processor Id: CPU3 +21-237-13:17:19.452 00 SPR-I:OPRO Application Id: 3958 +21-237-13:17:19.452 00 SPR-I:OPRO Create Time Secs: 1629897439 +21-237-13:17:19.452 00 SPR-I:OPRO Create Time Subsecs: 0 +21-237-13:17:19.452 00 SPR-I:OPRO File Description: Invalid File Table Max Age +21-237-13:17:19.452 00 SPR-I:OPRO +21-237-13:17:19.452 00 SPR-I:OPRO ********** DS.FILE_TBL ********** +21-237-13:17:19.453 00 SPR-I:OPRO +21-237-13:17:19.453 00 SPR-I:OPRO Start Mnemonic: SCX_CPU1_DS_DF_TBL_Description +21-237-13:17:19.453 00 SPR-I:OPRO Byte Offset: 0 +21-237-13:17:19.453 00 SPR-I:OPRO End Mnemonic: SCX_CPU1_DS_DF_TBL[8].SeqCnt +21-237-13:17:19.453 00 SPR-I:OPRO Number of Bytes: 1976 +21-237-13:17:19.453 00 SPR-I:OPRO +21-237-13:17:19.458 00 SPR-I:STS Loading file /s/opr/accounts/global/prc/partial_cvt_to_file_beta.i +21-237-13:17:19.458 00 SPR-I:STS Procedure PARTIAL_CVT_TO_FILE_BETA started +21-237-13:17:19.459 00 SPR-I:OPRO The unix command is cd /s/opr/accounts/cfs_test/image;cvt2file -s 116 -e 2091 P0F76 ds.file_tbl +21-237-13:17:19.464 00 SPR-I:STS Procedure PARTIAL_CVT_TO_FILE_BETA completed +21-237-13:17:19.464 00 SPR-I:OPRO cd /s/opr/accounts/cfs_test/image;cat ds_badfile6.tbl.tmp ds.file_tbl > ds_badfile6.tbl +21-237-13:17:19.468 00 SPR-I:OPRO cd /s/opr/accounts/cfs_test/image;rm ds.file_tbl ds_badfile6.tbl.tmp +21-237-13:17:19.471 00 SPR-I:STS Procedure CREATE_TBL_FILE_FROM_CVT completed +21-237-13:17:19.472 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/create_tbl_file_from_cvt.i +21-237-13:17:19.472 00 SPR-I:STS Procedure CREATE_TBL_FILE_FROM_CVT started +21-237-13:17:19.474 00 SPR-I:OPRO ********** ds_badfile7.tbl ********** +21-237-13:17:19.474 00 SPR-I:OPRO +21-237-13:17:19.474 00 SPR-I:OPRO Content Type: cFE1 +21-237-13:17:19.474 00 SPR-I:OPRO Sub Type: 8 +21-237-13:17:19.474 00 SPR-I:OPRO Length: 12 +21-237-13:17:19.475 00 SPR-I:OPRO Spacecraft Id: SCX +21-237-13:17:19.475 00 SPR-I:OPRO Processor Id: CPU3 +21-237-13:17:19.475 00 SPR-I:OPRO Application Id: 3958 +21-237-13:17:19.475 00 SPR-I:OPRO Create Time Secs: 1629897439 +21-237-13:17:19.475 00 SPR-I:OPRO Create Time Subsecs: 0 +21-237-13:17:19.475 00 SPR-I:OPRO File Description: Invalid File Table Extension +21-237-13:17:19.475 00 SPR-I:OPRO +21-237-13:17:19.475 00 SPR-I:OPRO ********** DS.FILE_TBL ********** +21-237-13:17:19.475 00 SPR-I:OPRO +21-237-13:17:19.475 00 SPR-I:OPRO Start Mnemonic: SCX_CPU1_DS_DF_TBL_Description +21-237-13:17:19.475 00 SPR-I:OPRO Byte Offset: 0 +21-237-13:17:19.475 00 SPR-I:OPRO End Mnemonic: SCX_CPU1_DS_DF_TBL[8].SeqCnt +21-237-13:17:19.475 00 SPR-I:OPRO Number of Bytes: 1976 +21-237-13:17:19.475 00 SPR-I:OPRO +21-237-13:17:19.483 00 SPR-I:STS Loading file /s/opr/accounts/global/prc/partial_cvt_to_file_beta.i +21-237-13:17:19.484 00 SPR-I:STS Procedure PARTIAL_CVT_TO_FILE_BETA started +21-237-13:17:19.484 00 SPR-I:OPRO The unix command is cd /s/opr/accounts/cfs_test/image;cvt2file -s 116 -e 2091 P0F76 ds.file_tbl +21-237-13:17:19.489 00 SPR-I:STS Procedure PARTIAL_CVT_TO_FILE_BETA completed +21-237-13:17:19.489 00 SPR-I:OPRO cd /s/opr/accounts/cfs_test/image;cat ds_badfile7.tbl.tmp ds.file_tbl > ds_badfile7.tbl +21-237-13:17:19.493 00 SPR-I:OPRO cd /s/opr/accounts/cfs_test/image;rm ds.file_tbl ds_badfile7.tbl.tmp +21-237-13:17:19.500 00 SPR-I:STS Procedure CREATE_TBL_FILE_FROM_CVT completed +21-237-13:17:19.501 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/create_tbl_file_from_cvt.i +21-237-13:17:19.501 00 SPR-I:STS Procedure CREATE_TBL_FILE_FROM_CVT started +21-237-13:17:19.503 00 SPR-I:OPRO ********** ds_badfile8.tbl ********** +21-237-13:17:19.503 00 SPR-I:OPRO +21-237-13:17:19.503 00 SPR-I:OPRO Content Type: cFE1 +21-237-13:17:19.503 00 SPR-I:OPRO Sub Type: 8 +21-237-13:17:19.503 00 SPR-I:OPRO Length: 12 +21-237-13:17:19.504 00 SPR-I:OPRO Spacecraft Id: SCX +21-237-13:17:19.504 00 SPR-I:OPRO Processor Id: CPU3 +21-237-13:17:19.504 00 SPR-I:OPRO Application Id: 3958 +21-237-13:17:19.504 00 SPR-I:OPRO Create Time Secs: 1629897439 +21-237-13:17:19.504 00 SPR-I:OPRO Create Time Subsecs: 0 +21-237-13:17:19.504 00 SPR-I:OPRO File Description: Invalid Sequence Num1 +21-237-13:17:19.504 00 SPR-I:OPRO +21-237-13:17:19.504 00 SPR-I:OPRO ********** DS.FILE_TBL ********** +21-237-13:17:19.504 00 SPR-I:OPRO +21-237-13:17:19.504 00 SPR-I:OPRO Start Mnemonic: SCX_CPU1_DS_DF_TBL_Description +21-237-13:17:19.504 00 SPR-I:OPRO Byte Offset: 0 +21-237-13:17:19.504 00 SPR-I:OPRO End Mnemonic: SCX_CPU1_DS_DF_TBL[8].SeqCnt +21-237-13:17:19.504 00 SPR-I:OPRO Number of Bytes: 1976 +21-237-13:17:19.504 00 SPR-I:OPRO +21-237-13:17:19.510 00 SPR-I:STS Loading file /s/opr/accounts/global/prc/partial_cvt_to_file_beta.i +21-237-13:17:19.510 00 SPR-I:STS Procedure PARTIAL_CVT_TO_FILE_BETA started +21-237-13:17:19.511 00 SPR-I:OPRO The unix command is cd /s/opr/accounts/cfs_test/image;cvt2file -s 116 -e 2091 P0F76 ds.file_tbl +21-237-13:17:19.515 00 SPR-I:STS Procedure PARTIAL_CVT_TO_FILE_BETA completed +21-237-13:17:19.515 00 SPR-I:OPRO cd /s/opr/accounts/cfs_test/image;cat ds_badfile8.tbl.tmp ds.file_tbl > ds_badfile8.tbl +21-237-13:17:19.519 00 SPR-I:OPRO cd /s/opr/accounts/cfs_test/image;rm ds.file_tbl ds_badfile8.tbl.tmp +21-237-13:17:19.526 00 SPR-I:STS Procedure CREATE_TBL_FILE_FROM_CVT completed +21-237-13:17:19.527 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/create_tbl_file_from_cvt.i +21-237-13:17:19.527 00 SPR-I:STS Procedure CREATE_TBL_FILE_FROM_CVT started +21-237-13:17:19.529 00 SPR-I:OPRO ********** ds_badfile9.tbl ********** +21-237-13:17:19.529 00 SPR-I:OPRO +21-237-13:17:19.529 00 SPR-I:OPRO Content Type: cFE1 +21-237-13:17:19.529 00 SPR-I:OPRO Sub Type: 8 +21-237-13:17:19.529 00 SPR-I:OPRO Length: 12 +21-237-13:17:19.530 00 SPR-I:OPRO Spacecraft Id: SCX +21-237-13:17:19.530 00 SPR-I:OPRO Processor Id: CPU3 +21-237-13:17:19.530 00 SPR-I:OPRO Application Id: 3958 +21-237-13:17:19.530 00 SPR-I:OPRO Create Time Secs: 1629897439 +21-237-13:17:19.530 00 SPR-I:OPRO Create Time Subsecs: 0 +21-237-13:17:19.530 00 SPR-I:OPRO File Description: Invalid Sequence Num2 +21-237-13:17:19.530 00 SPR-I:OPRO +21-237-13:17:19.530 00 SPR-I:OPRO ********** DS.FILE_TBL ********** +21-237-13:17:19.530 00 SPR-I:OPRO +21-237-13:17:19.530 00 SPR-I:OPRO Start Mnemonic: SCX_CPU1_DS_DF_TBL_Description +21-237-13:17:19.530 00 SPR-I:OPRO Byte Offset: 0 +21-237-13:17:19.530 00 SPR-I:OPRO End Mnemonic: SCX_CPU1_DS_DF_TBL[8].SeqCnt +21-237-13:17:19.530 00 SPR-I:OPRO Number of Bytes: 1976 +21-237-13:17:19.530 00 SPR-I:OPRO +21-237-13:17:19.535 00 SPR-I:STS Loading file /s/opr/accounts/global/prc/partial_cvt_to_file_beta.i +21-237-13:17:19.536 00 SPR-I:STS Procedure PARTIAL_CVT_TO_FILE_BETA started +21-237-13:17:19.536 00 SPR-I:OPRO The unix command is cd /s/opr/accounts/cfs_test/image;cvt2file -s 116 -e 2091 P0F76 ds.file_tbl +21-237-13:17:19.542 00 SPR-I:STS Procedure PARTIAL_CVT_TO_FILE_BETA completed +21-237-13:17:19.542 00 SPR-I:OPRO cd /s/opr/accounts/cfs_test/image;cat ds_badfile9.tbl.tmp ds.file_tbl > ds_badfile9.tbl +21-237-13:17:19.546 00 SPR-I:OPRO cd /s/opr/accounts/cfs_test/image;rm ds.file_tbl ds_badfile9.tbl.tmp +21-237-13:17:19.550 00 SPR-I:STS Procedure CREATE_TBL_FILE_FROM_CVT completed +21-237-13:17:19.550 00 SPR-I:OPRO ;********************************************************************* +21-237-13:17:19.550 00 SPR-I:OPRO ; End procedure SCX_CPU1_ds_badfiletbls +21-237-13:17:19.550 00 SPR-I:OPRO ;********************************************************************* +21-237-13:17:19.550 00 SPR-I:STS Procedure SCX_CPU1_DS_BADFILETBLS completed +21-237-13:17:19.551 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:17:24.556 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:17:24.556 00 SPR-I:OPRO ; Step 5.4: Loop for each file created above. +21-237-13:17:24.556 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:17:24.556 00 SPR-I:OPRO ; Step 5.4.1: Send the Table Services command to load the next file. +21-237-13:17:24.556 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:17:24.561 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:17:24.561 00 SPR-I:OPRO ; Setup event 1 with CFE_TBL INFO 12 +21-237-13:17:24.561 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:17:24.562 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/load_table.i +21-237-13:17:24.562 00 SPR-I:STS Procedure LOAD_TABLE started +21-237-13:17:24.564 00 SPR-I:OPRO Table Filename: ds_badfile1.tbl +21-237-13:17:24.564 00 SPR-I:OPRO The perl command is: perl /s/opr/accounts/global/tools/table_ftp.pl 192.168.1.8 ds_badfile1.tbl RAM:0 3 +21-237-13:17:24.564 00 SPR-I:OPRO +21-237-13:17:24.693 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-237-13:17:24.693 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:17:29.698 00 SPR-I:OPRO +21-237-13:17:29.701 00 SPR-I:OPRO Sending Command: /SCX_CPU1_TBL_LOAD LFILENAME="/ram/ds_badfile1.tbl" +21-237-13:17:29.703 00 CMH-I:CMD Command is /SCX_CPU1_TBL_LOAD LFILENAME="/ram/ds_badfile1.tbl" ;;; (SCX CPU1 TBL load table command) +21-237-13:17:29.703 00 CMH-I:CMD Command SFDU received:<1804C000004102522F72616D2F64735F62616466696C65312E74626C0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-237-13:17:29.726 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:17:30.163 00 TLMH-I:STS 58-012-14:10:04.001 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=12 Successful load of '/ram/ds_badfile1.tbl' into 'DS.FILE_TBL' working buffer +21-237-13:17:30.727 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:17:30.729 00 SPR-I:STS Procedure LOAD_TABLE completed +21-237-13:17:30.735 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:17:30.735 00 SPR-I:OPRO <*> Passed - Load command for Invalid Destination File Table sent successfully. +21-237-13:17:30.735 00 SPR-I:OPRO <*> Passed - Event Msg 12 Found! +21-237-13:17:30.736 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:17:30.736 00 SPR-I:OPRO ; Send the Table Services command to validate the inactive buffer. +21-237-13:17:30.736 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:17:30.742 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:17:30.742 00 SPR-I:OPRO ; Setup event 1 with CFE_TBL DEBUG 16 +21-237-13:17:30.742 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:17:30.744 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:17:30.745 00 SPR-I:OPRO ; Setup event 2 with CFE_TBL ERROR 96 +21-237-13:17:30.745 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:17:30.747 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:17:30.747 00 SPR-I:OPRO ; Setup event 3 with DS ERROR 11 +21-237-13:17:30.747 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:17:30.749 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:17:30.750 00 SPR-I:OPRO ; Setup event 4 with DS INFO 10 +21-237-13:17:30.750 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:17:30.751 00 CMH-I:CMD Command is /SCX_CPU1_TBL_VALIDATE INACTIVE VTABLENAME="DS.FILE_TBL" ;;; (SCX CPU1 TBL validate table command) +21-237-13:17:30.751 00 CMH-I:CMD Command SFDU received:<1804C000002B0436000044532E46494C455F54424C0000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-237-13:17:30.766 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:17:31.157 00 TLMH-I:STS 58-012-14:10:05.001 DEBUG CPU=CPU1 APPNAME=CFE_TBL EVENT ID=16 Tbl Services issued validation request for 'DS.FILE_TBL' +21-237-13:17:34.165 00 TLMH-I:STS 58-012-14:10:08.003 ERROR CPU=CPU1 APPNAME=DS EVENT ID=11 Destination file table verify err: invalid descriptor text +21-237-13:17:34.166 00 TLMH-I:STS 58-012-14:10:08.004 ERROR CPU=CPU1 APPNAME=DS EVENT ID=11 Destination file table verify err: index = 0, invalid pathname text +21-237-13:17:34.168 00 TLMH-I:STS 58-012-14:10:08.004 INFO CPU=CPU1 APPNAME=DS EVENT ID=10 Destination file table verify results: desc text = bad, good entries = 1, bad = 8, unused = 7 +21-237-13:17:34.169 00 TLMH-I:STS 58-012-14:10:08.004 ERROR CPU=CPU1 APPNAME=CFE_TBL EVENT ID=96 DS validation failed for Inactive 'DS.FILE_TBL', Status=0xFFFFFFFF +21-237-13:17:34.771 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:17:34.773 00 SPR-I:OPRO <*> Passed - Packet Filter Table validate command sent. +21-237-13:17:34.774 00 SPR-I:OPRO <*> Passed - Event Msg 16 Found! +21-237-13:17:34.787 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:17:34.790 00 SPR-I:OPRO <*> Passed (9007) - Destination File Table validation failed as expected. +21-237-13:17:34.794 00 SPR-I:OPRO <*> Passed - Validation Event Msg rcv'd +21-237-13:17:34.795 00 SPR-I:OPRO <*> Passed - Validation Summary Event Msg rcv'd +21-237-13:17:34.795 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:17:34.795 00 SPR-I:OPRO ; Send the Table Services Load Abort command to release the buffer. +21-237-13:17:34.809 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:17:34.812 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:17:34.812 00 SPR-I:OPRO ; Setup event 1 with CFE_TBL INFO 21 +21-237-13:17:34.812 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:17:34.813 00 CMH-I:CMD Command is /SCX_CPU1_TBL_LOADABORT ABTABLENAME="DS.FILE_TBL" ;;; (SCX CPU1 TBL Abort Loading of a table) +21-237-13:17:34.813 00 CMH-I:CMD Command SFDU received:<1804C0000029093944532E46494C455F54424C0000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-237-13:17:34.827 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:17:35.165 00 TLMH-I:STS 58-012-14:10:09.001 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=21 Table Load Aborted for 'DS.FILE_TBL' +21-237-13:17:38.832 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:17:38.834 00 SPR-I:OPRO <*> Passed - Load abort command sent successfully. +21-237-13:17:38.835 00 SPR-I:OPRO <*> Passed - Event Msg 21 Found! +21-237-13:17:38.838 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:17:38.838 00 SPR-I:OPRO ; Setup event 1 with CFE_TBL INFO 12 +21-237-13:17:38.838 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:17:38.839 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/load_table.i +21-237-13:17:38.840 00 SPR-I:STS Procedure LOAD_TABLE started +21-237-13:17:38.841 00 SPR-I:OPRO Table Filename: ds_badfile2.tbl +21-237-13:17:38.842 00 SPR-I:OPRO The perl command is: perl /s/opr/accounts/global/tools/table_ftp.pl 192.168.1.8 ds_badfile2.tbl RAM:0 3 +21-237-13:17:38.842 00 SPR-I:OPRO +21-237-13:17:38.980 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-237-13:17:38.981 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:17:43.984 00 SPR-I:OPRO +21-237-13:17:43.987 00 SPR-I:OPRO Sending Command: /SCX_CPU1_TBL_LOAD LFILENAME="/ram/ds_badfile2.tbl" +21-237-13:17:43.988 00 CMH-I:CMD Command is /SCX_CPU1_TBL_LOAD LFILENAME="/ram/ds_badfile2.tbl" ;;; (SCX CPU1 TBL load table command) +21-237-13:17:43.989 00 CMH-I:CMD Command SFDU received:<1804C000004102512F72616D2F64735F62616466696C65322E74626C0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-237-13:17:44.004 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:17:44.162 00 TLMH-I:STS 58-012-14:10:18.001 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=12 Successful load of '/ram/ds_badfile2.tbl' into 'DS.FILE_TBL' working buffer +21-237-13:17:47.008 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:17:47.010 00 SPR-I:STS Procedure LOAD_TABLE completed +21-237-13:17:47.015 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:17:47.016 00 SPR-I:OPRO <*> Passed - Load command for Invalid Destination File Table sent successfully. +21-237-13:17:47.016 00 SPR-I:OPRO <*> Passed - Event Msg 12 Found! +21-237-13:17:47.016 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:17:47.016 00 SPR-I:OPRO ; Send the Table Services command to validate the inactive buffer. +21-237-13:17:47.016 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:17:47.022 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:17:47.022 00 SPR-I:OPRO ; Setup event 1 with CFE_TBL DEBUG 16 +21-237-13:17:47.022 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:17:47.024 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:17:47.024 00 SPR-I:OPRO ; Setup event 2 with CFE_TBL ERROR 96 +21-237-13:17:47.024 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:17:47.026 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:17:47.026 00 SPR-I:OPRO ; Setup event 3 with DS ERROR 11 +21-237-13:17:47.026 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:17:47.028 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:17:47.028 00 SPR-I:OPRO ; Setup event 4 with DS INFO 10 +21-237-13:17:47.028 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:17:47.030 00 CMH-I:CMD Command is /SCX_CPU1_TBL_VALIDATE INACTIVE VTABLENAME="DS.FILE_TBL" ;;; (SCX CPU1 TBL validate table command) +21-237-13:17:47.030 00 CMH-I:CMD Command SFDU received:<1804C000002B0436000044532E46494C455F54424C0000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-237-13:17:47.036 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:17:47.160 00 TLMH-I:STS 58-012-14:10:21.001 DEBUG CPU=CPU1 APPNAME=CFE_TBL EVENT ID=16 Tbl Services issued validation request for 'DS.FILE_TBL' +21-237-13:17:50.158 00 TLMH-I:STS 58-012-14:10:24.003 ERROR CPU=CPU1 APPNAME=DS EVENT ID=11 Destination file table verify err: index = 0, invalid pathname text +21-237-13:17:50.160 00 TLMH-I:STS 58-012-14:10:24.004 INFO CPU=CPU1 APPNAME=DS EVENT ID=10 Destination file table verify results: desc text = OK, good entries = 1, bad = 8, unused = 7 +21-237-13:17:50.161 00 TLMH-I:STS 58-012-14:10:24.004 ERROR CPU=CPU1 APPNAME=CFE_TBL EVENT ID=96 DS validation failed for Inactive 'DS.FILE_TBL', Status=0xFFFFFFFF +21-237-13:17:51.041 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:17:51.043 00 SPR-I:OPRO <*> Passed - Packet Filter Table validate command sent. +21-237-13:17:51.044 00 SPR-I:OPRO <*> Passed - Event Msg 16 Found! +21-237-13:17:51.049 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:17:51.049 00 SPR-I:OPRO <*> Passed (9007) - Destination File Table validation failed as expected. +21-237-13:17:51.054 00 SPR-I:OPRO <*> Passed - Validation Event Msg rcv'd +21-237-13:17:51.054 00 SPR-I:OPRO <*> Passed - Validation Summary Event Msg rcv'd +21-237-13:17:51.055 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:17:51.055 00 SPR-I:OPRO ; Send the Table Services Load Abort command to release the buffer. +21-237-13:17:51.055 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:17:51.057 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:17:51.057 00 SPR-I:OPRO ; Setup event 1 with CFE_TBL INFO 21 +21-237-13:17:51.057 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:17:51.059 00 CMH-I:CMD Command is /SCX_CPU1_TBL_LOADABORT ABTABLENAME="DS.FILE_TBL" ;;; (SCX CPU1 TBL Abort Loading of a table) +21-237-13:17:51.059 00 CMH-I:CMD Command SFDU received:<1804C0000029093944532E46494C455F54424C0000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-237-13:17:51.073 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:17:51.656 00 TLMH-I:STS 58-012-14:10:25.500 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=21 Table Load Aborted for 'DS.FILE_TBL' +21-237-13:17:55.077 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:17:55.078 00 SPR-I:OPRO <*> Passed - Load abort command sent successfully. +21-237-13:17:55.078 00 SPR-I:OPRO <*> Passed - Event Msg 21 Found! +21-237-13:17:55.081 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:17:55.082 00 SPR-I:OPRO ; Setup event 1 with CFE_TBL INFO 12 +21-237-13:17:55.082 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:17:55.083 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/load_table.i +21-237-13:17:55.086 00 SPR-I:STS Procedure LOAD_TABLE started +21-237-13:17:55.088 00 SPR-I:OPRO Table Filename: ds_badfile3.tbl +21-237-13:17:55.091 00 SPR-I:OPRO The perl command is: perl /s/opr/accounts/global/tools/table_ftp.pl 192.168.1.8 ds_badfile3.tbl RAM:0 3 +21-237-13:17:55.091 00 SPR-I:OPRO +21-237-13:17:55.238 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-237-13:17:55.238 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:18:00.244 00 SPR-I:OPRO +21-237-13:18:00.247 00 SPR-I:OPRO Sending Command: /SCX_CPU1_TBL_LOAD LFILENAME="/ram/ds_badfile3.tbl" +21-237-13:18:00.248 00 CMH-I:CMD Command is /SCX_CPU1_TBL_LOAD LFILENAME="/ram/ds_badfile3.tbl" ;;; (SCX CPU1 TBL load table command) +21-237-13:18:00.249 00 CMH-I:CMD Command SFDU received:<1804C000004102502F72616D2F64735F62616466696C65332E74626C0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-237-13:18:00.272 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:18:00.656 00 TLMH-I:STS 58-012-14:10:34.501 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=12 Successful load of '/ram/ds_badfile3.tbl' into 'DS.FILE_TBL' working buffer +21-237-13:18:02.275 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:18:02.276 00 SPR-I:STS Procedure LOAD_TABLE completed +21-237-13:18:02.282 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:18:02.283 00 SPR-I:OPRO <*> Passed - Load command for Invalid Destination File Table sent successfully. +21-237-13:18:02.283 00 SPR-I:OPRO <*> Passed - Event Msg 12 Found! +21-237-13:18:02.283 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:02.283 00 SPR-I:OPRO ; Send the Table Services command to validate the inactive buffer. +21-237-13:18:02.283 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:02.284 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:02.284 00 SPR-I:OPRO ; Setup event 1 with CFE_TBL DEBUG 16 +21-237-13:18:02.284 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:02.288 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:02.288 00 SPR-I:OPRO ; Setup event 2 with CFE_TBL ERROR 96 +21-237-13:18:02.288 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:02.290 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:02.290 00 SPR-I:OPRO ; Setup event 3 with DS ERROR 11 +21-237-13:18:02.290 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:02.292 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:02.292 00 SPR-I:OPRO ; Setup event 4 with DS INFO 10 +21-237-13:18:02.292 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:02.293 00 CMH-I:CMD Command is /SCX_CPU1_TBL_VALIDATE INACTIVE VTABLENAME="DS.FILE_TBL" ;;; (SCX CPU1 TBL validate table command) +21-237-13:18:02.293 00 CMH-I:CMD Command SFDU received:<1804C000002B0436000044532E46494C455F54424C0000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-237-13:18:02.307 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:18:02.662 00 TLMH-I:STS 58-012-14:10:36.501 DEBUG CPU=CPU1 APPNAME=CFE_TBL EVENT ID=16 Tbl Services issued validation request for 'DS.FILE_TBL' +21-237-13:18:06.164 00 TLMH-I:STS 58-012-14:10:40.003 ERROR CPU=CPU1 APPNAME=DS EVENT ID=11 Destination file table verify err: index = 1, filename type = 3 +21-237-13:18:06.165 00 TLMH-I:STS 58-012-14:10:40.004 INFO CPU=CPU1 APPNAME=DS EVENT ID=10 Destination file table verify results: desc text = OK, good entries = 2, bad = 7, unused = 7 +21-237-13:18:06.166 00 TLMH-I:STS 58-012-14:10:40.004 ERROR CPU=CPU1 APPNAME=CFE_TBL EVENT ID=96 DS validation failed for Inactive 'DS.FILE_TBL', Status=0xFFFFFFFF +21-237-13:18:06.312 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:18:06.314 00 SPR-I:OPRO <*> Passed - Packet Filter Table validate command sent. +21-237-13:18:06.315 00 SPR-I:OPRO <*> Passed - Event Msg 16 Found! +21-237-13:18:06.330 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:18:06.332 00 SPR-I:OPRO <*> Passed (9007) - Destination File Table validation failed as expected. +21-237-13:18:06.337 00 SPR-I:OPRO <*> Passed - Validation Event Msg rcv'd +21-237-13:18:06.338 00 SPR-I:OPRO <*> Passed - Validation Summary Event Msg rcv'd +21-237-13:18:06.338 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:06.338 00 SPR-I:OPRO ; Send the Table Services Load Abort command to release the buffer. +21-237-13:18:06.357 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:06.362 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:06.362 00 SPR-I:OPRO ; Setup event 1 with CFE_TBL INFO 21 +21-237-13:18:06.362 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:06.363 00 CMH-I:CMD Command is /SCX_CPU1_TBL_LOADABORT ABTABLENAME="DS.FILE_TBL" ;;; (SCX CPU1 TBL Abort Loading of a table) +21-237-13:18:06.363 00 CMH-I:CMD Command SFDU received:<1804C0000029093944532E46494C455F54424C0000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-237-13:18:06.368 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:18:06.663 00 TLMH-I:STS 58-012-14:10:40.500 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=21 Table Load Aborted for 'DS.FILE_TBL' +21-237-13:18:10.373 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:18:10.375 00 SPR-I:OPRO <*> Passed - Load abort command sent successfully. +21-237-13:18:10.377 00 SPR-I:OPRO <*> Passed - Event Msg 21 Found! +21-237-13:18:10.380 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:10.380 00 SPR-I:OPRO ; Setup event 1 with CFE_TBL INFO 12 +21-237-13:18:10.380 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:10.381 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/load_table.i +21-237-13:18:10.382 00 SPR-I:STS Procedure LOAD_TABLE started +21-237-13:18:10.383 00 SPR-I:OPRO Table Filename: ds_badfile4.tbl +21-237-13:18:10.384 00 SPR-I:OPRO The perl command is: perl /s/opr/accounts/global/tools/table_ftp.pl 192.168.1.8 ds_badfile4.tbl RAM:0 3 +21-237-13:18:10.384 00 SPR-I:OPRO +21-237-13:18:10.519 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-237-13:18:10.519 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:18:15.523 00 SPR-I:OPRO +21-237-13:18:15.527 00 SPR-I:OPRO Sending Command: /SCX_CPU1_TBL_LOAD LFILENAME="/ram/ds_badfile4.tbl" +21-237-13:18:15.529 00 CMH-I:CMD Command is /SCX_CPU1_TBL_LOAD LFILENAME="/ram/ds_badfile4.tbl" ;;; (SCX CPU1 TBL load table command) +21-237-13:18:15.529 00 CMH-I:CMD Command SFDU received:<1804C000004102572F72616D2F64735F62616466696C65342E74626C0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-237-13:18:15.546 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:18:15.658 00 TLMH-I:STS 58-012-14:10:49.501 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=12 Successful load of '/ram/ds_badfile4.tbl' into 'DS.FILE_TBL' working buffer +21-237-13:18:18.550 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:18:18.551 00 SPR-I:STS Procedure LOAD_TABLE completed +21-237-13:18:18.559 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:18:18.559 00 SPR-I:OPRO <*> Passed - Load command for Invalid Destination File Table sent successfully. +21-237-13:18:18.560 00 SPR-I:OPRO <*> Passed - Event Msg 12 Found! +21-237-13:18:18.560 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:18.560 00 SPR-I:OPRO ; Send the Table Services command to validate the inactive buffer. +21-237-13:18:18.560 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:18.561 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:18.562 00 SPR-I:OPRO ; Setup event 1 with CFE_TBL DEBUG 16 +21-237-13:18:18.562 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:18.566 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:18.566 00 SPR-I:OPRO ; Setup event 2 with CFE_TBL ERROR 96 +21-237-13:18:18.566 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:18.568 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:18.568 00 SPR-I:OPRO ; Setup event 3 with DS ERROR 11 +21-237-13:18:18.568 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:18.570 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:18.570 00 SPR-I:OPRO ; Setup event 4 with DS INFO 10 +21-237-13:18:18.570 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:18.571 00 CMH-I:CMD Command is /SCX_CPU1_TBL_VALIDATE INACTIVE VTABLENAME="DS.FILE_TBL" ;;; (SCX CPU1 TBL validate table command) +21-237-13:18:18.571 00 CMH-I:CMD Command SFDU received:<1804C000002B0436000044532E46494C455F54424C0000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-237-13:18:18.576 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:18:19.158 00 TLMH-I:STS 58-012-14:10:53.001 DEBUG CPU=CPU1 APPNAME=CFE_TBL EVENT ID=16 Tbl Services issued validation request for 'DS.FILE_TBL' +21-237-13:18:22.157 00 TLMH-I:STS 58-012-14:10:56.003 ERROR CPU=CPU1 APPNAME=DS EVENT ID=11 Destination file table verify err: index = 2, file enable state = 2 +21-237-13:18:22.159 00 TLMH-I:STS 58-012-14:10:56.004 INFO CPU=CPU1 APPNAME=DS EVENT ID=10 Destination file table verify results: desc text = OK, good entries = 3, bad = 6, unused = 7 +21-237-13:18:22.160 00 TLMH-I:STS 58-012-14:10:56.004 ERROR CPU=CPU1 APPNAME=CFE_TBL EVENT ID=96 DS validation failed for Inactive 'DS.FILE_TBL', Status=0xFFFFFFFF +21-237-13:18:22.581 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:18:22.583 00 SPR-I:OPRO <*> Passed - Packet Filter Table validate command sent. +21-237-13:18:22.583 00 SPR-I:OPRO <*> Passed - Event Msg 16 Found! +21-237-13:18:22.588 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:18:22.589 00 SPR-I:OPRO <*> Passed (9007) - Destination File Table validation failed as expected. +21-237-13:18:22.590 00 SPR-I:OPRO <*> Passed - Validation Event Msg rcv'd +21-237-13:18:22.590 00 SPR-I:OPRO <*> Passed - Validation Summary Event Msg rcv'd +21-237-13:18:22.590 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:22.590 00 SPR-I:OPRO ; Send the Table Services Load Abort command to release the buffer. +21-237-13:18:22.596 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:22.597 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:22.597 00 SPR-I:OPRO ; Setup event 1 with CFE_TBL INFO 21 +21-237-13:18:22.598 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:22.598 00 CMH-I:CMD Command is /SCX_CPU1_TBL_LOADABORT ABTABLENAME="DS.FILE_TBL" ;;; (SCX CPU1 TBL Abort Loading of a table) +21-237-13:18:22.598 00 CMH-I:CMD Command SFDU received:<1804C0000029093944532E46494C455F54424C0000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-237-13:18:22.613 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:18:23.163 00 TLMH-I:STS 58-012-14:10:57.001 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=21 Table Load Aborted for 'DS.FILE_TBL' +21-237-13:18:26.617 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:18:26.619 00 SPR-I:OPRO <*> Passed - Load abort command sent successfully. +21-237-13:18:26.620 00 SPR-I:OPRO <*> Passed - Event Msg 21 Found! +21-237-13:18:26.625 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:26.625 00 SPR-I:OPRO ; Setup event 1 with CFE_TBL INFO 12 +21-237-13:18:26.625 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:26.625 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/load_table.i +21-237-13:18:26.628 00 SPR-I:STS Procedure LOAD_TABLE started +21-237-13:18:26.629 00 SPR-I:OPRO Table Filename: ds_badfile5.tbl +21-237-13:18:26.630 00 SPR-I:OPRO The perl command is: perl /s/opr/accounts/global/tools/table_ftp.pl 192.168.1.8 ds_badfile5.tbl RAM:0 3 +21-237-13:18:26.630 00 SPR-I:OPRO +21-237-13:18:26.764 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-237-13:18:26.764 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:18:31.769 00 SPR-I:OPRO +21-237-13:18:31.770 00 SPR-I:OPRO Sending Command: /SCX_CPU1_TBL_LOAD LFILENAME="/ram/ds_badfile5.tbl" +21-237-13:18:31.771 00 CMH-I:CMD Command is /SCX_CPU1_TBL_LOAD LFILENAME="/ram/ds_badfile5.tbl" ;;; (SCX CPU1 TBL load table command) +21-237-13:18:31.771 00 CMH-I:CMD Command SFDU received:<1804C000004102562F72616D2F64735F62616466696C65352E74626C0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-237-13:18:31.787 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:18:32.164 00 TLMH-I:STS 58-012-14:11:06.001 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=12 Successful load of '/ram/ds_badfile5.tbl' into 'DS.FILE_TBL' working buffer +21-237-13:18:34.790 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:18:34.791 00 SPR-I:STS Procedure LOAD_TABLE completed +21-237-13:18:34.796 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:18:34.796 00 SPR-I:OPRO <*> Passed - Load command for Invalid Destination File Table sent successfully. +21-237-13:18:34.796 00 SPR-I:OPRO <*> Passed - Event Msg 12 Found! +21-237-13:18:34.797 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:34.797 00 SPR-I:OPRO ; Send the Table Services command to validate the inactive buffer. +21-237-13:18:34.797 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:34.798 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:34.798 00 SPR-I:OPRO ; Setup event 1 with CFE_TBL DEBUG 16 +21-237-13:18:34.798 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:34.802 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:34.803 00 SPR-I:OPRO ; Setup event 2 with CFE_TBL ERROR 96 +21-237-13:18:34.803 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:34.804 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:34.805 00 SPR-I:OPRO ; Setup event 3 with DS ERROR 11 +21-237-13:18:34.805 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:34.807 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:34.807 00 SPR-I:OPRO ; Setup event 4 with DS INFO 10 +21-237-13:18:34.807 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:34.807 00 CMH-I:CMD Command is /SCX_CPU1_TBL_VALIDATE INACTIVE VTABLENAME="DS.FILE_TBL" ;;; (SCX CPU1 TBL validate table command) +21-237-13:18:34.808 00 CMH-I:CMD Command SFDU received:<1804C000002B0436000044532E46494C455F54424C0000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-237-13:18:34.822 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:18:35.165 00 TLMH-I:STS 58-012-14:11:09.001 DEBUG CPU=CPU1 APPNAME=CFE_TBL EVENT ID=16 Tbl Services issued validation request for 'DS.FILE_TBL' +21-237-13:18:38.163 00 TLMH-I:STS 58-012-14:11:12.004 ERROR CPU=CPU1 APPNAME=DS EVENT ID=11 Destination file table verify err: index = 3, max file size = 512 +21-237-13:18:38.164 00 TLMH-I:STS 58-012-14:11:12.004 INFO CPU=CPU1 APPNAME=DS EVENT ID=10 Destination file table verify results: desc text = OK, good entries = 4, bad = 5, unused = 7 +21-237-13:18:38.166 00 TLMH-I:STS 58-012-14:11:12.004 ERROR CPU=CPU1 APPNAME=CFE_TBL EVENT ID=96 DS validation failed for Inactive 'DS.FILE_TBL', Status=0xFFFFFFFF +21-237-13:18:38.826 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:18:38.828 00 SPR-I:OPRO <*> Passed - Packet Filter Table validate command sent. +21-237-13:18:38.829 00 SPR-I:OPRO <*> Passed - Event Msg 16 Found! +21-237-13:18:38.835 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:18:38.836 00 SPR-I:OPRO <*> Passed (9007) - Destination File Table validation failed as expected. +21-237-13:18:38.837 00 SPR-I:OPRO <*> Passed - Validation Event Msg rcv'd +21-237-13:18:38.838 00 SPR-I:OPRO <*> Passed - Validation Summary Event Msg rcv'd +21-237-13:18:38.838 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:38.846 00 SPR-I:OPRO ; Send the Table Services Load Abort command to release the buffer. +21-237-13:18:38.846 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:38.848 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:38.848 00 SPR-I:OPRO ; Setup event 1 with CFE_TBL INFO 21 +21-237-13:18:38.848 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:38.850 00 CMH-I:CMD Command is /SCX_CPU1_TBL_LOADABORT ABTABLENAME="DS.FILE_TBL" ;;; (SCX CPU1 TBL Abort Loading of a table) +21-237-13:18:38.850 00 CMH-I:CMD Command SFDU received:<1804C0000029093944532E46494C455F54424C0000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-237-13:18:38.864 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:18:39.157 00 TLMH-I:STS 58-012-14:11:13.001 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=21 Table Load Aborted for 'DS.FILE_TBL' +21-237-13:18:42.869 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:18:42.871 00 SPR-I:OPRO <*> Passed - Load abort command sent successfully. +21-237-13:18:42.872 00 SPR-I:OPRO <*> Passed - Event Msg 21 Found! +21-237-13:18:42.880 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:42.881 00 SPR-I:OPRO ; Setup event 1 with CFE_TBL INFO 12 +21-237-13:18:42.881 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:42.883 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/load_table.i +21-237-13:18:42.888 00 SPR-I:STS Procedure LOAD_TABLE started +21-237-13:18:42.894 00 SPR-I:OPRO Table Filename: ds_badfile6.tbl +21-237-13:18:42.898 00 SPR-I:OPRO The perl command is: perl /s/opr/accounts/global/tools/table_ftp.pl 192.168.1.8 ds_badfile6.tbl RAM:0 3 +21-237-13:18:42.898 00 SPR-I:OPRO +21-237-13:18:43.044 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-237-13:18:43.044 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:18:48.048 00 SPR-I:OPRO +21-237-13:18:48.049 00 SPR-I:OPRO Sending Command: /SCX_CPU1_TBL_LOAD LFILENAME="/ram/ds_badfile6.tbl" +21-237-13:18:48.050 00 CMH-I:CMD Command is /SCX_CPU1_TBL_LOAD LFILENAME="/ram/ds_badfile6.tbl" ;;; (SCX CPU1 TBL load table command) +21-237-13:18:48.050 00 CMH-I:CMD Command SFDU received:<1804C000004102552F72616D2F64735F62616466696C65362E74626C0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-237-13:18:48.067 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:18:48.164 00 TLMH-I:STS 58-012-14:11:22.001 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=12 Successful load of '/ram/ds_badfile6.tbl' into 'DS.FILE_TBL' working buffer +21-237-13:18:51.070 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:18:51.072 00 SPR-I:STS Procedure LOAD_TABLE completed +21-237-13:18:51.079 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:18:51.080 00 SPR-I:OPRO <*> Passed - Load command for Invalid Destination File Table sent successfully. +21-237-13:18:51.080 00 SPR-I:OPRO <*> Passed - Event Msg 12 Found! +21-237-13:18:51.080 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:51.080 00 SPR-I:OPRO ; Send the Table Services command to validate the inactive buffer. +21-237-13:18:51.081 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:51.082 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:51.082 00 SPR-I:OPRO ; Setup event 1 with CFE_TBL DEBUG 16 +21-237-13:18:51.082 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:51.086 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:51.087 00 SPR-I:OPRO ; Setup event 2 with CFE_TBL ERROR 96 +21-237-13:18:51.087 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:51.088 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:51.088 00 SPR-I:OPRO ; Setup event 3 with DS ERROR 11 +21-237-13:18:51.088 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:51.091 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:51.091 00 SPR-I:OPRO ; Setup event 4 with DS INFO 10 +21-237-13:18:51.091 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:51.092 00 CMH-I:CMD Command is /SCX_CPU1_TBL_VALIDATE INACTIVE VTABLENAME="DS.FILE_TBL" ;;; (SCX CPU1 TBL validate table command) +21-237-13:18:51.093 00 CMH-I:CMD Command SFDU received:<1804C000002B0436000044532E46494C455F54424C0000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-237-13:18:51.108 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:18:51.657 00 TLMH-I:STS 58-012-14:11:25.501 DEBUG CPU=CPU1 APPNAME=CFE_TBL EVENT ID=16 Tbl Services issued validation request for 'DS.FILE_TBL' +21-237-13:18:54.156 00 TLMH-I:STS 58-012-14:11:28.004 ERROR CPU=CPU1 APPNAME=DS EVENT ID=11 Destination file table verify err: index = 4, max file age = 30 +21-237-13:18:54.157 00 TLMH-I:STS 58-012-14:11:28.004 INFO CPU=CPU1 APPNAME=DS EVENT ID=10 Destination file table verify results: desc text = OK, good entries = 5, bad = 4, unused = 7 +21-237-13:18:54.157 00 TLMH-I:STS 58-012-14:11:28.004 ERROR CPU=CPU1 APPNAME=CFE_TBL EVENT ID=96 DS validation failed for Inactive 'DS.FILE_TBL', Status=0xFFFFFFFF +21-237-13:18:55.112 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:18:55.114 00 SPR-I:OPRO <*> Passed - Packet Filter Table validate command sent. +21-237-13:18:55.115 00 SPR-I:OPRO <*> Passed - Event Msg 16 Found! +21-237-13:18:55.120 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:18:55.120 00 SPR-I:OPRO <*> Passed (9007) - Destination File Table validation failed as expected. +21-237-13:18:55.121 00 SPR-I:OPRO <*> Passed - Validation Event Msg rcv'd +21-237-13:18:55.122 00 SPR-I:OPRO <*> Passed - Validation Summary Event Msg rcv'd +21-237-13:18:55.122 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:55.122 00 SPR-I:OPRO ; Send the Table Services Load Abort command to release the buffer. +21-237-13:18:55.128 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:55.130 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:55.130 00 SPR-I:OPRO ; Setup event 1 with CFE_TBL INFO 21 +21-237-13:18:55.130 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:55.131 00 CMH-I:CMD Command is /SCX_CPU1_TBL_LOADABORT ABTABLENAME="DS.FILE_TBL" ;;; (SCX CPU1 TBL Abort Loading of a table) +21-237-13:18:55.131 00 CMH-I:CMD Command SFDU received:<1804C0000029093944532E46494C455F54424C0000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-237-13:18:55.145 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:18:55.655 00 TLMH-I:STS 58-012-14:11:29.500 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=21 Table Load Aborted for 'DS.FILE_TBL' +21-237-13:18:59.151 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:18:59.153 00 SPR-I:OPRO <*> Passed - Load abort command sent successfully. +21-237-13:18:59.154 00 SPR-I:OPRO <*> Passed - Event Msg 21 Found! +21-237-13:18:59.157 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:59.157 00 SPR-I:OPRO ; Setup event 1 with CFE_TBL INFO 12 +21-237-13:18:59.157 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:59.158 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/load_table.i +21-237-13:18:59.159 00 SPR-I:STS Procedure LOAD_TABLE started +21-237-13:18:59.160 00 SPR-I:OPRO Table Filename: ds_badfile7.tbl +21-237-13:18:59.161 00 SPR-I:OPRO The perl command is: perl /s/opr/accounts/global/tools/table_ftp.pl 192.168.1.8 ds_badfile7.tbl RAM:0 3 +21-237-13:18:59.161 00 SPR-I:OPRO +21-237-13:18:59.300 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-237-13:18:59.300 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:19:04.304 00 SPR-I:OPRO +21-237-13:19:04.307 00 SPR-I:OPRO Sending Command: /SCX_CPU1_TBL_LOAD LFILENAME="/ram/ds_badfile7.tbl" +21-237-13:19:04.309 00 CMH-I:CMD Command is /SCX_CPU1_TBL_LOAD LFILENAME="/ram/ds_badfile7.tbl" ;;; (SCX CPU1 TBL load table command) +21-237-13:19:04.310 00 CMH-I:CMD Command SFDU received:<1804C000004102542F72616D2F64735F62616466696C65372E74626C0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-237-13:19:04.327 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:19:04.661 00 TLMH-I:STS 58-012-14:11:38.484 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=12 Successful load of '/ram/ds_badfile7.tbl' into 'DS.FILE_TBL' working buffer +21-237-13:19:06.330 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:19:06.331 00 SPR-I:STS Procedure LOAD_TABLE completed +21-237-13:19:06.339 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:19:06.339 00 SPR-I:OPRO <*> Passed - Load command for Invalid Destination File Table sent successfully. +21-237-13:19:06.340 00 SPR-I:OPRO <*> Passed - Event Msg 12 Found! +21-237-13:19:06.340 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:19:06.340 00 SPR-I:OPRO ; Send the Table Services command to validate the inactive buffer. +21-237-13:19:06.340 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:19:06.341 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:19:06.341 00 SPR-I:OPRO ; Setup event 1 with CFE_TBL DEBUG 16 +21-237-13:19:06.342 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:19:06.346 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:19:06.346 00 SPR-I:OPRO ; Setup event 2 with CFE_TBL ERROR 96 +21-237-13:19:06.346 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:19:06.348 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:19:06.348 00 SPR-I:OPRO ; Setup event 3 with DS ERROR 11 +21-237-13:19:06.348 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:19:06.351 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:19:06.351 00 SPR-I:OPRO ; Setup event 4 with DS INFO 10 +21-237-13:19:06.351 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:19:06.352 00 CMH-I:CMD Command is /SCX_CPU1_TBL_VALIDATE INACTIVE VTABLENAME="DS.FILE_TBL" ;;; (SCX CPU1 TBL validate table command) +21-237-13:19:06.352 00 CMH-I:CMD Command SFDU received:<1804C000002B0436000044532E46494C455F54424C0000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-237-13:19:06.358 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:19:06.664 00 TLMH-I:STS 58-012-14:11:40.501 DEBUG CPU=CPU1 APPNAME=CFE_TBL EVENT ID=16 Tbl Services issued validation request for 'DS.FILE_TBL' +21-237-13:19:10.162 00 TLMH-I:STS 58-012-14:11:44.004 ERROR CPU=CPU1 APPNAME=DS EVENT ID=11 Destination file table verify err: index = 5, invalid extension text +21-237-13:19:10.164 00 TLMH-I:STS 58-012-14:11:44.004 INFO CPU=CPU1 APPNAME=DS EVENT ID=10 Destination file table verify results: desc text = OK, good entries = 6, bad = 3, unused = 7 +21-237-13:19:10.165 00 TLMH-I:STS 58-012-14:11:44.004 ERROR CPU=CPU1 APPNAME=CFE_TBL EVENT ID=96 DS validation failed for Inactive 'DS.FILE_TBL', Status=0xFFFFFFFF +21-237-13:19:10.362 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:19:10.364 00 SPR-I:OPRO <*> Passed - Packet Filter Table validate command sent. +21-237-13:19:10.365 00 SPR-I:OPRO <*> Passed - Event Msg 16 Found! +21-237-13:19:10.377 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:19:10.379 00 SPR-I:OPRO <*> Passed (9007) - Destination File Table validation failed as expected. +21-237-13:19:10.391 00 SPR-I:OPRO <*> Passed - Validation Event Msg rcv'd +21-237-13:19:10.392 00 SPR-I:OPRO <*> Passed - Validation Summary Event Msg rcv'd +21-237-13:19:10.392 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:19:10.392 00 SPR-I:OPRO ; Send the Table Services Load Abort command to release the buffer. +21-237-13:19:10.392 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:19:10.395 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:19:10.395 00 SPR-I:OPRO ; Setup event 1 with CFE_TBL INFO 21 +21-237-13:19:10.395 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:19:10.398 00 CMH-I:CMD Command is /SCX_CPU1_TBL_LOADABORT ABTABLENAME="DS.FILE_TBL" ;;; (SCX CPU1 TBL Abort Loading of a table) +21-237-13:19:10.399 00 CMH-I:CMD Command SFDU received:<1804C0000029093944532E46494C455F54424C0000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-237-13:19:10.405 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:19:10.656 00 TLMH-I:STS 58-012-14:11:44.500 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=21 Table Load Aborted for 'DS.FILE_TBL' +21-237-13:19:14.410 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:19:14.413 00 SPR-I:OPRO <*> Passed - Load abort command sent successfully. +21-237-13:19:14.414 00 SPR-I:OPRO <*> Passed - Event Msg 21 Found! +21-237-13:19:14.418 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:19:14.418 00 SPR-I:OPRO ; Setup event 1 with CFE_TBL INFO 12 +21-237-13:19:14.418 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:19:14.419 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/load_table.i +21-237-13:19:14.420 00 SPR-I:STS Procedure LOAD_TABLE started +21-237-13:19:14.422 00 SPR-I:OPRO Table Filename: ds_badfile8.tbl +21-237-13:19:14.423 00 SPR-I:OPRO The perl command is: perl /s/opr/accounts/global/tools/table_ftp.pl 192.168.1.8 ds_badfile8.tbl RAM:0 3 +21-237-13:19:14.423 00 SPR-I:OPRO +21-237-13:19:14.564 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-237-13:19:14.565 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:19:19.569 00 SPR-I:OPRO +21-237-13:19:19.572 00 SPR-I:OPRO Sending Command: /SCX_CPU1_TBL_LOAD LFILENAME="/ram/ds_badfile8.tbl" +21-237-13:19:19.574 00 CMH-I:CMD Command is /SCX_CPU1_TBL_LOAD LFILENAME="/ram/ds_badfile8.tbl" ;;; (SCX CPU1 TBL load table command) +21-237-13:19:19.574 00 CMH-I:CMD Command SFDU received:<1804C0000041025B2F72616D2F64735F62616466696C65382E74626C0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-237-13:19:19.590 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:19:20.164 00 TLMH-I:STS 58-012-14:11:54.001 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=12 Successful load of '/ram/ds_badfile8.tbl' into 'DS.FILE_TBL' working buffer +21-237-13:19:22.594 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:19:22.595 00 SPR-I:STS Procedure LOAD_TABLE completed +21-237-13:19:22.600 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:19:22.600 00 SPR-I:OPRO <*> Passed - Load command for Invalid Destination File Table sent successfully. +21-237-13:19:22.601 00 SPR-I:OPRO <*> Passed - Event Msg 12 Found! +21-237-13:19:22.601 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:19:22.601 00 SPR-I:OPRO ; Send the Table Services command to validate the inactive buffer. +21-237-13:19:22.601 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:19:22.603 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:19:22.603 00 SPR-I:OPRO ; Setup event 1 with CFE_TBL DEBUG 16 +21-237-13:19:22.603 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:19:22.612 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:19:22.612 00 SPR-I:OPRO ; Setup event 2 with CFE_TBL ERROR 96 +21-237-13:19:22.612 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:19:22.615 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:19:22.615 00 SPR-I:OPRO ; Setup event 3 with DS ERROR 11 +21-237-13:19:22.615 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:19:22.617 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:19:22.617 00 SPR-I:OPRO ; Setup event 4 with DS INFO 10 +21-237-13:19:22.617 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:19:22.618 00 CMH-I:CMD Command is /SCX_CPU1_TBL_VALIDATE INACTIVE VTABLENAME="DS.FILE_TBL" ;;; (SCX CPU1 TBL validate table command) +21-237-13:19:22.618 00 CMH-I:CMD Command SFDU received:<1804C000002B0436000044532E46494C455F54424C0000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-237-13:19:22.623 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:19:23.162 00 TLMH-I:STS 58-012-14:11:57.001 DEBUG CPU=CPU1 APPNAME=CFE_TBL EVENT ID=16 Tbl Services issued validation request for 'DS.FILE_TBL' +21-237-13:19:26.162 00 TLMH-I:STS 58-012-14:12:00.004 ERROR CPU=CPU1 APPNAME=DS EVENT ID=11 Destination file table verify err: index = 6, sequence count = 100000000 +21-237-13:19:26.163 00 TLMH-I:STS 58-012-14:12:00.004 INFO CPU=CPU1 APPNAME=DS EVENT ID=10 Destination file table verify results: desc text = OK, good entries = 7, bad = 2, unused = 7 +21-237-13:19:26.165 00 TLMH-I:STS 58-012-14:12:00.004 ERROR CPU=CPU1 APPNAME=CFE_TBL EVENT ID=96 DS validation failed for Inactive 'DS.FILE_TBL', Status=0xFFFFFFFF +21-237-13:19:26.628 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:19:26.631 00 SPR-I:OPRO <*> Passed - Packet Filter Table validate command sent. +21-237-13:19:26.632 00 SPR-I:OPRO <*> Passed - Event Msg 16 Found! +21-237-13:19:26.636 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:19:26.636 00 SPR-I:OPRO <*> Passed (9007) - Destination File Table validation failed as expected. +21-237-13:19:26.637 00 SPR-I:OPRO <*> Passed - Validation Event Msg rcv'd +21-237-13:19:26.638 00 SPR-I:OPRO <*> Passed - Validation Summary Event Msg rcv'd +21-237-13:19:26.638 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:19:26.638 00 SPR-I:OPRO ; Send the Table Services Load Abort command to release the buffer. +21-237-13:19:26.643 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:19:26.644 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:19:26.644 00 SPR-I:OPRO ; Setup event 1 with CFE_TBL INFO 21 +21-237-13:19:26.644 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:19:26.645 00 CMH-I:CMD Command is /SCX_CPU1_TBL_LOADABORT ABTABLENAME="DS.FILE_TBL" ;;; (SCX CPU1 TBL Abort Loading of a table) +21-237-13:19:26.645 00 CMH-I:CMD Command SFDU received:<1804C0000029093944532E46494C455F54424C0000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-237-13:19:26.660 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:19:27.164 00 TLMH-I:STS 58-012-14:12:01.001 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=21 Table Load Aborted for 'DS.FILE_TBL' +21-237-13:19:30.664 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:19:30.666 00 SPR-I:OPRO <*> Passed - Load abort command sent successfully. +21-237-13:19:30.667 00 SPR-I:OPRO <*> Passed - Event Msg 21 Found! +21-237-13:19:30.671 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:19:30.671 00 SPR-I:OPRO ; Setup event 1 with CFE_TBL INFO 12 +21-237-13:19:30.671 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:19:30.672 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/load_table.i +21-237-13:19:30.673 00 SPR-I:STS Procedure LOAD_TABLE started +21-237-13:19:30.674 00 SPR-I:OPRO Table Filename: ds_badfile9.tbl +21-237-13:19:30.675 00 SPR-I:OPRO The perl command is: perl /s/opr/accounts/global/tools/table_ftp.pl 192.168.1.8 ds_badfile9.tbl RAM:0 3 +21-237-13:19:30.675 00 SPR-I:OPRO +21-237-13:19:30.812 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-237-13:19:30.812 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:19:35.817 00 SPR-I:OPRO +21-237-13:19:35.818 00 SPR-I:OPRO Sending Command: /SCX_CPU1_TBL_LOAD LFILENAME="/ram/ds_badfile9.tbl" +21-237-13:19:35.819 00 CMH-I:CMD Command is /SCX_CPU1_TBL_LOAD LFILENAME="/ram/ds_badfile9.tbl" ;;; (SCX CPU1 TBL load table command) +21-237-13:19:35.819 00 CMH-I:CMD Command SFDU received:<1804C0000041025A2F72616D2F64735F62616466696C65392E74626C0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-237-13:19:35.835 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:19:36.159 00 TLMH-I:STS 58-012-14:12:10.001 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=12 Successful load of '/ram/ds_badfile9.tbl' into 'DS.FILE_TBL' working buffer +21-237-13:19:38.838 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:19:38.839 00 SPR-I:STS Procedure LOAD_TABLE completed +21-237-13:19:38.844 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:19:38.845 00 SPR-I:OPRO <*> Passed - Load command for Invalid Destination File Table sent successfully. +21-237-13:19:38.845 00 SPR-I:OPRO <*> Passed - Event Msg 12 Found! +21-237-13:19:38.845 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:19:38.845 00 SPR-I:OPRO ; Send the Table Services command to validate the inactive buffer. +21-237-13:19:38.845 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:19:38.847 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:19:38.847 00 SPR-I:OPRO ; Setup event 1 with CFE_TBL DEBUG 16 +21-237-13:19:38.847 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:19:38.850 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:19:38.850 00 SPR-I:OPRO ; Setup event 2 with CFE_TBL ERROR 96 +21-237-13:19:38.850 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:19:38.852 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:19:38.852 00 SPR-I:OPRO ; Setup event 3 with DS ERROR 11 +21-237-13:19:38.852 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:19:38.854 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:19:38.854 00 SPR-I:OPRO ; Setup event 4 with DS INFO 10 +21-237-13:19:38.854 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:19:38.855 00 CMH-I:CMD Command is /SCX_CPU1_TBL_VALIDATE INACTIVE VTABLENAME="DS.FILE_TBL" ;;; (SCX CPU1 TBL validate table command) +21-237-13:19:38.855 00 CMH-I:CMD Command SFDU received:<1804C000002B0436000044532E46494C455F54424C0000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-237-13:19:38.860 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:19:39.157 00 TLMH-I:STS 58-012-14:12:13.001 DEBUG CPU=CPU1 APPNAME=CFE_TBL EVENT ID=16 Tbl Services issued validation request for 'DS.FILE_TBL' +21-237-13:19:42.156 00 TLMH-I:STS 58-012-14:12:16.004 ERROR CPU=CPU1 APPNAME=DS EVENT ID=11 Destination file table verify err: index = 8, sequence count = 100000000 +21-237-13:19:42.158 00 TLMH-I:STS 58-012-14:12:16.004 INFO CPU=CPU1 APPNAME=DS EVENT ID=10 Destination file table verify results: desc text = OK, good entries = 8, bad = 1, unused = 7 +21-237-13:19:42.159 00 TLMH-I:STS 58-012-14:12:16.004 ERROR CPU=CPU1 APPNAME=CFE_TBL EVENT ID=96 DS validation failed for Inactive 'DS.FILE_TBL', Status=0xFFFFFFFF +21-237-13:19:42.865 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:19:42.867 00 SPR-I:OPRO <*> Passed - Packet Filter Table validate command sent. +21-237-13:19:42.868 00 SPR-I:OPRO <*> Passed - Event Msg 16 Found! +21-237-13:19:42.881 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:19:42.883 00 SPR-I:OPRO <*> Passed (9007) - Destination File Table validation failed as expected. +21-237-13:19:42.884 00 SPR-I:OPRO <*> Passed - Validation Event Msg rcv'd +21-237-13:19:42.884 00 SPR-I:OPRO <*> Passed - Validation Summary Event Msg rcv'd +21-237-13:19:42.884 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:19:42.885 00 SPR-I:OPRO ; Send the Table Services Load Abort command to release the buffer. +21-237-13:19:42.893 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:19:42.894 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:19:42.894 00 SPR-I:OPRO ; Setup event 1 with CFE_TBL INFO 21 +21-237-13:19:42.894 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:19:42.895 00 CMH-I:CMD Command is /SCX_CPU1_TBL_LOADABORT ABTABLENAME="DS.FILE_TBL" ;;; (SCX CPU1 TBL Abort Loading of a table) +21-237-13:19:42.895 00 CMH-I:CMD Command SFDU received:<1804C0000029093944532E46494C455F54424C0000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-237-13:19:42.901 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:19:43.162 00 TLMH-I:STS 58-012-14:12:17.001 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=21 Table Load Aborted for 'DS.FILE_TBL' +21-237-13:19:46.905 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:19:46.908 00 SPR-I:OPRO <*> Passed - Load abort command sent successfully. +21-237-13:19:46.910 00 SPR-I:OPRO <*> Passed - Event Msg 21 Found! +21-237-13:19:46.911 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:19:51.917 00 SPR-I:OPRO ;********************************************************************* +21-237-13:19:51.917 00 SPR-I:OPRO ; Step 6.0: Clean-up - Send the Processor Reset command. +21-237-13:19:51.917 00 SPR-I:OPRO ;********************************************************************* +21-237-13:19:51.919 00 CMH-I:CMD Command is /SCX_CPU1_ES_PROCESSORRESET ;;; (SCX CPU1 ES Processor Reset command code) +21-237-13:19:51.919 00 CMH-I:CMD Command SFDU received:<1806C000000302210001> from gs582cfslab4:SPR +21-237-13:19:51.933 00 SPR-I:STTE Wait mode - waiting 10 seconds ... +21-237-13:20:01.940 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/clear_spacecraft_status.i +21-237-13:20:01.941 00 SPR-I:STS Procedure CLEAR_SPACECRAFT_STATUS started +21-237-13:20:01.945 00 SPR-I:STS Procedure CLEAR_SPACECRAFT_STATUS completed +21-237-13:20:02.016 00 SPR-I:STTE Wait mode - waiting 60 seconds ... +21-237-13:21:02.083 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:21:08.034 00 CMH-I:STS Connected to FEDS:FEDS for commanding (internal ID 0). +21-237-13:21:12.096 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:21:12.098 00 CMH-I:CMD SFDU is /DDIR DATA="open udp_read C%03X 1235 packet_only" ;;; ( ) +21-237-13:21:12.116 00 CMH-I:CMD SFDU is /DDIR DATA="open udp_write CPKT cpu3 1234 ascii_pkt" ;;; ( ) +21-237-13:21:12.160 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/send_that_to_command.i +21-237-13:21:12.160 00 SPR-I:STS Procedure SEND_THAT_TO_COMMAND started +21-237-13:21:12.163 00 SPR-I:OPRO Sending: /SCX_CPU1_TO_OUTPUT_ENA gs582cfslab4 +21-237-13:21:12.164 00 CMH-I:CMD Command is /SCX_CPU1_TO_OUTPUT_ENA GS582CFSLAB4 ;;; (SCX CPU1 Enables TO output) +21-237-13:21:12.164 00 CMH-I:CMD Command SFDU received:<1880C0000011069A3139322E3136382E312E313031000000> from gs582cfslab4:SPR +21-237-13:21:12.214 00 SPR-I:STS Procedure SEND_THAT_TO_COMMAND completed +21-237-13:21:12.215 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:21:12.769 00 TLMH-I:STS 58-012-14:12:53.533 INFO CPU=CPU1 APPNAME=TO_LAB_APP EVENT ID=3 TO telemetry output enabled for IP 192.168.1.101 +21-237-13:21:15.217 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:21:15.218 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/fill_in_spacecraft_status.i +21-237-13:21:15.219 00 SPR-I:STS Procedure FILL_IN_SPACECRAFT_STATUS started +21-237-13:21:15.229 00 SPR-I:STS Procedure FILL_IN_SPACECRAFT_STATUS completed +21-237-13:21:15.231 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:21:20.235 00 SPR-I:OPRO **** Requirements Status Reporting +21-237-13:21:20.235 00 SPR-I:OPRO -------------------------- +21-237-13:21:20.235 00 SPR-I:OPRO Requirement(s) Report +21-237-13:21:20.235 00 SPR-I:OPRO -------------------------- +21-237-13:21:20.235 00 SPR-I:OPRO FSW Requirement: DS_8000 P/F: P +21-237-13:21:20.236 00 SPR-I:OPRO FSW Requirement: DS_9000 P/F: P +21-237-13:21:20.238 00 SPR-I:OPRO FSW Requirement: DS_9001 P/F: P +21-237-13:21:20.238 00 SPR-I:OPRO FSW Requirement: DS_9002 P/F: P +21-237-13:21:20.239 00 SPR-I:OPRO FSW Requirement: DS_9004 P/F: P +21-237-13:21:20.251 00 SPR-I:OPRO FSW Requirement: DS_9005 P/F: P +21-237-13:21:20.252 00 SPR-I:OPRO FSW Requirement: DS_9006 P/F: F +21-237-13:21:20.253 00 SPR-I:OPRO FSW Requirement: DS_9007 P/F: P +21-237-13:21:20.270 00 SPR-I:OPRO FSW Requirement: DS_9008 P/F: P +21-237-13:21:20.271 00 SPR-I:STS Variable "UT_REQUIREMENT" deleted +21-237-13:21:20.271 00 SPR-I:STS Variable "UT_REQ_ARRAY_SIZE" deleted +21-237-13:21:20.271 00 SPR-I:OPRO ;********************************************************************* +21-237-13:21:20.286 00 SPR-I:OPRO ; End procedure SCX_CPU1_ds_resetnocds +21-237-13:21:20.286 00 SPR-I:OPRO ;********************************************************************* +21-237-13:21:20.286 00 SPR-I:STS Procedure SCX_CPU1_DS_RESETNOCDS completed +21-237-13:21:20.287 00 SPR-I:OPRO *** Telemetry Info *** +21-237-13:21:20.287 00 SPR-I:OPRO +21-237-13:21:20.287 00 SPR-I:OPRO Pkt Loss Count: N/A +21-237-13:21:20.287 00 SPR-I:OPRO +21-237-13:21:20.288 00 SPR-I:OPRO ****************** +21-237-13:21:20.288 00 SPR-I:OPRO +21-237-13:21:20.291 00 SPR-I:OPRO Elapsed time: 1332.13 seconds +21-237-13:21:20.291 00 SPR-I:OPRO Elapsed time: 22.2022 minutes +21-237-13:21:20.292 00 SPR-I:STTE Wait mode - waiting 10 seconds ... +21-237-13:21:30.302 00 SPR-I:OPRO Creating filtered log at /s/opr/accounts/cfs_test/test_logs/DS2.6.0/scx_cpu1_ds_resetnocds-2021-237-12h59m08s.logf +21-237-13:21:30.302 00 SPR-I:OPRO Creating filtered output log at /s/opr/accounts/cfs_test/test_logs/DS2.6.0/scx_cpu1_ds_resetnocds-2021-237-12h59m08s.logp +21-237-13:21:30.303 00 SPR-I:OPRO Creating filtered output log (without SFDUs) at /s/opr/accounts/cfs_test/test_logs/DS2.6.0/scx_cpu1_ds_resetnocds-2021-237-12h59m08s.logs +21-237-13:21:30.303 00 SPR-I:OPRO Creating filtered event log at /s/opr/accounts/cfs_test/test_logs/DS2.6.0/scx_cpu1_ds_resetnocds-2021-237-12h59m08s.loge +21-237-13:21:30.303 00 SPR-I:OPRO Creating filtered requirements log at /s/opr/accounts/cfs_test/test_logs/DS2.6.0/scx_cpu1_ds_resetnocds-2021-237-12h59m08s.logr +21-237-13:21:30.447 00 SPR-I:OPRI --> newlog scx_cpu1_ds_resetnocds-2021-237-12h59m08s.log diff --git a/test_and_ground/results/Caelum/scx_cpu1_ds_resetnocds-2021-237-12h59m08s.logr b/test_and_ground/results/Caelum/scx_cpu1_ds_resetnocds-2021-237-12h59m08s.logr new file mode 100644 index 0000000..a4b2598 --- /dev/null +++ b/test_and_ground/results/Caelum/scx_cpu1_ds_resetnocds-2021-237-12h59m08s.logr @@ -0,0 +1,9 @@ +21-237-13:21:20.235 00 SPR-I:OPRO FSW Requirement: DS_8000 P/F: P +21-237-13:21:20.236 00 SPR-I:OPRO FSW Requirement: DS_9000 P/F: P +21-237-13:21:20.238 00 SPR-I:OPRO FSW Requirement: DS_9001 P/F: P +21-237-13:21:20.238 00 SPR-I:OPRO FSW Requirement: DS_9002 P/F: P +21-237-13:21:20.239 00 SPR-I:OPRO FSW Requirement: DS_9004 P/F: P +21-237-13:21:20.251 00 SPR-I:OPRO FSW Requirement: DS_9005 P/F: P +21-237-13:21:20.252 00 SPR-I:OPRO FSW Requirement: DS_9006 P/F: F +21-237-13:21:20.253 00 SPR-I:OPRO FSW Requirement: DS_9007 P/F: P +21-237-13:21:20.270 00 SPR-I:OPRO FSW Requirement: DS_9008 P/F: P diff --git a/test_and_ground/results/Caelum/scx_cpu1_ds_resetnocds-2021-237-12h59m08s.logs b/test_and_ground/results/Caelum/scx_cpu1_ds_resetnocds-2021-237-12h59m08s.logs new file mode 100644 index 0000000..ce673a8 --- /dev/null +++ b/test_and_ground/results/Caelum/scx_cpu1_ds_resetnocds-2021-237-12h59m08s.logs @@ -0,0 +1,2242 @@ +21-237-12:59:08.147 00 SPR-I:OPRO ****************** FSW Configuration ****************** +21-237-12:59:08.148 00 SPR-I:OPRO Checksum: 29237 +21-237-12:59:08.150 00 SPR-I:OPRO cFE Version: 6.7.99.0 +21-237-12:59:08.150 00 SPR-I:OPRO OS Version: 5.0.0.255 +21-237-12:59:08.150 00 SPR-I:OPRO +21-237-12:59:08.150 00 SPR-I:OPRO Connection Status +21-237-12:59:08.150 00 SPR-I:OPRO ----------------- +21-237-12:59:08.150 00 SPR-I:OPRO CFDP: DOWN +21-237-12:59:08.150 00 SPR-I:OPRO UDP: UP +21-237-12:59:08.151 00 SPR-I:OPRO SWTS: UNK +21-237-12:59:08.151 00 SPR-I:OPRO +21-237-12:59:08.151 00 SPR-I:OPRO CMD / TLM Path +21-237-12:59:08.151 00 SPR-I:OPRO -------------- +21-237-12:59:08.156 00 SPR-I:OPRO UDP +21-237-12:59:08.157 00 SPR-I:OPRO +21-237-12:59:08.157 00 SPR-I:OPRO +21-237-12:59:08.157 00 SPR-I:OPRO ASIST / GDS Configuration +21-237-12:59:08.157 00 SPR-I:OPRO ------------------------- +21-237-12:59:08.157 00 SPR-I:OPRO Workstation: GS582CFSLAB4 +21-237-12:59:08.157 00 SPR-I:OPRO Account: cfs_test +21-237-12:59:08.157 00 SPR-I:OPRO Version: 21.0.7 +21-237-12:59:08.157 00 SPR-I:OPRO Tlm DB: Version: 1.985 Date: 08-24-21 Time: 06:37:06 AM. +21-237-12:59:08.157 00 SPR-I:OPRO Cmd DB: Version: 1.51 Date: 08-24-21 Time: 06:47:31 AM.EDT +21-237-12:59:08.158 00 SPR-I:OPRO +21-237-12:59:08.158 00 SPR-I:OPRO Telemetry Info +21-237-12:59:08.159 00 SPR-I:OPRO -------------- +21-237-12:59:08.159 00 SPR-I:OPRO Pkt Loss Count: N/A +21-237-12:59:08.159 00 SPR-I:OPRO **************** End FSW Configuration *************** +21-237-12:59:08.159 00 SPR-I:OPRO Starting Procedure.... scx_cpu1_ds_resetnocds +21-237-12:59:08.289 00 SPR-I:OPRI --> start scx_cpu1_ds_resetnocds +21-237-12:59:08.290 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/scx_cpu1_ds_resetnocds.i +21-237-12:59:08.294 00 SPR-I:STS Procedure SCX_CPU1_DS_RESETNOCDS started +21-237-12:59:08.387 00 SPR-I:OPRO ;*********************************************************************** +21-237-12:59:08.387 00 SPR-I:OPRO ; Step 1.0: Data Storage Test Setup. +21-237-12:59:08.387 00 SPR-I:OPRO ;*********************************************************************** +21-237-12:59:08.387 00 SPR-I:OPRO ; Step 1.1: Command a Power-on Reset on CPU1. +21-237-12:59:08.387 00 SPR-I:OPRO ;*********************************************************************** +21-237-12:59:08.388 00 CMH-I:CMD Command SFDU received:<1806C000000302220002> from gs582cfslab4:SPR +21-237-12:59:08.399 00 SPR-I:STTE Wait mode - waiting 10 seconds ... +21-237-12:59:18.408 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/clear_spacecraft_status.i +21-237-12:59:18.409 00 SPR-I:STS Procedure CLEAR_SPACECRAFT_STATUS started +21-237-12:59:18.416 00 SPR-I:STS Procedure CLEAR_SPACECRAFT_STATUS completed +21-237-12:59:18.440 00 SPR-I:STTE Wait mode - waiting 60 seconds ... +21-237-13:00:18.500 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:00:24.467 00 CMH-I:STS Connected to FEDS:FEDS for commanding (internal ID 0). +21-237-13:00:28.511 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:00:28.582 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/send_that_to_command.i +21-237-13:00:28.582 00 SPR-I:STS Procedure SEND_THAT_TO_COMMAND started +21-237-13:00:28.583 00 SPR-I:OPRO Sending: /SCX_CPU1_TO_OUTPUT_ENA gs582cfslab4 +21-237-13:00:28.584 00 CMH-I:CMD Command SFDU received:<1880C0000011069A3139322E3136382E312E313031000000> from gs582cfslab4:SPR +21-237-13:00:28.634 00 SPR-I:STS Procedure SEND_THAT_TO_COMMAND completed +21-237-13:00:28.635 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:00:29.788 00 TLMH-I:STS 58-012-14:03:48.950 INFO CPU=CPU1 APPNAME=TO_LAB_APP EVENT ID=3 TO telemetry output enabled for IP 192.168.1.101 +21-237-13:00:33.640 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:00:33.641 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/fill_in_spacecraft_status.i +21-237-13:00:33.643 00 SPR-I:STS Procedure FILL_IN_SPACECRAFT_STATUS started +21-237-13:00:33.648 00 SPR-I:STS Procedure FILL_IN_SPACECRAFT_STATUS completed +21-237-13:00:33.648 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:00:38.652 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:00:38.653 00 SPR-I:OPRO ; Step 1.2: Upload the default DS table load images to CPU1. +21-237-13:00:38.653 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:00:38.653 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/scx_cpu1_ds_tbl3.i +21-237-13:00:38.659 00 SPR-I:STS Procedure SCX_CPU1_DS_TBL3 started +21-237-13:00:38.696 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:00:38.696 00 SPR-I:OPRO ; Step 1.0: Define DS Destination File And Packet Filter Tables. +21-237-13:00:38.696 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:00:38.700 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/create_tbl_file_from_cvt.i +21-237-13:00:38.700 00 SPR-I:STS Procedure CREATE_TBL_FILE_FROM_CVT started +21-237-13:00:38.702 00 SPR-I:OPRO ********** ds_filtfile.tbl ********** +21-237-13:00:38.702 00 SPR-I:OPRO +21-237-13:00:38.702 00 SPR-I:OPRO Content Type: cFE1 +21-237-13:00:38.702 00 SPR-I:OPRO Sub Type: 8 +21-237-13:00:38.702 00 SPR-I:OPRO Length: 12 +21-237-13:00:38.702 00 SPR-I:OPRO Spacecraft Id: SCX +21-237-13:00:38.702 00 SPR-I:OPRO Processor Id: CPU3 +21-237-13:00:38.702 00 SPR-I:OPRO Application Id: 3958 +21-237-13:00:38.702 00 SPR-I:OPRO Create Time Secs: 1629896438 +21-237-13:00:38.702 00 SPR-I:OPRO Create Time Subsecs: 0 +21-237-13:00:38.702 00 SPR-I:OPRO File Description: File Write Test File Table +21-237-13:00:38.702 00 SPR-I:OPRO +21-237-13:00:38.702 00 SPR-I:OPRO ********** DS.FILE_TBL ********** +21-237-13:00:38.702 00 SPR-I:OPRO +21-237-13:00:38.702 00 SPR-I:OPRO Start Mnemonic: SCX_CPU1_DS_DF_TBL_Description +21-237-13:00:38.702 00 SPR-I:OPRO Byte Offset: 0 +21-237-13:00:38.702 00 SPR-I:OPRO End Mnemonic: SCX_CPU1_DS_DF_TBL[7].SeqCnt +21-237-13:00:38.703 00 SPR-I:OPRO Number of Bytes: 1760 +21-237-13:00:38.703 00 SPR-I:OPRO +21-237-13:00:38.707 00 SPR-I:STS Loading file /s/opr/accounts/global/prc/partial_cvt_to_file_beta.i +21-237-13:00:38.707 00 SPR-I:STS Procedure PARTIAL_CVT_TO_FILE_BETA started +21-237-13:00:38.707 00 SPR-I:OPRO The unix command is cd /s/opr/accounts/cfs_test/image;cvt2file -s 116 -e 1875 P0F76 ds.file_tbl +21-237-13:00:38.712 00 SPR-I:STS Procedure PARTIAL_CVT_TO_FILE_BETA completed +21-237-13:00:38.712 00 SPR-I:OPRO cd /s/opr/accounts/cfs_test/image;cat ds_filtfile.tbl.tmp ds.file_tbl > ds_filtfile.tbl +21-237-13:00:38.718 00 SPR-I:OPRO cd /s/opr/accounts/cfs_test/image;rm ds.file_tbl ds_filtfile.tbl.tmp +21-237-13:00:38.723 00 SPR-I:STS Procedure CREATE_TBL_FILE_FROM_CVT completed +21-237-13:00:39.229 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/create_tbl_file_from_cvt.i +21-237-13:00:39.229 00 SPR-I:STS Procedure CREATE_TBL_FILE_FROM_CVT started +21-237-13:00:39.231 00 SPR-I:OPRO ********** ds_filtfilter.tbl ********** +21-237-13:00:39.231 00 SPR-I:OPRO +21-237-13:00:39.231 00 SPR-I:OPRO Content Type: cFE1 +21-237-13:00:39.231 00 SPR-I:OPRO Sub Type: 8 +21-237-13:00:39.231 00 SPR-I:OPRO Length: 12 +21-237-13:00:39.231 00 SPR-I:OPRO Spacecraft Id: SCX +21-237-13:00:39.231 00 SPR-I:OPRO Processor Id: CPU3 +21-237-13:00:39.231 00 SPR-I:OPRO Application Id: 3959 +21-237-13:00:39.231 00 SPR-I:OPRO Create Time Secs: 1629896439 +21-237-13:00:39.231 00 SPR-I:OPRO Create Time Subsecs: 0 +21-237-13:00:39.231 00 SPR-I:OPRO File Description: Filter Test Filter Table +21-237-13:00:39.231 00 SPR-I:OPRO +21-237-13:00:39.231 00 SPR-I:OPRO ********** DS.FILTER_TBL ********** +21-237-13:00:39.231 00 SPR-I:OPRO +21-237-13:00:39.232 00 SPR-I:OPRO Start Mnemonic: SCX_CPU1_DS_PF_TBL_Description +21-237-13:00:39.232 00 SPR-I:OPRO Byte Offset: 0 +21-237-13:00:39.232 00 SPR-I:OPRO End Mnemonic: SCX_CPU1_DS_PF_TBL[255].FilterParams[3].O_Value +21-237-13:00:39.232 00 SPR-I:OPRO Number of Bytes: 9248 +21-237-13:00:39.232 00 SPR-I:OPRO +21-237-13:00:39.236 00 SPR-I:STS Loading file /s/opr/accounts/global/prc/partial_cvt_to_file_beta.i +21-237-13:00:39.236 00 SPR-I:STS Procedure PARTIAL_CVT_TO_FILE_BETA started +21-237-13:00:39.237 00 SPR-I:OPRO The unix command is cd /s/opr/accounts/cfs_test/image;cvt2file -s 116 -e 9363 P0F77 ds.filter_tbl +21-237-13:00:39.240 00 SPR-I:STS Procedure PARTIAL_CVT_TO_FILE_BETA completed +21-237-13:00:39.240 00 SPR-I:OPRO cd /s/opr/accounts/cfs_test/image;cat ds_filtfilter.tbl.tmp ds.filter_tbl > ds_filtfilter.tbl +21-237-13:00:39.244 00 SPR-I:OPRO cd /s/opr/accounts/cfs_test/image;rm ds.filter_tbl ds_filtfilter.tbl.tmp +21-237-13:00:39.247 00 SPR-I:STS Procedure CREATE_TBL_FILE_FROM_CVT completed +21-237-13:00:39.248 00 SPR-I:OPRO ;********************************************************************* +21-237-13:00:39.248 00 SPR-I:OPRO ; End procedure SCX_CPU1_ds_tbl3 +21-237-13:00:39.248 00 SPR-I:OPRO ;********************************************************************* +21-237-13:00:39.248 00 SPR-I:STS Procedure SCX_CPU1_DS_TBL3 completed +21-237-13:00:39.252 00 SPR-I:OPRO ==> Default Destination File Table filename = 'ds_file_tbl.tbl' +21-237-13:00:39.254 00 SPR-I:OPRO ==> Default Filter Table filename = 'ds_filter_tbl.tbl' +21-237-13:00:39.255 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/load_table.i +21-237-13:00:39.255 00 SPR-I:STS Procedure LOAD_TABLE started +21-237-13:00:39.256 00 SPR-I:OPRO Table Filename: ds_filtfile.tbl +21-237-13:00:39.257 00 SPR-I:OPRO The perl command is: perl /s/opr/accounts/global/tools/table_ftp.pl 192.168.1.8 ds_filtfile.tbl RAM:0 3 +21-237-13:00:39.257 00 SPR-I:OPRO +21-237-13:00:39.391 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-237-13:00:39.391 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:00:44.395 00 SPR-I:OPRO +21-237-13:00:44.397 00 SPR-I:OPRO Sending Command: /SCX_CPU1_TBL_LOAD LFILENAME="/ram/ds_filtfile.tbl" +21-237-13:00:44.399 00 CMH-I:CMD Command SFDU received:<1804C000004102132F72616D2F64735F66696C7466696C652E74626C0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-237-13:00:44.424 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:00:45.289 00 TLMH-I:STS 58-012-14:04:04.501 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=12 Successful load of '/ram/ds_filtfile.tbl' into 'DS.FILE_TBL' working buffer +21-237-13:00:49.431 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:00:49.433 00 SPR-I:STS Procedure LOAD_TABLE completed +21-237-13:00:49.434 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:00:54.440 00 CMH-I:CMD Command SFDU received:<1804C000002B0436000044532E46494C455F54424C0000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-237-13:00:54.453 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:00:56.790 00 TLMH-I:STS 58-012-14:04:16.004 INFO CPU=CPU1 APPNAME=DS EVENT ID=10 Destination file table verify results: desc text = OK, good entries = 8, bad = 0, unused = 8 +21-237-13:00:56.791 00 TLMH-I:STS 58-012-14:04:16.004 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=36 DS validation successful for Inactive 'DS.FILE_TBL' +21-237-13:00:59.459 00 CMH-I:CMD Command SFDU received:<1804C0000029053544532E46494C455F54424C0000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-237-13:00:59.472 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:01:00.788 00 TLMH-I:STS 58-012-14:04:20.004 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=37 DS Successfully Updated 'DS.FILE_TBL' +21-237-13:01:04.478 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/load_table.i +21-237-13:01:04.479 00 SPR-I:STS Procedure LOAD_TABLE started +21-237-13:01:04.483 00 SPR-I:OPRO Table Filename: ds_filtfilter.tbl +21-237-13:01:04.484 00 SPR-I:OPRO The perl command is: perl /s/opr/accounts/global/tools/table_ftp.pl 192.168.1.8 ds_filtfilter.tbl RAM:0 3 +21-237-13:01:04.484 00 SPR-I:OPRO +21-237-13:01:04.615 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-237-13:01:04.615 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:01:09.619 00 SPR-I:OPRO +21-237-13:01:09.622 00 SPR-I:OPRO Sending Command: /SCX_CPU1_TBL_LOAD LFILENAME="/ram/ds_filtfilter.tbl" +21-237-13:01:09.624 00 CMH-I:CMD Command SFDU received:<1804C000004102152F72616D2F64735F66696C7466696C7465722E74626C000000000000000000000000000000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-237-13:01:09.643 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:01:10.281 00 TLMH-I:STS 58-012-14:04:29.501 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=12 Successful load of '/ram/ds_filtfilter.tbl' into 'DS.FILTER_TBL' working buffer +21-237-13:01:13.648 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:01:13.650 00 SPR-I:STS Procedure LOAD_TABLE completed +21-237-13:01:13.650 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:01:18.656 00 CMH-I:CMD Command SFDU received:<1804C000002B0430000044532E46494C5445525F54424C000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-237-13:01:18.670 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:01:20.785 00 TLMH-I:STS 58-012-14:04:40.004 INFO CPU=CPU1 APPNAME=DS EVENT ID=12 Filter table verify results: desc text = OK, good entries = 6, bad = 0, unused = 250 +21-237-13:01:20.786 00 TLMH-I:STS 58-012-14:04:40.004 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=36 DS validation successful for Inactive 'DS.FILTER_TBL' +21-237-13:01:23.676 00 CMH-I:CMD Command SFDU received:<1804C0000029053344532E46494C5445525F54424C000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-237-13:01:23.688 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:01:24.785 00 TLMH-I:STS 58-012-14:04:44.004 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=37 DS Successfully Updated 'DS.FILTER_TBL' +21-237-13:01:28.692 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:01:28.693 00 SPR-I:OPRO ; Step 1.3: Display the Housekeeping pages +21-237-13:01:28.693 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:01:28.788 00 DPD-I:STS Page SCX_CPU1_DS_HK added (cid:1). +21-237-13:01:28.874 00 DPD-I:STS Page SCX_CPU1_TST_DS_HK added (cid:1). +21-237-13:01:28.968 00 DPD-I:STS Page SCX_CPU1_DS_FILTER_TBL added (cid:1). +21-237-13:01:29.080 00 DPD-I:STS Page SCX_CPU1_DS_FILE_TBL added (cid:1). +21-237-13:01:29.088 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:01:29.088 00 SPR-I:OPRO ; Step 1.4: Start the Data Storage (DS) and Test Applications. +21-237-13:01:29.088 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:01:29.093 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:01:37.103 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:01:37.105 00 SPR-I:OPRO <*> Passed (8000) - Housekeeping packet is being generated. +21-237-13:01:37.110 00 SPR-I:OPRO <*> Passed (9000) - Housekeeping telemetry initialized properly. +21-237-13:01:37.114 00 SPR-I:OPRO <*> Passed (9005;9007) - The tables were validated properly. +21-237-13:01:37.145 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/get_file_to_cvt.i +21-237-13:01:37.148 00 SPR-I:STS Procedure GET_FILE_TO_CVT started +21-237-13:01:37.177 00 SPR-I:OPRO Sending Command: /SCX_CPU1_SB_WRITEROUTING2FILE ROUTINFOFILENAME="/ram/cfe_sb_route.dat" +21-237-13:01:37.178 00 CMH-I:CMD Command SFDU received:<1803C0000041034F2F72616D2F6366655F73625F726F7574652E64617400000000000000000000000000000000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-237-13:01:37.190 00 SPR-I:STTE Wait mode - waiting 15 seconds ... +21-237-13:01:52.202 00 SPR-I:OPRO The APID is: P0F02 +21-237-13:01:52.202 00 SPR-I:OPRO The CPU is: CPU3 +21-237-13:01:52.202 00 SPR-I:OPRO The IP Address is: 192.168.1.8 +21-237-13:01:52.204 00 SPR-I:OPRO The perl command is: perl /s/opr/accounts/global/tools/ftp.pl RAM:0 cfe_sb_route.dat cpu1_sb_route.dat binary 192.168.1.8 +21-237-13:01:52.339 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-237-13:01:52.339 00 SPR-I:STTE Wait mode - waiting 15 seconds ... +21-237-13:02:07.349 00 SPR-I:OPRO +21-237-13:02:07.369 00 SPR-I:OPRO The unix command is cvt -ws file_list[3842].file_write_time "`date +%y-%j-%T -r /s/opr/accounts/cfs_test/image/cpu1_sb_route.dat`" +21-237-13:02:07.369 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:02:12.376 00 SPR-I:STS Procedure GET_FILE_TO_CVT completed +21-237-13:02:12.377 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:02:15.890 00 SPR-I:OPRI --> page SCX_CPU1_DS_FILE_HK +21-237-13:02:15.958 00 DPD-I:STS Page SCX_CPU1_DS_FILE_HK added (cid:1). +21-237-13:02:17.465 00 SPR-I:OPRO == Looking for msgID = 0900 +21-237-13:02:17.471 00 SPR-I:OPRO == Looking for msgID = 0901 +21-237-13:02:17.476 00 SPR-I:OPRO == Looking for msgID = 0902 +21-237-13:02:17.482 00 SPR-I:OPRO == Looking for msgID = 0903 +21-237-13:02:17.488 00 SPR-I:OPRO == Looking for msgID = 0904 +21-237-13:02:17.491 00 SPR-I:OPRO == Looking for msgID = 0905 +21-237-13:02:19.412 00 SPR-I:OPRO Failed (9006) - Expected 6 message ID subscriptions. Found 0 +21-237-13:02:19.414 00 SPR-I:OPRO <*> Passed (9008) - DS Application State is enabled as expected. +21-237-13:02:19.415 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:02:24.418 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:02:24.418 00 SPR-I:OPRO ; Step 1.5: Enable DEBUG Event Messages +21-237-13:02:24.418 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:02:24.419 00 CMH-I:CMD Command SFDU received:<1801C0000017052244530000000000000000000000000000000000000100> from gs582cfslab4:SPR +21-237-13:02:24.432 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:02:29.437 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:02:29.439 00 SPR-I:OPRO <*> Passed - Enable Debug events command sent properly. +21-237-13:02:29.439 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:02:29.439 00 SPR-I:OPRO ; Step 1.6: Dump the Destination File and Packet Filter tables. +21-237-13:02:29.440 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:02:29.440 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/get_tbl_to_cvt.i +21-237-13:02:29.443 00 SPR-I:STS Procedure GET_TBL_TO_CVT started +21-237-13:02:29.462 00 SPR-I:OPRO Sending Command: /SCX_CPU1_TBL_DUMP ACTIVE DTABLENAME="DS.FILTER_TBL" DFILENAME="/ram/cpu1_filtertbl16" +21-237-13:02:29.463 00 CMH-I:CMD Command SFDU received:<1804C000006B037D000144532E46494C5445525F54424C0000000000000000000000000000000000000000000000000000002F72616D2F637075315F66696C74657274626C313600000000000000000000000000000000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-237-13:02:29.475 00 SPR-I:STTE Wait mode - waiting 15 seconds ... +21-237-13:02:30.280 00 TLMH-I:STS 58-012-14:05:49.502 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=14 Successfully dumped Table 'DS.FILTER_TBL' to '/ram/cpu1_filtertbl16' +21-237-13:02:44.487 00 SPR-I:OPRO +21-237-13:02:44.487 00 SPR-I:OPRO The TBLNAME is: DS.FILTER_TBL +21-237-13:02:44.487 00 SPR-I:OPRO The APID is: P0F77 +21-237-13:02:44.487 00 SPR-I:OPRO The CPU is: CPU3 +21-237-13:02:44.487 00 SPR-I:OPRO The IP Address is: 192.168.1.8 +21-237-13:02:44.488 00 SPR-I:OPRO The perl command is: perl /s/opr/accounts/global/tools/ftp.pl RAM:0 cpu1_filtertbl16 cpu1_filtertbl16 binary 192.168.1.8 +21-237-13:02:44.621 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-237-13:02:44.622 00 SPR-I:STTE Wait mode - waiting 15 seconds ... +21-237-13:02:59.634 00 SPR-I:OPRO +21-237-13:02:59.673 00 SPR-I:OPRO The unix command is cvt -ws file_list[3959].file_write_time "`date +%y-%j-%T -r /s/opr/accounts/cfs_test/image/cpu1_filtertbl16`" +21-237-13:02:59.673 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:03:04.678 00 SPR-I:STS Procedure GET_TBL_TO_CVT completed +21-237-13:03:04.680 00 SPR-I:OPRO ==> MessageID = 0900 +21-237-13:03:04.681 00 SPR-I:OPRO ==> File Index = 0 +21-237-13:03:04.682 00 SPR-I:OPRO ==> Filter Type = 1 +21-237-13:03:04.682 00 SPR-I:OPRO ==> N Value = 1 +21-237-13:03:04.683 00 SPR-I:OPRO ==> X Value = 1 +21-237-13:03:04.683 00 SPR-I:OPRO ==> O Value = 0 +21-237-13:03:04.695 00 SPR-I:OPRO ==> File Index = 1 +21-237-13:03:04.696 00 SPR-I:OPRO ==> Filter Type = 1 +21-237-13:03:04.697 00 SPR-I:OPRO ==> N Value = 1 +21-237-13:03:04.697 00 SPR-I:OPRO ==> X Value = 1 +21-237-13:03:04.698 00 SPR-I:OPRO ==> O Value = 0 +21-237-13:03:04.700 00 SPR-I:OPRO ==> File Index = 2 +21-237-13:03:04.700 00 SPR-I:OPRO ==> Filter Type = 1 +21-237-13:03:04.701 00 SPR-I:OPRO ==> N Value = 1 +21-237-13:03:04.702 00 SPR-I:OPRO ==> X Value = 1 +21-237-13:03:04.703 00 SPR-I:OPRO ==> O Value = 0 +21-237-13:03:04.707 00 SPR-I:OPRO ==> File Index = 3 +21-237-13:03:04.708 00 SPR-I:OPRO ==> Filter Type = 1 +21-237-13:03:04.708 00 SPR-I:OPRO ==> N Value = 1 +21-237-13:03:04.709 00 SPR-I:OPRO ==> X Value = 1 +21-237-13:03:04.710 00 SPR-I:OPRO ==> O Value = 0 +21-237-13:03:04.712 00 SPR-I:OPRO ==> MessageID = 0901 +21-237-13:03:04.713 00 SPR-I:OPRO ==> File Index = 4 +21-237-13:03:04.714 00 SPR-I:OPRO ==> Filter Type = 2 +21-237-13:03:04.714 00 SPR-I:OPRO ==> N Value = 1 +21-237-13:03:04.715 00 SPR-I:OPRO ==> X Value = 1 +21-237-13:03:04.716 00 SPR-I:OPRO ==> O Value = 0 +21-237-13:03:04.731 00 SPR-I:OPRO ==> File Index = 5 +21-237-13:03:04.732 00 SPR-I:OPRO ==> Filter Type = 2 +21-237-13:03:04.732 00 SPR-I:OPRO ==> N Value = 1 +21-237-13:03:04.732 00 SPR-I:OPRO ==> X Value = 1 +21-237-13:03:04.732 00 SPR-I:OPRO ==> O Value = 0 +21-237-13:03:04.733 00 SPR-I:OPRO ==> File Index = 6 +21-237-13:03:04.733 00 SPR-I:OPRO ==> Filter Type = 2 +21-237-13:03:04.733 00 SPR-I:OPRO ==> N Value = 1 +21-237-13:03:04.733 00 SPR-I:OPRO ==> X Value = 1 +21-237-13:03:04.733 00 SPR-I:OPRO ==> O Value = 0 +21-237-13:03:04.740 00 SPR-I:OPRO ==> File Index = 7 +21-237-13:03:04.740 00 SPR-I:OPRO ==> Filter Type = 2 +21-237-13:03:04.741 00 SPR-I:OPRO ==> N Value = 1 +21-237-13:03:04.741 00 SPR-I:OPRO ==> X Value = 1 +21-237-13:03:04.741 00 SPR-I:OPRO ==> O Value = 0 +21-237-13:03:04.742 00 SPR-I:OPRO ==> MessageID = 0902 +21-237-13:03:04.742 00 SPR-I:OPRO ==> File Index = 0 +21-237-13:03:04.742 00 SPR-I:OPRO ==> Filter Type = 1 +21-237-13:03:04.742 00 SPR-I:OPRO ==> N Value = 1 +21-237-13:03:04.742 00 SPR-I:OPRO ==> X Value = 3 +21-237-13:03:04.743 00 SPR-I:OPRO ==> O Value = 0 +21-237-13:03:04.749 00 SPR-I:OPRO ==> MessageID = 0903 +21-237-13:03:04.749 00 SPR-I:OPRO ==> File Index = 1 +21-237-13:03:04.750 00 SPR-I:OPRO ==> Filter Type = 1 +21-237-13:03:04.750 00 SPR-I:OPRO ==> N Value = 1 +21-237-13:03:04.750 00 SPR-I:OPRO ==> X Value = 1 +21-237-13:03:04.750 00 SPR-I:OPRO ==> O Value = 0 +21-237-13:03:04.752 00 SPR-I:OPRO ==> MessageID = 0904 +21-237-13:03:04.752 00 SPR-I:OPRO ==> File Index = 4 +21-237-13:03:04.752 00 SPR-I:OPRO ==> Filter Type = 1 +21-237-13:03:04.753 00 SPR-I:OPRO ==> N Value = 1 +21-237-13:03:04.753 00 SPR-I:OPRO ==> X Value = 1 +21-237-13:03:04.758 00 SPR-I:OPRO ==> O Value = 0 +21-237-13:03:04.760 00 SPR-I:OPRO ==> MessageID = 0905 +21-237-13:03:04.761 00 SPR-I:OPRO ==> File Index = 1 +21-237-13:03:04.761 00 SPR-I:OPRO ==> Filter Type = 2 +21-237-13:03:04.761 00 SPR-I:OPRO ==> N Value = 1 +21-237-13:03:04.761 00 SPR-I:OPRO ==> X Value = 1 +21-237-13:03:04.761 00 SPR-I:OPRO ==> O Value = 0 +21-237-13:03:04.769 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/get_tbl_to_cvt.i +21-237-13:03:04.770 00 SPR-I:STS Procedure GET_TBL_TO_CVT started +21-237-13:03:04.781 00 SPR-I:OPRO Sending Command: /SCX_CPU1_TBL_DUMP ACTIVE DTABLENAME="DS.FILE_TBL" DFILENAME="/ram/cpu1_filetbl17" +21-237-13:03:04.782 00 CMH-I:CMD Command SFDU received:<1804C000006B037C000144532E46494C455F54424C00000000000000000000000000000000000000000000000000000000002F72616D2F637075315F66696C6574626C3137000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-237-13:03:04.794 00 SPR-I:STTE Wait mode - waiting 15 seconds ... +21-237-13:03:05.280 00 TLMH-I:STS 58-012-14:06:24.502 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=14 Successfully dumped Table 'DS.FILE_TBL' to '/ram/cpu1_filetbl17' +21-237-13:03:19.805 00 SPR-I:OPRO +21-237-13:03:19.805 00 SPR-I:OPRO The TBLNAME is: DS.FILE_TBL +21-237-13:03:19.805 00 SPR-I:OPRO The APID is: P0F76 +21-237-13:03:19.806 00 SPR-I:OPRO The CPU is: CPU3 +21-237-13:03:19.806 00 SPR-I:OPRO The IP Address is: 192.168.1.8 +21-237-13:03:19.810 00 SPR-I:OPRO The perl command is: perl /s/opr/accounts/global/tools/ftp.pl RAM:0 cpu1_filetbl17 cpu1_filetbl17 binary 192.168.1.8 +21-237-13:03:19.985 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-237-13:03:19.985 00 SPR-I:STTE Wait mode - waiting 15 seconds ... +21-237-13:03:34.996 00 SPR-I:OPRO +21-237-13:03:35.013 00 SPR-I:OPRO The unix command is cvt -ws file_list[3958].file_write_time "`date +%y-%j-%T -r /s/opr/accounts/cfs_test/image/cpu1_filetbl17`" +21-237-13:03:35.013 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:03:40.019 00 SPR-I:STS Procedure GET_TBL_TO_CVT completed +21-237-13:03:40.021 00 SPR-I:OPRO ==> Pathname = '/ram/' +21-237-13:03:40.022 00 SPR-I:OPRO ==> Basename = 'seq1' +21-237-13:03:40.022 00 SPR-I:OPRO ==> Extension = '.dat' +21-237-13:03:40.023 00 SPR-I:OPRO ==> Name Type = Count +21-237-13:03:40.023 00 SPR-I:OPRO ==> State = Enabled +21-237-13:03:40.023 00 SPR-I:OPRO ==> Max Size = 1024 +21-237-13:03:40.023 00 SPR-I:OPRO ==> Max Age = 600 +21-237-13:03:40.023 00 SPR-I:OPRO ==> Seq Count = 100 +21-237-13:03:40.027 00 SPR-I:OPRO ==> Pathname = '/ram/' +21-237-13:03:40.027 00 SPR-I:OPRO ==> Basename = 'seq2' +21-237-13:03:40.027 00 SPR-I:OPRO ==> Extension = '.dat' +21-237-13:03:40.027 00 SPR-I:OPRO ==> Name Type = Count +21-237-13:03:40.027 00 SPR-I:OPRO ==> State = Enabled +21-237-13:03:40.028 00 SPR-I:OPRO ==> Max Size = 1024 +21-237-13:03:40.028 00 SPR-I:OPRO ==> Max Age = 600 +21-237-13:03:40.028 00 SPR-I:OPRO ==> Seq Count = 200 +21-237-13:03:40.029 00 SPR-I:OPRO ==> Pathname = '/ram/' +21-237-13:03:40.029 00 SPR-I:OPRO ==> Basename = 'seq3' +21-237-13:03:40.029 00 SPR-I:OPRO ==> Extension = '.dat' +21-237-13:03:40.029 00 SPR-I:OPRO ==> Name Type = Count +21-237-13:03:40.029 00 SPR-I:OPRO ==> State = Enabled +21-237-13:03:40.031 00 SPR-I:OPRO ==> Max Size = 1024 +21-237-13:03:40.031 00 SPR-I:OPRO ==> Max Age = 600 +21-237-13:03:40.031 00 SPR-I:OPRO ==> Seq Count = 300 +21-237-13:03:40.032 00 SPR-I:OPRO ==> Pathname = '/ram/' +21-237-13:03:40.032 00 SPR-I:OPRO ==> Basename = 'seq4' +21-237-13:03:40.032 00 SPR-I:OPRO ==> Extension = '.dat' +21-237-13:03:40.032 00 SPR-I:OPRO ==> Name Type = Count +21-237-13:03:40.032 00 SPR-I:OPRO ==> State = Enabled +21-237-13:03:40.032 00 SPR-I:OPRO ==> Max Size = 1024 +21-237-13:03:40.032 00 SPR-I:OPRO ==> Max Age = 600 +21-237-13:03:40.033 00 SPR-I:OPRO ==> Seq Count = 400 +21-237-13:03:40.041 00 SPR-I:OPRO ==> Pathname = '/ram/' +21-237-13:03:40.043 00 SPR-I:OPRO ==> Basename = 'time1' +21-237-13:03:40.043 00 SPR-I:OPRO ==> Extension = '' +21-237-13:03:40.043 00 SPR-I:OPRO ==> Name Type = Time +21-237-13:03:40.043 00 SPR-I:OPRO ==> State = Enabled +21-237-13:03:40.044 00 SPR-I:OPRO ==> Max Size = 1024 +21-237-13:03:40.044 00 SPR-I:OPRO ==> Max Age = 60 +21-237-13:03:40.044 00 SPR-I:OPRO ==> Seq Count = 0 +21-237-13:03:40.045 00 SPR-I:OPRO ==> Pathname = '/ram/' +21-237-13:03:40.045 00 SPR-I:OPRO ==> Basename = 'time2' +21-237-13:03:40.052 00 SPR-I:OPRO ==> Extension = '' +21-237-13:03:40.053 00 SPR-I:OPRO ==> Name Type = Time +21-237-13:03:40.053 00 SPR-I:OPRO ==> State = Enabled +21-237-13:03:40.053 00 SPR-I:OPRO ==> Max Size = 1024 +21-237-13:03:40.053 00 SPR-I:OPRO ==> Max Age = 60 +21-237-13:03:40.053 00 SPR-I:OPRO ==> Seq Count = 0 +21-237-13:03:40.054 00 SPR-I:OPRO ==> Pathname = '/ram/' +21-237-13:03:40.054 00 SPR-I:OPRO ==> Basename = 'time3' +21-237-13:03:40.054 00 SPR-I:OPRO ==> Extension = '' +21-237-13:03:40.054 00 SPR-I:OPRO ==> Name Type = Time +21-237-13:03:40.054 00 SPR-I:OPRO ==> State = Enabled +21-237-13:03:40.054 00 SPR-I:OPRO ==> Max Size = 1024 +21-237-13:03:40.054 00 SPR-I:OPRO ==> Max Age = 60 +21-237-13:03:40.055 00 SPR-I:OPRO ==> Seq Count = 0 +21-237-13:03:40.056 00 SPR-I:OPRO ==> Pathname = '/ram/' +21-237-13:03:40.056 00 SPR-I:OPRO ==> Basename = 'time4' +21-237-13:03:40.056 00 SPR-I:OPRO ==> Extension = '' +21-237-13:03:40.056 00 SPR-I:OPRO ==> Name Type = Time +21-237-13:03:40.061 00 SPR-I:OPRO ==> State = Enabled +21-237-13:03:40.061 00 SPR-I:OPRO ==> Max Size = 1024 +21-237-13:03:40.061 00 SPR-I:OPRO ==> Max Age = 60 +21-237-13:03:40.061 00 SPR-I:OPRO ==> Seq Count = 0 +21-237-13:03:40.062 00 SPR-I:OPRO <*> Passed (9001) - The Destination File and Packet Filter Table were loaded with 8 and 6 valid entries. +21-237-13:03:40.063 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:03:45.067 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:03:45.067 00 SPR-I:OPRO ; Step 2.0: Power-On Reset Tests. +21-237-13:03:45.067 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:03:45.067 00 SPR-I:OPRO ; Step 2.1: Remove the default Packet Filter table file. +21-237-13:03:45.068 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:03:45.068 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/ftp_file.i +21-237-13:03:45.069 00 SPR-I:STS Procedure FTP_FILE started +21-237-13:03:45.205 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-237-13:03:45.206 00 SPR-I:STS Procedure FTP_FILE completed +21-237-13:03:45.206 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:03:50.210 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:03:50.210 00 SPR-I:OPRO ; Step 2.2: Perform a Power-On Reset on CPU1. +21-237-13:03:50.210 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:03:50.211 00 CMH-I:CMD Command SFDU received:<1806C000000302220002> from gs582cfslab4:SPR +21-237-13:03:50.223 00 SPR-I:STTE Wait mode - waiting 10 seconds ... +21-237-13:04:00.231 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/clear_spacecraft_status.i +21-237-13:04:00.233 00 SPR-I:STS Procedure CLEAR_SPACECRAFT_STATUS started +21-237-13:04:00.248 00 SPR-I:STS Procedure CLEAR_SPACECRAFT_STATUS completed +21-237-13:04:00.301 00 SPR-I:STTE Wait mode - waiting 60 seconds ... +21-237-13:05:00.365 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:05:06.325 00 CMH-I:STS Connected to FEDS:FEDS for commanding (internal ID 0). +21-237-13:05:10.375 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:05:10.442 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/send_that_to_command.i +21-237-13:05:10.442 00 SPR-I:STS Procedure SEND_THAT_TO_COMMAND started +21-237-13:05:10.443 00 SPR-I:OPRO Sending: /SCX_CPU1_TO_OUTPUT_ENA gs582cfslab4 +21-237-13:05:10.443 00 CMH-I:CMD Command SFDU received:<1880C0000011069A3139322E3136382E312E313031000000> from gs582cfslab4:SPR +21-237-13:05:10.494 00 SPR-I:STS Procedure SEND_THAT_TO_COMMAND completed +21-237-13:05:10.495 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:05:11.781 00 TLMH-I:STS 58-012-14:03:49.450 INFO CPU=CPU1 APPNAME=TO_LAB_APP EVENT ID=3 TO telemetry output enabled for IP 192.168.1.101 +21-237-13:05:14.499 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:05:14.500 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/fill_in_spacecraft_status.i +21-237-13:05:14.502 00 SPR-I:STS Procedure FILL_IN_SPACECRAFT_STATUS started +21-237-13:05:14.507 00 SPR-I:STS Procedure FILL_IN_SPACECRAFT_STATUS completed +21-237-13:05:14.507 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:05:19.511 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:05:19.511 00 SPR-I:OPRO ; Step 2.3: Start the Data Storage (DS) and Test Applications. +21-237-13:05:19.511 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:05:19.518 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:05:19.518 00 SPR-I:OPRO ; Setup event 3 with CFE_TBL ERROR 53 +21-237-13:05:19.519 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:05:19.529 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:05:19.530 00 SPR-I:OPRO ; Setup event 4 with DS ERROR 8 +21-237-13:05:19.530 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:05:19.532 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:05:19.533 00 SPR-I:OPRO ; Step 2.4: Enable DEBUG Event Messages +21-237-13:05:19.546 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:05:19.548 00 CMH-I:CMD Command SFDU received:<1801C0000017052244530000000000000000000000000000000000000100> from gs582cfslab4:SPR +21-237-13:05:19.564 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:05:22.567 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:05:22.567 00 SPR-I:OPRO <*> Passed - Enable Debug events command sent properly. +21-237-13:05:22.568 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:05:22.568 00 SPR-I:OPRO ; Step 2.5: Restore the default Packet Filter Table file. +21-237-13:05:22.568 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:05:22.568 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/ftp_file.i +21-237-13:05:22.568 00 SPR-I:STS Procedure FTP_FILE started +21-237-13:05:23.032 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-237-13:05:23.033 00 SPR-I:STS Procedure FTP_FILE completed +21-237-13:05:23.034 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:05:28.038 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:05:28.038 00 SPR-I:OPRO ; Step 2.6: Remove the default Destination File Table file. +21-237-13:05:28.038 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:05:28.039 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/ftp_file.i +21-237-13:05:28.040 00 SPR-I:STS Procedure FTP_FILE started +21-237-13:05:28.143 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-237-13:05:28.143 00 SPR-I:STS Procedure FTP_FILE completed +21-237-13:05:28.143 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:05:33.148 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:05:33.148 00 SPR-I:OPRO ; Step 2.7: Perform a Power-On Reset on CPU1. +21-237-13:05:33.148 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:05:33.150 00 CMH-I:CMD Command SFDU received:<1806C000000302220002> from gs582cfslab4:SPR +21-237-13:05:33.163 00 SPR-I:STTE Wait mode - waiting 10 seconds ... +21-237-13:05:43.173 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/clear_spacecraft_status.i +21-237-13:05:43.174 00 SPR-I:STS Procedure CLEAR_SPACECRAFT_STATUS started +21-237-13:05:43.181 00 SPR-I:STS Procedure CLEAR_SPACECRAFT_STATUS completed +21-237-13:05:43.225 00 SPR-I:STTE Wait mode - waiting 60 seconds ... +21-237-13:06:43.289 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:06:49.245 00 CMH-I:STS Connected to FEDS:FEDS for commanding (internal ID 0). +21-237-13:06:53.299 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:06:53.363 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/send_that_to_command.i +21-237-13:06:53.363 00 SPR-I:STS Procedure SEND_THAT_TO_COMMAND started +21-237-13:06:53.364 00 SPR-I:OPRO Sending: /SCX_CPU1_TO_OUTPUT_ENA gs582cfslab4 +21-237-13:06:53.365 00 CMH-I:CMD Command SFDU received:<1880C0000011069A3139322E3136382E312E313031000000> from gs582cfslab4:SPR +21-237-13:06:53.415 00 SPR-I:STS Procedure SEND_THAT_TO_COMMAND completed +21-237-13:06:53.416 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:06:54.807 00 TLMH-I:STS 58-012-14:03:49.450 INFO CPU=CPU1 APPNAME=TO_LAB_APP EVENT ID=3 TO telemetry output enabled for IP 192.168.1.101 +21-237-13:06:57.420 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:06:57.421 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/fill_in_spacecraft_status.i +21-237-13:06:57.422 00 SPR-I:STS Procedure FILL_IN_SPACECRAFT_STATUS started +21-237-13:06:57.435 00 SPR-I:STS Procedure FILL_IN_SPACECRAFT_STATUS completed +21-237-13:06:57.436 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:07:02.440 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:07:02.440 00 SPR-I:OPRO ; Step 2.8: Start the Data Storage (DS) and Test Applications. +21-237-13:07:02.440 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:07:02.446 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:07:02.446 00 SPR-I:OPRO ; Setup event 3 with CFE_TBL ERROR 53 +21-237-13:07:02.446 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:07:02.448 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:07:02.448 00 SPR-I:OPRO ; Setup event 4 with DS ERROR 8 +21-237-13:07:02.448 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:07:02.448 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:07:02.448 00 SPR-I:OPRO ; Step 2.9: Enable DEBUG Event Messages +21-237-13:07:02.456 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:07:02.457 00 CMH-I:CMD Command SFDU received:<1801C0000017052244530000000000000000000000000000000000000100> from gs582cfslab4:SPR +21-237-13:07:02.471 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:07:05.473 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:07:05.474 00 SPR-I:OPRO <*> Passed - Enable Debug events command sent properly. +21-237-13:07:05.474 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:07:05.474 00 SPR-I:OPRO ; Step 2.10: Remove the default Packet Filter table file. +21-237-13:07:05.474 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:07:05.474 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/ftp_file.i +21-237-13:07:05.474 00 SPR-I:STS Procedure FTP_FILE started +21-237-13:07:05.605 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-237-13:07:05.605 00 SPR-I:STS Procedure FTP_FILE completed +21-237-13:07:05.605 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:07:10.609 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:07:10.609 00 SPR-I:OPRO ; Step 2.11: Perform a Power-On Reset on CPU1. +21-237-13:07:10.609 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:07:10.610 00 CMH-I:CMD Command SFDU received:<1806C000000302220002> from gs582cfslab4:SPR +21-237-13:07:10.622 00 SPR-I:STTE Wait mode - waiting 10 seconds ... +21-237-13:07:20.630 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/clear_spacecraft_status.i +21-237-13:07:20.631 00 SPR-I:STS Procedure CLEAR_SPACECRAFT_STATUS started +21-237-13:07:20.646 00 SPR-I:STS Procedure CLEAR_SPACECRAFT_STATUS completed +21-237-13:07:20.697 00 SPR-I:STTE Wait mode - waiting 60 seconds ... +21-237-13:08:20.762 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:08:26.721 00 CMH-I:STS Connected to FEDS:FEDS for commanding (internal ID 0). +21-237-13:08:30.772 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:08:30.836 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/send_that_to_command.i +21-237-13:08:30.841 00 SPR-I:STS Procedure SEND_THAT_TO_COMMAND started +21-237-13:08:30.846 00 SPR-I:OPRO Sending: /SCX_CPU1_TO_OUTPUT_ENA gs582cfslab4 +21-237-13:08:30.847 00 CMH-I:CMD Command SFDU received:<1880C0000011069A3139322E3136382E312E313031000000> from gs582cfslab4:SPR +21-237-13:08:30.898 00 SPR-I:STS Procedure SEND_THAT_TO_COMMAND completed +21-237-13:08:30.898 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:08:31.785 00 TLMH-I:STS 58-012-14:03:48.917 INFO CPU=CPU1 APPNAME=TO_LAB_APP EVENT ID=3 TO telemetry output enabled for IP 192.168.1.101 +21-237-13:08:34.901 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:08:34.902 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/fill_in_spacecraft_status.i +21-237-13:08:34.902 00 SPR-I:STS Procedure FILL_IN_SPACECRAFT_STATUS started +21-237-13:08:34.905 00 SPR-I:STS Procedure FILL_IN_SPACECRAFT_STATUS completed +21-237-13:08:34.906 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:08:39.909 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:08:39.909 00 SPR-I:OPRO ; Step 2.12: Start the Data Storage (DS) and Test Applications. +21-237-13:08:39.909 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:08:39.916 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:08:39.916 00 SPR-I:OPRO ; Setup event 3 with CFE_TBL ERROR 53 +21-237-13:08:39.916 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:08:39.925 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:08:39.926 00 SPR-I:OPRO ; Setup event 4 with DS ERROR 8 +21-237-13:08:39.926 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:08:39.928 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:08:39.929 00 SPR-I:OPRO ; Step 2.13: Restore the default Table files. +21-237-13:08:39.946 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:08:39.947 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/ftp_file.i +21-237-13:08:39.947 00 SPR-I:STS Procedure FTP_FILE started +21-237-13:08:40.248 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-237-13:08:40.249 00 SPR-I:STS Procedure FTP_FILE completed +21-237-13:08:40.250 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:08:45.255 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/ftp_file.i +21-237-13:08:45.255 00 SPR-I:STS Procedure FTP_FILE started +21-237-13:08:45.633 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-237-13:08:45.633 00 SPR-I:STS Procedure FTP_FILE completed +21-237-13:08:45.635 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:08:50.638 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:08:50.638 00 SPR-I:OPRO ; Step 2.14: Utilizing the TST_DS application, send the command that +21-237-13:08:50.638 00 SPR-I:OPRO ; will set all the counters that get reset to zero (0) by the Reset +21-237-13:08:50.639 00 SPR-I:OPRO ; command to a non-zero value. +21-237-13:08:50.639 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:08:50.643 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:08:50.643 00 SPR-I:OPRO ; Setup event 1 with TST_DS INFO 4 +21-237-13:08:50.644 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:08:50.646 00 CMH-I:CMD Command SFDU received:<1943C00000010266> from gs582cfslab4:SPR +21-237-13:08:50.665 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:08:51.283 00 TLMH-I:STS 58-012-14:04:08.500 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=4 Set counters to non-zero command +21-237-13:08:51.666 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:08:51.668 00 SPR-I:OPRO <*> Passed - Expected Event Msg 4 rcv'd. +21-237-13:08:51.668 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:08:56.673 00 SPR-I:OPRO <*> Passed - Counters are all non-zero. Sending reset command. +21-237-13:08:56.673 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:09:01.676 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:09:01.677 00 SPR-I:OPRO ; Step 2.15: Perform a Power-On Reset on CPU1. +21-237-13:09:01.677 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:09:01.678 00 CMH-I:CMD Command SFDU received:<1806C000000302220002> from gs582cfslab4:SPR +21-237-13:09:01.689 00 SPR-I:STTE Wait mode - waiting 10 seconds ... +21-237-13:09:11.697 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/clear_spacecraft_status.i +21-237-13:09:11.698 00 SPR-I:STS Procedure CLEAR_SPACECRAFT_STATUS started +21-237-13:09:11.711 00 SPR-I:STS Procedure CLEAR_SPACECRAFT_STATUS completed +21-237-13:09:11.776 00 SPR-I:STTE Wait mode - waiting 60 seconds ... +21-237-13:10:11.844 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:10:17.800 00 CMH-I:STS Connected to FEDS:FEDS for commanding (internal ID 0). +21-237-13:10:21.855 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:10:21.925 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/send_that_to_command.i +21-237-13:10:21.925 00 SPR-I:STS Procedure SEND_THAT_TO_COMMAND started +21-237-13:10:21.926 00 SPR-I:OPRO Sending: /SCX_CPU1_TO_OUTPUT_ENA gs582cfslab4 +21-237-13:10:21.927 00 CMH-I:CMD Command SFDU received:<1880C0000011069A3139322E3136382E312E313031000000> from gs582cfslab4:SPR +21-237-13:10:21.979 00 SPR-I:STS Procedure SEND_THAT_TO_COMMAND completed +21-237-13:10:21.980 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:10:23.264 00 TLMH-I:STS 58-012-14:03:49.450 INFO CPU=CPU1 APPNAME=TO_LAB_APP EVENT ID=3 TO telemetry output enabled for IP 192.168.1.101 +21-237-13:10:25.984 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:10:25.985 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/fill_in_spacecraft_status.i +21-237-13:10:25.986 00 SPR-I:STS Procedure FILL_IN_SPACECRAFT_STATUS started +21-237-13:10:25.996 00 SPR-I:STS Procedure FILL_IN_SPACECRAFT_STATUS completed +21-237-13:10:25.997 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:10:31.001 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:10:31.001 00 SPR-I:OPRO ; Step 2.16: Start the Data Storage (DS) and Test Applications. +21-237-13:10:31.001 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:10:31.010 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:10:38.018 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:10:38.020 00 SPR-I:OPRO <*> Passed (8000) - Housekeeping packet is being generated. +21-237-13:10:38.024 00 SPR-I:OPRO <*> Passed (9000) - Housekeeping telemetry initialized properly. +21-237-13:10:38.026 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:10:38.026 00 SPR-I:OPRO ; Step 2.17: Enable DEBUG Event Messages +21-237-13:10:38.026 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:10:38.036 00 CMH-I:CMD Command SFDU received:<1801C0000017052244530000000000000000000000000000000000000100> from gs582cfslab4:SPR +21-237-13:10:38.041 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:10:42.045 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:10:42.047 00 SPR-I:OPRO <*> Passed - Enable Debug events command sent properly. +21-237-13:10:42.048 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:10:42.048 00 SPR-I:OPRO ; Step 3.0: Processor Reset Tests. +21-237-13:10:42.048 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:10:42.048 00 SPR-I:OPRO ; Step 3.1: Utilizing the TST_DS application, send several messages to +21-237-13:10:42.049 00 SPR-I:OPRO ; the DS application so that files can be created and opened. +21-237-13:10:42.049 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:10:42.049 00 SPR-I:OPRO ; Step 3.1.1: Parse the Packet Filter table to find several entries to +21-237-13:10:42.049 00 SPR-I:OPRO ; send messages to. +21-237-13:10:42.064 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:10:42.068 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:10:42.068 00 SPR-I:OPRO ; Step 3.1.2: Send the TST_DS command to send messages to DS using the +21-237-13:10:42.068 00 SPR-I:OPRO ; message IDs found in the previous step. +21-237-13:10:42.068 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:10:42.072 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:10:42.073 00 SPR-I:OPRO ; Setup event 1 with TST_DS INFO 5 +21-237-13:10:42.073 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:10:42.074 00 CMH-I:CMD Command SFDU received:<1943C000000903C30000090101A50000> from gs582cfslab4:SPR +21-237-13:10:42.086 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:10:42.754 00 TLMH-I:STS 58-012-14:04:09.004 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Message Size 116 to MID 0x00000901 +21-237-13:10:47.093 00 CMH-I:CMD Command SFDU received:<1943C000000903C00000090201A50000> from gs582cfslab4:SPR +21-237-13:10:47.106 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:10:47.755 00 TLMH-I:STS 58-012-14:04:14.001 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Message Size 116 to MID 0x00000902 +21-237-13:10:52.113 00 CMH-I:CMD Command SFDU received:<1943C000000903C10000090301A50000> from gs582cfslab4:SPR +21-237-13:10:52.124 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:10:52.754 00 TLMH-I:STS 58-012-14:04:19.002 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Message Size 116 to MID 0x00000903 +21-237-13:10:57.129 00 SPR-I:OPRO <*> Passed - Rcv'd the expected number of Send events. +21-237-13:10:57.130 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:11:02.134 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:11:02.134 00 SPR-I:OPRO ; Step 3.2: Save the file sequence counters and slots of all 'open' +21-237-13:11:02.134 00 SPR-I:OPRO ; destination files. +21-237-13:11:02.134 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:11:02.138 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-237-13:11:02.153 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:11:02.762 00 TLMH-I:STS 58-012-14:04:29.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-237-13:11:06.157 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:11:06.161 00 SPR-I:OPRO <*> Passed - A file was created with name '/ram/seq200000200.dat' +21-237-13:11:06.163 00 SPR-I:OPRO ==> SeqCount = '200' +21-237-13:11:06.168 00 SPR-I:OPRO <*> Passed - A file was created with name '/ram/time11980012140409' +21-237-13:11:06.168 00 SPR-I:OPRO <*> Passed - A file was created with name '/ram/time21980012140409' +21-237-13:11:06.171 00 SPR-I:OPRO <*> Passed - A file was created with name '/ram/time31980012140409' +21-237-13:11:06.172 00 SPR-I:OPRO <*> Passed - A file was created with name '/ram/time41980012140409' +21-237-13:11:06.189 00 CMH-I:CMD Command SFDU received:<18BBC0000005029B00000000> from gs582cfslab4:SPR +21-237-13:11:06.194 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:11:06.757 00 TLMH-I:STS 58-012-14:04:33.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=35 APP STATE command: state = 0 +21-237-13:11:10.199 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:11:10.201 00 SPR-I:OPRO <*> Passed - DS Application State command sent properly. +21-237-13:11:10.202 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:11:15.206 00 SPR-I:OPRO ;********************************************************************* +21-237-13:11:15.206 00 SPR-I:OPRO ; Step 3.3: Perform a Processor Reset. +21-237-13:11:15.206 00 SPR-I:OPRO ;********************************************************************* +21-237-13:11:15.208 00 CMH-I:CMD Command SFDU received:<1806C000000302210001> from gs582cfslab4:SPR +21-237-13:11:15.221 00 SPR-I:STTE Wait mode - waiting 10 seconds ... +21-237-13:11:25.230 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/clear_spacecraft_status.i +21-237-13:11:25.231 00 SPR-I:STS Procedure CLEAR_SPACECRAFT_STATUS started +21-237-13:11:25.238 00 SPR-I:STS Procedure CLEAR_SPACECRAFT_STATUS completed +21-237-13:11:25.285 00 SPR-I:STTE Wait mode - waiting 60 seconds ... +21-237-13:12:25.336 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:12:31.307 00 CMH-I:STS Connected to FEDS:FEDS for commanding (internal ID 0). +21-237-13:12:35.345 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:12:35.415 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/send_that_to_command.i +21-237-13:12:35.415 00 SPR-I:STS Procedure SEND_THAT_TO_COMMAND started +21-237-13:12:35.416 00 SPR-I:OPRO Sending: /SCX_CPU1_TO_OUTPUT_ENA gs582cfslab4 +21-237-13:12:35.417 00 CMH-I:CMD Command SFDU received:<1880C0000011069A3139322E3136382E312E313031000000> from gs582cfslab4:SPR +21-237-13:12:35.467 00 SPR-I:STS Procedure SEND_THAT_TO_COMMAND completed +21-237-13:12:35.468 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:12:36.167 00 TLMH-I:STS 58-012-14:05:09.600 INFO CPU=CPU1 APPNAME=TO_LAB_APP EVENT ID=3 TO telemetry output enabled for IP 192.168.1.101 +21-237-13:12:38.470 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:12:38.471 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/fill_in_spacecraft_status.i +21-237-13:12:38.473 00 SPR-I:STS Procedure FILL_IN_SPACECRAFT_STATUS started +21-237-13:12:38.478 00 SPR-I:STS Procedure FILL_IN_SPACECRAFT_STATUS completed +21-237-13:12:38.479 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:12:43.483 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:12:43.483 00 SPR-I:OPRO ; Step 3.4: Start the Data Storage (DS) and Test Applications. +21-237-13:12:43.483 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:12:43.483 00 SPR-I:OPRO <*> Passed (9005;9007) - The tables were validated properly. +21-237-13:12:43.486 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/get_file_to_cvt.i +21-237-13:12:43.489 00 SPR-I:STS Procedure GET_FILE_TO_CVT started +21-237-13:12:43.519 00 SPR-I:OPRO Sending Command: /SCX_CPU1_SB_WRITEROUTING2FILE ROUTINFOFILENAME="/ram/cfe_sb_route.dat" +21-237-13:12:43.520 00 CMH-I:CMD Command SFDU received:<1803C0000041034F2F72616D2F6366655F73625F726F7574652E64617400000000000000000000000000000000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-237-13:12:43.533 00 SPR-I:STTE Wait mode - waiting 15 seconds ... +21-237-13:12:58.544 00 SPR-I:OPRO The APID is: P0F02 +21-237-13:12:58.544 00 SPR-I:OPRO The CPU is: CPU3 +21-237-13:12:58.544 00 SPR-I:OPRO The IP Address is: 192.168.1.8 +21-237-13:12:58.545 00 SPR-I:OPRO The perl command is: perl /s/opr/accounts/global/tools/ftp.pl RAM:0 cfe_sb_route.dat cpu1_sb_route.dat binary 192.168.1.8 +21-237-13:12:58.691 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-237-13:12:58.691 00 SPR-I:STTE Wait mode - waiting 15 seconds ... +21-237-13:13:13.704 00 SPR-I:OPRO +21-237-13:13:13.723 00 SPR-I:OPRO The unix command is cvt -ws file_list[3842].file_write_time "`date +%y-%j-%T -r /s/opr/accounts/cfs_test/image/cpu1_sb_route.dat`" +21-237-13:13:13.723 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:13:18.728 00 SPR-I:STS Procedure GET_FILE_TO_CVT completed +21-237-13:13:18.729 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:13:23.734 00 SPR-I:OPRO == Looking for msgID = 0900 +21-237-13:13:23.737 00 SPR-I:OPRO == Looking for msgID = 0901 +21-237-13:13:23.738 00 SPR-I:OPRO == Looking for msgID = 0902 +21-237-13:13:23.740 00 SPR-I:OPRO == Looking for msgID = 0903 +21-237-13:13:23.741 00 SPR-I:OPRO == Looking for msgID = 0904 +21-237-13:13:23.743 00 SPR-I:OPRO == Looking for msgID = 0905 +21-237-13:13:25.418 00 SPR-I:OPRO Failed (9006) - Expected 6 message ID subscriptions. Found 0 +21-237-13:13:25.419 00 SPR-I:OPRO <*> Passed (9004) - DS Application State is set as expected. +21-237-13:13:25.420 00 CMH-I:CMD Command SFDU received:<18BBC0000005029A00010000> from gs582cfslab4:SPR +21-237-13:13:25.435 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:13:26.436 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:13:26.438 00 SPR-I:OPRO <*> Passed - DS Application State command sent properly. +21-237-13:13:26.438 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:13:31.443 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:13:31.443 00 SPR-I:OPRO ; Step 3.5: Enable DEBUG Event Messages +21-237-13:13:31.443 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:13:31.446 00 CMH-I:CMD Command SFDU received:<1801C0000017052244530000000000000000000000000000000000000100> from gs582cfslab4:SPR +21-237-13:13:31.462 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:13:34.465 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:13:34.467 00 SPR-I:OPRO <*> Passed - Enable Debug events command sent properly. +21-237-13:13:34.468 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:13:34.468 00 SPR-I:OPRO ; Step 3.6: Parse the File State HK information in order to verify that +21-237-13:13:34.468 00 SPR-I:OPRO ; the open Files saved in Step 3.2 have been closed. +21-237-13:13:34.468 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:13:34.470 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-237-13:13:34.485 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:13:34.661 00 TLMH-I:STS 58-012-14:06:08.500 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-237-13:13:38.490 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:13:38.492 00 SPR-I:OPRO <*> Passed (9002) - The file at slot 1 has been closed. +21-237-13:13:38.495 00 SPR-I:OPRO <*> Passed (9002) - The file at slot 4 has been closed. +21-237-13:13:38.501 00 SPR-I:OPRO <*> Passed (9002) - The file at slot 5 has been closed. +21-237-13:13:38.503 00 SPR-I:OPRO <*> Passed (9002) - The file at slot 6 has been closed. +21-237-13:13:38.510 00 SPR-I:OPRO <*> Passed (9002) - The file at slot 7 has been closed. +21-237-13:13:38.511 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:13:38.511 00 SPR-I:OPRO ; Step 3.7: Verify that the File Sequence counters were restored after +21-237-13:13:38.512 00 SPR-I:OPRO ; the Processor Reset. +21-237-13:13:38.512 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:13:38.518 00 SPR-I:OPRO ; Step 3.7.1: Send the TST_DS command to send the same messages to DS +21-237-13:13:38.518 00 SPR-I:OPRO ; that were sent in Step 3.1.2. +21-237-13:13:38.518 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:13:38.520 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:13:38.521 00 SPR-I:OPRO ; Setup event 1 with TST_DS INFO 5 +21-237-13:13:38.521 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:13:38.521 00 CMH-I:CMD Command SFDU received:<1943C000000903C30000090101A50000> from gs582cfslab4:SPR +21-237-13:13:38.533 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:13:38.664 00 TLMH-I:STS 58-012-14:06:12.504 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Message Size 116 to MID 0x00000901 +21-237-13:13:43.538 00 CMH-I:CMD Command SFDU received:<1943C000000903C00000090201A50000> from gs582cfslab4:SPR +21-237-13:13:43.549 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:13:43.667 00 TLMH-I:STS 58-012-14:06:17.500 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Message Size 116 to MID 0x00000902 +21-237-13:13:48.556 00 CMH-I:CMD Command SFDU received:<1943C000000903C10000090301A50000> from gs582cfslab4:SPR +21-237-13:13:48.569 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:13:49.164 00 TLMH-I:STS 58-012-14:06:23.002 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Message Size 116 to MID 0x00000903 +21-237-13:13:53.574 00 SPR-I:OPRO <*> Passed - Rcv'd the expected number of Send events. +21-237-13:13:53.575 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:13:58.579 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:13:58.579 00 SPR-I:OPRO ; Step 3.7.2: Parse the File State HK information in order to verify +21-237-13:13:58.579 00 SPR-I:OPRO ; that the File Sequence Counters saved in Step 3.2 have been restored. +21-237-13:13:58.579 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:13:58.581 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-237-13:13:58.595 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:13:59.166 00 TLMH-I:STS 58-012-14:06:33.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-237-13:14:02.599 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:14:02.601 00 SPR-I:OPRO <*> Passed - A file was created with name '/ram/seq200000201.dat' +21-237-13:14:02.602 00 SPR-I:OPRO ==> SeqCount After Reset = '201' +21-237-13:14:02.602 00 SPR-I:OPRO <*> Passed (9004) - Sequence Count was preserved across reset +21-237-13:14:02.608 00 SPR-I:OPRO <*> Passed - A file was created with name '/ram/time11980012140612' +21-237-13:14:02.610 00 SPR-I:OPRO <*> Passed - A file was created with name '/ram/time21980012140612' +21-237-13:14:02.611 00 SPR-I:OPRO <*> Passed - A file was created with name '/ram/time31980012140612' +21-237-13:14:02.612 00 SPR-I:OPRO <*> Passed - A file was created with name '/ram/time41980012140612' +21-237-13:14:02.623 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:14:07.626 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:14:07.626 00 SPR-I:OPRO ; Step 4.0: Application Reset Tests. +21-237-13:14:07.626 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:14:07.626 00 SPR-I:OPRO ; Step 4.1: Save the file sequence counters and slots of all 'open' +21-237-13:14:07.627 00 SPR-I:OPRO ; destination files. +21-237-13:14:07.627 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:14:07.628 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-237-13:14:07.656 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:14:08.157 00 TLMH-I:STS 58-012-14:06:42.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-237-13:14:10.659 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:14:10.663 00 SPR-I:OPRO <*> Passed - A file was created with name '/ram/seq200000201.dat' +21-237-13:14:10.665 00 SPR-I:OPRO ==> SeqCount = '201' +21-237-13:14:10.682 00 SPR-I:OPRO <*> Passed - A file was created with name '/ram/time11980012140612' +21-237-13:14:10.685 00 SPR-I:OPRO <*> Passed - A file was created with name '/ram/time21980012140612' +21-237-13:14:10.689 00 SPR-I:OPRO <*> Passed - A file was created with name '/ram/time31980012140612' +21-237-13:14:10.691 00 SPR-I:OPRO <*> Passed - A file was created with name '/ram/time41980012140612' +21-237-13:14:10.710 00 SPR-I:OPRO ;********************************************************************* +21-237-13:14:10.710 00 SPR-I:OPRO ; Step 4.2: Restart the DS and TST_DS Applications. +21-237-13:14:10.710 00 SPR-I:OPRO ;********************************************************************* +21-237-13:14:10.710 00 SPR-I:OPRO ; Step 4.2.1: Stop the DS and TST_DS Applications. +21-237-13:14:10.710 00 SPR-I:OPRO ;********************************************************************* +21-237-13:14:10.711 00 CMH-I:CMD Command SFDU received:<1806C000001506295453545F44530000000000000000000000000000> from gs582cfslab4:SPR +21-237-13:14:10.712 00 SPR-I:STTE Wait mode - waiting 4 seconds ... +21-237-13:14:11.163 00 TLMH-I:STS 58-012-14:06:45.012 ERROR CPU=CPU1 APPNAME=TST_DS EVENT ID=41 TST_DS_AppMain terminating!, Error = 0x0 +21-237-13:14:11.165 00 TLMH-I:STS 58-012-14:06:45.082 INFO CPU=CPU1 APPNAME=CFE_ES EVENT ID=10 Restart Application TST_DS Completed, AppID=1114124 +21-237-13:14:11.660 00 TLMH-I:STS 58-012-14:06:45.133 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=1 TST_DS Initialized. Version 2.5.1.0 +21-237-13:14:14.717 00 CMH-I:CMD Command SFDU received:<1806C000001506254453000000000000000000000000000000000000> from gs582cfslab4:SPR +21-237-13:14:14.730 00 SPR-I:STTE Wait mode - waiting 4 seconds ... +21-237-13:14:15.163 00 TLMH-I:STS 58-012-14:06:49.009 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=20 Request Housekeeping command +21-237-13:14:18.740 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:14:18.741 00 SPR-I:OPRO <*> Passed - DS and TST_DS app commands sent properly. +21-237-13:14:18.741 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:14:19.165 00 TLMH-I:STS 58-012-14:06:53.001 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=20 Request Housekeeping command +21-237-13:14:20.666 00 TLMH-I:STS 58-012-14:06:54.364 INFO CPU=CPU1 APPNAME=CFE_ES EVENT ID=10 Restart Application DS Completed, AppID=1114125 +21-237-13:14:20.667 00 TLMH-I:STS 58-012-14:06:54.435 INFO CPU=CPU1 APPNAME=DS EVENT ID=10 Destination file table verify results: desc text = OK, good entries = 8, bad = 0, unused = 8 +21-237-13:14:20.668 00 TLMH-I:STS 58-012-14:06:54.470 INFO CPU=CPU1 APPNAME=DS EVENT ID=12 Filter table verify results: desc text = OK, good entries = 6, bad = 0, unused = 250 +21-237-13:14:20.669 00 TLMH-I:STS 58-012-14:06:54.473 INFO CPU=CPU1 APPNAME=DS EVENT ID=1 Application initialized, version 2.6.0.0, data at 0xa7d1f0 +21-237-13:14:23.745 00 SPR-I:OPRO ;********************************************************************* +21-237-13:14:23.745 00 SPR-I:OPRO ; Step 4.2.2: Start the DS and TST_DS Applications. +21-237-13:14:23.746 00 SPR-I:OPRO ;********************************************************************* +21-237-13:14:23.747 00 SPR-I:OPRO <*> Passed (9005;9007) - The tables were validated properly. +21-237-13:14:23.755 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/get_file_to_cvt.i +21-237-13:14:23.763 00 SPR-I:STS Procedure GET_FILE_TO_CVT started +21-237-13:14:23.800 00 SPR-I:OPRO Sending Command: /SCX_CPU1_SB_WRITEROUTING2FILE ROUTINFOFILENAME="/ram/cfe_sb_route.dat" +21-237-13:14:23.801 00 CMH-I:CMD Command SFDU received:<1803C0000041034F2F72616D2F6366655F73625F726F7574652E64617400000000000000000000000000000000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-237-13:14:23.803 00 SPR-I:STTE Wait mode - waiting 15 seconds ... +21-237-13:14:38.815 00 SPR-I:OPRO The APID is: P0F02 +21-237-13:14:38.815 00 SPR-I:OPRO The CPU is: CPU3 +21-237-13:14:38.815 00 SPR-I:OPRO The IP Address is: 192.168.1.8 +21-237-13:14:38.818 00 SPR-I:OPRO The perl command is: perl /s/opr/accounts/global/tools/ftp.pl RAM:0 cfe_sb_route.dat cpu1_sb_route.dat binary 192.168.1.8 +21-237-13:14:38.992 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-237-13:14:38.993 00 SPR-I:STTE Wait mode - waiting 15 seconds ... +21-237-13:14:54.005 00 SPR-I:OPRO +21-237-13:14:54.047 00 SPR-I:OPRO The unix command is cvt -ws file_list[3842].file_write_time "`date +%y-%j-%T -r /s/opr/accounts/cfs_test/image/cpu1_sb_route.dat`" +21-237-13:14:54.048 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:14:59.052 00 SPR-I:STS Procedure GET_FILE_TO_CVT completed +21-237-13:14:59.055 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:15:04.060 00 SPR-I:OPRO == Looking for msgID = 0900 +21-237-13:15:04.068 00 SPR-I:OPRO == Looking for msgID = 0901 +21-237-13:15:04.076 00 SPR-I:OPRO == Looking for msgID = 0902 +21-237-13:15:04.083 00 SPR-I:OPRO == Looking for msgID = 0903 +21-237-13:15:04.089 00 SPR-I:OPRO == Looking for msgID = 0904 +21-237-13:15:04.095 00 SPR-I:OPRO == Looking for msgID = 0905 +21-237-13:15:05.848 00 SPR-I:OPRO Failed (9006) - Expected 6 message ID subscriptions. Found 0 +21-237-13:15:05.850 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:15:10.853 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:15:10.853 00 SPR-I:OPRO ; Step 4.3: Enable DEBUG Event Messages +21-237-13:15:10.853 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:15:10.853 00 CMH-I:CMD Command SFDU received:<1801C0000017052244530000000000000000000000000000000000000100> from gs582cfslab4:SPR +21-237-13:15:10.864 00 SPR-I:STTE Wait mode - waiting 2 seconds ... +21-237-13:15:12.866 00 CMH-I:CMD Command SFDU received:<1801C000001705704346455F54424C000000000000000000000000000100> from gs582cfslab4:SPR +21-237-13:15:12.880 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:15:14.881 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:15:14.882 00 SPR-I:OPRO <*> Passed - Enable Debug events command sent properly. +21-237-13:15:14.882 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:15:14.882 00 SPR-I:OPRO ; Step 4.4: Parse the File State HK to determine if the open files have +21-237-13:15:14.882 00 SPR-I:OPRO ; been closed. +21-237-13:15:14.882 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:15:14.883 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-237-13:15:14.897 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:15:15.156 00 TLMH-I:STS 58-012-14:07:49.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-237-13:15:18.899 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:15:18.902 00 SPR-I:OPRO <*> Passed (9002) - The file at slot 1 has been closed. +21-237-13:15:18.905 00 SPR-I:OPRO <*> Passed (9002) - The file at slot 4 has been closed. +21-237-13:15:18.910 00 SPR-I:OPRO <*> Passed (9002) - The file at slot 5 has been closed. +21-237-13:15:18.911 00 SPR-I:OPRO <*> Passed (9002) - The file at slot 6 has been closed. +21-237-13:15:18.917 00 SPR-I:OPRO <*> Passed (9002) - The file at slot 7 has been closed. +21-237-13:15:18.918 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:15:18.918 00 SPR-I:OPRO ; Step 4.5: Verify that the File Sequence counters were restored after +21-237-13:15:18.918 00 SPR-I:OPRO ; the Processor Reset. +21-237-13:15:18.918 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:15:18.925 00 SPR-I:OPRO ; Step 4.5.1: Send the TST_DS command to send the same messages to DS +21-237-13:15:18.925 00 SPR-I:OPRO ; that were sent in previous steps. +21-237-13:15:18.925 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:15:18.926 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:15:18.927 00 SPR-I:OPRO ; Setup event 1 with TST_DS INFO 5 +21-237-13:15:18.927 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:15:18.928 00 CMH-I:CMD Command SFDU received:<1943C000000903DD0000090101BB0000> from gs582cfslab4:SPR +21-237-13:15:18.939 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:15:19.159 00 TLMH-I:STS 58-012-14:07:53.005 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Message Size 116 to MID 0x00000901 +21-237-13:15:23.944 00 CMH-I:CMD Command SFDU received:<1943C000000903DE0000090201BB0000> from gs582cfslab4:SPR +21-237-13:15:23.958 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:15:24.162 00 TLMH-I:STS 58-012-14:07:58.001 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Message Size 116 to MID 0x00000902 +21-237-13:15:28.962 00 CMH-I:CMD Command SFDU received:<1943C000000903DF0000090301BB0000> from gs582cfslab4:SPR +21-237-13:15:28.972 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:15:29.161 00 TLMH-I:STS 58-012-14:08:03.002 INFO CPU=CPU1 APPNAME=TST_DS EVENT ID=5 Sent Message Size 116 to MID 0x00000903 +21-237-13:15:33.977 00 SPR-I:OPRO <*> Passed - Rcv'd the expected number of Send events. +21-237-13:15:33.977 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:15:38.981 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:15:38.981 00 SPR-I:OPRO ; Step 4.5.2: Parse the File State HK information in order to verify +21-237-13:15:38.981 00 SPR-I:OPRO ; that the File Sequence Counters saved in Step 3.2 have been restored. +21-237-13:15:38.981 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:15:38.983 00 CMH-I:CMD Command SFDU received:<18BBC00000010F92> from gs582cfslab4:SPR +21-237-13:15:39.004 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:15:39.158 00 TLMH-I:STS 58-012-14:08:13.001 DEBUG CPU=CPU1 APPNAME=DS EVENT ID=62 GET FILE INFO command +21-237-13:15:43.008 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:15:43.013 00 SPR-I:OPRO <*> Passed - A file was created with name '/ram/seq200000202.dat' +21-237-13:15:43.015 00 SPR-I:OPRO ==> SeqCount After Reset = '202' +21-237-13:15:43.016 00 SPR-I:OPRO <*> Passed (9004) - Sequence Count was preserved across reset +21-237-13:15:43.042 00 SPR-I:OPRO <*> Passed - A file was created with name '/ram/time11980012140753' +21-237-13:15:43.048 00 SPR-I:OPRO <*> Passed - A file was created with name '/ram/time21980012140753' +21-237-13:15:43.049 00 SPR-I:OPRO <*> Passed - A file was created with name '/ram/time31980012140753' +21-237-13:15:43.050 00 SPR-I:OPRO <*> Passed - A file was created with name '/ram/time41980012140753' +21-237-13:15:43.064 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:15:48.068 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:15:48.068 00 SPR-I:OPRO ; Step 5.0: Table Validation Failure Tests +21-237-13:15:48.068 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:15:48.069 00 SPR-I:OPRO ; Step 5.1: Create five Packet Filter Table load images with each +21-237-13:15:48.069 00 SPR-I:OPRO ; containing one of the possible five content errors. +21-237-13:15:48.069 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:15:48.070 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/scx_cpu1_ds_badfiltertbls.i +21-237-13:15:48.081 00 SPR-I:STS Procedure SCX_CPU1_DS_BADFILTERTBLS started +21-237-13:15:48.138 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:15:48.138 00 SPR-I:OPRO ; Step 1.0: Define DS Destination File And Packet Filter Tables. +21-237-13:15:48.138 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:15:48.626 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/create_tbl_file_from_cvt.i +21-237-13:15:48.626 00 SPR-I:STS Procedure CREATE_TBL_FILE_FROM_CVT started +21-237-13:15:48.628 00 SPR-I:OPRO ********** ds_badfilter1.tbl ********** +21-237-13:15:48.628 00 SPR-I:OPRO +21-237-13:15:48.628 00 SPR-I:OPRO Content Type: cFE1 +21-237-13:15:48.628 00 SPR-I:OPRO Sub Type: 8 +21-237-13:15:48.628 00 SPR-I:OPRO Length: 12 +21-237-13:15:48.628 00 SPR-I:OPRO Spacecraft Id: SCX +21-237-13:15:48.628 00 SPR-I:OPRO Processor Id: CPU3 +21-237-13:15:48.628 00 SPR-I:OPRO Application Id: 3959 +21-237-13:15:48.628 00 SPR-I:OPRO Create Time Secs: 1629897348 +21-237-13:15:48.628 00 SPR-I:OPRO Create Time Subsecs: 0 +21-237-13:15:48.628 00 SPR-I:OPRO File Description: Invalid Filter Table Description +21-237-13:15:48.628 00 SPR-I:OPRO +21-237-13:15:48.628 00 SPR-I:OPRO ********** DS.FILTER_TBL ********** +21-237-13:15:48.628 00 SPR-I:OPRO +21-237-13:15:48.628 00 SPR-I:OPRO Start Mnemonic: SCX_CPU1_DS_PF_TBL_Description +21-237-13:15:48.629 00 SPR-I:OPRO Byte Offset: 0 +21-237-13:15:48.629 00 SPR-I:OPRO End Mnemonic: SCX_CPU1_DS_PF_TBL[255].FilterParams[3].O_Value +21-237-13:15:48.629 00 SPR-I:OPRO Number of Bytes: 9248 +21-237-13:15:48.629 00 SPR-I:OPRO +21-237-13:15:48.634 00 SPR-I:STS Loading file /s/opr/accounts/global/prc/partial_cvt_to_file_beta.i +21-237-13:15:48.634 00 SPR-I:STS Procedure PARTIAL_CVT_TO_FILE_BETA started +21-237-13:15:48.634 00 SPR-I:OPRO The unix command is cd /s/opr/accounts/cfs_test/image;cvt2file -s 116 -e 9363 P0F77 ds.filter_tbl +21-237-13:15:48.639 00 SPR-I:STS Procedure PARTIAL_CVT_TO_FILE_BETA completed +21-237-13:15:48.640 00 SPR-I:OPRO cd /s/opr/accounts/cfs_test/image;cat ds_badfilter1.tbl.tmp ds.filter_tbl > ds_badfilter1.tbl +21-237-13:15:48.643 00 SPR-I:OPRO cd /s/opr/accounts/cfs_test/image;rm ds.filter_tbl ds_badfilter1.tbl.tmp +21-237-13:15:48.647 00 SPR-I:STS Procedure CREATE_TBL_FILE_FROM_CVT completed +21-237-13:15:48.648 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/create_tbl_file_from_cvt.i +21-237-13:15:48.648 00 SPR-I:STS Procedure CREATE_TBL_FILE_FROM_CVT started +21-237-13:15:48.651 00 SPR-I:OPRO ********** ds_badfilter2.tbl ********** +21-237-13:15:48.651 00 SPR-I:OPRO +21-237-13:15:48.651 00 SPR-I:OPRO Content Type: cFE1 +21-237-13:15:48.651 00 SPR-I:OPRO Sub Type: 8 +21-237-13:15:48.651 00 SPR-I:OPRO Length: 12 +21-237-13:15:48.651 00 SPR-I:OPRO Spacecraft Id: SCX +21-237-13:15:48.651 00 SPR-I:OPRO Processor Id: CPU3 +21-237-13:15:48.651 00 SPR-I:OPRO Application Id: 3959 +21-237-13:15:48.651 00 SPR-I:OPRO Create Time Secs: 1629897348 +21-237-13:15:48.651 00 SPR-I:OPRO Create Time Subsecs: 0 +21-237-13:15:48.651 00 SPR-I:OPRO File Description: Invalid Filter Table Entry #1 In +21-237-13:15:48.651 00 SPR-I:OPRO +21-237-13:15:48.651 00 SPR-I:OPRO ********** DS.FILTER_TBL ********** +21-237-13:15:48.651 00 SPR-I:OPRO +21-237-13:15:48.651 00 SPR-I:OPRO Start Mnemonic: SCX_CPU1_DS_PF_TBL_Description +21-237-13:15:48.651 00 SPR-I:OPRO Byte Offset: 0 +21-237-13:15:48.651 00 SPR-I:OPRO End Mnemonic: SCX_CPU1_DS_PF_TBL[255].FilterParams[3].O_Value +21-237-13:15:48.652 00 SPR-I:OPRO Number of Bytes: 9248 +21-237-13:15:48.652 00 SPR-I:OPRO +21-237-13:15:48.659 00 SPR-I:STS Loading file /s/opr/accounts/global/prc/partial_cvt_to_file_beta.i +21-237-13:15:48.659 00 SPR-I:STS Procedure PARTIAL_CVT_TO_FILE_BETA started +21-237-13:15:48.660 00 SPR-I:OPRO The unix command is cd /s/opr/accounts/cfs_test/image;cvt2file -s 116 -e 9363 P0F77 ds.filter_tbl +21-237-13:15:48.665 00 SPR-I:STS Procedure PARTIAL_CVT_TO_FILE_BETA completed +21-237-13:15:48.665 00 SPR-I:OPRO cd /s/opr/accounts/cfs_test/image;cat ds_badfilter2.tbl.tmp ds.filter_tbl > ds_badfilter2.tbl +21-237-13:15:48.669 00 SPR-I:OPRO cd /s/opr/accounts/cfs_test/image;rm ds.filter_tbl ds_badfilter2.tbl.tmp +21-237-13:15:48.677 00 SPR-I:STS Procedure CREATE_TBL_FILE_FROM_CVT completed +21-237-13:15:48.677 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/create_tbl_file_from_cvt.i +21-237-13:15:48.678 00 SPR-I:STS Procedure CREATE_TBL_FILE_FROM_CVT started +21-237-13:15:48.681 00 SPR-I:OPRO ********** ds_badfilter3.tbl ********** +21-237-13:15:48.681 00 SPR-I:OPRO +21-237-13:15:48.681 00 SPR-I:OPRO Content Type: cFE1 +21-237-13:15:48.681 00 SPR-I:OPRO Sub Type: 8 +21-237-13:15:48.681 00 SPR-I:OPRO Length: 12 +21-237-13:15:48.681 00 SPR-I:OPRO Spacecraft Id: SCX +21-237-13:15:48.681 00 SPR-I:OPRO Processor Id: CPU3 +21-237-13:15:48.681 00 SPR-I:OPRO Application Id: 3959 +21-237-13:15:48.681 00 SPR-I:OPRO Create Time Secs: 1629897348 +21-237-13:15:48.681 00 SPR-I:OPRO Create Time Subsecs: 0 +21-237-13:15:48.681 00 SPR-I:OPRO File Description: Invalid Filter Table Entry #2 Ty +21-237-13:15:48.681 00 SPR-I:OPRO +21-237-13:15:48.681 00 SPR-I:OPRO ********** DS.FILTER_TBL ********** +21-237-13:15:48.681 00 SPR-I:OPRO +21-237-13:15:48.681 00 SPR-I:OPRO Start Mnemonic: SCX_CPU1_DS_PF_TBL_Description +21-237-13:15:48.681 00 SPR-I:OPRO Byte Offset: 0 +21-237-13:15:48.681 00 SPR-I:OPRO End Mnemonic: SCX_CPU1_DS_PF_TBL[255].FilterParams[3].O_Value +21-237-13:15:48.681 00 SPR-I:OPRO Number of Bytes: 9248 +21-237-13:15:48.681 00 SPR-I:OPRO +21-237-13:15:48.688 00 SPR-I:STS Loading file /s/opr/accounts/global/prc/partial_cvt_to_file_beta.i +21-237-13:15:48.688 00 SPR-I:STS Procedure PARTIAL_CVT_TO_FILE_BETA started +21-237-13:15:48.688 00 SPR-I:OPRO The unix command is cd /s/opr/accounts/cfs_test/image;cvt2file -s 116 -e 9363 P0F77 ds.filter_tbl +21-237-13:15:48.693 00 SPR-I:STS Procedure PARTIAL_CVT_TO_FILE_BETA completed +21-237-13:15:48.693 00 SPR-I:OPRO cd /s/opr/accounts/cfs_test/image;cat ds_badfilter3.tbl.tmp ds.filter_tbl > ds_badfilter3.tbl +21-237-13:15:48.697 00 SPR-I:OPRO cd /s/opr/accounts/cfs_test/image;rm ds.filter_tbl ds_badfilter3.tbl.tmp +21-237-13:15:48.701 00 SPR-I:STS Procedure CREATE_TBL_FILE_FROM_CVT completed +21-237-13:15:48.701 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/create_tbl_file_from_cvt.i +21-237-13:15:48.702 00 SPR-I:STS Procedure CREATE_TBL_FILE_FROM_CVT started +21-237-13:15:48.704 00 SPR-I:OPRO ********** ds_badfilter4.tbl ********** +21-237-13:15:48.704 00 SPR-I:OPRO +21-237-13:15:48.704 00 SPR-I:OPRO Content Type: cFE1 +21-237-13:15:48.704 00 SPR-I:OPRO Sub Type: 8 +21-237-13:15:48.704 00 SPR-I:OPRO Length: 12 +21-237-13:15:48.704 00 SPR-I:OPRO Spacecraft Id: SCX +21-237-13:15:48.704 00 SPR-I:OPRO Processor Id: CPU3 +21-237-13:15:48.704 00 SPR-I:OPRO Application Id: 3959 +21-237-13:15:48.704 00 SPR-I:OPRO Create Time Secs: 1629897348 +21-237-13:15:48.704 00 SPR-I:OPRO Create Time Subsecs: 0 +21-237-13:15:48.704 00 SPR-I:OPRO File Description: Invalid Filter Table Entry #3 N> +21-237-13:15:48.704 00 SPR-I:OPRO +21-237-13:15:48.704 00 SPR-I:OPRO ********** DS.FILTER_TBL ********** +21-237-13:15:48.704 00 SPR-I:OPRO +21-237-13:15:48.704 00 SPR-I:OPRO Start Mnemonic: SCX_CPU1_DS_PF_TBL_Description +21-237-13:15:48.705 00 SPR-I:OPRO Byte Offset: 0 +21-237-13:15:48.705 00 SPR-I:OPRO End Mnemonic: SCX_CPU1_DS_PF_TBL[255].FilterParams[3].O_Value +21-237-13:15:48.705 00 SPR-I:OPRO Number of Bytes: 9248 +21-237-13:15:48.705 00 SPR-I:OPRO +21-237-13:15:48.710 00 SPR-I:STS Loading file /s/opr/accounts/global/prc/partial_cvt_to_file_beta.i +21-237-13:15:48.711 00 SPR-I:STS Procedure PARTIAL_CVT_TO_FILE_BETA started +21-237-13:15:48.711 00 SPR-I:OPRO The unix command is cd /s/opr/accounts/cfs_test/image;cvt2file -s 116 -e 9363 P0F77 ds.filter_tbl +21-237-13:15:48.719 00 SPR-I:STS Procedure PARTIAL_CVT_TO_FILE_BETA completed +21-237-13:15:48.719 00 SPR-I:OPRO cd /s/opr/accounts/cfs_test/image;cat ds_badfilter4.tbl.tmp ds.filter_tbl > ds_badfilter4.tbl +21-237-13:15:48.724 00 SPR-I:OPRO cd /s/opr/accounts/cfs_test/image;rm ds.filter_tbl ds_badfilter4.tbl.tmp +21-237-13:15:48.728 00 SPR-I:STS Procedure CREATE_TBL_FILE_FROM_CVT completed +21-237-13:15:48.728 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/create_tbl_file_from_cvt.i +21-237-13:15:48.728 00 SPR-I:STS Procedure CREATE_TBL_FILE_FROM_CVT started +21-237-13:15:48.731 00 SPR-I:OPRO ********** ds_badfilter5.tbl ********** +21-237-13:15:48.731 00 SPR-I:OPRO +21-237-13:15:48.731 00 SPR-I:OPRO Content Type: cFE1 +21-237-13:15:48.731 00 SPR-I:OPRO Sub Type: 8 +21-237-13:15:48.731 00 SPR-I:OPRO Length: 12 +21-237-13:15:48.731 00 SPR-I:OPRO Spacecraft Id: SCX +21-237-13:15:48.731 00 SPR-I:OPRO Processor Id: CPU3 +21-237-13:15:48.731 00 SPR-I:OPRO Application Id: 3959 +21-237-13:15:48.731 00 SPR-I:OPRO Create Time Secs: 1629897348 +21-237-13:15:48.731 00 SPR-I:OPRO Create Time Subsecs: 0 +21-237-13:15:48.731 00 SPR-I:OPRO File Description: Invalid Filter Table Entry #4 O> +21-237-13:15:48.731 00 SPR-I:OPRO +21-237-13:15:48.731 00 SPR-I:OPRO ********** DS.FILTER_TBL ********** +21-237-13:15:48.731 00 SPR-I:OPRO +21-237-13:15:48.732 00 SPR-I:OPRO Start Mnemonic: SCX_CPU1_DS_PF_TBL_Description +21-237-13:15:48.732 00 SPR-I:OPRO Byte Offset: 0 +21-237-13:15:48.732 00 SPR-I:OPRO End Mnemonic: SCX_CPU1_DS_PF_TBL[255].FilterParams[3].O_Value +21-237-13:15:48.732 00 SPR-I:OPRO Number of Bytes: 9248 +21-237-13:15:48.732 00 SPR-I:OPRO +21-237-13:15:48.741 00 SPR-I:STS Loading file /s/opr/accounts/global/prc/partial_cvt_to_file_beta.i +21-237-13:15:48.741 00 SPR-I:STS Procedure PARTIAL_CVT_TO_FILE_BETA started +21-237-13:15:48.742 00 SPR-I:OPRO The unix command is cd /s/opr/accounts/cfs_test/image;cvt2file -s 116 -e 9363 P0F77 ds.filter_tbl +21-237-13:15:48.747 00 SPR-I:STS Procedure PARTIAL_CVT_TO_FILE_BETA completed +21-237-13:15:48.747 00 SPR-I:OPRO cd /s/opr/accounts/cfs_test/image;cat ds_badfilter5.tbl.tmp ds.filter_tbl > ds_badfilter5.tbl +21-237-13:15:48.755 00 SPR-I:OPRO cd /s/opr/accounts/cfs_test/image;rm ds.filter_tbl ds_badfilter5.tbl.tmp +21-237-13:15:48.759 00 SPR-I:STS Procedure CREATE_TBL_FILE_FROM_CVT completed +21-237-13:15:48.759 00 SPR-I:OPRO ;********************************************************************* +21-237-13:15:48.759 00 SPR-I:OPRO ; End procedure SCX_CPU1_ds_badfiltertbls +21-237-13:15:48.759 00 SPR-I:OPRO ;********************************************************************* +21-237-13:15:48.759 00 SPR-I:STS Procedure SCX_CPU1_DS_BADFILTERTBLS completed +21-237-13:15:48.760 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:15:52.762 00 DPD-I:STS Deleting page SCX_CPU1_DS_FILE_HK +21-237-13:15:53.765 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:15:53.765 00 SPR-I:OPRO ; Step 5.2: Loop for each file created above. +21-237-13:15:53.765 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:15:53.766 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:15:53.766 00 SPR-I:OPRO ; Load the invalid table image. +21-237-13:15:53.766 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:15:53.772 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:15:53.773 00 SPR-I:OPRO ; Setup event 1 with CFE_TBL INFO 12 +21-237-13:15:53.773 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:15:53.776 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/load_table.i +21-237-13:15:53.777 00 SPR-I:STS Procedure LOAD_TABLE started +21-237-13:15:53.782 00 SPR-I:OPRO Table Filename: ds_badfilter1.tbl +21-237-13:15:53.786 00 SPR-I:OPRO The perl command is: perl /s/opr/accounts/global/tools/table_ftp.pl 192.168.1.8 ds_badfilter1.tbl RAM:0 3 +21-237-13:15:53.786 00 SPR-I:OPRO +21-237-13:15:53.935 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-237-13:15:53.935 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:15:54.903 00 DPD-I:STS Deleting page SCX_CPU1_DS_FILE_TBL +21-237-13:15:56.885 00 DPD-I:STS Deleting page SCX_CPU1_DS_FILTER_TBL +21-237-13:15:58.816 00 DPD-I:STS Deleting page SCX_CPU1_TST_DS_HK +21-237-13:15:58.942 00 SPR-I:OPRO +21-237-13:15:58.944 00 SPR-I:OPRO Sending Command: /SCX_CPU1_TBL_LOAD LFILENAME="/ram/ds_badfilter1.tbl" +21-237-13:15:58.945 00 CMH-I:CMD Command SFDU received:<1804C000004102542F72616D2F64735F62616466696C746572312E74626C000000000000000000000000000000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-237-13:15:58.965 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:15:59.165 00 TLMH-I:STS 58-012-14:08:33.002 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=12 Successful load of '/ram/ds_badfilter1.tbl' into 'DS.FILTER_TBL' working buffer +21-237-13:16:02.969 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:16:02.971 00 SPR-I:STS Procedure LOAD_TABLE completed +21-237-13:16:02.984 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:16:02.986 00 SPR-I:OPRO <*> Passed - Load command for Invalid Packet Filter Table sent successfully. +21-237-13:16:02.987 00 SPR-I:OPRO <*> Passed - Event Msg 12 Found! +21-237-13:16:02.987 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:02.987 00 SPR-I:OPRO ; Send the Table Services command to validate the inactive buffer. +21-237-13:16:02.988 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:02.994 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:02.995 00 SPR-I:OPRO ; Setup event 1 with CFE_TBL DEBUG 16 +21-237-13:16:02.995 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:03.007 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:03.007 00 SPR-I:OPRO ; Setup event 2 with CFE_TBL ERROR 96 +21-237-13:16:03.007 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:03.012 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:03.012 00 SPR-I:OPRO ; Setup event 3 with DS ERROR 13 +21-237-13:16:03.012 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:03.015 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:03.015 00 SPR-I:OPRO ; Setup event 4 with DS INFO 12 +21-237-13:16:03.015 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:03.016 00 CMH-I:CMD Command SFDU received:<1804C000002B0430000044532E46494C5445525F54424C000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-237-13:16:03.031 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:16:03.163 00 TLMH-I:STS 58-012-14:08:37.002 DEBUG CPU=CPU1 APPNAME=CFE_TBL EVENT ID=16 Tbl Services issued validation request for 'DS.FILTER_TBL' +21-237-13:16:06.165 00 TLMH-I:STS 58-012-14:08:40.003 ERROR CPU=CPU1 APPNAME=DS EVENT ID=13 Filter table verify err: invalid descriptor text +21-237-13:16:06.166 00 TLMH-I:STS 58-012-14:08:40.004 ERROR CPU=CPU1 APPNAME=DS EVENT ID=13 Filter table verify err: MID = 0x00001000, index = 0, filter = 0, file table index = 16 +21-237-13:16:06.168 00 TLMH-I:STS 58-012-14:08:40.004 INFO CPU=CPU1 APPNAME=DS EVENT ID=12 Filter table verify results: desc text = bad, good entries = 1, bad = 4, unused = 251 +21-237-13:16:06.169 00 TLMH-I:STS 58-012-14:08:40.004 ERROR CPU=CPU1 APPNAME=CFE_TBL EVENT ID=96 DS validation failed for Inactive 'DS.FILTER_TBL', Status=0xFFFFFFFF +21-237-13:16:07.035 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:16:07.037 00 SPR-I:OPRO <*> Passed - Packet Filter Table validate command sent. +21-237-13:16:07.051 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:16:07.054 00 SPR-I:OPRO <*> Passed (9005) - Packet Filter Table validation failed as expected. +21-237-13:16:07.059 00 SPR-I:OPRO <*> Passed - Event Msg 16 Found! +21-237-13:16:07.059 00 SPR-I:OPRO <*> Passed - Validation Event Msg rcv'd +21-237-13:16:07.060 00 SPR-I:OPRO <*> Passed - Validation Summary Event Msg rcv'd +21-237-13:16:07.077 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:07.077 00 SPR-I:OPRO ; Send the Table Services Load Abort command to release the buffer. +21-237-13:16:07.077 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:07.080 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:07.080 00 SPR-I:OPRO ; Setup event 1 with CFE_TBL INFO 21 +21-237-13:16:07.080 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:07.081 00 CMH-I:CMD Command SFDU received:<1804C0000029093F44532E46494C5445525F54424C000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-237-13:16:07.086 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:16:07.665 00 TLMH-I:STS 58-012-14:08:41.500 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=21 Table Load Aborted for 'DS.FILTER_TBL' +21-237-13:16:11.091 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:16:11.093 00 SPR-I:OPRO <*> Passed - Load abort command sent successfully. +21-237-13:16:11.094 00 SPR-I:OPRO <*> Passed - Event Msg 21 Found! +21-237-13:16:11.096 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:11.096 00 SPR-I:OPRO ; Load the invalid table image. +21-237-13:16:11.096 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:11.103 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:11.104 00 SPR-I:OPRO ; Setup event 1 with CFE_TBL INFO 12 +21-237-13:16:11.104 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:11.112 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/load_table.i +21-237-13:16:11.114 00 SPR-I:STS Procedure LOAD_TABLE started +21-237-13:16:11.120 00 SPR-I:OPRO Table Filename: ds_badfilter2.tbl +21-237-13:16:11.123 00 SPR-I:OPRO The perl command is: perl /s/opr/accounts/global/tools/table_ftp.pl 192.168.1.8 ds_badfilter2.tbl RAM:0 3 +21-237-13:16:11.124 00 SPR-I:OPRO +21-237-13:16:11.274 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-237-13:16:11.274 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:16:16.278 00 SPR-I:OPRO +21-237-13:16:16.281 00 SPR-I:OPRO Sending Command: /SCX_CPU1_TBL_LOAD LFILENAME="/ram/ds_badfilter2.tbl" +21-237-13:16:16.283 00 CMH-I:CMD Command SFDU received:<1804C000004102572F72616D2F64735F62616466696C746572322E74626C000000000000000000000000000000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-237-13:16:16.299 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:16:16.662 00 TLMH-I:STS 58-012-14:08:50.501 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=12 Successful load of '/ram/ds_badfilter2.tbl' into 'DS.FILTER_TBL' working buffer +21-237-13:16:18.302 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:16:18.303 00 SPR-I:STS Procedure LOAD_TABLE completed +21-237-13:16:18.311 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:16:18.312 00 SPR-I:OPRO <*> Passed - Load command for Invalid Packet Filter Table sent successfully. +21-237-13:16:18.312 00 SPR-I:OPRO <*> Passed - Event Msg 12 Found! +21-237-13:16:18.312 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:18.312 00 SPR-I:OPRO ; Send the Table Services command to validate the inactive buffer. +21-237-13:16:18.312 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:18.314 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:18.314 00 SPR-I:OPRO ; Setup event 1 with CFE_TBL DEBUG 16 +21-237-13:16:18.314 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:18.319 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:18.319 00 SPR-I:OPRO ; Setup event 2 with CFE_TBL ERROR 96 +21-237-13:16:18.319 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:18.322 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:18.322 00 SPR-I:OPRO ; Setup event 3 with DS ERROR 13 +21-237-13:16:18.322 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:18.327 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:18.327 00 SPR-I:OPRO ; Setup event 4 with DS INFO 12 +21-237-13:16:18.327 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:18.329 00 CMH-I:CMD Command SFDU received:<1804C000002B0430000044532E46494C5445525F54424C000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-237-13:16:18.345 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:16:18.662 00 TLMH-I:STS 58-012-14:08:52.502 DEBUG CPU=CPU1 APPNAME=CFE_TBL EVENT ID=16 Tbl Services issued validation request for 'DS.FILTER_TBL' +21-237-13:16:22.168 00 TLMH-I:STS 58-012-14:08:56.003 ERROR CPU=CPU1 APPNAME=DS EVENT ID=13 Filter table verify err: MID = 0x00001000, index = 0, filter = 0, file table index = 16 +21-237-13:16:22.169 00 TLMH-I:STS 58-012-14:08:56.004 INFO CPU=CPU1 APPNAME=DS EVENT ID=12 Filter table verify results: desc text = OK, good entries = 1, bad = 4, unused = 251 +21-237-13:16:22.170 00 TLMH-I:STS 58-012-14:08:56.004 ERROR CPU=CPU1 APPNAME=CFE_TBL EVENT ID=96 DS validation failed for Inactive 'DS.FILTER_TBL', Status=0xFFFFFFFF +21-237-13:16:22.350 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:16:22.352 00 SPR-I:OPRO <*> Passed - Packet Filter Table validate command sent. +21-237-13:16:22.365 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:16:22.367 00 SPR-I:OPRO <*> Passed (9005) - Packet Filter Table validation failed as expected. +21-237-13:16:22.372 00 SPR-I:OPRO <*> Passed - Event Msg 16 Found! +21-237-13:16:22.372 00 SPR-I:OPRO <*> Passed - Validation Event Msg rcv'd +21-237-13:16:22.373 00 SPR-I:OPRO <*> Passed - Validation Summary Event Msg rcv'd +21-237-13:16:22.391 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:22.391 00 SPR-I:OPRO ; Send the Table Services Load Abort command to release the buffer. +21-237-13:16:22.391 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:22.394 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:22.394 00 SPR-I:OPRO ; Setup event 1 with CFE_TBL INFO 21 +21-237-13:16:22.394 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:22.395 00 CMH-I:CMD Command SFDU received:<1804C0000029093F44532E46494C5445525F54424C000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-237-13:16:22.410 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:16:22.666 00 TLMH-I:STS 58-012-14:08:56.500 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=21 Table Load Aborted for 'DS.FILTER_TBL' +21-237-13:16:26.415 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:16:26.418 00 SPR-I:OPRO <*> Passed - Load abort command sent successfully. +21-237-13:16:26.419 00 SPR-I:OPRO <*> Passed - Event Msg 21 Found! +21-237-13:16:26.420 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:26.420 00 SPR-I:OPRO ; Load the invalid table image. +21-237-13:16:26.420 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:26.423 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:26.423 00 SPR-I:OPRO ; Setup event 1 with CFE_TBL INFO 12 +21-237-13:16:26.423 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:26.426 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/load_table.i +21-237-13:16:26.426 00 SPR-I:STS Procedure LOAD_TABLE started +21-237-13:16:26.428 00 SPR-I:OPRO Table Filename: ds_badfilter3.tbl +21-237-13:16:26.429 00 SPR-I:OPRO The perl command is: perl /s/opr/accounts/global/tools/table_ftp.pl 192.168.1.8 ds_badfilter3.tbl RAM:0 3 +21-237-13:16:26.429 00 SPR-I:OPRO +21-237-13:16:26.564 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-237-13:16:26.564 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:16:31.568 00 SPR-I:OPRO +21-237-13:16:31.571 00 SPR-I:OPRO Sending Command: /SCX_CPU1_TBL_LOAD LFILENAME="/ram/ds_badfilter3.tbl" +21-237-13:16:31.574 00 CMH-I:CMD Command SFDU received:<1804C000004102562F72616D2F64735F62616466696C746572332E74626C000000000000000000000000000000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-237-13:16:31.590 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:16:32.164 00 TLMH-I:STS 58-012-14:09:06.001 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=12 Successful load of '/ram/ds_badfilter3.tbl' into 'DS.FILTER_TBL' working buffer +21-237-13:16:34.594 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:16:34.595 00 SPR-I:STS Procedure LOAD_TABLE completed +21-237-13:16:34.603 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:16:34.604 00 SPR-I:OPRO <*> Passed - Load command for Invalid Packet Filter Table sent successfully. +21-237-13:16:34.604 00 SPR-I:OPRO <*> Passed - Event Msg 12 Found! +21-237-13:16:34.605 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:34.605 00 SPR-I:OPRO ; Send the Table Services command to validate the inactive buffer. +21-237-13:16:34.605 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:34.607 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:34.607 00 SPR-I:OPRO ; Setup event 1 with CFE_TBL DEBUG 16 +21-237-13:16:34.607 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:34.612 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:34.612 00 SPR-I:OPRO ; Setup event 2 with CFE_TBL ERROR 96 +21-237-13:16:34.613 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:34.615 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:34.615 00 SPR-I:OPRO ; Setup event 3 with DS ERROR 13 +21-237-13:16:34.615 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:34.618 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:34.618 00 SPR-I:OPRO ; Setup event 4 with DS INFO 12 +21-237-13:16:34.618 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:34.619 00 CMH-I:CMD Command SFDU received:<1804C000002B0430000044532E46494C5445525F54424C000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-237-13:16:34.624 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:16:35.165 00 TLMH-I:STS 58-012-14:09:09.002 DEBUG CPU=CPU1 APPNAME=CFE_TBL EVENT ID=16 Tbl Services issued validation request for 'DS.FILTER_TBL' +21-237-13:16:38.162 00 TLMH-I:STS 58-012-14:09:12.003 ERROR CPU=CPU1 APPNAME=DS EVENT ID=13 Filter table verify err: MID = 0x00001001, index = 1, filter = 0, filter type = 3 +21-237-13:16:38.163 00 TLMH-I:STS 58-012-14:09:12.004 INFO CPU=CPU1 APPNAME=DS EVENT ID=12 Filter table verify results: desc text = OK, good entries = 2, bad = 3, unused = 251 +21-237-13:16:38.164 00 TLMH-I:STS 58-012-14:09:12.004 ERROR CPU=CPU1 APPNAME=CFE_TBL EVENT ID=96 DS validation failed for Inactive 'DS.FILTER_TBL', Status=0xFFFFFFFF +21-237-13:16:38.629 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:16:38.632 00 SPR-I:OPRO <*> Passed - Packet Filter Table validate command sent. +21-237-13:16:38.637 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:16:38.638 00 SPR-I:OPRO <*> Passed (9005) - Packet Filter Table validation failed as expected. +21-237-13:16:38.638 00 SPR-I:OPRO <*> Passed - Event Msg 16 Found! +21-237-13:16:38.639 00 SPR-I:OPRO <*> Passed - Validation Event Msg rcv'd +21-237-13:16:38.639 00 SPR-I:OPRO <*> Passed - Validation Summary Event Msg rcv'd +21-237-13:16:38.646 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:38.646 00 SPR-I:OPRO ; Send the Table Services Load Abort command to release the buffer. +21-237-13:16:38.646 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:38.648 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:38.648 00 SPR-I:OPRO ; Setup event 1 with CFE_TBL INFO 21 +21-237-13:16:38.648 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:38.649 00 CMH-I:CMD Command SFDU received:<1804C0000029093F44532E46494C5445525F54424C000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-237-13:16:38.663 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:16:39.163 00 TLMH-I:STS 58-012-14:09:13.001 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=21 Table Load Aborted for 'DS.FILTER_TBL' +21-237-13:16:42.667 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:16:42.667 00 SPR-I:OPRO <*> Passed - Load abort command sent successfully. +21-237-13:16:42.668 00 SPR-I:OPRO <*> Passed - Event Msg 21 Found! +21-237-13:16:42.668 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:42.668 00 SPR-I:OPRO ; Load the invalid table image. +21-237-13:16:42.668 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:42.670 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:42.670 00 SPR-I:OPRO ; Setup event 1 with CFE_TBL INFO 12 +21-237-13:16:42.670 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:42.673 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/load_table.i +21-237-13:16:42.673 00 SPR-I:STS Procedure LOAD_TABLE started +21-237-13:16:42.674 00 SPR-I:OPRO Table Filename: ds_badfilter4.tbl +21-237-13:16:42.675 00 SPR-I:OPRO The perl command is: perl /s/opr/accounts/global/tools/table_ftp.pl 192.168.1.8 ds_badfilter4.tbl RAM:0 3 +21-237-13:16:42.675 00 SPR-I:OPRO +21-237-13:16:42.799 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-237-13:16:42.799 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:16:47.803 00 SPR-I:OPRO +21-237-13:16:47.806 00 SPR-I:OPRO Sending Command: /SCX_CPU1_TBL_LOAD LFILENAME="/ram/ds_badfilter4.tbl" +21-237-13:16:47.808 00 CMH-I:CMD Command SFDU received:<1804C000004102512F72616D2F64735F62616466696C746572342E74626C000000000000000000000000000000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-237-13:16:47.823 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:16:48.159 00 TLMH-I:STS 58-012-14:09:22.002 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=12 Successful load of '/ram/ds_badfilter4.tbl' into 'DS.FILTER_TBL' working buffer +21-237-13:16:50.826 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:16:50.828 00 SPR-I:STS Procedure LOAD_TABLE completed +21-237-13:16:50.844 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:16:50.846 00 SPR-I:OPRO <*> Passed - Load command for Invalid Packet Filter Table sent successfully. +21-237-13:16:50.847 00 SPR-I:OPRO <*> Passed - Event Msg 12 Found! +21-237-13:16:50.847 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:50.848 00 SPR-I:OPRO ; Send the Table Services command to validate the inactive buffer. +21-237-13:16:50.848 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:50.855 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:50.855 00 SPR-I:OPRO ; Setup event 1 with CFE_TBL DEBUG 16 +21-237-13:16:50.855 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:50.863 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:50.864 00 SPR-I:OPRO ; Setup event 2 with CFE_TBL ERROR 96 +21-237-13:16:50.864 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:50.867 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:50.867 00 SPR-I:OPRO ; Setup event 3 with DS ERROR 13 +21-237-13:16:50.867 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:50.871 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:50.871 00 SPR-I:OPRO ; Setup event 4 with DS INFO 12 +21-237-13:16:50.871 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:50.872 00 CMH-I:CMD Command SFDU received:<1804C000002B0430000044532E46494C5445525F54424C000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-237-13:16:50.887 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:16:51.166 00 TLMH-I:STS 58-012-14:09:25.002 DEBUG CPU=CPU1 APPNAME=CFE_TBL EVENT ID=16 Tbl Services issued validation request for 'DS.FILTER_TBL' +21-237-13:16:54.167 00 TLMH-I:STS 58-012-14:09:28.004 ERROR CPU=CPU1 APPNAME=DS EVENT ID=13 Filter table verify err: MID = 0x00001002, index = 2, filter = 0, filter parms N = 2, X = 1, O = 0 +21-237-13:16:54.168 00 TLMH-I:STS 58-012-14:09:28.004 INFO CPU=CPU1 APPNAME=DS EVENT ID=12 Filter table verify results: desc text = OK, good entries = 3, bad = 2, unused = 251 +21-237-13:16:54.170 00 TLMH-I:STS 58-012-14:09:28.004 ERROR CPU=CPU1 APPNAME=CFE_TBL EVENT ID=96 DS validation failed for Inactive 'DS.FILTER_TBL', Status=0xFFFFFFFF +21-237-13:16:54.893 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:16:54.896 00 SPR-I:OPRO <*> Passed - Packet Filter Table validate command sent. +21-237-13:16:54.902 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:16:54.903 00 SPR-I:OPRO <*> Passed (9005) - Packet Filter Table validation failed as expected. +21-237-13:16:54.905 00 SPR-I:OPRO <*> Passed - Event Msg 16 Found! +21-237-13:16:54.905 00 SPR-I:OPRO <*> Passed - Validation Event Msg rcv'd +21-237-13:16:54.905 00 SPR-I:OPRO <*> Passed - Validation Summary Event Msg rcv'd +21-237-13:16:54.917 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:54.917 00 SPR-I:OPRO ; Send the Table Services Load Abort command to release the buffer. +21-237-13:16:54.917 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:54.919 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:54.919 00 SPR-I:OPRO ; Setup event 1 with CFE_TBL INFO 21 +21-237-13:16:54.919 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:54.920 00 CMH-I:CMD Command SFDU received:<1804C0000029093F44532E46494C5445525F54424C000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-237-13:16:54.935 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:16:55.163 00 TLMH-I:STS 58-012-14:09:29.001 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=21 Table Load Aborted for 'DS.FILTER_TBL' +21-237-13:16:58.940 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:16:58.942 00 SPR-I:OPRO <*> Passed - Load abort command sent successfully. +21-237-13:16:58.943 00 SPR-I:OPRO <*> Passed - Event Msg 21 Found! +21-237-13:16:58.944 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:58.945 00 SPR-I:OPRO ; Load the invalid table image. +21-237-13:16:58.945 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:58.947 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:58.948 00 SPR-I:OPRO ; Setup event 1 with CFE_TBL INFO 12 +21-237-13:16:58.948 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:16:58.951 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/load_table.i +21-237-13:16:58.951 00 SPR-I:STS Procedure LOAD_TABLE started +21-237-13:16:58.953 00 SPR-I:OPRO Table Filename: ds_badfilter5.tbl +21-237-13:16:58.954 00 SPR-I:OPRO The perl command is: perl /s/opr/accounts/global/tools/table_ftp.pl 192.168.1.8 ds_badfilter5.tbl RAM:0 3 +21-237-13:16:58.954 00 SPR-I:OPRO +21-237-13:16:59.094 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-237-13:16:59.094 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:17:04.099 00 SPR-I:OPRO +21-237-13:17:04.102 00 SPR-I:OPRO Sending Command: /SCX_CPU1_TBL_LOAD LFILENAME="/ram/ds_badfilter5.tbl" +21-237-13:17:04.104 00 CMH-I:CMD Command SFDU received:<1804C000004102502F72616D2F64735F62616466696C746572352E74626C000000000000000000000000000000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-237-13:17:04.128 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:17:04.660 00 TLMH-I:STS 58-012-14:09:38.501 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=12 Successful load of '/ram/ds_badfilter5.tbl' into 'DS.FILTER_TBL' working buffer +21-237-13:17:07.132 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:17:07.135 00 SPR-I:STS Procedure LOAD_TABLE completed +21-237-13:17:07.143 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:17:07.144 00 SPR-I:OPRO <*> Passed - Load command for Invalid Packet Filter Table sent successfully. +21-237-13:17:07.144 00 SPR-I:OPRO <*> Passed - Event Msg 12 Found! +21-237-13:17:07.144 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:17:07.145 00 SPR-I:OPRO ; Send the Table Services command to validate the inactive buffer. +21-237-13:17:07.145 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:17:07.154 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:17:07.155 00 SPR-I:OPRO ; Setup event 1 with CFE_TBL DEBUG 16 +21-237-13:17:07.155 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:17:07.162 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:17:07.162 00 SPR-I:OPRO ; Setup event 2 with CFE_TBL ERROR 96 +21-237-13:17:07.162 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:17:07.165 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:17:07.165 00 SPR-I:OPRO ; Setup event 3 with DS ERROR 13 +21-237-13:17:07.165 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:17:07.168 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:17:07.168 00 SPR-I:OPRO ; Setup event 4 with DS INFO 12 +21-237-13:17:07.168 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:17:07.169 00 CMH-I:CMD Command SFDU received:<1804C000002B0430000044532E46494C5445525F54424C000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-237-13:17:07.178 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:17:07.657 00 TLMH-I:STS 58-012-14:09:41.502 DEBUG CPU=CPU1 APPNAME=CFE_TBL EVENT ID=16 Tbl Services issued validation request for 'DS.FILTER_TBL' +21-237-13:17:10.160 00 TLMH-I:STS 58-012-14:09:44.003 ERROR CPU=CPU1 APPNAME=DS EVENT ID=13 Filter table verify err: MID = 0x00001003, index = 3, filter = 0, filter parms N = 1, X = 1, O = 2 +21-237-13:17:10.161 00 TLMH-I:STS 58-012-14:09:44.004 INFO CPU=CPU1 APPNAME=DS EVENT ID=12 Filter table verify results: desc text = OK, good entries = 4, bad = 1, unused = 251 +21-237-13:17:10.162 00 TLMH-I:STS 58-012-14:09:44.004 ERROR CPU=CPU1 APPNAME=CFE_TBL EVENT ID=96 DS validation failed for Inactive 'DS.FILTER_TBL', Status=0xFFFFFFFF +21-237-13:17:10.182 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:17:10.184 00 SPR-I:OPRO <*> Passed - Packet Filter Table validate command sent. +21-237-13:17:10.201 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:17:10.203 00 SPR-I:OPRO <*> Passed (9005) - Packet Filter Table validation failed as expected. +21-237-13:17:10.207 00 SPR-I:OPRO <*> Passed - Event Msg 16 Found! +21-237-13:17:10.208 00 SPR-I:OPRO <*> Passed - Validation Event Msg rcv'd +21-237-13:17:10.228 00 SPR-I:OPRO <*> Passed - Validation Summary Event Msg rcv'd +21-237-13:17:10.228 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:17:10.228 00 SPR-I:OPRO ; Send the Table Services Load Abort command to release the buffer. +21-237-13:17:10.228 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:17:10.230 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:17:10.230 00 SPR-I:OPRO ; Setup event 1 with CFE_TBL INFO 21 +21-237-13:17:10.230 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:17:10.232 00 CMH-I:CMD Command SFDU received:<1804C0000029093F44532E46494C5445525F54424C000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-237-13:17:10.248 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:17:10.665 00 TLMH-I:STS 58-012-14:09:44.500 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=21 Table Load Aborted for 'DS.FILTER_TBL' +21-237-13:17:14.253 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:17:14.255 00 SPR-I:OPRO <*> Passed - Load abort command sent successfully. +21-237-13:17:14.256 00 SPR-I:OPRO <*> Passed - Event Msg 21 Found! +21-237-13:17:14.258 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:17:19.262 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:17:19.262 00 SPR-I:OPRO ; Step 5.3: Create invalid Destination File Table load images each +21-237-13:17:19.263 00 SPR-I:OPRO ; containing one of the possible content errors. +21-237-13:17:19.263 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:17:19.263 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/scx_cpu1_ds_badfiletbls.i +21-237-13:17:19.270 00 SPR-I:STS Procedure SCX_CPU1_DS_BADFILETBLS started +21-237-13:17:19.318 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:17:19.318 00 SPR-I:OPRO ; Step 1.0: Define DS Destination File And Packet Filter Tables. +21-237-13:17:19.318 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:17:19.325 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/create_tbl_file_from_cvt.i +21-237-13:17:19.325 00 SPR-I:STS Procedure CREATE_TBL_FILE_FROM_CVT started +21-237-13:17:19.328 00 SPR-I:OPRO ********** ds_badfile1.tbl ********** +21-237-13:17:19.328 00 SPR-I:OPRO +21-237-13:17:19.328 00 SPR-I:OPRO Content Type: cFE1 +21-237-13:17:19.328 00 SPR-I:OPRO Sub Type: 8 +21-237-13:17:19.329 00 SPR-I:OPRO Length: 12 +21-237-13:17:19.329 00 SPR-I:OPRO Spacecraft Id: SCX +21-237-13:17:19.329 00 SPR-I:OPRO Processor Id: CPU3 +21-237-13:17:19.329 00 SPR-I:OPRO Application Id: 3958 +21-237-13:17:19.329 00 SPR-I:OPRO Create Time Secs: 1629897439 +21-237-13:17:19.329 00 SPR-I:OPRO Create Time Subsecs: 0 +21-237-13:17:19.329 00 SPR-I:OPRO File Description: Invalid File Table Description +21-237-13:17:19.329 00 SPR-I:OPRO +21-237-13:17:19.329 00 SPR-I:OPRO ********** DS.FILE_TBL ********** +21-237-13:17:19.329 00 SPR-I:OPRO +21-237-13:17:19.329 00 SPR-I:OPRO Start Mnemonic: SCX_CPU1_DS_DF_TBL_Description +21-237-13:17:19.329 00 SPR-I:OPRO Byte Offset: 0 +21-237-13:17:19.329 00 SPR-I:OPRO End Mnemonic: SCX_CPU1_DS_DF_TBL[8].SeqCnt +21-237-13:17:19.329 00 SPR-I:OPRO Number of Bytes: 1976 +21-237-13:17:19.329 00 SPR-I:OPRO +21-237-13:17:19.335 00 SPR-I:STS Loading file /s/opr/accounts/global/prc/partial_cvt_to_file_beta.i +21-237-13:17:19.335 00 SPR-I:STS Procedure PARTIAL_CVT_TO_FILE_BETA started +21-237-13:17:19.336 00 SPR-I:OPRO The unix command is cd /s/opr/accounts/cfs_test/image;cvt2file -s 116 -e 2091 P0F76 ds.file_tbl +21-237-13:17:19.340 00 SPR-I:STS Procedure PARTIAL_CVT_TO_FILE_BETA completed +21-237-13:17:19.340 00 SPR-I:OPRO cd /s/opr/accounts/cfs_test/image;cat ds_badfile1.tbl.tmp ds.file_tbl > ds_badfile1.tbl +21-237-13:17:19.344 00 SPR-I:OPRO cd /s/opr/accounts/cfs_test/image;rm ds.file_tbl ds_badfile1.tbl.tmp +21-237-13:17:19.348 00 SPR-I:STS Procedure CREATE_TBL_FILE_FROM_CVT completed +21-237-13:17:19.348 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/create_tbl_file_from_cvt.i +21-237-13:17:19.349 00 SPR-I:STS Procedure CREATE_TBL_FILE_FROM_CVT started +21-237-13:17:19.351 00 SPR-I:OPRO ********** ds_badfile2.tbl ********** +21-237-13:17:19.351 00 SPR-I:OPRO +21-237-13:17:19.351 00 SPR-I:OPRO Content Type: cFE1 +21-237-13:17:19.351 00 SPR-I:OPRO Sub Type: 8 +21-237-13:17:19.351 00 SPR-I:OPRO Length: 12 +21-237-13:17:19.351 00 SPR-I:OPRO Spacecraft Id: SCX +21-237-13:17:19.351 00 SPR-I:OPRO Processor Id: CPU3 +21-237-13:17:19.351 00 SPR-I:OPRO Application Id: 3958 +21-237-13:17:19.351 00 SPR-I:OPRO Create Time Secs: 1629897439 +21-237-13:17:19.351 00 SPR-I:OPRO Create Time Subsecs: 0 +21-237-13:17:19.351 00 SPR-I:OPRO File Description: Invalid File Table Null Path +21-237-13:17:19.351 00 SPR-I:OPRO +21-237-13:17:19.351 00 SPR-I:OPRO ********** DS.FILE_TBL ********** +21-237-13:17:19.351 00 SPR-I:OPRO +21-237-13:17:19.352 00 SPR-I:OPRO Start Mnemonic: SCX_CPU1_DS_DF_TBL_Description +21-237-13:17:19.352 00 SPR-I:OPRO Byte Offset: 0 +21-237-13:17:19.352 00 SPR-I:OPRO End Mnemonic: SCX_CPU1_DS_DF_TBL[8].SeqCnt +21-237-13:17:19.352 00 SPR-I:OPRO Number of Bytes: 1976 +21-237-13:17:19.352 00 SPR-I:OPRO +21-237-13:17:19.357 00 SPR-I:STS Loading file /s/opr/accounts/global/prc/partial_cvt_to_file_beta.i +21-237-13:17:19.357 00 SPR-I:STS Procedure PARTIAL_CVT_TO_FILE_BETA started +21-237-13:17:19.358 00 SPR-I:OPRO The unix command is cd /s/opr/accounts/cfs_test/image;cvt2file -s 116 -e 2091 P0F76 ds.file_tbl +21-237-13:17:19.362 00 SPR-I:STS Procedure PARTIAL_CVT_TO_FILE_BETA completed +21-237-13:17:19.362 00 SPR-I:OPRO cd /s/opr/accounts/cfs_test/image;cat ds_badfile2.tbl.tmp ds.file_tbl > ds_badfile2.tbl +21-237-13:17:19.367 00 SPR-I:OPRO cd /s/opr/accounts/cfs_test/image;rm ds.file_tbl ds_badfile2.tbl.tmp +21-237-13:17:19.374 00 SPR-I:STS Procedure CREATE_TBL_FILE_FROM_CVT completed +21-237-13:17:19.375 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/create_tbl_file_from_cvt.i +21-237-13:17:19.375 00 SPR-I:STS Procedure CREATE_TBL_FILE_FROM_CVT started +21-237-13:17:19.377 00 SPR-I:OPRO ********** ds_badfile3.tbl ********** +21-237-13:17:19.377 00 SPR-I:OPRO +21-237-13:17:19.377 00 SPR-I:OPRO Content Type: cFE1 +21-237-13:17:19.377 00 SPR-I:OPRO Sub Type: 8 +21-237-13:17:19.378 00 SPR-I:OPRO Length: 12 +21-237-13:17:19.378 00 SPR-I:OPRO Spacecraft Id: SCX +21-237-13:17:19.378 00 SPR-I:OPRO Processor Id: CPU3 +21-237-13:17:19.378 00 SPR-I:OPRO Application Id: 3958 +21-237-13:17:19.378 00 SPR-I:OPRO Create Time Secs: 1629897439 +21-237-13:17:19.378 00 SPR-I:OPRO Create Time Subsecs: 0 +21-237-13:17:19.378 00 SPR-I:OPRO File Description: Invalid File Table Name Type +21-237-13:17:19.378 00 SPR-I:OPRO +21-237-13:17:19.378 00 SPR-I:OPRO ********** DS.FILE_TBL ********** +21-237-13:17:19.378 00 SPR-I:OPRO +21-237-13:17:19.378 00 SPR-I:OPRO Start Mnemonic: SCX_CPU1_DS_DF_TBL_Description +21-237-13:17:19.378 00 SPR-I:OPRO Byte Offset: 0 +21-237-13:17:19.378 00 SPR-I:OPRO End Mnemonic: SCX_CPU1_DS_DF_TBL[8].SeqCnt +21-237-13:17:19.378 00 SPR-I:OPRO Number of Bytes: 1976 +21-237-13:17:19.379 00 SPR-I:OPRO +21-237-13:17:19.384 00 SPR-I:STS Loading file /s/opr/accounts/global/prc/partial_cvt_to_file_beta.i +21-237-13:17:19.384 00 SPR-I:STS Procedure PARTIAL_CVT_TO_FILE_BETA started +21-237-13:17:19.385 00 SPR-I:OPRO The unix command is cd /s/opr/accounts/cfs_test/image;cvt2file -s 116 -e 2091 P0F76 ds.file_tbl +21-237-13:17:19.390 00 SPR-I:STS Procedure PARTIAL_CVT_TO_FILE_BETA completed +21-237-13:17:19.390 00 SPR-I:OPRO cd /s/opr/accounts/cfs_test/image;cat ds_badfile3.tbl.tmp ds.file_tbl > ds_badfile3.tbl +21-237-13:17:19.394 00 SPR-I:OPRO cd /s/opr/accounts/cfs_test/image;rm ds.file_tbl ds_badfile3.tbl.tmp +21-237-13:17:19.399 00 SPR-I:STS Procedure CREATE_TBL_FILE_FROM_CVT completed +21-237-13:17:19.399 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/create_tbl_file_from_cvt.i +21-237-13:17:19.399 00 SPR-I:STS Procedure CREATE_TBL_FILE_FROM_CVT started +21-237-13:17:19.401 00 SPR-I:OPRO ********** ds_badfile4.tbl ********** +21-237-13:17:19.401 00 SPR-I:OPRO +21-237-13:17:19.402 00 SPR-I:OPRO Content Type: cFE1 +21-237-13:17:19.402 00 SPR-I:OPRO Sub Type: 8 +21-237-13:17:19.402 00 SPR-I:OPRO Length: 12 +21-237-13:17:19.402 00 SPR-I:OPRO Spacecraft Id: SCX +21-237-13:17:19.402 00 SPR-I:OPRO Processor Id: CPU3 +21-237-13:17:19.402 00 SPR-I:OPRO Application Id: 3958 +21-237-13:17:19.402 00 SPR-I:OPRO Create Time Secs: 1629897439 +21-237-13:17:19.402 00 SPR-I:OPRO Create Time Subsecs: 0 +21-237-13:17:19.402 00 SPR-I:OPRO File Description: Invalid File State Type +21-237-13:17:19.402 00 SPR-I:OPRO +21-237-13:17:19.402 00 SPR-I:OPRO ********** DS.FILE_TBL ********** +21-237-13:17:19.402 00 SPR-I:OPRO +21-237-13:17:19.402 00 SPR-I:OPRO Start Mnemonic: SCX_CPU1_DS_DF_TBL_Description +21-237-13:17:19.402 00 SPR-I:OPRO Byte Offset: 0 +21-237-13:17:19.402 00 SPR-I:OPRO End Mnemonic: SCX_CPU1_DS_DF_TBL[8].SeqCnt +21-237-13:17:19.402 00 SPR-I:OPRO Number of Bytes: 1976 +21-237-13:17:19.402 00 SPR-I:OPRO +21-237-13:17:19.409 00 SPR-I:STS Loading file /s/opr/accounts/global/prc/partial_cvt_to_file_beta.i +21-237-13:17:19.409 00 SPR-I:STS Procedure PARTIAL_CVT_TO_FILE_BETA started +21-237-13:17:19.409 00 SPR-I:OPRO The unix command is cd /s/opr/accounts/cfs_test/image;cvt2file -s 116 -e 2091 P0F76 ds.file_tbl +21-237-13:17:19.414 00 SPR-I:STS Procedure PARTIAL_CVT_TO_FILE_BETA completed +21-237-13:17:19.414 00 SPR-I:OPRO cd /s/opr/accounts/cfs_test/image;cat ds_badfile4.tbl.tmp ds.file_tbl > ds_badfile4.tbl +21-237-13:17:19.419 00 SPR-I:OPRO cd /s/opr/accounts/cfs_test/image;rm ds.file_tbl ds_badfile4.tbl.tmp +21-237-13:17:19.423 00 SPR-I:STS Procedure CREATE_TBL_FILE_FROM_CVT completed +21-237-13:17:19.424 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/create_tbl_file_from_cvt.i +21-237-13:17:19.424 00 SPR-I:STS Procedure CREATE_TBL_FILE_FROM_CVT started +21-237-13:17:19.426 00 SPR-I:OPRO ********** ds_badfile5.tbl ********** +21-237-13:17:19.426 00 SPR-I:OPRO +21-237-13:17:19.426 00 SPR-I:OPRO Content Type: cFE1 +21-237-13:17:19.427 00 SPR-I:OPRO Sub Type: 8 +21-237-13:17:19.427 00 SPR-I:OPRO Length: 12 +21-237-13:17:19.427 00 SPR-I:OPRO Spacecraft Id: SCX +21-237-13:17:19.427 00 SPR-I:OPRO Processor Id: CPU3 +21-237-13:17:19.427 00 SPR-I:OPRO Application Id: 3958 +21-237-13:17:19.427 00 SPR-I:OPRO Create Time Secs: 1629897439 +21-237-13:17:19.427 00 SPR-I:OPRO Create Time Subsecs: 0 +21-237-13:17:19.427 00 SPR-I:OPRO File Description: Invalid File Table Max Size +21-237-13:17:19.427 00 SPR-I:OPRO +21-237-13:17:19.427 00 SPR-I:OPRO ********** DS.FILE_TBL ********** +21-237-13:17:19.427 00 SPR-I:OPRO +21-237-13:17:19.427 00 SPR-I:OPRO Start Mnemonic: SCX_CPU1_DS_DF_TBL_Description +21-237-13:17:19.427 00 SPR-I:OPRO Byte Offset: 0 +21-237-13:17:19.427 00 SPR-I:OPRO End Mnemonic: SCX_CPU1_DS_DF_TBL[8].SeqCnt +21-237-13:17:19.427 00 SPR-I:OPRO Number of Bytes: 1976 +21-237-13:17:19.427 00 SPR-I:OPRO +21-237-13:17:19.433 00 SPR-I:STS Loading file /s/opr/accounts/global/prc/partial_cvt_to_file_beta.i +21-237-13:17:19.433 00 SPR-I:STS Procedure PARTIAL_CVT_TO_FILE_BETA started +21-237-13:17:19.435 00 SPR-I:OPRO The unix command is cd /s/opr/accounts/cfs_test/image;cvt2file -s 116 -e 2091 P0F76 ds.file_tbl +21-237-13:17:19.440 00 SPR-I:STS Procedure PARTIAL_CVT_TO_FILE_BETA completed +21-237-13:17:19.440 00 SPR-I:OPRO cd /s/opr/accounts/cfs_test/image;cat ds_badfile5.tbl.tmp ds.file_tbl > ds_badfile5.tbl +21-237-13:17:19.444 00 SPR-I:OPRO cd /s/opr/accounts/cfs_test/image;rm ds.file_tbl ds_badfile5.tbl.tmp +21-237-13:17:19.448 00 SPR-I:STS Procedure CREATE_TBL_FILE_FROM_CVT completed +21-237-13:17:19.449 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/create_tbl_file_from_cvt.i +21-237-13:17:19.449 00 SPR-I:STS Procedure CREATE_TBL_FILE_FROM_CVT started +21-237-13:17:19.452 00 SPR-I:OPRO ********** ds_badfile6.tbl ********** +21-237-13:17:19.452 00 SPR-I:OPRO +21-237-13:17:19.452 00 SPR-I:OPRO Content Type: cFE1 +21-237-13:17:19.452 00 SPR-I:OPRO Sub Type: 8 +21-237-13:17:19.452 00 SPR-I:OPRO Length: 12 +21-237-13:17:19.452 00 SPR-I:OPRO Spacecraft Id: SCX +21-237-13:17:19.452 00 SPR-I:OPRO Processor Id: CPU3 +21-237-13:17:19.452 00 SPR-I:OPRO Application Id: 3958 +21-237-13:17:19.452 00 SPR-I:OPRO Create Time Secs: 1629897439 +21-237-13:17:19.452 00 SPR-I:OPRO Create Time Subsecs: 0 +21-237-13:17:19.452 00 SPR-I:OPRO File Description: Invalid File Table Max Age +21-237-13:17:19.452 00 SPR-I:OPRO +21-237-13:17:19.452 00 SPR-I:OPRO ********** DS.FILE_TBL ********** +21-237-13:17:19.453 00 SPR-I:OPRO +21-237-13:17:19.453 00 SPR-I:OPRO Start Mnemonic: SCX_CPU1_DS_DF_TBL_Description +21-237-13:17:19.453 00 SPR-I:OPRO Byte Offset: 0 +21-237-13:17:19.453 00 SPR-I:OPRO End Mnemonic: SCX_CPU1_DS_DF_TBL[8].SeqCnt +21-237-13:17:19.453 00 SPR-I:OPRO Number of Bytes: 1976 +21-237-13:17:19.453 00 SPR-I:OPRO +21-237-13:17:19.458 00 SPR-I:STS Loading file /s/opr/accounts/global/prc/partial_cvt_to_file_beta.i +21-237-13:17:19.458 00 SPR-I:STS Procedure PARTIAL_CVT_TO_FILE_BETA started +21-237-13:17:19.459 00 SPR-I:OPRO The unix command is cd /s/opr/accounts/cfs_test/image;cvt2file -s 116 -e 2091 P0F76 ds.file_tbl +21-237-13:17:19.464 00 SPR-I:STS Procedure PARTIAL_CVT_TO_FILE_BETA completed +21-237-13:17:19.464 00 SPR-I:OPRO cd /s/opr/accounts/cfs_test/image;cat ds_badfile6.tbl.tmp ds.file_tbl > ds_badfile6.tbl +21-237-13:17:19.468 00 SPR-I:OPRO cd /s/opr/accounts/cfs_test/image;rm ds.file_tbl ds_badfile6.tbl.tmp +21-237-13:17:19.471 00 SPR-I:STS Procedure CREATE_TBL_FILE_FROM_CVT completed +21-237-13:17:19.472 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/create_tbl_file_from_cvt.i +21-237-13:17:19.472 00 SPR-I:STS Procedure CREATE_TBL_FILE_FROM_CVT started +21-237-13:17:19.474 00 SPR-I:OPRO ********** ds_badfile7.tbl ********** +21-237-13:17:19.474 00 SPR-I:OPRO +21-237-13:17:19.474 00 SPR-I:OPRO Content Type: cFE1 +21-237-13:17:19.474 00 SPR-I:OPRO Sub Type: 8 +21-237-13:17:19.474 00 SPR-I:OPRO Length: 12 +21-237-13:17:19.475 00 SPR-I:OPRO Spacecraft Id: SCX +21-237-13:17:19.475 00 SPR-I:OPRO Processor Id: CPU3 +21-237-13:17:19.475 00 SPR-I:OPRO Application Id: 3958 +21-237-13:17:19.475 00 SPR-I:OPRO Create Time Secs: 1629897439 +21-237-13:17:19.475 00 SPR-I:OPRO Create Time Subsecs: 0 +21-237-13:17:19.475 00 SPR-I:OPRO File Description: Invalid File Table Extension +21-237-13:17:19.475 00 SPR-I:OPRO +21-237-13:17:19.475 00 SPR-I:OPRO ********** DS.FILE_TBL ********** +21-237-13:17:19.475 00 SPR-I:OPRO +21-237-13:17:19.475 00 SPR-I:OPRO Start Mnemonic: SCX_CPU1_DS_DF_TBL_Description +21-237-13:17:19.475 00 SPR-I:OPRO Byte Offset: 0 +21-237-13:17:19.475 00 SPR-I:OPRO End Mnemonic: SCX_CPU1_DS_DF_TBL[8].SeqCnt +21-237-13:17:19.475 00 SPR-I:OPRO Number of Bytes: 1976 +21-237-13:17:19.475 00 SPR-I:OPRO +21-237-13:17:19.483 00 SPR-I:STS Loading file /s/opr/accounts/global/prc/partial_cvt_to_file_beta.i +21-237-13:17:19.484 00 SPR-I:STS Procedure PARTIAL_CVT_TO_FILE_BETA started +21-237-13:17:19.484 00 SPR-I:OPRO The unix command is cd /s/opr/accounts/cfs_test/image;cvt2file -s 116 -e 2091 P0F76 ds.file_tbl +21-237-13:17:19.489 00 SPR-I:STS Procedure PARTIAL_CVT_TO_FILE_BETA completed +21-237-13:17:19.489 00 SPR-I:OPRO cd /s/opr/accounts/cfs_test/image;cat ds_badfile7.tbl.tmp ds.file_tbl > ds_badfile7.tbl +21-237-13:17:19.493 00 SPR-I:OPRO cd /s/opr/accounts/cfs_test/image;rm ds.file_tbl ds_badfile7.tbl.tmp +21-237-13:17:19.500 00 SPR-I:STS Procedure CREATE_TBL_FILE_FROM_CVT completed +21-237-13:17:19.501 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/create_tbl_file_from_cvt.i +21-237-13:17:19.501 00 SPR-I:STS Procedure CREATE_TBL_FILE_FROM_CVT started +21-237-13:17:19.503 00 SPR-I:OPRO ********** ds_badfile8.tbl ********** +21-237-13:17:19.503 00 SPR-I:OPRO +21-237-13:17:19.503 00 SPR-I:OPRO Content Type: cFE1 +21-237-13:17:19.503 00 SPR-I:OPRO Sub Type: 8 +21-237-13:17:19.503 00 SPR-I:OPRO Length: 12 +21-237-13:17:19.504 00 SPR-I:OPRO Spacecraft Id: SCX +21-237-13:17:19.504 00 SPR-I:OPRO Processor Id: CPU3 +21-237-13:17:19.504 00 SPR-I:OPRO Application Id: 3958 +21-237-13:17:19.504 00 SPR-I:OPRO Create Time Secs: 1629897439 +21-237-13:17:19.504 00 SPR-I:OPRO Create Time Subsecs: 0 +21-237-13:17:19.504 00 SPR-I:OPRO File Description: Invalid Sequence Num1 +21-237-13:17:19.504 00 SPR-I:OPRO +21-237-13:17:19.504 00 SPR-I:OPRO ********** DS.FILE_TBL ********** +21-237-13:17:19.504 00 SPR-I:OPRO +21-237-13:17:19.504 00 SPR-I:OPRO Start Mnemonic: SCX_CPU1_DS_DF_TBL_Description +21-237-13:17:19.504 00 SPR-I:OPRO Byte Offset: 0 +21-237-13:17:19.504 00 SPR-I:OPRO End Mnemonic: SCX_CPU1_DS_DF_TBL[8].SeqCnt +21-237-13:17:19.504 00 SPR-I:OPRO Number of Bytes: 1976 +21-237-13:17:19.504 00 SPR-I:OPRO +21-237-13:17:19.510 00 SPR-I:STS Loading file /s/opr/accounts/global/prc/partial_cvt_to_file_beta.i +21-237-13:17:19.510 00 SPR-I:STS Procedure PARTIAL_CVT_TO_FILE_BETA started +21-237-13:17:19.511 00 SPR-I:OPRO The unix command is cd /s/opr/accounts/cfs_test/image;cvt2file -s 116 -e 2091 P0F76 ds.file_tbl +21-237-13:17:19.515 00 SPR-I:STS Procedure PARTIAL_CVT_TO_FILE_BETA completed +21-237-13:17:19.515 00 SPR-I:OPRO cd /s/opr/accounts/cfs_test/image;cat ds_badfile8.tbl.tmp ds.file_tbl > ds_badfile8.tbl +21-237-13:17:19.519 00 SPR-I:OPRO cd /s/opr/accounts/cfs_test/image;rm ds.file_tbl ds_badfile8.tbl.tmp +21-237-13:17:19.526 00 SPR-I:STS Procedure CREATE_TBL_FILE_FROM_CVT completed +21-237-13:17:19.527 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/create_tbl_file_from_cvt.i +21-237-13:17:19.527 00 SPR-I:STS Procedure CREATE_TBL_FILE_FROM_CVT started +21-237-13:17:19.529 00 SPR-I:OPRO ********** ds_badfile9.tbl ********** +21-237-13:17:19.529 00 SPR-I:OPRO +21-237-13:17:19.529 00 SPR-I:OPRO Content Type: cFE1 +21-237-13:17:19.529 00 SPR-I:OPRO Sub Type: 8 +21-237-13:17:19.529 00 SPR-I:OPRO Length: 12 +21-237-13:17:19.530 00 SPR-I:OPRO Spacecraft Id: SCX +21-237-13:17:19.530 00 SPR-I:OPRO Processor Id: CPU3 +21-237-13:17:19.530 00 SPR-I:OPRO Application Id: 3958 +21-237-13:17:19.530 00 SPR-I:OPRO Create Time Secs: 1629897439 +21-237-13:17:19.530 00 SPR-I:OPRO Create Time Subsecs: 0 +21-237-13:17:19.530 00 SPR-I:OPRO File Description: Invalid Sequence Num2 +21-237-13:17:19.530 00 SPR-I:OPRO +21-237-13:17:19.530 00 SPR-I:OPRO ********** DS.FILE_TBL ********** +21-237-13:17:19.530 00 SPR-I:OPRO +21-237-13:17:19.530 00 SPR-I:OPRO Start Mnemonic: SCX_CPU1_DS_DF_TBL_Description +21-237-13:17:19.530 00 SPR-I:OPRO Byte Offset: 0 +21-237-13:17:19.530 00 SPR-I:OPRO End Mnemonic: SCX_CPU1_DS_DF_TBL[8].SeqCnt +21-237-13:17:19.530 00 SPR-I:OPRO Number of Bytes: 1976 +21-237-13:17:19.530 00 SPR-I:OPRO +21-237-13:17:19.535 00 SPR-I:STS Loading file /s/opr/accounts/global/prc/partial_cvt_to_file_beta.i +21-237-13:17:19.536 00 SPR-I:STS Procedure PARTIAL_CVT_TO_FILE_BETA started +21-237-13:17:19.536 00 SPR-I:OPRO The unix command is cd /s/opr/accounts/cfs_test/image;cvt2file -s 116 -e 2091 P0F76 ds.file_tbl +21-237-13:17:19.542 00 SPR-I:STS Procedure PARTIAL_CVT_TO_FILE_BETA completed +21-237-13:17:19.542 00 SPR-I:OPRO cd /s/opr/accounts/cfs_test/image;cat ds_badfile9.tbl.tmp ds.file_tbl > ds_badfile9.tbl +21-237-13:17:19.546 00 SPR-I:OPRO cd /s/opr/accounts/cfs_test/image;rm ds.file_tbl ds_badfile9.tbl.tmp +21-237-13:17:19.550 00 SPR-I:STS Procedure CREATE_TBL_FILE_FROM_CVT completed +21-237-13:17:19.550 00 SPR-I:OPRO ;********************************************************************* +21-237-13:17:19.550 00 SPR-I:OPRO ; End procedure SCX_CPU1_ds_badfiletbls +21-237-13:17:19.550 00 SPR-I:OPRO ;********************************************************************* +21-237-13:17:19.550 00 SPR-I:STS Procedure SCX_CPU1_DS_BADFILETBLS completed +21-237-13:17:19.551 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:17:24.556 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:17:24.556 00 SPR-I:OPRO ; Step 5.4: Loop for each file created above. +21-237-13:17:24.556 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:17:24.556 00 SPR-I:OPRO ; Step 5.4.1: Send the Table Services command to load the next file. +21-237-13:17:24.556 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:17:24.561 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:17:24.561 00 SPR-I:OPRO ; Setup event 1 with CFE_TBL INFO 12 +21-237-13:17:24.561 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:17:24.562 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/load_table.i +21-237-13:17:24.562 00 SPR-I:STS Procedure LOAD_TABLE started +21-237-13:17:24.564 00 SPR-I:OPRO Table Filename: ds_badfile1.tbl +21-237-13:17:24.564 00 SPR-I:OPRO The perl command is: perl /s/opr/accounts/global/tools/table_ftp.pl 192.168.1.8 ds_badfile1.tbl RAM:0 3 +21-237-13:17:24.564 00 SPR-I:OPRO +21-237-13:17:24.693 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-237-13:17:24.693 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:17:29.698 00 SPR-I:OPRO +21-237-13:17:29.701 00 SPR-I:OPRO Sending Command: /SCX_CPU1_TBL_LOAD LFILENAME="/ram/ds_badfile1.tbl" +21-237-13:17:29.703 00 CMH-I:CMD Command SFDU received:<1804C000004102522F72616D2F64735F62616466696C65312E74626C0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-237-13:17:29.726 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:17:30.163 00 TLMH-I:STS 58-012-14:10:04.001 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=12 Successful load of '/ram/ds_badfile1.tbl' into 'DS.FILE_TBL' working buffer +21-237-13:17:30.727 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:17:30.729 00 SPR-I:STS Procedure LOAD_TABLE completed +21-237-13:17:30.735 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:17:30.735 00 SPR-I:OPRO <*> Passed - Load command for Invalid Destination File Table sent successfully. +21-237-13:17:30.735 00 SPR-I:OPRO <*> Passed - Event Msg 12 Found! +21-237-13:17:30.736 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:17:30.736 00 SPR-I:OPRO ; Send the Table Services command to validate the inactive buffer. +21-237-13:17:30.736 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:17:30.742 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:17:30.742 00 SPR-I:OPRO ; Setup event 1 with CFE_TBL DEBUG 16 +21-237-13:17:30.742 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:17:30.744 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:17:30.745 00 SPR-I:OPRO ; Setup event 2 with CFE_TBL ERROR 96 +21-237-13:17:30.745 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:17:30.747 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:17:30.747 00 SPR-I:OPRO ; Setup event 3 with DS ERROR 11 +21-237-13:17:30.747 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:17:30.749 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:17:30.750 00 SPR-I:OPRO ; Setup event 4 with DS INFO 10 +21-237-13:17:30.750 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:17:30.751 00 CMH-I:CMD Command SFDU received:<1804C000002B0436000044532E46494C455F54424C0000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-237-13:17:30.766 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:17:31.157 00 TLMH-I:STS 58-012-14:10:05.001 DEBUG CPU=CPU1 APPNAME=CFE_TBL EVENT ID=16 Tbl Services issued validation request for 'DS.FILE_TBL' +21-237-13:17:34.165 00 TLMH-I:STS 58-012-14:10:08.003 ERROR CPU=CPU1 APPNAME=DS EVENT ID=11 Destination file table verify err: invalid descriptor text +21-237-13:17:34.166 00 TLMH-I:STS 58-012-14:10:08.004 ERROR CPU=CPU1 APPNAME=DS EVENT ID=11 Destination file table verify err: index = 0, invalid pathname text +21-237-13:17:34.168 00 TLMH-I:STS 58-012-14:10:08.004 INFO CPU=CPU1 APPNAME=DS EVENT ID=10 Destination file table verify results: desc text = bad, good entries = 1, bad = 8, unused = 7 +21-237-13:17:34.169 00 TLMH-I:STS 58-012-14:10:08.004 ERROR CPU=CPU1 APPNAME=CFE_TBL EVENT ID=96 DS validation failed for Inactive 'DS.FILE_TBL', Status=0xFFFFFFFF +21-237-13:17:34.771 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:17:34.773 00 SPR-I:OPRO <*> Passed - Packet Filter Table validate command sent. +21-237-13:17:34.774 00 SPR-I:OPRO <*> Passed - Event Msg 16 Found! +21-237-13:17:34.787 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:17:34.790 00 SPR-I:OPRO <*> Passed (9007) - Destination File Table validation failed as expected. +21-237-13:17:34.794 00 SPR-I:OPRO <*> Passed - Validation Event Msg rcv'd +21-237-13:17:34.795 00 SPR-I:OPRO <*> Passed - Validation Summary Event Msg rcv'd +21-237-13:17:34.795 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:17:34.795 00 SPR-I:OPRO ; Send the Table Services Load Abort command to release the buffer. +21-237-13:17:34.809 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:17:34.812 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:17:34.812 00 SPR-I:OPRO ; Setup event 1 with CFE_TBL INFO 21 +21-237-13:17:34.812 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:17:34.813 00 CMH-I:CMD Command SFDU received:<1804C0000029093944532E46494C455F54424C0000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-237-13:17:34.827 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:17:35.165 00 TLMH-I:STS 58-012-14:10:09.001 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=21 Table Load Aborted for 'DS.FILE_TBL' +21-237-13:17:38.832 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:17:38.834 00 SPR-I:OPRO <*> Passed - Load abort command sent successfully. +21-237-13:17:38.835 00 SPR-I:OPRO <*> Passed - Event Msg 21 Found! +21-237-13:17:38.838 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:17:38.838 00 SPR-I:OPRO ; Setup event 1 with CFE_TBL INFO 12 +21-237-13:17:38.838 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:17:38.839 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/load_table.i +21-237-13:17:38.840 00 SPR-I:STS Procedure LOAD_TABLE started +21-237-13:17:38.841 00 SPR-I:OPRO Table Filename: ds_badfile2.tbl +21-237-13:17:38.842 00 SPR-I:OPRO The perl command is: perl /s/opr/accounts/global/tools/table_ftp.pl 192.168.1.8 ds_badfile2.tbl RAM:0 3 +21-237-13:17:38.842 00 SPR-I:OPRO +21-237-13:17:38.980 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-237-13:17:38.981 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:17:43.984 00 SPR-I:OPRO +21-237-13:17:43.987 00 SPR-I:OPRO Sending Command: /SCX_CPU1_TBL_LOAD LFILENAME="/ram/ds_badfile2.tbl" +21-237-13:17:43.989 00 CMH-I:CMD Command SFDU received:<1804C000004102512F72616D2F64735F62616466696C65322E74626C0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-237-13:17:44.004 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:17:44.162 00 TLMH-I:STS 58-012-14:10:18.001 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=12 Successful load of '/ram/ds_badfile2.tbl' into 'DS.FILE_TBL' working buffer +21-237-13:17:47.008 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:17:47.010 00 SPR-I:STS Procedure LOAD_TABLE completed +21-237-13:17:47.015 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:17:47.016 00 SPR-I:OPRO <*> Passed - Load command for Invalid Destination File Table sent successfully. +21-237-13:17:47.016 00 SPR-I:OPRO <*> Passed - Event Msg 12 Found! +21-237-13:17:47.016 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:17:47.016 00 SPR-I:OPRO ; Send the Table Services command to validate the inactive buffer. +21-237-13:17:47.016 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:17:47.022 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:17:47.022 00 SPR-I:OPRO ; Setup event 1 with CFE_TBL DEBUG 16 +21-237-13:17:47.022 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:17:47.024 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:17:47.024 00 SPR-I:OPRO ; Setup event 2 with CFE_TBL ERROR 96 +21-237-13:17:47.024 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:17:47.026 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:17:47.026 00 SPR-I:OPRO ; Setup event 3 with DS ERROR 11 +21-237-13:17:47.026 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:17:47.028 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:17:47.028 00 SPR-I:OPRO ; Setup event 4 with DS INFO 10 +21-237-13:17:47.028 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:17:47.030 00 CMH-I:CMD Command SFDU received:<1804C000002B0436000044532E46494C455F54424C0000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-237-13:17:47.036 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:17:47.160 00 TLMH-I:STS 58-012-14:10:21.001 DEBUG CPU=CPU1 APPNAME=CFE_TBL EVENT ID=16 Tbl Services issued validation request for 'DS.FILE_TBL' +21-237-13:17:50.158 00 TLMH-I:STS 58-012-14:10:24.003 ERROR CPU=CPU1 APPNAME=DS EVENT ID=11 Destination file table verify err: index = 0, invalid pathname text +21-237-13:17:50.160 00 TLMH-I:STS 58-012-14:10:24.004 INFO CPU=CPU1 APPNAME=DS EVENT ID=10 Destination file table verify results: desc text = OK, good entries = 1, bad = 8, unused = 7 +21-237-13:17:50.161 00 TLMH-I:STS 58-012-14:10:24.004 ERROR CPU=CPU1 APPNAME=CFE_TBL EVENT ID=96 DS validation failed for Inactive 'DS.FILE_TBL', Status=0xFFFFFFFF +21-237-13:17:51.041 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:17:51.043 00 SPR-I:OPRO <*> Passed - Packet Filter Table validate command sent. +21-237-13:17:51.044 00 SPR-I:OPRO <*> Passed - Event Msg 16 Found! +21-237-13:17:51.049 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:17:51.049 00 SPR-I:OPRO <*> Passed (9007) - Destination File Table validation failed as expected. +21-237-13:17:51.054 00 SPR-I:OPRO <*> Passed - Validation Event Msg rcv'd +21-237-13:17:51.054 00 SPR-I:OPRO <*> Passed - Validation Summary Event Msg rcv'd +21-237-13:17:51.055 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:17:51.055 00 SPR-I:OPRO ; Send the Table Services Load Abort command to release the buffer. +21-237-13:17:51.055 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:17:51.057 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:17:51.057 00 SPR-I:OPRO ; Setup event 1 with CFE_TBL INFO 21 +21-237-13:17:51.057 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:17:51.059 00 CMH-I:CMD Command SFDU received:<1804C0000029093944532E46494C455F54424C0000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-237-13:17:51.073 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:17:51.656 00 TLMH-I:STS 58-012-14:10:25.500 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=21 Table Load Aborted for 'DS.FILE_TBL' +21-237-13:17:55.077 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:17:55.078 00 SPR-I:OPRO <*> Passed - Load abort command sent successfully. +21-237-13:17:55.078 00 SPR-I:OPRO <*> Passed - Event Msg 21 Found! +21-237-13:17:55.081 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:17:55.082 00 SPR-I:OPRO ; Setup event 1 with CFE_TBL INFO 12 +21-237-13:17:55.082 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:17:55.083 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/load_table.i +21-237-13:17:55.086 00 SPR-I:STS Procedure LOAD_TABLE started +21-237-13:17:55.088 00 SPR-I:OPRO Table Filename: ds_badfile3.tbl +21-237-13:17:55.091 00 SPR-I:OPRO The perl command is: perl /s/opr/accounts/global/tools/table_ftp.pl 192.168.1.8 ds_badfile3.tbl RAM:0 3 +21-237-13:17:55.091 00 SPR-I:OPRO +21-237-13:17:55.238 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-237-13:17:55.238 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:18:00.244 00 SPR-I:OPRO +21-237-13:18:00.247 00 SPR-I:OPRO Sending Command: /SCX_CPU1_TBL_LOAD LFILENAME="/ram/ds_badfile3.tbl" +21-237-13:18:00.249 00 CMH-I:CMD Command SFDU received:<1804C000004102502F72616D2F64735F62616466696C65332E74626C0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-237-13:18:00.272 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:18:00.656 00 TLMH-I:STS 58-012-14:10:34.501 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=12 Successful load of '/ram/ds_badfile3.tbl' into 'DS.FILE_TBL' working buffer +21-237-13:18:02.275 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:18:02.276 00 SPR-I:STS Procedure LOAD_TABLE completed +21-237-13:18:02.282 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:18:02.283 00 SPR-I:OPRO <*> Passed - Load command for Invalid Destination File Table sent successfully. +21-237-13:18:02.283 00 SPR-I:OPRO <*> Passed - Event Msg 12 Found! +21-237-13:18:02.283 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:02.283 00 SPR-I:OPRO ; Send the Table Services command to validate the inactive buffer. +21-237-13:18:02.283 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:02.284 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:02.284 00 SPR-I:OPRO ; Setup event 1 with CFE_TBL DEBUG 16 +21-237-13:18:02.284 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:02.288 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:02.288 00 SPR-I:OPRO ; Setup event 2 with CFE_TBL ERROR 96 +21-237-13:18:02.288 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:02.290 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:02.290 00 SPR-I:OPRO ; Setup event 3 with DS ERROR 11 +21-237-13:18:02.290 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:02.292 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:02.292 00 SPR-I:OPRO ; Setup event 4 with DS INFO 10 +21-237-13:18:02.292 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:02.293 00 CMH-I:CMD Command SFDU received:<1804C000002B0436000044532E46494C455F54424C0000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-237-13:18:02.307 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:18:02.662 00 TLMH-I:STS 58-012-14:10:36.501 DEBUG CPU=CPU1 APPNAME=CFE_TBL EVENT ID=16 Tbl Services issued validation request for 'DS.FILE_TBL' +21-237-13:18:06.164 00 TLMH-I:STS 58-012-14:10:40.003 ERROR CPU=CPU1 APPNAME=DS EVENT ID=11 Destination file table verify err: index = 1, filename type = 3 +21-237-13:18:06.165 00 TLMH-I:STS 58-012-14:10:40.004 INFO CPU=CPU1 APPNAME=DS EVENT ID=10 Destination file table verify results: desc text = OK, good entries = 2, bad = 7, unused = 7 +21-237-13:18:06.166 00 TLMH-I:STS 58-012-14:10:40.004 ERROR CPU=CPU1 APPNAME=CFE_TBL EVENT ID=96 DS validation failed for Inactive 'DS.FILE_TBL', Status=0xFFFFFFFF +21-237-13:18:06.312 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:18:06.314 00 SPR-I:OPRO <*> Passed - Packet Filter Table validate command sent. +21-237-13:18:06.315 00 SPR-I:OPRO <*> Passed - Event Msg 16 Found! +21-237-13:18:06.330 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:18:06.332 00 SPR-I:OPRO <*> Passed (9007) - Destination File Table validation failed as expected. +21-237-13:18:06.337 00 SPR-I:OPRO <*> Passed - Validation Event Msg rcv'd +21-237-13:18:06.338 00 SPR-I:OPRO <*> Passed - Validation Summary Event Msg rcv'd +21-237-13:18:06.338 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:06.338 00 SPR-I:OPRO ; Send the Table Services Load Abort command to release the buffer. +21-237-13:18:06.357 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:06.362 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:06.362 00 SPR-I:OPRO ; Setup event 1 with CFE_TBL INFO 21 +21-237-13:18:06.362 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:06.363 00 CMH-I:CMD Command SFDU received:<1804C0000029093944532E46494C455F54424C0000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-237-13:18:06.368 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:18:06.663 00 TLMH-I:STS 58-012-14:10:40.500 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=21 Table Load Aborted for 'DS.FILE_TBL' +21-237-13:18:10.373 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:18:10.375 00 SPR-I:OPRO <*> Passed - Load abort command sent successfully. +21-237-13:18:10.377 00 SPR-I:OPRO <*> Passed - Event Msg 21 Found! +21-237-13:18:10.380 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:10.380 00 SPR-I:OPRO ; Setup event 1 with CFE_TBL INFO 12 +21-237-13:18:10.380 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:10.381 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/load_table.i +21-237-13:18:10.382 00 SPR-I:STS Procedure LOAD_TABLE started +21-237-13:18:10.383 00 SPR-I:OPRO Table Filename: ds_badfile4.tbl +21-237-13:18:10.384 00 SPR-I:OPRO The perl command is: perl /s/opr/accounts/global/tools/table_ftp.pl 192.168.1.8 ds_badfile4.tbl RAM:0 3 +21-237-13:18:10.384 00 SPR-I:OPRO +21-237-13:18:10.519 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-237-13:18:10.519 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:18:15.523 00 SPR-I:OPRO +21-237-13:18:15.527 00 SPR-I:OPRO Sending Command: /SCX_CPU1_TBL_LOAD LFILENAME="/ram/ds_badfile4.tbl" +21-237-13:18:15.529 00 CMH-I:CMD Command SFDU received:<1804C000004102572F72616D2F64735F62616466696C65342E74626C0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-237-13:18:15.546 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:18:15.658 00 TLMH-I:STS 58-012-14:10:49.501 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=12 Successful load of '/ram/ds_badfile4.tbl' into 'DS.FILE_TBL' working buffer +21-237-13:18:18.550 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:18:18.551 00 SPR-I:STS Procedure LOAD_TABLE completed +21-237-13:18:18.559 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:18:18.559 00 SPR-I:OPRO <*> Passed - Load command for Invalid Destination File Table sent successfully. +21-237-13:18:18.560 00 SPR-I:OPRO <*> Passed - Event Msg 12 Found! +21-237-13:18:18.560 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:18.560 00 SPR-I:OPRO ; Send the Table Services command to validate the inactive buffer. +21-237-13:18:18.560 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:18.561 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:18.562 00 SPR-I:OPRO ; Setup event 1 with CFE_TBL DEBUG 16 +21-237-13:18:18.562 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:18.566 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:18.566 00 SPR-I:OPRO ; Setup event 2 with CFE_TBL ERROR 96 +21-237-13:18:18.566 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:18.568 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:18.568 00 SPR-I:OPRO ; Setup event 3 with DS ERROR 11 +21-237-13:18:18.568 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:18.570 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:18.570 00 SPR-I:OPRO ; Setup event 4 with DS INFO 10 +21-237-13:18:18.570 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:18.571 00 CMH-I:CMD Command SFDU received:<1804C000002B0436000044532E46494C455F54424C0000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-237-13:18:18.576 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:18:19.158 00 TLMH-I:STS 58-012-14:10:53.001 DEBUG CPU=CPU1 APPNAME=CFE_TBL EVENT ID=16 Tbl Services issued validation request for 'DS.FILE_TBL' +21-237-13:18:22.157 00 TLMH-I:STS 58-012-14:10:56.003 ERROR CPU=CPU1 APPNAME=DS EVENT ID=11 Destination file table verify err: index = 2, file enable state = 2 +21-237-13:18:22.159 00 TLMH-I:STS 58-012-14:10:56.004 INFO CPU=CPU1 APPNAME=DS EVENT ID=10 Destination file table verify results: desc text = OK, good entries = 3, bad = 6, unused = 7 +21-237-13:18:22.160 00 TLMH-I:STS 58-012-14:10:56.004 ERROR CPU=CPU1 APPNAME=CFE_TBL EVENT ID=96 DS validation failed for Inactive 'DS.FILE_TBL', Status=0xFFFFFFFF +21-237-13:18:22.581 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:18:22.583 00 SPR-I:OPRO <*> Passed - Packet Filter Table validate command sent. +21-237-13:18:22.583 00 SPR-I:OPRO <*> Passed - Event Msg 16 Found! +21-237-13:18:22.588 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:18:22.589 00 SPR-I:OPRO <*> Passed (9007) - Destination File Table validation failed as expected. +21-237-13:18:22.590 00 SPR-I:OPRO <*> Passed - Validation Event Msg rcv'd +21-237-13:18:22.590 00 SPR-I:OPRO <*> Passed - Validation Summary Event Msg rcv'd +21-237-13:18:22.590 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:22.590 00 SPR-I:OPRO ; Send the Table Services Load Abort command to release the buffer. +21-237-13:18:22.596 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:22.597 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:22.597 00 SPR-I:OPRO ; Setup event 1 with CFE_TBL INFO 21 +21-237-13:18:22.598 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:22.598 00 CMH-I:CMD Command SFDU received:<1804C0000029093944532E46494C455F54424C0000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-237-13:18:22.613 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:18:23.163 00 TLMH-I:STS 58-012-14:10:57.001 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=21 Table Load Aborted for 'DS.FILE_TBL' +21-237-13:18:26.617 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:18:26.619 00 SPR-I:OPRO <*> Passed - Load abort command sent successfully. +21-237-13:18:26.620 00 SPR-I:OPRO <*> Passed - Event Msg 21 Found! +21-237-13:18:26.625 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:26.625 00 SPR-I:OPRO ; Setup event 1 with CFE_TBL INFO 12 +21-237-13:18:26.625 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:26.625 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/load_table.i +21-237-13:18:26.628 00 SPR-I:STS Procedure LOAD_TABLE started +21-237-13:18:26.629 00 SPR-I:OPRO Table Filename: ds_badfile5.tbl +21-237-13:18:26.630 00 SPR-I:OPRO The perl command is: perl /s/opr/accounts/global/tools/table_ftp.pl 192.168.1.8 ds_badfile5.tbl RAM:0 3 +21-237-13:18:26.630 00 SPR-I:OPRO +21-237-13:18:26.764 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-237-13:18:26.764 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:18:31.769 00 SPR-I:OPRO +21-237-13:18:31.770 00 SPR-I:OPRO Sending Command: /SCX_CPU1_TBL_LOAD LFILENAME="/ram/ds_badfile5.tbl" +21-237-13:18:31.771 00 CMH-I:CMD Command SFDU received:<1804C000004102562F72616D2F64735F62616466696C65352E74626C0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-237-13:18:31.787 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:18:32.164 00 TLMH-I:STS 58-012-14:11:06.001 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=12 Successful load of '/ram/ds_badfile5.tbl' into 'DS.FILE_TBL' working buffer +21-237-13:18:34.790 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:18:34.791 00 SPR-I:STS Procedure LOAD_TABLE completed +21-237-13:18:34.796 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:18:34.796 00 SPR-I:OPRO <*> Passed - Load command for Invalid Destination File Table sent successfully. +21-237-13:18:34.796 00 SPR-I:OPRO <*> Passed - Event Msg 12 Found! +21-237-13:18:34.797 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:34.797 00 SPR-I:OPRO ; Send the Table Services command to validate the inactive buffer. +21-237-13:18:34.797 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:34.798 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:34.798 00 SPR-I:OPRO ; Setup event 1 with CFE_TBL DEBUG 16 +21-237-13:18:34.798 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:34.802 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:34.803 00 SPR-I:OPRO ; Setup event 2 with CFE_TBL ERROR 96 +21-237-13:18:34.803 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:34.804 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:34.805 00 SPR-I:OPRO ; Setup event 3 with DS ERROR 11 +21-237-13:18:34.805 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:34.807 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:34.807 00 SPR-I:OPRO ; Setup event 4 with DS INFO 10 +21-237-13:18:34.807 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:34.808 00 CMH-I:CMD Command SFDU received:<1804C000002B0436000044532E46494C455F54424C0000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-237-13:18:34.822 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:18:35.165 00 TLMH-I:STS 58-012-14:11:09.001 DEBUG CPU=CPU1 APPNAME=CFE_TBL EVENT ID=16 Tbl Services issued validation request for 'DS.FILE_TBL' +21-237-13:18:38.163 00 TLMH-I:STS 58-012-14:11:12.004 ERROR CPU=CPU1 APPNAME=DS EVENT ID=11 Destination file table verify err: index = 3, max file size = 512 +21-237-13:18:38.164 00 TLMH-I:STS 58-012-14:11:12.004 INFO CPU=CPU1 APPNAME=DS EVENT ID=10 Destination file table verify results: desc text = OK, good entries = 4, bad = 5, unused = 7 +21-237-13:18:38.166 00 TLMH-I:STS 58-012-14:11:12.004 ERROR CPU=CPU1 APPNAME=CFE_TBL EVENT ID=96 DS validation failed for Inactive 'DS.FILE_TBL', Status=0xFFFFFFFF +21-237-13:18:38.826 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:18:38.828 00 SPR-I:OPRO <*> Passed - Packet Filter Table validate command sent. +21-237-13:18:38.829 00 SPR-I:OPRO <*> Passed - Event Msg 16 Found! +21-237-13:18:38.835 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:18:38.836 00 SPR-I:OPRO <*> Passed (9007) - Destination File Table validation failed as expected. +21-237-13:18:38.837 00 SPR-I:OPRO <*> Passed - Validation Event Msg rcv'd +21-237-13:18:38.838 00 SPR-I:OPRO <*> Passed - Validation Summary Event Msg rcv'd +21-237-13:18:38.838 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:38.846 00 SPR-I:OPRO ; Send the Table Services Load Abort command to release the buffer. +21-237-13:18:38.846 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:38.848 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:38.848 00 SPR-I:OPRO ; Setup event 1 with CFE_TBL INFO 21 +21-237-13:18:38.848 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:38.850 00 CMH-I:CMD Command SFDU received:<1804C0000029093944532E46494C455F54424C0000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-237-13:18:38.864 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:18:39.157 00 TLMH-I:STS 58-012-14:11:13.001 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=21 Table Load Aborted for 'DS.FILE_TBL' +21-237-13:18:42.869 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:18:42.871 00 SPR-I:OPRO <*> Passed - Load abort command sent successfully. +21-237-13:18:42.872 00 SPR-I:OPRO <*> Passed - Event Msg 21 Found! +21-237-13:18:42.880 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:42.881 00 SPR-I:OPRO ; Setup event 1 with CFE_TBL INFO 12 +21-237-13:18:42.881 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:42.883 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/load_table.i +21-237-13:18:42.888 00 SPR-I:STS Procedure LOAD_TABLE started +21-237-13:18:42.894 00 SPR-I:OPRO Table Filename: ds_badfile6.tbl +21-237-13:18:42.898 00 SPR-I:OPRO The perl command is: perl /s/opr/accounts/global/tools/table_ftp.pl 192.168.1.8 ds_badfile6.tbl RAM:0 3 +21-237-13:18:42.898 00 SPR-I:OPRO +21-237-13:18:43.044 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-237-13:18:43.044 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:18:48.048 00 SPR-I:OPRO +21-237-13:18:48.049 00 SPR-I:OPRO Sending Command: /SCX_CPU1_TBL_LOAD LFILENAME="/ram/ds_badfile6.tbl" +21-237-13:18:48.050 00 CMH-I:CMD Command SFDU received:<1804C000004102552F72616D2F64735F62616466696C65362E74626C0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-237-13:18:48.067 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:18:48.164 00 TLMH-I:STS 58-012-14:11:22.001 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=12 Successful load of '/ram/ds_badfile6.tbl' into 'DS.FILE_TBL' working buffer +21-237-13:18:51.070 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:18:51.072 00 SPR-I:STS Procedure LOAD_TABLE completed +21-237-13:18:51.079 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:18:51.080 00 SPR-I:OPRO <*> Passed - Load command for Invalid Destination File Table sent successfully. +21-237-13:18:51.080 00 SPR-I:OPRO <*> Passed - Event Msg 12 Found! +21-237-13:18:51.080 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:51.080 00 SPR-I:OPRO ; Send the Table Services command to validate the inactive buffer. +21-237-13:18:51.081 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:51.082 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:51.082 00 SPR-I:OPRO ; Setup event 1 with CFE_TBL DEBUG 16 +21-237-13:18:51.082 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:51.086 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:51.087 00 SPR-I:OPRO ; Setup event 2 with CFE_TBL ERROR 96 +21-237-13:18:51.087 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:51.088 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:51.088 00 SPR-I:OPRO ; Setup event 3 with DS ERROR 11 +21-237-13:18:51.088 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:51.091 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:51.091 00 SPR-I:OPRO ; Setup event 4 with DS INFO 10 +21-237-13:18:51.091 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:51.093 00 CMH-I:CMD Command SFDU received:<1804C000002B0436000044532E46494C455F54424C0000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-237-13:18:51.108 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:18:51.657 00 TLMH-I:STS 58-012-14:11:25.501 DEBUG CPU=CPU1 APPNAME=CFE_TBL EVENT ID=16 Tbl Services issued validation request for 'DS.FILE_TBL' +21-237-13:18:54.156 00 TLMH-I:STS 58-012-14:11:28.004 ERROR CPU=CPU1 APPNAME=DS EVENT ID=11 Destination file table verify err: index = 4, max file age = 30 +21-237-13:18:54.157 00 TLMH-I:STS 58-012-14:11:28.004 INFO CPU=CPU1 APPNAME=DS EVENT ID=10 Destination file table verify results: desc text = OK, good entries = 5, bad = 4, unused = 7 +21-237-13:18:54.157 00 TLMH-I:STS 58-012-14:11:28.004 ERROR CPU=CPU1 APPNAME=CFE_TBL EVENT ID=96 DS validation failed for Inactive 'DS.FILE_TBL', Status=0xFFFFFFFF +21-237-13:18:55.112 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:18:55.114 00 SPR-I:OPRO <*> Passed - Packet Filter Table validate command sent. +21-237-13:18:55.115 00 SPR-I:OPRO <*> Passed - Event Msg 16 Found! +21-237-13:18:55.120 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:18:55.120 00 SPR-I:OPRO <*> Passed (9007) - Destination File Table validation failed as expected. +21-237-13:18:55.121 00 SPR-I:OPRO <*> Passed - Validation Event Msg rcv'd +21-237-13:18:55.122 00 SPR-I:OPRO <*> Passed - Validation Summary Event Msg rcv'd +21-237-13:18:55.122 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:55.122 00 SPR-I:OPRO ; Send the Table Services Load Abort command to release the buffer. +21-237-13:18:55.128 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:55.130 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:55.130 00 SPR-I:OPRO ; Setup event 1 with CFE_TBL INFO 21 +21-237-13:18:55.130 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:55.131 00 CMH-I:CMD Command SFDU received:<1804C0000029093944532E46494C455F54424C0000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-237-13:18:55.145 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:18:55.655 00 TLMH-I:STS 58-012-14:11:29.500 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=21 Table Load Aborted for 'DS.FILE_TBL' +21-237-13:18:59.151 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:18:59.153 00 SPR-I:OPRO <*> Passed - Load abort command sent successfully. +21-237-13:18:59.154 00 SPR-I:OPRO <*> Passed - Event Msg 21 Found! +21-237-13:18:59.157 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:59.157 00 SPR-I:OPRO ; Setup event 1 with CFE_TBL INFO 12 +21-237-13:18:59.157 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:18:59.158 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/load_table.i +21-237-13:18:59.159 00 SPR-I:STS Procedure LOAD_TABLE started +21-237-13:18:59.160 00 SPR-I:OPRO Table Filename: ds_badfile7.tbl +21-237-13:18:59.161 00 SPR-I:OPRO The perl command is: perl /s/opr/accounts/global/tools/table_ftp.pl 192.168.1.8 ds_badfile7.tbl RAM:0 3 +21-237-13:18:59.161 00 SPR-I:OPRO +21-237-13:18:59.300 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-237-13:18:59.300 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:19:04.304 00 SPR-I:OPRO +21-237-13:19:04.307 00 SPR-I:OPRO Sending Command: /SCX_CPU1_TBL_LOAD LFILENAME="/ram/ds_badfile7.tbl" +21-237-13:19:04.310 00 CMH-I:CMD Command SFDU received:<1804C000004102542F72616D2F64735F62616466696C65372E74626C0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-237-13:19:04.327 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:19:04.661 00 TLMH-I:STS 58-012-14:11:38.484 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=12 Successful load of '/ram/ds_badfile7.tbl' into 'DS.FILE_TBL' working buffer +21-237-13:19:06.330 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:19:06.331 00 SPR-I:STS Procedure LOAD_TABLE completed +21-237-13:19:06.339 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:19:06.339 00 SPR-I:OPRO <*> Passed - Load command for Invalid Destination File Table sent successfully. +21-237-13:19:06.340 00 SPR-I:OPRO <*> Passed - Event Msg 12 Found! +21-237-13:19:06.340 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:19:06.340 00 SPR-I:OPRO ; Send the Table Services command to validate the inactive buffer. +21-237-13:19:06.340 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:19:06.341 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:19:06.341 00 SPR-I:OPRO ; Setup event 1 with CFE_TBL DEBUG 16 +21-237-13:19:06.342 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:19:06.346 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:19:06.346 00 SPR-I:OPRO ; Setup event 2 with CFE_TBL ERROR 96 +21-237-13:19:06.346 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:19:06.348 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:19:06.348 00 SPR-I:OPRO ; Setup event 3 with DS ERROR 11 +21-237-13:19:06.348 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:19:06.351 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:19:06.351 00 SPR-I:OPRO ; Setup event 4 with DS INFO 10 +21-237-13:19:06.351 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:19:06.352 00 CMH-I:CMD Command SFDU received:<1804C000002B0436000044532E46494C455F54424C0000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-237-13:19:06.358 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:19:06.664 00 TLMH-I:STS 58-012-14:11:40.501 DEBUG CPU=CPU1 APPNAME=CFE_TBL EVENT ID=16 Tbl Services issued validation request for 'DS.FILE_TBL' +21-237-13:19:10.162 00 TLMH-I:STS 58-012-14:11:44.004 ERROR CPU=CPU1 APPNAME=DS EVENT ID=11 Destination file table verify err: index = 5, invalid extension text +21-237-13:19:10.164 00 TLMH-I:STS 58-012-14:11:44.004 INFO CPU=CPU1 APPNAME=DS EVENT ID=10 Destination file table verify results: desc text = OK, good entries = 6, bad = 3, unused = 7 +21-237-13:19:10.165 00 TLMH-I:STS 58-012-14:11:44.004 ERROR CPU=CPU1 APPNAME=CFE_TBL EVENT ID=96 DS validation failed for Inactive 'DS.FILE_TBL', Status=0xFFFFFFFF +21-237-13:19:10.362 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:19:10.364 00 SPR-I:OPRO <*> Passed - Packet Filter Table validate command sent. +21-237-13:19:10.365 00 SPR-I:OPRO <*> Passed - Event Msg 16 Found! +21-237-13:19:10.377 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:19:10.379 00 SPR-I:OPRO <*> Passed (9007) - Destination File Table validation failed as expected. +21-237-13:19:10.391 00 SPR-I:OPRO <*> Passed - Validation Event Msg rcv'd +21-237-13:19:10.392 00 SPR-I:OPRO <*> Passed - Validation Summary Event Msg rcv'd +21-237-13:19:10.392 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:19:10.392 00 SPR-I:OPRO ; Send the Table Services Load Abort command to release the buffer. +21-237-13:19:10.392 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:19:10.395 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:19:10.395 00 SPR-I:OPRO ; Setup event 1 with CFE_TBL INFO 21 +21-237-13:19:10.395 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:19:10.399 00 CMH-I:CMD Command SFDU received:<1804C0000029093944532E46494C455F54424C0000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-237-13:19:10.405 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:19:10.656 00 TLMH-I:STS 58-012-14:11:44.500 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=21 Table Load Aborted for 'DS.FILE_TBL' +21-237-13:19:14.410 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:19:14.413 00 SPR-I:OPRO <*> Passed - Load abort command sent successfully. +21-237-13:19:14.414 00 SPR-I:OPRO <*> Passed - Event Msg 21 Found! +21-237-13:19:14.418 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:19:14.418 00 SPR-I:OPRO ; Setup event 1 with CFE_TBL INFO 12 +21-237-13:19:14.418 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:19:14.419 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/load_table.i +21-237-13:19:14.420 00 SPR-I:STS Procedure LOAD_TABLE started +21-237-13:19:14.422 00 SPR-I:OPRO Table Filename: ds_badfile8.tbl +21-237-13:19:14.423 00 SPR-I:OPRO The perl command is: perl /s/opr/accounts/global/tools/table_ftp.pl 192.168.1.8 ds_badfile8.tbl RAM:0 3 +21-237-13:19:14.423 00 SPR-I:OPRO +21-237-13:19:14.564 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-237-13:19:14.565 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:19:19.569 00 SPR-I:OPRO +21-237-13:19:19.572 00 SPR-I:OPRO Sending Command: /SCX_CPU1_TBL_LOAD LFILENAME="/ram/ds_badfile8.tbl" +21-237-13:19:19.574 00 CMH-I:CMD Command SFDU received:<1804C0000041025B2F72616D2F64735F62616466696C65382E74626C0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-237-13:19:19.590 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:19:20.164 00 TLMH-I:STS 58-012-14:11:54.001 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=12 Successful load of '/ram/ds_badfile8.tbl' into 'DS.FILE_TBL' working buffer +21-237-13:19:22.594 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:19:22.595 00 SPR-I:STS Procedure LOAD_TABLE completed +21-237-13:19:22.600 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:19:22.600 00 SPR-I:OPRO <*> Passed - Load command for Invalid Destination File Table sent successfully. +21-237-13:19:22.601 00 SPR-I:OPRO <*> Passed - Event Msg 12 Found! +21-237-13:19:22.601 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:19:22.601 00 SPR-I:OPRO ; Send the Table Services command to validate the inactive buffer. +21-237-13:19:22.601 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:19:22.603 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:19:22.603 00 SPR-I:OPRO ; Setup event 1 with CFE_TBL DEBUG 16 +21-237-13:19:22.603 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:19:22.612 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:19:22.612 00 SPR-I:OPRO ; Setup event 2 with CFE_TBL ERROR 96 +21-237-13:19:22.612 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:19:22.615 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:19:22.615 00 SPR-I:OPRO ; Setup event 3 with DS ERROR 11 +21-237-13:19:22.615 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:19:22.617 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:19:22.617 00 SPR-I:OPRO ; Setup event 4 with DS INFO 10 +21-237-13:19:22.617 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:19:22.618 00 CMH-I:CMD Command SFDU received:<1804C000002B0436000044532E46494C455F54424C0000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-237-13:19:22.623 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:19:23.162 00 TLMH-I:STS 58-012-14:11:57.001 DEBUG CPU=CPU1 APPNAME=CFE_TBL EVENT ID=16 Tbl Services issued validation request for 'DS.FILE_TBL' +21-237-13:19:26.162 00 TLMH-I:STS 58-012-14:12:00.004 ERROR CPU=CPU1 APPNAME=DS EVENT ID=11 Destination file table verify err: index = 6, sequence count = 100000000 +21-237-13:19:26.163 00 TLMH-I:STS 58-012-14:12:00.004 INFO CPU=CPU1 APPNAME=DS EVENT ID=10 Destination file table verify results: desc text = OK, good entries = 7, bad = 2, unused = 7 +21-237-13:19:26.165 00 TLMH-I:STS 58-012-14:12:00.004 ERROR CPU=CPU1 APPNAME=CFE_TBL EVENT ID=96 DS validation failed for Inactive 'DS.FILE_TBL', Status=0xFFFFFFFF +21-237-13:19:26.628 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:19:26.631 00 SPR-I:OPRO <*> Passed - Packet Filter Table validate command sent. +21-237-13:19:26.632 00 SPR-I:OPRO <*> Passed - Event Msg 16 Found! +21-237-13:19:26.636 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:19:26.636 00 SPR-I:OPRO <*> Passed (9007) - Destination File Table validation failed as expected. +21-237-13:19:26.637 00 SPR-I:OPRO <*> Passed - Validation Event Msg rcv'd +21-237-13:19:26.638 00 SPR-I:OPRO <*> Passed - Validation Summary Event Msg rcv'd +21-237-13:19:26.638 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:19:26.638 00 SPR-I:OPRO ; Send the Table Services Load Abort command to release the buffer. +21-237-13:19:26.643 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:19:26.644 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:19:26.644 00 SPR-I:OPRO ; Setup event 1 with CFE_TBL INFO 21 +21-237-13:19:26.644 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:19:26.645 00 CMH-I:CMD Command SFDU received:<1804C0000029093944532E46494C455F54424C0000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-237-13:19:26.660 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:19:27.164 00 TLMH-I:STS 58-012-14:12:01.001 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=21 Table Load Aborted for 'DS.FILE_TBL' +21-237-13:19:30.664 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:19:30.666 00 SPR-I:OPRO <*> Passed - Load abort command sent successfully. +21-237-13:19:30.667 00 SPR-I:OPRO <*> Passed - Event Msg 21 Found! +21-237-13:19:30.671 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:19:30.671 00 SPR-I:OPRO ; Setup event 1 with CFE_TBL INFO 12 +21-237-13:19:30.671 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:19:30.672 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/load_table.i +21-237-13:19:30.673 00 SPR-I:STS Procedure LOAD_TABLE started +21-237-13:19:30.674 00 SPR-I:OPRO Table Filename: ds_badfile9.tbl +21-237-13:19:30.675 00 SPR-I:OPRO The perl command is: perl /s/opr/accounts/global/tools/table_ftp.pl 192.168.1.8 ds_badfile9.tbl RAM:0 3 +21-237-13:19:30.675 00 SPR-I:OPRO +21-237-13:19:30.812 00 SPR-I:OPRO Return code from ftp_file.pl: 0 +21-237-13:19:30.812 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:19:35.817 00 SPR-I:OPRO +21-237-13:19:35.818 00 SPR-I:OPRO Sending Command: /SCX_CPU1_TBL_LOAD LFILENAME="/ram/ds_badfile9.tbl" +21-237-13:19:35.819 00 CMH-I:CMD Command SFDU received:<1804C0000041025A2F72616D2F64735F62616466696C65392E74626C0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-237-13:19:35.835 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:19:36.159 00 TLMH-I:STS 58-012-14:12:10.001 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=12 Successful load of '/ram/ds_badfile9.tbl' into 'DS.FILE_TBL' working buffer +21-237-13:19:38.838 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:19:38.839 00 SPR-I:STS Procedure LOAD_TABLE completed +21-237-13:19:38.844 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:19:38.845 00 SPR-I:OPRO <*> Passed - Load command for Invalid Destination File Table sent successfully. +21-237-13:19:38.845 00 SPR-I:OPRO <*> Passed - Event Msg 12 Found! +21-237-13:19:38.845 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:19:38.845 00 SPR-I:OPRO ; Send the Table Services command to validate the inactive buffer. +21-237-13:19:38.845 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:19:38.847 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:19:38.847 00 SPR-I:OPRO ; Setup event 1 with CFE_TBL DEBUG 16 +21-237-13:19:38.847 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:19:38.850 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:19:38.850 00 SPR-I:OPRO ; Setup event 2 with CFE_TBL ERROR 96 +21-237-13:19:38.850 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:19:38.852 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:19:38.852 00 SPR-I:OPRO ; Setup event 3 with DS ERROR 11 +21-237-13:19:38.852 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:19:38.854 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:19:38.854 00 SPR-I:OPRO ; Setup event 4 with DS INFO 10 +21-237-13:19:38.854 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:19:38.855 00 CMH-I:CMD Command SFDU received:<1804C000002B0436000044532E46494C455F54424C0000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-237-13:19:38.860 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:19:39.157 00 TLMH-I:STS 58-012-14:12:13.001 DEBUG CPU=CPU1 APPNAME=CFE_TBL EVENT ID=16 Tbl Services issued validation request for 'DS.FILE_TBL' +21-237-13:19:42.156 00 TLMH-I:STS 58-012-14:12:16.004 ERROR CPU=CPU1 APPNAME=DS EVENT ID=11 Destination file table verify err: index = 8, sequence count = 100000000 +21-237-13:19:42.158 00 TLMH-I:STS 58-012-14:12:16.004 INFO CPU=CPU1 APPNAME=DS EVENT ID=10 Destination file table verify results: desc text = OK, good entries = 8, bad = 1, unused = 7 +21-237-13:19:42.159 00 TLMH-I:STS 58-012-14:12:16.004 ERROR CPU=CPU1 APPNAME=CFE_TBL EVENT ID=96 DS validation failed for Inactive 'DS.FILE_TBL', Status=0xFFFFFFFF +21-237-13:19:42.865 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:19:42.867 00 SPR-I:OPRO <*> Passed - Packet Filter Table validate command sent. +21-237-13:19:42.868 00 SPR-I:OPRO <*> Passed - Event Msg 16 Found! +21-237-13:19:42.881 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:19:42.883 00 SPR-I:OPRO <*> Passed (9007) - Destination File Table validation failed as expected. +21-237-13:19:42.884 00 SPR-I:OPRO <*> Passed - Validation Event Msg rcv'd +21-237-13:19:42.884 00 SPR-I:OPRO <*> Passed - Validation Summary Event Msg rcv'd +21-237-13:19:42.884 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:19:42.885 00 SPR-I:OPRO ; Send the Table Services Load Abort command to release the buffer. +21-237-13:19:42.893 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:19:42.894 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:19:42.894 00 SPR-I:OPRO ; Setup event 1 with CFE_TBL INFO 21 +21-237-13:19:42.894 00 SPR-I:OPRO ;*********************************************************************** +21-237-13:19:42.895 00 CMH-I:CMD Command SFDU received:<1804C0000029093944532E46494C455F54424C0000000000000000000000000000000000000000000000000000000000> from gs582cfslab4:SPR +21-237-13:19:42.901 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:19:43.162 00 TLMH-I:STS 58-012-14:12:17.001 INFO CPU=CPU1 APPNAME=CFE_TBL EVENT ID=21 Table Load Aborted for 'DS.FILE_TBL' +21-237-13:19:46.905 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:19:46.908 00 SPR-I:OPRO <*> Passed - Load abort command sent successfully. +21-237-13:19:46.910 00 SPR-I:OPRO <*> Passed - Event Msg 21 Found! +21-237-13:19:46.911 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:19:51.917 00 SPR-I:OPRO ;********************************************************************* +21-237-13:19:51.917 00 SPR-I:OPRO ; Step 6.0: Clean-up - Send the Processor Reset command. +21-237-13:19:51.917 00 SPR-I:OPRO ;********************************************************************* +21-237-13:19:51.919 00 CMH-I:CMD Command SFDU received:<1806C000000302210001> from gs582cfslab4:SPR +21-237-13:19:51.933 00 SPR-I:STTE Wait mode - waiting 10 seconds ... +21-237-13:20:01.940 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/clear_spacecraft_status.i +21-237-13:20:01.941 00 SPR-I:STS Procedure CLEAR_SPACECRAFT_STATUS started +21-237-13:20:01.945 00 SPR-I:STS Procedure CLEAR_SPACECRAFT_STATUS completed +21-237-13:20:02.016 00 SPR-I:STTE Wait mode - waiting 60 seconds ... +21-237-13:21:02.083 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:21:08.034 00 CMH-I:STS Connected to FEDS:FEDS for commanding (internal ID 0). +21-237-13:21:12.096 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:21:12.160 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/send_that_to_command.i +21-237-13:21:12.160 00 SPR-I:STS Procedure SEND_THAT_TO_COMMAND started +21-237-13:21:12.163 00 SPR-I:OPRO Sending: /SCX_CPU1_TO_OUTPUT_ENA gs582cfslab4 +21-237-13:21:12.164 00 CMH-I:CMD Command SFDU received:<1880C0000011069A3139322E3136382E312E313031000000> from gs582cfslab4:SPR +21-237-13:21:12.214 00 SPR-I:STS Procedure SEND_THAT_TO_COMMAND completed +21-237-13:21:12.215 00 SPR-I:STTE Wait mode - WAIT UNTIL ... +21-237-13:21:12.769 00 TLMH-I:STS 58-012-14:12:53.533 INFO CPU=CPU1 APPNAME=TO_LAB_APP EVENT ID=3 TO telemetry output enabled for IP 192.168.1.101 +21-237-13:21:15.217 00 SPR-I:STTE WAIT UNTIL completed +21-237-13:21:15.218 00 SPR-I:STS Loading file /s/opr/accounts/cfs_test/prc/fill_in_spacecraft_status.i +21-237-13:21:15.219 00 SPR-I:STS Procedure FILL_IN_SPACECRAFT_STATUS started +21-237-13:21:15.229 00 SPR-I:STS Procedure FILL_IN_SPACECRAFT_STATUS completed +21-237-13:21:15.231 00 SPR-I:STTE Wait mode - waiting 5 seconds ... +21-237-13:21:20.235 00 SPR-I:OPRO **** Requirements Status Reporting +21-237-13:21:20.235 00 SPR-I:OPRO -------------------------- +21-237-13:21:20.235 00 SPR-I:OPRO Requirement(s) Report +21-237-13:21:20.235 00 SPR-I:OPRO -------------------------- +21-237-13:21:20.235 00 SPR-I:OPRO FSW Requirement: DS_8000 P/F: P +21-237-13:21:20.236 00 SPR-I:OPRO FSW Requirement: DS_9000 P/F: P +21-237-13:21:20.238 00 SPR-I:OPRO FSW Requirement: DS_9001 P/F: P +21-237-13:21:20.238 00 SPR-I:OPRO FSW Requirement: DS_9002 P/F: P +21-237-13:21:20.239 00 SPR-I:OPRO FSW Requirement: DS_9004 P/F: P +21-237-13:21:20.251 00 SPR-I:OPRO FSW Requirement: DS_9005 P/F: P +21-237-13:21:20.252 00 SPR-I:OPRO FSW Requirement: DS_9006 P/F: F +21-237-13:21:20.253 00 SPR-I:OPRO FSW Requirement: DS_9007 P/F: P +21-237-13:21:20.270 00 SPR-I:OPRO FSW Requirement: DS_9008 P/F: P +21-237-13:21:20.271 00 SPR-I:STS Variable "UT_REQUIREMENT" deleted +21-237-13:21:20.271 00 SPR-I:STS Variable "UT_REQ_ARRAY_SIZE" deleted +21-237-13:21:20.271 00 SPR-I:OPRO ;********************************************************************* +21-237-13:21:20.286 00 SPR-I:OPRO ; End procedure SCX_CPU1_ds_resetnocds +21-237-13:21:20.286 00 SPR-I:OPRO ;********************************************************************* +21-237-13:21:20.286 00 SPR-I:STS Procedure SCX_CPU1_DS_RESETNOCDS completed +21-237-13:21:20.287 00 SPR-I:OPRO *** Telemetry Info *** +21-237-13:21:20.287 00 SPR-I:OPRO +21-237-13:21:20.287 00 SPR-I:OPRO Pkt Loss Count: N/A +21-237-13:21:20.287 00 SPR-I:OPRO +21-237-13:21:20.288 00 SPR-I:OPRO ****************** +21-237-13:21:20.288 00 SPR-I:OPRO +21-237-13:21:20.291 00 SPR-I:OPRO Elapsed time: 1332.13 seconds +21-237-13:21:20.291 00 SPR-I:OPRO Elapsed time: 22.2022 minutes +21-237-13:21:20.292 00 SPR-I:STTE Wait mode - waiting 10 seconds ... +21-237-13:21:30.302 00 SPR-I:OPRO Creating filtered log at /s/opr/accounts/cfs_test/test_logs/DS2.6.0/scx_cpu1_ds_resetnocds-2021-237-12h59m08s.logf +21-237-13:21:30.302 00 SPR-I:OPRO Creating filtered output log at /s/opr/accounts/cfs_test/test_logs/DS2.6.0/scx_cpu1_ds_resetnocds-2021-237-12h59m08s.logp +21-237-13:21:30.303 00 SPR-I:OPRO Creating filtered output log (without SFDUs) at /s/opr/accounts/cfs_test/test_logs/DS2.6.0/scx_cpu1_ds_resetnocds-2021-237-12h59m08s.logs +21-237-13:21:30.303 00 SPR-I:OPRO Creating filtered event log at /s/opr/accounts/cfs_test/test_logs/DS2.6.0/scx_cpu1_ds_resetnocds-2021-237-12h59m08s.loge +21-237-13:21:30.303 00 SPR-I:OPRO Creating filtered requirements log at /s/opr/accounts/cfs_test/test_logs/DS2.6.0/scx_cpu1_ds_resetnocds-2021-237-12h59m08s.logr +21-237-13:21:30.447 00 SPR-I:OPRI --> newlog scx_cpu1_ds_resetnocds-2021-237-12h59m08s.log diff --git a/test_and_ground/results/V2_5_2_0/DS_V2_5_2_0_TestReport.docx b/test_and_ground/results/V2_5_2_0/DS_V2_5_2_0_TestReport.docx new file mode 100644 index 0000000000000000000000000000000000000000..d3ea47224de11ebba085c27bb34a03c6202705c3 GIT binary patch literal 808200 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 LAv4-?w5=$9 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
GZ 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 z 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°mF}=Y1L0$+TU2?jGAgGm(}o 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�oWI=bs#-{*IhiB)JE@^nn;Ey4L{G7Uf^|I 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 z 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 T$Hs#k2Kc-Kagu%BcfkCA4f4Ur literal 0 HcmV?d00001 diff --git a/test_and_ground/results/V2_5_2_0/DS_V2_5_2_0_TestReport.pdf b/test_and_ground/results/V2_5_2_0/DS_V2_5_2_0_TestReport.pdf new file mode 100644 index 0000000000000000000000000000000000000000..f5743e844ca1f8a04c100d22ffe1618bc5c2c217 GIT binary patch literal 601338 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%0D2ErIWNq6F zllg+Ic=LDJ3&sGw#uZ+1MGIDTvtQ=9SGo|T!4@X15BPjvyrlj*8ENc(C|!aDvLu>2zK9wr?chae4Ti!TlA+%hlc1{4 z*LG@`IK@J`TOFL4PeFouFf$(rPOE8hB9qpIeT%su#c6=GvL%7y0VT26X1;G{n>(2y zb~*g(JU(aWWf$!RerR>({C2r+chpS z_9Uxv2^*T0gH3I#nf0rvtSwXXA90BxnRw;O7Xb7apeVdkZuHUIAj2;G#m}p5Wei7n(K`Pq@~EHL z^P5j(Z%Yu_)xE<)5*EK(glo{w`uE=FSQ-2TC%(Eo6VnRvQSJP2SboI$Gx14_Pxazv z*wbMg`zyf0s&xEs1{3*L!V|Ec8Lf3{91kVsgGyuFet9&q;2Lg>>s8sg~$0 zC|+~Nf-hdsL6P1>m^YI*#snV(#Jo*#cLvH1b?;+9!4-k0PUo{2x(I%(Md5boYD*D2zssImbrqMkab;Yg@$}?0kj)l>bjpo< zy{+&%>&)I>xf`-KgJVr#(Fe4ZFA=<*LB`3t5~6SiZr)$nzMGqJJu~XjqfBl>iqdY6 zI_-D6pVu$EY9QU3ovDARpFXE&ln~Ve66BiUe*Go%sY|p$zr>nsEKc_2@0r%4;>*tZ zO-T2bghRbuzG=D-+dnUhTFh?to2Tvt2@4NKUkxHjRd+>{g1PY}(yOdUFl*UOjq96n z)SAb1ZSOjCi!Ce|xFc5(Slw`>@Vf!-I|fV%edZZ7w80@hB|@%$odrn$ zJO(JOs83xQJqGmMFgaLP|5=eZbvfJZP+h(N@;)QwcIoe!54=y;h>2W5AJP3gNVl4j zd#s7K+Xn&#*VXy*I`9e~eI$m34@KTY?9+7~1HwT+hj_8KIo+q4#68~C+;Ha6xX*r1 zA|xf`AVQ>^_q_=V%hpHt#QkYey7##vgZ=}w6Cdts=R}=%nrA=KiW3#BUaS-9-+r(X zvbDT_TS)iD_0Cqvp4>N!Ly0**?ejD^Zrt=*(h5f+WU&FkE4Tn>u*>Q|HRRz z!m|Cy%qAd0X;MYA!0Knf!SWZKs}>$OogXv%ye`{o6gL+Y-hyiy2FG)Q6<7n<#2zW@ zAF3N(VcpO(Gw4PQb)99eN^WdbK1bk<1a6fEe)KN+_TAM^fk&MZR5RLzVaoD!z= z**W~ePrOI;?-!8BV?f0jiGh8`opRq7Z&=*6>GEPZTrcWW{T}qOi++i=0czbRsFC`M?EZ@+4AB)PPNz0$_u- zr1(iXvNcX(twuQ|oHhs?i(quofaPNbP0?JGNJ_Z*1N}4vZMu$}4yyJ7pSk&+WR30e z^f1`D7_%!Y11=tNmjvX3?o>yaNpvKy!f$tHRdWn_S6L=FpB+}wu6`nV-rG#K*5^XI zKEu7_&xxWU49H~QhbOd=w0bHP;P)z6x8yBLPK^~KrSwzO*y^g|I{Zc{pB&|y> zY*n!YI$aqXY{2yBZSCVQc{MXjVgYA@Z48Tx*ZadKsEY8rUvz@%p9CWC)hlXr1Lt+u zyDN3P;cY#cdt+^-lTzxmbBAFSs@;bnKGK`{WMd%>T;bZkvQ||-(UZKHSrhVQ^<(sw z+NAd&bGyHYl21OWgT@e-Zh6ZBJX7V&_JNDsrFJeZMELo6(b?axY{1BG5$wPKWkx;A zj#>rkyN||htF3Pm++L3_Qsv%oPk$E`(X^xfaq04H_nB)6?ClS;&Wt6$*0-?NWzqmW z3y=7H9j*z9McA5FcNARG(*QKH&V=*j8aya}Do6o;dJR-pYre3F3ApftySMEaz`B?< zwimD;|3D!vYDfcH>>JNz9iCG$|33Ik&^2GXke&0_B&5t1+w5MhC&ta2z|b77aS%S;(%Xi%93a4 zx)&Sa6LQ4*)#Y{S!id`!?`B7*jeBi&iV**noo-*=_1qgIJ5at`7dQqyFGc7`T>Hvt z;9IaB)=?!CnK#OB=J!I1$7Kq;+q-1-E)i=`)mFDAUQZt}smI!2H*N6oeJ3$Kd?FxX z*RuN^aemOV_;reyZ0@5Tzzl0YD#aBYR(u|Vm7ct8xY6k!%-v}4TAzzQ5p7Hv!oEJk z3dygCSdT$&dXD0P)Y93ow5WcTs&j$6BuORm+^xSn+z?}~w7ZQhp0rcR%3+9Ey`}T2 zzW0jhv%HSRREzb3>N*)N`b&ASuQIf+*1x&FMfftd;N=n8)*YG?jPb6GZTMj4DKy#|M2UjDf(1rS;nZ@ zb!}cmePU-+hLg`MZ!#xRgf8HIn&)={N1gHRgP`xDf}@& zDDkK6m%}VcWW?3$iK+*(Cu{%CIR?CT?K6q}GO$y0#9T|FNv~5}aZn*ikWvbpW-gF6+-KBh=iL0g5-G1M`im69(m@Eq&O%@F|hmU~d!2@@) zendPUJ;IpJLcrYRTI_|U|Wiy!D#jOkV^ z-wk{I_?FH){8TkUBtwTOSM^ihJ5rI@v*0*sv#s@IClsGbf;I7dR=V{pm(*>D6sGP_=F$+9cQ7iEn z#?l(@-F`h_meHk{HW2%2a*Z`Lx}or=zTHU3=lXsVR5_2!n7@Qr>@}RE_T|F({Yw@V z%Yt(y9T<=HvM=O$NG0?jS3I;3OCdeT+>J>E=073eF^^2}a95*6)3j9c@2mkDF4?un zB^^b|i#f>h;xfz{ho>EK6`f|&t=lBx{PtJb!>Y4As0hXnm#W!#6TGr&@9rwtr$eHX zbi&S!_yw!bzW?0F>s$`IK(%JM{C@CK@^nYdv+~}b5$}gaK4%9fqn9Nv+{@?ad z?=|yT1lV2uQn{$xe_3|FeY{e~rsA5*F@>Iu?j$V;6^ zooDOV!eV=yhXU%ftYtL2-NlSnRv&IKFB=7`+;>pc$&=Cz`0d>uY#dz{VI7q0Sbv$B ztN1RXhUzgO`B~Veo&1EpW*ystRczIytHCgPzgFsk#ZWn{6D2Yvuyj69tSyjomKG74zLtl!{ON&MKzrOTX`DU_pO$=I&OGJXzMO?Y{0U4F+{bJxtMgG^JPKCAcf-az` zYmHh5(t~yPus0S}T&Fq5{4^G?r()Ysfc7ez+o>KG(7H~dQ|D-SO+b?w!5DDki@9;Mf(}&7Iab3mcJH@@I3o7 z%Fn_O8fd5|7*Jk=eC518_9=P=0|~Snbj%L5!!|t$QerUvj!(*URXAep&I{>abzpDk zv@)#%|H_>sJTf`&^K3jhu5U>AQ1pqq<#^wr92M@MsKYg)@>@{2`a11He(r>XGjgpT z#d@x4(&p#>J_g`jgQX5G*-19>co8h;AN!;a#R-1z7X4Z~tFxjJE9S>)VMs=R=LVLz zDB7dMgQa;|GddrXvQ^mH<<`9QUJkEmusC;^*;KY^yIYa#jo<36;(D=4^RV&WYXDS! z+9p24x0f{VKDWQ@k z4jdF_`QeX#96oVMUeM!7``y^}MhchCyQlZvPze>`clii}7dlUTGWwx-IO=!OyYXTr z)czICS|{4KX`#Vjyg<%TSMgETF#z#2(YF746|aRuMT%k@K2P%(I^q^DYC)y8sOzSt zUY+=*nlE1zPrrmB^Q?`%4`NsdR4|rTzge!S-p`% zIm!BC2bc8O0$D?l6_rUm9kr&03r1kUkuVWK%@mhUNj%d;FP{aj&aR8;iP?scI|mVMlu9FNPO*%m?g7Jg>Xf3%)2Wn8E}SCM|L zQOr#%p}s@SaA(b|#Xk_Q?ICc_%EYlqtSa4hbk@6mJ(yRN%T8UAbx6FCdGr?z*p-p? zmrK3`lNq*3K09{2=;h`LSE1fpg!$overkc$$z)F_Q@0Rc%h&V8D;{B$Gsz;eQ*V}Uc zR)TAZ);YLd5^@tHT{hCa_bO7V2zRG4!f_br@y+g4_w)CluAAc#ZwMcMn&!83`pGt; zxy5Z7edmTpJRUB7MVWrcJZO&Yyiu&+OK6)2E;~UqQKe>z9V0mpr(42H;Ds`r#qwT@`=?5D31CNBuOQu%^KjRE@ zw2&ol48C8>(KA1n^hrSZpNA=;vEI^I-aH_)OjQ@9(r`)ya&{38ra5? zKV1)szJl#qc(fwEDlVX#ET}d5J@o=VuT(P-P^YL!Ks|I1M921;z9k1?Ioq5)sSVG& zf8?37{R)r|`mN*MTWWFLSh&9WRhG5Fe)E-|6BhAtc3Jo!?9iuKVPhtIu6OSMltge_WmOmQxkW)sBr|F@sJi zqb|l(>Bf*Rdj56}As@a31Z=%c-D7$L5IduKkM%aOa`OTWa^T-O8T`~2x{-z`#* zMNp>I&-WmyAI6kF-yQJV3FdYa*ZwdyepfWZ+J|N)g$eTc-VE-XFPBrUoo84D)!dF+ zX;g2m+<9;LD%-G*_`z^TxJUP;dlx#}g*F*A%l4R1hJ6$XI2e9WwVCR!sd09=gQCNjbr3fs8r&EEB4A~-;n*2=*}q&vMJ4`*c} zxrt2bC-^7db_A3F2Nd*{<#&a0XuLxi)zEwSE*ZRijI}Z)dzV}D=J$dW426ZWMI}}# zM>LUzwMzntNzF*#!GXphZkiIVfP6D+A%hI=;L@usAS}{#hPA3?bbyc#;@$1N!}Xti|~kGx_)fx7<5V%(ASKmnomUdaFcx z^VPfjiU#~4%;#dDLu$~`ozxYh1=Db_x1I=H>f?vKO+T{}%#aL54}=(usYuT;h)$Pzbrj%*#h1@v z4T+9f8cK9w^d)94^AW0mI444_ge)ORCl6X=er9n5Ct<0IqK? zV#j;2U}2#Hcd!!YICYdgLOA42m8Bcz;s;(Ga9HtbYgnKx$@immzg3Aw1{CoOhA{|* z*U$&5R%`Z#c&t@H72)(Z!WJTcdWs7uvTib)hEkyJh-q%kotC^1Mf|?6-gjgGtr^yk z!^#w{><@*13$Z#tLxbRp*6j#pWI;0#t4VtDqFp{*LJspq)}X4s4pfhsYZYHG$frsfk1K7*56dd5cLtUs6@XuVzPxsQ=Gc(ajDDFJfpyM{}P29}XF0d1?}dU0=) zG9aKN$pmH1UIa0#na4v{kv&khz`2Yc-num0(zZkL*Jd@+) z)?XUQd$WWDI<270lRIE!okd)ZSyXJEE>g}-;Wh6R%JV7s;xO%!52aJaOpQYZ6oKqB z@b~I~hyPGRx*jyy}$$sq= zi-kEi>~?cT=2Lw-4`@8ux zRH{y#I(oSw#8pJGjM3oZh7uoLZ-bEsfWv(bBSI7055J@ntE{q93N$1%NgAgC4u3;? z;UfVI{BiWVrH-t;D42y)s=q{-i;@@KHZGcUD3Cu)>LkPW%AFS|z*7*bFSb;hFfwSS z>Kcn!p$w~AemI*{mjN+#99BiI1zUh3^&wwi^nhR4{X~Eqk4pMgL zsi0>Dwn{t&;xTQ&FHPs@q87e}VnQ~eHN{MfRh`Bc!_%m(d_Vf{=I0Ya6o5k+UaP)8 z`^)I5eTOofi-J~k_d_Di)7-YLhzauDYN= zZ%3X#WfDTu=BR>sejodEd6JlIhbU9vBKdyzIr1CQABqoywn_VNA|vb^*)OX}Q>CoL z04Dwn2yUA`LRCkUM`?0Ek9$FLE{RrgI)j2IE!*r3w==yKQe`e-cnxK>TRh?2hk4G3 z)|k#f^ys?Cye9%zot~dPKNE%Zu!z5vFnBAHp3A?~jy!e2AifU(3-@@`tx!-3%!Sd* z;tF#{uvU^*eE?9E^7jrA)n>oqZ>Y8g2!)>q?2xCvOrgJV;Q3QST_v<*R$?$IcBzu4 z_Lv#U;4hloD^@{2?~G=$RQY7Ci0|eq68fgQe~-gb436RoL9dpT`=Z)~jNXhS%(L=1 zbsJ#?$BoC^FDeoHZBjho9wk5xc%_WdTt;x&mM+QX)Pr}5{AJ;0*7Yl6rVO$w#JLC5 zG{xOiS(8(C&Got!!MC^i08V%0f1+?Wyj%)?@~VglSkyV=UuU~_*k zB8P4I0e!0159*nbRPQCDkucb(mmb^#sJKW|%!G^13P8?Rv9G;~WC`7ckJb4aPvhcL z`pBYj4aF_nrCv4Jx!ZupCLXY#h@~vga3glLv`8;oD%hfq9x>r#)@5>(BG-U|IMgc$ zOs~?h-40C69%y0vl_0=Mpn7mm73Vag;^nNg!<&xCUnDD>5x6~{on_Rn!43NzGK&e= zYFRQgbhb4%;!QwwG&_RX#(b`Tt+c!txOU;pcVzXZG}=I_PVkzX{Q)v(ZRU1iwHowu z&|6r@UNL?)Am1hh=Hoqx@ioXj+|cM_3JGMJj-T~5B7gzQdD?1~*@_>gh~=#GuDp;VWM_Q&@;I;fWr{9DNU(8b2qXX-3P)$Z#Y3=&eH<%{ohmfLiPj8 zUvqHC8sooeQtU0DMP|2`I-KQY)WTpc4)ICGG^$?C6PNX8Ji|i=xA@Wz(2-#x5rXr) zIFProRA3J%#OjAVr;*S=Zo0Fr2VwzNgs07}7D&8lX*DBC38zH#y3~D-X%R?@kTsDm zpWKKV$*3Vu(((#(zFin{>6>tN)M)Z=r%i8MNQBajKH3`wj-x}Vojw}CiDzsZoe;b7 zcG-_pnh3gHua3$?fb3ke}A2U(+46-97#K&L5NI+^l;9e|2*rdR%z6CkgM=(ki8ALy1!X#B+z` z#=a>^`)IZywh~8T@yNArOGXau%8^(yIg$4b2V?u@w;2Z;X7EB3QMxk?K4Bs{qq&(C zzj)FnyKzcrr;u}O%$;oAvUBr8k5lUe5?zwcn1>GH+Gy*%^>HDX2T=sILGt(8CFItV zzWS*H-td{oAkYS$zUlQ`WHk#*JXx|)H|k?gaLKZ&mrJUa)2;BDM)b0JI_I@IuoXp1 zx8zV%_6~TNd5i;O^G1`))Y;1Gs`OgU=yqd(ao!=YaH$o8>!JCh>6@OUKv1? zQUM%Qe#7VuZ8NwJ(7~lZ=iX}Y=IHZK(y>mcMOfn)_#7ApmW;SVFl3*+M8vYvd%Nn( z-e4|PLyNGa8bcx&zow6ZLSZ^W2zR}Lnp zt&_MG2PDQQ3yyppucO!_*qK;?#p7piOu%Enm#gw<<^hkf>^niKE}A^VCRl~W2VR-L zZTQqy3YAQwyT@no>VkmicOFO(aLHs8hvbq_=g^r=O`)+OTQIhovan7aWQ?0AcoAh@ z#;rb5N-qVVx86uL!0D5Y&U%Df7|aUDD<3*Tm3pV1^so$IXnPQQ=dnnPEOX0l>4gzr5gC5;`dgOWYz8^|z9@n=E zN|z~w{&q2y8SZ60`+K!XMB}}Eu4X~xN|9inJgqB2Rb7O7Mi`5XN6S-O(Fe{A=XRKOI zACzPtwT50%Z^t>gQGZy9&eG2E1xPQ#WJzi3@bGroqQ6^qsJWm|L^}L^N575)>>dc^ zF9hx8d!PfZp@$NxpcL@~8QI}AkIAHQ+dHPZ`iR|fDPA(F7Nj#6wYF%yd~eypG(Scgs*d{%%_?N4I2(>-W{bTMUgJ|RR%1-1 z@nIW$cbzk(>1T;(P6ahz^|ztqK-~{j8E*b~>jniYW~34m%44P`r-3K!vmoqiCdKS3 z-exTIonfNojZkw}h)oRTwdVp=Q2PnHwFR9>Zx98nC7RSaM(9zgCDrA{QR zsyyE*O0@J~s*;3PDo5=T=@|z-*k@@kv+Z^R4V6hLV88(BW(&=1vIYS{_@u`Q<%wG` zjr>WVz(gr_c<+>3D`)#C?zHnMPFm-M1PrqMx)1LIXLB)yXg_ae((+!w?MSG4>$1$T zABI5%17^+YEwnl6TNFXH!WlJQvWb>VAiT1xb#}Iy7oS~ppIsBz48$AN9B=Pm+_|t| z9;v&41Q0?n3kDsqdrpWM_R?4Y53DhuxP?CfkmLgc2^IW$iE}aU}5FJ4P;+XBStt?h^BySM-W*t0&v{u3mK5Y<;-YEt*s90lI?``P8cey;cVbaF4 zUky1-VK5Ci=`~%A**OqV- zF%0pBHtXR!Y>>TuOh)898^t!B7e?E4jrYA1S<=pUkM9b`8)te6r2KNMpQsU+F7PhI zL&m*HD$aCsDkBRtAjvqO3mzQ{@Oh@hsx;eh-(;iBH! zgh_(I202J~dCW8@!S!o85-T1;{NVU&6lck}!xkk>Tli-vxJa*V+k3TvZ8VpDVxE@{ z+GfT|-f#}dp38}kkJ86U6Eo?05CUpxhjuvG6~oOI3h6@~$u8x@*5UxJ^8%?R5W6+n z1ZrVG7TUtgSVu^jK3M&BxH%34g3B*^F}g@;*oNDNW;tp7vft9LZ9G~J z3vDqfMBl;f6{M{@#GYsuKb=jst2Ws5vIiE~1Of*1tOhfS30$VYk{=IzK`_1 zBT~QDQeH6i789LypRbUJ;xI*Cc(Zkd{3VQ?ul{?JE5gy+y;4Jw4gNFdBTIbl*ao)4 z3?{P(P4?wa!3dOYg4w#BTl;Q#ct)V?ePq)iyn41ugYRbnjS5zIsLpY)EQLwKX!Kr~ ztp4nCH?o=?JKQ_%k?bQ2;evo4s?LzGVO@soO=ViS+74)H@GyT8a?*O>W%b_KfaItj zumer6+1t%ts<5O;?WsDDA^|TNe}(c9ZF2IrL)fLX56w}H-q{#?U34r&1~I!^P8(~* zOw7<+@`0>?Grdr$ExbbyH7@P(aW*lbLdq|RXV;Ykm93{HY$yoC4=jqip`?sS6;Vl? zmQOgEz~)gBy_uevoSe{_HD%?N1{l9biXUlP+pDnh7^8c^Kmd!G?u%>LXNeMOdw2!U z>C~bKEqbwErF3)^fDZJ~&vIiL#hnR8-Bcc-?6WK03oLZ^d4chQW_!0qsQYMi)k%wd^yajSN zs2**UaO@;^fYZ!0TI0=h$ZSGrQPBL$jNZC1=Md9#oCe0l`2pu^g-LJ179-KqX|!Ho zYLqD~V4%62>`gG9^uoO|&)`#K>T@}f&@n(~*?lpu1~(#iOyG7&%q_Lg&{tkE?`hMd z?uXCK?WjV1mgUX@8pFn>V@*R2Ydmkc82hdnpesf4_eqaw?dhi@5i5Bp!;J;(74FEF zr28OmhEjbSe)Z^8!4w4q^Qu%BrCWHWGwFe~!fEMC*f=b&4afb|qqXVJ|Rp;4aLaX2_Dl)0)kLJbnZRb;TE33@XdN3fPCo-ublsqv6s)w3) zRH5u^#3;DJdj7zADAD#oimnk9F?R<#7b&bySD>r7O)*$ZLk*a^(u6r&yp$Z-VFHTJ zO=nca>f|X7E841s%MWghpKXy}QEWa2a710Qr?8t7D1%qf)paLKd9kf~PrPsjU%#Xk zh%@%>?EP-&)S2|@*&W^U-WAg~B`&iwp4lQ8eoo7jiHc+l2L5!F&tm6(^Xl-I2WOFY zOnD}&n4P+8xOrs&rMXJ=64p8HyW8zb#z4m^(Xqmdw*hxkG-k6DxJRQIn&k5=qa<$6 zjZlp-W|pTtxpUY4nWd411Oj0zAH7BZ+k1#)GJGku#42oAR3AL(N6xD?lt;3UAyv>W zZS?|<%CSSMFh&Dl(YlK)WT zg$_*~fV0#Uo&|B4@+p)lTO}Xukw-pZcVy>FM9dWnh~m^aY$X7_T@kOD!1P{xaUeLc z^p#%Uz^ih;d%xmBWEZ+2ivJ&b-yPM|*6o|nL8=7lND~N32?R*!#n5X&5JaRykQM?+ zQ4Cd$k=_iwB!G&5B7%z2dj}B_m5!)10Tpa-!>NAfeD{9$jyK*IZ;bN?LSnM_+;h&g z)||gJ*Zk3|e}}jD7&w`!aJ|iK#bB_&398z?YHpC^oDpysYDF7web*?-#{p#Q090z@ z4`wyWLbX4Z3J*3S(B);(=!rPUhBjn|klB%({=_M7c}8t4N1Ix5y~4NjG86ZgLhSBn z9Yn8odW)9}$*;qtpyqbZCTn2Osj*#r^+a5+8?Q{_VnHr(`^JmBu%*q4ne6+$_cy32 zZ~8DMp70dSopNStoEl5C<`Fm?;n`oH95LqT?!NmSk`vusv0D|;QzET6kdp`Jn?3`16Eg9L^bIF}P^Zy(}e^dBoE4im8j9mz*IN5v+y z*)Ec_$grTW?g|^{FV?#8o;2TB#GAm7_)F`XX1H884Mp?G8jf#k7RIji*YHq9<5QDq z1V&ai2R$OzWF)N;PBSzh*12F?BJI{Cp4jwBDSPZjU)h2&8^}ekup!!2yr#@ ze!Mkt+x;p+;{(=C&wjJMcaK1eL){4NTX7o~AV z?>iF_sRD*GK?+DQUdSTz)ywOVcr%+#<}>Q=hCB?HZI9Q~O(mZMszn#UCdFQnr_d6fl7hX z&wHWh$6qf$NX0NN^-148T0j;@$hyMqmXsqvKp76$%j>*{<}N%R zm}cWquheLDIV3@Fyji33RimQ!QkuwPkHaltUr`8NhGPus=Sz4fbX2yGg zM;`NDNimxDo3~E&_A<@2xvpvDd=8uHqmgXL^)c}x6P#CslZDJ{Q7)R0l0Mffxoj4o zfJk7NV$;kJ)m#{W8M2xsN#u|s!S$nON0DvCnVEQA0&r-92%M%%#Et_m`4f?3aytZ+ zJ~NVJprw3{*Mw5ojo<7)w(y8C~=O+v~M?W7ZNRhNSQ^ z&U2C+?@KSN_b{%USjgj+qPx&;DysK;HvfF}qiN3)Ob#5YvSlCs+$t1uq&~P9UhMC-WMxDbL18nVrtyy6st#k)V$$ zNJU`Nv?IbZqeD@AUC}tGIG;Nys|sgKl_-Dm%W$CBU~!toWLt9BTv?^8Hgbu+QX`i$ zUtew4l15J~CN#-7sKTQ|-@qrzZQ+VcO1pHb_6eR(WNZpm(;TvM*;Ko^LH%4s^^21k zj;xPs-CgQ;9`ebGT-VTP(!i8O=o(?YLB!C=g1<-3W z&IF9O(Dg#*SnY%UPH`LNQ?Tapy2F+HrvgSY@X3XuM0R<^E*k0+I%nuC?qnB(iKEi^ zf=*Q?7_<$(O%oJ{Oz2P026z4)9SV7zZf1 zCw7;>r%2#ZH88oWw1ng=iwS}ej2-CcUkF5ujvPNRFxACI1MF3g6U-bB4Ba)3`T;uH zwM2E(u(?!{UIR+dUfSyC6;7(+l2&$;F%Z|6e{>VvwXIZ~Dsrz$7dx!jeaqI>@jma` zGTJ~bn)qqp!dpr6In%lgM|%A?*XI_$G~5)O83}+s;}JOYU9RKig@^t;<$?MPO^3ff zuuDa{H3wuQV!w@U-I_XMqn71*5oV$&f{wD3t~q&XUZiL;4EfIV+M`07#gpKHg@A|X z@H+?@rV?V{NteeN%6Es{uRz|$?c{svYx~1Y!^vik&x;{n}Bku$=IrUb-Q}%_&mDsr$@bvDe;EY#C=T5yVqI10D1xIpDxUS0STVa~p zP&ZyWt0#TaD*{Z~9Gwd{r4jDmQ2NA5$$|HGV!Pf*eQORHnp#O_Rd{|lL##HwZtBIQ zGiyiSM-S457Yje6&h;W6RsQ%P8%kZY2DB|Zae{E+GOKb*@`Z*nM~81k(dZin77_5r zMdio8+h?g)BVUXv9ZM;-ymAnvLi8}dMU;t0ZIwN+jDVMqpisqy&JH_|u z&k{mWG=y{DTGvD%vSi(=O|Jz|78FPYQk+T9R<~}Kw~jYb78iuJLYfJIO2_D@g`kBj zUzxvQ#^k#o2|5c2l2qg`2ys6RdShOdAhtd=>q1#ZffPMA-SAVYi5S(5qychTXb>h& zIVf_ZLDvsC%^Ybph}Kd)XRc_BOQb__^So?8V?Q&w7K^#dX=VsduQPlq%ny6FhHBC^ zUzwU4Nf%N%h!R<s39Qj6{CkWOK?0Yh{t`y*qv7`0VNSWk2Ro~ zgS3gLZ;X!QR^oN&Q`%LeSz*Sw-64^1$;{~x$jlpB32X(NqaD_*UZ3&V-$Rx@!MaQ`IH7C0Mz6#_3CYU zvYbY{`gCwj75!}ULq$|ZMfcf!&Fv7!7hb>0a_5|T8sPYGdQJ--3?-u zs&-6vsi%fq5+0q%u*jmj-f4={rIVP;r({Q2=XaKuF>k?tfO5Q@9*-Re5^d}>#z4OM zY8Dps0J7AY91nwAFEdc6+!`gII1~s{>zc&_Nq~=HI+u-1X~^@#C~63iPtRm9;*1X{ zKr6!tQYjF9Njy|T%BI(EP?Ai=%iwy${8c?~>3izgY({?J8#Qm(jCBpuaLN{;tJ2EM zrT#QtDf$<}fl5KkRdv%|k-)ai#7IKEjP40%)|YwBT&He&RrDMC<#-3$RD5~#sREm1 z`A{Nr6^eZf&d^BmN$Z=nkjmg!D2c)n3f~OZjj+y)XR5dd+HH}$DhpS=8E5n5FS+&- zS6@WyWUPdygNI~KExy|s4|g@Bz0)v2@541AcaWWp2K`Y7rz2id&n%=77cole;#fS@ zcP?}()_&xWm$vE)?z));T_p+5niz(q&^hsua!8cYPsJ7c5>q2lD)C?95=O)XXm<0%hA9iv=p|(05 zBR=jA^SJ3{UQ1+&0Vj`L`r(9>PVrr9+7K}{##nt885uQvAI`+QlYB&&6XKdlaOH&T z^**R)0ZPTt9H=HstU29v6GKK!)0oY)j{}F2R6h*!?S^(}I6b7q+ml-4!Q%C?O?3P* z1zHI-d-XBgve_gqzqV}6d5en|p#_Df=SP;L&-H}9T^62 zoqnonJeJ_?DEK6$jQV)oN>>Mp`v6DE&L|eW-YNFP!Hv}?P1xfIbe7=84kTVEkW@$b zvN4r&YG9hNm&si3g!9esD%?&2H1@2B?;EURu8EVN~~tA zT?5OXt?PxC)VJDH`IWcDH@8uOsyK4EqL_N8R@qm@|+VvCfI^wYmPp**x*Y)(=}ly9#KuvQ`K!_ zzaxvw4a7vgJg)EQ*LS1oc39W)cEzDLJbgi;{_6hJ+hup#13f}@8+a`lns-OXUqRF4 zdlxDW%Lh2{+dgHE>eanL7_4W#fmDLqR`WEo$x3W6XdWja}>W36B1o=Y-4; zmRu;MRcJd1BaVeFlBL!AIPq$u7OdE=?b~rWTyj2+k?0kwavB;i5ofk$(OC(!FPSA; zS4eR(K>>ISl27|5^#A?Y(DT_I=-srGHANYlBpSfcYbB{BWIKYv8zSWOY5 zSd|j5z?PDn6D;=}`S~_Es4H0_T+0b+t`=NY8@6-lo#mzZRrn`51kN0kMx1*^x^sSl z$#9L3T z>_Hg&L?mSL#Fl6_b8|mJsP_H2WkUm@T1UD$LIec^?sbEd2+#9@Jp1D+{58`%%DPyC zFnRhuDaVMz1S}U7hbVNf?sH8yR9)JJQ*@~Qby%Q%`FUn?!_UZakQ%t!*F`G?E6qgwx@2Pz`B-k(A$Il-JsM!eFR+6iZ0$GCe&BD zZe|yK{KHKSp`eHjQp3llXHu*3pm~{7oCcYx;t;!%7a-U-jzQkE}hX`gc7^YhrAOA(1zhepCP z?U%za!v5HlVOQ)i zwTMxnS0@WtZx!aVAifndo}=m%pu1sr3Px=|$OGEQk8~}jJ5Fo(ZX)rX^IL`Kn>X&4 zi>5n?acvgT)5icEX|{EWP9Mo+_H%uNT}Fq0XqdvKt@_|_0q|2tOx@yzJ#(*mzhNWw zCdzk`9D8q2YhNTACPLEgJK zn-=1_*UJZo+HW}{)ih}AAjO_OV@QhtItr9U8%pbplWXW;<^T>1aZW=s7$5|HfS6qS z?8+dE&F`$HgRW9%Gms=|cQ`dN zq$1)PtKE5Hh8xzz);xiSpfV}6HA+jp=izLg~ zPPGMLG)sqjxFs+;0(|%n3g#AMoqgwr(Zir*WM4&WQA9M)m}5@x)>|5Vq|7xU?bFu{ z;dpbKlvn8j)X7Llz#zR)ZE3|E&mdVwJ93BCAoHXE^E|q;{^CPnnyqfi9bv1Q0SmY9 z@Ygcw(_C75Ca0J)PuaUHEx5cbLr{1Yj=!#6@mCx|( zh+ZjmA|EqRU%~KQOxV|oMcl*Cr@O8he1fl41%&F=N4K@rR!rYNfuTCp%%ML(0ok23 zb=BJ%J}foYVGS{%5=lqyewdznj0tL!J!8^Yf6azHHRR0nc0tcPJ?(=ur6Dh;-hBH3rTDXxp~<4e%hkc^YZh{ z@hRrc+R{`kCAq8y<2O<^y>^~nLEsXmx62Kw%Pb-$#aWmX&IzDtk<0B`G+VqSg&ILV zw-1SZueENhfUTf9fZF_$G<9gXz$ePIe^=4fb1S+_p;*&eR)ru7bLjeQojJ`6PR@rZ=v#48 zV5vyvWT?I2xW5`BLkqEdDONrrIMDsSWtQOj$8EDJVWg0sVNwW{J&_tj}hNl$vup@Hzx@b(0G}=xBQ36V&<)*5kiQ(}~7p6v3^tijGc~vZ*=sU_4 zIXqq(cG8{5VYMXSoK%TE$BrIG$@3DdMiLF^N;%T>ob`P|cuvrhY%a5g!-X29Pw{aU z&09x1#ll~9){{H$8FsVwc_GVtV>{K+0$cDrDMP*cvKORemd)U)yJKn2Dxb$b}2}bd|D}H0n)e!5jRlI~nX7Km~g5%&7D0feI$q zMn<98yhl7O8I~6e93luUe$L=dp^`=U?o=CHnlxP;jE%)hO^SCIfc41xuLm3~i^Rd@JtjW}h;2^cv zcnpJav<2F{IanD(89-&g^1!4ECOM)BjyCul@LQ-ldC(!O_-YLiR^{X0!cQcn5rAkGj|JIEKW4dd!{iX2S&A<-Y=cyG%N~#NdgjG z!FX!UP_~FL-)+#SQNN%!c!xTrT|RdS2_J#wE@nh{;#qE>c$%jd^I|MaM>t~wX+f}^ zkCd^3$nt&_Og~)sKz{nU#dLSRP(}?YaO}onUTsoD)bO%l#D?)450+#(F>U>EF$Xxc z0YU^q8R0WqlqbfZvt9xumsVEHsbg3Y%!XS1-ekBa$<;S;Tb_qZJr!vcD8`YCf9Z3& z(CW4D;`HT@#p^L)^-W$lhRb?Sbg^F$%5lpt1{sotdvo&y{7A1i|w)ps@u zi%Dx>u+fB21#_szhWRwV#XXgxMe>UV#x<)O$`%5{fe=;%d^+x2u~J~^3Qt8eQ$$GV z1eYwGVZiLFG}Aq7Qcj{##|7z{N|EZgy@qfZ+7R?G0i?|Wc?%S701-5h?}F)2a^pZ3 zIL7-ptf3uUe&xOBCd78xjgH}(sS};9sw4ibBJCnva+!gQVBFA0cnh+*bDZR?C}3sY zp-~aKl(^M&T;oQ|!LnG(I8QCnR09`tR>jzH@>`SR6J;IBh$vPyKG$j`;d1vRVtMji zSskqmM6vq{^04t$&6wP(c0Fx95!x$)KAKaxqmwxfq6xD=hdW@`6{=C;T}V?}W@Sn@ zO9+7g;sS03fajS6C@7d*T8yuLKU(o%N5LC}*p zQqXM-E3&D0K^(q8aJo8*+%9A$=`zJI&c?)v32K+N%PKZ~!-TGAVDJFW=0-x&S4u5a zf<#Jku_j4AiqYC2p2Db$@ie=hS?bu=_k@AgOt5xYa3M`e2!B*<9IjnnkfZ?3t1x)A zn0)X9N?2&?dZ7@88Og;@6|UrBrc|vjWnsnDHIL3flqJ(j8sEI^$r^!9-#OI|nVQv%d==i}`kl9OB5mXyMofn@?(gQ}amMOZx7*j|C zzupOK2*6C~>6_-Q?_;f8a~q1Aj6Pigw#pq38$+hCCWDS+`1($@yB2H2V9Jfn?J_S{ z*f(kIGPQ$&7jTxdrO6AIswuV`6S}T=sp9Md1Q-g~f~d73fe^*9C~9gW6MYtt1PrAX z1C;_RcF~hh>JnoEcQWc_K52g{hmFEZ5*3@@t)ZVbU60A~w4on`j4~-urBYeEq9@vf zuOhaEYKt!EpKjej-_=I6ALBno<3(XP9Z} zSS)~FCF5&x%)}$K&=-x+xZEKspf}}Pm?@p>o>xQhQ+tgkU4fQ`h3IL(qYf|vh zWgS>Xbr|%^g3H*|(3aHRWzJU7+Kk=BnOP9fB>i|6#Bx6rE~F+IhX9%B-kmvs;_)ex z<1oQNTS|NcN3yc`&Zj3zZihmgN9z-Y=v1w1P~2bya*BRIcY33iNve>2af_aiL_eNq zOcxPS;zE33lGp+C`f|jgnl4vBG9=;7Lba<$Ip#3#&PLv3sdtUaJpzRDBV5oBg|zu`tu-Uz3;YPHB)3`4sn(Y8rpua~EG!tm$O zWrjjGOn8~|FhLf0C|4qrEHwuDx%eu+$H75)h|0=@U}{Na^?7g83Y-d6%zuf&8fmw! zncIq$EufAtA3JFz?J`nPMOS9eDlK5-UEK_x%|0`dlBC32Vd$C#AE>P_;nF=wfayzt ziuaUcMSz)TGopZQl|VaCqIEgA9tdvsO2~j>7KadSb|BV~MUdOg+JGLSC>gLzJ(&t< z`+3Q^sT1B|l}iZcGB?us$if@Th}|911(V8n6XCY{j%J^Svf%r*7#6jItXZF zS>Ig(VKz1n1rEhJ(hZwv^X?TY#_F??K@w8?@suMU!(y%~n&(xnmGRi5GX%Yuif2Z< z<{5)Dyn*hgo$59@w#m`?K$*A@C3$*;$XYvHn6GF&C)O^F?}W@YUZ}8P!p4il>y&6<2}tKu=!Ughng(dJFfi)qdViZn?Y{b(il+G7hBE8A*YU4DWo z;G;*i^#JT*qB#0mI{-KW+5s^BBRn6=LQC7hF2KU+U3g3d$g==#9g_e`F5&wR2F!p_ z@W~52fa5_YN;~g?sPa{o= z;rk97JMx9HNIA$-gUHWGQLn~)HMbn~Lc#izp`*(dA4nNZSN(V@j5&-5vJwV$S$MNv-)kXmCqBiUY z;mq54ilO4at3fbw{;43AQ zS-=^Cr^eI5OZNsi_+{j{`WsshQ>&zi+VOWuS=$tzhB@)?={utb*ykX{r7(^r;V)>v*{g(B z46T*`+V$#XdUINVVS*IsnD(?QiMOj;67m-Lu@J;*FrLomNYIvqPnR`HT%eO$Y6KzX z?nyxPp-+VsAy^BZe(2FJf}cDS3osbbUis;7Ej23eIXUa4-P`c5 zK$pRcCgMmGmxM+IiyD!b2(7Qc4?_BI#8Fc>&E>M#H3Nvhpmw2K-H<+%CLwDL4X)jb z^+4I5O4|_x;Jl?9B&2jP(HkT-o<&4IAI*AJ*VYy@3fsRcHnatOD#3bB$}LQ(3>mfvoVNL>aaC^flst#2ZR+RB>+BS+c4$~i%=@p#TvML7Ehg?IX>xC^mOW1bg6P-&ZddP1*f zA@u%%7{!#)0*8pp9x^hJHVI(c8CXX^>A<|DO{Zuw5^Z8gH$5_1UOdZgrH?F529#mF zQ$m;5CO4nsHAWOx!3%)`cwk;O-0v7{NexU%W9gva5+tHugl0%=i3F#z)Q04Amri1| z+l6`b&3NFura)f$8mBYpH1jSFQuY3=@(>?H1`JM27Qo} zEUN2`NqXi@W{HgD%9&c$CY$GwWJ!n&%|SeH&OZMh5DJt0rN{9KX>cu z5v>CG3G$dRKp>PVFhO|lbu7m7qBMzovarGp6Oz1lJJ8UfmJituthggMi*_kTAXwrx z8Yu+=-6=gR>2&RSZ9O?qterosLir0Y7LTUP=5iB4X%S$89Tht0`5F-F9F^y+l&gXR z3lB(;4ra7B14C-9!2m*;%xJPd^a&1*R=}DitMR5?gb^hp15yT7eOEja%)A|f_d@{T z1PxPSDJ4H$myHd7w{rer?v zw1IZb-jfJeHpVQ~_Qs1VK~|)`IL}BMh>T1K4soP zpyB=bTp9Qqm<)kQ9l#EOzS3y+bTn`PJ3k@= zp^Ynrzm?*;ybNq|SphrYv6X=FGo!C*c$0yX#g=gRh-(1>8qLd7T-vSzS%uXW6RgJZ zOb$|zI7ofFjErc)CQ1#G&eX~P$D!Teeq~tZGB+CZ3b3Aa#8Xp4;>{#ADOm*(dMso9 zrR|Wm_I`OHDMauMhtR8U%UJWbMr5kIrT}AeN&$g|iq~w-93JOv%`^VahyWahjW!MC z-;X67_d?ALKuID%z%i%2H|1Z1I0L&}#aTjQZj*qzWi`s%0fz#>2KZi3^4^MI2gDZb zY6Mdps>y~r4edu0(hjs^(=kfrH>dp;mnKod%y!Z6?(Kre;Cz~0IYRi0ZsD^?KN*V#cI_HWgbKJ=G)vRI`edo(9Ib1N2w}^5oVtM9q6}{V3(r45TJ_x_9q=kFZXoy`wvtexE_rF04;$az*zt3CmZN`zqeWd z(}N6zsTBh}7X?=9`s-7b@6A|O@sq$ru@~3;y0^U7vK@Hl{RZq;@qK)zd}&lfD=aXw zY|?>oH9Z`Q-kbZxn#t{2fHMKp7mw1BBWgrX7Fp<6t)nh$dMy|*#Qsz7-4+iBOZSsh z|0?A_uYb1MKl=DbAOHBkKR)n}5B%c;|M zF8+A_x1`koL+;-&%l^*r`7f;1N`H{8>H-{)DAdt?c2gN$Ul+Ht|1onlz}Wm>FyX?G ze`3PjBUMKK#Jl0>Idf{3}oM zUnr@6=EMaU#^ryqjsCy0jgdP*yow19mofa6liA(HKX~tAIAPenw&iRBPWWR04swq@ zN&dnezWRgl~J zcV7{5z}q$f21dutTmt2OlUVM!oiGews@?lf>u?;v1#aZ;86d2%&z8LZwc~%VqbvNv zwrsce412o!$%*#A@|%B;5-=`)`AbDu;ny!9gcW`r z6mq{axC2)-uvQWNWi~OeMhO3EXgSNE05@xo;8Svz$MxlGJi>zI_L+)xfBB{N%P*rn z)@eC24|j~qK9l^OFDnCMQU$313`ae{DS>Cf2`lUoJ)`9ef&xMUfgA4Ic>jf*wVX|m zi$5-K@1fno<@BuoU^)gaY~$jJ13qFM92DXf{EK3M5%!bs>|Oac-}#jX8E}bUk6)RP zO+Ea*g1rI%hAHiR?Kj@zu-tb0QvolOAyI6}Kbjhis7*Jcpb1n)q~Mnkr&d;DirM^c ziFXL7VV|--uX>Fvo$tzYSF4z!y)2w^X&(8yVO{K{mcxA7)!}gSsNIT-=}RS>H+@Yt zw=QkwBz>ECX*PaQ?Llsz{*JrmJGRH?duo=KeBlF!EDBQRyd>v8uH&r|F6JL-xg1@# z9dqnXYphn3_}$jnxtSTAA4E=z1nx`p0`5FB$K}nhN!arGKzN;E`!=JGWEHq*2Jt?2 z+}QrQKCKs|aK;^|1(-j!((O+AXro|sA?V5(yU$&Wn)Fb+?$eWs-CpPCp-V;yg3l_9 zy6##f3&dZc8|qF))*aJdu(97wVZMk|N6?Zls;N&rRn<}7_H5UN9=Z3}$GQ5Z{H5Uf z#G=&umDJu>+*P42BMh7;HJY9wHDy0s1YO5>iPC;y6pbX7Ja&HJuG&#V!ynaYP?zn9 zpPD}pSS>It@dFXUNZz16Pf+wDJ+f35eJ?pZJWvqj|`dC_0|dZc>GgWHVFT!tPf z^q*w%E&NOYM?IKq6S|b<+hSz-it^meS+uOm-0%t6M__RCeAG)P#K7X_*XDRVr8sr# zF^uc6gT2`m4!!ws*q2>6Q z=>^psatvxi7-ozO@$P9Mot*FKwyGHVzYC$(?^bNb1VN~&-l>2E`5|mTf=i*3w3w3c!kTc`e@P-#UAsr zn>?D*5BSdm=Y7-zHeK2+rm}p-PtTWJYKp)8R%q4k8z(AOd!}Fh^|@>ItLjgWt4i~K z@KV*1)04zsWcxJYc6vsZ#@FGIS&Gx8cVW_#EctEMPDNKty_Ospv9N15z*DDfGd|ub zA|JNyxs>~rUc;hh;ouTuVk5(buiGYb4t8-UUM@b^bgoL6TOzklJ~DIKZL1^{;XK({ zL~UC4XbfkI@V4nn?By~i&}iy!e0LkZ74V@tP5MQ`qNbkx)6@L-LxiJliQo=5R;GPF zH8pf5?@^fk1ob)0X@kDIh4~(dyALvBxd)rws*u=rVN(EZYVRn&NOtz(HdAy^JGf151U(K7(P*PZSWCp z+3&`#Np}g`h93H!ukgjPhbPu+Og8~{*}W#6!}3hwEbm--;PHr_V?t5y8{1Zti+tXk zlyZw{cq(J;AT1oqOsu{)F%uTy{`pOrZmUkkdCuO%SwD>q^;57jw3{bTWS=P>k>R+5 zG&gc@QZ{5qWxUYYg6*cDgbH(-+~<7vA$J&fETemT?!Sn;5vKc)Xb|m#t+t6J=_~YH zU>VY~i=K_KlFU4dK~;)Rb5x977|T#NBzeqZ8qtlq%KSMsez|;u;xnmS^VAs{gC&nJ zn1|fNUUZfs;>}D`QsyhPW1#LIq!(DT6WD9S^eAk{quTPBhLipwLEc~*TiI}Y zyJXr>R6&?5Ys+HFYn1ebXkN>UThIuE{MmZ4ETBU+R<>s-nLqcZ;CxsC%Hb zSMI0@$Z{M4ntqPGx0p9WRK4lmR9(r4=shuMz5#eh zr-9Us@xhpFtCv`BkuF-AWbh2t-Ak>|j;n@=c+)4QF6tBSTVUDE!}rU=cvS-M9xtR0 zM$QF2p`az?Y>Ub_4)3gdH9&N!9JUU&n70e*7^!_a_VAl`#lz7NslwVX!z00E9abSmEDen}Aa9rm@DdZrwBhU{WuTg`26GauFJ zAeopmKYo2p;`y4yNTaT$a;qi;HIA%u4YR&Ilg*a5-t11j^is;^=2TEd`?NRxwn@TD zb@V1v!j$dw0r!Gftab5^~I{28{K z6HxaG+Rw)ybveB}s6u%9ysF%f5GZ|#QP}F;(D;O0XR+OFir|Bij;I5?v7DI-@7|w7 zB`|)KDZlc~|Imx*Z!PREJ*S`}iq0AWyfT_U1TPq;+?l2oVs|do5(o`sE)mIWmkJjA zxb``>j1@y=5c+kx+<|g<`hK5GX`8MRZOoj_!9*3h;uKy#_Q^~q4`z@_^|s7PaCf-h zw1M&tw`u0gCx9DIOh3Nh>PFUFKC{;K2eY%0*;L&`x7!=c975I4d19*@)?*cuON~b! zh+02;?o!P5eZZJ`XVHx?Zb6+lgm}$+ z&ARFOtyf8zUyGiN^N*ziGzAtuq32kLS|$@3JGoa^$J#diz70_LmDCV6hkT4D99JHX zyq#`(9I;C`g_TR8H2DEsd+L6x7f4Fe$Cu=el@ z@Hk=gA7_CIzs7i&AY8DXw@Z+)qJo^M%ddaK6cm2X0^#!eX~s{X)8A&T|0eAIvvB`S z$Stpe{52~I-b>JcRKq3E&;#S;9W1P(fcR4esECv^a|yGTt^C12(&whq(X7iuhWj~6R z)BoKr2*e+D0sh{9=)JgDem~CtNyfj;Qvc2@zX|nU+XE@D^dFf64u}289LmbSB-{VS z9Ht&F?m)UHtf&YC=N^8x!f^PXEdzY}7t1IBspc=1`RNh&@|K^>@Yl@e-{lm4&WQd8 zDa!vc_4u>YihCpIzmfXS((R?>d->Y$Y1$vj+3zXbA6Xg_7`njqfgBDdFRb`WzVv%y z2c$y(Zxc4fU+{qcrPlr>VN>`?i+fl8O^g3NVN--775BdOr-aSXFF@cv$9GxnA1+^3 zWbq#}9fQsggz-mST)A2rB69@AG2ePZ^*Mc4s#qTX=hs>D$q%O%f)dnk`r!qF9}f1Z ztLbS92(3K|-w2y{?O(;#e*d++!<1}}rcaJ{A?l9N;FTHhPKS~`Bt@S?~c>Lx2*8H=l z?GCqu#=U~J>u=jVbiE*9TlLKAe8~NaPc(1Z9p0+c!!~H1wL6o~`Y@?|_x|i#xiZNr zNc59}{PQfM=JpB&6(Zi@jZ?P=Nl#sFGIEiI$SxlWU!T2k>f6W0sOK7o$q)Q{RE?p1 zy_>ZDH}0&sMHg&o!=^3 zR;r48zR+Lz;-ts2=<}&`Rfuqo;#9EZ%-1osdBiHnN&jkAUTf8ysDl#A!{SPh3gV)B zregPYJo?9x6CZk)$!{A*Yx~}3!?~)W9!M#3469v42ncC*gsg41wu+qk)Yj50)6FMmZrZ#nYS5Csb`|^uU463Y$6}xx%IP9T$CFbvxvW&{&Se+aKTj`zN2KJ+{HiUwK+d#U%k!PCQs&wV=U1fCMEJ1cnl^yKwyhj+O+vmVFrGRo_lN;hq*&NQDI z7>h)Gse0QH-w;k0*Wdc})@^Uj&BXxH7WsQ`SbgogtT_J3<|OGct?dOZa79$ew#$-` z_GZ1^kJrncyHta#3#iws_#mo}tE}B3@A9t7U(j&3Am87#?%c(!f_y;AqaCk*1gqEF zmh-T>Pk!Gr6Z|P~rN`%>BE_|9(MmBYntsX0!v!YlHONyY7ydQ+Q*|BFcKNNt^h#sP z&k=@Bb$-NFdj3Io$HAvs@3fTP_Rx9S1W@J=M+9aJmDdP$3{>(K0}uQxODP;@^223V z{_2m)z>b;kP8Rt^k0aLK(Rjx`yr$eZhFh6NV*@&y#$5v(;|{1@98@}w^S#s3?o?SW zO1f2&HRif$D@V~f{V3et=K9f6X8Vslmdn^vAs$bJd$n#jy^rT;m|eOr7gE>v@TQ$l zT*ds4b^RkBJ{W&HeH5zpE@L*&UQjJ)OvZ9dk@yrwc#e&_|M9dJ)2MB+Z$LtL{d~1b<`Zi};YGX5=RFGd zu)0QtFD+aWqo}EeY9WL2|YKUH`uzz3zUzZcI%{Jj`MBW5<%wcLxZM}GTy6c5ETaj zZgq6t%hBz*?`cpA-(B~%Gtvj`Jf5nhR7s^y8wX^&4c$~Z?MuZmRBc#kR$Kn=&f)w! zSIyC{>-evx178>CK94kz^AB_;Ov|6%-4qyW?0LsbMWSZEiR6qETG!n@ zwq-1!y_E~PoX5!-H}K%?19^$t@}Qdd>%!szCRcU~Ib_Q$qi|(hzm z!NwGxPi@(UO}JzG)VQ9$Rq=o7iB1|=xH5HVh0c?S`f=iYe)Ol_<}j}=1E*ydZp~^J zQ;+P<7JbU~`*FIKYPmJ)HPVistmeWf&MyZ&-Y>G!+{4j(^tH6JDQfK<4#I-R&pLU$U5$4;)!CbCWpXPnGAdZF7^~n<~8CvZ!O2=0UvA^$%Ac zK78{wjXgjFr3-h?ODkTUom)QBnxaIzDt5MKTKF*qM03ho|In}!t?&dXMt{Gf?bi&aWgCnn%Gp4n!)CWsj^ncK8!@EhWQv+<1Ldd<5)FZoX_te@Vobo8#qs z%*r#%v5t+m96YU@Y~_@`$Co*MH_&r>A#xtP342B48nxF#v8>>;yRz9nNYrIZKNs+@ z(}!^=9-i;N7?*KB=JJ)&okA-Kb_?0-mS*gAMVV0~I#78(&0PM)VAnXm7%W@D4sdw5 z%W)#?ghI*?(_LkVa$hDyS+@5EQg=ew+t_+Cz9oUL6B=8+pb$F86+?lOFG%^8!=S!^ zkdN@?jDEsZx-NRxj9hw)0lrh8uZoV(n5nXqmS|2WQHvh;bB@K3z#ORw3Lk8_^cncx zb}q0JF2jAOL6|Xp$qjv$O*cljZz&XL&A;QNF$3OV+h$gx zY#qz0;lIfaFS42oDfcReRd@k6zXja<8XtF2eo;qhzK505xFRKYF2a)?pk9?M&*xdq?n#!@)$f5k+6$J#)*o4dk)gxy*q65NUQbh$rc`Wir1a9ok{FN@h9mb z5+>0R5|OtDo9}G*(V4v&4C8#m>u>tTUfE5})^8~8JMn&W{!B-DzK3<)-4=bb<-wLs z@u}>QyXrl?5frp!X9%hyMr0NgjkmZ6wQ|%H{;e1~OKc%^AlMI(teDc%0OA>a$9a8SHzB2q;4%!BRVGOa8 zsV(EAm)OVEIzu!rH(N*9r?L;$Id+)m2z$p=Kb^ra_?t4FlJzJvV^`9dc)R`;tRfLF zbM-@U_43AA0ZcB~=TJ^FHtUXoBVD}2p8ryMEtgD$Q5VL{z-KB6tk zAa)o2yta72FuZ_as*RB6>+mb^x9g=K#Umb-u$=kx_KGmhx`L1}bNnQ_IJ5WJwG*6* zE}Qn3%4o`EpqPfZmqd9T&bs`NFn#=FYD^|7%zkLB-Yc#UOv7E<%p&cL7p3uYk7ML3 zWYB4~55LM(Lc{WDJ{3dYeI3pEX^wwr7!~~EN_dSgN1J2sTmR3F;M2s`R&ZbXn1YLP z*N%gyD<#-_W*FpSg0Yu9qhe~-m;U{jI*+!WkxcKA_Y$#;q@lbk>nB0?j@&zTb^T7J z5$wFZ%$;|&?7`2F51K>s4#lsjYUp>}9xYx!E!pgI(md`{NdLlV$(imWqY%#J{;3P4 zO8ky(YKm=FJ+2BbI&_3X7bZ^E7`M>{gu(IrX%Uo$j|Ojej|=i2i^GK>v`<=-GJBu1 z*j-jtwr5yc55reWgveyo=J2qG`qr|K%z(izWm$9_BhgN`h93IB^*JHnrQ%O!jH z+WSu2_UUnusP%Q7c?7z9L@BW*^}d0(05Do6+gifGKBiDdSvM7L5pUfW5{Cv3Sh}HK z2SFcpgRQLj?#FLZjb+>1Ki1RxmLj385mn??g9D^#0HhfJq*(%_QB~3A$m0j3arMy; z_OF-BGA)-FdB6fHJqNf&j!IvW2T{kfMPm1cyHU%beD1=!^lHY1QdQjvU%)TZX2QY# zrVOWm@#5t7`)kHi${uQRzGJ`rKjSH(1rHbNxdM(BI(EkiI+gNjFoC@;g+sy@FB-?< zwICx)Jg7XCW=5&>bez!FcAQX`v~tn=2Aq&n;I6BaeWKTLJim2IX72=slg5mrZhZ)}Hv+Qmj7nT4iTcje0D>`{I<$at;mixt++mU}IFJ+n z`OEP1Qb`Gaz>|)p7Ei0RZ{F)it&@i94=>$M)2**dp=bj?uxo^)0~Z;wxeNi|1Wp3!#8|4o`Qa|2A;~62<`T z(~@cOy#K&ulCZB?Si=5mRJi@b*ypUdbJ#3ZLPtbuzYOa~j3i2;@Ds%|rTt=TXn(Pn^IEBOu>q@H`@17apR%Rfr zA4!r>*KfK8b?NnZ-*J@2>@x}Yi0E`jY4rj+bd#!B;{0$4V-h>S9z1bJO71`o-w!1b zUr=+rUtlZ~e<6blKd(y*os{lGpzW(!v~^2D)AK6LjE2VP?(hu+b4Ev;pA1AN{82M~W3WGAF#DhUDM|gy*6dy~ z|92S7zY+4khGY=PpK2tO|Ade!tEl{ekiivH{shS=DIxxhkg5C&LiQUZ16TMBlKBNt z`wc8pLhL~@%0RsV0LcKi+1t7Oqvl{Aarlp|1b}+K*CqT~yz)OZ&aXSte{UR^(w~g8 z4~6_B>fU$%BI@56=O@wrYm@xPC>a25{sCGl19;}1XZ(ti{X3KVfs(2Ggpw)jn?(K> zlkDS{KRxGP@Y(+_P_n;3tbdjIe~*#@bqphnDTzr%pZtY|7kz#IsJp*&AEQ)d@_5WO4pxL+F(p3aHj=k(6T-fudvZX zIG?lwdp1ApepU5knYUYe%FV>~z|j-$ob5kunx0);wzBx-eQph-+`xOfzj*EOiOSNN1n}%!|vP7;-ZFej| zBF|$aW;TjWKE{4QLdyNTpiLvQ_Pk3hQ9R9OI66GLXF>bM zK#IyPrJ989S`_36|Iv__fRJlJ7YIAMH4|A0se!0|;sUXjQBX6QK{=Szs(>_OzVHp% zL!PeT!_VXw9KL&4x1$eC_STMW2;%lLTc~MKQLNkE`x_FJlIKfVEYcuLgt)x2 zagF=E0g1ehwh~LkYZl&Yr*@DHCk#huw;chu_PuDX(O=DD+tn8{RET{*{hIU}sh5(! z5Va%S8Rz(hbUmKt%ktf^Rp5f~5gvZzHJ|2O`J(O`5NoQ(eBb2eCS%w#dND^_uw$(>6}yK zcmiSkF44vgv=ikd8(L1Lta*JZ0HRhEACkk(i*@eEE{%K6yK1Z0!*3`ii*a{oJXjYO zthU}OO%A$j*I`7f%yDi+9YkAmzUY2+J55BHeC?}g`ue+f1|T<`ON`!EU_JBYfNqgF zXz{J48H`RLZr|&*%O#iSy4{U;WU4|h-yKQiEwP^F5Fy4O<-N~&IT=YWx6h}VjX6YL zgMS=w^+hN}@GX>WuA65f*HzrKrTl`ctT*8Oes9zLW49-iXfbSd;4Pe@m38~)t?S56 z-MGaO7yt@QN$Qx=K(O=?1gQMSuSK_FL#rRoWIq{9k2rRn8|6rO54V|h$1yc(50BG_ zzb_=eYvs<|splt&+eldZT5`l5MszgTae8wZ3{%&a{8pKLIM5uQED%q{>vX>%_1#Tu zXk?#b&qa1zJgr&CAuJ9B+~}-t+*pYrAM@t&Ym&|loM-QS46zfXUC+2YQzO&NX-sj& z{nS*3F!NtTJQ`FAY zM;<5$o@zP-s=1tOO!L)L0ge>XY@zM)Ta&7KqYpPn# zZ^yX^tED%Hz2v=?1_>5>U=Z&OSDL!yKjd{;0FXc#Nbo7Jn6Xb;Km&ZKXE}*9d6C^gDy0I*uhA_dGOE!=vd$$erf0>EnT~iI7x-{zum1P4eoM@7)QCgV(J-7_qI(?OOkQeC-Wxb zi^8>3lXN*Ybfs)La88op`ipD>QBjw-bHK+m-5?Izz^m-yEmhtm*xDIBu2hajn4)iv zh;v&oCL-x&=D;L5flQ+nUVa8p4gP>-Tnh8m5|GcB13bf1S9oF9ZVS~O$|y<39QRgp z8#Vkr$krU2G`a@nRF6ReZel=+qb8fbXbU|qNC51&t<^g~{Mp&68R;ikZHD7U)wEUu zq}1bk$Q4WL0WV?kh)fd?g}&nV{^VQPaWrtI5tPQ%As?6B1w%gC2sWWVfPgni-(-l# zCc`{WqJGPl(US&t4b~htdmpiD>B8nO;l+du!rdGs8I|!Rr2wojY7sw1XTR*(xF{AZ zmVg4900XaW z>nfads$$%Aiq!!x+yoi`Fe7{24UjfdgluEPQBJFvB2r4T#Y?C##x<)_F3f<6OYUbI zdn@WuKde$}Jii>e%|kpvP`(Xy8g7CM-E_%w#}~UH=$JpTzw4guV#=*J1s|bg4UC?l( znB@xcR^?WnXdeW0P~yf?E99cS7)G$BsU;N@t(lG>L#eD=C%z?$^>fU*+I6(|_1@h4 zYVbKJcb^MaSag@j2x!kjiC5f`X1%>LS9iyNJE5L;S-jY@^OPab;1AVDtn%jYIT@!%l=&;4P zT}=7OcN`vNJ0-Dq*WQ|{OW)_Hh)xvn5F}AP5KbMd!&`kk2@p0Nf)M0TG)QdO8t{!{ z3DK@N1O_J75Zjh8?P8rL3GJe&Ne(C!T}Vb1W1=N>F5fFS5!LvYte$gIJcb~#YK`E; zW(x9wmD{D>HmY+e2eEjOu9t<#C5uCG7w)Gsi@fb^3i>>-v3+bI_=&dBn)0zqadL98 zw?c)Pgq32U$|eW8elJX3m2!c@tCi9l;!sTyx4YBk0_2mN_$bH5wDdt@HB21hLad`$ zIXSaOOwMIg9iHdW!U3QHA(uF`1Vx2`8S~>Obr?!ng}y%7c5$bB;=DxT<^mH*ie|N< zPvlxCsy0yA<*&`fH0q?-0ZQ36wQ2)Z)#JDs+dO~EQIQP4)iGc%Vtr&O`M zwj_Vcw@{e#Lgl4J)n3a!ts{OrSvKwlab;1DAGrrcu=^XfM)>j7W*dJ0O>W>9vNhs= z>D-6LNyDN)iZn@N6vUh+7bzXDYbGll7j=mOT3j`~Dkk1i7HIK(?4-C^cs&2)JMmDt^;d~?8u?Gzg*ta`zc^)902?Dda# zSh_h-vLATa^)wNHUAh!EpU8N?GR`-S2C`mFy&XagZR!9LyBt+RPNPzSolr4b^vaWV z`0P|f9mNQk-3=V#puoI1zyhug%`zrAuxDw$@uU&^W5j zUWdM8`X(d}d$iu#N}M+_#D8c^fkUghB_nP{plPFTOcl6+g-g#mV~|~es?q7lOUokU zfts`+)z#$?inz}O=KdZG52S>tszpK-?vqGT^(l{L&is3D0Lk5m?@A^;QD;QFjhRdsc+!L;hdp)A~#SD=n-qUv)CP+H{LLVqim$K2i^h>%Pw^wu)GqTl~+#(oXgTkxQ}_z*jVLoS8Dd-y4&CPLbv7X8HQO zKZ?4qFneeg4e-z(bx*7!kXDU@qjgp>g`jk1t3N>%I6o@+0k-V6Se&AVm8$eO!G5a> zMn<9u4>%;8^$2~@gDx9ni}EO+yGP05#dy?t#Y2eg=h4jQz2(TaQt;IUp!?wJ#x2|* zW@$86O(K@FDzs1C2h~Y~o1Hv`1dujS9BLK7(dvFT^^CcDcp+u?)vCYmyT&rthR?8( zSH)0}0|~n*kzm{KIR?_u{rI4KTHRtoxmhV^_U`ubsw`O;LZY3$mKfzQI%NoaYJ-CJ zGSB-Y(>et{0W*s`9FhyLQtV2r7!H|4n8brG#xvJvp$??Im`B)Ewe_!Zjg!Vx%zkGD zEz^DZOpS!opeXTu{M8VDBALH5_RO>x%;qUj9s3H*HAY7+U7vEuggJy-kK}D~^Fn>H z5DL1nicoxZ+?h~3FgSxqhx#+LN+yeru%Hw})xXncHz@~_MI(zaP2UiX*DPwQ3kpde&kZ2ZktwtgS>c&|BLZgSzPh4)a3k6T|N2$~t*>+avR=OBgdeEb&c9~P0< zvE@(uN(qo1wwnphlsgz4iCsc@15&5yCCUy-%dnUQCBJcZgGK9;64$Y8^AQZ0!XXZU z3#A*Z^@ssW3rl&hz4#ePsRlxQqa#U~t1kl#om$B^?e2?5-vYe&KL>07g_-pmy!BW7 zMHZGnU_jvZBuOBFQN+;N!pPC$KPJktJ<$?>AjHdz!I%4;BnRB`_M17sBeKlD(HGg7 ziCKU&Kw{u+|0{j*iQDG(egiO!hyBd|? zaA;^;SVD@)%LmipjZVsM{rJEovTqpqp3H5QPO;Z>1fKh1V<-+kR)0}_YuH)M`WA9uA4hft#Xk1{{=Lz^)^QW%%j*fM18It5Ao`h z^39e_C8NrTD~0~v(z;S%tR4a39XHQexA`7Xcb?aCT#Rf#a&fZ<6r$ll?MG@{pFo); zw>_eQJiD^eo5QbuUI~5#gdY;&?|j`)`7=$=rKY#gaVEX9o6VhX_VBth*m)#o!dZ3#>Mo!f)~?S; zl`TTkQp6pIiRO)a7GLAbL!2@sM-!F5fh)=AADR;w-fZ>uT90OU>-M3%bjytQIEx`= z%3u-Ar$i$gLi3P93OVd~{dHOjq+pGesUd1`HI@w9*GE<|yil2-IMetu0oENj#R5u3 z+R;zKG0-yt2DSp}0W3^g9a(q!m;y2qbX;3BnaFu~9tlNpioV`~E#8>@8Oko-aG|ks z^e%}%dNX1QAWa>)_fA6ZpT7uT1NGcb0atO~7S`&Lc@vUXo3bCr>Onu}OU0DA+D+EY z40j=v9UyVK%FpZryK;(<;>q=D3evp;PilX~{u@z5i8tHV7n5KhM9;qZAsYFp)VR$< zGOEJ$O}1WqP3AE6xR3C?*ebm;zA#-XeEHRLp+x%(YH9qYji^+CelTb@a-4YN+diBA z$i8iNs6|Gu#c-?rP&@Pv>TX(eJee?$NBa?2ie)jH@{8mK>7~mFDj)x0(9p|g-Z+D- zFAI*j=LgX)z29cyCYQyu3f)Uh?LlUSa&A!E>i~wm}-F9{rszXqc-ek-yqnK}h>R2J>Zn zC}Svp8p3No`W0=0YqECn@jEVYVOdw41{5A2q;SvkwIi7qiLjnmJE)4!CE3^WBArS! z&oQBHo{hlZXlKe4_w{db(m)dxgX-wmh|jcD1uQmi z&zEtGiC55k>gB|q7zZ5(D4*WX*ym~tpH_VUQ>fAKn4-!`j|)rko}FPKTvjb7T>bn( z>no37TfoZ?p_LDd#{8@NMknZDLf+ZELfKlM-o(eh5`M)qBwT1CkY)c`J~1v^c050$ ztwVnZ2mMV3eWyMd&zEtwa3gKHOxzbK`>c;l*S=~JH1@an*^p~l3*sg)wh{)EF^E7(az_KXne8?Ke_-01~iDg5qNj} z-oBxii;BvZ1hb`(Dw>M#Gw9s*$XaoF37LgAm`f}R#fm(^0%AH7Yp^gv0m0mZ(msT) z9d@7NO8D$@IEkp$T4!GZU*29(3F`dan9r7t!WI`aS*&9#$vxyNoo1ozK|z4LjpJza zxehHA2=EMS*1(FB+;AGrNMkdu$h+!eN@tovx)Zp!CDhYq@Ge7>dmWBrm#dQ(Di~yP zSoS_+Uv|YgO-mb!F3xcu)p*!s_T?Gr>?qb8wx|Y{s9UP>s%z0UR`hC#m!Ol@lZaR$ ztbCZW$Wl}kJ44bji$gxB;OKd*wK*gwE5q~cvyGISheBdFc97|7DQss~U8{_8My4Y7 z_4|rvm-eVBWv>^ejVkKSefg$R!c#kOYvn2xx)c9tY_f;fLX=tp5l2dc8buntmH~Av zM-$zQd0lH4xgIZA9B+OLb2t}5JxGJR%X$<`adJMUy#PS_mBv%Q7Md$Exx^0UgLp{; zWp-bHq&R-H=370_XUeL=4(|lT5HcTa{9hE=zmQbRDE1?Nho)gCR+@5*FJ{?(k7KLz z*`Z&7z$jkmb(F_>A1Sl@P+B*YV9}hJ^`wzQWb^eo3twdwh7Q8bN7Y;eq}B|y%n}bJ z_GqjG!#0;mul21g-A2Lv_sG zYQ-^LMj5{D9{R?J#hsIZ^2)H@N#&8lRP+mcaKlhIc1d$8N;R@4s0!hZa@~qxWt+Gp zmxse0R5KBk6kjSU3bPq$WyfnojWN&!3beZASlbBE&0=U#1f%ifMEbW8P10)C_FoM_ z4S1Q{P_`@*{o=t$@Vb<+A7+iyM99)aroeF}nGWP3#t2)YzNeK~7Q-Pm$AIID zs|y}pbA4w87ipxS)Q|xp)aN-o%pgF?`|&0W3y2FtJo-D_P>U~kQ*cOc$5#L!ah%JIstFGZZ?=13k)pp4!IRGLo)nH0wAXiEqZXCKL4Vd?^L`?4Ls} zX@MXP?$f^(4R%&OmCdvY0)d`~Ya?Gn!D|k-&ZvCdH&(x6)^esAm5+ZzOUYyFgHdaI z*%pz8s7}UkZ(nu~vomh-yi*n$5`2i{kmE?AQLS&@i+RFfjh`z;(hJFyrzq}hMBE9V zxsBb5>8gFb)sk~xw`>t+X+E4@vV6S(C*!yniaR;l+d1En=4;z6xLl?QNtNgnOV66Y zF3&Q96p~^df9G|M40F9bvI+CpbcTF@vu0p_rR2Vf8SZqZ$6VPhyiPTJCrS6v)QD@2 zHV&!#d6cu&o1mOm*9`boTn3?^F1?Q#I@;{!_fkiK^=7=|NE;Jl}@g>P#_*ETx>DM&QFx z_qT;1RLuccWlX$k24_4ejI2k38J|?0A+@r$--@Ywl<&5#3qK`U~525B$;YU1z*_t^v4~V!_84yW`!w0F0 z4@)4EX71)to{=3PDDajda@k131-7pcb2A~8?D*_a2~wrTB%sB4vLPk8D z1+f$lcH3K>X?dzfEg%-0&@%aX>?`7UcXsiUcQJly(25^ z*&E<}qk!c(5HOp($Q+gCsDIl~4uoBYK z=Heg}vZ7tzM(=vbbBFWsL5g3+XoIlJh$Fo<<*5LjY;wjG9CpU-=tCPD!Ki^!+;L{} zPv3(FA05vz z)gYsR2C>TBz%&?sJqBK$7Gve_!k7i6!I~vrm5OhmOJ|HwHL_>!&px3EJqt@P#TT$* zSf$9I=D%s>YjqGBDZ!5k<;vXXLERsyE1P@irjGf=U_y8%zS4bqfa{>cvcOo zwZ@!xLLLyno84FgZ}tXwvyIxc5gq|FTix-SLmi&z&!#+xtW^~lH9clPTMK0DSv&Zr zjke?t4rCPj3@5p1$}I?U57ZUVO<|ef9QM7nL?z=x)b(sAI0gxG9Bno5Y&~wz{`!u= z1$an|?j%7KGCiV+Z?oH zOULfnfZ6%!1v&NiR~5VB%ET6VH&I)anFeCy8~B!QHB$}5DS2EfU|myK5kFR+4w>E% z@{DU5a{vYl%ZJ6&!W~;7W|K+L38%>|tx^o*BctJD>?_`7zN_gjHP&!hDX%*AoNYA4 z+rN45fs_QFqk{y6kg%Wy6`nG|?a+@`%t)DQ*u0|Dk~271KkJ1LX+e~%GvAW7&U(mC zN^P&d(2@q*R<;HUw=nbNq1^Pw*NZbjvoiK-c8F`{PRv8GnIz z?P+{zI#}pgTk7rc?6dWY*2B(0G&Ot%vp4Ao1nk)$V0@F)inq8&L9U#nMT$8*qEc z?DW((Pv}#*Qx|u_n0fs-!ui4zxp#Xopj!{wGpFMBdAAsBm|>s_-*`7q(oF`$B34a}m@r5cU^bB6G_;J4gvP@AZS{ER-xG zBFBr3RWwp_vgRSPI40&SRMAoD-j|LJ2ywoUuGdH^t&Mk9@2+c|#N1Gl+1NI)1RR#P z@3CRL=iDmLlm2{Gee^J3mR0P&bHdII!0$jUKC8969usqeKUe*Hf%ph5T5`JmrvT^^ z#PuD|`4hJ4&l*uG9yUgH)<2R`zw00Ui82)1@0&V*P=;b-ev;k!2~Ya%qNn=<0kJ2@ z^G9WU-9H(a|7^vt(}QCB$G-BPSg*uvPt9cl>OrwFKLK(-wfslA;(tpI>ghJ$ zpYoqR_%nj%KcD>XAzh&0)lYk%ezy)vjyrVsVYnT_J`Ws+1Z|liOJN- zjnT}>^d+OMp_3t_nVl;W&2Q>WDnFe3m;i*A?)dcq6!Qj7Z0_RUn_#Z&s|74FhaO3xPg#9Pjot2pL9~9_c3%mbY z&>X0)@C!w|exkfSx!}83|JN5X*oe9QvFgOaPR#Yx8~&pW_8JOCmcXzChMAm+vmvni z0)K!O0)F=YLx|wtoBb)X{wl4spB5{g7E`{P{cqwKz{SYjz3z&<4kDwnS?Ell>Ps(>(+{D12U+-|BdgU*Sv!4<; z`@d|J_?6cFGs6OH%s~tsq<(v%9~Te5yW>AH{I3ir?%zZG*DU?9{5&@OSn>R#EcT~8 z_>T_$Pm}-e+wqr<20st5zopUdY3Y~S@dxAm-*v*@OaEWg34czgKbDZc$asIK()@j$ z@~b=HcP7B^g1NvU=id&N+)q=aUo}{A|1?tlmg~Rw%D)~gfilED7QZYke^dN&{GN;c zuJZh;2~XF5Z^HkMZ@=fC|H!p}6hu!0ByfuIT_*UKRz$xmIsYOj1AdZ^eIk^6xA5OM znH@N_0Va~)XE-dJ9Kh+=UsXgLzbDGSb27_M^2Z!MQb>N0m;WSg|09q7%8?g1>;8p> z4d5pgsV5_U_uDVB*?*e#{-|sI4@~-dW%X+Y62MP$vL{m2ca#1}C~$H9HoIqG0|3DX z;6K2C0P2}N#l>Gm0_Pv;j^j6dK47^7y!5BJKFiP1_&-pteotsj|94_)EWeBV{i+1^ z)0B?mf1n2aljQM7p9dEB-{({R2i^Zy7NLNjrb-*=tQf3lldfWYyu zLy!PJO+lVG*59r8*Hr<4oe_AP#cx#s@Mx3YYlOe73jRI(&hk^O2ZSPjc|`oHBmWrT zezi;g?If0k-3@C%NF zT5uEyyIIGQf!9Z$N@`n1q^U|&GWZn92GZf!^OC6P9?9MQ;V4P+a09CT~UmV}xeZqg1x2Lt@v8Fy)xs{kN%=M{FDYk32j+_xr0Ns8W;{ zyO--%bciY4D6y}(Ooc_o(rfvm-F9FrJq zlZ})l234DHs&ptKO)or}P$OmTN}}bH%Z$#h>fcr7ZavSN`1ry1iV*we;6Qz)(*oAb zF+;_uYU4n+PG>8!UO1H0csH19ZjGfzYi-T!P9^N6RCwkqsbrm|V6x2K@;H@Xa71RT zD1~tnlmvjz`|ClS{@LAbl$b}v&o=2!=wQQxE2j!RwN3s999HaB83Yd>x@Gp#C%$3& z+T`h5v{fjjy&nldGfF16c0A9f@3PyVU}%RQEJnr&%IF!op-5YW4P5~s3*co(h(z{( zo^$$y-uk%5#ghusny0&PTv6z7(q%g%fODtQ0OqdPsw8~uZ zjEt+fk|ZQ|O`pn=b=t*3czonXC{&S}gP7E>T+=@7J2vNPk-BiHqR9nkKdkkkXMM#e zU%P+Z8;Nu>W!SlfJ^O&;%T-9E9$|<(^w@#(Aq3G^s8Hb)kAE%Si7M?IDADOh!Trax zOCod?M+Z;MYj8n<`qRn|Lm$wq-%I=NbjP@ONa_T5xTmx3P(7j5oL8*c< zB*)PrQS0-BiJRcMpvX6rkNE9r;04F854Q--vP<5E%CJ{sA8Can{F@6G8IE% z{#RL5%xVL%u^_*J8hjWk8qt*P0SUcnUTmbovJ9CX{wONMjTOmqW7s#O+tPcLJtz{; zZ$=>>o$t2q^(|qE?G$ODNSmE(=^rd z7v5L-FY(_BK*=$@q#R_)uv>4WMtVbmtRM3U?X(#!UswxL)HFdv8Q0$uHA;sT`8icz z$OKiksqvuz4+`IlIJ_vZ0Twc8G;rP~QE%egme|t+&oFG^Vy9@c3^}pTCZJ;Qn(u_( zmwwdFkr_h2`ESzNq-*l`yaKXo?FhrO7->703Joapj3gl}tKU|Td0v~?jl}gp#WB^z z3xYz7sWS?pbV}UY3QC|HIEESrU{K`rsAQ2G$$=xuGc-SH?DjHaPs2D{Q$k+|=N__S zfS`PU48!rKF|v@Vbvo;9@1G=8=?@6_kYSXrdyXc(4P|6eC@JXwL0cEJAV66_az{&4 zIed49I>q%Oe^XpuKqpRHQE-c)~AWg?0-| zbIwkpA6mc`E6Tv(W=vLB-3E2;=aRIAKr`w~pJQ9VE?}dvIK}CRjmYh_F(D41n zNUA$!Uk}ezyj9WQva?UBP-B)h!WP?5hP5cF>{S_f$A)KxYdxDZy`eNT1KfFSjGjmb zEfTA)*TY3*bV)R5us`=MiaQrRaKS=w5z}Z_bGze+B?-rVf#l3p2BSBW6ogF>u3CsWk$o2AyKQE3 zuKm(fbpdTRs?HMh@dA-&#F?Pu9H~{wNZfW-4I>1BFV=s8uMFv-z8POgp$U7QrLzv} z1*943V1vh3Kx(?ZY-f4N!ro#|YfpS>Wn#`{5ENe^4Q@zskU{MdLu7|+nI(jja(@ct zK>9HBdAU6Zc9~H$tE~(;q3jk<$>?RNlPiatOeAcF@DY~@;DQ++qNdh9Nml;M&>ZT* z0NzwNw?`XZtGiaxYgKLuJ~BdDKWlVPT_?{mkZaO11WOugveam0A*bAcR58fuxe{%W z^7!yaiSYb+*M0V7la<8%K8anYq!@4dM$&CYSvU&}sj`J#qq%|}Ig!1tdz9d3XZe6)K45&mfn*Lg_t7)RG*H^ghkpS9#w=2hJq>En4^oOm+A`~Yy zg{bV@-9Y7bnll1ZV?9d~RxIMSMX+DxJ2e60P=v#?0L_xy{*5fm8k0PzRfox+S*ke6E%C~EE5wNo(HXrLIq^;O_5w0BC^cMNyIxSWrC=zw_h_?i)gcN#L??K2Q>%{bI0;( z;A^MZal(#(DInNUcU0hZR zj#ikPXyN+OGXGj9qgsW8AmZ^9;Y#{5Tfr+qbcZlk3EltA4A#NoaW6*I< zCCh+CR^1@6ynW3YgqH{0qM1RTLiP`4`t(-XRVL28!`eBUAz@}J!$!Gn%h<=}lk~vt zwECuNY@>1C&=W$|$I3keWMOb26Vb26Q=p|uI9k;uRmB=}9_dnL6caRd!&*ce?eB-6 zlhWb1)z%XtPFtdu;T0h~#B#?D1n@Uzvr&C*

zUm*T`rKIhh66$0?bOvNWtW2O_e^*F4WI~7;L{<`_s~qi)u8qrr+`HTPa#2BvTVn?= zmD)DFYSga4kY&X6l45uj*wTIQSpG=YrB83nUqKvTkak_yd>ADqu;onww`frY6mKR* zzgYNMYBhhNm*5OGaCY5$qJo>0GG$$%+845?XVP5FE@!7g1o^!1eza4&Y`S5Ja3Xy{ z3!_@#Is`OmxOt?TlzrFW%#*}kcPz;dTNJSooOO$Z?&dI@5139!dC8$14BGGGAU8_F z7GuXsI)WKdAM5)r{Geu+sR$s1+x(X;nob$D5VQ!)T(oF*=otyKZ+*dDzUpUS;yxpnXn;RU=9MuCqk4|olm2UL{TOgrJ73!mjj!)0JeNsCWQ&_L_ z{n#3Ji5vAN{ert$r54QzWQt`75+3A#LB ziC`C#H^bb;jW190?(Dl?Ik@10*^o}79X%HtV{w?|pIxtOsoQxaaFm0-jk!s65Z3!H zN6Sc-p2aoxc($m>j1k;fp!cPSkj!e(x3Jz%TiPxRe%E}D>x16w@Bkw9t1j#vm4)N$ z8%-r+dJLyq%`j>A=LfHEw&okLFf^bRDUzhTpS7p%$}Z#s9zi7RP872*utCmd3be`2 z&2ZHW4Y3nkD;D?H8d*9V1kLE(18fqIXv4Ej0wODfSDnDPH;Rr?=FH@7#6KIkTH&gs zb)@5?+8J(NK(^V{$pC^f(2JX#p*bfI9gc~%+!a2LW*$$aLqgEes_0a>rsrJcGWt?$yWD z*CCQ{))DnBgz37ErLbOmE^jx0CD4nuSwm7;ev;KT;*Q!A6zk}cp;Z`s)Z+KU6(>!w z`bvFgV#{QutQhEAZB`uwYrgr*g3T}4o#($jU&5OU612RgnyQP?cJjKqP9A6&PC09V zHxgy zLELHDy9mC+ndU1xd1=kgG#6B}S$*c6KD1O}<##NvV4bFYU?`zI6KSj-r$6%Tb<(F# zWY^NwjikEaX{8T;+zsscP_A63%qx~}_T~O)&wKdv{&j_DdCfCJ5gWDSA+8leJYLIa zVS!5aUVO6GVAMrSn6Jri)Q&n%4}GAIYsyjEEZMs`mG+jIW^ifC4A)S%7c3V$nkZ1s zd=@!vBViixw4@Kg-Jri6R_#33mYd%DQLdx zZ=rO&K=AIHJGGDQ+|cK1#rF5f8^$R zbO7ql)eIUXCv|&sU@vuyGJ+RZ+!f!@})pq+yFDWlZ*cb}F_#4(&NWv%!b z)h=b-Uo2&HIP@uJ_Z)hEXdyGuYKM3hzXGXfDJ? zd0l^gRBRc>O#ATeeE5y?dLlf+2G8o)%av6PmR3Q^I33@vSZ}2$Lp>INGTpYjSE!1` zh(}v+3&pMMd9%2QrSk|8S|0PJ{2G5+*yk=W3+Aq13mgacT}FVbd?;7@nKs1GPMJu6 z9mgEYLa^N7?xjBhzPz2EUh)N9!wPTq=RvAl{yO<2$(Pxp^f4ajAIdKwWw-(l(>0MV zh>cL(6CR%f+EbC?!G=g-XX3e85i!^t)N(1ek&zg`?K({?!$f-^V$GatZ~EkT$>1CH zC=@SaQ?hKpuDuMb{U+Q=ZWGEx-AG+Kis0QeV0O>UJYgX|EwRg-h$idIf3+Tt9_Bb-h8FiO2?-ltPFl&ld}aqiW~=a+q8Rk0B6 zw$M5eyOJWOiA|m4lb)Wk;31kaqUd>FZr<1wPgJ{#61ut@@+_V|)?S&g8J1DDSVgc@ zQoF!*ldXg?oWNZ2`9=z86ns>3kug&PwTJC%+<4rM7%9K^IN58=6|xPdGVBYfvu>#p z&oEgh4@18er-c&;FcYliiLeFN^f;-(QkQM(O(G-GZp`=Y1<5rv5n_{kqdr>S4lShz z@2{)K`nawH?=J#5XTp0CKd}$;@@#K=E%@29bw`9VGcXxKt!j^lBUfTr(dPbY1(*`2}hb;OiXHTDOt{b*D8Xx z(1oi&b?6N-(Agbo`w2|d-=hGr81EnwBTkao!4Wh!{S@3c^Fx>5=|krD*RF=k>vuGn zk05V&g7vY{P{>J3-3CUNh;F(7i8Si*&ju9|8BnBQfLp>MpU)P?T~okiWQQtDs_dyv zz|^L&vlyxBCmBDJUK11~h2e0q$GjnZp~Ks5ms+loBS`;>z(6#~wFq`HYXUDnb^jdF zcW}Vl;y4NIMT*=4El0jGj3484Y)sfPNC@d_XScE6Ww7u$m!rQ>%!8mfn$<;F@=hK% z5BPpW;@6c)>a~1RFn$qpPwA%T^b_GlOzlyV?u0G&uQo9vc|xN!(?)csbjY{yNuVDn z5u@yR(u_2{Ij<6#j7@SqKKNw!y|7xI%{is${T! zD=&Cknx|b56!N%o2uo2ZTIs$fUP-t(Xta=yin~$^_B6{hr?gajaIB4;p{6LR-)y1{ znb4wmBP|ejO-UZ+4DOc;6q^?#Y=Ajo`f9@ONWmcw;kPf`6<-W20ZnX4zC9fk2r_ztXs8Uf{;5B z-n|k<5DXG0_o}lcth7)?-%G+Fmd0WGXBD&qcR6_^7%q}mhJ#}dvg#Iul^Ms??Y z6P(*iqH2$_zD33a=2n4M^n$4gp6`Hd)I!oXxz>!Cp=pRDH~2Ujha)^5$w(;Q&Vq(H z=6g%4`3_nlFeK4F_TtYo%Fub-Fntx2t>zHwLj<0ZZ+}M^TGZ^v*=wFjcqE zLSYQ_xk%#UO1Nh#dC)KLi}s>ipF6m`Evj%~I%Xc_iuPY(C zHl;`?;GOj+>|~O~Dn`0J(wEVh5foX539T{O7IKY3r4b{>XdBZ~I7+E?78KLiW3(OR z=IY0nc~N_HuSJ8Qn3eQUS9iyDtUFN zLoD8O$tJ)7M2nk_WAQrWJ+xvgkHtlU8w1!pqzlNoW;q<+){eiE0@Fu!!qF=W`2geU zY@fGNF?g&W4)eLH$66~Aq=!dcSVeoo2RvLx?&YO|a3XpgMa&O*Y_iq>`Re=l_R=st zyK@2i{gyoL6I=~a2lmHR;Meq)CFNmX3}f`Zv`9%sxg}IUjAPZsOL|~87hkEviIEV5 z_+(yAr<=WM*w)0>PEb7Ig-7Hvh@eE+GmQ|?#vBiyKwNssDoI1wv#?XB$P$LV<{#7p zlMP*dW)`dMOhO26k3BMeMYbx`6G6v z`J*JKz`Bi>o1&;rWBe(MM8aS#xaa@l?yaNZTDrHvMjIzsaM$4O!QCOaTjTET65N6W zcXx*%!CiuTaCZyNaP!K&_h<9X%r}3`oL;rgTBlFfsb^Q6>e|ni$|n1Xj=Zb|QzK@u zbm4{%`M4RypXz+a+%^kW$IFAKRmE1MFBSHjKMtDnOQ> zT&m=<8sb4>h?ALD!}_c8dq(pmB_!C$R#UNGrK)1fN5$ltyBU?LH0OvDJWKn%(-u-4 z0AUc`CX+ERd)}0AKOMDQ-tp;xrTXZa-)-vR{Ii%GpX%AYe!)#)&56b*G;KCIQ^w=w zX{O3y`ZLuJ`;dD&-1Ma#5#pi%Q zl;2nW)j9trQU2DF|9$)k=RZiFKV~9kMtIziTBmU&~WB!Ho zf8)IcE z_xAN)yxrd}{v+e;A0v;2iIx71sA6V%3-M+D!@JPH$-&%Bi|8$opPBQwv)J2R^eoI= zzo&`cDQV5EoInl?Z(?==iGYl3jX?}DARALBGorVoxBp>Bq7!xL7<7(z9Wku0IWg05 zc26$%SY$*)gAk?ncv2BLb{!$m=2g`c^A|aY*QN;(0%H*=s}?K|jOr<7yQ@D_T7Z*;Dac zSk?>4L!P#w2C$klyM7>`mlGl<^-G~kQ~3}l$HiRWwo@=*j-(~IYmq5jM=SNcwdpmgnx1makfT#Y#-D?v;K zW^dMLTRVy{V!o6?N+PYh>kio9;}q!i8i-t}&KWj3J6BUYfdKRli}J;YJ4%<5q**8D z7Qwkbg{dQBi^-$rcf^*q0rTK^+IS7nF82EKKi(Tc5`;W6qn(T>9M6sh`QH1e4*UA3O|n)gc5C_aOoqrDmK(p@fQtpBgOE5 z{3NW}CHZ+QUil7n=1eZ>j)F|=h8h9}eIeH&=-l;JoG}XEXQ1L`LQk`TTY*QK%w$eb3G9Eu}VIf(m|XE)1=i5AgF zuI3V0+ohFi-$&DkBK_Zz{(Mfw^fyF`)wzs7G@IsJKzG0Wc~h;6xZ1GLwU988!f^ zAFvu9UzI+<1ALSv5wjsPZXwhU!TmIyHn4b-hMD~euAM$uS|57Q_Lb4Jsy5jSYreMD zSOywg4;k zND?VNw4e)8Sx&&xd(0*Cw@8ntC~c4;DcPkdDO{=}%d=RIuPp787AhkaP|}Tot)Ma! zh`|A@ow%y~yr5O86P10a{ptO>NiI8|hc_pk^2=3_L#Dzw+OWG2 zmps+$QP8DB=c9F}r-%R0HkS-ELYA(!!JhHO09%@Vz2o@y!DbRL`G~K*jjt_ZdgK0h zcw_PD(dpvK=NAH|_X+~9$9S9zlF$m+JmBBD(BoJQsgKFwyO%^}TbA zmV?1Dsa0%>VH(b(y!=wbUCe8hAg**7*(P$zF<>b;eUsW>CE>I}^_|78r7;?k5xesIxd7(%hedlw zuWej#Fc!{TKA%sb@zPc# z_>T6W`>Vmr91AWc3xVy%8TTD6#;q%soX;kWm%p%sTFG* zfOdSKT3w;5?`)x3L)&lgO0)orwH8g_7C>ejcmXX8b}ZlHkVh!2H4VRwPADt_=y%;H z-z(j)vSsnCv3Q`WAKkVcd-|Hd_2rZW{V1&}%O;vAAMpH&0J;sUBV$}A%ZcHE!~7h* zhosy{FA!|g-8TRAn*Og*F8_mtgN^-nWZj<@jnB*5|j19Ni?x@?dtr*p*e1;%A(f@37?mE5M^x%ZnxHii#D>=Ip&_sqfs*<%KELM6ZQ@p%9tpWM8zaim!83apeYV9WQpaYLT-)sW({0kEyr zUq&ymB=I*l5Pi_S$jmcfPRL8fF!|QWP|Z&vOz`w`gReK$-)n)I>G^}hwl1U?xXE>9;$zj$wU)&RN8>`|7ob-;pRcTX@VxZNN)wV=Ix4uz$HNu) zH8E20oM|2-wHr3LNhB$PccS*dJP0YoK1M4gf(~SIOXxv^h*Z>nr~m$|1=`gQF6GHy zjj&X80bZ=oeaEZc#tz`Gb6ce#<`cSe<@Kka1DzgO|Er*L`v})yr5@Q5o{x=Pea*m+ z-O1k!-QC45l&g zo*}&}Yax&@b|3!9B+E`QIAKBOJMamZ{SsRAy776~Gr6hH0U$Ae@FHukp0&Dw>(wP) z;AnihcHo4F4C?R_N%L;mdb4;~*2?Y5yYJaFa44rYPAr%44bfuSXMaL5wRTP&7niQl z>@QbWbabTT7n{sM=kz!r&7b(30KY?c-W$vfA)I(GRbt7tstQbcGkMsaj{wFI(p&fD zbop|&gQYEuPa!?6Zz!FMOxJh>nJdxSysK$AmiqXGdfZ1!M_g+xU{r7_ADoX zg`6Lp4t$M;+$a>iqv>MK$ww|9DDqyb)IK)b zMK2ASOz>22O`?T`OdtD#ypQUA_3fSYYIETFGP1$X!j0K5!byxL$UXG!buZ(cbrjUb zi%-KjizH=o1+kYcHtWK5qX+$q(d_d2!xCXLfh~0=v7Aik8GPyZDjD5zag%&0rM8#D zNN~ZWh6Xe6)jTtxM6pkwx%*vEqwbv1GX`xJpiOhx0*#bW^2!r(?d84;*K0-fK|n_g zHOM}QdF5}zy5xS$*YAYOU)(oYir&jj4^oM_D(qlQHL|@zvZ(Ro<)9ljj5NJl2x&>Y zF6Q-!>TN|BGBw1JT^vcrhZjbr?1R?bqZgJYuU+9G2u2y=Mr7ScM}AMsc~cuF&tD%h z{No6<%1%Ga()k$*{?**P)0blaskdJJ$)F-4iU{Jts136HOAvMkC+;4J+_L+lX!fK~ z#e9-;b?k9hK*$-hdhF*_NO%vsr>=m0E{W=F$qm@|(kghp<)>`&-o}B;(i!s!r#)<~ z$eZ*eIc-iI+w_Kft_D`}A$FL@lFU){sSlQN;4ZPF7N0|Psk!Z>$rLzj!klF+S5TuI z-!+LObnhlP93_!y8_PtMMn+P!$HnDn#j|AqM?vgUWl4@wcj*aoB0}6nD)f23HrdRC zxX*Fks?ZI5tD+71t%@qagiG$KF11UOrKC32IK;g#ntS>F(8(WFG6Tot1u3#T4%W-C z>Z3*CAMCJbHcH7(G=CXuHU8C8- z!|{A`A#O%<)MDHO6Z~nMghG2H!ztDeRut{S!?_Hz`5dSoBl(Ve3DM~EqZ*b|Od1o; zQ=Akf2mLGi{#R+ZQFUQ08a$sn>ks%ncuU`QGO0GjU%fuZUyTx3)fF6U3Q_EO)k_5n z|AoT&G3Z>28F40z{3?3Lc8DNd7*Y=TgO&fZhU0^%=9S5&jn-8oe89ZAW2z^G8I`5a zjaVt$oDABOKU;#psyfRXDs`4O@mUs19_a6q`6NNpxcOW|<#(mQwp&j}!h;frM4!5a zG{!mitz7Bpl@meNLeb;cY6sNC;)%#%_9E08EV%`F@TaRt;^#ds z)3<~4vxHmo;^*48LNzcUZag+u{l0VVKXc%|edOAq^FjI%b#UmX$V@F4H1vxYJ5fqo zbh^b@*7%ymDnJ6*$H{A41{wF?OUb_eD=6YH1nQhTlA9_t-W<|1;?>=6y~eCs;$HYdv;duMT3 zRDY)G--Sb)=J%=HjIgD0u!^>iUmr2i1;{5Hu%;L|C@H&=%{uO}^{VVdf7-)5zDh4` z2}1f*Fk8jxNg*vL#x?6#ZD7bLTp6P?H)p3r^PZ%KVuw`MBljd=0=Eb!+17K=iwS;9 z>jTY|Q_)hi?M22Y5xH$=dhSTIoRCW+BG3y?IXct80opApI1jj2z<6oi3}dI4`RS$B zAbWxr;MP%(Lc@MqdYk5~vg48oBzVk*vd?kQXb^6%Y@d1C%Z~rbJV3GQWgStEQOSj_ z$0Xh|ZLm@LJK4p{du8?SVy=R02h&zfCV(3`j1rOb9}=VH#kK-bH$E@u+hK)U_=JGtco1GQ!R~h(nTfW5= zFYvBdM4q7wHg5u}i!b+i)QWpr3SYN`#E|b&>}#jiX%r;zmS?8>)jM0((WpCIpq{Ta zbCOabsq`J??6}UDj_RUw9B$%!Ij=eUk{{jeR=%NLIP>T6u-;xU*Bq)ZM$R-}Oq5w+ zU~~#sHc}(JYGO?22h^uGBKso<5=U37?~fZN3HtYMOiPv^ZetK&@g;uY9)SJ^EP^A7 zl*fpkfMF^O2`G48`Z^g84G((iqFFn*|$1uP)h|}L|3S$YMjuCsY5zY z5>s3uwb5z!w+U=XyFWcuE~C5}jsl6W6?H{zn$0i;zlT_b-VZm7ShaG}!as7i(!1qG zbw9r&xOB6~u}3n=2GgCZ4N`GV+=n9)Y?Cav1c3Ipp=XWabjMmQrN+zbTA!-t9UnWeP3AVJ3 zTN^bp_U?wcaYAaMq9W|Q^9;(LNk|Q|a@jB8IyBMZ*$IE$l_KPkRr=@atG2I~eIV66 zO@9Bg;}Zm1&b572UF1C0q+1rxb7|(0Pik)ulrI^vnp4E4b<^ z3bO`Ga@uq)Icb)MM_EKYUBMyql^u*K42wP2{9rXv7(XIp#oYc#pM1ry;oQw(iWVm0 zI$?-!nFdni)TwZof^9}arZ`%NA5Ai09lsKqO$xS4r!JPf|2J&OO$Z2xv7~G5ev&(rdnGoTZd0}21cN_ zUCCU`jX+A`LJUIYPL2v72Vq-lJ6ju&jS~^)+YV~KX<89s<$sd2k~VL&t)1;3v@OwF zhSz_yw#+Pyf8UGhb>Vd#@J>ohQVakF1_sc7`v6{-0m1+nXlNib6bujugoTBHLqJDF zfQLuGMnywL$HyTgz{kPEBO;@xBqE_D#lxfG_(03Z#LCJ_NXhl_&A>>{!pi(dC19|y zun6!7Scr&N%*1%a%>S2<*Y5xn7%&B}QwT5;05}R51Pa(|FMtpL0E2pK?H>*P=K%%| z0SN^Sgn@;Ff4iaK9RM5*0sHEQSsNuyF4&v9NK-DJZEvP_weJb8vET3yX+~iAzXIeNt9YReMY8WMm97 zF*P%{aCCBZadmU|2n-4i3H=-v9-r_fF)2CaYie#@enDYTaY<=yU427iQ*%pecTaC$ z|G?nT@YM9o?A-jq;?lLmCe+^i`|1D(y2KFbeB>(~h*jwj8paA#*zaFS^{oww$mP&_TeMvv^Weu~;n6=B{ zE>A;9<9qC4OAx@6IL81^PHGI!n_<=r8?}k7gWK^dEAH`!P)4LaD>PR3F+KrR7Ofel zS=QFP?~{JP)5i5KS4tUV1Vnm;l2TTogEfdcL~QQrXdhg4nbndnX)@EDf@p^;S`>o<#+jzFu^*wydP(jIJ#4S`V(Zi<*MNZgK0x`4W_Im>ImOKTO0H^ zh8s_cpFAf%*RCJCS-B-Ly18cJD5I7vsU+h)3mO!qeuB-hk;@bki!#}Thj`^sQHu2| zz||uu&1VjBR73d`Yw6n5RhJC-1^1FfQpNul`7M!{$gw|Q`ky??0T)0%15S+vLSn4-&1{FV8e*6mYhZ(t{{-A?q(A5fvqAT-0rB6MovRf5-~ z-Lp;y9C1ao4w?bJa8udf;Z*;je1QEvwC*tp{zFy`aX41Irbq!y6#Z`n9A`J7=iR-_ zgV+47rL<(co3$=0j{u$D>VjkBqsP3gHeZ85F+(Ih8!nAT%9uH#e;k@$@QAEZnDTjBzpj$tvn z%x*niz9MBA!L4X6FZZEpiIK#GKyaksQ7y+aji5xsl({snk%qufpdH3*!_ev(pGtkz z8BAv!5NICU=f25Cyys;#>1cNCFf#wRq}$#Z-?Em*6nY4)D8DzsW-Bsf!|DcAGK1Jx z3Qj5(L_@EhDZzVlU1>P=(P4MD|9!HWw5yrV%G7(I+D&1iPcsxQ&p(q3dFIZ7$!2Wm zPV;BTU74h;jmRQ7W2lX{9tX0z{kWkg`r!MMHh!Nj}8Ek9n~>aljeUp>Kr^Q zX?@*%x00fP$6aYB=5quX$P%9R|K!%OWH|wAp?Z6PZ4!@10=1eDx7==Y7brjD(@mEf z&XuI)8ArXij5QnGRgID`?ig(bA;kcvA-t0-N!^9F3yRXRVS$OT5$F64`Xh>t5`|xwJ87%>5&6%*++>nbw|qjq{|$Z#!NASJMI2{4<`703Glr86ZTjxGus2Mws7JL3x8I_9Y!JwWP3b6IZ?5ddqUbD0~enn1CxSH;a|ApCvuAW^0G$ z6l{6F)ySN20(Z52G#L}wo-8`Y$K)7r%+zP023E9mbpA2F%Dzlum==4^lniw{BB}>J zgqfQ`G5jnTK!>g<0QG-XKF!!dWi;CrO5z9Eiy_nRWxwR#0#chjR3%;kQWq>qT+%f5 z^&Y%I+b?k0zTcw&(w2pgDLQM3&FupZ-F)iLvA!_B4n0$w$XDBFQ8hNBVgydX_%lrJ z!lj$9Lo8XSY}uJ;1is~~NBHfC7i(YdO;yv@FWR(8(~a8a&t-x9MIJKpSYtwyi6xf< z!0^R9&;;<6r_@(Z>%X4tto8`)Xz>Rt;$CYQsk(aeiJ_FZkS*76LVT1$8~BLC1@{w_<*DDnk@@;n=6r=_*MIeuB* zIm*boPKWsv&bKx2n@7U;U%X1lNC(Hlt0MF9uAW8AgoEdNesJy9*7%9#s^|0zTRLS~ zyWU3$?H2?^_5};NU1*w1YdQmXwl*TutfoF<-T4rgf&HG7(2s7eQiEpYQ)_}hPKLrl zH=7IHlRd-`XZm*siZXkC#l8YMqp^LLzLR!%%+V$<)mbWN2=Y~s@f%((8>=4BZxIvn zoddA&05lZ>niv{jR+YGJ*nBMm=wKx2#iZ?Y#s>&I= z;az3UJ!Sdnpfw|7#kx=gECgiZI&9xH?x6tnv%x&;n(>J6*NE>$E8lFP?_^K8?@zi{ zK>txCTknA`%PbqNOM8O+6j7}@S$flLi8+QcDm+n4w7>)<_L;!@zx`zYQT6L9Kp3g! z72wtM3cxL)dvex)n4CKGYxb3E#&Z@8qp*u37<40o~>_0RH;9K96tvfr3Q)?r6KYb^GIEpg(CkJ|BB0Afxw zO`j3C2c9o~KH228HaBuRUnda|%@Q20ElK_$vu;`9-iS3ej(oPvnPL+zh3_`Fd>M14 zYg!vW3B_%%JJ8^xA;Jw91>k(#`}BR68gMY9uSRT6i)?^6SFkCareSK1MWaJz1U7gt zh!4cbLyq!dvoEhqfNlY?9YEeI4&!1S#d8wM%$Wv*LUhCy#K{~mYLj`?+4+6Uz;@zTcN9PLA<2WHE{M?olUQ-imee;vb z&2L|gNETyh@b}fK09gIdp5bF^L>ZlDPgbl~k|Bf3xfR9z!rX|wI(U-MwH4k_a)^0Qy0Bn= zWTAQZ0mLld?1yFwV5ocrO!=|zSK9pSyUm5yYZRvaB+t}j*U3!QVGx7OIj)YUPrxYm zp;4E)Ar{l0u3^qw#*S zev5M4SLJdaU6s#}k;fld=KN4KoaihS15el;D;`;vq2e?-bV|vn`{ZTbi7Spd*^5;7 z7k`Dz1DNuvky>sgXq??z1Tg83nUFsGM(;(@k zxcSjjLahbHhP)27@CHkNe7~F5egM3EL_Ay^6DMd;NqPVYC6opWOThbLVm8Wr-Ely- z9&BLIjQKEW#NKvmO!xBr0eOAWqkI(&zWUqrL`j!?!5^l#eDWy%!kt^tcFrE^Y&Wl< z)sf+`l2*a~$(ES!(arYm9UE}r$tWLT$%5Tu8~$y4R3#i=ZB0r9n)5581J3RQuIF9> zI>ko`zMZAx{0VUU8@g_GuYmHVwzQXT797Y=YpEUF^|d7Y@63NakS4@1AJUzpoiKxZ znQ8JH+8R2Vv?8QGR}$H%N@#Ou<=`m*8Jy1tx-nJj1eRE(Kv4;!D}B?X*pLZ>mCind zcb45HWdnugHTQ7`HMJ8QXJiPv0uq#kF3~9my4gr#mKn3EvkmwCLTzRjLl6X?F{EU$ozRzRNnx>i~hH)*j*wGQ3Prx@DP%Uy|qk%=|Lcf99<#n&-l zI*XjChqtS{n5t7dIPPE)>ebju;#}n4^x>vfF`r)C@?HU8S+9VoAFT}cPZ#1Z5d3ee zlx)NdOF3`VejejQBN|79z7$hpGBwhRej0e)^YOA0i`Jky&EWL+sfqb6u99pu@dADw zQh5IHgb+m0Hx&DwdslsgcL=Y5C!4>u9bjdqsb$Wj(+fhSomY};2JWc#gWd4mgl<`L zPbf)lv^R!tG8O1FYhV&FGU>;7Bsl3^-EYP`LHoXNs8sn3S~;^nidB$LPTPRP-z`Fq z(x0>_a35zQ>~{d~Nbo_nQ{BSvR1r2nH`DgPWe~K9p}3xJ>W6PhRD_p6`26 z%D3qF3J}Eid<8&}zDZXBnr*M==rO|f0~-}EfxPY9p4#Vz=pCntxayJsq%~3CJV_%j z%Ld0}rL~D?%C^}FC|n?CTvt*gDByT3nrVparr;4Y@eJvF_Jkhu!Y2O5qe%bxD8NGV zbfzAPhJ~RDtgS681+PQj@H@wox|>RMHx`xHj|KfjCQjFxhlfzn3t=J&umFVRYGqht z!G!Ay!ba^^z@)V9E1>I5W7<;ouHAbH;QsXjC;ke+$%d_Lqq8l}fTp=Su{pV3STqiC z6E4s1fA%xY*KTn3lFAR{QYDuS5PRxj+wLY`LFfloh0jBqt17p zEAijW0!-c1zN5MMYDDi!FYGoogl#r}?J|Uro&jTX&-wkuyvu55+@>lAo*8|gA?H8d zj$}Q+TK>HIK=@?wm94LLatQ5^`(90{2uESx_aqUZ_4frurKg;y>sx?Gy^E*qana>h zf5^)Hnpn@xRvZ9TZusvqKI1go8V~=awYfeMaT(SP0IV z$T)qAi))PGiNrMZ)M9NwEyGs#k7H~fb5=erqr z?R0q}2aS2ejOOcpK?pn*u~4ms_{+_E`s~_R(Y=x^GcWn8(i$I0A?S^Ils6S>R{KtF zd~;VL>G1Y_@;K_}dq39w&R%atvvFbr|Q+(3ob{3Q|{^#8zBc&$LX>2 zp?&&14G2`eMww-{6rf%|4bO}=+G>_AuS+#6eQP4(^rtK$*_yqOlWFIiA?1tv$n zYz5mW62$6KpxBeu%i47R;Jrr6FKJTqCpSqkG9kOTZrQ0zm{$&IUa`bvNiXO7==wL5 ztWDf}dE~3X{aFUZg4VVOS>^%euK;&GO%g>dcbbfHkH{0!c7XN71|ppds{5~ZFkYQ0 z+&f>5>GSKr9dyDtNnPCWKk#qBPWRSGG-3Mn?jLec;*v2_jjyb~=QWLs+{3Q)&_UD4 zn!v2l(N0X4q^9bYgX(ULm1$Q2`wrLMb)thDV$D$D%=3d+jRL#{ZKVe3q`jG@J+YeU z3eYJ9I2e#K>!U*l%Wy4#rL-)Q+^%osci#e(y#hKyLmtk(5Ap5-_!HG+Q+(a(;|NC( zpN@3H0fX$V?emywKeWU=3R3Y0UZ7X`0m$v52|26Z!*iS#2P3zQ`#$h8+2r%tNuI@M zt`ysxY&iOje$X^&)ltHOlkkiI9u+!_vw`NaS8L+A$(2{+Ck2iL$J_)Sc3g!)%ig@G!?xrIqknud!TSW~hmZ{uSnU`4Qr`Fq+u4<7i zLSigeR2zICo@PSEaTe9Hdh<$>sh2UAIN72>d`*d_vX_$tNNB>f3EkP4k~{1M8p*tb zPb69~Y?XLDiKgDoAe{v$Appy_7#}l;{6M9K=Ct8(CwD&IFK-)XTl$EHx2S9KMbEX4 zmlY4gaL`BKZ0iH^91)yWR@SfjY$pF;K%qf>QN6B+?nT^WXEE#_Sa!yuxdx~gUWo4k z75O@n;_56^)m#kF>smgKU_q3ueBC+alGeseq%9PJ}L>Axm$Eu}SheqPNb>G9%33qN6|C)?g!-*igczQ*1)GrT^J0p1pPS z$t;F76+dvL_d?D(k6COB3fF9qZ+-UR-!qZ9D2Td;S`6kRqNA%1)DQAz%QCFODO;@V z74!Hs7s?fe;h*P3mW8=~oXd4vgoq0hj`*{MotBVRyIh-$+Oc4qP+)3&%VL&cKlq3y zHfgMt@I9rPry3+#ucI*5?eUg%#sx`t9#@fbx~j}7KlO55v2`W90*IPBuer=1$|`C4 zbm`iDv+YSig$&X;_*w+OHm}>L~f30k2un9JU3Cz`}m~ zrgGQZDM0hMl^owtS=$!WqLdi8vU+y+G_FX=$tyT^T@QFnPqhh}R*Lg4AdIjIpkd5@ z>;8^+VqFeKZ9n6IGd9bMVqLbTD{b#e6mr~g7Y86>1;>N9Gc8~U;>AP`);(0DYpc_S z5}MTf3{V+oW|rj5bi9KDjK%0(IH4W!TZalW9w=agE)l+^r$iKEuR8#^%Hr;J=Pt)r zj}udO3L7LzQZXa8zXqJiez(z;gV_q7&FUH9ny+){dDJCF^U6A`AsCHzzbQ}ig zkuA1#(3J&ik{~=DAsEcHdz1hs8A59<=qmsXw3{NZNjVUXOFI{SrPq8v!fk;O9bn2m1gAIE#_mpncLS(Q_;HX6AVXAokY0G3ATo87~Wi zMe&%NL)fGZu8Cg@&8iOy4{GCwKF&1pjOt^oy%GLSV*mq9x6Ku@skKD2AeUVTON8iO z$V868F}N}C=|+W)TFAvKhp9y0&aal*rU(;G!VmL+2w2D|j9pkCVJdBoHWC}=Qj;cp z2qc0CK1ti)gGK517!R(%IQEOd;LS^Kj6oA3?N1(@*D?x?kH*2w)S*hkaU*%Z6#8*_ z@?#yjJkV#A9kD;yHMW0~K%q@ia|Zgj^{ej)0FZ9li`+8twbU8{dTkm~m&|qY#Ux4N zIYg+2zhjWv5Ax2SxryoBiC>Sg&ntVn*FXB(V@$;3(sI}-ryK3*O_Yuxn5Zy zySgYD@T3I5>WYcc0{E$L0T7uylh722TlnIi=0OcOp&{{{m6T$2SLthzQ7NV-9vhC= zY(Db??>9dfw?l>KYdO~iNE$aYzzw_fgIOVDu7HhMnYTjXI0wyjC2q${=3li{W4T9< z#q_xF!|mGoU@hya3&ZP?j)8sdonD4T+YUD5Nw6Ci+AHq5$wr#$epptj4ZoZcq-!f{ z!Nr;DEW>PS ze9*~GwJL>H|3NB~WN24f%AGKc5!*qYx~JiZ>vlo{6UYBxHHJ{GUHx6QWpMdn5^A?$ zwt~;iHvUFj-9~|wFs~TvNqKgJX1@yK3+Vu>DQXW<5Am-Xf*?CfG?5FIBMx1?2T03Z zsZ50ylN2k%7Mdpfy7_jq!yl69!itT0*AXgo{;vQ!(!)WYytq>+fW^9pqGAuVJe(}9 zjU+mAmV%h5r?h8R z3=e}Z2ruxu%v;n@$G11_)1$+MkxQ3Ns9FAgtv52<&vUdR0bC~~W2N8!BEM~E+C>oq zOV0A}2R-FWrK3HwhEdxu29{-&s*fCcX!W1@Lq=qqTlm$S1RtQYk@A&hm{*qtdEd#} zqdScE8Hn2<1R=!cwG8koBF?st$W+VYRlwgn1nEn$gDu%lu19~|2e7zIv|2xKCQh&Dp^bnuA*lR&x*mKV3XgsZlca9%Nk&^k%)e=gg~!0vuYV`S)VN_<1HS^0-Z(E-ond z++Wyc6$S7rohI(LHs!~!o-7(J7xDQXkCV7pnjDrSZLu?HLi;x+Z3nT5-ES+$6Ttld z4m6Q9(POmhT1SWm^y^oobha4XUWG#TDd$*DY>R$CDR6%QyvBdmXg2;vee-%r-mm#a zIV&pwY5reox!Efq>~ElUzwY2$%xG$?c9~ilo|j|-BN1Ay0i9$U@;iUX@V4MD#N(Sq zwbtnskft}g*l~H!6!S~S=EcfVvljLd^K(#Cui6ios{?9d|GN_YUt<7`S=O1E6ID{0 z?u)?$Q4%AnLkA>e;JzjOFd{YlNV}Mh6nsl}e=?fX51;)UD+0bVT3=$VCZdM??-Z8` zerb)TTZNw9mgDqJkN2$R))n=SjZt()G7~1bn~1gjA{O5b4g3aj9<#T1{kX^AdX6uO zYvx{N^=l=%*(4S~DK)qQyzeWX-t-h+23vcK(<;^orVw`{w}MPCglHist855=|3Lpt zkDH1px${MJS!()&nntpLpRwn8S0sMacg9(F;uSz+gou~J8i;G~hSI{XX0)s$mNMHt zI3;{Vcv-!>6@QNVKkUegV+gJ&yh_Dxt5V!?JrFZE@!^2}sX|Yl&?y`By56*ke529o zYwR1)I^p+U6>(E_H$h3-`h{y0Xvx+#dYo(wI!(Ju{^p zM(X2r8_r9BFL2)!H9%yPGv<;>?zup_kvV*Sk~R@e0guY5e@UIyhD?MOsm9L`ak}iC z@rA@PrNEE2vd3z8`f~~@I@QM)o$sde;ehBPnR!*|hy~&{chgk;eH$d+_^^7Y6~H#r z_pWhw>~e46N1+k%Bt(UurbBJ-6~*mH;aM_)cFU;l@R&^)T^Ts)}uErE<2x4nrA)^Jd;XE*+ z8<0BpehxYMO=0SHev4;@?i)%d-tzO?#>;f@6r4)>hno8@$^Q4}oNr&2mt+~SnezBP z+ObG}qw%N1E^jWF-3}vzH-?}xxZ?Ni&ibbIauV}={R-I7cvR-WVQq*qFPFT%r>)A9 zSk)$x3i{$ggx_|}`@&X@s7z5<>0cO}8&2Jet|$ulSHaM{o#Gi$4G`tgid9}O!3zP_ z0Anr2(7|HaxSY;OX8mC}wfgi{J0BMwLyrb>PSiFs=Qcl{%cFRL08i&2uNLQ&o;fNLMUe_yo&+uMYn9r!Dr@DAq1G<;y*i;W?|sbqbIB6Da_eo?e7 zh^_9{LHTKH8J{WcOb4SqqaoL-F@OsF6@Vat?vwZt;NXMzgDng8&SzRK-0emsnBRRj zKE5tfJ(LU5I2|IIXKt*q#gun*$?!H=JRg&$Chd7`?2Rp>s6T{HlVBibTh z4LoNB`-l41jJACLgirDccvJyDBmx)wNl-j5&eagptDZBK7avJUPB zs5IPXLyU|@3XpPgj>98l%Jbb6{5gXDHIn|jGsdS+uYg#UpU?Jhl+kQ!S;;G4kpAqY zx$}~Z6L(1&M7Uz4C&;O+3{_=y|Wo!$6Kf1$=!u`zXef3I@-A3qHcP2WrT$^** z5?$XiYz2eBmG$t(FB{r?`z#-t&(lzenFV+cz5)Fi%mGj%wfJowA1E^u=iPiZEh9$m zDVIBc8SP-1+G!I|4r)I#BQDyD#wk z$A}$_&}-6A#TVjYy`KQH5r7+bPA2^DbakS+2yD)V$_=Li4=E|i5Sk&g-I2$ICHjJ7 z6zjw<*Xs%y&RTZXv}EISSxI7q->Wf^OmxVX(RB*L=F_70-jZDxDdGiHs{~H#sai)Y zkB*URLD|<`zRJ)W3gE1)3W{z4d2T#@G#;+jTop(lPW1b35R2T&MtD2g1n~?Z^Q}d9 zit}C0lOE*D+X@N!!n4=4RcIf_3dgJ?La`&VmNrc%l?!DS29an8H{xUf}Gy}{m9bRtfzoC%i>YQo1Q>Xp@L`#3YBW1ds1Y?dcX;L zqP27cYP<2*(DhzgP-Rh$6`ftNL_c!%IRYQaqh;2pDQ7AM?$nH+YYNHR^w&hNh=5rZ z$&Z$AYs##JPVV~>uJ#}E*q6r+OClbQhl-!c=2L}`pf<;LuFsl{4s=W+19%>H2;yD= zq>8TqYjf{2!>0qMZ;$2;S~UncvvVKI+c|-3jc^P{unVaTczH%nN>gx}52RnHa_g$- zcjLE?*~xu=L`_Nc(12$KMIU=2TV-DtH90C_uGRm0~{hRc5fh z8>MtNUELW#pd)2pF%1S5ithx0A#}2^<$ZPv z6{F|4sfp;h7bU19RsCyVMMwNntYnvIAl812w;pJCW@d6}W9mcTeiU|n^>9pxq?Ygu z%C9}!bx2XyYy>VUEV}Fv7oO7W68$N8NLgOj`{JE>T8jG6Q_i`O1auJ-Zf_MVr77uY zh*GLt3l%xi;U)!ie?im$R~#*0=MP&EO`x7Ah%?XZK*V)fKPHLrL&Vre-z)lZ)_TA8 zh)oU@d;qbfUrK6sI9P!3;xJ$bA&|HgU|0>IgRL z`|U&ruXaw~7hKg<^`|Z!3fkwn^F9J(^Pg?fCgp$#>0Cth}qvri8vNO zy&_mDb13k0pwxG4ntvbj58&a+2^a(KS4a-cQb=hd?(WKLYN=vauYIZMPW|4E8+T3# zW>D7-q{fLif&cMz?15_@vIZEa>6w}Orgr+ABLSxmo^~eC-fzLG$cV4w49@N|->QiTAs6X>iN?tmAV1-PuW1es`hoxjh-cq!fa+HM@)Vcnt(DJ@rP@gGGjwW?O=Ff%tm?A^7jJ{`J70h zm$ddN0b4GU686vrvX)r0DxL$!AiM}z!r+tw(Kv|5tX4=DE3%}_g%13#Lb{3yoZ?JO zy)cIjX%{gjvHmnMy>MGGdyBs3u)doC%vb@i-{Hbmy0*$7$*6150K!|wfK)(FRR8M3 zcvzz)Wr9&d@Gc`|++@PuR*RNjuRnkyJ$$h-$%CiXd^P@!eO-z+ut#JSH?LW2$fnun zs&&3`fn_YL&iv=j3ZJ|p`Ry%$`}>}?0O1~M++JH#_4T{b+GOJFkP}XR;YJ}$cnzP% z?K)UD5N@ihZt##gTx6LL8eO4-s2z_LoqaJqg7XK)crtE9?=&*HO<^>D0N2TFK>Wb; zokrW{GpG#doxF+?tgQVyvxY=yCd|c#L#vZ??VzRkPF;{nEnE*CZDi85aAXHhi?z1T z#w^Unwln!XH&^i>l<#%>>*K z+OwqwKdpA+%ix`QwwI{?0N`+xqYiv9j$8f!Ec>3a=LmLnDjDkrQsKNDsb>W6M02(` zB(ODs}A`S^C_wJp*Z6@TGc?b+u>fTYAJZHWRX--A6DK zq7-$I+sA-kB5*G#w#-zn_wuzOG-92w6c;pwm%#KhB=4ka53I#D)bSL zZcKwlBU@&!1b{NEz>;F0>4lx2KrIy0qc7J6eeY{RL`AzQo3m;pE&4J~+}B6@$RqpM z_I;-Np3wzyPvnx-lgGq!!xr>?=0o8vPBZ^612ggGgn=Ay6@$=6slZc~l>*7!sU7-v zKqpXP1~nj~mX7rGSt?5t?&>-lvE-e=3l}Ayty+S?bAWriD!n(@bHHra7S?I|Zji~c zGeq4$V9f;raDj>SSOwH)1!k1{OiuxWkauukNCFg4Se!CO)VikicywG`fxOoU;7^FS z_Iaw$i?Th(^+28BZGXmZJ!@(deZYG|0=W?z{^wM{!`1~iQAq^n<&NeYL2Bbcw|xqU zE#44h#bKx5bJlLyghziPSAYeV(Ou6^Wb#?*(vl#<5nIGd4-ZwjYv7(F7Dm$1G+RYu zas$h_noITvAffPp%l-~`myMKdI&l=79ejrtuj7HFPC(Tajr0<_RIZIMv2a-8JUs$8 zLStqahZBcPv}!9pOyiEdnhh_9aXNRbgEId>t*m4RPCC?V1W5{ztES)&G#S`Yzdy0E z$-AK|dMw_MnNM;d7q`an9W^ASGOf|l+pF?UeVp8qugRReBum_M9k(Ccz!L94n-JVK zx}!DhTw;~^E>{<0)KuGIM2RJ<kg6b-O^?5NjnNH_=%sPf-mcX_abQaXXw({`YE>#bE};_GggS2hwvQMPOw?H zm^OorV?LMMXxFZWMknnBhAhT9uKnUvTIU@*Y!qgV+k0B2Y-nRu0Dv`ZO-ntHm~f!x z3z+R{!)+lfPqGq~SOw3oZdEOu}U*bRh zYWWA?Hw08vOhd8-Zvz+uUnC5;Gc8jyiN z8tQ{Iivxxn5OGoHz8pw7Z!A?pBDie*+xcc5GaNqs{(dQd{Zl64VnU&&W)pJ?nONBQ z>6VGWY0WUlk$w7Iw2NK15_+(d@eC-%V0$*j#8z4?FW*-9g*=hyso7}KfCaKD=S@`b`a;7N03PR799;o+-}1^N`imH^)>Ix#gy$3*r3qIgdLFkJ6Z}i&Cl%9S z5Y4}|xxbYnP?UC~I8))9s{n2TgCOT$O&MC#k@;iZuhIjFMQcPH`?9 z!!$zgr8tD}0DBpg_Jszw3&*rF&8D__6;Y2c2gDhRP3g3G0HpYNxf`LwgtN(!774*W zz6i*F9RTc76I&{@zn5qZIFAs-Q3fOAiv9ZDVyq04(SMhIu^$df?IOBRMRo(HF5$T( zA8!&qSgI@!vDR({U+%C(rrF4)(zMzz^$NZU6q?!rm%O9bzdktu>=m@ILJ1xn{MOh- z5Z+!n=NTa_isW8%hPEi_OlCD5iX|S)qOpPqjK0Jr8`d6)Tnw_HaVOdaA&2#&6Acyj z@KqPTss~P5F=bWK{GJldDaVErN#RU?tb@)&Cn!O6Y2;qOzauY zj&MN?(u@}(vC+OtMxBJ>6;1O^gwFbUIl4_87)91~O#soQ8-IlT*FS)tXEUp=-c~vo zv;`Tmj|b0L%h$A6V-O)(70KGpUm+3>zY4$dUyyxxYS{22RV`fuET5p>8+GL>BtA-t{s5*Pnm#^tZ_1PD+G!tM@7Q880@}S3C|28n zD~Y$>XOasr`#C=c#4=vjKK}sdpJ)C)tLksFwi;YDKRtl3cslT5_HNy+iM{V-Lz!n1 zMSgNf&)}$}XA#yxO8Am`mUB$uA@OUhm7j&M49-4DTcybvVICXmuVJ2DMD^y(h-{m? zyyOmnosT(;_bu_C-*@w~R{$(C6DHSbxQuc)3BHIG4IUA1D&Sa6J+a&8E$_RlybtuF zVEUSaW@JC{meC6|HF=?9IhV&y`c>k^qq`w(ZCoOXavP$8*!Rv-bFc}IAB?!ftkII- zm&?8Ep;_153y?I=>-&P3qQ2>Y<-TXPMghwx*>kH5{0&h=3)91qOO>H)9N^BcvuA?M zl>GPs%y^zEN-JDU5!U&Bl*FX_BVvgk3!Xv)gCQxUYj`MOm;&~M5>h6jX6w2X)T^yb z$iqG_fs#s3>Jo`EG3V6O5L1c7%e@iYAYl<@=^NktBVI2tw7LwFp#vE7Jm}+rUrI<- zIGSg-b6xchV7+Fl9$jmxU%Ha*eIx-ThC9Lc7b?`l)@&lEI*Nla7j$fa_=aG2+w@pi zPi5%M^9}l*h*nk!c}@IxGf`VUMIeH&Z;ENuA7T-b;yX>eR#qe29~r~oQF>7Gi@Bo3 zrKLGS;Q$VRJlOHy1xx=xaKEud3BD-K2*A|4BaKGnO?&^Smj|`dy^I=-Gr%wIO5h3w z*d%7H>yAdz@;Co&c;|!dNzr&S6;}ShEA*0G-PrIY%@qTQ1j^)XC=iqH*OGp=tFFj( zLv+JT{jrtdAXc>T*2f`F)?g!LHhc!hi~C{~4CeZcEN>s7?qN_v84!#7KvJvgJi*O7 zk0X#yAN08@k9x+loCdh7;+0NS>ALRJTQRF^vu)C{(j|Yykkbu{>hAKuQ&tYP@M?

E8nniQHAa#ntM0{7Z90;t&u@Z=@E;NWe_90*{Wdm{8m0>&bzKL z9HpCiV`H3Qz;9|_QZ1y!$q2Dm>2T+?TW7e81K)z&uA8r_kj9;LB0Qh)&2EKW^hs`XtQ(Ha+#vC`R#I3ML!xLeD4}OBwxq9h1%;_MP}UW{IQc^kec1^^`RfMW>fZvM z#R?=2#DEOm+~*5wA`n@;z<3LI`4JD8qT+u!%z7Hm8;SaKEBd(ob}tXfm$LKhc!L!y z*6J$dMlJvdMv)uM^L0C$e_b3vl?TO7nB4pW(EDiACv0Xq`XD*abYA}hn3JOq|8T4H z*E@s(mqr&VGUo*uLQBe?vcivm*PP`flxcz<2O|x*N_?WA;Jr%)bQnJB)`~pR)1R;T zxEvT-^VXu`XA320>_lh9PlNMl z#%%$w(_qJyOjo<2k=8nM--E9DF@kMpPHL_qklyUmiK7OaKct4R4@>M9#eRg20TLqGS@Rm;us!IrEqKUWjkQb{95y5{pg=jJun(LdHrPtui< z@ZM3I7pv|=>OUkOFHa?;-2*Rk_>+5ij2LhMkkGJs&9Bpt1btoTo?^mLoy{)*| zvMJD!n?z&y8lsou9&xHRR>U2_B$p~mEu`Oni#|Xt0?{n3aqn*pwF_xtovlH;CtrrA zEbkHoeKme)CBH_xdr@aMwKcT`OIfivh`RIq#Pp5_VMR?rHStByX>AFe-6%|{4qFP3 zI|f|J6*#;eMbu{y)+4uVZM`tb;1v{NrHit&^E-aw9CWx)sTY;89-Y#Pb<8jgF=-P2 z16b%U=XP)6ApHc$Lv--1DzPLzSvDTpqKc)zC`5)lTzY-_*P8>n|AXWGSLbZ)J<jr@B1&U$(_C1(c1d*?(k+_=nDZn2vgU9PmvC#&-Mdg zScM?+QOExQc;FwU|KwC=)fT#Z668@K{t%c_83T#8{&Fe%@0JR*Tb&S!VRs{vKkfQ`nHA^MXSO{5xMwZ{4Q&& z6{^%k;tiH>!Pffz7i3y6xFE#mx(OW}Z`d1iPL!{RieZkfnZhFfhNM45 zwK;T6-T;J}N=~^df?_O|xDpOJ3R)jx-9V8Ro6ovJq@1j8pB==T=V_NJ^Bj98N4(xw z7~4KU5dba?Q)ij1z})b6!57_A1-L>EDRIF>7e0U1G4F&!Ma$HqFj9u0;#02fN$k14 zm^3NYM~@Ls{m%>QV;{r@vpuROXK%blpDvqR^0VIr7aI~u6epno)~VptcDn$)imczX zS(jRtQLVc`WKH_Qa4hbjobsO6VW5^~s>p(Ccv9uA-yTPbm9NBTTGHIO6${uh@d4Jj1{64q!ik?dYMYt*#^jJ3~JRyUxt=AF|wC)Y2TDwQ_@d_~SfM;UcM6NMnAayF#*#Hs@0 zS?YQV&1GWoP!$2U!*hj)@!;>m^-&WK5%nl_19Eo$Ycj$m{_DA32Uq5v#8;Uy(Ip{s zvXop-6|zX^KLFpr%3fb4SwDPlZLuE;%Wy-V^W~W*f}1 z5xIw2Sz=wCsXvIpwZ(+vb=3#MeAoEiUGY-b;k~G-cM40aASMp|tY7B#Bb>AevtAyO z4}hkHMtfr)WSvk^%l-yT<7?AkQ}pBI=_0O**y29`^}@+DYXgFZiOC%S{0$K?8x~cz z8#%ZT;smg~Dp5ry;Hs4WPoMlh#-PZl0Du9IMgPWtK#K|h@eBRCKOFYI7V9mmb?K?k zEi4d1tE2~Jd8sLXkt^h{n#=de2!RI?<;&6?yNN=KbN-y=Q4Owfp8=oPKo2bN&>^bF zs-M>NnyyO{b@Ri^n<8rv3PYO*awI2OQD_VVwl$w?bx-R}j8i<@I|!n8~Ntr=yV&j+7T&Yp0h0UV>aTeD@jY>P9m%8hI4I`5cP0_9G0s;g5;iH zn$mCC*o{#!gus@0Cz!csS*YRP)|}Rs%ViknjgOynk!Jc4q^f0il>?^&MUle%n|JHHd|Pig6ZWCjOOz< zgMF5R^-;aimbYOw07iCV@RqpZCD`Fq#ob`bO2_|Fm!tniEQI!*z2N0m^a;bEIcRc{ z{~?Jft2OLHPG9Ar!(yoKRb;TFSeCeP5@=2{)Av8L4$khP1A z5cc>7P?Z9;3snH1i^jgd`$0oL$aWZ)UdIyq7uP|f{cU!oUEu=@oPtlqriG}1l7f1e!k_ujC zvDC%=bs1pwf^M*mx^%~i>Se0<(~@DulJSTfDG{_Y%)tMsQ-I2vrfz*-5{vY37D9|) zna>o}AMVX+FnY?p#!;C=F_!Qh{sDhz-LWJ}ax@m}eq=v$k(sx>qEplHZFFOW*I~m4 zc}gDIDGGMQ62nd>Eo_bYcy0_sg*iF@Tl%@-OcKv_B=-;JO@vu1tMi<2xz7-{#~qSU z^@A*P#aqUM5O^P;F}Z%>r;UUfouN4t0v5NnT#nN4yNDd?IQmQqMGCRtLcU(!LpF>h z@ze*sZd)7HZN(mXu?MrMV^+*6U-m5Pdu!EY{lpo}&K0m-*dIWl+uP7q_S1<5TjR`1 zceGHOp@{> zc^*|rYwK{X7rXp?4X#LEfJApDm7DXiod8;cmG#>|>SUISZY zgp|m@cg`3&Q@oA%VOjj|fRq1qd|vn>!GFo9LJ(p0 z&OKjAI(;-lzrR&t7UvaeLh)e%lAQm_WX1W&IpAA(nLnMcp`(9CnF2GeNQn{B zX~=@EV3x5$W&c|?6RXl@!mRjeLgeYvSfuX(q5k}6$FaNg|k7!it~H5POxx01$sXcY^#oxc~U;%PWxeE ztc`hpa{%`8Qf?o*+}jwq&ZB?OVP_&im5G)U(Zchl*c$vPmvU zuG)5fSt&`SB|SZ_rdVazq6uu7Hu)`WnkiLuJWs}9W6CdR&VF%&7%f*nF#5j2vCbhD z?n#I^s*yxl#v2oo@VO~812ca3xJUsUkBVoVOVZd|O?5wRc?mG)kBxPNmceORcRiER zff84$xt}*-Xd`4;RwIUi8_k|AgPSghjFT3|*B%|`E=gQbDO^H&qur>ew<}OsJn#E) zThmHV{$I3cwro5rqU(m@x!go~H@xmb0YGm1SC;4-vzAu}uyRm839e^OUAU?BEaGJ{ z=Y;qs`7FwzrOP~#IwAN-x-SD5a=KnR0|yibYlzP_qkA01V;q$XX!q&#r55xr{c23( zASULRk?n=BD2RfI)*-StNDRnru6{^@F=brSY$_z63#ra(50C0lGyX1vCnTI_us@v& zWxy^0%oV&EZ5k}~fb`mH{8o;qHQ&b~b$ik@bUAMzL8RY^PYjyt5~`V_vK(F>bXIXu zCyyox!}cVaQ#3(pf;b&>7Z=x~X4{*h0YKB5Upqc+-neBEgSZrvW+d(fr?>w`$@g67 zm8BJJZ6!KM^09mY2l5OodH_4?4}Fm%t}h}!tq*i*qmcpZI%%qJ*m80k!c~#IQpG?o zrAWWoPwQQY_u;jr6}q_asQCEuaFwg}vp?Pl+Sa65@yp7pO8feZ@xPwBx9~hx36hYY z#g!C2I^d}w`}%rS0QV_%0%xEN%st>FMgaR>ks1;Z5G^W*cVhORiX0G}%gnAo&#@c1 zU4;5i@_DQJ3A$Y@@;WZB=g#n=l!gG&)0AN&&OQR2g!>IUKK^H`yyw&Yms8pXj-@X; zgI!E-44-6=7puNJW7~4UtXU|oXFpmOS*gQTNah;pQ(xfT`j5E~6YlX`>3iuBP6?3S zO)FQ=s_U(-Vyre<>F5N#YxWXP=8CUEALSa)zV7!F48S_Gt6~}g<%I&v@5jIzP$O?9 zHBiha(c>8t6@!|eFSaf3rw55SHs0ZShAoIIBu-Q}S)xkAEFc#Dn%e&V@xFTRPE&EI zC?r}AJD(AY?{t@Uk8j1>(!RQ=AxOsHv-gsbtgy_=zhY+8Ke8({f!{A1kwCnot#-b? zVWEK@`J}bIj?{&JmCCrL&A@g9OLwDCZk+^k+hMpOf~ogy;4w*~|MjuV;L3?d#dbyJ zprCb#NU+5&1T$gX#mFHXL{;xvx?5va`#DUpW43}+f~YpZ5Q|b!;1&XY`wIs}I{e(x zwNrOXn-#V0yknW>3btmN89JNd#ZxNNsI+lwy33(2GaZj$@$n{8U1J-@Yqb?7OG%+% z3$_9sd>ZrZ5$35E6>udss6SjN4G@?|K2kfihH_NcC>iz_f|FW}bd$zirOwXrP#fo4 zBrYXt?nZ9OVSC!z)f0NX)y+4$zs`Py@`B1ZsH)>j*z8Mq=0bv%TVj{K?)w4x&W4>4 z4P7L)MAC#{ayhRq`uhsWq5=&ZJi5h&NDayawbyieAD)HLe|o_F0q#;&e5|UijM$&5 z5$<4=#dRxO%0lg_l%?JT?k6VJNPJOTypeOw2@*8RBXhWDE_tT})94-8HFR=Tz9Q4j zXe0dGeWm&GAJ=&X1+<6rqVdi8fJ)n zg8rp;CpyHM3>L>3XKFx3J4@9gm-+nZ6FGfD?H z>q7^n!qN&{pleHi!8CD_{sGi;DXP1sNwo(}wBMj6Szr;zT_KA141q-p9HrZ(0ur~B zh2u50AR60vLHJ2KkB6$}itj6^2CWV!awD}B54p>dQ>k5L zj|uI9OwKR44XZEa@8;Ns{OF6Up zX_GDS;u}O z2vJKUk5!AX-bg$0{1;JCM9k0zOV6MAQnaGd5*gL&oV}CW4l5sG-g#?E#J=C83dQK^ zY)VparNB{yN*U{aQ%UdveUR^Gh*v!dQ?&hdr>_Z}Nsfn75o{EKsDY7ckklQ@QS#*= zBM+?eM`!9us)LteHFNopdd?GEx7CR6PdKm6KHc|8Bt>(!CSs( zx*OV@sX1?g2dxsHI6~ape#fhr?F;hDqZ7ovE%Jta!u8_DrUZjix!%XV7>G}emN4}H zX6V`*jX8{p4#lZu#c?%ZG_dU-0hQ*2drT7aEn&|Iu?9s6wh|TB5U7PW0-0^&q67=U zM_s^>uUm72X{u?8pfzH+g|`Pq8$54R4G%};Jz3-ff5RQVa={x-lpsgxe>T+#{K28H zR?N}!P&pe4IJn<}TVK}ISodm?cD_YPJdHZYMO_uLHc+h@1QrabSU+CMy}Xs-me&-& z3ax+n?U4ro*UFp@`U7N`Cw%b&=x!R>0e!p`rWfBrJ9lF|A~4fiIh$Pf=35|7+X*>m zrH0{K!%<%jc~5Rn7nd%ga5$=&WZ<0Qr3M;k|BV1R0un2wtA_wxtWq|e&Z8%s{x+zC_F%Q+Jarw>ZO~*j&09qY1h;jrN z0PnkJ|8JgsM_i|I-D}@G4LAu_P-3=C;Rtvg&52tpi0d^qFn>O+Ye-v4(2u1M7IU6v z3Tm?Q6N+TxaNj^S&+>5QxDH#!sRQ|!R%sO3#MO(9GC|1-8RfjGh7nMW0d?7!$m?nv2HuGh3yWf10Ty6xXqI6%^)ol9Oq_+=Bk<)8)* zvh9ROj z6gzxE8yq9Pv4olHg*=f=k&d$MnVC#(^%Vfj{vA>OKjwG;&$*!rMYw@mJ3*Nk3Uiw# zhq5w_9DYF6Y~yh@BEn_iTsiig$ZcijH#Fm>y19tX>+RB5M2Xb{IXnQXtkf2o;Nvm& zt&$78eKsh$)o3xBc(zzQimg2mgEO3)xeTrjg31y3N2izq$R5)E$CQ8_lH26>se@f6p-${-%?E@IJyC^q&9pdEIEb$3bMZRpw zKAy3ZSn|wNGb3};Ehz^dL8IzjoXXA3Tw2jy5i)4?#tAQvat!Yk(4bGR2~_u>44}YM z5q1*<0vtMV+q&XZJDb{4cee>?4-=@ra4$ow4i{)*Zlgn0S{CIG(Eiif^sglEfA`+! z&&q#W-)_&3zF;HF(GEEROx1K3A1u)UnZNDBqP?M*M zfWYli!p4yfyP=!#Gr+%E<_f9p&nY%x-NKC5q7>!PC z$`#(Mn0Rrgkej+(E2E8*&%K`yRcdTN#rZ%k{rPxZ;O^b_99dfM zWSW>PaBo@rZFS$N#EdfK#UTIg|(O6xE%Mn^Y~HrB`PI6tn-hW5+no5-aJpCv?F+&^L_ z0sk5XLsTe&oHp)B9zex%lLIQF1>;kl?mIy{h0c)DwA+{W+@&L<=G_<|1+oI;?M#9V zVFWWUhF70jEzB}{a*L7yR|Mtt)#g$aDUKueaM^$lr>7wVl{{DWTWlir|| zr>#?S0S~~3-~R`}@eJxgI}XlMIff{&F-;~4UR|BP7gbkc_UkUK<4jF0Ew@D|LVo^@ z8-1xpiwA1QOjECx6J!}O^U?+A%biQ3RO!q?rqth5!tiemfs*we|8D$kV z$%?@fS#JTmZsAw3c1{e{Nr?@qbowcVTOvPfmD%pi?9YA27ZAF>xEpF$63sc(H#%T3 zlqIC>70Ku9ly1EBYR=!9rVPlXsZ&s#0uC$A>PpSPmSCW%Sy2gvCzydxJ1tVFB+8s2 zu?$m|dsBTZUw;|WO&ibIPnk3X)GRx;wm_!@-puR0iyMewGGj0*N%~mh+Sz_$XTYhpUMMMH@`Yrbi=n_8z4n5^u+M3^=Sz~!2jj*N8ID|un${2Qj|_&94Q za)3|_Dh2<0fC8n+-RN=E0;*T$mA?%%Uca;`bX1+~R~~l!T|spc(rWiqqm2?Tq`ct8 zbHM|b>&U7H)FrUPtKD2zSgj60W=hUUmO09aVgZrektW&zu_bishju44p56_){vSc$ zi&FFDgYlbG)~XJ!74H!;6}uw%hl9&BjoqM+M-y|Jv-mW&q^WKwugSpLE*Z@CL8?6(&eLQ3#VOT+B6Ysu@; zU|U~BFVg1oTi3FQR7Z#*Tb-U~)Qlnj>R z!SJNFRD? z;X3(7(qjazP(3Co?Tx!g7z5-6`$N(udcCK@4TbqRkJ`4j?r>?bxiIx)ayobXH#CRg zOs-?`C(YEEQ_0$4NtB;H{ut8Z={MiJoWgPjW) zWIp+1)0z(SCqo`9VN&(i-hQzZgV0G);kGo><4xF!7`6stENH0H!`m1y$NQx6!kW>j z$^PgJ$R7TX9T2_f=Ns4*jN%P|MOw0*P+2%2y(lc5pT9d)RKvcVPa0h=ls}xx%ZGp) z!w7c4b!_)Qg~~w2hlucLfV-v-WHuW=!pT}m!%Wn{mDZgoYq7_yvnYFCe@9=rN!^o) zn~PFFIZ_L;EFwuyWfzh_wHNy>YrKP!DFAE@v2LWhgk*y)M=vj}1GVvaH(`gIh?pox zMn0*Y%&FYT-;7x!y**UCFO)HUtk>;Jb9mA4Qe`11SQR*ZQ^4Ow{5+W)b~On*;WB_> zJY3=q_B_f1Dn*$)E{P$fvu<#StX?RRj0t#VnVywA1z(<(Ju=#!6}_B4p4}8-p{i5P zdnC|6&a|AiX{BYAs^bdo+l+Pq0m#mX^Z}R^IZy)bi{NpceYu)vONXmhPbHM$ z>A`RFL6ZmGV8ZlOBeW1RcAWWWl1efcm?$ox_hlMt63LUbi+Kc<%oUYf|52V3W6QSp?tUlv}nFFQ1hsvP*Uci?7_RTPmwO zFFWqNAXZPh+qs+~Xz_C4Qph(L(5v=*A>y91piynho*mlBWNS2b*ZE%6QgsGHluP4u zCMI)q_Pfx6PCgA2zkF`1ogjT4#Odqev?v+sdSHAMsa!aklvzLq z7O$6^ccl-9Zp8eCQ?umXizeHgA7aZ{&RKhKXJDfrU^lr4a|yr5-orEGKE{nPQl1=7 z3(ChjcXY6o+`Rl#%w-Jap0@gEP`~)>IMwQ%tcFVhY6WIM(%fma9tLUp2(dsawrQ|q z65D{gG6kS*r|g}Nw{Ft>RgW%eKY|<)9q-*uy>Wspd<1`MfY|AE_`vxC?K#)5K@Q)N z-Hpy5EJG&G~?#Xt)P5xH5Ow z@{oNjq_BO6^(5dg<;l2+x!3C=t}CVI@gxl9iq+-!p?0D9l2|<0OC%Sz4OFC+^E(#cwincGG{P}!l?4jeD0$wK>t?pZj z#Z=Fw1IIFm;7zRF#c?2P4e#F!`>=337V&V-Aa@ocmDjcvh`&cb@^*8TL8r5<^-@9r zG;@85p=Oq+7CskD2F5$T&U6mTm-PzZQ!UuDft_S!F-c1pO*D_P{D7jRhPEQlV<4N? zJO8LtXko^B@HnGfbC8$&>UCC>iF<0Td&!rpbhK0^zk;SQ%-{q=vPoWcPmxYs~ z{@2Qcpkm?2@)*IWi2|%?JqP70PkO#@hYKPXI8IOQiC?s}R^m9c9S~oVdP>c*hRzbWGIks-H7_0Z-x<&Ah^gPXEcka)?yja& zPcmOrZE>C(>d@j)b1GmOHNDp;JV(n7Xod#jS$vDWd{od@tl zO%NiRToI%-LJh0W`*-Kjyig9gBISmt`S|of@zK7qIiE$Biqn=EYIKnayklVof(2J8 z$gFwO$>cqU-*`OgSG8ULHkL+)BKJQV)@!6k?&P_lT+fz?T_D$9=COAU;il~SP=|?5 z`y?s)=Aa2B1vQM9F9*wGVp6t&J2X&55C3s58MF*Aw8?+pQOr&2W zaYx*G74_WYXZa`()ZevTCDIC@MkN~ zNT<(yg$sw@k|}}NykyB7C0}`0N6i+}XBYY2D_rce#Letry*DaERRFRfw8*9OW;lip zidl`&#R9HM2@b4%?J?f)J|B@YZMQVFL$^cNa5_RMkt-V=*-{scb@pFk<>NraXYbNm zv*wKevBgLC{s<^oigVzFcYD?fN{Y16ibV=gHvJ+XMJ5thq^=A=UEE*{2>YuIzAz5W zNw^J;)imyAdFD)b)rNo}DUK75RW)NUGpQiwc88E5wd0<X5e;;Z^zL;EibyBD!CKQ=m zwIjLFMXMVS<*Rc!wTs`G)Alw^AiW_@k|4;3e>?BVe9ANQLpCgwrv)9L<0>Ra;Id|& zoi0A()Ij~hjDXjKZJwNvsg$=zC)M2$kEv+6Ur@7WO?bkBaQ$+@rfrr^E??G+#1biE zw(fEFg(dPXm$_NR41T8+?rT)u)Go?mnapcnax(N~K*-mxU!OL4%y!|ebpc;c*dl<%jG_BthGI zQwd^+NX9{)qoVT)jq90ipKne9WI$=`9>*r3JRYt%T&P7B$pJR07 z$On-bl04GcRNyH2N6U2Qky&;k!hulQ(fxr?LBIQSW}Tpn80#|Fg-8oIKs=S}29AA3 z=V~IrEQ%tdht)@OpF;>fa=&R>!S}XNeN%f|F}Oc1bL9(dN??S(t;BtO0{GE(K6&$b zhugF@=6WZf8F$DIfes<^t^0sOk+m5YTN3G)y+_s~coIp8q^-HU6ZcWgFK8|7UyqPU z591GG7*Vjxkb1Yu1U*nNS?)6lZLt!WZljXRre5wDdv5TorsPDzr>E=91K!049A|O; z8BX?M2i+{nU8CpAEP2j+-8OL9Sf}_!ngnm?TGl0bbC)m~6=3)7KA(GT9V^{~Nzxy= zDbCBOIHVB^@S(i$`ff|`CH{~(hpOA1bMIW z*BnkX$m@;P-J2^H#4Jhm@$IQ$aaOkLO1^$Q(e5QZm#A5=d{P0~YxMGcwkSWU%cl&p-SpLh zkTi4Dx6;Jgf0O7shV8CmXRq6j&1IUk7L;>FwT>KcuoJSx=2t)q9tp%g+4!V&Si(); zI9!PBHKK@ZYprqk0267X<%HWBEW1$gM`JIk;PFSA5XC~ zhP0r91b-Qt^?<)=G>{-xy_C)1_Hy+qP}nwr$&XW~FW0HY;u0woz$KzTY=9tGlOr&5v_e#Eo-e$Bu{_ z_iR1_PDcO2Y-D2kfpq+LnTCO#oleNW{(l2MvNABy3Amd5YiRha^z?Kx2JZi^urV|L zi>lhc5h9s?+SLE|Lq7n_bV|-9HmW~Q{OcY;K|6OXd>RHu#-9&%c6?SwCj6hCb@2by z`lF~fVf=?}mj8!srvI>3|Fb@ym6?h8KkM_4bS~^R*%Q8T@xOy;SK+RQ)KMRo3Blt= zj9sryN!RMl(8AV4W-TTpjMi;ywPM)bSMVw$=)&QemmEpm(C}NdC>tU~?$w42<9+Tw zO0@K-)pY*;JsW$d(W>EXIhm^^GuycE%gXZUv6b7V<*TYq+4A&qarAue2@>X`+j|yYt{Du!|m(*yNHEuOj<&L zpJ1i(Xupm7JOy7K7%;nlSnCD4fOhWy>}776Ofe2w$tlC*S0l+#Y7uTL1S3t-oz_c#08pq$|5DnK~We) zEOAEjzAYU-8Yu`vYBOPKAQUyLL9=CDbg%~l`%@o8|FOjPb64H42#be0tF(t zjFFF?Gk1MQcqDn{enCsvf@x>MRz$>Hh5UL}un{cBd=e1P1B4?tQ7)rEPz4a_eC}>6($`^ds8`U#5v(UKX=y0SVm%tWFQun9NNm2TH;5m&Wrkrc zJC15wPhfm?5*!gyQ4nAz61gWNQhuVNZaAzao&Se%1*^@#XtkW~YZHe9 zxtRp2S~BoAH?8C}`&7GIImI(^BIt0ynQ~i9y3p-B;s?K}OBN#@la`dh?V7*?lWCLwKmbGbSqQ)#nAtZmEg zuNuuX_7i_=w(6z4ckw>NFs`_V0HwDVqnX${35KE49^1&gDgi zX>Z0qmTr}qk1UvHEVMz^?|jTfG4= zYJWJ?KCiz2)&1)m8^~gz4PqIWk@qZ!#1lbi;*gHXqAa7dlPTO1%p6k-?UR}CMnQ}v z5?~D~9MrDkcu-0PswaU~ZsuLGya=0GJQwd_<~k-;j)~1qJMGixMo5%$J5(10S4FTB z-wGnTTyv#*qF?Un^e}_*H;ty3+!{R8ur0)sq*0zodzp?pAe813gP$gpqD_s$kX)zp z0@bkj6@n)ii@41n?7|hzMO}YQB+uX_uCt#iOd^X_M!S<(x0^RRU1d0e-DcR!5mYp} zQ>HcrzJJ^p+{(1Z16Pf<##Q=AUKEAhhPALdBW40lf007|?=zA6{rTS;D03E8pKyU( zEBu`*HK{2003*$LtLvtF#|zu;&8qLMb)+}?JB~cT`Y=3DkL>&6_(DEhQ_`_^y;OZZ zXy4G5dZ!lcnYRVcH3h!x1!KK=&ju^Hy**jLK`-x4s~Hva8&y>zPP=1)l)JGE4o#+a z8f6eTc#tj;v`y%tDeFV66zcUrWz z<}GP$*t~36JPyMcCb=s~9hbOQwGTMzkxf(%i=Zp`R-!%z)i4FcNz5Y5aC8qCjK6VnsznTnHpr>o09 z<#L3T#IWJp+P&T)>6Mnk z(ZY4%f~K8@cF5u#!;Z!(;$Kr2bXseL=4Mg{; zt0%HkCM}wV)@3-oQGbzobe=)M5)168?Zh!!8=%_*&(@$R-EP%%oYPFulT-DJtvw^6 z98F-rffr6>w5KFCz(WywO6mzOq8>r67s-oZ_&zy&cXL4F`BIEvugI=drcEvNy>0uo zIeWUwD*M`7qWAh$s%BcPe60QGaoMCW6zUqKFz!MHjXwL>GHZ)h%)N%fQwxaqTZOf7 z#EG&h5(j)ruK47r@tDU$=qO6J%%{k4*(1t=22?dWWmiTb&35&u9(!fif)_^0_uT=0 zVUw#b_q2546JJGd6@|6(AZcNf>g7pZ4H4yK!@pd@CZ({<2+7SE_TOcf21d2!_unu- zcM*jYG^i4FE3A!q(^FdAwc9B#8yt%bq=P;2iFMW6m&{bB!Ru#f-B>_ExTz9NHr?+K z#BiV>lgC&zo4VfSvzH8+4YMBy1T`4yDPcR^?+&t;Y^4P?9mA=iiZIb=bGYE}?@4A} zT|&V^s;x)$^xGdTQb_Dcc7`tuBrB2R+aC=)SAhStJi(~p{$^-TR{q-=Mn(2MfL_z2 zHHh0g05)L2;0X@*=VxI|A=G41BKngHtKmYa2$Imi)#fkw+ve4_e-DBVBv*8?X;U;E z{1(Lo&LNHJN@3{Mhx+`03G|0Nb>Roe2q4O^oONGh{&_W(R(tDiH85nV|b zZMk01ShSz~EAXgE;&8C*UkSpV=&$<7W7u-Lft9A2TcD0{(>tz2<}~M#t%vSqEqSS% zF1@yd#15iPXTBE}sQ_B4xUd>rcwV|jZBB6Iq{vV*L0K?ksPH_Bii(7uGhniL&TJ2- zcM9wgD>(l(Z?t}~#o{ZoT@PR|z>A_BIn{*G_npMMw`SX|dcUA9TTuPHoO&J%^Iv6h z{5lJ+zq+j3Q6b@g;ZY!3d3PGJ&_ll|_l2eO3YLv{JLx{4$8iTM}wZQj_+Mk_Tqg>e1GXIGG6;O-1Q6GmG;#qoyQl zNq$mw!Do_kH3%V-LcE`Kp^QwQ2}EVp^t>W)IW8$Q&?-3{(E>28OpZu{0@HY|6hm_$ zsj`#)QcU4(m%FvvpzgMeh5B9qEmlJa+U+5p%@nCLd?*6aYXQ+}lN3>iXYo^#+By@R znj4ZVrO9bs_+~SQ)M*^X{VZWEwiyY7#bS~Xj0jUam-)V1hgRLQ=?$hDO#`#xf_>Q$ z$Xl$sbJ{}b-EKq%^D(>ZGLtsbPQ z`Xg?)%QwE5qHWZ`T_m6D`v^|@e zDu;1eXT8Ptpv!^2F`2ZFDyn0flbLaN;FWO35=|V{9}#w@%o)mI12Zd!=kgM*oX=rL zO{&HY&{h}aYy+dQDG}X}Xp;CSbSWLVQFX+n-}TBWAkicgFd!?GOeFKb@?HPl4NIjM z=o3}42Axuvsm!)r@2Jft)B_y5tbls4urkd|*JLKJ~kPeff6k$vU!Mc|RmnKZ?@*7tWO%0v=c`2}` z+R-S<+BG3w_z>`Df!IP86p~Im8g^zImIWWMJy_kiRX)QahwD(dI2{9yhMT>Z(xis~?q?A8NH1cF zVvRc$8Dn^HkA+e~UnZHpHT9{%*$K3gwD{6WORv1S?Uwy_YhMRGsg#0thUqU8&CnK9 zA_pnS-f0g$MCY(555S7Le29*bj>;?xY4Ix%Drf+ke!j&MxH>&(df5A~hHf)FT5iZu zY>aoEOW?yzsL_QsDgKtWSRh7*O|ZDD>R08w&u^&FFp30|I97Tjd_6>dLE6u* z`4aCaAqJ^+)FUmsC+DbAhtxfY$oFn~bjOg4Iz4G(BH#KNvO_earQdp06_9U3MNPjz ztpNEzsWKd(L%GVC<3bX)l)S=NwB3<|kXTO*$w1L~p>sxc41cBsIS6Ec2NtyG$<(s# zmfTr=zJuN!yjm(dH5#O@e=#;te_pvsclmv`MRjA{R1Vy)yW*%YU( z#Y+!})iT<%T?1SyxrR#&Z1CuQ0HbjkL=;i7EhG>~S%p6}?Eoq=w@5&8EoOof zCw0Q*NW;i{B-PCS3YssNP|MRH))oJj3a| ztfndBX{Y((MvOAun)%aL$f@1^v~ZK(vf7tzZaT2pR>@tKIc;@4%<3K;h?7Jfsgu25 zim(VIr5Ravhm516R2f&sE;@n{vDL^-?`Iso;VWb>J!e!0yTzJR*}4PixZ^SXxyJLf z;vZ|q$qzt1b@gt#Ctk_6i_Liai+w{3#azzLZyF_s`!s5%IfzlA3)PN(9b8P`NgF5a z8Nd`m-VWAmXRl|^NpviDRJ?uX{e2Og7!P;7bVE%ZlWgF-TxV3N!^StB*8m+VXjJ1x z+-IDx4Sir9{z2BRL~Q8^K#y7U^9c;imX+<8Cr{mMnmC+4;;O07)Qi%t_A|kCa!~a7 zOX@goA%qx5+*Nx=)R|xafG{TQRw}&=E(8fs?6&QV+s=Z7m_A$F2(ML9ww%6=d7IIF+HNn*)q9 zpzn-?e)f%_#giRdG@C0A4z4;`wmK@j__g{%?pc3%`t(I(! zosAEErEst7Q^v!t%Fuu^tWf>2#XZ)lc7IOmH!YDW<&3@Mw*r0KX>cgEblj2zH~adN zIX^{X{dk(AoUJ$v$yhQu=uQrg85%b}nI&|MB@+I~CJ_3#YTwUzyhf4Sa+RLYz1$Fc zxoUHhV1DRub4};WKPWHXeXKb=Dldijp$hYsSzfoN76-w9^fda+>{I&vn*Zal zxAQS6@?DG6{ZJR^A2~t_n3M-x1kIV${u3E`+9P;;-N%eUEiU6?#YCuFSv$+zWW6~t z$VUOTu*%_(!6;XmDq060g$d9Xf?A+bT2YtLL$%%MIBp-o?~z-~gRI+r4W}6+{kgAKF-*htHgsYAxTLf~X z#v0YAzK=SchIRCu(Ho*-Dr;(_YaDDRgZ?k_-};WJ&>l^Fm^eQBUpUhPI9t0Hd^=p| zuC%TEzXBP4UuCwIis88LsKLTSRq$oYeVU+tq^LEsK&_lO+++U9S$`7N^m*>e0_OLf1wUtkH{ zL+Cx}Q7<9I#33a*!jnA{P|zDS)5kV|E6O2y2d&vo4Vv}+zRjOOp436tGlBLApMu^) zEv{F7AIU`=IQnoEr-Dqz>i0c3qI__COqFX{8%&vEA?`DXy_dpR%hCD!ZPU6;y3Y+s z>gES;7w;H62L6=xWXobISPBX&^~*Sj?FWhUDCLOGL+u|QGA5=YjeRZ6sTcYEua8Jz z+nScwSR>$j#E0J6qIpnoyT0CMYIsg{#U9O_Q=VklYg`2ld-TR0jKS$18s&ZLFniG&Qvm=_m=(?cgd ziGen8Vxl(mGO>NapA@MD6=c8N%V@?`CX7-v=U=v^XzzK7%OAx3p$855bE( z^$H;PkEE}g5ry-`j3av5z34he1krxQT189TcR~?>TljCmgjh;4)j<7PJv%G~;H|kO z)#-ePTQCREv(~=e`L^W;%&mq6LX404rI?2cAuh}aC|;2Rj}H-zuublRvHt=Aj3>kI zzgQ^X@(HKw2#WLHTgLt|JN+Lc)BkL3VdmiA_|MjsA)PC`&9=FJSzB`KIzg&XM7nv& zAy+*tls0v0>T{`Zn?&kbb;%;NynI@`CBEJrO~oS+cZ{!eweYVcF&#sNrtLzRl5AbR zX0L3QGihHB@YGIpTDQHob;-Wfb#Sh~n>*fI|LA)zax1TY!FBY2+A7kbEuMQXOX!m6syE*Z$UQj=`D|yip`naL)2n=Jf5V|ebu`+Q=^6*X|%hm-w&~B zc$KvDkV;&$ahQkxNg7 zt3XE^ka;%Ih>v-9aR4~*3-s#zWFZGQIU;*$^jX~k@7M}8wQ=(wapR9*R@)G}Ym(yK z_1+pV{L$VzOHw~@Kgw=5y0~Xii_lEgNm%NZ6wIlkw~{)w#rM}LlJntgkIPn*wi-Jv zCUw1jsWjaCZx7{Pz_$8sdU>%s&kT3>O0XS_8fkwUJ(_Rn#*>W8_A0pb61Sg9a zipG}&hZxG8;cqt9hF@}i$IO-zz~KqUYu)HH$wA;ytV-?G*sEPw{mYZ zUfaLI>X=M#LpA)y$L;D5Gb5&lJ^miVF%Lw$5jd543E|O}bW@xMI^E^!JOAE$`i_&o z+CP6#h52>ZhV=bJUuDPaDnxf%Mubna{>hssv|K@J{n%W@lfONzjAIqnL8M3=mofbH zRd^B3VxvjgB|9;!EBihmDnmtCq874zOpWa{8h-+Knl2aDh;(nUu*tWJ)7~Kno!tCc zu>9~>LpP7JH|`6~w`wpOh2|Oc>IiDmTT%eV%EHjj{&Ug!9oAN8<^|kW+>)_=2N=h- zturXOIvI}Y$It@$j>6mxEOeTb<>nZ;obaUS;7$^K0XVAW)NH{ey5|$IUOJU7m2Spe zZ3XfrqNy6_p!@r@p)^ap1Um|7q1+*nF>JS)BQ#`NaD|SR;8Z0 zgO4%J5^};ji0_A1Ir7ME(RMgefiiHHSF2iCY8uu}cbaynWR*Bps-q$hysz`>_SxjV zyk-Dh-J_ilJvRa|A7{49LEs@C-TaX*4?RGkq(FySa7-{7ovDh%te$uvtWi;wHSi_f=JQsfIUETo8=`fVPJ zt&;dGn)Xgj&?-N$6N3u!OejiHg#08GDJY6q2fngWr||*44cQuZ0oG=9gAohwA8B&A z8_T`Yrq<0z(%BHQWcLthm}E>kHO)n}*pRGWsFY0cp0&CXxcum&iv9Tby8{)<=1 zA`ljEA!z$O^Wit!GQ9kzLR97N$#$7#Pq7c;eK_|fpV=f!(ZNUGRt=+yd}c)$w%Heh zHE;;-TNW{#5cBmm)v@YnIhWi$vU2@L@`5rH*biN3fI*FFHZ1t7Je5#JH}Up%07d2g zr#anCF>qZ}Y8ssh8<2=9@%Uc%=JwL)(6%qhb?$t0OAZJ)d6g3MHegq{G$FyyGUy$Q z>sI_%2T2CYl$K_pD2ZvYLWlGgk>1+bhd8~v$Gi_n9=KPOt)LYP@z34Dte{8?i9ND7 zX-`07#v%-_s0P&_Sof&@C-iMsg;<3Xz*ZsHLalFTDbJf|mJ@okr$uGf2X;@ST6E7; zR?l}V(J341BjMZO!>10ZS=^OB{)nxy63=UiHhhBe(;AwoEqVUp;4;9FT&oZ_Eh~&( zgbKc`I|)*4K@>OH63_I`OtToQ_-ufwsD^Ny$mq%XZ+y~yV|&TH_)i3#}#A6(`< zaKf%6cCz$0C|LR3*dy7l{hcEu(cozQX8XKR@Bm>F~nkdF=$@ zZAtI}Z!f#{J}A4?<|5X-w*rU+WZG{=oaEWEnX9l?foX~cbi-R>QtPT$Zi%V0t>}{H z4#``03uEgucyrUB*=MmLZQRBhDHf*-xqWN<7k`F|*38LW-DE3lD=305P+=>MGOBix z%T3fATUa?Y3LLSMCOb)AHfaZsp)D&)Pd6}IC00hGC+Ym+j?p_%+~P|uJ(@pmTZ^vp z5o-$GR1T&1#nX&K7m^{$bE2;39BL?+GWe8@Ec6K}EZ4y;#P(iIXJdPM;yQ+I^Ge@P zAsD|@MR1p~xo0jRAlPkzsjXZ~CpX!E&`N5sP7;+WE z9E^oZT6+*IodPcaQDZm;wc6$o}RsBH_Y28*6-ELQh*aQEVSDDh8Ugw2reFf{8V&0j2TCQb;ym-aBsxQYO2GkdDR_kd-&7{;C$Yhh#aVRVF zQJwak`#w4j$MDbudE%U5Mh(C=3hp#I(KW05&<$!Jk#fo$r?>Wm9IzN?v}u|Hl1KThqQZ<@kvD2gwNC4~fr zdB{p2YUDb`yviEEWTZgWHyOQ*hp2RJ_~*N&3i=@|a3Gt>NWjCJ2gDS#ni0v|)Ktv5 zzRwU;7N1{vZ@PJog@m53To{rABM;(8!jz%`e$MY$Jzz!<)xeu6i^)H5ldEW}-?M27KuQ zAe2;x1ghj|zI@ojaq5i#hO&g=?xFmA z<4o`pgG{Hsf;j>e6Nw7X+{xH)rSVao6ws``b)joNxQqj7a^zUNlwmJEfHkL&snM`; zAJ+z<+$dnr`V&ZQaD&w6xR?7Dc_xeCG#qrTg-TS4I@cAe=uhq0fJL{8c1|t<4&7&4 z@OQmJcRCS0vZ*q-Y z&}U>=4hoI6hg_J_6RJVDw@sW?65+gPAVWa~?vD>$ehuhzd&Afw6T3pP{N zIhm-eH$V)nZq_6KZ-~yZ&df)6&9-dp^jCZ}Ypv&!c%Qb9*jzUkS^*ubu8yg5ocvk;YhSqp4 zyfq|GNXkGyrmJ}S=Rkp{t3b66ZB8~FiEO&<5iv#M540(Ck6*H2{oU*Wcx>e7YV_x` zEb?Q^_68_6Jpnvyr;Ru~Fzk>F%|+hEm4>V?RQ^G ziph`z7$3nqCA{XRb`gXUUec}9AXxi%wbPDwlW33^+CJ!Vbll=^&>Kc{lBX~J-LK3y z^HCqa;8Gxp_Lxio;7E+|nl=z?K)r%QKT6GAM!l#Vo70|ojnbad9W%lVLX%<+1ie%H zC81hmnnN`nglmGwdH`==Dc{SZ7*>il#W1OQM%4mMA7L4VK(;5o>4qx;zKK>SJhj_8 zJFM%n_ffqHA8>PLSwz{i;8n3V=NDEynW{OW>mS1Qcjc}d&#$8afUJ!yXVfe1#jvP4J zZ^|gBy_}@Yq6Yt=XJFq*xVb2roMa`Mo@N@}Rd&leLdgc|ZL7Hlbq3N?oUG{^7aPah zgw62w)Y~&ouy^(x_yP8u+sWadq!Q#g>J1rqhmT#mPS9Ei1c#GjPlMi;FTO`?taR z7{kFEM@wShiohk=7eH$Z0A@MDRb#uCziAY(?SJn9_m0{0LNrGM#*kD(u=7S{jl>^d zh-MbzEgav)r|4FeY#_MlF$hAmgjV&B(D!-VBw&<@iN)shUkiK|_Fu+s@VW8Pe zOvqG5?QP2GjkO@iKq$FOkr`sPHPCExfL?ItlEt&z)+I%gvc+Z@jtIHvG!%pA4Zcf? z7V;+#mIy_{ud2hRUS$O}XsJRw|3l`O$Fx@SoE@_VB?kQJjMF|PUp1J9fhaKu{q8Gh zDz0q61pQ2WltTHCnJ=)*GJrp|3Vl&7A!AF%G7w#8x*GLhcB@z6@jh(j^w2hzR5C?l z>-0F7MB1v9(buAoi8Z!GZ1aY$&ss zbZSg079mSYXGBH~$SAC@kPvJzcS`mvGJz62GX7`9U5M4J;a?0GgqcEzEG=u&Hrn^? z56G#P4>ot-CmwFP^4Me1kSwhn!D`vbRgn_=Hf2G>CfiGtqYIw%LkeCxHIcS=3LH1EBP(oC$ox_?LuV%gsB7~L${@5poU_I z4BbB~>s%sZXWtv~c1Dq;gCQKD5od1g1Ag{lrfNvW$NRJDK;wsCr%4!)wq(No_d%}tb`>qmw{@jAfZgPzP${_9Qq3K!*Sv`w(T-LIJ7ljcth;Vs+Wef zoz1NDESy5fBhtRZ;Rp3*pUmdiLdf^`!Ik7*s1&C-3f{I~8*kdV))fokT90`AsaHr*q&7 z@%4v?yqckRhNZ~+ppnEPe)maTOrDZp=mQN@f(Os2W_oWJ&O5b4re!_AnaS?#{*^s3 z;rPS!-W~bc<=wmk#b!3NkVX=ZG(vsvcX{qaW+2{RW$HWmF&f^R`SG0&&k&}fp%gnQbUvGeB;(BUxI2p6tR29T<+bTXH@#%jyNA2_1r9fT zY9PlTo%jk!^8&f$Em#ufEuG96+aq=TD;+ zjy^N5PInf4jRE(X{zvp6BC0)7y$r?YI;dgkH-^w{SmQ*%!5_vN(aekF{z!OMV)`Uo zM?%*HD4CB?auOk;Y#f9-Q{F5mR4`J`Qe=MGK3IBc=n8WJ_(MTpf)~&5P)`6kI)JVm zgLjCpsIt!mvDjYh*v)vB6afo$VrlAJI5F7u3$y*}j|YftZI_p~VEgw%7F*z75V#sz zWp+#N5`wS-Zv^|t^1;;6*tsDPkJ%r_iw<9sI43;{V@4EvH|tqhxFzL`4x&c0Zo_VW zgE1?xxrHtBIvU5VAnt(ca>HlgonJ4po1YIj%x_RAq04z*J^`Bj9^rXI^pWCz_bSEg zQabawcO%!MnXkl**BG(>E~D0$qU215&@E@|uVO$j%y%IbBPXkXKYUgRDL{L>M%o^7 zMkA)=%2}asth#<6yByb%P95<`6gFd)78r^xzNfz(X6e5B4HYMM!v0rK#7DjD!cspT zKM$3kJoL7PQN|n#+D(}*nmmxW-&l+;f-*pcptu-HOE~1lj>s|=dXi=-f#6SEf|@=T z=?P~bH@{wOZfZ9R61O1%TO0?-hAx$?|G2lxx|Xzjd!&P?NKPBYJwKe{ySE0Tmv<=l zU|?3xOyU_bgj96%VC692q=}AHk)^VVKzrj0lT3g-Ca20^*!oJ#PoW7cE&Z9=rp z6nd6LcHmihdU>u=L+meTY&qcTcd0<|r{7_D-QfXkLmZ(5{vtpa+FD1hcv^5DaO1e6E(Ts4kUQKzbp3PKd77EHVd+Dug0kfV>S@qTg(t3gx@_Ghot)y2rSLQ z3+lzSN!v&a?PuVpFBK#W&Sa9PE!8m@3=&LP2jtCWW`cdk5!;_RLbU7n(MLBIS5rQQ zf_Mr7jmjm(kQtTuNH5tM$tU2o%PjWZq^b%t6#=cNiF*Sn8Z?7lAb=%+Q0{GpcnroE zWYPRHlrP?;Hw;_SK_JO4JG5ls#D5rt~$XAU^fo3TSd+% z^Fk>iWq;K3)-(E4IhNu+e_~=&I~9*7Ar*`!H?g23HDw~#V1lzMFE^Rrs;VCE!k_m; zu1|L{FgG6}-O4R^YpY_HtG{pd@PEWLSBRazjL#qJ;m%Lt7r-}@@+kI3-EU=4=$lOK zdQ9%ONvZP?*h#3Vaf+<yY-+5*dyYtkv!qBy%zquNlMT9#iI=2_tfH?LL7m1$K} zalJT#K$c6kP5VQ(=-riS&BJt}Y}v0|0s8QyO3HxhmZR@wd1LcyE+fEXp9zT^lXHrX7#Wv08()T&^w?jouaq5Ugx<*a5RlKi&CtWz{3Kdh0EvD$<_ zz8~jcQLvzs9KtE8XvX0G7YW4*Hv{Z--q1t^7=qLmbh@kwl2Z_SJ|3AS(!RZq$Qk8Y z$(G>}2sR{KL1eM75kc;`j7CJ`SY_y!y03f)Vtu}(%od6+b`0-lLu`ayu-Etc+o5`X zJjlH~p;dutHJVc|JUE=;k}%V#ExA6Cw>~9PzVA}*v}+<|w0z|_;!T<9PBu3Wc4Z;E zOuRCIqQ97g((H(BqG|m_ci}3WiWS2Y6}HF$1%9%EX&~t~{YtZ=r8zO2n}ikM-^o0K zyNp1A9q_GHu92?{fu{MDq!GXTsIm`MUFOxV(;Ih>D92JUvA?GvTs5i`=F8y1Zc%dP zzn}3kD0yg}5G3~K082)m=6Co--Q~6U3^Mg~8DF!FSqaOUz(Lx3_s3Pq+YT&JY~y;jhe+jkB|N#dwd_W^aei%f@lMK z-<&PS_9_s7bwC=GZG_FJbS&)eu7A#p?qCQ>zhrC}5`4&Q^qFPdgr{Y%OT$bRhUlSn! zw|9aAc0NRjk}ODcJwerGI(I8$mJ-c4s&WU-VJ;?*cak9ZQJJD`$R;Z-d~vN{Tj;##72Vc3I49Mbmskv?MDD%7tXleg~Q* z6&_5{f!!E;gM~t}Qe^x16P4GwDWpoaih^b5TszKwzR$*X4ssg5xlMO7>Fs%Ag_bnF z64Iugfme0J`qi8h~r!lItq7n!Zbi@vaX$xTPbtO(P zDrYtEFmptefP5kn*iJHnmI&qiwx^ZMZnK$PYdSyq-Qn>6?J{N?*m$)W0K+wke>fUt zF@n9EFkq1gOC#HJ@T8K}pN_jlQkt@oym~p=I7DC5rkkmb)vkAnW>$GXHA%~NL&9|7 zsmLO1HKkoCtM?}AV4D6>pdfnNCf>s1ztO%`k?E_QHo-ErPn%CvBskkK0_JvUyzSCiDgTFR+rU zKy~iuL7`37)?zzNq$Yd9CfbZWishTilP|cn*ru-kUbtcX55mp=iQkpBu(hI7G%<44 z!e?M(pk-#nXJuxg<-liRVWQ>ui8^IrqhyUpU;HDF{maGT zIGa> zXVQMu*s*IWg>8(`$@jy-G0S9ZpSIi8H*=B=?vLCt9o*R=W4lgGqIJ85oT;3j@ymIx zg=4m@-`f}m2bW6^F0Ok`*tg*@&J4sZ=J4iPNf?-(ul;fu7}>)>&{z^zJr>yX$MLN{ zK>7)Nm{$%}Fw%H0OcB!`u!dZ-e5ZGC9nRLj$VYN~c(@;|oH!G6rrw9KEk+EI*>~~S zG9zN%O`6*=v4f|ud?wS@-pDb!xQ&0eF}|-Szg^tzVFA6lx!og+5Sol#BqVyZYZ{Hc zk)s-bK^*1tFeDoK%#d07Mzp$$2EvJjcOfgqJ9I;hu-$FZH_+kOd->ZY$HSDRhwT%2 zVu6Ye#%X2kKjdC)+dD)_X1lzHr8;!Be{DJDo7%MZ%~%nWWO%%R>oJ`~9A5xLmp8TV zC7n85Ym(h8ae8M`GXkTF%94AdVO~KQEfbHR(Qd!ydAmI)vo&Q*COj%6I(=O)rmJUd zkC9HWKD+*5+p=y@d*>;SjTj2RdX

v>+8=5-=O)A)(?0jW9R;&o5_{zIRK4(tC* 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�wcF3qn|ZL7d2jLF!lQ#GNy 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⋘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

tt#3w8l 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 z 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