github OpenC3/cosmos v5.6.0

latest releases: v7.0.0, v7.0.0-rc3, v7.0.0-rc2...
2 years ago

OpenC3 COSMOS 5.6.0 - Modern, Production Ready, Command and Control

Welcome to OpenC3 COSMOS 5.6.0!

This release brings some great new features, and also includes some important bug fixes. Everyone is encouraged to upgrade.

Important Migration Note

TlmViewer widgets had to be updated to support opening screens from ScriptRunner which caused a breaking change for any plugins containing a custom widget. Plugins with a custom widget will need to update their package.json file to use @openc3/tool-common version 5.6.0 (or later), and be rebuilt/reinstalled.

Open Telemetry Screens in Script Runner

You can now open telemetry screens in ScriptRunner! Either existing screens or using the local_screen feature you can define a unique screen right from your script.

display_screen("INST", "ADCS")
wait(3)
clear_screen("INST", "ADCS")
wait(3)
display_screen("INST", "IMAGE")
wait(3)
clear_all_screens()
wait(3)
definition = '
SCREEN AUTO AUTO 1.0

VERTICALBOX "Test Screen"
  LABELVALUE INST HEALTH_STATUS TEMP1
  LABELVALUE INST HEALTH_STATUS RECEIVED_TIMEFORMATTED WITH_UNITS 30
END
'
local_screen("TEST", definition)

Widget Generator

Our plugin generators now support custom widgets. Run with: openc3.sh cli generate widget MyWidget

Diff plugin.txt on Plugin Upgrades

Now if you upgrade a plugin and the plugin.txt file was changed, you will be presented with a diff interface that shows the changes and allows you to pick which lines you want to keep.

Install Plugins and Gems from the command line

The openc3cli command has been updated to support loading plugins and gems from your host machine. You can use like follows:

gem install openc3
openc3cli load /path/to/myplugin.gem
openc3cli unload myplugin.gem__12345667
openc3cli geminstall my.gem
openc3cli gemuninstall my.gem

log_message parameter added to cmd() apis

cmd() can now take an optional keyword argument called log_message that allows you to optionally not have a command be printed into the log messages. This is useful if you are frequently sending a command or at a high rate, and don't want to spam the log messages. Note: All commands are always logged to our packet logs.

TlmGrapher Show Limits Updated

TlmGrapher Show Limits has been updated to color in the background for each section of limits. This makes the limits ranges much easier to see.

CRC8 Code

We now ship code to perform CRC8 calculations, on top of our existing CRC16, CRC32, and CRC64 functionality.

Important Bug Fixes

  1. get_cmd_value and get_cmd_time now work correctly
  2. The details dialog now works correctly with DERIVED items
  3. Script instrumentation now handles more complicated cases with lots of newlines
  4. Fixed run_script and the other script apis from Ruby
  5. TableManager now properly formats binary fields
  6. connect_interface now works correctly when given parameters
  7. inject_tlm now handles packets with a PACKET_TIME
  8. Fix target_index in packet log files

All Pull Requests in this Release

Prerequisites:
Docker - Running OpenC3 requires a working Docker or Podman installation. Typically Docker Desktop on Windows / Mac. Plain Docker or Podman also works on linux. We actively develop and run with Docker Desktop on Mac/Windows, and Linux on Raspberry Pi, so if you have any issues on another platform, please let us know by submitting a ticket!

Minimum Resources allocated to Docker: 4GB RAM, 1 CPU, 80GB Disk
Recommended Resources allocated to Docker: 16GB RAM, 2+ CPUs, 100GB Disk
Also requires docker compose version 1.27+

To Run:

Please see our documentation at https://openc3.com

Try it out and let us know what you think! Please submit any issues as Github tickets, or any generic feedback to support@openc3.com.

Thanks!

Full Changelog: Changelog

Don't miss a new cosmos release

NewReleases is sending notifications on new releases.