Skip to content

Commit

Permalink
Merge pull request #579 from nasa/release-update
Browse files Browse the repository at this point in the history
Update release/v2.3.0 with selected changes
  • Loading branch information
bocchino authored Jan 30, 2025
2 parents 5762c34 + 6769c3a commit 5ff9159
Show file tree
Hide file tree
Showing 14 changed files with 99 additions and 93 deletions.
8 changes: 4 additions & 4 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 @@ -21,10 +21,10 @@ There is also an FPP plugin available within Visual Studio Code.

See `compiler/README.adoc`.
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.
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/docs/getting-started/installing-fprime/[here].

=== Spec and User's Guide

Expand Down
2 changes: 2 additions & 0 deletions compiler/.jvmopts
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
-XX:+CMSClassUnloadingEnabled
-Xss2M
4 changes: 2 additions & 2 deletions compiler/build.sbt
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ lazy val settings = Seq(
"-deprecation",
"-unchecked",
"-Xfatal-warnings",
"-Xmax-inlines:200"
"-Xmax-inlines:100"
),
libraryDependencies ++= dependencies,
Test / testOptions += Tests.Argument(TestFrameworks.ScalaTest, "-oNCXELOPQRM"),
Expand Down Expand Up @@ -110,4 +110,4 @@ lazy val fpp_to_dict = (project in file("tools/fpp-to-dict"))
lazy val fpp_to_layout = (project in file("tools/fpp-to-layout"))
.settings(settings)
.dependsOn(lib)
.enablePlugins(AssemblyPlugin)
.enablePlugins(AssemblyPlugin)
7 changes: 2 additions & 5 deletions docs/fpp-spec.html
Original file line number Diff line number Diff line change
Expand Up @@ -977,10 +977,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 @@ -10582,7 +10579,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-24 15:53:17 -0800
Last updated 2025-01-24 17:03:07 -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 @@ -8217,8 +8214,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 @@ -8458,8 +8455,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 @@ -8852,7 +8849,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 @@ -12990,13 +12989,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 @@ -13008,8 +13007,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 @@ -13984,8 +13982,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 @@ -14819,7 +14817,7 @@ <h4 id="Writing-C-Plus-Plus-Implementations_Implementing-Deployments_Public-Symb
</div>
<div id="footer">
<div id="footer-text">
Last updated 2025-01-24 15:52:51 -0800
Last updated 2025-01-24 17:03:23 -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-24 15:43:35 -0800
Last updated 2025-01-24 17:00:29 -0800
</div>
</div>
</body>
Expand Down
14 changes: 14 additions & 0 deletions docs/index/defs.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
#!/bin/sh -e

# ----------------------------------------------------------------------
# defs.sh
# ----------------------------------------------------------------------

export LEVEL=../..
. $LEVEL/defs.sh

redo-ifchange defs.sh

export FILES="
index.adoc
"
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
Loading

0 comments on commit 5ff9159

Please sign in to comment.