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.
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/.github/actions/spelling/excludes.txt +4 -3
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/.github/actions/spelling/expect.txt +41 -6
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/PKG-INFO +3 -2
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/README.md +1 -1
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/pyproject.toml +2 -2
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/data_types/event_data.py +6 -1
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/data_types/exceptions.py +16 -11
- fprime_gds-3.4.4a3/src/fprime_gds/common/loaders/ch_json_loader.py +107 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/loaders/ch_xml_loader.py +5 -5
- fprime_gds-3.4.4a3/src/fprime_gds/common/loaders/cmd_json_loader.py +85 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/loaders/dict_loader.py +1 -1
- fprime_gds-3.4.4a3/src/fprime_gds/common/loaders/event_json_loader.py +108 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/loaders/event_xml_loader.py +10 -6
- fprime_gds-3.4.4a3/src/fprime_gds/common/loaders/json_loader.py +222 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/loaders/xml_loader.py +31 -9
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/pipeline/dictionaries.py +38 -3
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/tools/seqgen.py +4 -4
- fprime_gds-3.4.4a3/src/fprime_gds/common/utils/string_util.py +110 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/zmq_transport.py +4 -2
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/executables/cli.py +21 -39
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/executables/comm.py +3 -10
- fprime_gds-3.4.4a3/src/fprime_gds/executables/data_product_writer.py +935 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/executables/utils.py +23 -11
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/sequence.py +1 -1
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/addons/commanding/command-input.js +3 -2
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds.egg-info/PKG-INFO +3 -2
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds.egg-info/SOURCES.txt +29 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds.egg-info/entry_points.txt +2 -3
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds.egg-info/requires.txt +1 -0
- fprime_gds-3.4.4a3/test/fprime_gds/common/loaders/resources/RefTopologyDictionary.json +9659 -0
- fprime_gds-3.4.4a3/test/fprime_gds/common/loaders/test_json_loader.py +152 -0
- fprime_gds-3.4.4a3/test/fprime_gds/common/tools/expected/simple_expected.bin +0 -0
- fprime_gds-3.4.4a3/test/fprime_gds/common/tools/input/simple_bad_sequence.seq +9 -0
- fprime_gds-3.4.4a3/test/fprime_gds/common/tools/input/simple_sequence.seq +8 -0
- fprime_gds-3.4.4a3/test/fprime_gds/common/tools/resources/simple_dictionary.json +40 -0
- fprime_gds-3.4.4a3/test/fprime_gds/common/tools/resources/simple_dictionary.xml +12 -0
- fprime_gds-3.4.4a3/test/fprime_gds/common/tools/seqgen_unit_test.py +42 -0
- fprime_gds-3.4.4a3/test/fprime_gds/common/utils/test_string_util.py +206 -0
- fprime_gds-3.4.4a3/test/fprime_gds/executables/.gitignore +1 -0
- fprime_gds-3.4.4a3/test/fprime_gds/executables/dp_writer_data/dictionary.json +9934 -0
- fprime_gds-3.4.4a3/test/fprime_gds/executables/dp_writer_data/makeBool.bin +0 -0
- fprime_gds-3.4.4a3/test/fprime_gds/executables/dp_writer_data/makeComplex.bin +0 -0
- fprime_gds-3.4.4a3/test/fprime_gds/executables/dp_writer_data/makeDataArray.bin +0 -0
- fprime_gds-3.4.4a3/test/fprime_gds/executables/dp_writer_data/makeEnum.bin +0 -0
- fprime_gds-3.4.4a3/test/fprime_gds/executables/dp_writer_data/makeF32.bin +0 -0
- fprime_gds-3.4.4a3/test/fprime_gds/executables/dp_writer_data/makeF64.bin +0 -0
- fprime_gds-3.4.4a3/test/fprime_gds/executables/dp_writer_data/makeFppArray.bin +0 -0
- fprime_gds-3.4.4a3/test/fprime_gds/executables/dp_writer_data/makeI16.bin +0 -0
- fprime_gds-3.4.4a3/test/fprime_gds/executables/dp_writer_data/makeI32.bin +0 -0
- fprime_gds-3.4.4a3/test/fprime_gds/executables/dp_writer_data/makeI64.bin +0 -0
- fprime_gds-3.4.4a3/test/fprime_gds/executables/dp_writer_data/makeI8.bin +0 -0
- fprime_gds-3.4.4a3/test/fprime_gds/executables/dp_writer_data/makeU32.bin +0 -0
- fprime_gds-3.4.4a3/test/fprime_gds/executables/dp_writer_data/makeU32Array.bin +0 -0
- fprime_gds-3.4.4a3/test/fprime_gds/executables/dp_writer_data/makeU8Array.bin +0 -0
- fprime_gds-3.4.4a3/test/fprime_gds/executables/test_data_product_writer.py +49 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/test/fprime_gds/test_plugins.py +1 -1
- fprime-gds-3.4.4a1/src/fprime_gds/common/utils/string_util.py +0 -118
- fprime-gds-3.4.4a1/test/fprime_gds/common/tools/seqgen_unit_test.py +0 -7
- fprime-gds-3.4.4a1/test/fprime_gds/common/utils/test_string_util.py +0 -129
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/.github/ISSUE_TEMPLATE/config.yml +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/.github/actions/codeql/security-pack.yml +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/.github/actions/spelling/patterns.txt +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/.github/pull_request_template.md +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/.github/resources/RefTopologyAppDictionary.xml +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/.github/workflows/codeql-security-scan.yml +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/.github/workflows/fprime-gds-tests.yml +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/.github/workflows/gds-cli-tests.yml +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/.github/workflows/publish.yml +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/.github/workflows/spelling.yml +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/.gitignore +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/Doxyfile +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/LICENSE.txt +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/NOTICE.txt +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/configs/__init__.py +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/docs/README.md +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/docs/_static/css/rtd_width.css +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/docs/conf.py +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/docs/gendoc.bash +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/docs/index.rst +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/examples/simple_sequence.bin +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/examples/simple_sequence.seq +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/setup.cfg +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/setup.py +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fastentrypoints.py +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/__init__.py +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/__init__.py +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/communication/__init__.py +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/communication/adapters/__init__.py +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/communication/adapters/base.py +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/communication/adapters/ip.py +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/communication/adapters/uart.py +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/communication/checksum.py +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/communication/framing.py +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/communication/ground.py +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/communication/updown.py +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/controllers/__init__.py +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/data_types/__init__.py +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/data_types/ch_data.py +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/data_types/cmd_data.py +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/data_types/file_data.py +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/data_types/pkt_data.py +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/data_types/sys_data.py +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/decoders/__init__.py +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/decoders/ch_decoder.py +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/decoders/decoder.py +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/decoders/event_decoder.py +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/decoders/file_decoder.py +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/decoders/pkt_decoder.py +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/distributor/__init__.py +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/distributor/distributor.py +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/encoders/__init__.py +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/encoders/ch_encoder.py +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/encoders/cmd_encoder.py +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/encoders/encoder.py +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/encoders/event_encoder.py +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/encoders/file_encoder.py +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/encoders/pkt_encoder.py +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/encoders/seq_writer.py +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/files/File Decoder Documentation.txt +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/files/__init__.py +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/files/downlinker.py +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/files/helpers.py +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/files/uplinker.py +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/gds_cli/__init__.py +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/gds_cli/base_commands.py +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/gds_cli/channels.py +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/gds_cli/command_send.py +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/gds_cli/events.py +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/gds_cli/filtering_utils.py +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/gds_cli/test_api_utils.py +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/handlers.py +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/history/__init__.py +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/history/chrono.py +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/history/history.py +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/history/ram.py +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/history/test.py +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/loaders/__init__.py +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/loaders/ch_py_loader.py +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/loaders/cmd_py_loader.py +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/loaders/cmd_xml_loader.py +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/loaders/event_py_loader.py +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/loaders/pkt_xml_loader.py +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/loaders/python_loader.py +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/logger/__init__.py +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/logger/data_logger.py +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/logger/test_logger.py +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/models/__init__.py +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/models/common/__init__.py +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/models/common/channel_telemetry.py +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/models/common/command.py +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/models/common/event.py +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/parsers/__init__.py +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/parsers/seq_file_parser.py +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/pipeline/__init__.py +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/pipeline/encoding.py +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/pipeline/files.py +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/pipeline/histories.py +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/pipeline/router.py +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/pipeline/standard.py +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/templates/__init__.py +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/templates/ch_template.py +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/templates/cmd_template.py +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/templates/data_template.py +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/templates/event_template.py +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/templates/pkt_template.py +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/testing_fw/__init__.py +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/testing_fw/api.py +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/testing_fw/predicates.py +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/testing_fw/pytest_integration.py +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/tools/__init__.py +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/transport.py +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/utils/__init__.py +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/utils/config_manager.py +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/utils/data_desc_type.py +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/common/utils/event_severity.py +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/executables/__init__.py +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/executables/apps.py +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/executables/fprime_cli.py +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/executables/run_deployment.py +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/executables/tcpserver.py +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/__init__.py +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/app.py +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/channels.py +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/commands.py +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/components.py +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/default_settings.py +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/errors.py +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/events.py +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/json.py +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/logs.py +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/requirements.txt +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/resource.py +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/.idea/.gitignore +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/.idea/misc.xml +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/.idea/modules.xml +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/.idea/static.iml +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/.idea/vcs.xml +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/addons/advanced-settings/addon-templates.js +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/addons/advanced-settings/addon.js +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/addons/channel-render/addon.js +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/addons/channel-render/channel-render-template.js +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/addons/channel-render/channel-render.js +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/addons/chart-display/addon-templates.js +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/addons/chart-display/addon.js +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/addons/chart-display/config.js +0 -0
- {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
- {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
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/addons/chart-display/modified-vendor/flat.js +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/addons/chart-display/sibling.js +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/addons/chart-display/vendor/chart.js +0 -0
- {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
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/addons/chart-display/vendor/hammer.min.js +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/addons/commanding/addon.js +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/addons/commanding/argument-templates.js +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/addons/commanding/arguments.js +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/addons/commanding/command-history-template.js +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/addons/commanding/command-history.js +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/addons/commanding/command-input-template.js +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/addons/commanding/command-string-template.js +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/addons/commanding/command-string.js +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/addons/dictionary/addon-templates.js +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/addons/dictionary/addon.js +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/addons/enabled.js +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/addons/image-display/addon.js +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/addons/image-display/dashboard.xml +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/addons/sequencer/README.md +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/addons/sequencer/addon-templates.js +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/addons/sequencer/addon.js +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/addons/sequencer/autocomplete.js +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/addons/sequencer/lint.js +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/addons/sequencer/third/code-mirror.es.js +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/addons/sequencer/third/rollup/.gitignore +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/addons/sequencer/third/rollup/index.js +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/addons/sequencer/third/rollup/language.grammer +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/addons/sequencer/third/rollup/package.json +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/addons/sequencer/third/rollup/rollup.config.js +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/css/fprime.css +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/css/fpstyle.css +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/favicon.ico +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/img/error.svg +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/img/logo.svg +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/img/success.svg +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/index.html +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/js/config.js +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/js/datastore.js +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/js/gds.js +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/js/loader.js +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/js/performance.js +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/js/settings.js +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/js/uploader.js +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/js/validate.js +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/js/vue-support/channel.js +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/js/vue-support/dashboard-box.js +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/js/vue-support/dashboard-row.js +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/js/vue-support/dashboard.js +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/js/vue-support/downlink.js +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/js/vue-support/event.js +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/js/vue-support/fp-row.js +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/js/vue-support/fptable.js +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/js/vue-support/log.js +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/js/vue-support/tabetc.js +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/js/vue-support/uplink.js +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/js/vue-support/utils.js +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/third-party/css/all.min.css +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/third-party/css/bootstrap.min.css +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/third-party/css/vue-select.css +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/third-party/js/luxon.min.js +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/third-party/js/sorttable.js +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/third-party/js/v-runtime-template.js +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/third-party/js/vue-select.js +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/third-party/js/vue.min.js +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/third-party/webfonts/fa-brands-400.eot +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/third-party/webfonts/fa-brands-400.svg +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/third-party/webfonts/fa-brands-400.ttf +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/third-party/webfonts/fa-brands-400.woff +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/third-party/webfonts/fa-brands-400.woff2 +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/third-party/webfonts/fa-regular-400.eot +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/third-party/webfonts/fa-regular-400.svg +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/third-party/webfonts/fa-regular-400.ttf +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/third-party/webfonts/fa-regular-400.woff +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/third-party/webfonts/fa-regular-400.woff2 +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/third-party/webfonts/fa-solid-900.eot +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/third-party/webfonts/fa-solid-900.svg +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/third-party/webfonts/fa-solid-900.ttf +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/third-party/webfonts/fa-solid-900.woff +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/static/third-party/webfonts/fa-solid-900.woff2 +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/stats.py +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/flask/updown.py +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/plugin/__init__.py +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/plugin/definitions.py +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/plugin/system.py +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds/version.py +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds.egg-info/dependency_links.txt +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/src/fprime_gds.egg-info/top_level.txt +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/test/fprime_gds/common/distributor/test_distributor.py +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/test/fprime_gds/common/encoders/test_ch_encoder.py +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/test/fprime_gds/common/encoders/test_event_encoder.py +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/test/fprime_gds/common/encoders/test_pkt_encoder.py +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/test/fprime_gds/common/gds_cli/filtering_utils_test.py +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/test/fprime_gds/common/gds_cli/utils_test.py +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/test/fprime_gds/common/history/chronohistory_unit_test.py +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/test/fprime_gds/common/history/testhistory_unit_test.py +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/test/fprime_gds/common/testing_fw/UnitTestDictionary.xml +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/test/fprime_gds/common/testing_fw/api_unit_test.py +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/test/fprime_gds/common/testing_fw/logs/.gitignore +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/test/fprime_gds/common/testing_fw/predicate_unit_test.py +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/test/fprime_gds/executables/test_run_deployment.py +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/test/fprime_gds/executables/test_utils.py +0 -0
- {fprime-gds-3.4.4a1 → fprime_gds-3.4.4a3}/test/fprime_gds/sample/dictionary.xml +0 -0
- {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.
|
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. 
|
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. 
|
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(
|
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
|
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(
|
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)
|