cFE Event Service

Note: We're working on getting new videos together. In the meantime, go ahead and turn up your volume.

 

Motivation

Let's say you want your system to tell you when things happen. Some quick examples:

1. You want to know when the solar array mechanism is turned on

2. You want to know when the computer restarted

3. You want to know when the vehicle took a picture


Some of your "Events" may be critical and some may be informational. You'd want to know anytime the computer restarted but maybe you don't care that much that it took a picture if you're taking thousands of them. So you'd want to be able to assign a label to events so you could filter things out.

And, finally, you might want your vehicle to react if a critical event happens. For example, maybe your system is way too hot and something needs to shut down immediately before you fry everything. So, for some events, you'd want to assign a sequence of actions.

The part of cFS that handles all of this for you is the "Events Services" module. This is another great package that solves a problem that every vehicle ever made has to solve: giving your system a way to tell you what's going on.

 

Quick Notes

- The Event Services module lets you send, filter, and log event messages. These are time-stamped messages that can be given labels such as Debug, Informational, Error, and Critical.

- Your apps can subscribe to event messages as they can to any other data source. So you can have a function that subscribes, for instance, to an event message saying the power levels went below a threshold. When the function gets that notice, it can turn things off to protect your power levels.

- The Event Service is abbreviated as "EVS", which you'll see in the code as "evs". Note that "ES" means Executive Services, so be careful to not mix them.