fprime-gds 4.0.0a5__tar.gz → 4.0.0a6__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-4.0.0a5 → fprime_gds-4.0.0a6}/PKG-INFO +1 -1
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/common/pipeline/dictionaries.py +7 -6
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/executables/apps.py +9 -4
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/executables/run_deployment.py +1 -1
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds.egg-info/PKG-INFO +1 -1
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/test/fprime_gds/test_plugins.py +108 -24
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/.github/ISSUE_TEMPLATE/config.yml +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/.github/actions/codeql/security-pack.yml +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/.github/actions/spelling/excludes.txt +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/.github/actions/spelling/expect.txt +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/.github/actions/spelling/patterns.txt +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/.github/pull_request_template.md +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/.github/resources/RefTopologyAppDictionary.xml +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/.github/workflows/codeql-security-scan.yml +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/.github/workflows/fprime-gds-tests.yml +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/.github/workflows/gds-cli-tests.yml +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/.github/workflows/publish.yml +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/.github/workflows/spelling.yml +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/.gitignore +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/Doxyfile +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/LICENSE.txt +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/NOTICE.txt +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/README.md +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/configs/__init__.py +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/docs/README.md +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/docs/_static/css/rtd_width.css +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/docs/conf.py +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/docs/gendoc.bash +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/docs/index.rst +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/examples/simple_sequence.bin +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/examples/simple_sequence.seq +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/pyproject.toml +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/setup.cfg +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/setup.py +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fastentrypoints.py +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/__init__.py +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/common/__init__.py +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/common/communication/__init__.py +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/common/communication/adapters/__init__.py +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/common/communication/adapters/base.py +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/common/communication/adapters/ip.py +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/common/communication/adapters/uart.py +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/common/communication/ccsds/__init__.py +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/common/communication/ccsds/apid.py +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/common/communication/ccsds/chain.py +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/common/communication/ccsds/space_data_link.py +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/common/communication/ccsds/space_packet.py +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/common/communication/checksum.py +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/common/communication/framing.py +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/common/communication/ground.py +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/common/communication/updown.py +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/common/controllers/__init__.py +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/common/data_types/__init__.py +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/common/data_types/ch_data.py +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/common/data_types/cmd_data.py +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/common/data_types/event_data.py +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/common/data_types/exceptions.py +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/common/data_types/file_data.py +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/common/data_types/pkt_data.py +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/common/data_types/sys_data.py +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/common/decoders/__init__.py +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/common/decoders/ch_decoder.py +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/common/decoders/decoder.py +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/common/decoders/event_decoder.py +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/common/decoders/file_decoder.py +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/common/decoders/pkt_decoder.py +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/common/distributor/__init__.py +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/common/distributor/distributor.py +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/common/encoders/__init__.py +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/common/encoders/ch_encoder.py +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/common/encoders/cmd_encoder.py +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/common/encoders/encoder.py +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/common/encoders/event_encoder.py +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/common/encoders/file_encoder.py +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/common/encoders/pkt_encoder.py +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/common/encoders/seq_writer.py +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/common/files/File Decoder Documentation.txt +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/common/files/__init__.py +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/common/files/downlinker.py +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/common/files/helpers.py +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/common/files/uplinker.py +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/common/fpy/__init__.py +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/common/fpy/serialize_bytecode.py +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/common/fpy/types.py +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/common/gds_cli/__init__.py +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/common/gds_cli/base_commands.py +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/common/gds_cli/channels.py +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/common/gds_cli/command_send.py +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/common/gds_cli/events.py +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/common/gds_cli/filtering_utils.py +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/common/gds_cli/test_api_utils.py +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/common/handlers.py +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/common/history/__init__.py +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/common/history/chrono.py +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/common/history/history.py +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/common/history/ram.py +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/common/history/test.py +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/common/loaders/__init__.py +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/common/loaders/ch_json_loader.py +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/common/loaders/ch_xml_loader.py +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/common/loaders/cmd_json_loader.py +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/common/loaders/cmd_xml_loader.py +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/common/loaders/dict_loader.py +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/common/loaders/event_json_loader.py +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/common/loaders/event_xml_loader.py +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/common/loaders/fw_type_json_loader.py +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/common/loaders/json_loader.py +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/common/loaders/pkt_json_loader.py +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/common/loaders/pkt_xml_loader.py +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/common/loaders/prm_json_loader.py +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/common/loaders/xml_loader.py +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/common/logger/__init__.py +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/common/logger/data_logger.py +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/common/logger/test_logger.py +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/common/models/__init__.py +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/common/models/common/__init__.py +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/common/models/common/channel_telemetry.py +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/common/models/common/command.py +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/common/models/common/event.py +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/common/parsers/__init__.py +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/common/parsers/seq_file_parser.py +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/common/pipeline/__init__.py +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/common/pipeline/encoding.py +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/common/pipeline/files.py +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/common/pipeline/histories.py +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/common/pipeline/router.py +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/common/pipeline/standard.py +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/common/templates/__init__.py +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/common/templates/ch_template.py +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/common/templates/cmd_template.py +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/common/templates/data_template.py +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/common/templates/event_template.py +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/common/templates/pkt_template.py +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/common/templates/prm_template.py +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/common/testing_fw/__init__.py +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/common/testing_fw/api.py +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/common/testing_fw/predicates.py +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/common/testing_fw/pytest_integration.py +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/common/tools/README.md +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/common/tools/__init__.py +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/common/tools/params.py +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/common/tools/seqgen.py +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/common/transport.py +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/common/utils/__init__.py +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/common/utils/config_manager.py +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/common/utils/data_desc_type.py +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/common/utils/event_severity.py +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/common/utils/string_util.py +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/common/zmq_transport.py +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/executables/__init__.py +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/executables/cli.py +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/executables/comm.py +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/executables/data_product_writer.py +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/executables/fprime_cli.py +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/executables/tcpserver.py +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/executables/utils.py +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/flask/__init__.py +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/flask/app.py +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/flask/channels.py +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/flask/commands.py +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/flask/components.py +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/flask/default_settings.py +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/flask/errors.py +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/flask/events.py +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/flask/json.py +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/flask/logs.py +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/flask/requirements.txt +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/flask/resource.py +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/flask/sequence.py +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/flask/static/.idea/.gitignore +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/flask/static/.idea/misc.xml +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/flask/static/.idea/modules.xml +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/flask/static/.idea/static.iml +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/flask/static/.idea/vcs.xml +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/flask/static/addons/advanced-settings/addon-templates.js +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/flask/static/addons/advanced-settings/addon.js +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/flask/static/addons/channel-render/addon.js +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/flask/static/addons/channel-render/channel-render-template.js +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/flask/static/addons/channel-render/channel-render.js +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/flask/static/addons/chart-display/addon-templates.js +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/flask/static/addons/chart-display/addon.js +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/flask/static/addons/chart-display/config.js +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/flask/static/addons/chart-display/modified-vendor/chartjs-plugin-streaming.js +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/flask/static/addons/chart-display/modified-vendor/chartjs-plugin-zoom.js +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/flask/static/addons/chart-display/modified-vendor/flat.js +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/flask/static/addons/chart-display/sibling.js +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/flask/static/addons/chart-display/vendor/chart.js +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/flask/static/addons/chart-display/vendor/chartjs-adapter-luxon.min.js +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/flask/static/addons/chart-display/vendor/hammer.min.js +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/flask/static/addons/commanding/addon.js +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/flask/static/addons/commanding/argument-templates.js +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/flask/static/addons/commanding/arguments.js +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/flask/static/addons/commanding/command-history-template.js +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/flask/static/addons/commanding/command-history.js +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/flask/static/addons/commanding/command-input-template.js +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/flask/static/addons/commanding/command-input.js +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/flask/static/addons/commanding/command-string-template.js +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/flask/static/addons/commanding/command-string.js +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/flask/static/addons/dictionary/addon-templates.js +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/flask/static/addons/dictionary/addon.js +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/flask/static/addons/enabled.js +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/flask/static/addons/image-display/addon.js +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/flask/static/addons/image-display/dashboard.xml +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/flask/static/addons/sequencer/README.md +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/flask/static/addons/sequencer/addon-templates.js +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/flask/static/addons/sequencer/addon.js +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/flask/static/addons/sequencer/autocomplete.js +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/flask/static/addons/sequencer/lint.js +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/flask/static/addons/sequencer/third/code-mirror.es.js +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/flask/static/addons/sequencer/third/rollup/.gitignore +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/flask/static/addons/sequencer/third/rollup/index.js +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/flask/static/addons/sequencer/third/rollup/language.grammer +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/flask/static/addons/sequencer/third/rollup/package.json +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/flask/static/addons/sequencer/third/rollup/rollup.config.js +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/flask/static/css/fprime.css +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/flask/static/css/fpstyle.css +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/flask/static/favicon.ico +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/flask/static/img/error.svg +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/flask/static/img/logo.svg +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/flask/static/img/success.svg +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/flask/static/index.html +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/flask/static/js/config.js +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/flask/static/js/datastore.js +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/flask/static/js/gds.js +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/flask/static/js/json.js +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/flask/static/js/loader.js +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/flask/static/js/performance.js +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/flask/static/js/settings.js +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/flask/static/js/uploader.js +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/flask/static/js/validate.js +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/flask/static/js/vue-support/channel.js +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/flask/static/js/vue-support/dashboard-box.js +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/flask/static/js/vue-support/dashboard-row.js +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/flask/static/js/vue-support/dashboard.js +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/flask/static/js/vue-support/downlink.js +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/flask/static/js/vue-support/event.js +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/flask/static/js/vue-support/fp-row.js +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/flask/static/js/vue-support/fptable.js +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/flask/static/js/vue-support/log.js +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/flask/static/js/vue-support/tabetc.js +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/flask/static/js/vue-support/uplink.js +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/flask/static/js/vue-support/utils.js +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/flask/static/third-party/css/all.min.css +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/flask/static/third-party/css/bootstrap.min.css +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/flask/static/third-party/css/vue-select.css +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/flask/static/third-party/js/luxon.min.js +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/flask/static/third-party/js/sorttable.js +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/flask/static/third-party/js/v-runtime-template.js +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/flask/static/third-party/js/vue-select.js +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/flask/static/third-party/js/vue.min.js +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/flask/static/third-party/webfonts/fa-brands-400.eot +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/flask/static/third-party/webfonts/fa-brands-400.svg +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/flask/static/third-party/webfonts/fa-brands-400.ttf +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/flask/static/third-party/webfonts/fa-brands-400.woff +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/flask/static/third-party/webfonts/fa-brands-400.woff2 +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/flask/static/third-party/webfonts/fa-regular-400.eot +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/flask/static/third-party/webfonts/fa-regular-400.svg +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/flask/static/third-party/webfonts/fa-regular-400.ttf +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/flask/static/third-party/webfonts/fa-regular-400.woff +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/flask/static/third-party/webfonts/fa-regular-400.woff2 +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/flask/static/third-party/webfonts/fa-solid-900.eot +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/flask/static/third-party/webfonts/fa-solid-900.svg +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/flask/static/third-party/webfonts/fa-solid-900.ttf +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/flask/static/third-party/webfonts/fa-solid-900.woff +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/flask/static/third-party/webfonts/fa-solid-900.woff2 +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/flask/stats.py +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/flask/updown.py +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/plugin/__init__.py +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/plugin/definitions.py +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/plugin/system.py +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/version.py +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds.egg-info/SOURCES.txt +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds.egg-info/dependency_links.txt +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds.egg-info/entry_points.txt +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds.egg-info/requires.txt +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds.egg-info/top_level.txt +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/test/fprime_gds/common/communication/ccsds/test_space_data_link.py +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/test/fprime_gds/common/communication/ccsds/test_space_packet.py +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/test/fprime_gds/common/data_types/test_cmd_data.py +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/test/fprime_gds/common/distributor/test_distributor.py +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/test/fprime_gds/common/encoders/test_ch_encoder.py +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/test/fprime_gds/common/encoders/test_event_encoder.py +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/test/fprime_gds/common/encoders/test_pkt_encoder.py +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/test/fprime_gds/common/fpy/integrated_tests.py +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/test/fprime_gds/common/gds_cli/filtering_utils_test.py +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/test/fprime_gds/common/gds_cli/utils_test.py +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/test/fprime_gds/common/history/chronohistory_unit_test.py +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/test/fprime_gds/common/history/testhistory_unit_test.py +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/test/fprime_gds/common/loaders/resources/RefTopologyDictionary.json +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/test/fprime_gds/common/loaders/test_json_loader.py +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/test/fprime_gds/common/testing_fw/UnitTestDictionary.xml +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/test/fprime_gds/common/testing_fw/api_unit_test.py +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/test/fprime_gds/common/testing_fw/logs/.gitignore +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/test/fprime_gds/common/testing_fw/predicate_unit_test.py +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/test/fprime_gds/common/tools/expected/simple_expected.bin +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/test/fprime_gds/common/tools/expected/simple_paramdb.dat +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/test/fprime_gds/common/tools/input/simple_bad_paramdb.json +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/test/fprime_gds/common/tools/input/simple_bad_sequence.seq +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/test/fprime_gds/common/tools/input/simple_paramdb.json +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/test/fprime_gds/common/tools/input/simple_sequence.seq +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/test/fprime_gds/common/tools/resources/simple_dictionary.json +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/test/fprime_gds/common/tools/resources/simple_dictionary.xml +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/test/fprime_gds/common/tools/seqgen_unit_test.py +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/test/fprime_gds/common/tools/test_paramdb_gen.py +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/test/fprime_gds/common/utils/test_string_util.py +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/test/fprime_gds/executables/.gitignore +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/test/fprime_gds/executables/dp_writer_data/dictionary.json +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/test/fprime_gds/executables/dp_writer_data/makeBool.bin +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/test/fprime_gds/executables/dp_writer_data/makeComplex.bin +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/test/fprime_gds/executables/dp_writer_data/makeDataArray.bin +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/test/fprime_gds/executables/dp_writer_data/makeEnum.bin +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/test/fprime_gds/executables/dp_writer_data/makeF32.bin +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/test/fprime_gds/executables/dp_writer_data/makeF64.bin +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/test/fprime_gds/executables/dp_writer_data/makeFppArray.bin +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/test/fprime_gds/executables/dp_writer_data/makeI16.bin +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/test/fprime_gds/executables/dp_writer_data/makeI32.bin +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/test/fprime_gds/executables/dp_writer_data/makeI64.bin +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/test/fprime_gds/executables/dp_writer_data/makeI8.bin +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/test/fprime_gds/executables/dp_writer_data/makeU32.bin +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/test/fprime_gds/executables/dp_writer_data/makeU32Array.bin +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/test/fprime_gds/executables/dp_writer_data/makeU8Array.bin +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/test/fprime_gds/executables/test_data_product_writer.py +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/test/fprime_gds/executables/test_run_deployment.py +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/test/fprime_gds/executables/test_utils.py +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/test/fprime_gds/sample/dictionary.xml +0 -0
- {fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/test/gui/GUI_Test_Procedure.md +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: fprime-gds
|
3
|
-
Version: 4.0.
|
3
|
+
Version: 4.0.0a6
|
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:
|
@@ -128,7 +128,13 @@ class Dictionaries:
|
|
128
128
|
msg = f"[ERROR] Dictionary '{dictionary}' does not exist."
|
129
129
|
raise Exception(msg)
|
130
130
|
# Check for packet specification
|
131
|
-
if
|
131
|
+
if packet_spec is not None:
|
132
|
+
packet_loader = fprime_gds.common.loaders.pkt_xml_loader.PktXmlLoader()
|
133
|
+
self._packet_dict = packet_loader.get_id_dict(
|
134
|
+
packet_spec, self._channel_name_dict
|
135
|
+
)
|
136
|
+
# Otherwise use JSON dictionary to attempt automatic packet loading
|
137
|
+
elif self._metadata["dictionary_type"] == "json":
|
132
138
|
packet_loader = fprime_gds.common.loaders.pkt_json_loader.PktJsonLoader(dictionary)
|
133
139
|
if packet_set_name is None:
|
134
140
|
names = packet_loader.get_packet_set_names(None)
|
@@ -141,11 +147,6 @@ class Dictionaries:
|
|
141
147
|
self._packet_dict = packet_loader.get_id_dict(
|
142
148
|
None, packet_set_name, self._channel_name_dict
|
143
149
|
)
|
144
|
-
elif packet_spec is not None:
|
145
|
-
packet_loader = fprime_gds.common.loaders.pkt_xml_loader.PktXmlLoader(dictionary)
|
146
|
-
self._packet_dict = packet_loader.get_id_dict(
|
147
|
-
packet_spec, self._channel_name_dict
|
148
|
-
)
|
149
150
|
else:
|
150
151
|
self._packet_dict = None
|
151
152
|
|
@@ -237,14 +237,18 @@ class GdsStandardApp(GdsApp):
|
|
237
237
|
arguments needed for the given parsers. When main is loaded, it will dispatch to the sub-classing plugin's
|
238
238
|
start method. The subclassing plugin will already have had the arguments supplied via the PluginParser's
|
239
239
|
construction of plugin objects.
|
240
|
+
|
241
|
+
Returns:
|
242
|
+
list of arguments to pass to subprocess
|
240
243
|
"""
|
241
244
|
cls = self.__class__.__name__
|
242
245
|
module = self.__class__.__module__
|
243
246
|
|
244
|
-
|
245
|
-
args = CompositeParser(
|
247
|
+
composite_parser = CompositeParser(
|
246
248
|
[self.get_cli_parser(), StandardPipelineParser]
|
247
|
-
)
|
249
|
+
)
|
250
|
+
namespace, _, _ = ParserBase.parse_known_args([composite_parser])
|
251
|
+
args = composite_parser.reproduce_cli_args(namespace)
|
248
252
|
return [sys.executable, "-c", f"import {module}\n{module}.{cls}.main()"] + args
|
249
253
|
|
250
254
|
@classmethod
|
@@ -260,9 +264,10 @@ class GdsStandardApp(GdsApp):
|
|
260
264
|
# triggered by the code above that turns it off in the not-setup case.
|
261
265
|
except AssertionError:
|
262
266
|
pass
|
267
|
+
plugin_name = getattr(cls, "get_name", lambda: cls.__name__)()
|
263
268
|
parsed_arguments, _ = ParserBase.parse_args(
|
264
269
|
[cls.get_cli_parser(), StandardPipelineParser, PluginArgumentParser],
|
265
|
-
f"{
|
270
|
+
f"{plugin_name}: a standard app plugin",
|
266
271
|
)
|
267
272
|
pipeline = StandardPipeline()
|
268
273
|
# Turn off history and filing
|
@@ -177,7 +177,7 @@ def launch_comm(parsed_args):
|
|
177
177
|
|
178
178
|
def launch_plugin(plugin_class_instance):
|
179
179
|
"""Launch a plugin instance"""
|
180
|
-
plugin_name = getattr(plugin_class_instance, "get_name", lambda:
|
180
|
+
plugin_name = getattr(plugin_class_instance, "get_name", lambda: plugin_class_instance.__class__.__name__)()
|
181
181
|
return launch_process(
|
182
182
|
plugin_class_instance.get_process_invocation(),
|
183
183
|
name=f"{ plugin_name } Plugin App",
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: fprime-gds
|
3
|
-
Version: 4.0.
|
3
|
+
Version: 4.0.0a6
|
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:
|
@@ -12,17 +12,19 @@ import signal
|
|
12
12
|
import subprocess
|
13
13
|
import sys
|
14
14
|
import time
|
15
|
+
from typing import Dict, Tuple
|
15
16
|
|
16
17
|
import pytest
|
17
18
|
|
18
19
|
from pathlib import Path
|
19
|
-
from tempfile import NamedTemporaryFile
|
20
|
+
from tempfile import NamedTemporaryFile, TemporaryDirectory
|
20
21
|
from fprime_gds.common.communication.adapters.ip import IpAdapter
|
21
22
|
from fprime_gds.common.communication.adapters.base import NoneAdapter
|
22
23
|
from fprime_gds.common.communication.adapters.uart import SerialAdapter
|
23
24
|
from fprime_gds.common.communication.framing import FramerDeframer, FpFramerDeframer
|
25
|
+
from fprime_gds.common.pipeline.standard import StandardPipeline
|
24
26
|
from fprime_gds.executables.cli import ParserBase, PluginArgumentParser
|
25
|
-
from fprime_gds.executables.apps import GdsFunction, GdsApp
|
27
|
+
from fprime_gds.executables.apps import GdsFunction, GdsApp, GdsStandardApp
|
26
28
|
from fprime_gds.plugin.definitions import gds_plugin_implementation, gds_plugin
|
27
29
|
from fprime_gds.plugin.system import Plugins
|
28
30
|
|
@@ -192,6 +194,54 @@ class StartApp(GdsApp):
|
|
192
194
|
"""Register a good plugin"""
|
193
195
|
return cls
|
194
196
|
|
197
|
+
@gds_plugin(GdsStandardApp)
|
198
|
+
class StandardAppTester(GdsStandardApp):
|
199
|
+
"""A test plugin that uses the standard app functionality"""
|
200
|
+
INIT_CALLED = False
|
201
|
+
|
202
|
+
def __init__(self, test_arg, test_arg_with_default, start_up_file, **pipeline_arguments):
|
203
|
+
"""Initialize the standard app tester"""
|
204
|
+
super().__init__(**pipeline_arguments)
|
205
|
+
self.test_arg = test_arg
|
206
|
+
self.test_arg_with_default = test_arg_with_default
|
207
|
+
self.start_up_file = start_up_file
|
208
|
+
|
209
|
+
@classmethod
|
210
|
+
def get_additional_arguments(cls) -> Dict[Tuple, Dict[str, str]]:
|
211
|
+
"""Function to provide additional command line arguments beyond the standard pipeline
|
212
|
+
|
213
|
+
Override this function to provide additional arguments. The form of the arguments are the same as returned by
|
214
|
+
standard plugins: a dictionary of tuple flags to argparse kwargs inputs.
|
215
|
+
|
216
|
+
Return:
|
217
|
+
dictionary of flag tuple to argparse kwargs
|
218
|
+
"""
|
219
|
+
return {
|
220
|
+
("--test-arg",): {"type": str, "help": "Test argument", "required": True},
|
221
|
+
("--test-arg-with-default",): {"type": str, "help": "Test argument with default", "default": "test-default"},
|
222
|
+
("--start-up-file",): {
|
223
|
+
"type": str,
|
224
|
+
"help": "File to run start-up function on",
|
225
|
+
"required": True,
|
226
|
+
}
|
227
|
+
}
|
228
|
+
|
229
|
+
@classmethod
|
230
|
+
def init(cls):
|
231
|
+
"""Allows standard application plugins to initialize before argument parsing is performed"""
|
232
|
+
cls.INIT_CALLED = True
|
233
|
+
|
234
|
+
|
235
|
+
def start(self, pipeline: StandardPipeline):
|
236
|
+
"""Start function to contain behavior based in standard pipeline """
|
237
|
+
with open(self.start_up_file, "a+") as file_handle:
|
238
|
+
if self.INIT_CALLED:
|
239
|
+
print("[TestStandardApp] init called", file=file_handle)
|
240
|
+
print("[TestStandardApp] start called", file=file_handle)
|
241
|
+
print("[TestStandardApp] test-arg", self.test_arg, file=file_handle)
|
242
|
+
print("[TestStandardApp] test-arg-with-default", self.test_arg_with_default, file=file_handle)
|
243
|
+
|
244
|
+
|
195
245
|
|
196
246
|
@pytest.fixture()
|
197
247
|
def plugins():
|
@@ -215,31 +265,34 @@ def start_up(request):
|
|
215
265
|
parent_path = Path(__file__).parent
|
216
266
|
extra_plugins, flags = request.param
|
217
267
|
|
218
|
-
command_arguments = [
|
219
|
-
"fprime-gds",
|
220
|
-
"-n",
|
221
|
-
"--dictionary",
|
222
|
-
str(parent_path / "sample" / "dictionary.xml"),
|
223
|
-
"--zmq-transport",
|
224
|
-
"ipc:///tmp/fprime-test-in",
|
225
|
-
"ipc:///tmp/fprime-test-out",
|
226
|
-
"-g",
|
227
|
-
"none",
|
228
|
-
] + flags
|
229
|
-
|
230
268
|
# Update the environment to side-load python
|
231
269
|
environment = os.environ.copy()
|
232
270
|
environment[Plugins.PLUGIN_ENVIRONMENT_VARIABLE] = extra_plugins
|
233
271
|
environment["PYTHONPATH"] = f"{environment.get('PYTHONPATH', '')}:{parent_path}"
|
234
|
-
with
|
235
|
-
|
236
|
-
|
237
|
-
|
238
|
-
|
239
|
-
|
240
|
-
|
241
|
-
|
242
|
-
|
272
|
+
with TemporaryDirectory() as temp_dir:
|
273
|
+
# Command line arguments including a temporary directory for the ZMQ transport
|
274
|
+
# sockets used in this test.
|
275
|
+
command_arguments = [
|
276
|
+
"fprime-gds",
|
277
|
+
"-n",
|
278
|
+
"--dictionary",
|
279
|
+
str(parent_path / "sample" / "dictionary.xml"),
|
280
|
+
"--zmq-transport",
|
281
|
+
f"ipc://{temp_dir}/fprime-test-in",
|
282
|
+
f"ipc://{temp_dir}/fprime-test-out",
|
283
|
+
"-g",
|
284
|
+
"none",
|
285
|
+
"--disable-custom-data-handlers",
|
286
|
+
] + flags
|
287
|
+
with NamedTemporaryFile(mode="w+", dir=temp_dir) as temp_file:
|
288
|
+
assert "" == temp_file.read(), "Failed to read empty file"
|
289
|
+
command_arguments += ["--start-up-file", temp_file.name]
|
290
|
+
# Run subprocess for 3 seconds then kill the GDS with 5 seconds to shut down
|
291
|
+
process = subprocess.Popen(command_arguments, env=environment)
|
292
|
+
time.sleep(3)
|
293
|
+
process.send_signal(signal.SIGINT)
|
294
|
+
_ = process.communicate(None, 5)
|
295
|
+
yield temp_file
|
243
296
|
|
244
297
|
|
245
298
|
def test_base_plugin(plugins):
|
@@ -404,9 +457,40 @@ def test_disabled_start_app(start_up):
|
|
404
457
|
"""Test disabled start-up functions"""
|
405
458
|
assert "" == start_up.read(), "Failed to read empty file"
|
406
459
|
|
460
|
+
@pytest.mark.parametrize("start_up", [(f"{__name__}:StandardAppTester", ["--test-arg", "test"])], indirect=True)
|
461
|
+
def test_standard_app(start_up):
|
462
|
+
"""Test standard app functionality"""
|
463
|
+
lines = [line.strip() for line in start_up.readlines()]
|
464
|
+
expected_lines = [
|
465
|
+
"[TestStandardApp] init called",
|
466
|
+
"[TestStandardApp] start called",
|
467
|
+
"[TestStandardApp] test-arg test",
|
468
|
+
"[TestStandardApp] test-arg-with-default test-default",
|
469
|
+
]
|
470
|
+
assert expected_lines[0] in lines, "Plugin not initialized"
|
471
|
+
assert expected_lines[1] in lines, "Plugin not started"
|
472
|
+
assert expected_lines[2] in lines, "Test argument not passed"
|
473
|
+
assert expected_lines[3] in lines, "Test argument with default not passed"
|
474
|
+
assert expected_lines == lines, "Ordering of lines not correct"
|
475
|
+
|
476
|
+
@pytest.mark.parametrize("start_up", [(f"{__name__}:StandardAppTester", ["--test-arg", "test", "--test-arg-with-default", "test-non-default"])], indirect=True)
|
477
|
+
def test_standard_app_with_non_defaults(start_up):
|
478
|
+
"""Test standard app functionality"""
|
479
|
+
lines = [line.strip() for line in start_up.readlines()]
|
480
|
+
expected_lines = [
|
481
|
+
"[TestStandardApp] init called",
|
482
|
+
"[TestStandardApp] start called",
|
483
|
+
"[TestStandardApp] test-arg test",
|
484
|
+
"[TestStandardApp] test-arg-with-default test-non-default",
|
485
|
+
]
|
486
|
+
assert expected_lines[0] in lines, "Plugin not initialized"
|
487
|
+
assert expected_lines[1] in lines, "Plugin not started"
|
488
|
+
assert expected_lines[2] in lines, "Test argument not passed"
|
489
|
+
assert expected_lines[3] in lines, "Test argument with overridden default not passed"
|
490
|
+
assert expected_lines == lines, "Ordering of lines not correct"
|
407
491
|
|
408
492
|
def main():
|
409
|
-
"""Run main entry point function
|
493
|
+
"""Run main entry point function for StartApp plugin
|
410
494
|
|
411
495
|
The main function is run when the file is invoked not as a pytest set of test, but rather when it is run as part of
|
412
496
|
the StartApp plugin. This main program writes the second argument to the file represented as the first.
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/common/communication/adapters/__init__.py
RENAMED
File without changes
|
{fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/common/communication/adapters/base.py
RENAMED
File without changes
|
{fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/common/communication/adapters/ip.py
RENAMED
File without changes
|
{fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/common/communication/adapters/uart.py
RENAMED
File without changes
|
{fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/common/communication/ccsds/__init__.py
RENAMED
File without changes
|
File without changes
|
{fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/common/communication/ccsds/chain.py
RENAMED
File without changes
|
File without changes
|
{fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/common/communication/ccsds/space_packet.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/common/files/File Decoder Documentation.txt
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/common/loaders/event_json_loader.py
RENAMED
File without changes
|
File without changes
|
{fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/common/loaders/fw_type_json_loader.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/common/models/common/channel_telemetry.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{fprime_gds-4.0.0a5 → fprime_gds-4.0.0a6}/src/fprime_gds/common/testing_fw/pytest_integration.py
RENAMED
File without changes
|
File without changes
|