fprime-gds 3.4.4a1__tar.gz → 3.4.4a2__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.4a2}/.github/actions/spelling/excludes.txt +4 -3
  2. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/.github/actions/spelling/expect.txt +40 -6
  3. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/PKG-INFO +3 -2
  4. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/README.md +1 -1
  5. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/pyproject.toml +2 -2
  6. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/common/data_types/event_data.py +6 -1
  7. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/common/data_types/exceptions.py +16 -11
  8. fprime_gds-3.4.4a2/src/fprime_gds/common/loaders/ch_json_loader.py +107 -0
  9. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/common/loaders/ch_xml_loader.py +5 -5
  10. fprime_gds-3.4.4a2/src/fprime_gds/common/loaders/cmd_json_loader.py +85 -0
  11. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/common/loaders/dict_loader.py +1 -1
  12. fprime_gds-3.4.4a2/src/fprime_gds/common/loaders/event_json_loader.py +108 -0
  13. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/common/loaders/event_xml_loader.py +10 -6
  14. fprime_gds-3.4.4a2/src/fprime_gds/common/loaders/json_loader.py +222 -0
  15. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/common/loaders/xml_loader.py +31 -9
  16. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/common/pipeline/dictionaries.py +38 -3
  17. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/common/tools/seqgen.py +4 -4
  18. fprime_gds-3.4.4a2/src/fprime_gds/common/utils/string_util.py +110 -0
  19. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/common/zmq_transport.py +4 -2
  20. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/executables/cli.py +21 -39
  21. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/executables/comm.py +3 -10
  22. fprime_gds-3.4.4a2/src/fprime_gds/executables/data_product_writer.py +935 -0
  23. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/executables/utils.py +23 -11
  24. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/flask/sequence.py +1 -1
  25. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/flask/static/addons/commanding/command-input.js +3 -2
  26. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds.egg-info/PKG-INFO +3 -2
  27. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds.egg-info/SOURCES.txt +29 -0
  28. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds.egg-info/entry_points.txt +2 -3
  29. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds.egg-info/requires.txt +1 -0
  30. fprime_gds-3.4.4a2/test/fprime_gds/common/loaders/resources/RefTopologyDictionary.json +9659 -0
  31. fprime_gds-3.4.4a2/test/fprime_gds/common/loaders/test_json_loader.py +152 -0
  32. fprime_gds-3.4.4a2/test/fprime_gds/common/tools/expected/simple_expected.bin +0 -0
  33. fprime_gds-3.4.4a2/test/fprime_gds/common/tools/input/simple_bad_sequence.seq +9 -0
  34. fprime_gds-3.4.4a2/test/fprime_gds/common/tools/input/simple_sequence.seq +8 -0
  35. fprime_gds-3.4.4a2/test/fprime_gds/common/tools/resources/simple_dictionary.json +40 -0
  36. fprime_gds-3.4.4a2/test/fprime_gds/common/tools/resources/simple_dictionary.xml +12 -0
  37. fprime_gds-3.4.4a2/test/fprime_gds/common/tools/seqgen_unit_test.py +42 -0
  38. fprime_gds-3.4.4a2/test/fprime_gds/common/utils/test_string_util.py +206 -0
  39. fprime_gds-3.4.4a2/test/fprime_gds/executables/.gitignore +1 -0
  40. fprime_gds-3.4.4a2/test/fprime_gds/executables/dp_writer_data/dictionary.json +9934 -0
  41. fprime_gds-3.4.4a2/test/fprime_gds/executables/dp_writer_data/makeBool.bin +0 -0
  42. fprime_gds-3.4.4a2/test/fprime_gds/executables/dp_writer_data/makeComplex.bin +0 -0
  43. fprime_gds-3.4.4a2/test/fprime_gds/executables/dp_writer_data/makeDataArray.bin +0 -0
  44. fprime_gds-3.4.4a2/test/fprime_gds/executables/dp_writer_data/makeEnum.bin +0 -0
  45. fprime_gds-3.4.4a2/test/fprime_gds/executables/dp_writer_data/makeF32.bin +0 -0
  46. fprime_gds-3.4.4a2/test/fprime_gds/executables/dp_writer_data/makeF64.bin +0 -0
  47. fprime_gds-3.4.4a2/test/fprime_gds/executables/dp_writer_data/makeFppArray.bin +0 -0
  48. fprime_gds-3.4.4a2/test/fprime_gds/executables/dp_writer_data/makeI16.bin +0 -0
  49. fprime_gds-3.4.4a2/test/fprime_gds/executables/dp_writer_data/makeI32.bin +0 -0
  50. fprime_gds-3.4.4a2/test/fprime_gds/executables/dp_writer_data/makeI64.bin +0 -0
  51. fprime_gds-3.4.4a2/test/fprime_gds/executables/dp_writer_data/makeI8.bin +0 -0
  52. fprime_gds-3.4.4a2/test/fprime_gds/executables/dp_writer_data/makeU32.bin +0 -0
  53. fprime_gds-3.4.4a2/test/fprime_gds/executables/dp_writer_data/makeU32Array.bin +0 -0
  54. fprime_gds-3.4.4a2/test/fprime_gds/executables/dp_writer_data/makeU8Array.bin +0 -0
  55. fprime_gds-3.4.4a2/test/fprime_gds/executables/test_data_product_writer.py +49 -0
  56. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/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.4a2}/.github/ISSUE_TEMPLATE/config.yml +0 -0
  61. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/.github/actions/codeql/security-pack.yml +0 -0
  62. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/.github/actions/spelling/patterns.txt +0 -0
  63. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/.github/pull_request_template.md +0 -0
  64. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/.github/resources/RefTopologyAppDictionary.xml +0 -0
  65. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/.github/workflows/codeql-security-scan.yml +0 -0
  66. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/.github/workflows/fprime-gds-tests.yml +0 -0
  67. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/.github/workflows/gds-cli-tests.yml +0 -0
  68. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/.github/workflows/publish.yml +0 -0
  69. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/.github/workflows/spelling.yml +0 -0
  70. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/.gitignore +0 -0
  71. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/Doxyfile +0 -0
  72. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/LICENSE.txt +0 -0
  73. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/NOTICE.txt +0 -0
  74. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/configs/__init__.py +0 -0
  75. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/docs/README.md +0 -0
  76. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/docs/_static/css/rtd_width.css +0 -0
  77. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/docs/conf.py +0 -0
  78. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/docs/gendoc.bash +0 -0
  79. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/docs/index.rst +0 -0
  80. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/examples/simple_sequence.bin +0 -0
  81. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/examples/simple_sequence.seq +0 -0
  82. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/setup.cfg +0 -0
  83. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/setup.py +0 -0
  84. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fastentrypoints.py +0 -0
  85. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/__init__.py +0 -0
  86. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/common/__init__.py +0 -0
  87. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/common/communication/__init__.py +0 -0
  88. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/common/communication/adapters/__init__.py +0 -0
  89. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/common/communication/adapters/base.py +0 -0
  90. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/common/communication/adapters/ip.py +0 -0
  91. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/common/communication/adapters/uart.py +0 -0
  92. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/common/communication/checksum.py +0 -0
  93. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/common/communication/framing.py +0 -0
  94. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/common/communication/ground.py +0 -0
  95. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/common/communication/updown.py +0 -0
  96. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/common/controllers/__init__.py +0 -0
  97. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/common/data_types/__init__.py +0 -0
  98. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/common/data_types/ch_data.py +0 -0
  99. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/common/data_types/cmd_data.py +0 -0
  100. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/common/data_types/file_data.py +0 -0
  101. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/common/data_types/pkt_data.py +0 -0
  102. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/common/data_types/sys_data.py +0 -0
  103. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/common/decoders/__init__.py +0 -0
  104. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/common/decoders/ch_decoder.py +0 -0
  105. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/common/decoders/decoder.py +0 -0
  106. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/common/decoders/event_decoder.py +0 -0
  107. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/common/decoders/file_decoder.py +0 -0
  108. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/common/decoders/pkt_decoder.py +0 -0
  109. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/common/distributor/__init__.py +0 -0
  110. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/common/distributor/distributor.py +0 -0
  111. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/common/encoders/__init__.py +0 -0
  112. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/common/encoders/ch_encoder.py +0 -0
  113. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/common/encoders/cmd_encoder.py +0 -0
  114. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/common/encoders/encoder.py +0 -0
  115. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/common/encoders/event_encoder.py +0 -0
  116. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/common/encoders/file_encoder.py +0 -0
  117. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/common/encoders/pkt_encoder.py +0 -0
  118. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/common/encoders/seq_writer.py +0 -0
  119. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/common/files/File Decoder Documentation.txt +0 -0
  120. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/common/files/__init__.py +0 -0
  121. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/common/files/downlinker.py +0 -0
  122. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/common/files/helpers.py +0 -0
  123. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/common/files/uplinker.py +0 -0
  124. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/common/gds_cli/__init__.py +0 -0
  125. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/common/gds_cli/base_commands.py +0 -0
  126. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/common/gds_cli/channels.py +0 -0
  127. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/common/gds_cli/command_send.py +0 -0
  128. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/common/gds_cli/events.py +0 -0
  129. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/common/gds_cli/filtering_utils.py +0 -0
  130. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/common/gds_cli/test_api_utils.py +0 -0
  131. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/common/handlers.py +0 -0
  132. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/common/history/__init__.py +0 -0
  133. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/common/history/chrono.py +0 -0
  134. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/common/history/history.py +0 -0
  135. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/common/history/ram.py +0 -0
  136. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/common/history/test.py +0 -0
  137. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/common/loaders/__init__.py +0 -0
  138. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/common/loaders/ch_py_loader.py +0 -0
  139. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/common/loaders/cmd_py_loader.py +0 -0
  140. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/common/loaders/cmd_xml_loader.py +0 -0
  141. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/common/loaders/event_py_loader.py +0 -0
  142. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/common/loaders/pkt_xml_loader.py +0 -0
  143. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/common/loaders/python_loader.py +0 -0
  144. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/common/logger/__init__.py +0 -0
  145. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/common/logger/data_logger.py +0 -0
  146. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/common/logger/test_logger.py +0 -0
  147. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/common/models/__init__.py +0 -0
  148. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/common/models/common/__init__.py +0 -0
  149. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/common/models/common/channel_telemetry.py +0 -0
  150. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/common/models/common/command.py +0 -0
  151. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/common/models/common/event.py +0 -0
  152. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/common/parsers/__init__.py +0 -0
  153. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/common/parsers/seq_file_parser.py +0 -0
  154. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/common/pipeline/__init__.py +0 -0
  155. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/common/pipeline/encoding.py +0 -0
  156. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/common/pipeline/files.py +0 -0
  157. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/common/pipeline/histories.py +0 -0
  158. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/common/pipeline/router.py +0 -0
  159. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/common/pipeline/standard.py +0 -0
  160. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/common/templates/__init__.py +0 -0
  161. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/common/templates/ch_template.py +0 -0
  162. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/common/templates/cmd_template.py +0 -0
  163. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/common/templates/data_template.py +0 -0
  164. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/common/templates/event_template.py +0 -0
  165. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/common/templates/pkt_template.py +0 -0
  166. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/common/testing_fw/__init__.py +0 -0
  167. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/common/testing_fw/api.py +0 -0
  168. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/common/testing_fw/predicates.py +0 -0
  169. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/common/testing_fw/pytest_integration.py +0 -0
  170. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/common/tools/__init__.py +0 -0
  171. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/common/transport.py +0 -0
  172. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/common/utils/__init__.py +0 -0
  173. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/common/utils/config_manager.py +0 -0
  174. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/common/utils/data_desc_type.py +0 -0
  175. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/common/utils/event_severity.py +0 -0
  176. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/executables/__init__.py +0 -0
  177. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/executables/apps.py +0 -0
  178. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/executables/fprime_cli.py +0 -0
  179. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/executables/run_deployment.py +0 -0
  180. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/executables/tcpserver.py +0 -0
  181. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/flask/__init__.py +0 -0
  182. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/flask/app.py +0 -0
  183. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/flask/channels.py +0 -0
  184. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/flask/commands.py +0 -0
  185. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/flask/components.py +0 -0
  186. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/flask/default_settings.py +0 -0
  187. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/flask/errors.py +0 -0
  188. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/flask/events.py +0 -0
  189. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/flask/json.py +0 -0
  190. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/flask/logs.py +0 -0
  191. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/flask/requirements.txt +0 -0
  192. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/flask/resource.py +0 -0
  193. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/flask/static/.idea/.gitignore +0 -0
  194. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/flask/static/.idea/misc.xml +0 -0
  195. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/flask/static/.idea/modules.xml +0 -0
  196. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/flask/static/.idea/static.iml +0 -0
  197. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/flask/static/.idea/vcs.xml +0 -0
  198. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/flask/static/addons/advanced-settings/addon-templates.js +0 -0
  199. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/flask/static/addons/advanced-settings/addon.js +0 -0
  200. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/flask/static/addons/channel-render/addon.js +0 -0
  201. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/flask/static/addons/channel-render/channel-render-template.js +0 -0
  202. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/flask/static/addons/channel-render/channel-render.js +0 -0
  203. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/flask/static/addons/chart-display/addon-templates.js +0 -0
  204. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/flask/static/addons/chart-display/addon.js +0 -0
  205. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/flask/static/addons/chart-display/config.js +0 -0
  206. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/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.4a2}/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.4a2}/src/fprime_gds/flask/static/addons/chart-display/modified-vendor/flat.js +0 -0
  209. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/flask/static/addons/chart-display/sibling.js +0 -0
  210. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/flask/static/addons/chart-display/vendor/chart.js +0 -0
  211. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/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.4a2}/src/fprime_gds/flask/static/addons/chart-display/vendor/hammer.min.js +0 -0
  213. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/flask/static/addons/commanding/addon.js +0 -0
  214. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/flask/static/addons/commanding/argument-templates.js +0 -0
  215. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/flask/static/addons/commanding/arguments.js +0 -0
  216. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/flask/static/addons/commanding/command-history-template.js +0 -0
  217. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/flask/static/addons/commanding/command-history.js +0 -0
  218. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/flask/static/addons/commanding/command-input-template.js +0 -0
  219. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/flask/static/addons/commanding/command-string-template.js +0 -0
  220. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/flask/static/addons/commanding/command-string.js +0 -0
  221. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/flask/static/addons/dictionary/addon-templates.js +0 -0
  222. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/flask/static/addons/dictionary/addon.js +0 -0
  223. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/flask/static/addons/enabled.js +0 -0
  224. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/flask/static/addons/image-display/addon.js +0 -0
  225. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/flask/static/addons/image-display/dashboard.xml +0 -0
  226. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/flask/static/addons/sequencer/README.md +0 -0
  227. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/flask/static/addons/sequencer/addon-templates.js +0 -0
  228. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/flask/static/addons/sequencer/addon.js +0 -0
  229. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/flask/static/addons/sequencer/autocomplete.js +0 -0
  230. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/flask/static/addons/sequencer/lint.js +0 -0
  231. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/flask/static/addons/sequencer/third/code-mirror.es.js +0 -0
  232. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/flask/static/addons/sequencer/third/rollup/.gitignore +0 -0
  233. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/flask/static/addons/sequencer/third/rollup/index.js +0 -0
  234. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/flask/static/addons/sequencer/third/rollup/language.grammer +0 -0
  235. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/flask/static/addons/sequencer/third/rollup/package.json +0 -0
  236. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/flask/static/addons/sequencer/third/rollup/rollup.config.js +0 -0
  237. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/flask/static/css/fprime.css +0 -0
  238. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/flask/static/css/fpstyle.css +0 -0
  239. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/flask/static/favicon.ico +0 -0
  240. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/flask/static/img/error.svg +0 -0
  241. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/flask/static/img/logo.svg +0 -0
  242. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/flask/static/img/success.svg +0 -0
  243. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/flask/static/index.html +0 -0
  244. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/flask/static/js/config.js +0 -0
  245. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/flask/static/js/datastore.js +0 -0
  246. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/flask/static/js/gds.js +0 -0
  247. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/flask/static/js/loader.js +0 -0
  248. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/flask/static/js/performance.js +0 -0
  249. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/flask/static/js/settings.js +0 -0
  250. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/flask/static/js/uploader.js +0 -0
  251. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/flask/static/js/validate.js +0 -0
  252. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/flask/static/js/vue-support/channel.js +0 -0
  253. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/flask/static/js/vue-support/dashboard-box.js +0 -0
  254. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/flask/static/js/vue-support/dashboard-row.js +0 -0
  255. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/flask/static/js/vue-support/dashboard.js +0 -0
  256. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/flask/static/js/vue-support/downlink.js +0 -0
  257. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/flask/static/js/vue-support/event.js +0 -0
  258. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/flask/static/js/vue-support/fp-row.js +0 -0
  259. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/flask/static/js/vue-support/fptable.js +0 -0
  260. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/flask/static/js/vue-support/log.js +0 -0
  261. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/flask/static/js/vue-support/tabetc.js +0 -0
  262. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/flask/static/js/vue-support/uplink.js +0 -0
  263. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/flask/static/js/vue-support/utils.js +0 -0
  264. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/flask/static/third-party/css/all.min.css +0 -0
  265. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/flask/static/third-party/css/bootstrap.min.css +0 -0
  266. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/flask/static/third-party/css/vue-select.css +0 -0
  267. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/flask/static/third-party/js/luxon.min.js +0 -0
  268. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/flask/static/third-party/js/sorttable.js +0 -0
  269. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/flask/static/third-party/js/v-runtime-template.js +0 -0
  270. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/flask/static/third-party/js/vue-select.js +0 -0
  271. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/flask/static/third-party/js/vue.min.js +0 -0
  272. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/flask/static/third-party/webfonts/fa-brands-400.eot +0 -0
  273. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/flask/static/third-party/webfonts/fa-brands-400.svg +0 -0
  274. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/flask/static/third-party/webfonts/fa-brands-400.ttf +0 -0
  275. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/flask/static/third-party/webfonts/fa-brands-400.woff +0 -0
  276. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/flask/static/third-party/webfonts/fa-brands-400.woff2 +0 -0
  277. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/flask/static/third-party/webfonts/fa-regular-400.eot +0 -0
  278. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/flask/static/third-party/webfonts/fa-regular-400.svg +0 -0
  279. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/flask/static/third-party/webfonts/fa-regular-400.ttf +0 -0
  280. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/flask/static/third-party/webfonts/fa-regular-400.woff +0 -0
  281. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/flask/static/third-party/webfonts/fa-regular-400.woff2 +0 -0
  282. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/flask/static/third-party/webfonts/fa-solid-900.eot +0 -0
  283. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/flask/static/third-party/webfonts/fa-solid-900.svg +0 -0
  284. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/flask/static/third-party/webfonts/fa-solid-900.ttf +0 -0
  285. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/flask/static/third-party/webfonts/fa-solid-900.woff +0 -0
  286. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/flask/static/third-party/webfonts/fa-solid-900.woff2 +0 -0
  287. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/flask/stats.py +0 -0
  288. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/flask/updown.py +0 -0
  289. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/plugin/__init__.py +0 -0
  290. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/plugin/definitions.py +0 -0
  291. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/plugin/system.py +0 -0
  292. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds/version.py +0 -0
  293. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds.egg-info/dependency_links.txt +0 -0
  294. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/src/fprime_gds.egg-info/top_level.txt +0 -0
  295. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/test/fprime_gds/common/distributor/test_distributor.py +0 -0
  296. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/test/fprime_gds/common/encoders/test_ch_encoder.py +0 -0
  297. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/test/fprime_gds/common/encoders/test_event_encoder.py +0 -0
  298. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/test/fprime_gds/common/encoders/test_pkt_encoder.py +0 -0
  299. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/test/fprime_gds/common/gds_cli/filtering_utils_test.py +0 -0
  300. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/test/fprime_gds/common/gds_cli/utils_test.py +0 -0
  301. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/test/fprime_gds/common/history/chronohistory_unit_test.py +0 -0
  302. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/test/fprime_gds/common/history/testhistory_unit_test.py +0 -0
  303. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/test/fprime_gds/common/testing_fw/UnitTestDictionary.xml +0 -0
  304. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/test/fprime_gds/common/testing_fw/api_unit_test.py +0 -0
  305. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/test/fprime_gds/common/testing_fw/logs/.gitignore +0 -0
  306. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/test/fprime_gds/common/testing_fw/predicate_unit_test.py +0 -0
  307. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/test/fprime_gds/executables/test_run_deployment.py +0 -0
  308. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/test/fprime_gds/executables/test_utils.py +0 -0
  309. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/test/fprime_gds/sample/dictionary.xml +0 -0
  310. {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a2}/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
@@ -544,6 +575,7 @@ rst
544
575
  rtd
545
576
  rtf
546
577
  saba
578
+ savefig
547
579
  scm
548
580
  scrollable
549
581
  scrollbar
@@ -659,8 +691,8 @@ ttl
659
691
  tts
660
692
  twbs
661
693
  txz
662
- typedef'ed
663
694
  typedef
695
+ typedef'ed
664
696
  typehints
665
697
  typeof
666
698
  tzinfo
@@ -676,6 +708,7 @@ UML
676
708
  undef
677
709
  undoc
678
710
  unicode
711
+ UNINIT
679
712
  unittest
680
713
  unpause
681
714
  updown
@@ -685,7 +718,6 @@ uplinkvue
685
718
  uploader
686
719
  upto
687
720
  uri
688
- URI
689
721
  url
690
722
  usec
691
723
  useconds
@@ -717,6 +749,7 @@ vname
717
749
  VRuntime
718
750
  vue
719
751
  vw
752
+ Watney
720
753
  wav
721
754
  webbrowser
722
755
  webified
@@ -740,14 +773,15 @@ xcode
740
773
  xhtml
741
774
  xhttp
742
775
  xl
776
+ xlabel
743
777
  xls
744
778
  xlsx
779
+ xmit
745
780
  xml
746
781
  xy
747
782
  yaml
783
+ ylabel
748
784
  yml
749
785
  zeromq
750
786
  zlib
751
787
  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.4a2
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
+ component_name, channel_name = channel_dict[self.NAME].split(".")
69
+ if not 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 '<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
+ 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
+ cmd_comp, cmd_mnemonic = cmd_dict[self.NAME].split(".")
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 '<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, cmd_comp, 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):