fprime-gds 4.0.0a3__tar.gz → 4.0.0a4__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 (326) hide show
  1. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/PKG-INFO +1 -1
  2. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/common/communication/adapters/ip.py +14 -9
  3. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/common/communication/ccsds/space_packet.py +0 -1
  4. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/common/distributor/distributor.py +2 -1
  5. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/common/loaders/pkt_json_loader.py +4 -0
  6. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/common/pipeline/dictionaries.py +9 -1
  7. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds.egg-info/PKG-INFO +1 -1
  8. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/.github/ISSUE_TEMPLATE/config.yml +0 -0
  9. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/.github/actions/codeql/security-pack.yml +0 -0
  10. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/.github/actions/spelling/excludes.txt +0 -0
  11. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/.github/actions/spelling/expect.txt +0 -0
  12. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/.github/actions/spelling/patterns.txt +0 -0
  13. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/.github/pull_request_template.md +0 -0
  14. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/.github/resources/RefTopologyAppDictionary.xml +0 -0
  15. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/.github/workflows/codeql-security-scan.yml +0 -0
  16. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/.github/workflows/fprime-gds-tests.yml +0 -0
  17. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/.github/workflows/gds-cli-tests.yml +0 -0
  18. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/.github/workflows/publish.yml +0 -0
  19. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/.github/workflows/spelling.yml +0 -0
  20. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/.gitignore +0 -0
  21. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/Doxyfile +0 -0
  22. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/LICENSE.txt +0 -0
  23. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/NOTICE.txt +0 -0
  24. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/README.md +0 -0
  25. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/configs/__init__.py +0 -0
  26. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/docs/README.md +0 -0
  27. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/docs/_static/css/rtd_width.css +0 -0
  28. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/docs/conf.py +0 -0
  29. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/docs/gendoc.bash +0 -0
  30. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/docs/index.rst +0 -0
  31. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/examples/simple_sequence.bin +0 -0
  32. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/examples/simple_sequence.seq +0 -0
  33. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/pyproject.toml +0 -0
  34. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/setup.cfg +0 -0
  35. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/setup.py +0 -0
  36. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fastentrypoints.py +0 -0
  37. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/__init__.py +0 -0
  38. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/common/__init__.py +0 -0
  39. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/common/communication/__init__.py +0 -0
  40. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/common/communication/adapters/__init__.py +0 -0
  41. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/common/communication/adapters/base.py +0 -0
  42. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/common/communication/adapters/uart.py +0 -0
  43. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/common/communication/ccsds/__init__.py +0 -0
  44. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/common/communication/ccsds/apid.py +0 -0
  45. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/common/communication/ccsds/chain.py +0 -0
  46. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/common/communication/ccsds/space_data_link.py +0 -0
  47. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/common/communication/checksum.py +0 -0
  48. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/common/communication/framing.py +0 -0
  49. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/common/communication/ground.py +0 -0
  50. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/common/communication/updown.py +0 -0
  51. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/common/controllers/__init__.py +0 -0
  52. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/common/data_types/__init__.py +0 -0
  53. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/common/data_types/ch_data.py +0 -0
  54. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/common/data_types/cmd_data.py +0 -0
  55. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/common/data_types/event_data.py +0 -0
  56. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/common/data_types/exceptions.py +0 -0
  57. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/common/data_types/file_data.py +0 -0
  58. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/common/data_types/pkt_data.py +0 -0
  59. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/common/data_types/sys_data.py +0 -0
  60. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/common/decoders/__init__.py +0 -0
  61. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/common/decoders/ch_decoder.py +0 -0
  62. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/common/decoders/decoder.py +0 -0
  63. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/common/decoders/event_decoder.py +0 -0
  64. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/common/decoders/file_decoder.py +0 -0
  65. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/common/decoders/pkt_decoder.py +0 -0
  66. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/common/distributor/__init__.py +0 -0
  67. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/common/encoders/__init__.py +0 -0
  68. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/common/encoders/ch_encoder.py +0 -0
  69. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/common/encoders/cmd_encoder.py +0 -0
  70. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/common/encoders/encoder.py +0 -0
  71. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/common/encoders/event_encoder.py +0 -0
  72. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/common/encoders/file_encoder.py +0 -0
  73. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/common/encoders/pkt_encoder.py +0 -0
  74. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/common/encoders/seq_writer.py +0 -0
  75. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/common/files/File Decoder Documentation.txt +0 -0
  76. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/common/files/__init__.py +0 -0
  77. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/common/files/downlinker.py +0 -0
  78. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/common/files/helpers.py +0 -0
  79. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/common/files/uplinker.py +0 -0
  80. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/common/fpy/__init__.py +0 -0
  81. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/common/fpy/serialize_bytecode.py +0 -0
  82. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/common/fpy/types.py +0 -0
  83. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/common/gds_cli/__init__.py +0 -0
  84. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/common/gds_cli/base_commands.py +0 -0
  85. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/common/gds_cli/channels.py +0 -0
  86. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/common/gds_cli/command_send.py +0 -0
  87. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/common/gds_cli/events.py +0 -0
  88. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/common/gds_cli/filtering_utils.py +0 -0
  89. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/common/gds_cli/test_api_utils.py +0 -0
  90. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/common/handlers.py +0 -0
  91. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/common/history/__init__.py +0 -0
  92. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/common/history/chrono.py +0 -0
  93. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/common/history/history.py +0 -0
  94. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/common/history/ram.py +0 -0
  95. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/common/history/test.py +0 -0
  96. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/common/loaders/__init__.py +0 -0
  97. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/common/loaders/ch_json_loader.py +0 -0
  98. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/common/loaders/ch_xml_loader.py +0 -0
  99. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/common/loaders/cmd_json_loader.py +0 -0
  100. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/common/loaders/cmd_xml_loader.py +0 -0
  101. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/common/loaders/dict_loader.py +0 -0
  102. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/common/loaders/event_json_loader.py +0 -0
  103. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/common/loaders/event_xml_loader.py +0 -0
  104. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/common/loaders/fw_type_json_loader.py +0 -0
  105. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/common/loaders/json_loader.py +0 -0
  106. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/common/loaders/pkt_xml_loader.py +0 -0
  107. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/common/loaders/prm_json_loader.py +0 -0
  108. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/common/loaders/xml_loader.py +0 -0
  109. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/common/logger/__init__.py +0 -0
  110. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/common/logger/data_logger.py +0 -0
  111. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/common/logger/test_logger.py +0 -0
  112. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/common/models/__init__.py +0 -0
  113. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/common/models/common/__init__.py +0 -0
  114. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/common/models/common/channel_telemetry.py +0 -0
  115. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/common/models/common/command.py +0 -0
  116. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/common/models/common/event.py +0 -0
  117. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/common/parsers/__init__.py +0 -0
  118. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/common/parsers/seq_file_parser.py +0 -0
  119. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/common/pipeline/__init__.py +0 -0
  120. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/common/pipeline/encoding.py +0 -0
  121. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/common/pipeline/files.py +0 -0
  122. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/common/pipeline/histories.py +0 -0
  123. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/common/pipeline/router.py +0 -0
  124. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/common/pipeline/standard.py +0 -0
  125. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/common/templates/__init__.py +0 -0
  126. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/common/templates/ch_template.py +0 -0
  127. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/common/templates/cmd_template.py +0 -0
  128. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/common/templates/data_template.py +0 -0
  129. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/common/templates/event_template.py +0 -0
  130. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/common/templates/pkt_template.py +0 -0
  131. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/common/templates/prm_template.py +0 -0
  132. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/common/testing_fw/__init__.py +0 -0
  133. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/common/testing_fw/api.py +0 -0
  134. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/common/testing_fw/predicates.py +0 -0
  135. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/common/testing_fw/pytest_integration.py +0 -0
  136. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/common/tools/README.md +0 -0
  137. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/common/tools/__init__.py +0 -0
  138. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/common/tools/params.py +0 -0
  139. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/common/tools/seqgen.py +0 -0
  140. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/common/transport.py +0 -0
  141. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/common/utils/__init__.py +0 -0
  142. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/common/utils/config_manager.py +0 -0
  143. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/common/utils/data_desc_type.py +0 -0
  144. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/common/utils/event_severity.py +0 -0
  145. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/common/utils/string_util.py +0 -0
  146. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/common/zmq_transport.py +0 -0
  147. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/executables/__init__.py +0 -0
  148. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/executables/apps.py +0 -0
  149. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/executables/cli.py +0 -0
  150. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/executables/comm.py +0 -0
  151. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/executables/data_product_writer.py +0 -0
  152. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/executables/fprime_cli.py +0 -0
  153. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/executables/run_deployment.py +0 -0
  154. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/executables/tcpserver.py +0 -0
  155. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/executables/utils.py +0 -0
  156. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/flask/__init__.py +0 -0
  157. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/flask/app.py +0 -0
  158. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/flask/channels.py +0 -0
  159. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/flask/commands.py +0 -0
  160. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/flask/components.py +0 -0
  161. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/flask/default_settings.py +0 -0
  162. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/flask/errors.py +0 -0
  163. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/flask/events.py +0 -0
  164. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/flask/json.py +0 -0
  165. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/flask/logs.py +0 -0
  166. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/flask/requirements.txt +0 -0
  167. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/flask/resource.py +0 -0
  168. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/flask/sequence.py +0 -0
  169. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/flask/static/.idea/.gitignore +0 -0
  170. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/flask/static/.idea/misc.xml +0 -0
  171. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/flask/static/.idea/modules.xml +0 -0
  172. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/flask/static/.idea/static.iml +0 -0
  173. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/flask/static/.idea/vcs.xml +0 -0
  174. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/flask/static/addons/advanced-settings/addon-templates.js +0 -0
  175. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/flask/static/addons/advanced-settings/addon.js +0 -0
  176. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/flask/static/addons/channel-render/addon.js +0 -0
  177. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/flask/static/addons/channel-render/channel-render-template.js +0 -0
  178. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/flask/static/addons/channel-render/channel-render.js +0 -0
  179. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/flask/static/addons/chart-display/addon-templates.js +0 -0
  180. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/flask/static/addons/chart-display/addon.js +0 -0
  181. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/flask/static/addons/chart-display/config.js +0 -0
  182. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/flask/static/addons/chart-display/modified-vendor/chartjs-plugin-streaming.js +0 -0
  183. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/flask/static/addons/chart-display/modified-vendor/chartjs-plugin-zoom.js +0 -0
  184. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/flask/static/addons/chart-display/modified-vendor/flat.js +0 -0
  185. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/flask/static/addons/chart-display/sibling.js +0 -0
  186. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/flask/static/addons/chart-display/vendor/chart.js +0 -0
  187. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/flask/static/addons/chart-display/vendor/chartjs-adapter-luxon.min.js +0 -0
  188. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/flask/static/addons/chart-display/vendor/hammer.min.js +0 -0
  189. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/flask/static/addons/commanding/addon.js +0 -0
  190. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/flask/static/addons/commanding/argument-templates.js +0 -0
  191. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/flask/static/addons/commanding/arguments.js +0 -0
  192. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/flask/static/addons/commanding/command-history-template.js +0 -0
  193. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/flask/static/addons/commanding/command-history.js +0 -0
  194. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/flask/static/addons/commanding/command-input-template.js +0 -0
  195. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/flask/static/addons/commanding/command-input.js +0 -0
  196. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/flask/static/addons/commanding/command-string-template.js +0 -0
  197. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/flask/static/addons/commanding/command-string.js +0 -0
  198. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/flask/static/addons/dictionary/addon-templates.js +0 -0
  199. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/flask/static/addons/dictionary/addon.js +0 -0
  200. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/flask/static/addons/enabled.js +0 -0
  201. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/flask/static/addons/image-display/addon.js +0 -0
  202. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/flask/static/addons/image-display/dashboard.xml +0 -0
  203. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/flask/static/addons/sequencer/README.md +0 -0
  204. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/flask/static/addons/sequencer/addon-templates.js +0 -0
  205. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/flask/static/addons/sequencer/addon.js +0 -0
  206. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/flask/static/addons/sequencer/autocomplete.js +0 -0
  207. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/flask/static/addons/sequencer/lint.js +0 -0
  208. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/flask/static/addons/sequencer/third/code-mirror.es.js +0 -0
  209. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/flask/static/addons/sequencer/third/rollup/.gitignore +0 -0
  210. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/flask/static/addons/sequencer/third/rollup/index.js +0 -0
  211. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/flask/static/addons/sequencer/third/rollup/language.grammer +0 -0
  212. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/flask/static/addons/sequencer/third/rollup/package.json +0 -0
  213. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/flask/static/addons/sequencer/third/rollup/rollup.config.js +0 -0
  214. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/flask/static/css/fprime.css +0 -0
  215. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/flask/static/css/fpstyle.css +0 -0
  216. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/flask/static/favicon.ico +0 -0
  217. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/flask/static/img/error.svg +0 -0
  218. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/flask/static/img/logo.svg +0 -0
  219. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/flask/static/img/success.svg +0 -0
  220. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/flask/static/index.html +0 -0
  221. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/flask/static/js/config.js +0 -0
  222. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/flask/static/js/datastore.js +0 -0
  223. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/flask/static/js/gds.js +0 -0
  224. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/flask/static/js/json.js +0 -0
  225. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/flask/static/js/loader.js +0 -0
  226. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/flask/static/js/performance.js +0 -0
  227. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/flask/static/js/settings.js +0 -0
  228. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/flask/static/js/uploader.js +0 -0
  229. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/flask/static/js/validate.js +0 -0
  230. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/flask/static/js/vue-support/channel.js +0 -0
  231. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/flask/static/js/vue-support/dashboard-box.js +0 -0
  232. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/flask/static/js/vue-support/dashboard-row.js +0 -0
  233. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/flask/static/js/vue-support/dashboard.js +0 -0
  234. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/flask/static/js/vue-support/downlink.js +0 -0
  235. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/flask/static/js/vue-support/event.js +0 -0
  236. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/flask/static/js/vue-support/fp-row.js +0 -0
  237. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/flask/static/js/vue-support/fptable.js +0 -0
  238. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/flask/static/js/vue-support/log.js +0 -0
  239. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/flask/static/js/vue-support/tabetc.js +0 -0
  240. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/flask/static/js/vue-support/uplink.js +0 -0
  241. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/flask/static/js/vue-support/utils.js +0 -0
  242. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/flask/static/third-party/css/all.min.css +0 -0
  243. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/flask/static/third-party/css/bootstrap.min.css +0 -0
  244. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/flask/static/third-party/css/vue-select.css +0 -0
  245. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/flask/static/third-party/js/luxon.min.js +0 -0
  246. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/flask/static/third-party/js/sorttable.js +0 -0
  247. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/flask/static/third-party/js/v-runtime-template.js +0 -0
  248. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/flask/static/third-party/js/vue-select.js +0 -0
  249. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/flask/static/third-party/js/vue.min.js +0 -0
  250. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/flask/static/third-party/webfonts/fa-brands-400.eot +0 -0
  251. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/flask/static/third-party/webfonts/fa-brands-400.svg +0 -0
  252. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/flask/static/third-party/webfonts/fa-brands-400.ttf +0 -0
  253. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/flask/static/third-party/webfonts/fa-brands-400.woff +0 -0
  254. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/flask/static/third-party/webfonts/fa-brands-400.woff2 +0 -0
  255. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/flask/static/third-party/webfonts/fa-regular-400.eot +0 -0
  256. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/flask/static/third-party/webfonts/fa-regular-400.svg +0 -0
  257. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/flask/static/third-party/webfonts/fa-regular-400.ttf +0 -0
  258. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/flask/static/third-party/webfonts/fa-regular-400.woff +0 -0
  259. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/flask/static/third-party/webfonts/fa-regular-400.woff2 +0 -0
  260. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/flask/static/third-party/webfonts/fa-solid-900.eot +0 -0
  261. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/flask/static/third-party/webfonts/fa-solid-900.svg +0 -0
  262. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/flask/static/third-party/webfonts/fa-solid-900.ttf +0 -0
  263. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/flask/static/third-party/webfonts/fa-solid-900.woff +0 -0
  264. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/flask/static/third-party/webfonts/fa-solid-900.woff2 +0 -0
  265. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/flask/stats.py +0 -0
  266. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/flask/updown.py +0 -0
  267. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/plugin/__init__.py +0 -0
  268. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/plugin/definitions.py +0 -0
  269. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/plugin/system.py +0 -0
  270. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds/version.py +0 -0
  271. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds.egg-info/SOURCES.txt +0 -0
  272. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds.egg-info/dependency_links.txt +0 -0
  273. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds.egg-info/entry_points.txt +0 -0
  274. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds.egg-info/requires.txt +0 -0
  275. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/src/fprime_gds.egg-info/top_level.txt +0 -0
  276. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/test/fprime_gds/common/communication/ccsds/test_space_data_link.py +0 -0
  277. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/test/fprime_gds/common/communication/ccsds/test_space_packet.py +0 -0
  278. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/test/fprime_gds/common/data_types/test_cmd_data.py +0 -0
  279. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/test/fprime_gds/common/distributor/test_distributor.py +0 -0
  280. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/test/fprime_gds/common/encoders/test_ch_encoder.py +0 -0
  281. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/test/fprime_gds/common/encoders/test_event_encoder.py +0 -0
  282. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/test/fprime_gds/common/encoders/test_pkt_encoder.py +0 -0
  283. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/test/fprime_gds/common/fpy/integrated_tests.py +0 -0
  284. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/test/fprime_gds/common/gds_cli/filtering_utils_test.py +0 -0
  285. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/test/fprime_gds/common/gds_cli/utils_test.py +0 -0
  286. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/test/fprime_gds/common/history/chronohistory_unit_test.py +0 -0
  287. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/test/fprime_gds/common/history/testhistory_unit_test.py +0 -0
  288. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/test/fprime_gds/common/loaders/resources/RefTopologyDictionary.json +0 -0
  289. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/test/fprime_gds/common/loaders/test_json_loader.py +0 -0
  290. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/test/fprime_gds/common/testing_fw/UnitTestDictionary.xml +0 -0
  291. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/test/fprime_gds/common/testing_fw/api_unit_test.py +0 -0
  292. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/test/fprime_gds/common/testing_fw/logs/.gitignore +0 -0
  293. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/test/fprime_gds/common/testing_fw/predicate_unit_test.py +0 -0
  294. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/test/fprime_gds/common/tools/expected/simple_expected.bin +0 -0
  295. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/test/fprime_gds/common/tools/expected/simple_paramdb.dat +0 -0
  296. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/test/fprime_gds/common/tools/input/simple_bad_paramdb.json +0 -0
  297. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/test/fprime_gds/common/tools/input/simple_bad_sequence.seq +0 -0
  298. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/test/fprime_gds/common/tools/input/simple_paramdb.json +0 -0
  299. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/test/fprime_gds/common/tools/input/simple_sequence.seq +0 -0
  300. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/test/fprime_gds/common/tools/resources/simple_dictionary.json +0 -0
  301. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/test/fprime_gds/common/tools/resources/simple_dictionary.xml +0 -0
  302. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/test/fprime_gds/common/tools/seqgen_unit_test.py +0 -0
  303. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/test/fprime_gds/common/tools/test_paramdb_gen.py +0 -0
  304. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/test/fprime_gds/common/utils/test_string_util.py +0 -0
  305. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/test/fprime_gds/executables/.gitignore +0 -0
  306. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/test/fprime_gds/executables/dp_writer_data/dictionary.json +0 -0
  307. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/test/fprime_gds/executables/dp_writer_data/makeBool.bin +0 -0
  308. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/test/fprime_gds/executables/dp_writer_data/makeComplex.bin +0 -0
  309. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/test/fprime_gds/executables/dp_writer_data/makeDataArray.bin +0 -0
  310. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/test/fprime_gds/executables/dp_writer_data/makeEnum.bin +0 -0
  311. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/test/fprime_gds/executables/dp_writer_data/makeF32.bin +0 -0
  312. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/test/fprime_gds/executables/dp_writer_data/makeF64.bin +0 -0
  313. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/test/fprime_gds/executables/dp_writer_data/makeFppArray.bin +0 -0
  314. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/test/fprime_gds/executables/dp_writer_data/makeI16.bin +0 -0
  315. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/test/fprime_gds/executables/dp_writer_data/makeI32.bin +0 -0
  316. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/test/fprime_gds/executables/dp_writer_data/makeI64.bin +0 -0
  317. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/test/fprime_gds/executables/dp_writer_data/makeI8.bin +0 -0
  318. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/test/fprime_gds/executables/dp_writer_data/makeU32.bin +0 -0
  319. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/test/fprime_gds/executables/dp_writer_data/makeU32Array.bin +0 -0
  320. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/test/fprime_gds/executables/dp_writer_data/makeU8Array.bin +0 -0
  321. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/test/fprime_gds/executables/test_data_product_writer.py +0 -0
  322. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/test/fprime_gds/executables/test_run_deployment.py +0 -0
  323. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/test/fprime_gds/executables/test_utils.py +0 -0
  324. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/test/fprime_gds/sample/dictionary.xml +0 -0
  325. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/test/fprime_gds/test_plugins.py +0 -0
  326. {fprime_gds-4.0.0a3 → fprime_gds-4.0.0a4}/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.0a3
3
+ Version: 4.0.0a4
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:
@@ -50,13 +50,11 @@ class IpAdapter(fprime_gds.common.communication.adapters.base.BaseAdapter):
50
50
  both. This data is concatenated and returned up the stack for processing.
51
51
  """
52
52
 
53
- # Interval to send a KEEPALIVE packet. None will turn off KEEPALIVE.
54
- KEEPALIVE_INTERVAL = 0.500
55
53
  # Data to send out as part of the KEEPALIVE packet. Should not be null nor empty.
56
54
  KEEPALIVE_DATA = b"sitting well"
57
55
  MAXIMUM_DATA_SIZE = 4096
58
56
 
59
- def __init__(self, address, port, server=True):
57
+ def __init__(self, address, port, server=True, keepalive_interval=0.5):
60
58
  """
61
59
  Initialize this adapter by creating a handler for UDP and TCP. A thread for the KEEPALIVE application packets
62
60
  will be created, if the interval is not none. Handlers are servers unless server=False.
@@ -64,7 +62,8 @@ class IpAdapter(fprime_gds.common.communication.adapters.base.BaseAdapter):
64
62
  self.address = address
65
63
  self.port = port
66
64
  self.stop = False
67
- self.keepalive = None
65
+ self.keepalive_thread = None
66
+ self.keepalive_interval = keepalive_interval
68
67
  self.tcp = TcpHandler(address, port, server=server)
69
68
  self.udp = UdpHandler(address, port, server=server)
70
69
  self.thtcp = None
@@ -91,11 +90,11 @@ class IpAdapter(fprime_gds.common.communication.adapters.base.BaseAdapter):
91
90
  self.thudp.daemon = True
92
91
  self.thudp.start()
93
92
  # Start up a keep-alive ping if desired. This will hit the TCP uplink, and die if the connection is down
94
- if IpAdapter.KEEPALIVE_INTERVAL is not None:
95
- self.keepalive = threading.Thread(
96
- target=self.th_alive, name="KeepCommAliveThread", args=[float(self.KEEPALIVE_INTERVAL)]
93
+ if self.keepalive_interval > 0.0:
94
+ self.keepalive_thread = threading.Thread(
95
+ target=self.th_alive, name="KeepCommAliveThread", args=[self.keepalive_interval]
97
96
  )
98
- self.keepalive.start()
97
+ self.keepalive_thread.start()
99
98
  except (ValueError, TypeError) as exc:
100
99
  LOGGER.error(
101
100
  f"Failed to start keep-alive thread. {type(exc).__name__}: {str(exc)}"
@@ -186,6 +185,12 @@ class IpAdapter(fprime_gds.common.communication.adapters.base.BaseAdapter):
186
185
  "default": True,
187
186
  "help": "Run the IP adapter as the client (connects to FSW running TcpServer)",
188
187
  },
188
+ ("--keepalive-interval",): {
189
+ "dest": "keepalive_interval",
190
+ "type": float,
191
+ "default": 0.5000,
192
+ "help": "Keep alive packet interval. 0.0 = off, default = 0.5",
193
+ },
189
194
  }
190
195
 
191
196
  @classmethod
@@ -195,7 +200,7 @@ class IpAdapter(fprime_gds.common.communication.adapters.base.BaseAdapter):
195
200
  return cls
196
201
 
197
202
  @classmethod
198
- def check_arguments(cls, address, port, server=True):
203
+ def check_arguments(cls, address, port, server=True, keepalive_interval=0.5):
199
204
  """
200
205
  Code that should check arguments of this adapter. If there is a problem with this code, then a "ValueError"
201
206
  should be raised describing the problem with these arguments.
@@ -15,7 +15,6 @@ from .apid import APID
15
15
  import logging
16
16
 
17
17
  LOGGER = logging.getLogger("framing")
18
- LOGGER.setLevel(logging.DEBUG)
19
18
 
20
19
 
21
20
  @gds_plugin(FramerDeframer)
@@ -199,9 +199,10 @@ class Distributor(DataHandler):
199
199
  (length, data_desc, msg) = self.parse_raw_msg_api(raw_msg)
200
200
 
201
201
  data_desc_key = data_desc_type.DataDescType(data_desc).name
202
-
203
202
  for d in self.__decoders[data_desc_key]:
204
203
  try:
205
204
  d.data_callback(msg)
206
205
  except DecodingException as dexc:
207
206
  LOGGER.warning("Decoding error occurred: %s. Skipping.", dexc)
207
+ else:
208
+ LOGGER.warning("No decoder registered for: %s", data_desc_type.DataDescType(data_desc).name)
@@ -19,6 +19,10 @@ class PktJsonLoader(JsonLoader):
19
19
  SET_NAME = "name"
20
20
  MEMBERS = "members"
21
21
 
22
+ def get_packet_set_names(self, path):
23
+ """ Get the list of packet sets """
24
+ return [packet_set[self.SET_NAME] for packet_set in self.json_dict[self.PACKETS_FIELD]]
25
+
22
26
  def get_id_dict(self, path, packet_set_name: str, ch_name_dict: dict):
23
27
  if path in self.saved_dicts and packet_set_name in self.saved_dicts[path]:
24
28
  (id_dict, name_dict) = self.saved_dicts[path][packet_set_name]
@@ -128,8 +128,16 @@ class Dictionaries:
128
128
  msg = f"[ERROR] Dictionary '{dictionary}' does not exist."
129
129
  raise Exception(msg)
130
130
  # Check for packet specification
131
- if self._metadata["dictionary_type"] == "json" and packet_set_name is not None:
131
+ if self._metadata["dictionary_type"] == "json":
132
132
  packet_loader = fprime_gds.common.loaders.pkt_json_loader.PktJsonLoader(dictionary)
133
+ if packet_set_name is None:
134
+ names = packet_loader.get_packet_set_names(None)
135
+ if len(names) == 0:
136
+ self._packet_dict = None
137
+ return
138
+ elif len(names) > 1:
139
+ raise Exception("[ERROR] Multiple packet sets, must set --packet-set-name")
140
+ packet_set_name = names[0]
133
141
  self._packet_dict = packet_loader.get_id_dict(
134
142
  None, packet_set_name, self._channel_name_dict
135
143
  )
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: fprime-gds
3
- Version: 4.0.0a3
3
+ Version: 4.0.0a4
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:
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes