|
Mark3 Realtime Kernel
|
Header providing C-language API bindings for the Mark3 kernel. More...
Go to the source code of this file.
Macros | |
| #define | THREAD_SIZE (sizeof(Fake_Thread)) |
| #define | TIMER_SIZE (sizeof(Fake_Timer)) |
| #define | SEMAPHORE_SIZE (sizeof(Fake_Semaphore)) |
| #define | MUTEX_SIZE (sizeof(Fake_Mutex)) |
| #define | MESSAGE_SIZE (sizeof(Fake_Message)) |
| #define | MESSAGEQUEUE_SIZE (sizeof(Fake_MessageQueue)) |
| #define | MAILBOX_SIZE (sizeof(Fake_Mailbox)) |
| #define | NOTIFY_SIZE (sizeof(Fake_Notify)) |
| #define | MESSAGEPOOL_SIZE (sizeof(Fake_MessagePool)) |
| #define | CONDITIONVARIABLE_SIZE (sizeof(Fake_ConditionVariable)) |
| #define | READERWRITERLOCK_SIZE (sizeof(Fake_ReaderWriterLock)) |
| #define | COROUTINE_SIZE (sizeof(Fake_Coroutine)) |
| #define | TOKEN_1(x, y) x##y |
| #define | TOKEN_2(x, y) TOKEN_1(x, y) |
| #define | WORD_ROUND(x) (((x) + (sizeof(K_WORD) - 1)) / sizeof(K_WORD)) |
| #define | DECLARE_THREAD(name) |
| #define | DECLARE_TIMER(name) |
| #define | DECLARE_SEMAPHORE(name) |
| #define | DECLARE_MUTEX(name) |
| #define | DECLARE_MESSAGE(name) |
| #define | DECLARE_MESSAGEPOOL(name) |
| #define | DECLARE_MESSAGEQUEUE(name) |
| #define | DECLARE_MAILBOX(name) |
| #define | DECLARE_NOTIFY(name) |
| #define | DECLARE_CONDITIONVARIABLE(name) |
| #define | DECLARE_READERWRITERLOCK(name) |
| #define | DECLARE_COROUTINE(name) |
Typedefs | |
| typedef void * | Mailbox_t |
| Mailbox opaque handle data type. More... | |
| typedef void * | Message_t |
| Message opaque handle data type. More... | |
| typedef void * | MessagePool_t |
| MessagePool opaque handle data type. More... | |
| typedef void * | MessageQueue_t |
| MessageQueue opaque handle data type. More... | |
| typedef void * | Mutex_t |
| Mutex opaque handle data type. More... | |
| typedef void * | Notify_t |
| Notification object opaque handle data type. More... | |
| typedef void * | Semaphore_t |
| Semaphore opaque handle data type. More... | |
| typedef void * | Thread_t |
| Thread opaque handle data type. More... | |
| typedef void * | Timer_t |
| Timer opaque handle data type. More... | |
| typedef void * | ConditionVariable_t |
| Condition Variable opaque handle data type. More... | |
| typedef void * | ReaderWriterLock_t |
| Reader-writer-lock opaque handle data type. More... | |
| typedef void * | Coroutine_t |
| Coroutine opaaque handle data type. More... | |
| typedef void(* | kernel_debug_print_t) (const char *szString_) |
| typedef void(* | coroutine_callback_t) (Coroutine_t caller, void *pvContext) |
| typedef void(* | panic_func_t) (uint16_t u16PanicCode_) |
| typedef void(* | thread_entry_func_t) (void *pvArg_) |
| typedef void(* | timer_callback_t) (Thread_t hOwner_, void *pvData_) |
Enumerations | |
| enum | thread_state_t { THREAD_STATE_EXIT = 0, THREAD_STATE_READY, THREAD_STATE_BLOCKED, THREAD_STATE_STOP, THREAD_STATE_INVALID } |
Functions | |
| void * | Alloc_Memory (size_t eSize_) |
| Alloc_Memory. More... | |
| void | Free_Memory (void *pvObject_) |
| Free_Memory. More... | |
| Semaphore_t | Alloc_Semaphore (void) |
| Alloc_Semaphore. More... | |
| void | Free_Semaphore (Semaphore_t handle) |
| Mutex_t | Alloc_Mutex (void) |
| Alloc_Mutex. More... | |
| void | Free_Mutex (Mutex_t handle) |
| Message_t | Alloc_Message (void) |
| Alloc_Message. More... | |
| void | Free_Message (Message_t handle) |
| MessageQueue_t | Alloc_MessageQueue (void) |
| Alloc_MessageQueue. More... | |
| void | Free_MessageQueue (MessageQueue_t handle) |
| MessagePool_t | Alloc_MessagePool (void) |
| void | Free_MessagePool (MessagePool_t handle) |
| Notify_t | Alloc_Notify (void) |
| Alloc_Notify. More... | |
| void | Free_Notify (Notify_t handle) |
| Mailbox_t | Alloc_Mailbox (void) |
| Alloc_Mailbox. More... | |
| void | Free_Mailbox (Mailbox_t handle) |
| Thread_t | Alloc_Thread (void) |
| Alloc_Thread. More... | |
| void | Free_Thread (Thread_t handle) |
| Timer_t | Alloc_Timer (void) |
| Alloc_Timer. More... | |
| void | Free_Timer (Timer_t handle) |
| void | Kernel_Init (void) |
| Kernel_Init. More... | |
| void | Kernel_Start (void) |
| Kernel_Start. More... | |
| bool | Kernel_IsStarted (void) |
| Kernel_IsStarted. More... | |
| void | Kernel_SetPanic (panic_func_t pfPanic_) |
| Kernel_SetPanic. More... | |
| bool | Kernel_IsPanic (void) |
| Kernel_IsPanic. More... | |
| void | Kernel_Panic (uint16_t u16Cause_) |
| Kernel_Panic. More... | |
| uint32_t | Kernel_GetTicks (void) |
| Kernel_GetTicks. More... | |
| void | Scheduler_Enable (bool bEnable_) |
| Scheduler_Enable. More... | |
| bool | Scheduler_IsEnabled (void) |
| Scheduler_IsEnabled. More... | |
| Thread_t | Scheduler_GetCurrentThread (void) |
| Scheduler_GetCurrentThread. More... | |
| void | Thread_Init (Thread_t handle, K_WORD *pwStack_, uint16_t u16StackSize_, PORT_PRIO_TYPE uXPriority_, thread_entry_func_t pfEntryPoint_, void *pvArg_) |
| Thread_Init. More... | |
| void | Thread_Start (Thread_t handle) |
| Thread_Start. More... | |
| void | Thread_Stop (Thread_t handle) |
| Thread_Stop. More... | |
| PORT_PRIO_TYPE | Thread_GetPriority (Thread_t handle) |
| Thread_GetPriority. More... | |
| PORT_PRIO_TYPE | Thread_GetCurPriority (Thread_t handle) |
| Thread_GetCurPriority. More... | |
| void | Thread_SetPriority (Thread_t handle, PORT_PRIO_TYPE uXPriority_) |
| Thread_SetPriority. More... | |
| void | Thread_Exit (Thread_t handle) |
| Thread_Exit. More... | |
| void | Thread_Sleep (uint32_t u32TimeMs_) |
| Thread_Sleep. More... | |
| void | Thread_Yield (void) |
| Thread_Yield. More... | |
| void | Thread_CoopYield (void) |
| Thread_CoopYield. More... | |
| void | Thread_SetID (Thread_t handle, uint8_t u8ID_) |
| Thread_SetID. More... | |
| uint8_t | Thread_GetID (Thread_t handle) |
| Thread_GetID. More... | |
| thread_state_t | Thread_GetState (Thread_t handle) |
| Thread_GetState. More... | |
| void | Timer_Init (Timer_t handle) |
| Timer_Init. More... | |
| void | Timer_Start (Timer_t handle, bool bRepeat_, uint32_t u32IntervalMs_, timer_callback_t pfCallback_, void *pvData_) |
| Timer_Start. More... | |
| void | Timer_Restart (Timer_t handle) |
| Timer_Restart. More... | |
| void | Timer_Stop (Timer_t handle) |
| Timer_Stop. More... | |
| void | Semaphore_Init (Semaphore_t handle, uint16_t u16InitVal_, uint16_t u16MaxVal_) |
| Semaphore_Init. More... | |
| void | Semaphore_Post (Semaphore_t handle) |
| Semaphore_Post. More... | |
| void | Semaphore_Pend (Semaphore_t handle) |
| Semaphore_Pend. More... | |
| bool | Semaphore_TimedPend (Semaphore_t handle, uint32_t u32WaitTimeMS_) |
| Semaphore_TimedPend. More... | |
| void | Mutex_Init (Mutex_t handle) |
| Mutex_Init. More... | |
| void | Mutex_Claim (Mutex_t handle) |
| Mutex_Claim. More... | |
| void | Mutex_Release (Mutex_t handle) |
| Mutex_Release. More... | |
| bool | Mutex_TimedClaim (Mutex_t handle, uint32_t u32WaitTimeMS_) |
| Mutex_TimedClaim. More... | |
| void | Notify_Init (Notify_t handle) |
| Notify_Init. More... | |
| void | Notify_Signal (Notify_t handle) |
| Notify_Signal. More... | |
| void | Notify_Wait (Notify_t handle, bool *pbFlag_) |
| Notify_Wait. More... | |
| bool | Notify_TimedWait (Notify_t handle, uint32_t u32WaitTimeMS_, bool *pbFlag_) |
| Notify_TimedWait. More... | |
| uint8_t | Atomic_Set8 (uint8_t *pu8Source_, uint8_t u8Val_) |
| Atomic_Set8. More... | |
| uint16_t | Atomic_Set16 (uint16_t *pu16Source_, uint16_t u16Val_) |
| Atomic_Set16. More... | |
| uint32_t | Atomic_Set32 (uint32_t *pu32Source_, uint32_t u32Val_) |
| Atomic_Set32. More... | |
| uint8_t | Atomic_Add8 (uint8_t *pu8Source_, uint8_t u8Val_) |
| Atomic_Add8. More... | |
| uint16_t | Atomic_Add16 (uint16_t *pu16Source_, uint16_t u16Val_) |
| Atomic_Add16. More... | |
| uint32_t | Atomic_Add32 (uint32_t *pu32Source_, uint32_t u32Val_) |
| Atomic_Add32. More... | |
| uint8_t | Atomic_Sub8 (uint8_t *pu8Source_, uint8_t u8Val_) |
| Atomic_Sub8. More... | |
| uint16_t | Atomic_Sub16 (uint16_t *pu16Source_, uint16_t u16Val_) |
| Atomic_Sub16. More... | |
| uint32_t | Atomic_Sub32 (uint32_t *pu32Source_, uint32_t u32Val_) |
| Atomic_Sub32. More... | |
| bool | Atomic_TestAndSet (bool *pbLock) |
| Atomic_TestAndSet. More... | |
| void | Message_Init (Message_t handle) |
| Message_Init. More... | |
| void | Message_SetData (Message_t handle, void *pvData_) |
| Message_SetData. More... | |
| void * | Message_GetData (Message_t handle) |
| Message_GetData. More... | |
| void | Message_SetCode (Message_t handle, uint16_t u16Code_) |
| Message_SetCode. More... | |
| uint16_t | Message_GetCode (Message_t handle) |
| Message_GetCode. More... | |
| void | MessageQueue_Init (MessageQueue_t handle) |
| MessageQueue_Init. More... | |
| Message_t | MessageQueue_Receive (MessageQueue_t handle) |
| MessageQueue_Receive. More... | |
| Message_t | MessageQueue_TimedReceive (MessageQueue_t handle, uint32_t u32TimeWaitMS_) |
| MessageQueue_TimedReceive. More... | |
| void | MessageQueue_Send (MessageQueue_t handle, Message_t hMessage_) |
| MessageQueue_Send. More... | |
| uint16_t | MessageQueue_GetCount (MessageQueue_t handle) |
| MessageQueue_GetCount. More... | |
| void | MessagePool_Init (MessagePool_t handle) |
| MessagePool_Init. More... | |
| void | MessagePool_Push (MessagePool_t handle, Message_t msg) |
| MessagePool_Push. More... | |
| Message_t | MessagePool_Pop (MessagePool_t handle) |
| MessagePool_Pop. More... | |
| void | Mailbox_Init (Mailbox_t handle, void *pvBuffer_, uint16_t u16BufferSize_, uint16_t u16ElementSize_) |
| Mailbox_Init. More... | |
| bool | Mailbox_Send (Mailbox_t handle, void *pvData_) |
| Mailbox_Send. More... | |
| bool | Mailbox_SendTail (Mailbox_t handle, void *pvData_) |
| Mailbox_SendTail. More... | |
| bool | Mailbox_TimedSend (Mailbox_t handle, void *pvData_, uint32_t u32TimeoutMS_) |
| Mailbox_TimedSend. More... | |
| bool | Mailbox_TimedSendTail (Mailbox_t handle, void *pvData_, uint32_t u32TimeoutMS_) |
| Mailbox_TimedSendTail. More... | |
| void | Mailbox_Receive (Mailbox_t handle, void *pvData_) |
| Mailbox_Receive. More... | |
| void | Mailbox_ReceiveTail (Mailbox_t handle, void *pvData_) |
| Mailbox_ReceiveTail. More... | |
| bool | Mailbox_TimedReceive (Mailbox_t handle, void *pvData_, uint32_t u32TimeoutMS_) |
| Mailbox_TimedReceive. More... | |
| bool | Mailbox_TimedReceiveTail (Mailbox_t handle, void *pvData_, uint32_t u32TimeoutMS_) |
| Mailbox_TimedReceiveTail. More... | |
| uint16_t | Mailbox_GetFreeSlots (Mailbox_t handle) |
| Mailbox_GetFreeSlots. More... | |
| bool | Mailbox_IsFull (Mailbox_t handle) |
| Mailbox_IsFull. More... | |
| bool | Mailbox_IsEmpty (Mailbox_t handle) |
| Mailbox_IsEmpty. More... | |
| void | ConditionVariable_Init (ConditionVariable_t handle) |
| ConditionVariable_Init. More... | |
| void | ConditionVariable_Wait (ConditionVariable_t handle, Mutex_t hMutex_) |
| ConditionVariable_Wait. More... | |
| void | ConditionVariable_Signal (ConditionVariable_t handle) |
| ConditionVariable_Signal. More... | |
| void | ConditionVariable_Broadcast (ConditionVariable_t handle) |
| ConditionVariable_Broadcast. More... | |
| bool | ConditionVariable_TimedWait (ConditionVariable_t handle, Mutex_t hMutex_, uint32_t u32WaitTimeMS_) |
| ConditionVariable_TimedWait. More... | |
| void | ReaderWriterLock_Init (ReaderWriterLock_t handle) |
| ReaderWriterLock_Init. More... | |
| void | ReaderWriterLock_AcquireReader (ReaderWriterLock_t handle) |
| ReaderWriterLock_AcquireReader. More... | |
| void | ReaderWriterLock_ReleaseReader (ReaderWriterLock_t handle) |
| ReaderWriterLock_ReleaseReader. More... | |
| void | ReaderWriterLock_AcquireWriter (ReaderWriterLock_t handle) |
| ReaderWriterLock_AcquireWriter. More... | |
| void | ReaderWriterLock_ReleaseWriter (ReaderWriterLock_t handle) |
| ReaderWriterLock_ReleaseWriter. More... | |
| bool | ReaderWriterLock_TimedAcquireWriter (ReaderWriterLock_t handle, uint32_t u32TimeoutMs_) |
| ReaderWriterLock_TimedAcquireWriter. More... | |
| bool | ReaderWriterLock_TimedAcquireReader (ReaderWriterLock_t handle, uint32_t u32TimeoutMs_) |
| ReaderWriterLock_TimedAcquireReader. More... | |
| void | Kernel_SetDebugPrintFunction (kernel_debug_print_t pfPrintFunction_) |
| Kernel_SetDebugPrintFunction. More... | |
| void | Kernel_DebugPrint (const char *szString_) |
| KernelDebug_DebugPrint. More... | |
| #define CONDITIONVARIABLE_SIZE (sizeof(Fake_ConditionVariable)) |
| #define DECLARE_CONDITIONVARIABLE | ( | name | ) |
| #define DECLARE_COROUTINE | ( | name | ) |
| #define DECLARE_MAILBOX | ( | name | ) |
| #define DECLARE_MESSAGE | ( | name | ) |
| #define DECLARE_MESSAGEPOOL | ( | name | ) |
| #define DECLARE_MESSAGEQUEUE | ( | name | ) |
| #define DECLARE_MUTEX | ( | name | ) |
| #define DECLARE_NOTIFY | ( | name | ) |
| #define DECLARE_READERWRITERLOCK | ( | name | ) |
| #define DECLARE_SEMAPHORE | ( | name | ) |
| #define DECLARE_THREAD | ( | name | ) |
| #define DECLARE_TIMER | ( | name | ) |
| #define READERWRITERLOCK_SIZE (sizeof(Fake_ReaderWriterLock)) |
| typedef void* ConditionVariable_t |
| typedef void(* coroutine_callback_t) (Coroutine_t caller, void *pvContext) |
| typedef void* Coroutine_t |
| typedef void(* kernel_debug_print_t) (const char *szString_) |
| typedef void* MessagePool_t |
| typedef void* MessageQueue_t |
| typedef void* Notify_t |
| typedef void* ReaderWriterLock_t |
| typedef void* Semaphore_t |
| typedef void(* timer_callback_t) (Thread_t hOwner_, void *pvData_) |
| enum thread_state_t |
Define the various states that a thread can be in
| Mailbox_t Alloc_Mailbox | ( | void | ) |
Alloc_Mailbox.
Definition at line 123 of file mark3c.cpp.
| void* Alloc_Memory | ( | size_t | eSize_ | ) |
Alloc_Memory.
| eSize_ | Size in bytes to allocate from the one-time-allocate heap |
| Message_t Alloc_Message | ( | void | ) |
Alloc_Message.
Definition at line 76 of file mark3c.cpp.
| MessagePool_t Alloc_MessagePool | ( | void | ) |
Definition at line 100 of file mark3c.cpp.
| MessageQueue_t Alloc_MessageQueue | ( | void | ) |
Alloc_MessageQueue.
Definition at line 88 of file mark3c.cpp.
| Mutex_t Alloc_Mutex | ( | void | ) |
Alloc_Mutex.
Definition at line 52 of file mark3c.cpp.
| Notify_t Alloc_Notify | ( | void | ) |
Alloc_Notify.
Definition at line 112 of file mark3c.cpp.
| Semaphore_t Alloc_Semaphore | ( | void | ) |
Alloc_Semaphore.
Definition at line 40 of file mark3c.cpp.
| Thread_t Alloc_Thread | ( | void | ) |
Alloc_Thread.
Definition at line 156 of file mark3c.cpp.
| Timer_t Alloc_Timer | ( | void | ) |
Alloc_Timer.
Definition at line 167 of file mark3c.cpp.
| uint16_t Atomic_Add16 | ( | uint16_t * | pu16Source_, |
| uint16_t | u16Val_ | ||
| ) |
Atomic_Add16.
| pu16Source_ | Pointer to a variable |
| u16Val_ | Value to add to the variable |
Definition at line 649 of file mark3c.cpp.
| uint32_t Atomic_Add32 | ( | uint32_t * | pu32Source_, |
| uint32_t | u32Val_ | ||
| ) |
Atomic_Add32.
| pu32Source_ | Pointer to a variable |
| u32Val_ | Value to add to the variable |
Definition at line 655 of file mark3c.cpp.
| uint8_t Atomic_Add8 | ( | uint8_t * | pu8Source_, |
| uint8_t | u8Val_ | ||
| ) |
Atomic_Add8.
| pu8Source_ | Pointer to a variable |
| u8Val_ | Value to add to the variable |
Definition at line 643 of file mark3c.cpp.
| uint16_t Atomic_Set16 | ( | uint16_t * | pu16Source_, |
| uint16_t | u16Val_ | ||
| ) |
Atomic_Set16.
| pu16Source_ | Pointer to a variable to set the value of |
| u16Val_ | New value to set in the variable |
Definition at line 631 of file mark3c.cpp.
| uint32_t Atomic_Set32 | ( | uint32_t * | pu32Source_, |
| uint32_t | u32Val_ | ||
| ) |
Atomic_Set32.
| pu32Source_ | Pointer to a variable to set the value of |
| u32Val_ | New value to set in the variable |
Definition at line 637 of file mark3c.cpp.
| uint8_t Atomic_Set8 | ( | uint8_t * | pu8Source_, |
| uint8_t | u8Val_ | ||
| ) |
Atomic_Set8.
| pu8Source_ | Pointer to a variable to set the value of |
| u8Val_ | New value to set in the variable |
Definition at line 625 of file mark3c.cpp.
| uint16_t Atomic_Sub16 | ( | uint16_t * | pu16Source_, |
| uint16_t | u16Val_ | ||
| ) |
Atomic_Sub16.
| pu16Source_ | Pointer to a variable |
| u16Val_ | Value to subtract from the variable |
Definition at line 667 of file mark3c.cpp.
| uint32_t Atomic_Sub32 | ( | uint32_t * | pu32Source_, |
| uint32_t | u32Val_ | ||
| ) |
Atomic_Sub32.
| pu32Source_ | Pointer to a variable |
| u32Val_ | Value to subtract from the variable |
Definition at line 673 of file mark3c.cpp.
| uint8_t Atomic_Sub8 | ( | uint8_t * | pu8Source_, |
| uint8_t | u8Val_ | ||
| ) |
Atomic_Sub8.
| pu8Source_ | Pointer to a variable |
| u8Val_ | Value to subtract from the variable |
Definition at line 661 of file mark3c.cpp.
| bool Atomic_TestAndSet | ( | bool * | pbLock | ) |
Atomic_TestAndSet.
| pbLock | Pointer to a value to test against. This will always be set to "true" at the end of a call to TestAndSet. |
Definition at line 679 of file mark3c.cpp.
| void ConditionVariable_Broadcast | ( | ConditionVariable_t | handle | ) |
ConditionVariable_Broadcast.
| handle | Handle of the condition variable object |
Definition at line 885 of file mark3c.cpp.
| void ConditionVariable_Init | ( | ConditionVariable_t | handle | ) |
ConditionVariable_Init.
| handle | Handle of the condition variable object |
Definition at line 866 of file mark3c.cpp.
| void ConditionVariable_Signal | ( | ConditionVariable_t | handle | ) |
ConditionVariable_Signal.
| handle | Handle of the condition variable object |
Definition at line 879 of file mark3c.cpp.
| bool ConditionVariable_TimedWait | ( | ConditionVariable_t | handle, |
| Mutex_t | hMutex_, | ||
| uint32_t | u32WaitTimeMS_ | ||
| ) |
ConditionVariable_TimedWait.
| handle | Handle of the condition variable object |
| hMutex_ | Handle of the mutex to lock on acquisition of the condition variable |
| u32WaitTimeMS_ | Maximum time to wait for object |
Definition at line 891 of file mark3c.cpp.
| void ConditionVariable_Wait | ( | ConditionVariable_t | handle, |
| Mutex_t | hMutex_ | ||
| ) |
ConditionVariable_Wait.
| handle | Handle of the condition variable object |
| hMutex_ | Handle of the mutex to lock on acquisition of the condition variable |
Definition at line 872 of file mark3c.cpp.
| void Free_Mailbox | ( | Mailbox_t | handle | ) |
Definition at line 128 of file mark3c.cpp.
| void Free_Memory | ( | void * | pvObject_ | ) |
Free_Memory.
| pvObject_ | Pointer to previously allocated block of memory |
Definition at line 34 of file mark3c.cpp.
| void Free_Message | ( | Message_t | handle | ) |
Definition at line 82 of file mark3c.cpp.
| void Free_MessagePool | ( | MessagePool_t | handle | ) |
Definition at line 106 of file mark3c.cpp.
| void Free_MessageQueue | ( | MessageQueue_t | handle | ) |
Definition at line 94 of file mark3c.cpp.
| void Free_Mutex | ( | Mutex_t | handle | ) |
Definition at line 58 of file mark3c.cpp.
| void Free_Notify | ( | Notify_t | handle | ) |
Definition at line 118 of file mark3c.cpp.
| void Free_Semaphore | ( | Semaphore_t | handle | ) |
Definition at line 46 of file mark3c.cpp.
| void Free_Thread | ( | Thread_t | handle | ) |
Definition at line 161 of file mark3c.cpp.
| void Free_Timer | ( | Timer_t | handle | ) |
Definition at line 172 of file mark3c.cpp.
| void Kernel_DebugPrint | ( | const char * | szString_ | ) |
KernelDebug_DebugPrint.
| szString_ | String to print to debug interface |
Definition at line 293 of file mark3c.cpp.
| uint32_t Kernel_GetTicks | ( | void | ) |
Kernel_GetTicks.
Definition at line 227 of file mark3c.cpp.
| void Kernel_Init | ( | void | ) |
| bool Kernel_IsPanic | ( | void | ) |
Kernel_IsPanic.
Definition at line 215 of file mark3c.cpp.
| bool Kernel_IsStarted | ( | void | ) |
Kernel_IsStarted.
Definition at line 203 of file mark3c.cpp.
| void Kernel_Panic | ( | uint16_t | u16Cause_ | ) |
Kernel_Panic.
| u16Cause_ | Reason for the kernel panic |
Definition at line 221 of file mark3c.cpp.
| void Kernel_SetDebugPrintFunction | ( | kernel_debug_print_t | pfPrintFunction_ | ) |
Kernel_SetDebugPrintFunction.
| pfPrintFunction_ | Function to use to print debug information from the kernel |
Definition at line 287 of file mark3c.cpp.
| void Kernel_SetPanic | ( | panic_func_t | pfPanic_ | ) |
Kernel_SetPanic.
| pfPanic_ | Panic function pointer |
Definition at line 209 of file mark3c.cpp.
| void Kernel_Start | ( | void | ) |
| uint16_t Mailbox_GetFreeSlots | ( | Mailbox_t | handle | ) |
Mailbox_GetFreeSlots.
| handle | Handle of the mailbox object |
Definition at line 843 of file mark3c.cpp.
| void Mailbox_Init | ( | Mailbox_t | handle, |
| void * | pvBuffer_, | ||
| uint16_t | u16BufferSize_, | ||
| uint16_t | u16ElementSize_ | ||
| ) |
Mailbox_Init.
| handle | Handle of the mailbox object |
| pvBuffer_ | Pointer to the static buffer to use for the mailbox |
| u16BufferSize_ | Size of the mailbox buffer, in bytes |
| u16ElementSize_ | Size of each envelope, in bytes |
Definition at line 780 of file mark3c.cpp.
| bool Mailbox_IsEmpty | ( | Mailbox_t | handle | ) |
Mailbox_IsEmpty.
| handle | Handle of the mailbox object |
Definition at line 857 of file mark3c.cpp.
| bool Mailbox_IsFull | ( | Mailbox_t | handle | ) |
Mailbox_IsFull.
| handle | Handle of the mailbox object |
Definition at line 850 of file mark3c.cpp.
| void Mailbox_Receive | ( | Mailbox_t | handle, |
| void * | pvData_ | ||
| ) |
Mailbox_Receive.
| handle | Handle of the mailbox object |
| pvData_ | Pointer to a buffer that will have the envelope's contents copied into upon delivery. |
Definition at line 815 of file mark3c.cpp.
| void Mailbox_ReceiveTail | ( | Mailbox_t | handle, |
| void * | pvData_ | ||
| ) |
Mailbox_ReceiveTail.
| handle | Handle of the mailbox object |
| pvData_ | Pointer to a buffer that will have the envelope's contents copied into upon delivery. |
Definition at line 822 of file mark3c.cpp.
| bool Mailbox_Send | ( | Mailbox_t | handle, |
| void * | pvData_ | ||
| ) |
Mailbox_Send.
| handle | Handle of the mailbox object |
| pvData_ | Pointer to the data object to send to the mailbox. |
Definition at line 787 of file mark3c.cpp.
| bool Mailbox_SendTail | ( | Mailbox_t | handle, |
| void * | pvData_ | ||
| ) |
Mailbox_SendTail.
| handle | Handle of the mailbox object |
| pvData_ | Pointer to the data object to send to the mailbox. |
Definition at line 794 of file mark3c.cpp.
| bool Mailbox_TimedReceive | ( | Mailbox_t | handle, |
| void * | pvData_, | ||
| uint32_t | u32TimeoutMS_ | ||
| ) |
Mailbox_TimedReceive.
| handle | Handle of the mailbox object |
| pvData_ | Pointer to a buffer that will have the envelope's contents copied into upon delivery. |
| u32TimeoutMS_ | Maximum time to wait for delivery. |
Definition at line 829 of file mark3c.cpp.
| bool Mailbox_TimedReceiveTail | ( | Mailbox_t | handle, |
| void * | pvData_, | ||
| uint32_t | u32TimeoutMS_ | ||
| ) |
Mailbox_TimedReceiveTail.
| handle | Handle of the mailbox object |
| pvData_ | Pointer to a buffer that will have the envelope's contents copied into upon delivery. |
| u32TimeoutMS_ | Maximum time to wait for delivery. |
Definition at line 836 of file mark3c.cpp.
| bool Mailbox_TimedSend | ( | Mailbox_t | handle, |
| void * | pvData_, | ||
| uint32_t | u32TimeoutMS_ | ||
| ) |
Mailbox_TimedSend.
| handle | Handle of the mailbox object |
| pvData_ | Pointer to the data object to send to the mailbox. |
| u32TimeoutMS_ | Maximum time to wait for a free transmit slot |
Definition at line 801 of file mark3c.cpp.
| bool Mailbox_TimedSendTail | ( | Mailbox_t | handle, |
| void * | pvData_, | ||
| uint32_t | u32TimeoutMS_ | ||
| ) |
Mailbox_TimedSendTail.
| handle | Handle of the mailbox object |
| pvData_ | Pointer to the data object to send to the mailbox. |
| u32TimeoutMS_ | Maximum time to wait for a free transmit slot |
Definition at line 808 of file mark3c.cpp.
| uint16_t Message_GetCode | ( | Message_t | handle | ) |
Message_GetCode.
| handle | Handle of the message object |
Definition at line 715 of file mark3c.cpp.
| void* Message_GetData | ( | Message_t | handle | ) |
Message_GetData.
| handle | Handle of the message object |
Definition at line 701 of file mark3c.cpp.
| void Message_Init | ( | Message_t | handle | ) |
Message_Init.
| handle | Handle of the message object |
Definition at line 687 of file mark3c.cpp.
| void Message_SetCode | ( | Message_t | handle, |
| uint16_t | u16Code_ | ||
| ) |
Message_SetCode.
| handle | Handle of the message object |
| u16Code_ | Data code to set in the object |
Definition at line 708 of file mark3c.cpp.
| void Message_SetData | ( | Message_t | handle, |
| void * | pvData_ | ||
| ) |
Message_SetData.
| handle | Handle of the message object |
| pvData_ | Pointer to the data object to send in the message |
Definition at line 694 of file mark3c.cpp.
| void MessagePool_Init | ( | MessagePool_t | handle | ) |
MessagePool_Init.
| handle | Handle of the message pool object |
Definition at line 736 of file mark3c.cpp.
| Message_t MessagePool_Pop | ( | MessagePool_t | handle | ) |
MessagePool_Pop.
| handle | Handle of the message pool object |
Definition at line 750 of file mark3c.cpp.
| void MessagePool_Push | ( | MessagePool_t | handle, |
| Message_t | msg | ||
| ) |
MessagePool_Push.
| handle | Handle of the message pool object |
| msg | Message object to return back to the pool |
Definition at line 743 of file mark3c.cpp.
| uint16_t MessageQueue_GetCount | ( | MessageQueue_t | handle | ) |
MessageQueue_GetCount.
Definition at line 771 of file mark3c.cpp.
| void MessageQueue_Init | ( | MessageQueue_t | handle | ) |
MessageQueue_Init.
| handle | Handle to the message queue to initialize |
Definition at line 722 of file mark3c.cpp.
| Message_t MessageQueue_Receive | ( | MessageQueue_t | handle | ) |
MessageQueue_Receive.
| handle | Handle of the message queue object |
Definition at line 729 of file mark3c.cpp.
| void MessageQueue_Send | ( | MessageQueue_t | handle, |
| Message_t | hMessage_ | ||
| ) |
MessageQueue_Send.
| handle | Handle of the message queue object |
| hMessage_ | Handle to the message to send to the given queue |
Definition at line 764 of file mark3c.cpp.
| Message_t MessageQueue_TimedReceive | ( | MessageQueue_t | handle, |
| uint32_t | u32TimeWaitMS_ | ||
| ) |
MessageQueue_TimedReceive.
| handle | Handle of the message queue object |
| u32TimeWaitMS_ | The amount of time in ms to wait for a message before timing out and unblocking the waiting thread. |
Definition at line 757 of file mark3c.cpp.
| void Mutex_Claim | ( | Mutex_t | handle | ) |
Mutex_Claim.
| handle | Handle of the mutex |
Definition at line 526 of file mark3c.cpp.
| void Mutex_Init | ( | Mutex_t | handle | ) |
Mutex_Init.
| handle | Handle of the mutex |
Definition at line 519 of file mark3c.cpp.
| void Mutex_Release | ( | Mutex_t | handle | ) |
Mutex_Release.
| handle | Handle of the mutex |
Definition at line 533 of file mark3c.cpp.
| bool Mutex_TimedClaim | ( | Mutex_t | handle, |
| uint32_t | u32WaitTimeMS_ | ||
| ) |
Mutex_TimedClaim.
| handle | Handle of the mutex |
| u32WaitTimeMS_ | Time to wait before aborting |
Definition at line 540 of file mark3c.cpp.
| void Notify_Init | ( | Notify_t | handle | ) |
Notify_Init.
| handle | Handle of the notification object |
Definition at line 595 of file mark3c.cpp.
| void Notify_Signal | ( | Notify_t | handle | ) |
Notify_Signal.
| handle | Handle of the notification object |
Definition at line 602 of file mark3c.cpp.
| bool Notify_TimedWait | ( | Notify_t | handle, |
| uint32_t | u32WaitTimeMS_, | ||
| bool * | pbFlag_ | ||
| ) |
Notify_TimedWait.
| handle | Handle of the notification object |
| u32WaitTimeMS_ | Maximum time to wait for notification in ms |
| pbFlag_ | Flag to set to true on notification |
Definition at line 616 of file mark3c.cpp.
| void Notify_Wait | ( | Notify_t | handle, |
| bool * | pbFlag_ | ||
| ) |
Notify_Wait.
| handle | Handle of the notification object |
| pbFlag_ | Flag to set to true on notification |
Definition at line 609 of file mark3c.cpp.
| void ReaderWriterLock_AcquireReader | ( | ReaderWriterLock_t | handle | ) |
ReaderWriterLock_AcquireReader.
| handle | Handle of the reader-writer object |
Definition at line 908 of file mark3c.cpp.
| void ReaderWriterLock_AcquireWriter | ( | ReaderWriterLock_t | handle | ) |
ReaderWriterLock_AcquireWriter.
| handle | Handle of the reader-writer object |
Definition at line 922 of file mark3c.cpp.
| void ReaderWriterLock_Init | ( | ReaderWriterLock_t | handle | ) |
ReaderWriterLock_Init.
| handle | Handle of the reader-writer object |
Definition at line 901 of file mark3c.cpp.
| void ReaderWriterLock_ReleaseReader | ( | ReaderWriterLock_t | handle | ) |
ReaderWriterLock_ReleaseReader.
| handle | Handle of the reader-writer object |
Definition at line 915 of file mark3c.cpp.
| void ReaderWriterLock_ReleaseWriter | ( | ReaderWriterLock_t | handle | ) |
ReaderWriterLock_ReleaseWriter.
| handle | Handle of the reader-writer object |
Definition at line 929 of file mark3c.cpp.
| bool ReaderWriterLock_TimedAcquireReader | ( | ReaderWriterLock_t | handle, |
| uint32_t | u32TimeoutMs_ | ||
| ) |
ReaderWriterLock_TimedAcquireReader.
| handle | Handle of the reader-writer object |
| u32TimeoutMs_ | Maximum time to wait for the reader lock before bailing |
Definition at line 943 of file mark3c.cpp.
| bool ReaderWriterLock_TimedAcquireWriter | ( | ReaderWriterLock_t | handle, |
| uint32_t | u32TimeoutMs_ | ||
| ) |
ReaderWriterLock_TimedAcquireWriter.
| handle | Handle of the reader-writer object |
| u32TimeoutMs_ | Maximum time to wait for the writer lock before bailing |
Definition at line 936 of file mark3c.cpp.
| void Scheduler_Enable | ( | bool | bEnable_ | ) |
Scheduler_Enable.
| bEnable_ | true to enable, false to disable the scheduler |
Definition at line 300 of file mark3c.cpp.
| Thread_t Scheduler_GetCurrentThread | ( | void | ) |
Scheduler_GetCurrentThread.
Definition at line 312 of file mark3c.cpp.
| bool Scheduler_IsEnabled | ( | void | ) |
Scheduler_IsEnabled.
Definition at line 306 of file mark3c.cpp.
| void Semaphore_Init | ( | Semaphore_t | handle, |
| uint16_t | u16InitVal_, | ||
| uint16_t | u16MaxVal_ | ||
| ) |
Semaphore_Init.
| handle | Handle of the semaphore |
| u16InitVal_ | Initial value of the semaphore |
| u16MaxVal_ | Maximum value that can be held for a semaphore |
Definition at line 489 of file mark3c.cpp.
| void Semaphore_Pend | ( | Semaphore_t | handle | ) |
Semaphore_Pend.
| handle | Handle of the semaphore |
Definition at line 503 of file mark3c.cpp.
| void Semaphore_Post | ( | Semaphore_t | handle | ) |
Semaphore_Post.
| handle | Handle of the semaphore |
Definition at line 496 of file mark3c.cpp.
| bool Semaphore_TimedPend | ( | Semaphore_t | handle, |
| uint32_t | u32WaitTimeMS_ | ||
| ) |
Semaphore_TimedPend.
| handle | Handle of the semaphore |
| u32WaitTimeMS_ | Time in ms to wait |
Definition at line 510 of file mark3c.cpp.
| void Thread_CoopYield | ( | void | ) |
| void Thread_Exit | ( | Thread_t | handle | ) |
Thread_Exit.
| handle | Handle of the thread |
Definition at line 392 of file mark3c.cpp.
| PORT_PRIO_TYPE Thread_GetCurPriority | ( | Thread_t | handle | ) |
Thread_GetCurPriority.
| handle | Handle of the thread |
Definition at line 365 of file mark3c.cpp.
| uint8_t Thread_GetID | ( | Thread_t | handle | ) |
Thread_GetID.
| handle | Handle of the thread |
Definition at line 437 of file mark3c.cpp.
| PORT_PRIO_TYPE Thread_GetPriority | ( | Thread_t | handle | ) |
Thread_GetPriority.
| handle | Handle of the thread |
Definition at line 359 of file mark3c.cpp.
| thread_state_t Thread_GetState | ( | Thread_t | handle | ) |
Thread_GetState.
| handle | Handle of the thread |
Definition at line 449 of file mark3c.cpp.
| void Thread_Init | ( | Thread_t | handle, |
| K_WORD * | pwStack_, | ||
| uint16_t | u16StackSize_, | ||
| PORT_PRIO_TYPE | uXPriority_, | ||
| thread_entry_func_t | pfEntryPoint_, | ||
| void * | pvArg_ | ||
| ) |
Thread_Init.
| handle | Handle of the thread to initialize |
| pwStack_ | Pointer to the stack to use for the thread |
| u16StackSize_ | Size of the stack (in bytes) |
| uXPriority_ | Priority of the thread (0 = idle, 7 = max) |
| pfEntryPoint_ | This is the function that gets called when the thread is started |
| pvArg_ | Pointer to the argument passed into the thread's entrypoint function. |
Definition at line 321 of file mark3c.cpp.
| void Thread_SetID | ( | Thread_t | handle, |
| uint8_t | u8ID_ | ||
| ) |
Thread_SetID.
| handle | Handle of the thread |
| u8ID_ | ID To assign to the thread |
Definition at line 431 of file mark3c.cpp.
| void Thread_SetPriority | ( | Thread_t | handle, |
| PORT_PRIO_TYPE | uXPriority_ | ||
| ) |
Thread_SetPriority.
| handle | Handle of the thread |
| uXPriority_ | New priority level |
Definition at line 385 of file mark3c.cpp.
| void Thread_Sleep | ( | uint32_t | u32TimeMs_ | ) |
Thread_Sleep.
| u32TimeMs_ | Time in ms to block the thread for |
Definition at line 399 of file mark3c.cpp.
| void Thread_Start | ( | Thread_t | handle | ) |
Thread_Start.
| handle | Handle of the thread to start |
Definition at line 333 of file mark3c.cpp.
| void Thread_Stop | ( | Thread_t | handle | ) |
Thread_Stop.
| handle | Handle of the thread to stop |
Definition at line 340 of file mark3c.cpp.
| void Thread_Yield | ( | void | ) |
| void Timer_Init | ( | Timer_t | handle | ) |
Timer_Init.
| handle | Handle of the timer |
Definition at line 459 of file mark3c.cpp.
| void Timer_Restart | ( | Timer_t | handle | ) |
Timer_Restart.
| handle | Handle of the timer to restart. |
Definition at line 480 of file mark3c.cpp.
| void Timer_Start | ( | Timer_t | handle, |
| bool | bRepeat_, | ||
| uint32_t | u32IntervalMs_, | ||
| timer_callback_t | pfCallback_, | ||
| void * | pvData_ | ||
| ) |
Timer_Start.
| handle | Handle of the timer |
| bRepeat_ | Restart the timer continuously on expiry |
| u32IntervalMs_ | Time in ms to expiry |
| pfCallback_ | Callback to run on timer expiry |
| pvData_ | Data to pass to the callback on expiry |
Definition at line 466 of file mark3c.cpp.
| void Timer_Stop | ( | Timer_t | handle | ) |
Timer_Stop.
| handle | Handle of the timer |
Definition at line 473 of file mark3c.cpp.