Module vex_rt::rtos

source ·
Expand description

Multitasking primitives.

Structs

Represents a source of data which notifies listeners on a new value.
Provides a means of listening to updates from a Broadcast event.
Wraps a DataSource, exposing the ability to broadcast readings.
Represents an ongoing operation which could be cancelled in the future. Inspired by contexts in the Go programming language.
Provides a wrapper for Context objects which permits the management of sequential, non-overlapping contexts.
Represents a self-maintaining set of tasks to notify when an event occurs.
Represents a handle into the listing of the current task in an Event. When this handle is dropped, that task is removed from the event’s set.
Represents a time on a monotonically increasing clock (i.e., time since program start).
Provides a constant-period looping construct.
Represents an object which is protected by a FreeRTOS recursive mutex.
Provides exclusive access to an object controlled by a Mutex via the RAII pattern.
Represents an ongoing operation which produces a result.
Represents the receive end of a rendez-vous channel.
Represents the receive end of a message-passing queue.
Represents a FreeRTOS counting semaphore.
Represents the sending end of a rendez-vous channel.
Represents the sending end of a message-passing queue.
Represents a FreeRTOS task.

Enums

Represents a future time to sleep until.
Represents the state of a Task.

Traits

Describes an object which is a source of data, such as a sensor.
Extension trait for converting any DataSource into a BroadcastWrapper to facilitate broadcasting readings.
Describes an object from which a child context can be created. Implemented for contexts and for slices of contexts.
Represents a future event which can be used with the select! macro.

Functions

Creates a new send-receive pair together representing a rendez-vous channel. Panics on failure; see try_channel.
Creates a new Selectable event which completes after the given duration of time.
Creates a new Selectable event which completes at the given timestamp.
Adds the current task to the notification set for an Event, acquiring an EventHandle to manage the lifetime of that entry.
Creates a new send-receive pair together representing a message-passing queue, based on the given underlying queue structure. Panics on failure; see try_queue.
Awaits a Selectable event.
Creates a new Selectable event which processes exactly one of the given events.
Creates a new Selectable event by mapping the result of a given one.
Creates a new Selectable event which never completes if the given base event is None.
Gets the current timestamp (i.e., the time which has passed since program start).
Creates a new send-receive pair together representing a rendez-vous channel.
Creates a new send-receive pair together representing a message-passing queue, based on the given underlying queue structure.

Type Definitions

The send/receive pair type returned by queue() and try_queue() for a given queue type.