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 ofSend
-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
andKernel::unboost_priority
. - Error type for
InterruptLine::clear
. - Error type for
Kernel::acquire_cpu_lock
andKernel::release_cpu_lock
. - Error type for
Semaphore::drain
. - Error type for
InterruptLine::enable
andInterruptLine::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
andInterruptLine::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
andKernel::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
andEventGroup::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.