#[macro_use]
mod macros;
pub mod cfg;
mod error;
pub mod event_group;
mod global;
pub mod hook;
pub mod hunk;
pub mod interrupt;
pub mod mutex;
pub mod raw;
pub mod raw_cfg;
pub mod semaphore;
pub mod task;
pub mod timer;
pub use {
cfg::Cfg,
error::*,
event_group::{
EventGroup, EventGroupBits, EventGroupRef, EventGroupWaitFlags, StaticEventGroup,
},
global::*,
hook::StartupHook,
hunk::Hunk,
interrupt::{InterruptLine, InterruptNum, InterruptPriority, StaticInterruptHandler},
mutex::{Mutex, MutexProtocol, MutexRef, StaticMutex},
raw::{Id, QueueOrder},
semaphore::{Semaphore, SemaphoreRef, SemaphoreValue, StaticSemaphore},
task::{LocalTask, StaticTask, Task, TaskRef},
timer::{StaticTimer, Timer, TimerRef},
};
#[doc = include_str!("../common.md")]
pub mod prelude {
#[doc(no_inline)]
pub use super::{
event_group::{EventGroupHandle as _, EventGroupMethods as _},
mutex::{MutexHandle as _, MutexMethods as _},
semaphore::{SemaphoreHandle as _, SemaphoreMethods as _},
task::{TaskHandle as _, TaskMethods as _},
timer::{TimerHandle as _, TimerMethods as _},
Kernel as _,
};
}
pub mod traits {
#[doc(no_inline)]
pub use super::{
cfg::{CfgStatic, KernelStatic},
event_group::{EventGroupHandle, EventGroupMethods},
mutex::{MutexHandle, MutexMethods},
raw::{
KernelAdjustTime, KernelBase, KernelBoostPriority, KernelEventGroup,
KernelInterruptLine, KernelMutex, KernelSemaphore, KernelTaskSetPriority, KernelTime,
KernelTimer,
},
raw_cfg::{
CfgBase, CfgEventGroup, CfgInterruptLine, CfgMutex, CfgSemaphore, CfgTask, CfgTimer,
},
semaphore::{SemaphoreHandle, SemaphoreMethods},
task::{TaskHandle, TaskMethods},
timer::{TimerHandle, TimerMethods},
Kernel,
};
}