Skip to content

Commit

Permalink
Merge branch 'main' into issue-565-packet-syntax
Browse files Browse the repository at this point in the history
  • Loading branch information
bocchino committed Jan 22, 2025
2 parents cbc2d39 + 66192a6 commit b244ec8
Show file tree
Hide file tree
Showing 11 changed files with 79 additions and 89 deletions.
4 changes: 2 additions & 2 deletions README.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
This repository contains the code and documentation for F Prime Prime (FPP for
short).
FPP is a modeling language for the
https://nasa.github.io/fprime/[F Prime flight software framework].
https://fprime.jpl.nasa.gov[F Prime flight software framework].

== Contents

Expand All @@ -24,7 +24,7 @@ To use or develop FPP in a standalone mode, you should install these tools.
To use FPP as part of F Prime development, you can install the F Prime tool set,
which includes FPP.
See the F Prime installation instructions
https://github.com/nasa/fprime/blob/master/docs/INSTALL.md[here].
https://fprime.jpl.nasa.gov/latest/getting-started/installing-fprime/[here].

=== Spec and User's Guide

Expand Down
7 changes: 2 additions & 5 deletions docs/fpp-spec.html
Original file line number Diff line number Diff line change
Expand Up @@ -1002,10 +1002,7 @@ <h2 id="Introduction">1. Introduction</h2>
<p>This document provides a detailed description of <strong>F Prime Prime</strong>, also known
as FPP or F Double Prime.
FPP is a modeling language for the
<a href="https://nasa.github.io/fprime/">F Prime flight software framework</a>.
A <a href="https://digitalcommons.usu.edu/smallsat/2018/all2018/328/">paper presented at
SmallSat 2018</a>
provides an overview of F Prime.</p>
<a href="https://fprime.jpl.nasa.gov">F Prime flight software framework</a>.</p>
</div>
<div class="paragraph">
<p>The goals of FPP are as follows:</p>
Expand Down Expand Up @@ -10931,7 +10928,7 @@ <h3 id="Analysis-and-Translation_Translation-Tools">22.4. Translation Tools</h3>
</div>
<div id="footer">
<div id="footer-text">
Last updated 2025-01-21 09:54:30 -0800
Last updated 2025-01-21 17:33:55 -0800
</div>
</div>
<script src="code-prettify/run_prettify.js"></script>
Expand Down
72 changes: 35 additions & 37 deletions docs/fpp-users-guide.html
Original file line number Diff line number Diff line change
Expand Up @@ -751,12 +751,9 @@ <h2 id="Introduction">1. Introduction</h2>
<div class="paragraph">
<p>This document describes <strong>F Prime Prime</strong>, also known as FPP or F Double Prime.
FPP is a modeling language for the
<a href="https://nasa.github.io/fprime/">F Prime flight software framework</a>.
A <a href="https://digitalcommons.usu.edu/smallsat/2018/all2018/328/">paper presented at
SmallSat 2018</a>
provides an overview of F Prime.
<a href="https://fprime.jpl.nasa.gov">F Prime flight software framework</a>.
For more detailed information about F Prime, see the
<a href="https://fprime.jpl.nasa.gov/latest/documentation/user-manual/">F Prime User Manual</a>.</p>
<a href="https://fprime.jpl.nasa.gov/latest/docs/user-manual/">F Prime User Manual</a>.</p>
</div>
<div class="paragraph">
<p>The goals of FPP are as follows:</p>
Expand Down Expand Up @@ -3635,8 +3632,8 @@ <h3 id="Defining-State-Machines_Writing-a-State-Machine-Definition">9.1. Writing
of FPP state machines.
For more details about the C&#43;&#43; code generation
for state machines, see the
<a href="https://fprime.jpl.nasa.gov/latest/documentation/user-manual/">F Prime design
documentation</a>.</p>
<a href="https://fprime.jpl.nasa.gov/latest/docs/user-manual/design/state-machines/">F
Prime design documentation</a>.</p>
</div>
</div>
<div class="sect2">
Expand Down Expand Up @@ -5794,7 +5791,7 @@ <h4 id="Defining-Components_Port-Instances_Basic-Port-Instances">10.2.1. Basic P
base class with a virtual handler function, and then override that virtual
function in a derived class that you write.
For further details about implementing F Prime components, see the
<a href="https://fprime.jpl.nasa.gov/latest/documentation/user-manual/">F Prime User Manual</a>.</p>
<a href="https://fprime.jpl.nasa.gov/latest/docs/user-manual/">F Prime User Manual</a>.</p>
</div>
<div class="paragraph">
<p><strong>Note on terminology:</strong> As explained above, there is a technical
Expand Down Expand Up @@ -6089,7 +6086,7 @@ <h4 id="Defining-Components_Port-Instances_Serial-Port-Instances">10.2.6. Serial
This flexibility comes at the cost that you lose the type
compile-time type checking provided by port connections with named types.
For more information about serial ports and their use, see
the <a href="https://fprime.jpl.nasa.gov/latest/documentation/user-manual/">F Prime User Manual</a>.</p>
the <a href="https://fprime.jpl.nasa.gov/latest/docs/user-manual/">F Prime User Manual</a>.</p>
</div>
</div>
</div>
Expand Down Expand Up @@ -6228,7 +6225,7 @@ <h4 id="Defining-Components_Special-Port-Instances_Command-Ports">10.3.1. Comman
<div class="paragraph">
<p>For further information about command registration, receipt, and
response, and implementing command handlers, see the
<a href="https://fprime.jpl.nasa.gov/latest/documentation/user-manual/">F Prime User Manual</a>.</p>
<a href="https://fprime.jpl.nasa.gov/latest/docs/user-manual/">F Prime User Manual</a>.</p>
</div>
</div>
<div class="sect3">
Expand Down Expand Up @@ -6309,7 +6306,7 @@ <h4 id="Defining-Components_Special-Port-Instances_Event-Ports">10.3.2. Event Po
</div>
<div class="paragraph">
<p>For further information about events in F Prime, see the
<a href="https://fprime.jpl.nasa.gov/latest/documentation/user-manual/">F Prime User Manual</a>.</p>
<a href="https://fprime.jpl.nasa.gov/latest/docs/user-manual/">F Prime User Manual</a>.</p>
</div>
</div>
<div class="sect3">
Expand Down Expand Up @@ -6358,7 +6355,7 @@ <h4 id="Defining-Components_Special-Port-Instances_Telemetry-Ports">10.3.3. Tele
</div>
<div class="paragraph">
<p>For further information about telemetry in F Prime, see the
<a href="https://fprime.jpl.nasa.gov/latest/documentation/user-manual/">F Prime User Manual</a>.</p>
<a href="https://fprime.jpl.nasa.gov/latest/docs/user-manual/">F Prime User Manual</a>.</p>
</div>
</div>
<div class="sect3">
Expand Down Expand Up @@ -6443,7 +6440,7 @@ <h4 id="Defining-Components_Special-Port-Instances_Parameter-Ports">10.3.4. Para
</div>
<div class="paragraph">
<p>For further information about parameters in F Prime, see the
<a href="https://fprime.jpl.nasa.gov/latest/documentation/user-manual/">F Prime User Manual</a>.</p>
<a href="https://fprime.jpl.nasa.gov/latest/docs/user-manual/">F Prime User Manual</a>.</p>
</div>
</div>
<div class="sect3">
Expand Down Expand Up @@ -6493,7 +6490,7 @@ <h4 id="Defining-Components_Special-Port-Instances_Time-Get-Ports">10.3.5. Time
</div>
<div class="paragraph">
<p>For further information about time in F Prime, see the
<a href="https://fprime.jpl.nasa.gov/latest/documentation/user-manual/">F Prime User Manual</a>.</p>
<a href="https://fprime.jpl.nasa.gov/latest/docs/user-manual/">F Prime User Manual</a>.</p>
</div>
</div>
<div class="sect3">
Expand Down Expand Up @@ -6616,8 +6613,8 @@ <h4 id="Defining-Components_Special-Port-Instances_Data-Product-Ports">10.3.6. D
</div>
<div class="paragraph">
<p>For further information about data products in F Prime, see the
<a href="https://fprime.jpl.nasa.gov/latest/documentation/user-manual/design/data-products/">data
products documentation</a> in the F Prime repository.</p>
<a href="https://fprime.jpl.nasa.gov/latest/docs/user-manual/design/data-products/">F
Prime design documentation</a>.</p>
</div>
</div>
</div>
Expand Down Expand Up @@ -6761,7 +6758,7 @@ <h3 id="Defining-Components_Commands">10.5. Commands</h3>
<div class="paragraph">
<p>For complete information about F Prime command dispatch and
handling, see the
<a href="https://fprime.jpl.nasa.gov/latest/documentation/user-manual/">F Prime User Manual</a>.
<a href="https://fprime.jpl.nasa.gov/latest/docs/user-manual/">F Prime User Manual</a>.
Here we concentrate on how to specify commands in FPP.</p>
</div>
<div class="sect3">
Expand Down Expand Up @@ -7124,7 +7121,7 @@ <h3 id="Defining-Components_Events">10.6. Events</h3>
<div class="paragraph">
<p>For complete information about F Prime event
handling, see the
<a href="https://fprime.jpl.nasa.gov/latest/documentation/user-manual/">F Prime User Manual</a>.
<a href="https://fprime.jpl.nasa.gov/latest/docs/user-manual/">F Prime User Manual</a>.
Here we concentrate on how to specify events in FPP.</p>
</div>
<div class="sect3">
Expand Down Expand Up @@ -7423,7 +7420,7 @@ <h4 id="Defining-Components_Events_Throttling">10.6.4. Throttling</h4>
emit the event until the throttling is canceled.
Typically, the canceling happens via a FSW command.
For details, see the
<a href="https://fprime.jpl.nasa.gov/latest/documentation/user-manual/">F Prime User Manual</a>.</p>
<a href="https://fprime.jpl.nasa.gov/latest/docs/user-manual/">F Prime User Manual</a>.</p>
</div>
</div>
</div>
Expand All @@ -7444,7 +7441,7 @@ <h3 id="Defining-Components_Telemetry">10.7. Telemetry</h3>
<div class="paragraph">
<p>For complete information about F Prime telemetry
handling, see the
<a href="https://fprime.jpl.nasa.gov/latest/documentation/user-manual/">F Prime User Manual</a>.
<a href="https://fprime.jpl.nasa.gov/latest/docs/user-manual/">F Prime User Manual</a>.
Here we concentrate on how to specify telemetry channels in FPP.</p>
</div>
<div class="sect3">
Expand Down Expand Up @@ -7804,7 +7801,7 @@ <h3 id="Defining-Components_Parameters">10.8. Parameters</h3>
database component for storing parameters in a non-volatile
manner (e.g., on a file system).
For complete information about F Prime parameters, see the
<a href="https://fprime.jpl.nasa.gov/latest/documentation/user-manual/">F Prime User Manual</a>.
<a href="https://fprime.jpl.nasa.gov/latest/docs/user-manual/">F Prime User Manual</a>.
Here we concentrate on how to specify parameters in FPP.</p>
</div>
<div class="sect3">
Expand Down Expand Up @@ -8135,8 +8132,8 @@ <h3 id="Defining-Components_Data-Products">10.9. Data Products</h3>
(2) writing data products to the file system; and (3)
cataloging stored data products for downlink in priority order.
For more information about these F Prime features, see the
<a href="https://fprime.jpl.nasa.gov/latest/documentation/user-manual/">F Prime data
products documentation</a>.</p>
<a href="https://fprime.jpl.nasa.gov/latest/docs/user-manual/design/data-products/">F
Prime design documentation</a>.</p>
</div>
<div class="sect3">
<h4 id="Defining-Components_Data-Products_Basic-Data-Products">10.9.1. Basic Data Products</h4>
Expand All @@ -8149,8 +8146,8 @@ <h4 id="Defining-Components_Data-Products_Basic-Data-Products">10.9.1. Basic Dat
representing a list of serialized <strong>records</strong>.
A record is a unit of data.
For a complete specification of the container format, see the
<a href="https://fprime.jpl.nasa.gov/latest/documentation/reference/api/cpp/html/_fw_dp.html">documentation</a>
on F Prime framework support for data products.</p>
<a href="https://fprime.jpl.nasa.gov/latest/Fw/Dp/docs/sdd/">F Prime design
documentation</a>.</p>
</div>
<div class="paragraph">
<p>In an F Prime component, you can specify one or more containers
Expand Down Expand Up @@ -8215,8 +8212,8 @@ <h4 id="Defining-Components_Data-Products_Basic-Data-Products">10.9.1. Basic Dat
<p>The FPP back end uses this specification to generate code for requesting
buffers to hold containers and for serializing records into containers.
See the
<a href="https://fprime.jpl.nasa.gov/latest/documentation/user-manual/design/data-products/">F
Prime data products documentation</a> for the details.</p>
<a href="https://fprime.jpl.nasa.gov/latest/docs/user-manual/design/data-products/">F
Prime design documentation</a> for the details.</p>
</div>
<div class="paragraph">
<p>Note the following:</p>
Expand Down Expand Up @@ -8456,8 +8453,8 @@ <h3 id="Defining-Components_State-Machine-Instances">10.10. State Machine Instan
machine definitions may be internal (specified in FPP) or external (specified
by an external tool). For more details about the C&#43;&#43; code generation for
instances of internal state machines, see the
<a href="https://fprime.jpl.nasa.gov/latest/documentation/user-manual/">F Prime design
documentation</a>.</p>
<a href="https://fprime.jpl.nasa.gov/latest/docs/user-manual/design/state-machines/">F
Prime design documentation</a>.</p>
</div>
</div>
<div class="sect2">
Expand Down Expand Up @@ -8850,7 +8847,9 @@ <h4 id="Defining-Component-Instances_Component-Instance-Definitions_Passive-Comp
a time get port for getting the time, and a telemetry port
for reporting telemetry.
(For more information on rate groups and the use of <code>Svc.Sched</code>
ports, see the F Prime documentation.)
ports, see the
<a href="https://fprime.jpl.nasa.gov/latest/docs/user-manual/design/rate-group/">F Prime
documentation</a>.)
We have given the component two telemetry channels:
<code>ImpulseTemp</code> for reporting the temperature of the impulse engine,
and <code>WarpTemp</code> for reporting the temperature of the warp core.</p>
Expand Down Expand Up @@ -12988,13 +12987,13 @@ <h4 id="Analyzing-and-Translating-Models_Generating-C-Plus-Plus_Types-Ports-Stat
<div class="paragraph">
<p>Once you generate C&#43;&#43; code for these definitions, you can use it to
write a flight software implementation.
The <a href="https://fprime.jpl.nasa.gov/latest/documentation/user-manual/">F
The <a href="https://fprime.jpl.nasa.gov/latest/docs/user-manual/">F
User Manual</a> explains how to do this.</p>
</div>
<div class="paragraph">
<p>For more information about the generated code for data products,
for state machines, and for state machine instances, see the
<a href="https://fprime.jpl.nasa.gov/latest/documentation/user-manual/">F
<a href="https://fprime.jpl.nasa.gov/latest/docs/user-manual/design/state-machines/">F
Prime design documentation</a>.</p>
</div>
</div>
Expand All @@ -13006,8 +13005,7 @@ <h4 id="Analyzing-and-Translating-Models_Generating-C-Plus-Plus_Component-Implem
partial implementations and for generating unit test code.
Here we cover the mechanics of using these options.
For more information on implementing and testing components in F Prime, see
the <a href="https://fprime.jpl.nasa.gov/latest/documentation/user-manual/">F
Prime User Manual</a>.</p>
the <a href="https://fprime.jpl.nasa.gov/latest/docs/user-manual/">F Prime User Manual</a>.</p>
</div>
<div class="paragraph">
<p><strong>Generating implementation templates:</strong>
Expand Down Expand Up @@ -13982,8 +13980,8 @@ <h3 id="Analyzing-and-Translating-Models_Generating-Ground-Dictionaries">14.8. G
<em>T</em> <code>TopologyDictionary.json</code>.
The dictionary is specified in JavaScript Object Notation (JSON) format.
The JSON format is specified in the
<a href="https://fprime.jpl.nasa.gov/latest/documentation/user-manual/design/fpp-json-dict/">F
Prime dictionary documentation</a>.</p>
<a href="https://fprime.jpl.nasa.gov/latest/docs/user-manual/design/fpp-json-dict/">F
Prime design documentation</a>.</p>
</div>
<div class="paragraph">
<p>Here is a common use case:</p>
Expand Down Expand Up @@ -14817,7 +14815,7 @@ <h4 id="Writing-C-Plus-Plus-Implementations_Implementing-Deployments_Public-Symb
</div>
<div id="footer">
<div id="footer-text">
Last updated 2025-01-21 09:54:50 -0800
Last updated 2025-01-21 17:59:02 -0800
</div>
</div>
<script src="code-prettify/run_prettify.js"></script>
Expand Down
6 changes: 3 additions & 3 deletions docs/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -439,8 +439,8 @@ <h1>F Prime Prime (FPP)</h1>
</div>
<div id="content">
<div class="paragraph">
<p>FPP is a modeling language for the <a href="https://nasa.github.io/fprime/">F Prime
flight software framework</a>.
<p>FPP is a modeling language for the
<a href="https://fprime.jpl.nasa.gov">F Prime flight software framework</a>.
To use FPP, you write a model in the source language; then you use the FPP
tools to generate XML and C&#43;&#43;. Compared to writing XML by hand, FPP provides
a cleaner and more succinct syntax, a well-defined semantics, good error
Expand All @@ -463,7 +463,7 @@ <h1>F Prime Prime (FPP)</h1>
</div>
<div id="footer">
<div id="footer-text">
Last updated 2025-01-21 09:53:59 -0800
Last updated 2025-01-21 17:33:44 -0800
</div>
</div>
</body>
Expand Down
4 changes: 2 additions & 2 deletions docs/index/index.adoc
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
= F Prime Prime (FPP)

FPP is a modeling language for the https://nasa.github.io/fprime/[F Prime
flight software framework].
FPP is a modeling language for the
https://fprime.jpl.nasa.gov[F Prime flight software framework].
To use FPP, you write a model in the source language; then you use the FPP
tools to generate XML and {cpp}. Compared to writing XML by hand, FPP provides
a cleaner and more succinct syntax, a well-defined semantics, good error
Expand Down
5 changes: 1 addition & 4 deletions docs/spec/Introduction.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,7 @@
This document provides a detailed description of **F Prime Prime**, also known
as FPP or F Double Prime.
FPP is a modeling language for the
https://nasa.github.io/fprime/[F Prime flight software framework].
A https://digitalcommons.usu.edu/smallsat/2018/all2018/328/[paper presented at
SmallSat 2018]
provides an overview of F Prime.
https://fprime.jpl.nasa.gov[F Prime flight software framework].

The goals of FPP are as follows:

Expand Down
11 changes: 5 additions & 6 deletions docs/users-guide/Analyzing-and-Translating-Models.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -566,12 +566,12 @@ uses the name `A_B_CComponentAc_HPP` in its include guard.

Once you generate {cpp} code for these definitions, you can use it to
write a flight software implementation.
The https://fprime.jpl.nasa.gov/latest/documentation/user-manual/[F
The https://fprime.jpl.nasa.gov/latest/docs/user-manual/[F
User Manual] explains how to do this.

For more information about the generated code for data products,
for state machines, and for state machine instances, see the
https://fprime.jpl.nasa.gov/latest/documentation/user-manual/[F
https://fprime.jpl.nasa.gov/latest/docs/user-manual/design/state-machines/[F
Prime design documentation].

==== Component Implementation and Unit Test Code
Expand All @@ -581,8 +581,7 @@ or
partial implementations and for generating unit test code.
Here we cover the mechanics of using these options.
For more information on implementing and testing components in F Prime, see
the https://fprime.jpl.nasa.gov/latest/documentation/user-manual/[F
Prime User Manual].
the https://fprime.jpl.nasa.gov/latest/docs/user-manual/[F Prime User Manual].

*Generating implementation templates:*
When you run `fpp-to-cpp` with option `-t` and without option `-u`,
Expand Down Expand Up @@ -1361,8 +1360,8 @@ file
_T_ `TopologyDictionary.json`.
The dictionary is specified in JavaScript Object Notation (JSON) format.
The JSON format is specified in the
https://fprime.jpl.nasa.gov/latest/documentation/user-manual/design/fpp-json-dict/[F
Prime dictionary documentation].
https://fprime.jpl.nasa.gov/latest/docs/user-manual/design/fpp-json-dict/[F
Prime design documentation].

Here is a common use case:

Expand Down
4 changes: 3 additions & 1 deletion docs/users-guide/Defining-Component-Instances.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,9 @@ a schedule input port for driving the component periodically on a rate group,
a time get port for getting the time, and a telemetry port
for reporting telemetry.
(For more information on rate groups and the use of `Svc.Sched`
ports, see the F Prime documentation.)
ports, see the
https://fprime.jpl.nasa.gov/latest/docs/user-manual/design/rate-group/[F Prime
documentation].)
We have given the component two telemetry channels:
`ImpulseTemp` for reporting the temperature of the impulse engine,
and `WarpTemp` for reporting the temperature of the warp core.
Expand Down
Loading

0 comments on commit b244ec8

Please sign in to comment.