Expand description
The kernel interface.
Not to be confused with r3_kernel
, a kernel implementation.
Modules
Kernel configuration
Event groups
Hooks
Hunks
Interrupt lines and handlers
Mutexes
The low-level kernel interface to be implemented by a kernel implementor.
The low-level kernel static configuration interface to be implemented by a kernel implementor.
Semaphores
Tasks
Timers
Re-exports all traits defined under this module for convenience.
Structs
Wraps a raw_cfg::CfgBase
to provide higher-level services.
Represents a single owned event group in a system.
Represents a single borrowed event group in a system.
Options for EventGroup::wait
.
Represents a single hunk in a system.
Refers to an interrupt line in a system.
A non-Send
, 'static
task reference. The lack of Send
-ness constrains
its lifetime to the owning task and thus allows it to represent a current
task safely.
Represents a single mutex in a system.
Represents a single borrowed mutex in a system.
Represents a single semaphore in a system.
Represents a single borrowed semaphore in a system.
Represents a registered startup hook in a system.
Represents a registered (second-level) interrupt handler in a system.
Represents a single task in a system.
Represents a single borrowed task in a system.
Represents a single timer in a system.
Represents a single borrowed 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 LocalTask::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 the one indicating success) that a kernel function 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
.
Traits
A group of traits that must be implemented by kernel object ID types,
including KernelBase::RawTaskId
.
Provides access to the global functionalities of a kernel.
Type Definitions
Unsigned integer type backing event groups.
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.
A static handle type: EventGroupRef
<'static, System>
A static handle type: MutexRef
<'static, System>
A static handle type: SemaphoreRef
<'static, System>
A static handle type: TaskRef
<'static, System>
A static handle type: TimerRef
<'static, System>