fprime-gds 3.4.4a1__tar.gz → 3.4.4a3__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 (310) hide show
  1. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/.github/actions/spelling/excludes.txt +4 -3
  2. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/.github/actions/spelling/expect.txt +41 -6
  3. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/PKG-INFO +3 -2
  4. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/README.md +1 -1
  5. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/pyproject.toml +2 -2
  6. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/data_types/event_data.py +6 -1
  7. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/data_types/exceptions.py +16 -11
  8. fprime_gds-3.4.4a3/src/fprime_gds/common/loaders/ch_json_loader.py +107 -0
  9. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/loaders/ch_xml_loader.py +5 -5
  10. fprime_gds-3.4.4a3/src/fprime_gds/common/loaders/cmd_json_loader.py +85 -0
  11. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/loaders/dict_loader.py +1 -1
  12. fprime_gds-3.4.4a3/src/fprime_gds/common/loaders/event_json_loader.py +108 -0
  13. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/loaders/event_xml_loader.py +10 -6
  14. fprime_gds-3.4.4a3/src/fprime_gds/common/loaders/json_loader.py +222 -0
  15. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/loaders/xml_loader.py +31 -9
  16. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/pipeline/dictionaries.py +38 -3
  17. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/tools/seqgen.py +4 -4
  18. fprime_gds-3.4.4a3/src/fprime_gds/common/utils/string_util.py +110 -0
  19. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/zmq_transport.py +4 -2
  20. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/executables/cli.py +21 -39
  21. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/executables/comm.py +3 -10
  22. fprime_gds-3.4.4a3/src/fprime_gds/executables/data_product_writer.py +935 -0
  23. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/executables/utils.py +23 -11
  24. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/sequence.py +1 -1
  25. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/addons/commanding/command-input.js +3 -2
  26. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds.egg-info/PKG-INFO +3 -2
  27. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds.egg-info/SOURCES.txt +29 -0
  28. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds.egg-info/entry_points.txt +2 -3
  29. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds.egg-info/requires.txt +1 -0
  30. fprime_gds-3.4.4a3/test/fprime_gds/common/loaders/resources/RefTopologyDictionary.json +9659 -0
  31. fprime_gds-3.4.4a3/test/fprime_gds/common/loaders/test_json_loader.py +152 -0
  32. fprime_gds-3.4.4a3/test/fprime_gds/common/tools/expected/simple_expected.bin +0 -0
  33. fprime_gds-3.4.4a3/test/fprime_gds/common/tools/input/simple_bad_sequence.seq +9 -0
  34. fprime_gds-3.4.4a3/test/fprime_gds/common/tools/input/simple_sequence.seq +8 -0
  35. fprime_gds-3.4.4a3/test/fprime_gds/common/tools/resources/simple_dictionary.json +40 -0
  36. fprime_gds-3.4.4a3/test/fprime_gds/common/tools/resources/simple_dictionary.xml +12 -0
  37. fprime_gds-3.4.4a3/test/fprime_gds/common/tools/seqgen_unit_test.py +42 -0
  38. fprime_gds-3.4.4a3/test/fprime_gds/common/utils/test_string_util.py +206 -0
  39. fprime_gds-3.4.4a3/test/fprime_gds/executables/.gitignore +1 -0
  40. fprime_gds-3.4.4a3/test/fprime_gds/executables/dp_writer_data/dictionary.json +9934 -0
  41. fprime_gds-3.4.4a3/test/fprime_gds/executables/dp_writer_data/makeBool.bin +0 -0
  42. fprime_gds-3.4.4a3/test/fprime_gds/executables/dp_writer_data/makeComplex.bin +0 -0
  43. fprime_gds-3.4.4a3/test/fprime_gds/executables/dp_writer_data/makeDataArray.bin +0 -0
  44. fprime_gds-3.4.4a3/test/fprime_gds/executables/dp_writer_data/makeEnum.bin +0 -0
  45. fprime_gds-3.4.4a3/test/fprime_gds/executables/dp_writer_data/makeF32.bin +0 -0
  46. fprime_gds-3.4.4a3/test/fprime_gds/executables/dp_writer_data/makeF64.bin +0 -0
  47. fprime_gds-3.4.4a3/test/fprime_gds/executables/dp_writer_data/makeFppArray.bin +0 -0
  48. fprime_gds-3.4.4a3/test/fprime_gds/executables/dp_writer_data/makeI16.bin +0 -0
  49. fprime_gds-3.4.4a3/test/fprime_gds/executables/dp_writer_data/makeI32.bin +0 -0
  50. fprime_gds-3.4.4a3/test/fprime_gds/executables/dp_writer_data/makeI64.bin +0 -0
  51. fprime_gds-3.4.4a3/test/fprime_gds/executables/dp_writer_data/makeI8.bin +0 -0
  52. fprime_gds-3.4.4a3/test/fprime_gds/executables/dp_writer_data/makeU32.bin +0 -0
  53. fprime_gds-3.4.4a3/test/fprime_gds/executables/dp_writer_data/makeU32Array.bin +0 -0
  54. fprime_gds-3.4.4a3/test/fprime_gds/executables/dp_writer_data/makeU8Array.bin +0 -0
  55. fprime_gds-3.4.4a3/test/fprime_gds/executables/test_data_product_writer.py +49 -0
  56. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/test/fprime_gds/test_plugins.py +1 -1
  57. fprime-gds-3.4.4a1/src/fprime_gds/common/utils/string_util.py +0 -118
  58. fprime-gds-3.4.4a1/test/fprime_gds/common/tools/seqgen_unit_test.py +0 -7
  59. fprime-gds-3.4.4a1/test/fprime_gds/common/utils/test_string_util.py +0 -129
  60. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/.github/ISSUE_TEMPLATE/config.yml +0 -0
  61. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/.github/actions/codeql/security-pack.yml +0 -0
  62. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/.github/actions/spelling/patterns.txt +0 -0
  63. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/.github/pull_request_template.md +0 -0
  64. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/.github/resources/RefTopologyAppDictionary.xml +0 -0
  65. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/.github/workflows/codeql-security-scan.yml +0 -0
  66. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/.github/workflows/fprime-gds-tests.yml +0 -0
  67. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/.github/workflows/gds-cli-tests.yml +0 -0
  68. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/.github/workflows/publish.yml +0 -0
  69. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/.github/workflows/spelling.yml +0 -0
  70. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/.gitignore +0 -0
  71. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/Doxyfile +0 -0
  72. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/LICENSE.txt +0 -0
  73. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/NOTICE.txt +0 -0
  74. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/configs/__init__.py +0 -0
  75. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/docs/README.md +0 -0
  76. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/docs/_static/css/rtd_width.css +0 -0
  77. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/docs/conf.py +0 -0
  78. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/docs/gendoc.bash +0 -0
  79. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/docs/index.rst +0 -0
  80. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/examples/simple_sequence.bin +0 -0
  81. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/examples/simple_sequence.seq +0 -0
  82. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/setup.cfg +0 -0
  83. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/setup.py +0 -0
  84. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fastentrypoints.py +0 -0
  85. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/__init__.py +0 -0
  86. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/__init__.py +0 -0
  87. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/communication/__init__.py +0 -0
  88. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/communication/adapters/__init__.py +0 -0
  89. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/communication/adapters/base.py +0 -0
  90. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/communication/adapters/ip.py +0 -0
  91. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/communication/adapters/uart.py +0 -0
  92. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/communication/checksum.py +0 -0
  93. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/communication/framing.py +0 -0
  94. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/communication/ground.py +0 -0
  95. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/communication/updown.py +0 -0
  96. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/controllers/__init__.py +0 -0
  97. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/data_types/__init__.py +0 -0
  98. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/data_types/ch_data.py +0 -0
  99. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/data_types/cmd_data.py +0 -0
  100. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/data_types/file_data.py +0 -0
  101. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/data_types/pkt_data.py +0 -0
  102. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/data_types/sys_data.py +0 -0
  103. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/decoders/__init__.py +0 -0
  104. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/decoders/ch_decoder.py +0 -0
  105. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/decoders/decoder.py +0 -0
  106. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/decoders/event_decoder.py +0 -0
  107. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/decoders/file_decoder.py +0 -0
  108. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/decoders/pkt_decoder.py +0 -0
  109. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/distributor/__init__.py +0 -0
  110. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/distributor/distributor.py +0 -0
  111. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/encoders/__init__.py +0 -0
  112. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/encoders/ch_encoder.py +0 -0
  113. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/encoders/cmd_encoder.py +0 -0
  114. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/encoders/encoder.py +0 -0
  115. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/encoders/event_encoder.py +0 -0
  116. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/encoders/file_encoder.py +0 -0
  117. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/encoders/pkt_encoder.py +0 -0
  118. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/encoders/seq_writer.py +0 -0
  119. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/files/File Decoder Documentation.txt +0 -0
  120. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/files/__init__.py +0 -0
  121. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/files/downlinker.py +0 -0
  122. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/files/helpers.py +0 -0
  123. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/files/uplinker.py +0 -0
  124. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/gds_cli/__init__.py +0 -0
  125. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/gds_cli/base_commands.py +0 -0
  126. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/gds_cli/channels.py +0 -0
  127. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/gds_cli/command_send.py +0 -0
  128. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/gds_cli/events.py +0 -0
  129. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/gds_cli/filtering_utils.py +0 -0
  130. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/gds_cli/test_api_utils.py +0 -0
  131. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/handlers.py +0 -0
  132. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/history/__init__.py +0 -0
  133. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/history/chrono.py +0 -0
  134. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/history/history.py +0 -0
  135. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/history/ram.py +0 -0
  136. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/history/test.py +0 -0
  137. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/loaders/__init__.py +0 -0
  138. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/loaders/ch_py_loader.py +0 -0
  139. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/loaders/cmd_py_loader.py +0 -0
  140. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/loaders/cmd_xml_loader.py +0 -0
  141. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/loaders/event_py_loader.py +0 -0
  142. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/loaders/pkt_xml_loader.py +0 -0
  143. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/loaders/python_loader.py +0 -0
  144. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/logger/__init__.py +0 -0
  145. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/logger/data_logger.py +0 -0
  146. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/logger/test_logger.py +0 -0
  147. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/models/__init__.py +0 -0
  148. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/models/common/__init__.py +0 -0
  149. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/models/common/channel_telemetry.py +0 -0
  150. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/models/common/command.py +0 -0
  151. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/models/common/event.py +0 -0
  152. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/parsers/__init__.py +0 -0
  153. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/parsers/seq_file_parser.py +0 -0
  154. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/pipeline/__init__.py +0 -0
  155. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/pipeline/encoding.py +0 -0
  156. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/pipeline/files.py +0 -0
  157. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/pipeline/histories.py +0 -0
  158. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/pipeline/router.py +0 -0
  159. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/pipeline/standard.py +0 -0
  160. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/templates/__init__.py +0 -0
  161. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/templates/ch_template.py +0 -0
  162. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/templates/cmd_template.py +0 -0
  163. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/templates/data_template.py +0 -0
  164. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/templates/event_template.py +0 -0
  165. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/templates/pkt_template.py +0 -0
  166. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/testing_fw/__init__.py +0 -0
  167. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/testing_fw/api.py +0 -0
  168. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/testing_fw/predicates.py +0 -0
  169. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/testing_fw/pytest_integration.py +0 -0
  170. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/tools/__init__.py +0 -0
  171. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/transport.py +0 -0
  172. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/utils/__init__.py +0 -0
  173. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/utils/config_manager.py +0 -0
  174. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/utils/data_desc_type.py +0 -0
  175. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/utils/event_severity.py +0 -0
  176. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/executables/__init__.py +0 -0
  177. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/executables/apps.py +0 -0
  178. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/executables/fprime_cli.py +0 -0
  179. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/executables/run_deployment.py +0 -0
  180. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/executables/tcpserver.py +0 -0
  181. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/__init__.py +0 -0
  182. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/app.py +0 -0
  183. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/channels.py +0 -0
  184. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/commands.py +0 -0
  185. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/components.py +0 -0
  186. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/default_settings.py +0 -0
  187. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/errors.py +0 -0
  188. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/events.py +0 -0
  189. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/json.py +0 -0
  190. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/logs.py +0 -0
  191. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/requirements.txt +0 -0
  192. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/resource.py +0 -0
  193. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/.idea/.gitignore +0 -0
  194. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/.idea/misc.xml +0 -0
  195. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/.idea/modules.xml +0 -0
  196. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/.idea/static.iml +0 -0
  197. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/.idea/vcs.xml +0 -0
  198. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/addons/advanced-settings/addon-templates.js +0 -0
  199. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/addons/advanced-settings/addon.js +0 -0
  200. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/addons/channel-render/addon.js +0 -0
  201. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/addons/channel-render/channel-render-template.js +0 -0
  202. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/addons/channel-render/channel-render.js +0 -0
  203. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/addons/chart-display/addon-templates.js +0 -0
  204. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/addons/chart-display/addon.js +0 -0
  205. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/addons/chart-display/config.js +0 -0
  206. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/addons/chart-display/modified-vendor/chartjs-plugin-streaming.js +0 -0
  207. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/addons/chart-display/modified-vendor/chartjs-plugin-zoom.js +0 -0
  208. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/addons/chart-display/modified-vendor/flat.js +0 -0
  209. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/addons/chart-display/sibling.js +0 -0
  210. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/addons/chart-display/vendor/chart.js +0 -0
  211. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/addons/chart-display/vendor/chartjs-adapter-luxon.min.js +0 -0
  212. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/addons/chart-display/vendor/hammer.min.js +0 -0
  213. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/addons/commanding/addon.js +0 -0
  214. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/addons/commanding/argument-templates.js +0 -0
  215. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/addons/commanding/arguments.js +0 -0
  216. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/addons/commanding/command-history-template.js +0 -0
  217. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/addons/commanding/command-history.js +0 -0
  218. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/addons/commanding/command-input-template.js +0 -0
  219. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/addons/commanding/command-string-template.js +0 -0
  220. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/addons/commanding/command-string.js +0 -0
  221. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/addons/dictionary/addon-templates.js +0 -0
  222. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/addons/dictionary/addon.js +0 -0
  223. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/addons/enabled.js +0 -0
  224. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/addons/image-display/addon.js +0 -0
  225. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/addons/image-display/dashboard.xml +0 -0
  226. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/addons/sequencer/README.md +0 -0
  227. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/addons/sequencer/addon-templates.js +0 -0
  228. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/addons/sequencer/addon.js +0 -0
  229. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/addons/sequencer/autocomplete.js +0 -0
  230. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/addons/sequencer/lint.js +0 -0
  231. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/addons/sequencer/third/code-mirror.es.js +0 -0
  232. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/addons/sequencer/third/rollup/.gitignore +0 -0
  233. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/addons/sequencer/third/rollup/index.js +0 -0
  234. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/addons/sequencer/third/rollup/language.grammer +0 -0
  235. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/addons/sequencer/third/rollup/package.json +0 -0
  236. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/addons/sequencer/third/rollup/rollup.config.js +0 -0
  237. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/css/fprime.css +0 -0
  238. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/css/fpstyle.css +0 -0
  239. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/favicon.ico +0 -0
  240. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/img/error.svg +0 -0
  241. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/img/logo.svg +0 -0
  242. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/img/success.svg +0 -0
  243. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/index.html +0 -0
  244. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/js/config.js +0 -0
  245. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/js/datastore.js +0 -0
  246. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/js/gds.js +0 -0
  247. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/js/loader.js +0 -0
  248. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/js/performance.js +0 -0
  249. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/js/settings.js +0 -0
  250. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/js/uploader.js +0 -0
  251. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/js/validate.js +0 -0
  252. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/js/vue-support/channel.js +0 -0
  253. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/js/vue-support/dashboard-box.js +0 -0
  254. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/js/vue-support/dashboard-row.js +0 -0
  255. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/js/vue-support/dashboard.js +0 -0
  256. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/js/vue-support/downlink.js +0 -0
  257. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/js/vue-support/event.js +0 -0
  258. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/js/vue-support/fp-row.js +0 -0
  259. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/js/vue-support/fptable.js +0 -0
  260. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/js/vue-support/log.js +0 -0
  261. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/js/vue-support/tabetc.js +0 -0
  262. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/js/vue-support/uplink.js +0 -0
  263. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/js/vue-support/utils.js +0 -0
  264. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/third-party/css/all.min.css +0 -0
  265. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/third-party/css/bootstrap.min.css +0 -0
  266. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/third-party/css/vue-select.css +0 -0
  267. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/third-party/js/luxon.min.js +0 -0
  268. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/third-party/js/sorttable.js +0 -0
  269. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/third-party/js/v-runtime-template.js +0 -0
  270. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/third-party/js/vue-select.js +0 -0
  271. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/third-party/js/vue.min.js +0 -0
  272. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/third-party/webfonts/fa-brands-400.eot +0 -0
  273. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/third-party/webfonts/fa-brands-400.svg +0 -0
  274. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/third-party/webfonts/fa-brands-400.ttf +0 -0
  275. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/third-party/webfonts/fa-brands-400.woff +0 -0
  276. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/third-party/webfonts/fa-brands-400.woff2 +0 -0
  277. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/third-party/webfonts/fa-regular-400.eot +0 -0
  278. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/third-party/webfonts/fa-regular-400.svg +0 -0
  279. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/third-party/webfonts/fa-regular-400.ttf +0 -0
  280. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/third-party/webfonts/fa-regular-400.woff +0 -0
  281. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/third-party/webfonts/fa-regular-400.woff2 +0 -0
  282. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/third-party/webfonts/fa-solid-900.eot +0 -0
  283. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/third-party/webfonts/fa-solid-900.svg +0 -0
  284. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/third-party/webfonts/fa-solid-900.ttf +0 -0
  285. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/third-party/webfonts/fa-solid-900.woff +0 -0
  286. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/third-party/webfonts/fa-solid-900.woff2 +0 -0
  287. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/stats.py +0 -0
  288. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/updown.py +0 -0
  289. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/plugin/__init__.py +0 -0
  290. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/plugin/definitions.py +0 -0
  291. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/plugin/system.py +0 -0
  292. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/version.py +0 -0
  293. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds.egg-info/dependency_links.txt +0 -0
  294. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds.egg-info/top_level.txt +0 -0
  295. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/test/fprime_gds/common/distributor/test_distributor.py +0 -0
  296. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/test/fprime_gds/common/encoders/test_ch_encoder.py +0 -0
  297. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/test/fprime_gds/common/encoders/test_event_encoder.py +0 -0
  298. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/test/fprime_gds/common/encoders/test_pkt_encoder.py +0 -0
  299. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/test/fprime_gds/common/gds_cli/filtering_utils_test.py +0 -0
  300. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/test/fprime_gds/common/gds_cli/utils_test.py +0 -0
  301. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/test/fprime_gds/common/history/chronohistory_unit_test.py +0 -0
  302. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/test/fprime_gds/common/history/testhistory_unit_test.py +0 -0
  303. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/test/fprime_gds/common/testing_fw/UnitTestDictionary.xml +0 -0
  304. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/test/fprime_gds/common/testing_fw/api_unit_test.py +0 -0
  305. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/test/fprime_gds/common/testing_fw/logs/.gitignore +0 -0
  306. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/test/fprime_gds/common/testing_fw/predicate_unit_test.py +0 -0
  307. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/test/fprime_gds/executables/test_run_deployment.py +0 -0
  308. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/test/fprime_gds/executables/test_utils.py +0 -0
  309. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/test/fprime_gds/sample/dictionary.xml +0 -0
  310. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/test/gui/GUI_Test_Procedure.md +0 -0
@@ -1,3 +1,5 @@
1
+ pyproject.toml
2
+ setup.py
1
3
  ignore$
2
4
  /html/
3
5
  (?:^|/)(?i)COPYRIGHT
@@ -5,6 +7,8 @@ ignore$
5
7
  (?:^|/)vendor/
6
8
  ^\.github/
7
9
  ^Autocoders/Python/test/.*\.xml$
10
+ RefTopologyDictionary.json
11
+ dictionary.xml
8
12
  /doc/xml/
9
13
  /third-party/
10
14
  /third/
@@ -43,6 +47,3 @@ ignore$
43
47
  \.xlsx$
44
48
  \.xsd$
45
49
  \.ico$
46
- pyproject.toml
47
- setup.py
48
- dictionary.xml
@@ -47,10 +47,12 @@ backport
47
47
  basestring
48
48
  batchmode
49
49
  baudrate
50
+ bcolors
50
51
  beforeunload
51
52
  BGR
52
53
  Biberstein
53
54
  bibtex
55
+ binascii
54
56
  bitmaps
55
57
  blockquote
56
58
  bmp
@@ -67,8 +69,9 @@ cata
67
69
  cbl
68
70
  CCB
69
71
  CCFF
70
- cdn
71
72
  Cdioux
73
+ cdn
74
+ cdxoefg
72
75
  CFDG
73
76
  CFDP
74
77
  CFPD
@@ -76,6 +79,7 @@ cgi
76
79
  Chainable
77
80
  chartjs
78
81
  checkbox
82
+ CHNG
79
83
  chrono
80
84
  classdocs
81
85
  classmethod
@@ -85,6 +89,7 @@ cls
85
89
  CMake
86
90
  cmdhist
87
91
  cmds
92
+ cmp
88
93
  CODEFILE
89
94
  Codemirror
90
95
  colorized
@@ -95,8 +100,8 @@ combuffer
95
100
  commandsi
96
101
  concat
97
102
  config
98
- configs
99
103
  configparser
104
+ configs
100
105
  Consolas
101
106
  cpp
102
107
  CPython
@@ -128,9 +133,12 @@ deframed
128
133
  deframer
129
134
  deframing
130
135
  DEPRECATEDLIST
136
+ DESER
137
+ Deserial
131
138
  deserialization
132
139
  deserialize
133
140
  deserialized
141
+ deserializes
134
142
  deserializing
135
143
  dest
136
144
  dexc
@@ -166,10 +174,14 @@ doxyrules
166
174
  doxysearch
167
175
  Doxywizard
168
176
  doy
177
+ dpi
178
+ dps
179
+ dpspec
169
180
  dropdown
170
181
  dropleft
171
182
  dropright
172
183
  dropup
184
+ Drv
173
185
  Dsh
174
186
  dst
175
187
  dts
@@ -183,6 +195,7 @@ EINPROGRESS
183
195
  elif
184
196
  Emoji
185
197
  encodable
198
+ ENDC
186
199
  endcond
187
200
  endian
188
201
  endif
@@ -191,6 +204,7 @@ endtime
191
204
  enqueuing
192
205
  entrypoint
193
206
  enum
207
+ Enumtype
194
208
  envvar
195
209
  errno
196
210
  errored
@@ -216,9 +230,12 @@ FFCC
216
230
  FFFF
217
231
  fieldset
218
232
  figcaption
233
+ figsize
234
+ filecmp
219
235
  filemode
220
236
  fileno
221
237
  filepath
238
+ filesize
222
239
  fileurl
223
240
  finditer
224
241
  Firefox
@@ -229,6 +246,7 @@ focusring
229
246
  FONTNAME
230
247
  FONTPATH
231
248
  FONTSIZE
249
+ fpp
232
250
  fprime
233
251
  fptable
234
252
  frac
@@ -277,6 +295,7 @@ hidecallergraph
277
295
  hidecallgraph
278
296
  hideinitializer
279
297
  hlp
298
+ HLTH
280
299
  Hookimpl
281
300
  hookspec
282
301
  hostname
@@ -360,6 +379,7 @@ libc
360
379
  libclang
361
380
  libcrc
362
381
  libiconv
382
+ lineno
363
383
  Linting
364
384
  Linux
365
385
  listbox
@@ -384,6 +404,7 @@ MAKEVAR
384
404
  marijnh
385
405
  matchobj
386
406
  mathjax
407
+ matplotlib
387
408
  maxcountryman
388
409
  maxdepth
389
410
  mcternan
@@ -412,6 +433,7 @@ myproject
412
433
  namespace
413
434
  nargs
414
435
  navbar
436
+ nbytes
415
437
  Neue
416
438
  newname
417
439
  Nify
@@ -420,6 +442,7 @@ nitpicky
420
442
  noapp
421
443
  noqa
422
444
  normpath
445
+ NOSONAR
423
446
  nosort
424
447
  Noto
425
448
  novalidate
@@ -433,6 +456,8 @@ odl
433
456
  odo
434
457
  oga
435
458
  ogg
459
+ OKBLUE
460
+ OKGREEN
436
461
  OMG
437
462
  onabort
438
463
  onerror
@@ -465,10 +490,12 @@ php
465
490
  phtml
466
491
  pid
467
492
  pkgutil
493
+ pkts
468
494
  Pkts
469
495
  plainnat
470
496
  plantuml
471
497
  plist
498
+ plt
472
499
  plugin
473
500
  png
474
501
  PNGs
@@ -476,6 +503,7 @@ popen
476
503
  posixpath
477
504
  PREDEF
478
505
  preds
506
+ prm
479
507
  procs
480
508
  PROGRAMLISTING
481
509
  progressbar
@@ -490,8 +518,10 @@ ptr
490
518
  px
491
519
  py
492
520
  pyc
521
+ pydantic
493
522
  pylint
494
523
  pypi
524
+ pyplot
495
525
  pyserial
496
526
  pytest
497
527
  PYTHONHOME
@@ -512,6 +542,7 @@ RCE
512
542
  RCVHWM
513
543
  RCVTIMEO
514
544
  RDWR
545
+ Readback
515
546
  readlines
516
547
  README
517
548
  readonly
@@ -540,10 +571,12 @@ RLock
540
571
  Roboto
541
572
  rollup
542
573
  rpaetz
574
+ rsplit
543
575
  rst
544
576
  rtd
545
577
  rtf
546
578
  saba
579
+ savefig
547
580
  scm
548
581
  scrollable
549
582
  scrollbar
@@ -659,8 +692,8 @@ ttl
659
692
  tts
660
693
  twbs
661
694
  txz
662
- typedef'ed
663
695
  typedef
696
+ typedef'ed
664
697
  typehints
665
698
  typeof
666
699
  tzinfo
@@ -676,6 +709,7 @@ UML
676
709
  undef
677
710
  undoc
678
711
  unicode
712
+ UNINIT
679
713
  unittest
680
714
  unpause
681
715
  updown
@@ -685,7 +719,6 @@ uplinkvue
685
719
  uploader
686
720
  upto
687
721
  uri
688
- URI
689
722
  url
690
723
  usec
691
724
  useconds
@@ -717,6 +750,7 @@ vname
717
750
  VRuntime
718
751
  vue
719
752
  vw
753
+ Watney
720
754
  wav
721
755
  webbrowser
722
756
  webified
@@ -740,14 +774,15 @@ xcode
740
774
  xhtml
741
775
  xhttp
742
776
  xl
777
+ xlabel
743
778
  xls
744
779
  xlsx
780
+ xmit
745
781
  xml
746
782
  xy
747
783
  yaml
784
+ ylabel
748
785
  yml
749
786
  zeromq
750
787
  zlib
751
788
  zmq
752
- ZMQ
753
- Zmq
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: fprime-gds
3
- Version: 3.4.4a1
3
+ Version: 3.4.4a3
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:
@@ -239,6 +239,7 @@ Requires-Dist: argcomplete>=1.12.3
239
239
  Requires-Dist: Jinja2>=2.11.3
240
240
  Requires-Dist: openpyxl>=3.0.10
241
241
  Requires-Dist: pyserial>=3.5
242
+ Requires-Dist: pydantic>=2.6
242
243
 
243
244
  # F´ GDS
244
245
 
@@ -267,7 +268,7 @@ output data type included. Command data objects are created in the command panel
267
268
  the command encoder registered to that panel. Encoders take a data object and turn it into binary
268
269
  data that can be sent to the F´ deployment. The binary data is then passed to the TCP client
269
270
  which is registered to the encoder. Finally, the TCP client send the data back to the TCP server and
270
- the F´ deployment. ![The layout of the GDS](https://github.com/nasa/fprime/blob/master/docs/UsersGuide/media/gds_layout.jpg)
271
+ the F´ deployment. ![The layout of the GDS](https://github.com/nasa/fprime/blob/devel/docs/UsersGuide/media/gds_layout.jpg)
271
272
 
272
273
  All of these objects are created and registered to other objects when the GDS
273
274
  is initialized. Thus, all of the structure of the GDS is created in one place,
@@ -25,7 +25,7 @@ output data type included. Command data objects are created in the command panel
25
25
  the command encoder registered to that panel. Encoders take a data object and turn it into binary
26
26
  data that can be sent to the F´ deployment. The binary data is then passed to the TCP client
27
27
  which is registered to the encoder. Finally, the TCP client send the data back to the TCP server and
28
- the F´ deployment. ![The layout of the GDS](https://github.com/nasa/fprime/blob/master/docs/UsersGuide/media/gds_layout.jpg)
28
+ the F´ deployment. ![The layout of the GDS](https://github.com/nasa/fprime/blob/devel/docs/UsersGuide/media/gds_layout.jpg)
29
29
 
30
30
  All of these objects are created and registered to other objects when the GDS
31
31
  is initialized. Thus, all of the structure of the GDS is created in one place,
@@ -42,6 +42,7 @@ dependencies = [
42
42
  "Jinja2>=2.11.3",
43
43
  "openpyxl>=3.0.10",
44
44
  "pyserial>=3.5",
45
+ "pydantic>=2.6"
45
46
  ]
46
47
 
47
48
  [project.urls]
@@ -58,8 +59,7 @@ Repository = "https://github.com/fprime-community/fprime-gds"
58
59
  [project.scripts]
59
60
  fprime-cli = "fprime_gds.executables.fprime_cli:main"
60
61
  fprime-seqgen = "fprime_gds.common.tools.seqgen:main"
61
-
62
- [project.gui-scripts]
62
+ fprime-dp-write = "fprime_gds.executables.data_product_writer:main"
63
63
  fprime-gds = "fprime_gds.executables.run_deployment:main"
64
64
 
65
65
  # For Pytest fixtures
@@ -44,7 +44,12 @@ class EventData(sys_data.SysData):
44
44
  self.display_text = event_temp.description
45
45
  elif event_temp.format_str == "":
46
46
  args_template = self.template.get_args()
47
- self.display_text = str([{args_template[index][0]:arg.val} for index, arg in enumerate(event_args)])
47
+ self.display_text = str(
48
+ [
49
+ {args_template[index][0]: arg.val}
50
+ for index, arg in enumerate(event_args)
51
+ ]
52
+ )
48
53
  else:
49
54
  self.display_text = format_string_template(
50
55
  event_temp.format_str, tuple([arg.val for arg in event_args])
@@ -2,10 +2,25 @@
2
2
  Created on Jan 9, 2015
3
3
  @author: reder
4
4
  """
5
+
5
6
  # Exception classes for all controllers modules
6
7
 
7
8
 
8
- class GseControllerException(Exception):
9
+ class FprimeGdsException(Exception):
10
+ """
11
+ Base Exception for exceptions that need to be handled at the system-level
12
+ by the GDS
13
+ """
14
+
15
+ pass
16
+
17
+
18
+ class GdsDictionaryParsingException(FprimeGdsException):
19
+ pass
20
+
21
+
22
+ # Note: Gse is the historical name for what is now called the GDS
23
+ class GseControllerException(FprimeGdsException):
9
24
  def __init__(self, val):
10
25
  self.except_msg = val
11
26
  super().__init__(val)
@@ -27,13 +42,3 @@ class GseControllerUndefinedFileException(GseControllerException):
27
42
  class GseControllerParsingException(GseControllerException):
28
43
  def __init__(self, val):
29
44
  super().__init__(f"Parsing error: {str(val)}")
30
-
31
-
32
- class GseControllerMnemonicMismatchException(GseControllerException):
33
- def __init__(self, val1, val2):
34
- super().__init__(f"ID mismatch ({str(val1)}, {str(val2)})!")
35
-
36
-
37
- class GseControllerStatusUpdateException(GseControllerException):
38
- def __init__(self, val):
39
- super().__init__(f"Bad status update mode: {str(val)}!")
@@ -0,0 +1,107 @@
1
+ """
2
+ ch_json_loader.py:
3
+
4
+ Loads flight dictionary (JSON) and returns id and mnemonic based Python dictionaries of channels
5
+
6
+ @author thomas-bc
7
+ """
8
+
9
+ from fprime_gds.common.templates.ch_template import ChTemplate
10
+ from fprime_gds.common.loaders.json_loader import JsonLoader
11
+ from fprime_gds.common.data_types.exceptions import GdsDictionaryParsingException
12
+
13
+
14
+ class ChJsonLoader(JsonLoader):
15
+ """Class to load python based telemetry channel dictionaries"""
16
+
17
+ CHANNELS_FIELD = "telemetryChannels"
18
+
19
+ ID = "id"
20
+ NAME = "name"
21
+ DESC = "annotation"
22
+ TYPE = "type"
23
+ FMT_STR = "format"
24
+ LIMIT_FIELD = "limit"
25
+ LIMIT_LOW = "low"
26
+ LIMIT_HIGH = "high"
27
+ LIMIT_RED = "red"
28
+ LIMIT_ORANGE = "orange"
29
+ LIMIT_YELLOW = "yellow"
30
+
31
+ def construct_dicts(self, _):
32
+ """
33
+ Constructs and returns python dictionaries keyed on id and name
34
+
35
+ Args:
36
+ _: Unused argument (inherited)
37
+ Returns:
38
+ A tuple with two channel dictionaries (python type dict):
39
+ (id_dict, name_dict). The keys should be the channels' id and
40
+ name fields respectively and the values should be ChTemplate
41
+ objects.
42
+ """
43
+ id_dict = {}
44
+ name_dict = {}
45
+
46
+ if self.CHANNELS_FIELD not in self.json_dict:
47
+ raise GdsDictionaryParsingException(
48
+ f"Ground Dictionary missing '{self.CHANNELS_FIELD}' field: {str(self.json_file)}"
49
+ )
50
+
51
+ for ch_dict in self.json_dict[self.CHANNELS_FIELD]:
52
+ # Create a channel template object
53
+ ch_temp = self.construct_template_from_dict(ch_dict)
54
+
55
+ id_dict[ch_temp.get_id()] = ch_temp
56
+ name_dict[ch_temp.get_full_name()] = ch_temp
57
+
58
+ return (
59
+ dict(sorted(id_dict.items())),
60
+ dict(sorted(name_dict.items())),
61
+ self.get_versions(),
62
+ )
63
+
64
+ def construct_template_from_dict(self, channel_dict: dict) -> ChTemplate:
65
+ try:
66
+ ch_id = channel_dict[self.ID]
67
+ # The below assignment also raises a ValueError if the name does not contain a '.'
68
+ qualified_component_name, channel_name = channel_dict[self.NAME].rsplit('.', 1)
69
+ if not qualified_component_name or not channel_name:
70
+ raise ValueError()
71
+
72
+ type_obj = self.parse_type(channel_dict[self.TYPE])
73
+ except ValueError as e:
74
+ raise GdsDictionaryParsingException(
75
+ f"Channel dictionary entry malformed, expected name of the form '<QUAL_COMP_NAME>.<CH_NAME>' in : {str(channel_dict)}"
76
+ )
77
+ except KeyError as e:
78
+ raise GdsDictionaryParsingException(
79
+ f"{str(e)} key missing from Channel dictionary entry or its associated type in the dictionary: {str(channel_dict)}"
80
+ )
81
+
82
+ format_str = JsonLoader.preprocess_format_str(channel_dict.get(self.FMT_STR))
83
+
84
+ limit_field = channel_dict.get(self.LIMIT_FIELD)
85
+ limit_low = limit_field.get(self.LIMIT_LOW) if limit_field else None
86
+ limit_high = limit_field.get(self.LIMIT_HIGH) if limit_field else None
87
+ limit_low_yellow = limit_low.get(self.LIMIT_YELLOW) if limit_low else None
88
+ limit_low_red = limit_low.get(self.LIMIT_RED) if limit_low else None
89
+ limit_low_orange = limit_low.get(self.LIMIT_ORANGE) if limit_low else None
90
+ limit_high_yellow = limit_high.get(self.LIMIT_YELLOW) if limit_high else None
91
+ limit_high_red = limit_high.get(self.LIMIT_RED) if limit_high else None
92
+ limit_high_orange = limit_high.get(self.LIMIT_ORANGE) if limit_high else None
93
+
94
+ return ChTemplate(
95
+ ch_id,
96
+ channel_name,
97
+ qualified_component_name,
98
+ type_obj,
99
+ ch_fmt_str=format_str,
100
+ ch_desc=channel_dict.get(self.DESC),
101
+ low_red=limit_low_red,
102
+ low_orange=limit_low_orange,
103
+ low_yellow=limit_low_yellow,
104
+ high_yellow=limit_high_yellow,
105
+ high_orange=limit_high_orange,
106
+ high_red=limit_high_red,
107
+ )
@@ -49,15 +49,15 @@ class ChXmlLoader(XmlLoader):
49
49
  respectively and the values are ChTemplate objects
50
50
  """
51
51
  xml_tree = self.get_xml_tree(path)
52
- versions = xml_tree.attrib.get("framework_version", "unknown"), xml_tree.attrib.get("project_version", "unknown")
52
+ versions = xml_tree.attrib.get(
53
+ "framework_version", "unknown"
54
+ ), xml_tree.attrib.get("project_version", "unknown")
53
55
 
54
56
  # Check if xml dict has channels section
55
57
  ch_section = self.get_xml_section(self.CH_SECT, xml_tree)
56
58
  if ch_section is None:
57
59
  msg = f"Xml dict did not have a {self.CH_SECT} section"
58
- raise exceptions.GseControllerParsingException(
59
- msg
60
- )
60
+ raise exceptions.GseControllerParsingException(msg)
61
61
 
62
62
  id_dict = {}
63
63
  name_dict = {}
@@ -84,7 +84,7 @@ class ChXmlLoader(XmlLoader):
84
84
  ch_desc = ch_dict[self.DESC_TAG]
85
85
 
86
86
  if self.FMT_STR_TAG in ch_dict:
87
- ch_fmt_str = ch_dict[self.FMT_STR_TAG]
87
+ ch_fmt_str = XmlLoader.preprocess_format_str(ch_dict[self.FMT_STR_TAG])
88
88
 
89
89
  # TODO we need to convert these into numbers, is this the best
90
90
  # way to do it?
@@ -0,0 +1,85 @@
1
+ """
2
+ cmd_json_loader.py:
3
+
4
+ Loads flight dictionary (JSON) and returns id and mnemonic based Python dictionaries of commands
5
+
6
+ @author thomas-bc
7
+ """
8
+
9
+ from fprime_gds.common.templates.cmd_template import CmdTemplate
10
+ from fprime_gds.common.loaders.json_loader import JsonLoader
11
+ from fprime_gds.common.data_types.exceptions import GdsDictionaryParsingException
12
+
13
+
14
+ class CmdJsonLoader(JsonLoader):
15
+ """Class to load json based command dictionaries"""
16
+
17
+ COMMANDS_FIELD = "commands"
18
+
19
+ NAME = "name"
20
+ OPCODE = "opcode"
21
+ DESC = "annotation"
22
+ PARAMETERS = "formalParams"
23
+
24
+ def construct_dicts(self, _):
25
+ """
26
+ Constructs and returns python dictionaries keyed on id and name
27
+
28
+ Args:
29
+ _: Unused argument (inherited)
30
+ Returns:
31
+ A tuple with two command dictionaries (python type dict):
32
+ (id_dict, name_dict). The keys are the events' id and name fields
33
+ respectively and the values are CmdTemplate objects
34
+ """
35
+ id_dict = {}
36
+ name_dict = {}
37
+
38
+ if self.COMMANDS_FIELD not in self.json_dict:
39
+ raise GdsDictionaryParsingException(
40
+ f"Ground Dictionary missing '{self.COMMANDS_FIELD}' field: {str(self.json_file)}"
41
+ )
42
+
43
+ for cmd_dict in self.json_dict[self.COMMANDS_FIELD]:
44
+ cmd_temp = self.construct_template_from_dict(cmd_dict)
45
+
46
+ id_dict[cmd_temp.get_id()] = cmd_temp
47
+ name_dict[cmd_temp.get_full_name()] = cmd_temp
48
+
49
+ return (
50
+ dict(sorted(id_dict.items())),
51
+ dict(sorted(name_dict.items())),
52
+ self.get_versions(),
53
+ )
54
+
55
+ def construct_template_from_dict(self, cmd_dict: dict) -> CmdTemplate:
56
+ try:
57
+ qualified_component_name, cmd_mnemonic = cmd_dict[self.NAME].rsplit('.', 1)
58
+ cmd_opcode = cmd_dict[self.OPCODE]
59
+ cmd_desc = cmd_dict.get(self.DESC)
60
+ except ValueError as e:
61
+ raise GdsDictionaryParsingException(
62
+ f"Command dictionary entry malformed, expected name of the form '<QUAL_COMP_NAME>.<CMD_NAME>' in : {str(cmd_dict)}"
63
+ )
64
+ except KeyError as e:
65
+ raise GdsDictionaryParsingException(
66
+ f"{str(e)} key missing from Command dictionary entry: {str(cmd_dict)}"
67
+ )
68
+ # Parse Arguments
69
+ cmd_args = []
70
+ for param in cmd_dict.get(self.PARAMETERS, []):
71
+ try:
72
+ param_name = param["name"]
73
+ param_type = self.parse_type(param["type"])
74
+ except KeyError as e:
75
+ raise GdsDictionaryParsingException(
76
+ f"{str(e)} key missing from Command parameter or its associated type in the dictionary: {str(param)}"
77
+ )
78
+ cmd_args.append(
79
+ (
80
+ param_name,
81
+ param.get("annotation"),
82
+ param_type,
83
+ )
84
+ )
85
+ return CmdTemplate(cmd_opcode, cmd_mnemonic, qualified_component_name, cmd_args, cmd_desc)
@@ -93,7 +93,7 @@ class DictLoader:
93
93
  return name_dict
94
94
 
95
95
  def get_versions(self):
96
- """ Get version tuple """
96
+ """Get version tuple"""
97
97
  return self.versions
98
98
 
99
99
  def construct_dicts(self, path):