F´ Flight Software - C/C++ Documentation  devel
A framework for building embedded system applications to NASA flight quality standards.
Event.hpp
Go to the documentation of this file.
1 // File: Event.hpp
2 // Author: Nathan Serafin (nathan.serafin@jpl.nasa.gov)
3 // Date: 27 July, 2018
4 //
5 // OS-independent wrapper for events.
6 
7 #ifndef EVENT_HPP
8 #define EVENT_HPP
9 
10 #include <FpConfig.hpp>
11 #include <Os/TaskId.hpp>
12 
13 namespace Os {
14  class Event {
15  public:
16  enum Timeout {
19  };
20 
21  enum Options {
26  EV_EVENTS_FETCH = 0x80U,
27  };
28 
29  static I32 send(const TaskId& tid, const U32 events);
30  static I32 receive(const U32 events, const U8 options,
31  const I32 timeout, U32* eventsReceived);
32  static I32 clear();
33  };
34 }
35 
36 #endif
uint8_t U8
8-bit unsigned integer
Definition: BasicTypes.h:26
C++-compatible configuration header for fprime configuration.
@ EV_EVENTS_WAIT_ANY
Definition: Event.hpp:23
@ EV_EVENTS_WAIT_ALL
Definition: Event.hpp:22
@ EV_EVENTS_RETURN_ALL
Definition: Event.hpp:24
@ EV_EVENTS_FETCH
Definition: Event.hpp:26
@ EV_EVENTS_KEEP_UNWANTED
Definition: Event.hpp:25
@ EV_NO_WAIT
Definition: Event.hpp:17
@ EV_WAIT_FOREVER
Definition: Event.hpp:18
static I32 clear()
static I32 receive(const U32 events, const U8 options, const I32 timeout, U32 *eventsReceived)
static I32 send(const TaskId &tid, const U32 events)
Definition: File.cpp:6