mstarch: cleaning up documentation in preparation for doxygen
@ -1,4 +1,3 @@
|
||||
<title>Drv::BlockDriver</title>
|
||||
# Drv::BlockDriver Component
|
||||
|
||||
## 1. Introduction
|
||||
|
||||
@ -1,4 +1,3 @@
|
||||
<title>Fw/Buffer</title>
|
||||
|
||||
# Fw/Buffer
|
||||
|
||||
|
||||
@ -1,4 +1,3 @@
|
||||
<title>Fw::Cmd/Fw::CmdResponse/Fw::CmdReg Port SDD</title>
|
||||
|
||||
# Fw::Cmd/Fw::CmdResponse/Fw::CmdReg
|
||||
|
||||
|
||||
@ -1,4 +1,3 @@
|
||||
<title>Fw::Com Port SDD</title>
|
||||
# Fw::Com Port
|
||||
|
||||
## 1. Introduction
|
||||
|
||||
@ -1,4 +1,3 @@
|
||||
<title>Fw/FilePacket</title>
|
||||
|
||||
# Fw/FilePacket
|
||||
|
||||
|
||||
@ -1,4 +1,3 @@
|
||||
<title>Fw::Log/Fw::LogText Port SDD</title>
|
||||
|
||||
# Fw::Log/LogText Ports
|
||||
|
||||
|
||||
@ -1,4 +1,3 @@
|
||||
<title>Fw::Obj SDD</title>
|
||||
# Fw::Obj Descriptions
|
||||
|
||||
## 1. Introduction
|
||||
|
||||
@ -1,4 +1,3 @@
|
||||
<title>Fw::Port SDD</title>
|
||||
# Fw::Port Descriptions
|
||||
|
||||
## 1. Introduction
|
||||
|
||||
@ -1,4 +1,3 @@
|
||||
<title>Fw::PrmGet/Fw::PrmSet Port SDD</title>
|
||||
|
||||
# Fw::PrmGet/PrmSet Ports
|
||||
|
||||
|
||||
@ -1,4 +1,3 @@
|
||||
<title>Fw::Time Port SDD</title>
|
||||
# Fw::Time Port
|
||||
|
||||
## 1. Introduction
|
||||
|
||||
@ -1,4 +1,3 @@
|
||||
<title>Fw::Tlm Port SDD</title>
|
||||
# Fw::Tlm Port
|
||||
|
||||
## 1. Introduction
|
||||
|
||||
@ -1,4 +1,3 @@
|
||||
<title>Fw::Types SDD</title>
|
||||
# Fw::Type Descriptions
|
||||
|
||||
## 1. Introduction
|
||||
|
||||
@ -26,7 +26,7 @@ a data object and turn it into binary data that can be sent to the fprime
|
||||
deployment. The binary data is then passed to the TCP client which is
|
||||
registered to the encoder. Finally, the TCP client send the data back
|
||||
to the TCP server and the F' deployment.
|
||||

|
||||

|
||||
|
||||
All of these objects are created and registered to other objects when the Gds
|
||||
is initialized. Thus, all of the structure of the Gds is created in one place,
|
||||
@ -39,7 +39,7 @@ The Gds was designed to have flexible configurations of consumers for its variou
|
||||
The standard pipeline can be thought of as a Python helper-layer to instantiate the GDS and connect to an FPrime deployment. The pipeline provides event, telemetry and command histories, sending commands and registering consumers to the GDS decoders. The Standard Pipeline can be found [here](src/fprime_gds/common/pipeline/standard.py).
|
||||
|
||||
### GDS Integration Test API
|
||||
The Integration Test API is a tool that provides the ability to write integration-level tests for an FPrime deployment using the GDS. The tool provides history searches/asserts, command sending, a detailed test log, sub-histories and convenient access to GDS data objects. The test API comes with separate [documentation](docs/testAPI/markdown/contents.md) and its own [user guide](docs/testAPI/user_guide.md) and is built on top of the Standard Pipeline.
|
||||
The Integration Test API is a tool that provides the ability to write integration-level tests for an FPrime deployment using the GDS. The tool provides history searches/asserts, command sending, a detailed test log, sub-histories and convenient access to GDS data objects. The test API comes with separate [documentation](../docs/UsersGuide/dev/testAPI/markdown/contents.md) and its own [user guide](../docs/UsersGuide/dev/testAPI/user_guide.md) and is built on top of the Standard Pipeline.
|
||||
|
||||
### GDS WX GUI
|
||||
The WX GUI is a user interface developed with the WX-Python. It uses the GDS to support a simple UI with command, event, and telemetry interfaces.
|
||||
|
||||
@ -1,4 +1,3 @@
|
||||
<title>Os::Queue (Pthreads implementation)</title>
|
||||
|
||||
# Os::Queue (Pthreads implemenation)
|
||||
|
||||
|
||||
@ -1,4 +1,3 @@
|
||||
<title>Ref::PingReceiver</title>
|
||||
# Ref::PingReceiver Component
|
||||
|
||||
## 1. Introduction
|
||||
|
||||
@ -1,4 +1,3 @@
|
||||
<title>Ref::RecvBuffApp</title>
|
||||
# Ref::RecvBuffApp Component
|
||||
|
||||
## 1. Introduction
|
||||
|
||||
@ -1,4 +1,3 @@
|
||||
<title>Ref::SendBuffApp</title>
|
||||
# Ref::SendBuffApp Component
|
||||
|
||||
## 1. Introduction
|
||||
|
||||
@ -1,4 +1,3 @@
|
||||
<title>Ref::SignalGen</title>
|
||||
# Ref::SignalGen Component
|
||||
|
||||
## 1. Introduction
|
||||
|
||||
@ -1,4 +1,3 @@
|
||||
<title>Reference Application SDD</title>
|
||||
# Reference Deployment
|
||||
|
||||
## 1. Description
|
||||
|
||||
@ -1,4 +1,3 @@
|
||||
<title>Svc::ActiveLogger Component SDD</title>
|
||||
# Svc::ActiveLogger Component
|
||||
|
||||
## 1. Introduction
|
||||
|
||||
@ -1,4 +1,3 @@
|
||||
<title>ActiveRateGroup Component SDD</title>
|
||||
# RateGroupDriver Component
|
||||
|
||||
## 1. Introduction
|
||||
|
||||
@ -1,4 +1,3 @@
|
||||
<title>Svc::ActiveTextLogger Component SDD</title>
|
||||
# Svc::ActiveTextLogger Component
|
||||
|
||||
## 1. Introduction
|
||||
|
||||
@ -1,4 +1,3 @@
|
||||
<title>AssertFatalAdapter Component SDD</title>
|
||||
# AssertFatalAdapter Component
|
||||
|
||||
## 1. Introduction
|
||||
|
||||
@ -1,4 +1,3 @@
|
||||
<title>Svc::BufferManager</title>
|
||||
|
||||
# Svc::BufferManager
|
||||
|
||||
|
||||
@ -1,4 +1,3 @@
|
||||
<title>Svc::CmdDispatcher Component SDD</title>
|
||||
# Svc::CmdDispatcher Component
|
||||
|
||||
## 1. Introduction
|
||||
|
||||
@ -1,4 +1,3 @@
|
||||
<title>Svc::CmdSequencer Component SDD</title>
|
||||
# Svc::CmdSequencer Component
|
||||
|
||||
## 1 Introduction
|
||||
|
||||
@ -1,4 +1,3 @@
|
||||
<title>Svc::Fatal Port SDD</title>
|
||||
# Svc::Fatal Port
|
||||
|
||||
## 1. Introduction
|
||||
|
||||
@ -1,4 +1,3 @@
|
||||
<title>Svc::FatalHandler Component SDD</title>
|
||||
# Svc::FatalHandler Component
|
||||
|
||||
## 1. Introduction
|
||||
|
||||
@ -1,4 +1,3 @@
|
||||
<title>Svc::FileDownlink</title>
|
||||
|
||||
# Svc::FileDownlink
|
||||
|
||||
|
||||
@ -1,4 +1,3 @@
|
||||
<title>Svc::FileManager</title>
|
||||
# Svc::FileManager Component
|
||||
|
||||
## 1. Introduction
|
||||
|
||||
@ -1,4 +1,3 @@
|
||||
<title>Svc::FileUplink</title>
|
||||
|
||||
# Svc::FileUplink
|
||||
|
||||
|
||||
@ -1,4 +1,3 @@
|
||||
<title>Svc::Health Component SDD</title>
|
||||
# Svc::Health Component
|
||||
|
||||
## 1. Introduction
|
||||
|
||||
@ -1,4 +1,3 @@
|
||||
<title>Svc::LinuxTime</title>
|
||||
# Svc::LinuxTime Component
|
||||
|
||||
## 1. Introduction
|
||||
|
||||
@ -1,4 +1,3 @@
|
||||
<title>Svc::PassiveConsoleTextLogger</title>
|
||||
# Svc::PassiveConsoleTextLogger Component
|
||||
|
||||
## 1. Introduction
|
||||
|
||||
@ -1,4 +1,3 @@
|
||||
<title>Svc::Ping Port SDD</title>
|
||||
|
||||
# Svc::Ping Port
|
||||
|
||||
|
||||
@ -1,4 +1,3 @@
|
||||
<title>Svc::PolyDb Component SDD</title>
|
||||
# Svc::PolyDb Component
|
||||
|
||||
## 1. Introduction
|
||||
|
||||
@ -1,4 +1,3 @@
|
||||
<title>Svc::Poly Port SDD</title>
|
||||
# Svc::Poly Port
|
||||
|
||||
## 1. Introduction
|
||||
|
||||
@ -1,4 +1,3 @@
|
||||
<title>PrmDb Component SDD</title>
|
||||
# `Svc::PrmDb` Component
|
||||
|
||||
## 1. Introduction
|
||||
|
||||
@ -1,4 +1,3 @@
|
||||
<title>RateGroupDriver Component SDD</title>
|
||||
# RateGroupDriver Component
|
||||
|
||||
## 1. Introduction
|
||||
|
||||
@ -1,4 +1,3 @@
|
||||
<title>Svc::Sched Port SDD</title>
|
||||
# Svc::Sched Port
|
||||
|
||||
## 1. Introduction
|
||||
|
||||
@ -1,4 +1,3 @@
|
||||
<title>TlmChan Component SDD</title>
|
||||
# TlmChan Component
|
||||
|
||||
## 1. Introduction
|
||||
|
||||
@ -1,5 +1,3 @@
|
||||
<title>Svc::WatchDog Port SDD</title>
|
||||
|
||||
# Svc::WatchDog Port
|
||||
|
||||
## 1. Introduction
|
||||
|
||||
@ -42,7 +42,7 @@ This guide is for programmers who intend to maintain and develop code for the Gr
|
||||
|
||||
### Intended
|
||||
|
||||

|
||||

|
||||
|
||||
The intended architecture for the CLI is:
|
||||
|
||||
@ -56,7 +56,7 @@ The CLI will interact with the GDS through an appropriate API, which the CLI mod
|
||||
|
||||
Not including imports used only for type hints, or dependencies for modules not part of the GDS CLI source code (generated using [pydeps](https://pydeps.readthedocs.io/en/latest/):
|
||||
|
||||

|
||||

|
||||
|
||||
*Note that the above graph has arrows pointing **to** the module that does the importing and away from the dependency, and does not include Python standard library imports*
|
||||
|
||||
@ -66,7 +66,7 @@ Not including imports used only for type hints, or dependencies for modules not
|
||||
|
||||
### Dataflow
|
||||
|
||||

|
||||

|
||||
|
||||
### Dependencies
|
||||
|
||||
|
Before Width: | Height: | Size: 32 KiB After Width: | Height: | Size: 32 KiB |
|
Before Width: | Height: | Size: 47 KiB After Width: | Height: | Size: 47 KiB |
|
Before Width: | Height: | Size: 84 KiB After Width: | Height: | Size: 84 KiB |
|
Before Width: | Height: | Size: 238 KiB After Width: | Height: | Size: 238 KiB |
@ -22,4 +22,4 @@ contain the root `toctree` directive. -->
|
||||
|
||||
* [Integration Test API User Guide](../user_guide.md)
|
||||
|
||||
* [GDS Overview](../../../README.md)
|
||||
* [GDS Overview](../../../../../Gds/README.md)
|
||||
@ -673,7 +673,7 @@ Args:
|
||||
|Quick Links|
|
||||
|:----------|
|
||||
|[Integration Test API User Guide](../user_guide.md)|
|
||||
|[GDS Overview](../../../README.md)|
|
||||
|[GDS Overview](../../../../../Gds/README.md)|
|
||||
|[Integration Test API](integration_test_api.md)|
|
||||
|[Histories](histories.md)|
|
||||
|[Predicates](predicates.md)|
|
||||
@ -36,7 +36,7 @@ Args:
|
||||
|Quick Links|
|
||||
|:----------|
|
||||
|[Integration Test API User Guide](../user_guide.md)|
|
||||
|[GDS Overview](../../../README.md)|
|
||||
|[GDS Overview](../../../../../Gds/README.md)|
|
||||
|[Integration Test API](integration_test_api.md)|
|
||||
|[Histories](histories.md)|
|
||||
|[Predicates](predicates.md)|
|
||||
@ -166,7 +166,7 @@ Returns:
|
||||
|Quick Links|
|
||||
|:----------|
|
||||
|[Integration Test API User Guide](../user_guide.md)|
|
||||
|[GDS Overview](../../../README.md)|
|
||||
|[GDS Overview](../../../../../Gds/README.md)|
|
||||
|[Integration Test API](integration_test_api.md)|
|
||||
|[Histories](histories.md)|
|
||||
|[Predicates](predicates.md)|
|
||||
@ -70,7 +70,7 @@ Saves the write-only workbook. Should be called only once when the log is comple
|
||||
|Quick Links|
|
||||
|:----------|
|
||||
|[Integration Test API User Guide](../user_guide.md)|
|
||||
|[GDS Overview](../../../README.md)|
|
||||
|[GDS Overview](../../../../../Gds/README.md)|
|
||||
|[Integration Test API](integration_test_api.md)|
|
||||
|[Histories](histories.md)|
|
||||
|[Predicates](predicates.md)|
|
||||
@ -227,7 +227,7 @@ Returns:
|
||||
|Quick Links|
|
||||
|:----------|
|
||||
|[Integration Test API User Guide](../user_guide.md)|
|
||||
|[GDS Overview](../../../README.md)|
|
||||
|[GDS Overview](../../../../../Gds/README.md)|
|
||||
|[Integration Test API](integration_test_api.md)|
|
||||
|[Histories](histories.md)|
|
||||
|[Predicates](predicates.md)|
|
||||
@ -8,7 +8,7 @@ This integration test API was developed by Kevin Oran in the summer of 2019.
|
||||
|
||||
***
|
||||
|
||||
To work with the integration test API, the user must first create an instance of the StandardPipeline and then instantiate the API. This is boiler plate code that should be [moved inside the TestAPI](#moving-standardpipeline-to-api-constructor). The following code snippet accomplishes directing the GDS to a deployment dictionary, connecting to a running deployment, and finally instantiating the test API. This snippet **DOES NOT** run the GDS TCP Server or run an F Prime deployment. An example script to run the Ref App deployment without a GDS Tool can be found [here](../../../Ref/scripts/run_ref_for_int_test.sh).
|
||||
To work with the integration test API, the user must first create an instance of the StandardPipeline and then instantiate the API. This is boiler plate code that should be [moved inside the TestAPI](#moving-standardpipeline-to-api-constructor). The following code snippet accomplishes directing the GDS to a deployment dictionary, connecting to a running deployment, and finally instantiating the test API. This snippet **DOES NOT** run the GDS TCP Server or run an F Prime deployment. An example script to run the Ref App deployment without a GDS Tool can be found [here](../../../../Ref/scripts/run_ref_for_int_test.sh).
|
||||
|
||||
~~~~{.python}
|
||||
from fprime_gds.common.pipeline.standard import StandardPipeline
|
||||
@ -39,7 +39,7 @@ To use the test API with a testing framework like unittest or pytest there are f
|
||||
3. Third, the framework should call any number of associated test cases.
|
||||
4. Finally, the test framework should call a **one-time** teardown method to save the API at.
|
||||
|
||||
Below is an example of these steps using unittest. For an example of this using pytest, see the Ref App [integration tests](../../../Ref/test/int/ref_integration_test.py).
|
||||
Below is an example of these steps using unittest. For an example of this using pytest, see the Ref App [integration tests](../../../../Ref/test/int/ref_integration_test.py).
|
||||
|
||||
~~~~{.python}
|
||||
import unittest
|
||||
@ -90,12 +90,12 @@ if __name__ == "__main__":
|
||||
|
||||
***
|
||||
|
||||
All usage patterns are written such that they would be compatible with the test framework example described above: each test case assumes that the histories were recently emptied and that the `self.api` field is a connected instance of the integration test API. For simplicity, usage examples will rely on mock flight software dictionaries that were used in the integration test API unit tests. This dictionary can be found [here](../../test/fprime_gds/common/testing_fw/UnitTestDictionary.xml).
|
||||
All usage patterns are written such that they would be compatible with the test framework example described above: each test case assumes that the histories were recently emptied and that the `self.api` field is a connected instance of the integration test API. For simplicity, usage examples will rely on mock flight software dictionaries that were used in the integration test API unit tests. This dictionary can be found [here](../../../../Gds/test/fprime_gds/common/testing_fw/UnitTestDictionary.xml).
|
||||
|
||||
If a user would like to play with the test API in a unit testing environment they could append their own test cases to the unit tests [here](../../test/fprime_gds/common/testing_fw/api_unit_test.py).
|
||||
If a user would like to play with the test API in a unit testing environment they could append their own test cases to the unit tests [here](../../../../Gds/test/fprime_gds/common/testing_fw/api_unit_test.py).
|
||||
**NOTE**: there is no F Prime deployment in these unit tests so data objects need to be added manually.
|
||||
|
||||
If a user would like to experiment with integration tests on an actual F Prime application, they could modify the Ref app [integration tests](../../../Ref/test/int/ref_integration_test.py).
|
||||
If a user would like to experiment with integration tests on an actual F Prime application, they could modify the Ref app [integration tests](../../../../Ref/test/int/ref_integration_test.py).
|
||||
**NOTE**: running integration tests requires building and running the Ref app.
|
||||
|
||||
### Sending Commands
|
||||
@ -564,7 +564,7 @@ gt_pred("string") # evaluates False: String is not a value that is greater than
|
||||
|
||||
***
|
||||
|
||||
The following libraries were added to the [GDS pip requirements file](../../../mk/python/pip_required_gds.txt).
|
||||
The following libraries were added to the [GDS pip requirements file](../../../../mk/python/pip_required_gds.txt).
|
||||
|
||||
| Library| Provides|
|
||||
| :--| :--|
|
||||
@ -694,7 +694,7 @@ The following table summarizes the color meanings from API-generated messages.
|
||||
|
||||
### Predicates
|
||||
|
||||
The integration test API uses predicates for filtering, searching and asserting. A predicate is a callable class that evaluates if an object/value satisfies a certain property. Predicates used by the API are defined [here](../../src/fprime_gds/common/testing_fw/predicates.py). The API uses Duck Typing to determine what can and cannot be used as a predicate; therefore, a user of the API can very easily create their own. Below is a table of how predicates are organized with a brief summary of each section:
|
||||
The integration test API uses predicates for filtering, searching and asserting. A predicate is a callable class that evaluates if an object/value satisfies a certain property. Predicates used by the API are defined [here](../../../../Gds/src/fprime_gds/common/testing_fw/predicates.py). The API uses Duck Typing to determine what can and cannot be used as a predicate; therefore, a user of the API can very easily create their own. Below is a table of how predicates are organized with a brief summary of each section:
|
||||
|
||||
| Predicate Section| Section Description| Functions/predicates|
|
||||
| :----| :----| :----|
|
||||
@ -719,7 +719,7 @@ I see two options to address this:
|
||||
|
||||
### The openpyxl library has thrown WorkbookAlreadySaved error
|
||||
|
||||
While running unit tests on the API, there was an error thrown by openpyxl that caused the log to close early. The behavior wasn't able to be recreated, but the [Test Logger](../../src/fprime_gds/common/logger/test_logger.py) was updated to [catch the exception](https://github.jpl.nasa.gov/FPRIME/fprime-sw/blob/717bc6fab85c53680108fc961cad6338e779816f/Gds/src/fprime_gds/common/logger/test_logger.py#L124) to prevent tests from failing due to the logger.
|
||||
While running unit tests on the API, there was an error thrown by openpyxl that caused the log to close early. The behavior wasn't able to be recreated, but the [Test Logger](../../../../Gds/src/fprime_gds/common/logger/test_logger.py) was updated to [catch the exception](https://github.jpl.nasa.gov/FPRIME/fprime-sw/blob/717bc6fab85c53680108fc961cad6338e779816f/Gds/src/fprime_gds/common/logger/test_logger.py#L124) to prevent tests from failing due to the logger.
|
||||
|
||||
~~~~
|
||||
___________________________________ APITestCases.test_find_history_item _________________________________
|
||||
@ -5,7 +5,7 @@ how it can be used, and a detailed reference for interested users. `fprime-cli`
|
||||
features without the need for a graphical environment. This enables projects easier access to F´ testing and operations
|
||||
in more environments.
|
||||
|
||||
**Note:** Developer documentation is available in the [developer's CLI guide](../../../Gds/docs/GDS_CLI_DEV_GUIDE.md).
|
||||
**Note:** Developer documentation is available in the [developer's CLI guide](../dev/gds-cli-dev.md).
|
||||
|
||||
- [What is `fprime-cli`?](#what-is-fprime-cli)
|
||||
- [Getting Started](#getting-started)
|
||||
|
||||
@ -55,6 +55,7 @@ The API documentation section contains the automatically generated documentation
|
||||
- [Constructing the F´ Topology](./dev/building-topology.md)
|
||||
- [Asserts in F´](./dev/assert.md)
|
||||
- [GDS Dashboard Reference](./dev/gds-dashboard-reference.md)
|
||||
- [Integration Test API](./dev/testAPI/user_guide.md)
|
||||
- Advanced F´ Topics:
|
||||
- [F´ Python Guidelines](./dev/py-dev.md)
|
||||
- [Porting F´ To a New Platform](./dev/porting-guide.md)
|
||||
@ -62,6 +63,8 @@ The API documentation section contains the automatically generated documentation
|
||||
- [Configuring an IDE for Use With F´](./dev/configure-ide.md)
|
||||
- [OS Layer Description](./dev/os-docs.md)
|
||||
- API Documentation
|
||||
- [GDS CLI Design](./dev/gds-cli-dev.md)
|
||||
|
||||
|
||||
|
||||
## F´ Source Tree F´ Out of the Box Items
|
||||
|
||||
|
Before Width: | Height: | Size: 73 KiB After Width: | Height: | Size: 73 KiB |
|
Before Width: | Height: | Size: 118 KiB After Width: | Height: | Size: 118 KiB |
|
Before Width: | Height: | Size: 115 KiB After Width: | Height: | Size: 115 KiB |
|
Before Width: | Height: | Size: 76 KiB After Width: | Height: | Size: 76 KiB |
|
Before Width: | Height: | Size: 110 KiB After Width: | Height: | Size: 110 KiB |
|
Before Width: | Height: | Size: 96 KiB After Width: | Height: | Size: 96 KiB |
|
Before Width: | Height: | Size: 26 KiB After Width: | Height: | Size: 26 KiB |