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

cFS-GroundSystem Integration candidate: 2021-08-31 #195

Merged
merged 4 commits into from
Sep 1, 2021
Merged
Show file tree
Hide file tree
Changes from all 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
16 changes: 16 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,6 +1,22 @@
# Python stuff
__pycache__/
*.pyc

# Virtualenv + Pipenv stuff
.venv
.venv/
env/
venv/
Pipfile
Pipfile.lock

# Other stuff
cmdUtil
!/Subsystems/cmdUtil

# cmake stuff
CMakeFiles
CMakeCache.txt

# OS stuff
.DS_Store
8 changes: 4 additions & 4 deletions Guide-GroundSystem.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

The GroundSystem directory contains the new Ground System project for the cFS, that incorporates the main window to launch commands and telemetry systems, and other utilities like FDL/FUL and FT managers to send and receive files. The main window runs alongside the Routing Service (`RoutingService.py`). The Routing Service handles all incoming data and publishes (PUB/SUB) the data to specific ZeroMQ channels so that the different ground system utilities can receive (subscribe) only the desired data.

This ground system supports commanding and receiving telemetry from multiple spacecrafts using UDP.
This ground system supports commanding and receiving telemetry from multiple spacecraft using UDP.

The Ground System contains the main window that lets you launch the different utilities.

Expand All @@ -15,11 +15,11 @@ To start receiving data from the cFS, you need to enable telemetry first. To ena

Note: The Main Window needs to be opened at all times so that the telemetry messages can be forwarded to the Telemetry System.

The Ground System will automatically detect the spacecraft when it starts sending the telemetry, and it will be added to the IP addresses list. You can select the spacecraft from the list, and start Telemetry System to receive its data. If 'All' spacecrafts are selected, you can start Telemetry System to display the packet count from multiple spacecrafts (if it detected more than one).
The Ground System will automatically detect the spacecraft when it starts sending the telemetry, and it will be added to the IP addresses list. You can select the spacecraft from the list, and start Telemetry System to receive its data. If 'All' spacecraft are selected, you can start Telemetry System to display the packet count from multiple spacecraft (if it detected more than one).

Future enhancements:

1. Detect different spacecrafts based on telemetry header (spacecraft `id`) data instead of using the spacecraft IP address.
1. Detect different spacecraft based on telemetry header (spacecraft `id`) data instead of using the spacecraft IP address.
2. Add instructions for Windows.

## Install and run
Expand Down Expand Up @@ -94,7 +94,7 @@ Steps to adding application commands to the Ground System:
- USE ONLY SPACES, NO TABS (Remember, it's Python).
- Don't leave any empty lines in `command-pages.txt`, this could cause errors when running `GroundSystem.py` and `CommandSystem.py`.

After completing these steps, restart the Ground System and the changes should have taken affect.
After completing these steps, restart the Ground System and the changes should have taken effect.

## Common issues and troubleshooting

Expand Down
4 changes: 4 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,10 @@ See [Guide-GroundSystem.md](https://github.com/nasa/cFS-GroundSystem/blob/master

## Version History

- Add Virtualenv and Pipenv .gitignore support
- Fix doc, comment, and message typos
- See <https://github.com/nasa/cFS-GroundSystem/pull/195> and <https://github.com/nasa/cFS/pull/348>

### Development Build: v2.2.0-rc1+dev58

- Update tlm for ES Blockstats/memstats and TBL HK
Expand Down
2 changes: 1 addition & 1 deletion RoutingService.py
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@ def run(self):
datagram, host = self.sock.recvfrom(
4096) # buffer size is 1024 bytes

# Ignore datagram if it is not long enough (doesnt contain tlm header?)
# Ignore datagram if it is not long enough (doesn't contain tlm header?)
if len(datagram) < 6:
continue

Expand Down
2 changes: 1 addition & 1 deletion SECURITY.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ To report a vulnerability for the cFS-GroundSystem subsystem please [submit an i

For general cFS vulnerabilities please [open a cFS framework issue](https://github.com/nasa/cfs/issues/new/choose) and see our [top-level security policy](https://github.com/nasa/cFS/security/policy) for additional information.

In either case please use the "Bug Report" template and provide as much information as possible. Apply appropraite labels for each report. For security related reports, tag the issue with the "security" label.
In either case please use the "Bug Report" template and provide as much information as possible. Apply appropriate labels for each report. For security related reports, tag the issue with the "security" label.

## Testing

Expand Down
8 changes: 4 additions & 4 deletions Subsystems/cmdGui/CHeaderParser.py
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@
# the user for necessary information, and parsing the cFS header files, this
# program will generate up to two different "pickle" files for the ground
# system to use (for information about pickle files and the pickle python
# libary, see the link here: https://docs.python.org/3/library/pickle.html).
# library, see the link here: https://docs.python.org/3/library/pickle.html).
# These files will be placed in CommandFiles/ or ParameterFiles/.
#
# Usage:
Expand Down Expand Up @@ -129,7 +129,7 @@ def getFileList(filename='CHeaderParser-hdr-paths.txt'):
# create empty list for dumping header data
master_hdr = []

# Concatonate all headers into one variable for referencing
# Concatenate all headers into one variable for referencing
for hdr_file in file_list:
# open header file as single header
with open(hdr_file) as single_hdr:
Expand Down Expand Up @@ -257,7 +257,7 @@ def getFileList(filename='CHeaderParser-hdr-paths.txt'):
f"You entered {command_choice}, but that isn't an option.")
else:
## Choices are presented to user starting at 1, but list
## indicies start at 0
## indices start at 0
command_choice -= 1
cmdName = unused_cmdDesc[command_choice]

Expand Down Expand Up @@ -405,7 +405,7 @@ def getFileList(filename='CHeaderParser-hdr-paths.txt'):
# Add original data type (C data type) to list
dataTypesOrig.append(line_split[0])

# Get rid of any occurance of ';' (at the end of the line)
# Get rid of any occurence of ';' (at the end of the line)
paramNames.append(re.sub(';', '', line_split[1]))

# Not sure about why we are keeping track of this yet
Expand Down
4 changes: 2 additions & 2 deletions Subsystems/cmdGui/CommandFiles/cfe__es__msg_8h
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
(lp0
(lp1
S'Clears the contents of the Exeception and Reset Log'
S'Clears the contents of the Exception and Reset Log'
p2
aS'Clear Executive Services System Log'
p3
Expand Down Expand Up @@ -46,7 +46,7 @@ aS'Stop and Unload Application'
p23
aS'Telemeter Memory Pool Statistics'
p24
aS'Writes Exeception and Reset Log to a File'
aS'Writes Exception and Reset Log to a File'
p25
aS'Writes contents of Executive Services System Log to a File'
p26
Expand Down
2 changes: 1 addition & 1 deletion Subsystems/cmdGui/Parameter.py
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ def ProcessSendButton(self):
if sendSuccess:
self.status_box.setText('Command sent!')
else:
self.status_box.setText('Error occured')
self.status_box.setText('Error occurred')

def closeEvent(self, event):
if self.mcu:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ aS'Size, in bytes, of the CDS memory block. boolean Table Flag that indicates wh
p16
aS'Processor Unique Name of CDS.'
p17
aS'Spare byte to insure structure size is multiple of 4 bytes.'
aS'Spare byte to ensure structure size is multiple of 4 bytes.'
p18
aa(lp19
S'--word'
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -252,7 +252,7 @@ aS'Current state of Performance Analyzer.'
p110
aS'Current mode of Performance Analyzer.'
p111
aS'Number of Times Perfomance Analyzer has Triggered.'
aS'Number of Times Performance Analyzer has Triggered.'
p112
aS'Current Setting of Performance Analyzer Filter Masks.'
p113
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ aa(lp5
S'[OS_MAX_PATH_LEN]'
p6
aa(lp7
S'Filename where applicaton data is to be written.'
S'Filename where application data is to be written.'
p8
aa(lp9
S'--string'
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ ag14
aa(lp15
S'Index of the next entry in the local event log.'
p16
aS'Local Event Kog counter.'
aS'Local Event Log counter.'
p17
aS'Local Event Log full flag.'
p18
Expand Down
2 changes: 1 addition & 1 deletion Subsystems/cmdGui/command-pages.txt
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
# This file defines the list of command pages available to the "CommandSystem.py"
# python program.
#
# The following comma delimted fields must be present:
# The following comma delimited fields must be present:
# Description,
# Command definition file,
# Command Packet ID,
Expand Down
2 changes: 1 addition & 1 deletion Subsystems/cmdUtil/SendUdp.c
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@ int SendUdp(char *hostname, char *portNum, unsigned char *packetData, int packet
return -3;
}

/* Loop through potential addresses until sucessful socket/connect */
/* Loop through potential addresses until successful socket/connect */
for (rp = result; rp != NULL; rp = rp->ai_next)
{
sd = socket(rp->ai_family, rp->ai_socktype, rp->ai_protocol);
Expand Down
2 changes: 1 addition & 1 deletion Subsystems/cmdUtil/cmdUtil.c
Original file line number Diff line number Diff line change
Expand Up @@ -214,7 +214,7 @@ void DisplayUsage(char *Name)
printf(" -T, --pkttype: !OVERRIDE! Packet type (default is cmd, 0=tlm, 1=cmd)\n");
printf(" -S, --pktsec: !OVERRIDE! Secondary header flag (default set from protocol, 0=absent, 1=present)\n");
printf(" -A, --pktapid: Application Process Identifier (range=0-0x7FF)\n");
printf(" -F, --pktseqflg: !OVERRIDE! Seqence Flags (default unsegmented, 0=continuation, 1=first, 2=last, "
printf(" -F, --pktseqflg: !OVERRIDE! Sequence Flags (default unsegmented, 0=continuation, 1=first, 2=last, "
"3=unsegmented)\n");
printf(" -G, --pktseqcnt, --pktname: Packet sequence count or Packet name (range=0-0x3FFF)\n");
printf(" -L, --pktlen: !OVERRIDE! Packet data length (default will calculate value, range=0-0xFFFF)\n");
Expand Down
2 changes: 1 addition & 1 deletion Subsystems/cmdUtil/readme.txt
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ cmdUtil -- A CCSDS Command Client.
--port : The UDP port to send the command to ( default = 1234 )
--pktid : The Packet ID for the command being sent
--cmdcode : The command code for the command being sent
--endian : BE: Dont swap words, LE: Swap words on packet
--endian : BE: Don't swap words, LE: Swap words on packet
--half : Add a 16 bit parameter to the packet ( hex or dec )
--long : Add a 32 bit parameter to the packet ( hex or dec )
--string : Add a fixed length string to the packet
Expand Down
2 changes: 1 addition & 1 deletion _version.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
#

# Development Build Macro Definitions
_cFS_GrndSys_build_number = 58
_cFS_GrndSys_build_number = 63
_cFS_GrndSys_build_baseline = "v2.2.0-rc1"

# Version Number Definitions
Expand Down