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

Release 1.7.1 #355

Merged
merged 39 commits into from
Aug 31, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
39 commits
Select commit Hold shift + click to select a range
4114fe9
Fix botched merge.
msuder May 15, 2024
6a04655
[nasa/nos3#231] Change over to use new version of nos3-64:dev that su…
jlucas9 Jun 12, 2024
5ec004c
[nasa/nos3#216] Added CI to NOS3 for FSW and SIM (#316)
jlucas9 Jun 14, 2024
f34d439
[nasa/nos3#231] Use new nos3-64:20240618 container and added notes to…
jlucas9 Jun 18, 2024
1d68ec7
Merge remote-tracking branch 'origin/dev' into nos3#231
jlucas9 Jun 18, 2024
9497f4c
[nasa/nos3#231] Update CI to use new nos3-64:20240618 container;
jlucas9 Jun 18, 2024
9b56e75
Merge pull request #320 from nasa/nos3#231
jlucas9 Jun 19, 2024
7c6fc4d
[nasa/nos3#315] Created RTS3 (safe mode) and edited RTS1 run safe mode;
jlucas9 Jun 19, 2024
4edf97e
[nasa/nos3#285] Attempted to implemented suggestions from sdunlap-afi…
jlucas9 Jun 25, 2024
9834c85
[nasa/nos3#176] Added test-fsw command to makefile;
jlucas9 Jun 25, 2024
ab4b58d
[nasa/nos3#176] Building test-fsw and trying to run ctest;
jlucas9 Jun 26, 2024
b04e666
Merge pull request #323 from nasa/nos3#315
jlucas9 Jun 26, 2024
c6e2bf3
https://github.com/nasa/nos3/issues/227 - Start at generic thruster c…
msuder Jul 1, 2024
05095c5
https://github.com/nasa/nos3/issues/227 - Start at generic thruster c…
msuder Jul 1, 2024
f447be1
https://github.com/nasa/nos3/issues/227 - Start at generic thruster c…
msuder Jul 1, 2024
b7cd635
https://github.com/nasa/nos3/issues/227 - Start at generic thruster c…
msuder Jul 1, 2024
6a5804f
https://github.com/nasa/nos3/issues/227 - Tweaks
msuder Jul 1, 2024
9c7b61b
[nasa/nos3#176] Created posix and nos3 toolchains and use targets.cma…
jlucas9 Jul 1, 2024
da13351
[nasa/nos3#285] Update nos_time_driver after merge;
jlucas9 Jul 2, 2024
874e016
Merge pull request #324 from nasa/nos3#285
jlucas9 Jul 2, 2024
1a9f6f3
https://github.com/nasa/nos3/issues/227 - Submodule updates.
msuder Jul 3, 2024
bd82995
https://github.com/nasa/nos3/issues/227 - Add thruster MIDs to TO out…
msuder Jul 12, 2024
01177b5
https://github.com/nasa/nos3/issues/227 - Submodule update.
msuder Jul 12, 2024
88ecc2e
https://github.com/nasa/nos3/issues/227 - Add missing connection bloc…
msuder Jul 12, 2024
ce7ce68
https://github.com/nasa/nos3/issues/227 - Add thrusters to 42 spacec…
msuder Jul 17, 2024
449fef1
https://github.com/nasa/nos3/issues/227 - Submodule pointer update.
msuder Jul 17, 2024
350995c
[nasa/nos3#176] OSAL updates from cppcheck;
jlucas9 Jul 18, 2024
2ebd3e4
https://github.com/nasa/nos3/issues/227 - Configure S/C with 6 thrust…
msuder Jul 19, 2024
13d079a
https://github.com/nasa/nos3/issues/227 - Tweak the thrusters.
msuder Jul 22, 2024
0b80b66
[nasa/nos3#176] Updated CI to test-fsw, ds to resolve failing tests, …
jlucas9 Jul 23, 2024
fae88c8
https://github.com/nasa/nos3/issues/227 - Submodule update.
msuder Jul 23, 2024
e3c30fd
[nasa/nos3#176] Revert to build-fsw instead of test-fsw in CI for now…
jlucas9 Jul 23, 2024
f8e273f
https://github.com/nasa/nos3/issues/227 - Submodule update.
msuder Jul 25, 2024
e253e9c
[nasa/nos3#176] Added hwlib stubs to CMakeLists for unit-tests, resol…
jlucas9 Jul 31, 2024
6c8d59a
[nasa/nos3#176] Resolved issue with Test_SAMPLE_ProcessCommandPacket;
jlucas9 Aug 2, 2024
354cbcd
[nasa/nos3#176] Updates after submodule merges;
jlucas9 Aug 6, 2024
1c0de00
Merge pull request #347 from nasa/nos3#176-unit-tests
jlucas9 Aug 6, 2024
5048aad
[nasa/nos3#227] Added thruster HK request to SCH table at 1Hz;
jlucas9 Aug 6, 2024
fc47c0e
Merge pull request #341 from nasa/nos3-227-propulsion
jlucas9 Aug 6, 2024
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
48 changes: 48 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
name: Build

on:
push:
pull_request:

jobs:
fsw:
runs-on: ubuntu-latest
container:
image: ivvitc/nos3-64:20240618
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- name: Update
run: apt-get update
- name: Install dependencies
run: apt-get install -y python3 docker docker.io
- name: prep
run: make prep
- name: config
run: make config
- name: build directory
run: mkdir ./fsw/build
- name: build
run: make build-fsw

sim:
runs-on: ubuntu-latest
container:
image: ivvitc/nos3-64:20240618
steps:
- uses: actions/checkout@v2
with:
submodules: recursive
- name: Update
run: apt-get update
- name: Install dependencies
run: apt-get install -y python3 docker docker.io
- name: prep
run: make prep
- name: config
run: make config
- name: build directory
run: mkdir ./sims/build
- name: build
run: make build-sim
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -12,3 +12,6 @@ build
support/nos3_install.log
tmp
core.*
.cdskeyfile
.reservedkeyfile
.resetkeyfile
3 changes: 3 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -131,3 +131,6 @@
path = components/syn
url = https://github.com/nasa-itc/syn.git
branch = main
[submodule "components/generic_thruster"]
path = components/generic_thruster
url = https://github.com/nasa-itc/generic_thruster.git
8 changes: 8 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,11 @@ build-sim:
cd $(SIMBUILDDIR) && cmake -DCMAKE_INSTALL_PREFIX=$(SIMBUILDDIR) ..
$(MAKE) --no-print-directory -C $(SIMBUILDDIR) install

build-test:
mkdir -p $(FSWBUILDDIR)
cd $(FSWBUILDDIR) && cmake $(PREP_OPTS) -DENABLE_UNIT_TESTS=true ../cfe
$(MAKE) --no-print-directory -C $(FSWBUILDDIR) mission-install

checkout:
./scripts/docker_checkout.sh

Expand Down Expand Up @@ -118,5 +123,8 @@ stop:
stop-gsw:
./scripts/stop_gsw.sh

test-fsw:
cd $(FSWBUILDDIR)/amd64-posix/default_cpu1 && ctest -O ctest.log

igniter:
./scripts/igniter_launch.sh
10 changes: 10 additions & 0 deletions cfg/InOut/Inp_IPC.txt
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,16 @@ FALSE ! Allow Blocking (i.e. wait on RX)
FALSE ! Echo to stdout
1 ! Number of TX prefixes
"SC" ! Prefix 0
********************************** Thruster IPC ****************************
RX ! IPC Mode (OFF,TX,RX,TXRX,ACS,WRITEFILE,READFILE)
1 ! AC.ID for ACS mode
"Thruster.Rx" ! File name for WRITE or READ
SERVER ! Socket Role (SERVER,CLIENT,GMSEC_CLIENT)
fortytwo 4280 ! Server Host Name, Port
FALSE ! Allow Blocking (i.e. wait on RX)
FALSE ! Echo to stdout
1 ! Number of TX prefixes
"SC" ! Prefix 0
********************************** GPS IPC *****************************
TX ! IPC Mode (OFF,TX,RX,TXRX,ACS,WRITEFILE,READFILE)
0 ! AC.ID for ACS mode
Expand Down
8 changes: 8 additions & 0 deletions cfg/InOut/Nodes_Simple.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
<<<<<<<<<<<<<<<< Body Node Inputs for 42 >>>>>>>>>>>>>>>>>>>>>
Simple Nodes ! Description
4 ! Number of Nodes
******************* Node Location, Comment *********************
0.1 -0.4 0.25 "Thrusters"
0.1 -0.1 0.25 "Thrusters"
0.1 -0.4 0.15 "Thrusters"
0.1 -0.1 0.15 "Thrusters"
30 changes: 24 additions & 6 deletions cfg/InOut/SC_NOS3.txt
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ CM ! Pos of CM or ORIGIN, wrt F
0.0 0.0 0.0 ! Vel wrt Formation (m/s), expressed in F
*************************** Initial Attitude ***************************
NAN ! Ang Vel wrt [NL], Att [QA] wrt [NLF]
0.3 0.4 0.5 ! Ang Vel (deg/sec)
0.0 0.0 0.0 ! Ang Vel (deg/sec)
0.0 0.0 0.0 1.0 ! Quaternion
60.0 40.0 20.0 213 ! Angles (deg) & Euler Sequence
*************************** Dynamics Flags ***************************
Expand All @@ -34,7 +34,7 @@ NONE ! Shaker File Name
0.0 0.0 0.0 ! Constant Embedded Momentum (Nms)
0.0 0.0 0.0 ! Constant Embedded Magnetic Dipole (A-m^2)
stf1_red.obj ! Geometry Input File Name
NONE ! Node File Name
Nodes_Simple.txt ! Node File Name
NONE ! Flex File Name
************************************************************************
*************************** Joint Parameters ***************************
Expand Down Expand Up @@ -99,13 +99,31 @@ NONE ! Drag/Jitter Input File Name
0.0 0.0 1.0 ! MTB Axis Components, [X, Y, Z]
0 ! Flex Node Index
************************* Thruster Parameters **************************
0 ! Number of Thrusters
4 ! Number of Thrusters
============================== Thr 0 =================================
PULSED ! Mode (PULSED or PROPORTIONAL)
1.0 ! Thrust Force (N)
-1.0 0.0 0.0 ! Thrust Axis
PROPORTIONAL ! Mode (PULSED or PROPORTIONAL)
0.01 ! Thrust Force (N)
1.0 0.0 0.0 ! Thrust Axis
0 ! Body
0 ! Node
============================== Thr 1 =================================
PROPORTIONAL ! Mode (PULSED or PROPORTIONAL)
0.01 ! Thrust Force (N)
1.0 0.0 0.0 ! Thrust Axis
0 ! Body
1 ! Node
============================== Thr 2 =================================
PROPORTIONAL ! Mode (PULSED or PROPORTIONAL)
0.01 ! Thrust Force (N)
1.0 0.0 0.0 ! Thrust Axis
0 ! Body
2 ! Node
============================== Thr 3 =================================
PROPORTIONAL ! Mode (PULSED or PROPORTIONAL)
0.01 ! Thrust Force (N)
1.0 0.0 0.0 ! Thrust Axis
0 ! Body
3 ! Node
******************************* Gyro ************************************
3 ! Number of Gyro Axes
============================== Axis 0 ===================================
Expand Down
2 changes: 1 addition & 1 deletion cfg/gui/cfg_gui_main.py
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@ def saveText(self, layout:QLayout, config_value:int):

# TODO: change to dynamically pull apps/components from xml file or directory, but how?
applications = ['cf', 'ds', 'fm', 'lc', 'sc']
components = ['adcs', 'cam', 'css', 'eps', 'fss', 'gps', 'imu', 'mag', 'radio', 'rw', 'sample', 'st', 'syn', 'torquer']
components = ['adcs', 'cam', 'css', 'eps', 'fss', 'gps', 'imu', 'mag', 'radio', 'rw', 'sample', 'st', 'syn', 'torquer', 'thruster']

i = 0
while layout.itemAt(i) != None:
Expand Down
1 change: 1 addition & 0 deletions cfg/nos3_defs/cpu1_cfe_es_startup.scr
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@ CFE_APP, novatel_oem615, NOVATEL_AppMain, NAV,
CFE_APP, sample, SAMPLE_AppMain, SAMPLE, 71, 32768, 0x0, 0;
CFE_APP, generic_st, ST_AppMain, ST, 71, 32768, 0x0, 0;
CFE_APP, syn, SYN_AppMain, SYN, 72, 32768, 0x0, 0;
CFE_APP, generic_thruster, GENERIC_THR_AppMain, THRUSTER, 73, 32768, 0x0, 0;

CFE_LIB, cfs_lib, CFS_LibInit, CFS_LIB, 0, 0, 0x0, 0;
CFE_APP, cs, CS_AppMain, CS, 55, 16384, 0x0, 0;
Expand Down
30 changes: 15 additions & 15 deletions cfg/nos3_defs/tables/sc_rts001.c
Original file line number Diff line number Diff line change
Expand Up @@ -23,18 +23,21 @@
/* Custom table structure, modify as needed to add desired commands */
typedef struct
{
/* 1 - Enable DS */
SC_RtsEntryHeader_t hdr1;
DS_AppStateCmd_t cmd1;
/* 2 - Enable Debug */
SC_RtsEntryHeader_t hdr2;
TO_LAB_EnableOutputCmd_t cmd2;
/* 3 - Enable RTS 3-64 */
SC_RtsEntryHeader_t hdr3;
SC_RtsGrpCmd_t cmd3;
/* 4 - Enable LC */
SC_RtsEntryHeader_t hdr4;
SAMPLE_NoArgs_cmd_t cmd4;
LC_SetLCState_t cmd4;
/* 5 - Start RTS 3 (Safe Mode) */
SC_RtsEntryHeader_t hdr5;
SAMPLE_NoArgs_cmd_t cmd5;
SC_RtsEntryHeader_t hdr6;
LC_SetLCState_t cmd6;
SC_RtsCmd_t cmd5;
} SC_RtsStruct001_t;

/* Define the union to size the table correctly */
Expand Down Expand Up @@ -67,21 +70,18 @@ SC_RtsTable001_t SC_Rts001 = {
.cmd3.FirstRtsId = 3,
.cmd3.LastRtsId = 64,

/* 4 - Sample NOOP */
/* 4 - Enable LC */
.hdr4.TimeTag = 1,
.cmd4.CmdHeader = CFE_MSG_CMD_HDR_INIT(SAMPLE_CMD_MID, SC_MEMBER_SIZE(cmd4), SAMPLE_NOOP_CC, 0x00),
.cmd4.CmdHeader = CFE_MSG_CMD_HDR_INIT(LC_CMD_MID, SC_MEMBER_SIZE(cmd4), LC_SET_LC_STATE_CC, 0x00),
.cmd4.NewLCState = LC_STATE_ACTIVE,
.cmd4.Padding = 0x0000,

/* 5 - Sample Enable */
/* 5 - Start RTS 3 (Safe Mode) */
.hdr5.TimeTag = 1,
.cmd5.CmdHeader = CFE_MSG_CMD_HDR_INIT(SAMPLE_CMD_MID, SC_MEMBER_SIZE(cmd5), SAMPLE_ENABLE_CC, 0x00),

/* 6 - Enable LC */
.hdr6.TimeTag = 1,
.cmd6.CmdHeader = CFE_MSG_CMD_HDR_INIT(LC_CMD_MID, SC_MEMBER_SIZE(cmd6), LC_SET_LC_STATE_CC, 0x00),
.cmd6.NewLCState = LC_STATE_ACTIVE,
.cmd6.Padding = 0x0000,
.cmd5.CmdHeader = CFE_MSG_CMD_HDR_INIT(SC_CMD_MID, SC_MEMBER_SIZE(cmd5), SC_START_RTS_CC, 0x00),
.cmd5.RtsId = 3,
}
};

/* Macro for table structure */
CFE_TBL_FILEDEF(SC_Rts001, SC.RTS_TBL001, SC Example RTS_TBL001, sc_rts001.tbl)
CFE_TBL_FILEDEF(SC_Rts001, SC.RTS_TBL001, POR RTS001, sc_rts001.tbl)
98 changes: 98 additions & 0 deletions cfg/nos3_defs/tables/sc_rts003.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,98 @@
#include "cfe.h"
#include "cfe_tbl_filedef.h"

#include "sc_tbldefs.h" /* defines SC table headers */
#include "sc_platform_cfg.h" /* defines table buffer size */
#include "sc_msgdefs.h" /* defines SC command code values */
#include "sc_msgids.h" /* defines SC packet msg ID's */
#include "sc_msg.h" /* defines SC message structures */

/* Command Includes */
#include "generic_css_msg.h"
#include "generic_css_msgids.h"
#include "generic_fss_msg.h"
#include "generic_fss_msgids.h"
#include "generic_imu_msg.h"
#include "generic_imu_msgids.h"
#include "generic_mag_msg.h"
#include "generic_mag_msgids.h"
#include "generic_torquer_msg.h"
#include "generic_torquer_msgids.h"
#include "novatel_oem615_msg.h"
#include "novatel_oem615_msgids.h"
#include "generic_adcs_msg.h"
#include "generic_adcs_msgids.h"
#include "generic_adcs_adac.h"

/* Custom table structure, modify as needed to add desired commands */
typedef struct
{
/* 1 - Enable CSS */
SC_RtsEntryHeader_t hdr1;
GENERIC_CSS_NoArgs_cmd_t cmd1;
/* 2 - Enable FSS */
SC_RtsEntryHeader_t hdr2;
GENERIC_FSS_NoArgs_cmd_t cmd2;
/* 3 - Enable IMU */
SC_RtsEntryHeader_t hdr3;
GENERIC_IMU_NoArgs_cmd_t cmd3;
/* 4 - Enable MAG */
SC_RtsEntryHeader_t hdr4;
GENERIC_MAG_NoArgs_cmd_t cmd4;
/* 5 - Enable torquers */
SC_RtsEntryHeader_t hdr5;
GENERIC_TORQUER_NoArgs_cmd_t cmd5;
/* 6 - Enable GPS */
SC_RtsEntryHeader_t hdr6;
NOVATEL_OEM615_NoArgs_cmd_t cmd6;
/* 7 - Set ADCS to SUNSAFE_MODE */
SC_RtsEntryHeader_t hdr7;
Generic_ADCS_Mode_cmd_t cmd7;
} SC_RtsStruct003_t;

/* Define the union to size the table correctly */
typedef union
{
SC_RtsStruct003_t rts;
uint16 buf[SC_RTS_BUFF_SIZE];
} SC_RtsTable003_t;

/* Helper macro to get size of structure elements */
#define SC_MEMBER_SIZE(member) (sizeof(((SC_RtsStruct003_t *)0)->member))

/* Used designated intializers to be verbose, modify as needed/desired */
SC_RtsTable003_t SC_Rts003 = {
.rts = {
/* 1 - Enable CSS */
.hdr1.TimeTag = 1,
.cmd1.CmdHeader = CFE_MSG_CMD_HDR_INIT(GENERIC_CSS_CMD_MID, SC_MEMBER_SIZE(cmd1), GENERIC_CSS_ENABLE_CC, 0x00),

/* 2 - Enable FSS */
.hdr2.TimeTag = 1,
.cmd2.CmdHeader = CFE_MSG_CMD_HDR_INIT(GENERIC_FSS_CMD_MID, SC_MEMBER_SIZE(cmd2), GENERIC_FSS_ENABLE_CC, 0x00),

/* 3 - Enable IMU */
.hdr3.TimeTag = 1,
.cmd3.CmdHeader = CFE_MSG_CMD_HDR_INIT(GENERIC_IMU_CMD_MID, SC_MEMBER_SIZE(cmd3), GENERIC_IMU_ENABLE_CC, 0x00),

/* 4 - Enable MAG */
.hdr4.TimeTag = 1,
.cmd4.CmdHeader = CFE_MSG_CMD_HDR_INIT(GENERIC_MAG_CMD_MID, SC_MEMBER_SIZE(cmd4), GENERIC_MAG_ENABLE_CC, 0x00),

/* 5 - Enable torquers */
.hdr5.TimeTag = 1,
.cmd5.CmdHeader = CFE_MSG_CMD_HDR_INIT(GENERIC_TORQUER_CMD_MID, SC_MEMBER_SIZE(cmd5), GENERIC_TORQUER_ENABLE_CC, 0x00),

/* 6 - Enable GPS */
.hdr6.TimeTag = 1,
.cmd6.CmdHeader = CFE_MSG_CMD_HDR_INIT(NOVATEL_OEM615_CMD_MID, SC_MEMBER_SIZE(cmd6), NOVATEL_OEM615_ENABLE_CC, 0x00),

/* 7 - Set ADCS to SUNSAFE_MODE */
.hdr7.TimeTag = 5,
.cmd7.CmdHeader = CFE_MSG_CMD_HDR_INIT(GENERIC_ADCS_CMD_MID, SC_MEMBER_SIZE(cmd7), GENERIC_ADCS_SET_MODE_CC, 0x00),
.cmd7.Mode = SUNSAFE_MODE,
}
};

/* Macro for table structure */
CFE_TBL_FILEDEF(SC_Rts003, SC.RTS_TBL003, Safe Mode RTS003, sc_rts003.tbl)
10 changes: 5 additions & 5 deletions cfg/nos3_defs/tables/sch_def_msgtbl.c
Original file line number Diff line number Diff line change
Expand Up @@ -47,19 +47,19 @@
** Component Include Files
*/
#include "cam_msgids.h"
#include "generic_adcs_msgids.h"
#include "generic_css_msgids.h"
#include "generic_eps_msgids.h"
#include "generic_fss_msgids.h"
#include "generic_imu_msgids.h"
#include "generic_mag_msgids.h"
#include "generic_radio_msgids.h"
#include "generic_reaction_wheel_msgids.h"
#include "generic_star_tracker_msgids.h"
#include "generic_thruster_msgids.h"
#include "generic_torquer_msgids.h"
#include "novatel_oem615_msgids.h"
#include "sample_msgids.h"
#include "generic_adcs_msgids.h"
#include "generic_star_tracker_msgids.h"

#include "syn_msgids.h"

/*
Expand Down Expand Up @@ -326,8 +326,8 @@ SCH_MessageEntry_t SCH_DefaultMessageTable[SCH_MAX_MESSAGES] =
{ { CFE_MAKE_BIG16(SCH_UNUSED_MID) } },
/* command ID #104 */
{ { CFE_MAKE_BIG16(SCH_UNUSED_MID) } },
/* command ID #105 */
{ { CFE_MAKE_BIG16(SCH_UNUSED_MID) } },
/* command ID #105 - Thruster HK */
{ { CFE_MAKE_BIG16(GENERIC_THRUSTER_REQ_HK_MID), CFE_MAKE_BIG16(0xC000), CFE_MAKE_BIG16(0x0001), CFE_MAKE_BIG16(0x0000) } },
/* command ID #106 */
{ { CFE_MAKE_BIG16(SCH_UNUSED_MID) } },
/* command ID #107 */
Expand Down
Loading
Loading