Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Diatixis Method Reorginization for Documentation #2717

Merged
merged 13 commits into from
Jun 26, 2024
1 change: 0 additions & 1 deletion docs/Design/general.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,4 +12,3 @@ viewed through F´.
| [Package Implementations](./package-implementations.md) |
| [FPP JSON Dictionary Specification](./fpp-json-dict.md) |
| [Integration Test API Design](./integration-test-api.md) |

23 changes: 23 additions & 0 deletions docs/GettingStarted/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
---
layout: default
title: "Getting Started with F´"
---

## Getting Started With F´

To get started with F´, install the F´ bootstrapping tool with:
```
pip install fprime-bootstrap
```
Then, create a new project with:
```
fprime-bootstrap project
```

The best way to learn about F´ is to follow the [HelloWorld Tutorial](https://fprime-community.github.io/fprime-tutorial-hello-world/). This tutorial guides users through all the steps of developing an F´ project.

New users are also encouraged to read through the [User Guide](https://nasa.github.io/fprime/UsersGuide/guide.html) and explore the [other tutorials](../Tutorials/README.md).


For additional installation instructions and troubleshooting, see the [F´ Installation Guide](../INSTALL.md).

14 changes: 12 additions & 2 deletions docs/INSTALL.md
Original file line number Diff line number Diff line change
Expand Up @@ -83,14 +83,24 @@ Next steps: [HelloWorld Tutorial](https://fprime-community.github.io/fprime-tuto

## Working With An Existing Project

Sometimes users wish to work with existing F´ projects. Once the project has been acquired, users should install the tools associated with that project. This is done with:
Sometimes users wish to work with existing F´ projects. Once the project has been acquired, users should install the tools associated with that project. This is done in one of two ways:

### a) `fprime-bootstrap clone`

```
pip install fprime-bootstrap
fprime-bootstrap clone <project_url>
```
> Note: replace <project_url> with the URL of a project hosted on a remote Git repository

### b) Manual clone

1. Ensure a virtual environment for this project has been [created and activated](https://packaging.python.org/en/latest/guides/installing-using-pip-and-virtual-environments/)

2. Download the project
> When using `git` and submodules, remember to run `git submodule update --init --recursive`

4. Install the required F´ tools version
3. Install the required F´ tools version
`pip install -r <project>/fprime/requirements.txt`

> Some projects ship their own `requirements.txt`. Install using that file if it exists.
Expand Down
14 changes: 14 additions & 0 deletions docs/Reference/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
---
layout: default
title: "Reference"
---

# F´ Reference

This section of the documentation captures reference for various F´ development tasks.

| Table of Contents |
|--------------------------------------------|
| [C++ Documentation](https://nasa.github.io/fprime/UsersGuide/api/c++/html/index.html) |
| [FPP Documentation](../UsersGuide/user/fpp-user-guide.md) |
| [CMake User API](../UsersGuide/cmake/cmake-api.md) |
29 changes: 10 additions & 19 deletions docs/UsersGuide/guide.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,16 +5,11 @@ goal is simple: make the development of flight-quality embedded software simple,
and overhead to develop such systems.

This guide is intended to expose the features of F´ and seek to allow users and developers to take advantage of all F´
has to offer. It is broken down into five documentation sections:
- Getting Started
has to offer. It is broken down into three documentation sections:
- User's Manual
- Best Practices
- Developer Documentation
- API

**The Getting Started** section points initiates to all the items needed to get up and running with F´. Since these are
often needed before a user searches for a user's guide, this section merely links to the stand-alone version of those
items.

**The User's Manual** section helps users of this framework understand the concepts of F´ and build more complex projects
using the Framework. It is where users should go to understand more about what is possible in F´.
Expand All @@ -26,23 +21,18 @@ techniques.
**The Developer Documentation** is intended for developers who want to use some of the advanced features of F´, understand
how the framework is organized internally, and otherwise dig deep into F´ concepts and implementation. Anyone who wishes
to extend or change F´ should consult this section.
This section is divided into three sub-sections:
This section is divided into four sub-sections:
- Ground Data System Tools (GDS)
- Full Development Guides: technical details for full F´ implementations
- Advanced F´ Topics
- Design and Philosophy


**The API documentation** section contains the automatically generated documentation on F´.

**Note:** currently this documentation is being assembled. Please feel free to contribute!

## Table of Contents

- Getting Started with F´
- [What is F´: a brief introduction](../index.md)
- [Installing F´](../INSTALL.md)
- [Installing F´ Console Autocomplete](./user/autocomplete.md)
- [Tutorials: A Hands On Guide to F´](../Tutorials/README.md)
- F´ Users Manual: an in-depth description of F´ concepts
- [A More Complete Introduction to F´](user/full-intro.md)
- [Projects and Deployments](user/proj-dep.md)
Expand Down Expand Up @@ -82,11 +72,12 @@ This section is divided into three sub-sections:
- [Configuring an IDE for Use With F´](./dev/configure-ide.md)
- [OS Layer Description](./dev/os-docs.md)
- [v3 Migration Guide](./user/v3-migration-guide.md)
- API Documentation
- [GDS CLI Design](./dev/gds-cli-dev.md)
- [C++ Documentation](./api/c++/html/index.html)
- [CMake User API](./cmake/cmake-api.md)

- Design and Philosophy
- [Software Architecture](../Design/fprime-architecture.md)
- [Numerical Types Design](../Design/numerical-types.md)
- [Communication Adapter Interface](../Design/communication-adapter-interface.md)
- [Package Implementations](../Design/package-implementations.md)
- [FPP JSON Dictionary Specification](../Design/fpp-json-dict.md)


## F´ Source Tree F´ Out of the Box Items
Expand Down Expand Up @@ -145,4 +136,4 @@ to allow a developer to follow set patterns easily.
## Linux Drivers

F´ ships with some basic driver implementations for Linux systems. These act as example driver components and allow
users choosing the Linux OS to run standard hardware like UART, I2C, SPI, etc.
users choosing the Linux OS to run standard hardware like UART, I2C, SPI, etc.
12 changes: 8 additions & 4 deletions docs/UsersGuide/user/fpp-user-guide.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,13 @@
# F´ Modeling: FPP User Guide

F´ v3 introduced a new way of modeling with F´, the FPP (F Prime Prime) modeling language. The [MathComponent Tutorial](https://fprime-community.github.io/fprime-tutorial-math-component/) is a good introduction to FPP.
F Prime Prime (FPP) is a domain-specific modeling language.

The [MathComponent Tutorial](https://fprime-community.github.io/fprime-tutorial-math-component/) is a good introduction to FPP.

To go into more detail, the full FPP documentation can be found here: [FPP Wiki](https://github.com/fprime-community/fpp/wiki).

**Quick links:**
- [FPP User Guide](https://nasa.github.io/fpp/fpp-users-guide.html)
- [FPP Language Specification](https://nasa.github.io/fpp/fpp-spec.html)

| FPP Documentation |
|--------------------------------------------|
| [FPP User Guide](https://nasa.github.io/fpp/fpp-users-guide.html) |
| [FPP Language Specification](https://nasa.github.io/fpp/fpp-spec.html) |
40 changes: 16 additions & 24 deletions docs/_includes/toc.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<h4><a href="/fprime/INSTALL.html">Getting Started</a></h4>
<h4><a href="/fprime/GettingStarted/README.html">Getting Started</a></h4>
<ul>
<!-- empty list for consistent spacing between items -->
<li><a href="/fprime/INSTALL.html">Installing F´</a></li>
</ul>
<h4><a href="/fprime/Tutorials/README.html">Tutorials</a></h4>
<ul>
Expand All @@ -12,15 +12,6 @@
</ul>
<h4><a href="/fprime/UsersGuide/guide.html">User Guide</a></h4>
<ul>
<details>
<summary>Getting Started with F´</summary>
<ul>
<li><a href="/fprime/">What is F´: a brief introduction</a></li>
<li><a href="/fprime/INSTALL.html">Installing F´</a></li>
<li><a href="/fprime/UsersGuide/user/autocomplete.html">Installing F´ Console Autocomplete</a></li>
<li><a href="/fprime/Tutorials/README.html">Tutorials: A Hands On Guide to F´</a></li>
</ul>
</details>
<details>
<summary>F´ Users Manual</summary>
<ul>
Expand Down Expand Up @@ -55,6 +46,7 @@
<li><a href="/fprime/UsersGuide/gds/gds-cli.html">The Discerning User’s Guide to the F´ GDS CLI</a></li>
<li><a href="/fprime/UsersGuide/gds/gds-custom-dashboards.html">The GDS Dashboard</a></li>
<li><a href="/fprime/UsersGuide/gds/seqgen.html">Sequencing in F´</a></li>
<li><a href="/fprime/UsersGuide/user/autocomplete.html">Installing F´ Console Autocomplete</a></li>
</ul>
</details>
<details>
Expand Down Expand Up @@ -84,24 +76,24 @@
</ul>
</details>
<details>
<summary>API Documentation</summary>
<summary>Design and Philosophy</summary>
<ul>
<li><a href="/fprime/UsersGuide/dev/gds-cli-dev.html">GDS CLI Design</a></li>
<li><a href="/fprime/UsersGuide/api/c++/html/index.html">C++ Documentation</a></li>
<li><a href="/fprime/UsersGuide/cmake/cmake-api.html">CMake User API</a></li>
<li><a href="/fprime/Design/fprime-architecture.html">F´ Software Architecture</a></li>
<li><a href="/fprime/Design/numerical-types.html">Numerical Types Design</a></li>
<li><a href="/fprime/Design/communication-adapter-interface.html">Communication Adapter Interface</a></li>
<li><a href="/fprime/Design/package-implementations.html">Package Implementations</a></li>
<li><a href="/fprime/Design/fpp-json-dict.html">FPP JSON Dictionary Specification</a></li>
</ul>
</details>
</ul>
<h4><a href="/fprime/Design/general.html">Design and Philosophy</a></h4>
<ul>
<li><a href="/fprime/Design/fprime-architecture.html">F´ Software Architecture</a></li>
<li><a href="/fprime/Design/numerical-types.html">Numerical Types Design</a></li>
<li><a href="/fprime/Design/communication-adapter-interface.html">Communication Adapter Interface</a></li>
<li><a href="/fprime/Design/package-implementations.html">Package Implementations</a></li>
<li><a href="/fprime/Design/fpp-json-dict.html">FPP JSON Dictionary Specification</a></li>
</ul>
<h4><a href="/fprime/Design/general.html">How-To Guides</a></h4>
<h4><a href="/fprime/HowTo/general.html">How-To Guides</a></h4>
<ul>
<li><a href="/fprime/HowTo/develop-gds-plugins.html">F´ GDS Plugin Development</a></li>
<li><a href="/fprime/HowTo/develop-fprime-libraries.html">F´ Library Development</a></li>
</ul>
<h4><a href="/fprime/Reference/README.html">Reference</a></h4>
<ul>
<li><a href="/fprime/UsersGuide/api/c++/html/index.html">C++ Documentation</a></li>
<li><a href="/fprime/UsersGuide/user/fpp-user-guide.html">FPP Documentation</a></li>
<li><a href="/fprime/UsersGuide/cmake/cmake-api.html">CMake User API</a></li>
</ul>
Loading