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

Update release/v2.3.0 with selected changes #579

Merged
merged 3 commits into from
Jan 30, 2025
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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].
bocchino marked this conversation as resolved.
Show resolved Hide resolved

=== 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
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
Loading