Module rtos

Module rtos 

Source
Expand description

Multitasking primitives.

Structs§

Broadcast
Represents a source of data which notifies listeners on a new value.
BroadcastListener
Provides a means of listening to updates from a Broadcast event.
BroadcastWrapper
Wraps a DataSource, exposing the ability to broadcast readings.
Context
Represents an ongoing operation which could be cancelled in the future. Inspired by contexts in the Go programming language.
ContextWrapper
Provides a wrapper for Context objects which permits the management of sequential, non-overlapping contexts.
Event
Represents a self-maintaining set of tasks to notify when an event occurs.
EventHandle
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.
Instant
Represents a time on a monotonically increasing clock (i.e., time since program start).
Loop
Provides a constant-period looping construct.
Mutex
Represents an object which is protected by a FreeRTOS recursive mutex.
MutexGuard
Provides exclusive access to an object controlled by a Mutex via the RAII pattern.
Promise
Represents an ongoing operation which produces a result.
ReceiveChannel
Represents the receive end of a rendez-vous channel.
ReceiveQueue
Represents the receive end of a message-passing queue.
Semaphore
Represents a FreeRTOS counting semaphore.
SendChannel
Represents the sending end of a rendez-vous channel.
SendQueue
Represents the sending end of a message-passing queue.
Task
Represents a FreeRTOS task.

Enums§

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

Traits§

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

Functions§

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

Type Aliases§

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