From e09462f283494deffc7a792c14cd92c13d928c2e Mon Sep 17 00:00:00 2001 From: Thomas Boyer-Chammard <49786685+thomas-bc@users.noreply.github.com> Date: Wed, 22 Jan 2025 14:28:10 -0800 Subject: [PATCH] Fix outdated links and cross-reference docs locally (#3153) --- CONTRIBUTING.md | 2 +- FppTest/settings.ini | 2 +- README.md | 14 +++++++------- Ref/settings.ini | 2 +- Svc/ActiveLogger/docs/sdd.md | 2 +- Svc/ChronoTime/CMakeLists.txt | 2 +- Svc/ComQueue/docs/sdd.md | 6 +++--- Svc/ComStub/docs/sdd.md | 6 +++--- Svc/Framer/docs/sdd.md | 4 ++-- Svc/GenericHub/docs/sdd.md | 2 +- docs/how-to/develop-subtopologies.md | 2 +- docs/user-manual/cmake/cmake-advanced.md | 3 --- docs/user-manual/cmake/cmake-intro.md | 4 ++-- 13 files changed, 24 insertions(+), 27 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 482e41db6f..556abbdd9a 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -33,7 +33,7 @@ Feel free to contribute any way that suits your skills and enjoy. ## Where to Start First, contributors should build some understanding of F´. Read through the documentation, try a tutorial, or run a -reference application. Contributors can find information in our [documentation](https://nasa.github.io/fprime/). Keep +reference application. Contributors can find information in our [documentation](https://fprime.jpl.nasa.gov/latest/docs). Keep track of inconsistencies or bugs as these should be reported! When you are ready to join discussions and submit bug reports use one of the above links! diff --git a/FppTest/settings.ini b/FppTest/settings.ini index 4abbf89e7f..8b9de5f3dc 100644 --- a/FppTest/settings.ini +++ b/FppTest/settings.ini @@ -1,5 +1,5 @@ ; Ref requires no specific settings thus the [fprime] configuration block is empty -; For more information: https://nasa.github.io/fprime/UsersGuide/user/settings.html +; For more information: https://fprime.jpl.nasa.gov/latest/docs/user-manual/framework/settings/ [fprime] framework_path: .. default_cmake_options: FPRIME_SKIP_TOOLS_VERSION_CHECK=ON FPRIME_ENABLE_FRAMEWORK_UTS=OFF FPRIME_ENABLE_AUTOCODER_UTS=OFF diff --git a/README.md b/README.md index 099765c851..a1702d5674 100644 --- a/README.md +++ b/README.md @@ -4,9 +4,9 @@

# -F´ (F Prime) is a component-driven framework that enables rapid development and deployment of spaceflight and other embedded software applications. Originally developed at the [Jet Propulsion Laboratory](https://www.jpl.nasa.gov/), F´ has been successfully deployed on [several space applications](https://nasa.github.io/fprime/projects.html). It is tailored but not limited to small-scale spaceflight systems such as CubeSats, SmallSats, and instruments. +F´ (F Prime) is a component-driven framework that enables rapid development and deployment of spaceflight and other embedded software applications. Originally developed at the [Jet Propulsion Laboratory](https://www.jpl.nasa.gov/), F´ has been successfully deployed on [several space applications](https://fprime.jpl.nasa.gov/overview/projects/). It is tailored but not limited to small-scale spaceflight systems such as CubeSats, SmallSats, and instruments. -**Please Visit the F´ Website:** [https://fprime.jpl.gov/](https://fprime.jpl.nasa.gov/) for more information. +**Please Visit the F´ Website:** [https://fprime.jpl.nasa.gov](https://fprime.jpl.nasa.gov/) for more information. ## What does F´ provide @@ -17,7 +17,7 @@ F´ (F Prime) is a component-driven framework that enables rapid development and - A growing collection of ready-to-use components - Testing tools for testing flight software at the unit and integration levels. -Learn more about [F´ key features](https://fprime.jpl.nasa.gov/). +Learn more about [F´ key features](https://fprime.jpl.nasa.gov/overview). ## System Requirements @@ -41,9 +41,9 @@ Then, create a new project with: fprime-bootstrap project ``` -See the [HelloWorld Tutorial](https://fprime-community.github.io/fprime-tutorial-hello-world/) to guide you through all the steps of developing an F´ project. +See the [HelloWorld Tutorial](https://fprime.jpl.nasa.gov/latest/tutorials-hello-world/docs/hello-world/) to guide you through all the steps of developing an F´ project. -New users are encouraged to read through the [User Guide](https://nasa.github.io/fprime/UsersGuide/guide.html) and explore the [other tutorials](https://nasa.github.io/fprime/Tutorials/README.html). +New users are encouraged to read through the [User Manual](https://fprime.jpl.nasa.gov/latest/docs/user-manual/) and explore the [other tutorials](https://fprime.jpl.nasa.gov/latest/docs/tutorials/). ## Getting Help @@ -57,8 +57,8 @@ The [F´ Community](https://github.com/fprime-community) GitHub Organization con ## Resources -- [User Guide](https://nasa.github.io/fprime/UsersGuide/guide.html) -- [Tutorials](https://nasa.github.io/fprime/Tutorials/README.html) +- [User Manual](https://fprime.jpl.nasa.gov/latest/docs/user-manual/) +- [Tutorials](https://fprime.jpl.nasa.gov/latest/docs/tutorials/) - [Discussions](https://github.com/nasa/fprime/discussions) - [Submit an Issue](https://github.com/nasa/fprime/issues) - [F´ Community](https://github.com/fprime-community) diff --git a/Ref/settings.ini b/Ref/settings.ini index e3911f3690..4829e78ba1 100644 --- a/Ref/settings.ini +++ b/Ref/settings.ini @@ -1,4 +1,4 @@ ; Ref requires no specific settings thus the [fprime] configuration block is empty -; For more information: https://nasa.github.io/fprime/UsersGuide/user/settings.html +; For more information: https://fprime.jpl.nasa.gov/latest/docs/user-manual/framework/settings/ [fprime] framework_path: .. diff --git a/Svc/ActiveLogger/docs/sdd.md b/Svc/ActiveLogger/docs/sdd.md index c5b7ff3cb9..a15ff7b4e9 100644 --- a/Svc/ActiveLogger/docs/sdd.md +++ b/Svc/ActiveLogger/docs/sdd.md @@ -41,7 +41,7 @@ Port Data Type | Name | Direction | Kind | Usage The `Svc::ActiveLogger` component provides an event logging function for the software. The framework autocoder allows developers to specify a set of events in the component XML -(see [Events](https://nasa.github.io/fprime/UsersGuide/user/cmd-evt-chn-prm.html#Events)). For these components, the +(see [Events](../../../docs/user-manual/overview/cmd-evt-chn-prm.md). For these components, the autocoder will add an `Fw::Log` output port to send events in serialized form. The ActiveLogger receives these port calls and provides commands to filter these events. The filtered events are sent to other components such as the ground interface. diff --git a/Svc/ChronoTime/CMakeLists.txt b/Svc/ChronoTime/CMakeLists.txt index 01dff82fa1..15075cd7ce 100644 --- a/Svc/ChronoTime/CMakeLists.txt +++ b/Svc/ChronoTime/CMakeLists.txt @@ -6,7 +6,7 @@ # UT_SOURCE_FILES: list of source files for unit tests # # More information in the F´ CMake API documentation: -# https://nasa.github.io/fprime/UsersGuide/api/cmake/API.html +# https://fprime.jpl.nasa.gov/latest/docs/user-manual/cmake/cmake-api/ # #### diff --git a/Svc/ComQueue/docs/sdd.md b/Svc/ComQueue/docs/sdd.md index 15473e6191..f9adce1c61 100644 --- a/Svc/ComQueue/docs/sdd.md +++ b/Svc/ComQueue/docs/sdd.md @@ -11,9 +11,9 @@ passing in a configuration table at initialization. Queued messages from the hig first and a round-robin algorithm is used to balance between ports of shared priority. `Svc::ComQueue` is designed to act alongside instances of the -[communication adapter interface](https://nasa.github.io/fprime/Design/communication-adapter-interface.html) and +[communication adapter interface](../../../docs/user-manual/design/communication-adapter-interface.md) and implements the communication queue -[protocol](https://nasa.github.io/fprime/Design/communication-adapter-interface.html#communication-queue-protocol). +[protocol](../../../docs/user-manual/design/communication-adapter-interface.md#communication-queue-protocol). ## 2. Assumptions @@ -21,7 +21,7 @@ implements the communication queue 2. Data is considered to be successfully sent when a `Fw::Success::SUCCESS` signal was received 3. The com adapter is responsible for any retransmission of failed data 4. The system includes downstream components implementing the - [communications adapter](https://nasa.github.io/fprime/Design/communication-adapter-interface.html) + [communications adapter](../../../docs/user-manual/design/communication-adapter-interface.md) ## 3. Requirements diff --git a/Svc/ComStub/docs/sdd.md b/Svc/ComStub/docs/sdd.md index 22b6a98c85..949b1f8477 100644 --- a/Svc/ComStub/docs/sdd.md +++ b/Svc/ComStub/docs/sdd.md @@ -3,7 +3,7 @@ ## 1. Introduction `Svc::ComStub` is an example F´ component implementing the -[communication adapter interface](https://nasa.github.io/fprime/Design/communication-adapter-interface.html) required +[communication adapter interface](../../../docs/user-manual/design/communication-adapter-interface.md) required to work with F´ communication components. Projects and users may choose to replace this with a complete communication implementation (i.e. a component managing a specific radio) once ready. As long as any communication implementation implements the communication adapter interface it can drop in and work with the standard F´ uplink and downlink setup. @@ -38,7 +38,7 @@ used alongside the other F´ communication components (`Svc::Framer`, `Svc::Defr `Svc::ComStub` implements the -[communication adapter interface](https://nasa.github.io/fprime/Design/communication-adapter-interface.html) by +[communication adapter interface](../../../docs/user-manual/design/communication-adapter-interface.md) by delegation to a `Drv::ByteStreamDriverModel` as a way to transmit data and receive data. Other communication adapter implementations may follow-suite. @@ -72,7 +72,7 @@ be useful `Svc::ComStub` has only stores a boolean `m_reinitialize` indicating when it should send `Fw::Success::SUCCESS` in response to a driver reconnection event. This is to implement the Communication Adapter Protocol of a -[communication adapter interface](https://nasa.github.io/fprime/Design/communication-adapter-interface.html#Communication_Adapter_Protocol). +[communication adapter interface](../../../docs/user-manual/design/communication-adapter-interface.md). ### 4.3. Port Handlers diff --git a/Svc/Framer/docs/sdd.md b/Svc/Framer/docs/sdd.md index 29021ac8b4..9f98c6013f 100644 --- a/Svc/Framer/docs/sdd.md +++ b/Svc/Framer/docs/sdd.md @@ -20,9 +20,9 @@ You can use the standard F Prime downlink protocol implementation. This implementation works with the F Prime ground data system (GDS). `Svc::Framer` is designed to act alongside instances of the -[communication adapter interface](https://nasa.github.io/fprime/Design/communication-adapter-interface.html). In order +[communication adapter interface](../../../docs/user-manual/design/communication-adapter-interface.md). In order to work well with communication adapters, `Svc::Framer` implements the framer status -[protocol](https://nasa.github.io/fprime/Design/communication-adapter-interface.html#framer-status-protocol). +[protocol](../../../docs/user-manual/design/communication-adapter-interface.md#framer-status-protocol). ## 2. Assumptions diff --git a/Svc/GenericHub/docs/sdd.md b/Svc/GenericHub/docs/sdd.md index 8f84a4600c..e739149d37 100644 --- a/Svc/GenericHub/docs/sdd.md +++ b/Svc/GenericHub/docs/sdd.md @@ -1,6 +1,6 @@ # Svc::GenericHub Generic Hub Component -The Generic Hub component is an implementation of the F´ [hub pattern](https://nasa.github.io/fprime/UsersGuide/best/hub-pattern.html). +The Generic Hub component is an implementation of the F´ [hub pattern](../../../docs/user-manual/framework/hub-pattern.md). This pattern (and component) is used to bridge across an address space barrier between F´ deployments and route F´ port calls to the remote deployment. It also receives incoming port calls from the remote component. Essentially, it is a port multiplexer/demultiplexer that serializes the port calls to an `Fw::Buffer` object and outputs this data to an diff --git a/docs/how-to/develop-subtopologies.md b/docs/how-to/develop-subtopologies.md index fea8f8e3a1..32fffc7f8d 100644 --- a/docs/how-to/develop-subtopologies.md +++ b/docs/how-to/develop-subtopologies.md @@ -309,7 +309,7 @@ Now go ahead and run and build your deployment, and you should see that you have As you may notice, the current implementation of subtopologies lacks in a few areas of simplicity and especially reusability. A couple of these issues are tabulated here: 1. It may be the case that I would like to have multiple uses of a subtopology `st` within a main topology `main`. For example, `st` could define the topology for managing a single temperature sensor, but I would like to implement $n$ number of those sensors. At the moment, to do this one would need to duplicate the entire subtopology and make proper modifications to instances, the TopologyDefs file, and more. -2. Let's maintain our example of `st` being the topology for managing a single temperature sensor. It may be the case that `st` only implements the software behavior, as is reasonable: the developer of the subtopology probably cannot write hardware interface drivers for every platform possible. So, the user would provide the proper driver to `st`, which is again reasonable. However, to accomplish this one would need to modify the contents of a subtopology, changing instance definitions and possibly the connection graphs as well. Such a task could become monstrous if, say `st` now implements the [hub pattern](https://nasa.github.io/fprime/UsersGuide/best/hub-pattern.html). +2. Let's maintain our example of `st` being the topology for managing a single temperature sensor. It may be the case that `st` only implements the software behavior, as is reasonable: the developer of the subtopology probably cannot write hardware interface drivers for every platform possible. So, the user would provide the proper driver to `st`, which is again reasonable. However, to accomplish this one would need to modify the contents of a subtopology, changing instance definitions and possibly the connection graphs as well. Such a task could become monstrous if, say `st` now implements the [hub pattern](../user-manual/framework/hub-pattern.md). Thus, an autocoder [tool](https://github.com/fprime-community/fprime-subtopology-tool) dubbed the "Subtopology AC Tool" has been developed to be able to provide features like instantiation, local components, and formal subtopology interfaces. The tool itself provides examples of the syntax required to use these features, as well as a design methodology and a worked example with diagrams using a similar context to the one [in this document](#example-scenario). diff --git a/docs/user-manual/cmake/cmake-advanced.md b/docs/user-manual/cmake/cmake-advanced.md index 4c26b10b53..6f150aba49 100644 --- a/docs/user-manual/cmake/cmake-advanced.md +++ b/docs/user-manual/cmake/cmake-advanced.md @@ -78,9 +78,6 @@ provide libraries and executables to the system. Top-level deployment directories (`Ref` folder) use the deployment templates. It is there to setup the entry point to the build system. -For more on Modules, see: [module.md](https://nasa.github.io/fprime/UsersGuide/api/cmake/module.html) -For more on Deployments, see: [deployment.md](https://nasa.github.io/fprime/UsersGuide/api/cmake/deployment-CMakeLists.txt-template.html) - ## Cross-Compiling With CMake diff --git a/docs/user-manual/cmake/cmake-intro.md b/docs/user-manual/cmake/cmake-intro.md index ea4fa2add2..57ef6742a7 100644 --- a/docs/user-manual/cmake/cmake-intro.md +++ b/docs/user-manual/cmake/cmake-intro.md @@ -41,10 +41,10 @@ link to all the other modules they use. `add_fprime_subdirectory`, `register_fprime_module`, `register_fprime_executable` docs are here: [API](./cmake-api.md). -A template module `CMakeLists.txt` is documented: [module-CMakeLists.txt-template.md](https://nasa.github.io/fprime/UsersGuide/api/cmake/module-CMakeLists.txt-template.html) +A template module `CMakeLists.txt` is documented: [module-CMakeLists.txt-template.md](../../../cmake/module-CMakeLists.txt.template) Remember it should be renamed to `CMakeLists.txt` in your module's folder. -A template deployment `CMakeLists.txt` is documented: [deployment-CMakeLists.txt-template.md](https://nasa.github.io/fprime/UsersGuide/api/cmake/deployment-CMakeLists.txt-template.html). +A template deployment `CMakeLists.txt` is documented: [deployment-CMakeLists.txt-template.md](../../../cmake/deployment-CMakeLists.txt.template). Remember it should be renamed to `CMakeLists.txt` in your deployments folder. When building a module, ensure it at least calls `register_fprime_module`. Deployments may call