nasa / fprime

F´ - A flight software and embedded systems framework
https://fprime.jpl.nasa.gov
Apache License 2.0
9.95k stars 1.28k forks source link

Diatixis Method Reorginization for Documentation #2717

Closed GavinKnudsen closed 1 week ago

GavinKnudsen commented 2 months ago
Related Issue(s) #2597
Has Unit Tests (y/n)
Documentation Included (y/n)

Change Description

Regrouped the TOC. Added Pages for Getting Started and Reference index pages. Changed current index page for User Guide to reflect the regrouping. Fixed the HowTo link on the TOC to point to the right page. Removed the Design and Philosophy index page as it was regrouped into the Users Guide.

This is the new reorganized TOC:

Getting Started
    Installing F´

Tutorials
    HelloWorld
    LedBlinker
    MathComponent
    Cross-Compilation Setup Tutorial
    Arduino LedBlinker

User Guide
    F´ Users Manual
        A More Complete Introduction to F´
        Projects and Deployments
        Core Constructs: Ports, Components, and Topologies
        Data Types and Data Structures: Primitive Types, Enums, Arrays, and Serializables
        Data Constructs: Commands, Events, Channels, and Parameters
        Unit Testing F´ Components
    F´ Best Practices
        F´ Development Process
        Application, Manager, Driver Pattern
        Ground Interface
        Rate Groups and Timeliness
        Dynamic Memory and Buffer Management
        A Quick Look at the Hub Pattern
        Documenting F´ Projects
        Code and Style Guidelines
    F´ Ground Data System (GDS)
        A Brief Guide to the F´ Ground Data System
        The Discerning User’s Guide to the F´ GDS CLI
        The GDS Dashboard
        Sequencing in F´
        Installing F´ Console Autocomplete
    Full Development Guides
        Configuring F´
        F´ Modeling with FPP
        A Tour of the Source Tree
        F´ XML Specifications
        F´ Implementation Classes
        Constructing the F´ Topology
        Asserts in F´
        GDS Dashboard Reference
        Integration Test API
        CMake User Guide
    Advanced F´ Topics
        F´ Python Guidelines
        Porting F´ To a New Platform
        F´ On Baremetal and Multi-Core Systems
        Configuring an IDE for Use With F´
        OS Layer Description
        v3 Migration Guide
    Design and Philosophy
        F´ Software Architecture
        Numerical Types Design
        Communication Adapter Interface
        Package Implementations
        FPP JSON Dictionary Specification

How-To Guides
    F´ GDS Plugin Development
    F´ Library Development

Reference
    GDS CLI Design
    C++ Documentation
    CMake User API

Rationale

A rationale for this change. e.g. fixes bug, or most projects need XYZ feature.

Testing/Review Recommendations

Let me know what you think about this organization of the TOC and if I updated the documentation appropriately.

Future Work

Adding more to the Getting Started section to help orient new users.

GavinKnudsen commented 2 months ago

I deployed what I have so far to https://gavinknudsen.github.io/fprime/ I believe the corrections should be fixed now.

thomas-bc commented 2 months ago

Looks great! A few notes, for discussion: