fprime-gds 4.0.2a4__tar.gz → 4.0.2a5__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (339) hide show
  1. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/PKG-INFO +1 -1
  2. fprime_gds-4.0.2a5/src/fprime_gds/common/communication/ccsds/apid.py +21 -0
  3. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/common/communication/ccsds/space_packet.py +7 -2
  4. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/common/communication/framing.py +2 -2
  5. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/common/encoders/encoder.py +1 -0
  6. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/common/pipeline/standard.py +1 -1
  7. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/common/testing_fw/pytest_integration.py +2 -1
  8. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/common/utils/data_desc_type.py +1 -0
  9. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/executables/cli.py +4 -4
  10. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/executables/comm.py +0 -2
  11. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds.egg-info/PKG-INFO +1 -1
  12. fprime_gds-4.0.2a4/src/fprime_gds/common/communication/ccsds/apid.py +0 -19
  13. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/.github/ISSUE_TEMPLATE/config.yml +0 -0
  14. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/.github/actions/codeql/security-pack.yml +0 -0
  15. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/.github/actions/spelling/excludes.txt +0 -0
  16. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/.github/actions/spelling/expect.txt +0 -0
  17. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/.github/actions/spelling/patterns.txt +0 -0
  18. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/.github/pull_request_template.md +0 -0
  19. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/.github/resources/RefTopologyAppDictionary.xml +0 -0
  20. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/.github/workflows/codeql-security-scan.yml +0 -0
  21. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/.github/workflows/fprime-gds-tests.yml +0 -0
  22. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/.github/workflows/gds-cli-tests.yml +0 -0
  23. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/.github/workflows/publish.yml +0 -0
  24. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/.github/workflows/spelling.yml +0 -0
  25. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/.gitignore +0 -0
  26. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/Doxyfile +0 -0
  27. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/LICENSE.txt +0 -0
  28. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/NOTICE.txt +0 -0
  29. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/README.md +0 -0
  30. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/configs/__init__.py +0 -0
  31. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/docs/README.md +0 -0
  32. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/docs/_static/css/rtd_width.css +0 -0
  33. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/docs/conf.py +0 -0
  34. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/docs/gendoc.bash +0 -0
  35. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/docs/index.rst +0 -0
  36. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/examples/simple_sequence.bin +0 -0
  37. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/examples/simple_sequence.seq +0 -0
  38. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/pyproject.toml +0 -0
  39. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/setup.cfg +0 -0
  40. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/setup.py +0 -0
  41. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fastentrypoints.py +0 -0
  42. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/__init__.py +0 -0
  43. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/common/__init__.py +0 -0
  44. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/common/communication/__init__.py +0 -0
  45. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/common/communication/adapters/__init__.py +0 -0
  46. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/common/communication/adapters/base.py +0 -0
  47. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/common/communication/adapters/ip.py +0 -0
  48. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/common/communication/adapters/uart.py +0 -0
  49. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/common/communication/ccsds/__init__.py +0 -0
  50. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/common/communication/ccsds/chain.py +0 -0
  51. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/common/communication/ccsds/space_data_link.py +0 -0
  52. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/common/communication/checksum.py +0 -0
  53. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/common/communication/ground.py +0 -0
  54. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/common/communication/updown.py +0 -0
  55. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/common/controllers/__init__.py +0 -0
  56. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/common/data_types/__init__.py +0 -0
  57. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/common/data_types/ch_data.py +0 -0
  58. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/common/data_types/cmd_data.py +0 -0
  59. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/common/data_types/event_data.py +0 -0
  60. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/common/data_types/exceptions.py +0 -0
  61. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/common/data_types/file_data.py +0 -0
  62. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/common/data_types/pkt_data.py +0 -0
  63. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/common/data_types/sys_data.py +0 -0
  64. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/common/decoders/__init__.py +0 -0
  65. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/common/decoders/ch_decoder.py +0 -0
  66. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/common/decoders/decoder.py +0 -0
  67. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/common/decoders/event_decoder.py +0 -0
  68. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/common/decoders/file_decoder.py +0 -0
  69. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/common/decoders/pkt_decoder.py +0 -0
  70. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/common/distributor/__init__.py +0 -0
  71. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/common/distributor/distributor.py +0 -0
  72. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/common/encoders/__init__.py +0 -0
  73. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/common/encoders/ch_encoder.py +0 -0
  74. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/common/encoders/cmd_encoder.py +0 -0
  75. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/common/encoders/event_encoder.py +0 -0
  76. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/common/encoders/file_encoder.py +0 -0
  77. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/common/encoders/pkt_encoder.py +0 -0
  78. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/common/encoders/seq_writer.py +0 -0
  79. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/common/files/File Decoder Documentation.txt +0 -0
  80. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/common/files/__init__.py +0 -0
  81. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/common/files/downlinker.py +0 -0
  82. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/common/files/helpers.py +0 -0
  83. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/common/files/uplinker.py +0 -0
  84. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/common/fpy/README.md +0 -0
  85. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/common/fpy/SPEC.md +0 -0
  86. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/common/fpy/__init__.py +0 -0
  87. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/common/fpy/bytecode/__init__.py +0 -0
  88. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/common/fpy/bytecode/assembler.py +0 -0
  89. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/common/fpy/bytecode/directives.py +0 -0
  90. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/common/fpy/codegen.py +0 -0
  91. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/common/fpy/grammar.lark +0 -0
  92. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/common/fpy/main.py +0 -0
  93. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/common/fpy/model.py +0 -0
  94. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/common/fpy/parser.py +0 -0
  95. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/common/fpy/test_helpers.py +0 -0
  96. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/common/fpy/types.py +0 -0
  97. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/common/gds_cli/__init__.py +0 -0
  98. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/common/gds_cli/base_commands.py +0 -0
  99. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/common/gds_cli/channels.py +0 -0
  100. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/common/gds_cli/command_send.py +0 -0
  101. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/common/gds_cli/events.py +0 -0
  102. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/common/gds_cli/filtering_utils.py +0 -0
  103. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/common/gds_cli/test_api_utils.py +0 -0
  104. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/common/handlers.py +0 -0
  105. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/common/history/__init__.py +0 -0
  106. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/common/history/chrono.py +0 -0
  107. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/common/history/history.py +0 -0
  108. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/common/history/ram.py +0 -0
  109. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/common/history/test.py +0 -0
  110. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/common/loaders/__init__.py +0 -0
  111. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/common/loaders/ch_json_loader.py +0 -0
  112. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/common/loaders/ch_xml_loader.py +0 -0
  113. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/common/loaders/cmd_json_loader.py +0 -0
  114. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/common/loaders/cmd_xml_loader.py +0 -0
  115. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/common/loaders/dict_loader.py +0 -0
  116. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/common/loaders/event_json_loader.py +0 -0
  117. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/common/loaders/event_xml_loader.py +0 -0
  118. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/common/loaders/fw_type_json_loader.py +0 -0
  119. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/common/loaders/json_loader.py +0 -0
  120. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/common/loaders/pkt_json_loader.py +0 -0
  121. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/common/loaders/pkt_xml_loader.py +0 -0
  122. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/common/loaders/prm_json_loader.py +0 -0
  123. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/common/loaders/xml_loader.py +0 -0
  124. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/common/logger/__init__.py +0 -0
  125. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/common/logger/data_logger.py +0 -0
  126. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/common/logger/test_logger.py +0 -0
  127. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/common/models/__init__.py +0 -0
  128. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/common/models/common/__init__.py +0 -0
  129. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/common/models/common/command.py +0 -0
  130. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/common/models/dictionaries.py +0 -0
  131. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/common/parsers/__init__.py +0 -0
  132. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/common/parsers/seq_file_parser.py +0 -0
  133. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/common/pipeline/__init__.py +0 -0
  134. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/common/pipeline/encoding.py +0 -0
  135. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/common/pipeline/files.py +0 -0
  136. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/common/pipeline/histories.py +0 -0
  137. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/common/pipeline/publishing.py +0 -0
  138. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/common/pipeline/router.py +0 -0
  139. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/common/templates/__init__.py +0 -0
  140. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/common/templates/ch_template.py +0 -0
  141. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/common/templates/cmd_template.py +0 -0
  142. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/common/templates/data_template.py +0 -0
  143. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/common/templates/event_template.py +0 -0
  144. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/common/templates/pkt_template.py +0 -0
  145. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/common/templates/prm_template.py +0 -0
  146. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/common/testing_fw/__init__.py +0 -0
  147. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/common/testing_fw/api.py +0 -0
  148. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/common/testing_fw/predicates.py +0 -0
  149. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/common/tools/README.md +0 -0
  150. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/common/tools/__init__.py +0 -0
  151. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/common/tools/params.py +0 -0
  152. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/common/tools/seqgen.py +0 -0
  153. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/common/transport.py +0 -0
  154. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/common/utils/__init__.py +0 -0
  155. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/common/utils/config_manager.py +0 -0
  156. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/common/utils/event_severity.py +0 -0
  157. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/common/utils/string_util.py +0 -0
  158. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/common/zmq_transport.py +0 -0
  159. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/executables/__init__.py +0 -0
  160. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/executables/apps.py +0 -0
  161. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/executables/data_product_writer.py +0 -0
  162. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/executables/dictionary_merge.py +0 -0
  163. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/executables/fprime_cli.py +0 -0
  164. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/executables/run_deployment.py +0 -0
  165. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/executables/tcpserver.py +0 -0
  166. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/executables/utils.py +0 -0
  167. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/flask/__init__.py +0 -0
  168. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/flask/app.py +0 -0
  169. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/flask/channels.py +0 -0
  170. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/flask/commands.py +0 -0
  171. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/flask/components.py +0 -0
  172. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/flask/default_settings.py +0 -0
  173. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/flask/errors.py +0 -0
  174. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/flask/events.py +0 -0
  175. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/flask/json.py +0 -0
  176. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/flask/logs.py +0 -0
  177. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/flask/requirements.txt +0 -0
  178. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/flask/resource.py +0 -0
  179. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/flask/sequence.py +0 -0
  180. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/flask/static/.idea/.gitignore +0 -0
  181. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/flask/static/.idea/misc.xml +0 -0
  182. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/flask/static/.idea/modules.xml +0 -0
  183. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/flask/static/.idea/static.iml +0 -0
  184. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/flask/static/.idea/vcs.xml +0 -0
  185. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/flask/static/addons/advanced-settings/addon-templates.js +0 -0
  186. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/flask/static/addons/advanced-settings/addon.js +0 -0
  187. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/flask/static/addons/channel-render/addon.js +0 -0
  188. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/flask/static/addons/channel-render/channel-render-template.js +0 -0
  189. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/flask/static/addons/channel-render/channel-render.js +0 -0
  190. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/flask/static/addons/chart-display/addon-templates.js +0 -0
  191. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/flask/static/addons/chart-display/addon.js +0 -0
  192. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/flask/static/addons/chart-display/config.js +0 -0
  193. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/flask/static/addons/chart-display/modified-vendor/chartjs-plugin-streaming.js +0 -0
  194. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/flask/static/addons/chart-display/modified-vendor/chartjs-plugin-zoom.js +0 -0
  195. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/flask/static/addons/chart-display/modified-vendor/flat.js +0 -0
  196. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/flask/static/addons/chart-display/sibling.js +0 -0
  197. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/flask/static/addons/chart-display/vendor/chart.js +0 -0
  198. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/flask/static/addons/chart-display/vendor/chartjs-adapter-luxon.min.js +0 -0
  199. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/flask/static/addons/chart-display/vendor/hammer.min.js +0 -0
  200. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/flask/static/addons/commanding/addon.js +0 -0
  201. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/flask/static/addons/commanding/argument-templates.js +0 -0
  202. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/flask/static/addons/commanding/arguments.js +0 -0
  203. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/flask/static/addons/commanding/command-history-template.js +0 -0
  204. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/flask/static/addons/commanding/command-history.js +0 -0
  205. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/flask/static/addons/commanding/command-input-template.js +0 -0
  206. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/flask/static/addons/commanding/command-input.js +0 -0
  207. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/flask/static/addons/commanding/command-string-template.js +0 -0
  208. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/flask/static/addons/commanding/command-string.js +0 -0
  209. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/flask/static/addons/dictionary/addon-templates.js +0 -0
  210. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/flask/static/addons/dictionary/addon.js +0 -0
  211. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/flask/static/addons/enabled.js +0 -0
  212. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/flask/static/addons/image-display/addon.js +0 -0
  213. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/flask/static/addons/image-display/dashboard.xml +0 -0
  214. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/flask/static/addons/sequencer/README.md +0 -0
  215. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/flask/static/addons/sequencer/addon-templates.js +0 -0
  216. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/flask/static/addons/sequencer/addon.js +0 -0
  217. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/flask/static/addons/sequencer/autocomplete.js +0 -0
  218. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/flask/static/addons/sequencer/lint.js +0 -0
  219. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/flask/static/addons/sequencer/third/code-mirror.es.js +0 -0
  220. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/flask/static/addons/sequencer/third/rollup/.gitignore +0 -0
  221. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/flask/static/addons/sequencer/third/rollup/index.js +0 -0
  222. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/flask/static/addons/sequencer/third/rollup/language.grammer +0 -0
  223. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/flask/static/addons/sequencer/third/rollup/package.json +0 -0
  224. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/flask/static/addons/sequencer/third/rollup/rollup.config.js +0 -0
  225. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/flask/static/css/fprime.css +0 -0
  226. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/flask/static/css/fpstyle.css +0 -0
  227. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/flask/static/favicon.ico +0 -0
  228. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/flask/static/img/error.svg +0 -0
  229. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/flask/static/img/logo.svg +0 -0
  230. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/flask/static/img/success.svg +0 -0
  231. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/flask/static/index.html +0 -0
  232. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/flask/static/js/config.js +0 -0
  233. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/flask/static/js/datastore.js +0 -0
  234. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/flask/static/js/gds.js +0 -0
  235. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/flask/static/js/json.js +0 -0
  236. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/flask/static/js/loader.js +0 -0
  237. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/flask/static/js/performance.js +0 -0
  238. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/flask/static/js/settings.js +0 -0
  239. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/flask/static/js/uploader.js +0 -0
  240. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/flask/static/js/validate.js +0 -0
  241. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/flask/static/js/vue-support/channel.js +0 -0
  242. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/flask/static/js/vue-support/dashboard-box.js +0 -0
  243. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/flask/static/js/vue-support/dashboard-row.js +0 -0
  244. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/flask/static/js/vue-support/dashboard.js +0 -0
  245. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/flask/static/js/vue-support/downlink.js +0 -0
  246. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/flask/static/js/vue-support/event.js +0 -0
  247. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/flask/static/js/vue-support/fp-row.js +0 -0
  248. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/flask/static/js/vue-support/fptable.js +0 -0
  249. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/flask/static/js/vue-support/log.js +0 -0
  250. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/flask/static/js/vue-support/tabetc.js +0 -0
  251. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/flask/static/js/vue-support/uplink.js +0 -0
  252. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/flask/static/js/vue-support/utils.js +0 -0
  253. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/flask/static/third-party/css/all.min.css +0 -0
  254. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/flask/static/third-party/css/bootstrap.min.css +0 -0
  255. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/flask/static/third-party/css/vue-select.css +0 -0
  256. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/flask/static/third-party/js/luxon.min.js +0 -0
  257. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/flask/static/third-party/js/sorttable.js +0 -0
  258. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/flask/static/third-party/js/v-runtime-template.js +0 -0
  259. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/flask/static/third-party/js/vue-select.js +0 -0
  260. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/flask/static/third-party/js/vue.min.js +0 -0
  261. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/flask/static/third-party/webfonts/fa-brands-400.eot +0 -0
  262. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/flask/static/third-party/webfonts/fa-brands-400.svg +0 -0
  263. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/flask/static/third-party/webfonts/fa-brands-400.ttf +0 -0
  264. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/flask/static/third-party/webfonts/fa-brands-400.woff +0 -0
  265. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/flask/static/third-party/webfonts/fa-brands-400.woff2 +0 -0
  266. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/flask/static/third-party/webfonts/fa-regular-400.eot +0 -0
  267. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/flask/static/third-party/webfonts/fa-regular-400.svg +0 -0
  268. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/flask/static/third-party/webfonts/fa-regular-400.ttf +0 -0
  269. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/flask/static/third-party/webfonts/fa-regular-400.woff +0 -0
  270. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/flask/static/third-party/webfonts/fa-regular-400.woff2 +0 -0
  271. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/flask/static/third-party/webfonts/fa-solid-900.eot +0 -0
  272. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/flask/static/third-party/webfonts/fa-solid-900.svg +0 -0
  273. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/flask/static/third-party/webfonts/fa-solid-900.ttf +0 -0
  274. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/flask/static/third-party/webfonts/fa-solid-900.woff +0 -0
  275. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/flask/static/third-party/webfonts/fa-solid-900.woff2 +0 -0
  276. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/flask/stats.py +0 -0
  277. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/flask/updown.py +0 -0
  278. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/plugin/__init__.py +0 -0
  279. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/plugin/definitions.py +0 -0
  280. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/plugin/system.py +0 -0
  281. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds/version.py +0 -0
  282. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds.egg-info/SOURCES.txt +0 -0
  283. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds.egg-info/dependency_links.txt +0 -0
  284. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds.egg-info/entry_points.txt +0 -0
  285. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds.egg-info/requires.txt +0 -0
  286. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/src/fprime_gds.egg-info/top_level.txt +0 -0
  287. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/test/fprime_gds/common/communication/ccsds/test_space_data_link.py +0 -0
  288. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/test/fprime_gds/common/communication/ccsds/test_space_packet.py +0 -0
  289. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/test/fprime_gds/common/data_types/test_cmd_data.py +0 -0
  290. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/test/fprime_gds/common/distributor/test_distributor.py +0 -0
  291. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/test/fprime_gds/common/encoders/test_ch_encoder.py +0 -0
  292. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/test/fprime_gds/common/encoders/test_event_encoder.py +0 -0
  293. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/test/fprime_gds/common/encoders/test_pkt_encoder.py +0 -0
  294. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/test/fprime_gds/common/fpy/RefTopologyDictionary.json +0 -0
  295. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/test/fprime_gds/common/fpy/disabled_test_generated_seqs.py +0 -0
  296. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/test/fprime_gds/common/fpy/test_seqs.py +0 -0
  297. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/test/fprime_gds/common/gds_cli/filtering_utils_test.py +0 -0
  298. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/test/fprime_gds/common/gds_cli/utils_test.py +0 -0
  299. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/test/fprime_gds/common/history/chronohistory_unit_test.py +0 -0
  300. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/test/fprime_gds/common/history/testhistory_unit_test.py +0 -0
  301. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/test/fprime_gds/common/loaders/resources/RefTopologyDictionary.json +0 -0
  302. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/test/fprime_gds/common/loaders/test_json_loader.py +0 -0
  303. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/test/fprime_gds/common/testing_fw/UnitTestDictionary.xml +0 -0
  304. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/test/fprime_gds/common/testing_fw/api_unit_test.py +0 -0
  305. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/test/fprime_gds/common/testing_fw/logs/.gitignore +0 -0
  306. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/test/fprime_gds/common/testing_fw/predicate_unit_test.py +0 -0
  307. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/test/fprime_gds/common/tools/expected/simple_expected.bin +0 -0
  308. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/test/fprime_gds/common/tools/expected/simple_paramdb.dat +0 -0
  309. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/test/fprime_gds/common/tools/input/simple_bad_paramdb.json +0 -0
  310. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/test/fprime_gds/common/tools/input/simple_bad_sequence.seq +0 -0
  311. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/test/fprime_gds/common/tools/input/simple_paramdb.json +0 -0
  312. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/test/fprime_gds/common/tools/input/simple_sequence.seq +0 -0
  313. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/test/fprime_gds/common/tools/resources/simple_dictionary.json +0 -0
  314. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/test/fprime_gds/common/tools/resources/simple_dictionary.xml +0 -0
  315. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/test/fprime_gds/common/tools/seqgen_unit_test.py +0 -0
  316. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/test/fprime_gds/common/tools/test_paramdb_gen.py +0 -0
  317. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/test/fprime_gds/common/utils/test_string_util.py +0 -0
  318. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/test/fprime_gds/executables/.gitignore +0 -0
  319. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/test/fprime_gds/executables/dp_writer_data/dictionary.json +0 -0
  320. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/test/fprime_gds/executables/dp_writer_data/makeBool.bin +0 -0
  321. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/test/fprime_gds/executables/dp_writer_data/makeComplex.bin +0 -0
  322. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/test/fprime_gds/executables/dp_writer_data/makeDataArray.bin +0 -0
  323. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/test/fprime_gds/executables/dp_writer_data/makeEnum.bin +0 -0
  324. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/test/fprime_gds/executables/dp_writer_data/makeF32.bin +0 -0
  325. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/test/fprime_gds/executables/dp_writer_data/makeF64.bin +0 -0
  326. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/test/fprime_gds/executables/dp_writer_data/makeFppArray.bin +0 -0
  327. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/test/fprime_gds/executables/dp_writer_data/makeI16.bin +0 -0
  328. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/test/fprime_gds/executables/dp_writer_data/makeI32.bin +0 -0
  329. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/test/fprime_gds/executables/dp_writer_data/makeI64.bin +0 -0
  330. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/test/fprime_gds/executables/dp_writer_data/makeI8.bin +0 -0
  331. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/test/fprime_gds/executables/dp_writer_data/makeU32.bin +0 -0
  332. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/test/fprime_gds/executables/dp_writer_data/makeU32Array.bin +0 -0
  333. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/test/fprime_gds/executables/dp_writer_data/makeU8Array.bin +0 -0
  334. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/test/fprime_gds/executables/test_data_product_writer.py +0 -0
  335. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/test/fprime_gds/executables/test_run_deployment.py +0 -0
  336. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/test/fprime_gds/executables/test_utils.py +0 -0
  337. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/test/fprime_gds/sample/dictionary.xml +0 -0
  338. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/test/fprime_gds/test_plugins.py +0 -0
  339. {fprime_gds-4.0.2a4 → fprime_gds-4.0.2a5}/test/gui/GUI_Test_Procedure.md +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: fprime-gds
3
- Version: 4.0.2a4
3
+ Version: 4.0.2a5
4
4
  Summary: F Prime Flight Software Ground Data System layer
5
5
  Author-email: Michael Starch <Michael.D.Starch@jpl.nasa.gov>, Thomas Boyer-Chammard <Thomas.Boyer.Chammard@jpl.nasa.gov>
6
6
  License:
@@ -0,0 +1,21 @@
1
+ """ccsds.apid: APID mapping functions for F´ data"""
2
+
3
+ from fprime_gds.common.utils.data_desc_type import DataDescType
4
+ from fprime.common.models.serialize.numerical_types import NumericalType
5
+
6
+
7
+ class APID(object):
8
+ """APID implementations"""
9
+
10
+ # TODO: use the DataDescType configured by loading the dictionary
11
+
12
+ @classmethod
13
+ def from_type(cls, data_type: DataDescType):
14
+ """Map from data description type to APID"""
15
+ return data_type.value
16
+
17
+ @classmethod
18
+ def from_data(cls, data, packet_descriptor_type: NumericalType):
19
+ """Map from data bytes to APID"""
20
+ packet_descriptor_type.deserialize(data, offset=0)
21
+ return cls.from_type(DataDescType(packet_descriptor_type.val))
@@ -10,6 +10,7 @@ from spacepackets.ccsds.spacepacket import SpacePacketHeader, PacketType, SpaceP
10
10
  from fprime_gds.common.communication.framing import FramerDeframer
11
11
  from fprime_gds.plugin.definitions import gds_plugin_implementation, gds_plugin
12
12
  from fprime_gds.common.utils.data_desc_type import DataDescType
13
+ from fprime_gds.common.utils.config_manager import ConfigManager
13
14
 
14
15
  from .apid import APID
15
16
  import logging
@@ -29,17 +30,21 @@ class SpacePacketFramerDeframer(FramerDeframer):
29
30
  IDLE_APID = 0x7FF # max 11 bit value per protocol specification
30
31
 
31
32
  def __init__(self):
32
- # self.sequence_number = 0
33
33
  # Map APID to sequence counts
34
34
  self.apid_to_sequence_count_map = dict()
35
35
  for key in DataDescType:
36
36
  self.apid_to_sequence_count_map[key.value] = 0
37
+ self.packet_descriptor_type = ConfigManager.get_instance().get_type(
38
+ "FwPacketDescriptorType"
39
+ )
37
40
 
38
41
  def frame(self, data):
39
42
  """Frame the supplied data in Space Packet"""
40
43
  # The protocol defines length token to be number of bytes minus 1
41
44
  data_length_token = len(data) - 1
42
- apid = APID.from_data(data)
45
+ # Extract the APID from the data
46
+ # F' has the packet descriptor (= APID currently) as first n bytes of the data
47
+ apid = APID.from_data(data, self.packet_descriptor_type)
43
48
  space_header = SpacePacketHeader(
44
49
  packet_type=PacketType.TC,
45
50
  apid=apid,
@@ -47,7 +47,7 @@ class FramerDeframer(abc.ABC):
47
47
  self, data: bytes, no_copy=False
48
48
  ) -> tuple[(bytes | None), bytes, bytes]:
49
49
  """
50
- Deframes the incoming data from the specified format.
50
+ Deframes the incoming data from the specified format.
51
51
  Produces:
52
52
  - One packet, or None if no packet found
53
53
  - leftover bytes (not consumed yet)
@@ -80,7 +80,7 @@ class FramerDeframer(abc.ABC):
80
80
  # Deframe and return only on None
81
81
  (deframed, data, discarded) = self.deframe(data, no_copy=True)
82
82
  discarded_aggregate += discarded
83
- if deframed is None: # No more packets available, return aggregate
83
+ if deframed is None: # No more packets available, return aggregate
84
84
  return packets, data, discarded_aggregate
85
85
  packets.append(deframed)
86
86
 
@@ -20,6 +20,7 @@ purpose is to define the interface for an encoder.
20
20
 
21
21
  @bug No known bugs
22
22
  """
23
+
23
24
  import abc
24
25
  import logging
25
26
 
@@ -61,7 +61,7 @@ class StandardPipeline:
61
61
  dictionaries,
62
62
  file_store,
63
63
  logging_prefix=None,
64
- data_logging_enabled=True
64
+ data_logging_enabled=True,
65
65
  ):
66
66
  """
67
67
  Setup the standard pipeline for moving data from the middleware layer through the GDS layers using the standard
@@ -56,7 +56,8 @@ def pytest_addoption(parser):
56
56
  parser.addoption(
57
57
  "--deployment-config",
58
58
  action="store",
59
- help="Path to JSON configuration file for mapping deployment components"
59
+ type=Path,
60
+ help="Path to JSON configuration file for mapping deployment components",
60
61
  )
61
62
 
62
63
  def pytest_configure(config):
@@ -3,6 +3,7 @@ DataDescType:
3
3
 
4
4
  Defines an enumeration that represents each type of data packet that can be downlinked.
5
5
  """
6
+
6
7
  from enum import Enum
7
8
 
8
9
 
@@ -318,7 +318,6 @@ class ConfigDrivenParser(ParserBase):
318
318
 
319
319
  DEFAULT_CONFIGURATION_PATH = Path("fprime-gds.yml")
320
320
 
321
-
322
321
  @classmethod
323
322
  def set_default_configuration(cls, path: Path):
324
323
  """Set path for (global) default configuration file
@@ -417,7 +416,7 @@ class ConfigDrivenParser(ParserBase):
417
416
  relative_base = args.config.parent.absolute()
418
417
 
419
418
  def path_constructor(loader, node):
420
- """ Processes !PATH annotations as relative to current file """
419
+ """Processes !PATH annotations as relative to current file"""
421
420
  calculated_path = relative_base / loader.construct_scalar(node)
422
421
  return calculated_path
423
422
 
@@ -1028,7 +1027,7 @@ class DictionaryParser(DetectionParser):
1028
1027
  elif args.dictionary is None:
1029
1028
  args = super().handle_arguments(args, **kwargs)
1030
1029
  args.dictionary = find_dict(args.deployment)
1031
-
1030
+
1032
1031
  # Setup dictionaries encoders and decoders
1033
1032
  dictionaries = Dictionaries()
1034
1033
 
@@ -1108,7 +1107,7 @@ class StandardPipelineParser(CompositeParser):
1108
1107
  "dictionaries": args_ns.dictionaries,
1109
1108
  "file_store": args_ns.files_storage_directory,
1110
1109
  "logging_prefix": args_ns.logs,
1111
- "data_logging_enabled": not args_ns.disable_data_logging
1110
+ "data_logging_enabled": not args_ns.disable_data_logging,
1112
1111
  }
1113
1112
  pipeline = pipeline if pipeline else StandardPipeline()
1114
1113
  pipeline.transport_implementation = args_ns.connection_transport
@@ -1131,6 +1130,7 @@ class CommParser(CompositeParser):
1131
1130
  CommExtraParser,
1132
1131
  MiddleWareParser,
1133
1132
  LogDeployParser,
1133
+ DictionaryParser, # needed to get types from dictionary for framing
1134
1134
  ]
1135
1135
 
1136
1136
  def __init__(self):
@@ -51,8 +51,6 @@ def main():
51
51
  Plugins.system(["communication", "framing"])
52
52
  args, _ = fprime_gds.executables.cli.ParserBase.parse_args(
53
53
  [
54
- fprime_gds.executables.cli.LogDeployParser,
55
- fprime_gds.executables.cli.MiddleWareParser,
56
54
  fprime_gds.executables.cli.CommParser,
57
55
  fprime_gds.executables.cli.PluginArgumentParser,
58
56
  ],
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: fprime-gds
3
- Version: 4.0.2a4
3
+ Version: 4.0.2a5
4
4
  Summary: F Prime Flight Software Ground Data System layer
5
5
  Author-email: Michael Starch <Michael.D.Starch@jpl.nasa.gov>, Thomas Boyer-Chammard <Thomas.Boyer.Chammard@jpl.nasa.gov>
6
6
  License:
@@ -1,19 +0,0 @@
1
- """ ccsds.apid: APID mapping functions for F´ data """
2
- from fprime_gds.common.utils.data_desc_type import DataDescType
3
- from fprime.common.models.serialize.numerical_types import U32Type
4
-
5
- class APID(object):
6
- """ APID implementations """
7
- #TODO: use the DataDescType configured by loading the dictionary
8
-
9
- @classmethod
10
- def from_type(cls, data_type: DataDescType):
11
- """ Map from data description type to APID """
12
- return data_type.value
13
-
14
- @classmethod
15
- def from_data(cls, data):
16
- """ Map from data bytes to APID """
17
- u32_type = U32Type()
18
- u32_type.deserialize(data, offset=0)
19
- return cls.from_type(DataDescType(u32_type.val))
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes