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

[nasa/nos3#446] Add Documentation Files and setup for ReadTheDocs #477

Merged
merged 9 commits into from
Jan 27, 2025

Conversation

rjbrown2
Copy link
Member

No description provided.

@rjbrown2 rjbrown2 added Support User Support Configuration Configuration labels Jan 23, 2025
@rjbrown2 rjbrown2 self-assigned this Jan 23, 2025
@rjbrown2
Copy link
Member Author

Should be close to complete. Need to deprecate the wiki, and update the readme.
Add link to new nos3 readthedocs documentation. (And the reverse on the nos3 side)

@rjbrown2 rjbrown2 linked an issue Jan 24, 2025 that may be closed by this pull request

During mission operation, NOS3 can continue to be used for several purposes. It can support mission planning and rehearsal activities, aid in real time operations monitoring and analysis, and assist in anomaly resolution and fault diagnosis. NOS3 allows operators to simulate and evaluate different operational scenarios, predict the behavior of the satellite system, and make informed decisions based on the simulated environment.

### How to a move from software / simulator to hardware once it arrives?
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This section duplicates a section above. Please remove it.

* ait - AIT configuration files
* cosmos - COSMOS configuration files. Only one file in here should be customized.
* OrbitInviewPowerPrediction
* scripts - Convenience scripts. Only launch.sh should be customized.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Move scripts to the top level. Add yamcs and yamcs-studio here.

* apps - core Flight Software applications
* build - flight software build artifacts location
* cfe - core Flight Executive
* nos3_defs - Mission specific definitions. These should be customized.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Add fprime here.

* scripts - Convenience scripts. Only launch.sh should be customized.
* sims
* build - simulations build artifacts location
* cfg - configuration data for simulators and for the 42 dynamics simulator. These should be customized.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Delete cfg.

* cfg - configuration data for simulators and for the 42 dynamics simulator. These should be customized.
* nos_time_driver - core functionality to drive time throughout flight software, simulators, and 42
* sim_common - core common framework code for implementing the plugin system and other core functionality of simulators
* sim_server - core configuration file for the NOS Engine Standalone Server
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Delete sim_server


In order to use NOS3 with cFS, modifications are required to the open-source release. The recommended method for using NOS3 is described in the NOS3 User’s Guide, in which these modifications have already been made. If not using the cFS included with the NOS3 release, it is recommended to use the CMAKE build system, as the legacy build is not currently supported. The necessary changes are described below, where `proj` is the cFS directory being integrated.

1. Edit the `targets.cmake` file in the `fsw/nos3_defs` folder to include the list of applications to be built. Set the target name and system as shown below.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Change "in the fsw/nos3_defs"
to "in the cfg/nos3_defs"

SET(TGT1_NAME linux)
SET(TGT1_SYSTEM linux)
```
2. Edit the `toolchain-linux.cmake` file from the `fsw/nos3_defs` directory.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Change "fsw/nos3_defs"
to "cfg/nos3_defs"


The application that is communicating with hardware will require the I/O calls to be implemented exactly as provided by the OBC manufacturer. The NAV application makes certain calls to a Novatel GPS over the UART from the OBC. Not all of the GPS functionality is necessary to be exercised by the NAV application, so the low level calls to the UART are wrapped in functions in the hardware library, and the NAV app includes this library. As an example, the NAV application will be commanded to get the current Position/Velocity/Time reading, and will make the call `NAV_ReadAvailableData` as seen in the following code excerpt. Notice the include statement for the hardware library.

```c
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The 2 code snippets below no longer exist in the code. Replace them with:
novatel_oem615_app.c, NOVATEL_OEM615_ChildProcessRequestData
novatel_oem615_device.c, NOVATEL_OEM615_ChildProcessReadData


### Build System

The build system must be able to properly select the correct driver source code based on the target being compiled. In this case, CMake is used by both cFS and NOS3 and can accomplish this swap easily. As described earlier the `targets.cmake` file in `fsw/nos3_defs` provides an example of how to include driver source code; an example Cmake build file may be found in `components/novatel_oem615/CmakeList.txt`.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Change "may be found in components/novatel_oem615/CmakeList.txt"
to "may be found in `components/novatel_oem615/fsw/cfs/CMakeLists.txt"

@@ -0,0 +1,16 @@
# Workflows & VM Settings
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The 2 images that go with this page should be updated. They show a very ancient version of the VM desktop.

@rjbrown2 rjbrown2 requested a review from msuder January 27, 2025 19:59
@rjbrown2 rjbrown2 force-pushed the 446-documentation-refresh branch from 98c2980 to cff88ef Compare January 27, 2025 20:25
@rjbrown2 rjbrown2 force-pushed the 446-documentation-refresh branch from cdde92c to 983769e Compare January 27, 2025 20:40
@codecov-commenter
Copy link

Codecov Report

All modified and coverable lines are covered by tests ✅

Please upload report for BASE (dev@3de9a90). Learn more about missing BASE report.

Additional details and impacted files
@@          Coverage Diff          @@
##             dev    #477   +/-   ##
=====================================
  Coverage       ?   0.00%           
=====================================
  Files          ?       1           
  Lines          ?       2           
  Branches       ?       0           
=====================================
  Hits           ?       0           
  Misses         ?       2           
  Partials       ?       0           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@rjbrown2
Copy link
Member Author

TODO: Rebuild Docs after successful Merge

@rjbrown2 rjbrown2 merged commit 1e34337 into dev Jan 27, 2025
3 checks passed
@jlucas9 jlucas9 deleted the 446-documentation-refresh branch January 31, 2025 01:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Configuration Configuration Support User Support
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

Documentation Refresh - Sphinx
4 participants