28 #ifndef INC_KERNEL_OC_THREADMAN_H_ 29 #define INC_KERNEL_OC_THREADMAN_H_ 31 #include <oc_errors.h> 41 #define _________________________________________TYPES_SECTION______________________________________________________________________________ 47 oC_AutoStackMethod_Disabled ,
48 oC_AutoStackMethod_RerunThread ,
49 } oC_AutoStackMethod_t;
51 #undef _________________________________________TYPES_SECTION______________________________________________________________________________ 59 #define _________________________________________FUNCTIONS_SECTION__________________________________________________________________________ 63 extern oC_ErrorCode_t oC_ThreadMan_TurnOn (
void );
64 extern oC_ErrorCode_t oC_ThreadMan_TurnOff (
void );
65 extern oC_ErrorCode_t oC_ThreadMan_SetSystemTimerFrequency (
oC_Frequency_t Frequency );
66 extern oC_Frequency_t oC_ThreadMan_GetSystemTimerFrequency (
void );
67 extern oC_ErrorCode_t oC_ThreadMan_AddThread (
oC_Thread_t Thread );
68 extern oC_ErrorCode_t oC_ThreadMan_RemoveThread (
oC_Thread_t Thread );
69 extern bool oC_ThreadMan_ContainsThread (
oC_Thread_t Thread );
70 extern oC_Thread_t oC_ThreadMan_GetCurrentThread (
void );
71 extern void oC_ThreadMan_UnblockAllBlockedBy ( uint32_t * BlockingFlag ,
bool OnlyIfUnblocked );
72 extern void oC_ThreadMan_SwitchThread (
void );
73 extern oC_List(
oC_Thread_t) oC_ThreadMan_GetList (
void );
75 extern oC_MemorySize_t oC_ThreadMan_GetDefaultStackSize (
void );
76 extern oC_ErrorCode_t oC_ThreadMan_SetDefaultStackSize ( oC_MemorySize_t Size );
77 extern oC_ErrorCode_t oC_ThreadMan_SetAutoStackMethod ( oC_AutoStackMethod_t Type );
78 extern oC_AutoStackMethod_t oC_ThreadMan_GetAutoStackMethod (
void );
79 extern oC_ErrorCode_t oC_ThreadMan_SetRedZoneSize ( oC_MemorySize_t Size );
80 extern oC_MemorySize_t oC_ThreadMan_GetRedZoneSize (
void );
81 extern oC_ErrorCode_t oC_ThreadMan_SetStackIncreaseStep ( oC_MemorySize_t Size );
82 extern oC_MemorySize_t oC_ThreadMan_GetStackIncreaseStep (
void );
83 extern
double oC_ThreadMan_GetCpuLoad (
void );
84 extern
double oC_ThreadMan_GetCurrentCpuLoad (
void );
87 #undef _________________________________________FUNCTIONS_SECTION__________________________________________________________________________
The file with interface for the GPIO driver.
double oC_Frequency_t
type to store frequency
The file with interface for thread managing.
The file with list library.
oC_SYS_LLD_Context_t * Context
!< Pointer to the real stack (real allocated memory)
const char * Name
!< Priority of this thread