Module r3::kernel [−][src]
Expand description
The RTOS kernel
Modules
Static configuration mechanism for the kernel
Structs
Represents a single event group in a system.
Options for EventGroup::wait
.
Represents a single hunk in a system.
Represents a registered (second-level) interrupt handler in a system.
Refers to an interrupt line in a system.
The object returned by Kernel::debug
. Implements fmt::Debug
.
Represents a single mutex in a system.
Represents a single semaphore in a system.
Represents a registered startup hook in a system.
Global kernel state.
Represents a single task in a system.
The static properties of a task.
Task control block - the state data of a task.
Represents a single timer in a system.
Enums
Error type for Task::activate
.
Error type for Kernel::adjust_time
.
Error type for Kernel::boost_priority
and
Kernel::unboost_priority
.
Error type for InterruptLine::clear
.
Error type for Kernel::acquire_cpu_lock
and
Kernel::release_cpu_lock
.
Error type for Semaphore::drain
.
Error type for InterruptLine::enable
and InterruptLine::disable
.
Error type for Kernel::exit_task
.
Error type for Task::current
.
Error type for EventGroup::get
.
Error type for Semaphore::get
.
Error type for Task::priority
.
Error type for Task::interrupt
.
Error type for Mutex::lock
.
Error type for Mutex::lock_timeout
.
Error type for Mutex::mark_consistent
.
Specifies the locking protocol to be followed by a mutex.
Error type for Kernel::park
.
Error type for Kernel::park_timeout
.
Error type for InterruptLine::pend
.
Error type for EventGroup::poll
.
Error type for Semaphore::poll_one
.
Error type for InterruptLine::is_pending
.
Error type for Mutex::is_locked
.
Specifies the sorting order of a wait queue.
All result codes (including success) that the C API can return.
Error type for InterruptLine::set_priority
and
InterruptLine::set_priority_unchecked
.
Error type for Task::set_priority
.
Error type for Timer::set_delay
.
Error type for Timer::set_period
.
Error type for Semaphore::signal
.
Error type for Kernel::sleep
.
Error type for Timer::start
.
Error type for Timer::stop
.
Error type for Kernel::time
and
Kernel::set_time
.
Error type for Mutex::try_lock
.
Error type for Mutex::unlock
.
Error type for Task::unpark
.
Error type for Task::unpark_exact
.
Error type for EventGroup::set
and EventGroup::clear
.
Error type for wait operations such as EventGroup::wait
.
Error type for EventGroup::wait
.
Error type for EventGroup::wait_timeout
.
Error type for Semaphore::wait_one
.
Error type for Semaphore::wait_one_timeout
.
Error type for wait operations with timeout such as
EventGroup::wait_timeout
.
Constants
The extent of how overdue the firing of timer_tick
can be without
breaking the kernel timing algorithm.
The extent of how overdue a timed event can be made or how far a timed event
can be delayed past Duration::MAX
by a call to adjust_time
.
Traits
Provides access to the global API functions exposed by the kernel.
Associates “system” types with kernel-private data. Use build!
to
implement.
Associates “system” types with kernel-private data. Use build!
to
implement.
Represents a particular group of traits that a port should implement.
Implemented by a port. This trait contains items related to controlling interrupt lines.
Implemented by a port. This trait contains items related to low-level operations for controlling CPU states and context switching.
Implemented by a port. This trait contains items related to controlling a system timer.
Methods intended to be called by a port.
Type Definitions
Unsigned integer type backing event groups.
Numeric value used to identify various kinds of kernel objects.
Numeric value used to identify interrupt lines.
Priority value for an interrupt line.
Unsigned integer type representing the number of permits held by a semaphore.
Unsigned integer type representing a tick count used by a port timer driver. The period of each tick is fixed at one microsecond.