Skip to content

Commit

Permalink
[#260] newsim added;
Browse files Browse the repository at this point in the history
  • Loading branch information
jlucas9 committed Jun 25, 2024
1 parent 7c6fc4d commit ff9c624
Show file tree
Hide file tree
Showing 37 changed files with 2,930 additions and 3 deletions.
12 changes: 11 additions & 1 deletion cfg/InOut/Inp_IPC.txt
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<<<<<<<<<<<<<<< 42: InterProcess Comm Configuration File >>>>>>>>>>>>>>>>
16 ! Number of Sockets
17 ! Number of Sockets
********************************** RW 0 to 42 *****************************
RX ! IPC Mode (OFF,TX,RX,TXRX,ACS,WRITEFILE,READFILE)
0 ! AC.ID for ACS mode
Expand Down Expand Up @@ -171,4 +171,14 @@ fortytwo 4283 ! Server Host Name, Port
FALSE ! Allow Blocking (i.e. wait on RX)
FALSE ! Echo to stdout
1 ! Number of TX prefixes
"SC" ! Prefix 0
********************************** NEWSIM IPC *****************************
TX ! IPC Mode (OFF,TX,RX,TXRX,ACS,WRITEFILE,READFILE)
0 ! AC.ID for ACS mode
"NEWSIM.42" ! File name for WRITE or READ
SERVER ! Socket Role (SERVER,CLIENT,GMSEC_CLIENT)
fortytwo 4251 ! Server Host Name, Port
FALSE ! Allow Blocking (i.e. wait on RX)
FALSE ! Echo to stdout
1 ! Number of TX prefixes
"SC" ! Prefix 0
2 changes: 2 additions & 0 deletions cfg/nos3_defs/cpu1_cfe_es_startup.scr
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,8 @@ CFE_APP, to, TO_AppMain, TO,
CFE_APP, ci_lab, CI_Lab_AppMain, CI_LAB_APP, 80, 16384, 0x0, 0;
CFE_APP, to_lab, TO_LAB_AppMain, TO_LAB_APP, 81, 32768, 0x0, 0;

CFE_APP, newsim, NEWSIM_AppMain, NEWSIM, 72, 8192, 0x0, 0;

!
! ** The software will not try to parse anything after the first '!' character it sees. **
!
Expand Down
5 changes: 4 additions & 1 deletion cfg/nos3_defs/tables/to_lab_sub.c
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,7 @@
#include "generic_star_tracker_msgids.h"

#include "syn_msgids.h"
#include "newsim_msgids.h"

/*
** Local Structure Declarations
Expand Down Expand Up @@ -128,7 +129,9 @@ TO_LAB_Subs_t TO_LAB_Subs =
{CFE_SB_MSGID_WRAP_VALUE(GENERIC_STAR_TRACKER_HK_TLM_MID),{0,0}, 32},
{CFE_SB_MSGID_WRAP_VALUE(GENERIC_STAR_TRACKER_DEVICE_TLM_MID),{0,0}, 32},

{CFE_SB_MSGID_WRAP_VALUE(SYN_HK_TLM_MID), {0,0}, 32},
{CFE_SB_MSGID_WRAP_VALUE(SYN_HK_TLM_MID), {0,0}, 32},
{CFE_SB_MSGID_WRAP_VALUE(NEWSIM_HK_TLM_MID), {0,0}, 32},
{CFE_SB_MSGID_WRAP_VALUE(NEWSIM_DEVICE_TLM_MID), {0,0}, 32},

}
};
Expand Down
2 changes: 2 additions & 0 deletions cfg/nos3_defs/targets.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -117,6 +117,8 @@ list(APPEND MISSION_GLOBAL_APPLIST
novatel_oem615/fsw
sample/fsw
syn/fsw

newsim
)

# Create Application Platform Include List
Expand Down
26 changes: 26 additions & 0 deletions cfg/sims/nos3-simulator.xml
Original file line number Diff line number Diff line change
Expand Up @@ -113,6 +113,32 @@
<!-- -->
<!-- Component Simulators -->
<!-- -->
<newsim>
<name>newsim_sim</name>
<active>true</active>
<library>libnewsim_sim.so</library>
<hardware-model>
<type>NEWSIM</type>
<connections>
<connection><type>command</type>
<bus-name>command</bus-name>
<node-name>newsim-command</node-name>
</connection>
<connection><type>usart</type>
<bus-name>usart_27</bus-name>
<node-port>27</node-port>
</connection>
</connections>
<data-provider>
<type>NEWSIM_42_PROVIDER</type>
<hostname>fortytwo</hostname>
<port>4251</port>
<max-connection-attempts>20</max-connection-attempts>
<retry-wait-seconds>5</retry-wait-seconds>
<spacecraft>0</spacecraft>
</data-provider>
</hardware-model>
</simulator>

<simulator>
<name>sample_sim</name>
Expand Down
1 change: 1 addition & 0 deletions components/newsim/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
support/build
16 changes: 16 additions & 0 deletions components/newsim/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
cmake_minimum_required(VERSION 2.6.4)
project(CFS_NEWSIM_APP C)

include(../ComponentSettings.cmake)

include_directories(fsw/public_inc)
include_directories(fsw/mission_inc)
include_directories(fsw/platform_inc)
include_directories(fsw/src)

include_directories(${hwlib_MISSION_DIR}/fsw/public_inc)

aux_source_directory(fsw/src APP_SRC_FILES)

# Create the app module
add_cfe_app(newsim ${APP_SRC_FILES})
263 changes: 263 additions & 0 deletions components/newsim/LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,263 @@
NASA OPEN SOURCE AGREEMENT VERSION 1.3

THIS OPEN SOURCE AGREEMENT ("AGREEMENT") DEFINES THE RIGHTS OF USE,
REPRODUCTION, DISTRIBUTION, MODIFICATION AND REDISTRIBUTION OF CERTAIN
COMPUTER SOFTWARE ORIGINALLY RELEASED BY THE UNITED STATES GOVERNMENT
AS REPRESENTED BY THE GOVERNMENT AGENCY LISTED BELOW ("GOVERNMENT
AGENCY"). THE UNITED STATES GOVERNMENT, AS REPRESENTED BY GOVERNMENT
AGENCY, IS AN INTENDED THIRD-PARTY BENEFICIARY OF ALL SUBSEQUENT
DISTRIBUTIONS OR REDISTRIBUTIONS OF THE SUBJECT SOFTWARE. ANYONE WHO
USES, REPRODUCES, DISTRIBUTES, MODIFIES OR REDISTRIBUTES THE SUBJECT
SOFTWARE, AS DEFINED HEREIN, OR ANY PART THEREOF, IS, BY THAT ACTION,
ACCEPTING IN FULL THE RESPONSIBILITIES AND OBLIGATIONS CONTAINED IN
THIS AGREEMENT.

Government Agency: NASA
Government Agency Original Software Designation: GSC-17737-1
Government Agency Original Software Title:
NASA Operational Simulator for Small Satellites
User Registration Requested. Please Visit
https://github.com/nasa/nos3
Government Agency Point of Contact for Original Software:
John.P.Lucas@nasa.gov

1. DEFINITIONS

A. "Contributor" means Government Agency, as the developer of the
Original Software, and any entity that makes a Modification.
B. "Covered Patents" mean patent claims licensable by a Contributor
that are necessarily infringed by the use or sale of its Modification
alone or when combined with the Subject Software.
C. "Display" means the showing of a copy of the Subject Software,
either directly or by means of an image, or any other device.
D. "Distribution" means conveyance or transfer of the Subject
Software, regardless of means, to another.
E. "Larger Work" means computer software that combines Subject
Software, or portions thereof, with software separate from the Subject
Software that is not governed by the terms of this Agreement.
F. "Modification" means any alteration of, including addition to or
deletion from, the substance or structure of either the Original
Software or Subject Software, and includes derivative works, as that
term is defined in the Copyright Statute, 17 USC 101. However, the
act of including Subject Software as part of a Larger Work does not in
and of itself constitute a Modification.
G. "Original Software" means the computer software first released
under this Agreement by Government Agency with Government Agency
designation GSC-17776-1 and entitled Core Flight System Cryptography
Library, including source code, object code and accompanying
documentation, if any.
H. "Recipient" means anyone who acquires the Subject Software under
this Agreement, including all Contributors.
I. "Redistribution" means Distribution of the Subject Software after a
Modification has been made.
J. "Reproduction" means the making of a counterpart, image or copy of
the Subject Software.
K. "Sale" means the exchange of the Subject Software for money or
equivalent value.
L. "Subject Software" means the Original Software, Modifications, or
any respective parts thereof.
M. "Use" means the application or employment of the Subject Software
for any purpose.

2. GRANT OF RIGHTS

A. Under Non-Patent Rights: Subject to the terms and conditions of
this Agreement, each Contributor, with respect to its own contribution
to the Subject Software, hereby grants to each Recipient a
non-exclusive, world-wide, royalty-free license to engage in the
following activities pertaining to the Subject Software:

1. Use
2. Distribution
3. Reproduction
4. Modification
5. Redistribution
6. Display

B. Under Patent Rights: Subject to the terms and conditions of this
Agreement, each Contributor, with respect to its own contribution to
the Subject Software, hereby grants to each Recipient under Covered
Patents a non-exclusive, world-wide, royalty-free license to engage in
the following activities pertaining to the Subject Software:

1. Use
2. Distribution
3. Reproduction
4. Sale
5. Offer for Sale

C. The rights granted under Paragraph B. also apply to the combination
of a Contributor's Modification and the Subject Software if, at the
time the Modification is added by the Contributor, the addition of
such Modification causes the combination to be covered by the Covered
Patents. It does not apply to any other combinations that include a
Modification.

D. The rights granted in Paragraphs A. and B. allow the Recipient to
sublicense those same rights. Such sublicense must be under the same
terms and conditions of this Agreement.

3. OBLIGATIONS OF RECIPIENT

A. Distribution or Redistribution of the Subject Software must be made
under this Agreement except for additions covered under paragraph 3H.

1. Whenever a Recipient distributes or redistributes the Subject
Software, a copy of this Agreement must be included with each copy
of the Subject Software; and
2. If Recipient distributes or redistributes the Subject Software in
any form other than source code, Recipient must also make the
source code freely available, and must provide with each copy of
the Subject Software information on how to obtain the source code
in a reasonable manner on or through a medium customarily used for
software exchange.

B. Each Recipient must ensure that the following copyright notice
appears prominently in the Subject Software:

/* Copyright (C) 2009 - 2022 National Aeronautics and Space Administration. All Foreign Rights are Reserved to the U.S. Government.

This software is provided "as is" without any warranty of any kind, either expressed, implied, or statutory, including, but not
limited to, any warranty that the software will conform to specifications, any implied warranties of merchantability, fitness
for a particular purpose, and freedom from infringement, and any warranty that the documentation will conform to the program, or
any warranty that the software will be error free.

In no event shall NASA be liable for any damages, including, but not limited to direct, indirect, special or consequential damages,
arising out of, resulting from, or in any way connected with the software or its documentation, whether or not based upon warranty,
contract, tort or otherwise, and whether or not loss was sustained from, or arose out of the results of, or use of, the software,
documentation or services provided hereunder.

ITC Team
NASA IV&V
jstar-development-team@mail.nasa.gov
*/

C. Each Contributor must characterize its alteration of the Subject
Software as a Modification and must identify itself as the originator
of its Modification in a manner that reasonably allows subsequent
Recipients to identify the originator of the Modification. In
fulfillment of these requirements, Contributor must include a file
(e.g., a change log file) that describes the alterations made and the
date of the alterations, identifies Contributor as originator of the
alterations, and consents to characterization of the alterations as a
Modification, for example, by including a statement that the
Modification is derived, directly or indirectly, from Original
Software provided by Government Agency. Once consent is granted, it
may not thereafter be revoked.

D. A Contributor may add its own copyright notice to the Subject
Software. Once a copyright notice has been added to the Subject
Software, a Recipient may not remove it without the express permission
of the Contributor who added the notice.

E. A Recipient may not make any representation in the Subject Software
or in any promotional, advertising or other material that may be
construed as an endorsement by Government Agency or by any prior
Recipient of any product or service provided by Recipient, or that may
seek to obtain commercial advantage by the fact of Government Agency's
or a prior Recipient's participation in this Agreement.

F. In an effort to track usage and maintain accurate records of the
Subject Software, each Recipient, upon receipt of the Subject
Software, is requested to register with Government Agency by visiting
the following website: https://github.com/nasa/CryptoLib. Recipient's
name and personal information shall be used for statistical purposes
only. Once a Recipient makes a Modification available, it is requested
that the Recipient inform Government Agency at the web site provided
above how to access the Modification.

G. Each Contributor represents that that its Modification is believed
to be Contributor's original creation and does not violate any
existing agreements, regulations, statutes or rules, and further that
Contributor has sufficient rights to grant the rights conveyed by this
Agreement.

H. A Recipient may choose to offer, and to charge a fee for, warranty,
support, indemnity and/or liability obligations to one or more other
Recipients of the Subject Software. A Recipient may do so, however,
only on its own behalf and not on behalf of Government Agency or any
other Recipient. Such a Recipient must make it absolutely clear that
any such warranty, support, indemnity and/or liability obligation is
offered by that Recipient alone. Further, such Recipient agrees to
indemnify Government Agency and every other Recipient for any
liability incurred by them as a result of warranty, support, indemnity
and/or liability offered by such Recipient.

I. A Recipient may create a Larger Work by combining Subject Software
with separate software not governed by the terms of this agreement and
distribute the Larger Work as a single product. In such case, the
Recipient must make sure Subject Software, or portions thereof,
included in the Larger Work is subject to this Agreement.

J. Notwithstanding any provisions contained herein, Recipient is
hereby put on notice that export of any goods or technical data from
the United States may require some form of export license from the
U.S. Government. Failure to obtain necessary export licenses may
result in criminal liability under U.S. laws. Government Agency
neither represents that a license shall not be required nor that, if
required, it shall be issued. Nothing granted herein provides any
such export license.

4. DISCLAIMER OF WARRANTIES AND LIABILITIES; WAIVER AND INDEMNIFICATION

A. No Warranty: THE SUBJECT SOFTWARE IS PROVIDED "AS IS" WITHOUT ANY
WARRANTY OF ANY KIND, EITHER EXPRESSED, IMPLIED, OR STATUTORY,
INCLUDING, BUT NOT LIMITED TO, ANY WARRANTY THAT THE SUBJECT SOFTWARE
WILL CONFORM TO SPECIFICATIONS, ANY IMPLIED WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR FREEDOM FROM
INFRINGEMENT, ANY WARRANTY THAT THE SUBJECT SOFTWARE WILL BE ERROR
FREE, OR ANY WARRANTY THAT DOCUMENTATION, IF PROVIDED, WILL CONFORM TO
THE SUBJECT SOFTWARE. THIS AGREEMENT DOES NOT, IN ANY MANNER,
CONSTITUTE AN ENDORSEMENT BY GOVERNMENT AGENCY OR ANY PRIOR RECIPIENT
OF ANY RESULTS, RESULTING DESIGNS, HARDWARE, SOFTWARE PRODUCTS OR ANY
OTHER APPLICATIONS RESULTING FROM USE OF THE SUBJECT SOFTWARE.
FURTHER, GOVERNMENT AGENCY DISCLAIMS ALL WARRANTIES AND LIABILITIES
REGARDING THIRD-PARTY SOFTWARE, IF PRESENT IN THE ORIGINAL SOFTWARE,
AND DISTRIBUTES IT "AS IS."

B. Waiver and Indemnity: RECIPIENT AGREES TO WAIVE ANY AND ALL CLAIMS
AGAINST THE UNITED STATES GOVERNMENT, ITS CONTRACTORS AND
SUBCONTRACTORS, AS WELL AS ANY PRIOR RECIPIENT. IF RECIPIENT'S USE OF
THE SUBJECT SOFTWARE RESULTS IN ANY LIABILITIES, DEMANDS, DAMAGES,
EXPENSES OR LOSSES ARISING FROM SUCH USE, INCLUDING ANY DAMAGES FROM
PRODUCTS BASED ON, OR RESULTING FROM, RECIPIENT'S USE OF THE SUBJECT
SOFTWARE, RECIPIENT SHALL INDEMNIFY AND HOLD HARMLESS THE UNITED
STATES GOVERNMENT, ITS CONTRACTORS AND SUBCONTRACTORS, AS WELL AS ANY
PRIOR RECIPIENT, TO THE EXTENT PERMITTED BY LAW. RECIPIENT'S SOLE
REMEDY FOR ANY SUCH MATTER SHALL BE THE IMMEDIATE, UNILATERAL
TERMINATION OF THIS AGREEMENT.


5. GENERAL TERMS

A. Termination: This Agreement and the rights granted hereunder will
terminate automatically if a Recipient fails to comply with these
terms and conditions, and fails to cure such noncompliance within
thirty (30) days of becoming aware of such noncompliance. Upon
termination, a Recipient agrees to immediately cease use and
distribution of the Subject Software. All sublicenses to the Subject
Software properly granted by the breaching Recipient shall survive any
such termination of this Agreement.

B. Severability: If any provision of this Agreement is invalid or
unenforceable under applicable law, it shall not affect the validity
or enforceability of the remainder of the terms of this Agreement.

C. Applicable Law: This Agreement shall be subject to United States
federal law only for all purposes, including, but not limited to,
determining the validity of this Agreement, the meaning of its
provisions and the rights, obligations and remedies of the parties.

D. Entire Understanding: This Agreement constitutes the entire
understanding and agreement of the parties relating to release of the
Subject Software and may not be superseded, modified or amended except
by further written agreement duly executed by the parties.

E. Binding Authority: By accepting and using the Subject Software
under this Agreement, a Recipient affirms its authority to bind the
Recipient to all terms and conditions of this Agreement and that that
Recipient hereby agrees to all terms and conditions herein.

F. Point of Contact: Any Recipient contact with Government Agency is
to be directed to the designated representative as follows:
John.P.Lucas@nasa.gov
Loading

0 comments on commit ff9c624

Please sign in to comment.