13 #if !GFX_OS_NO_INIT && !GFX_OS_CALL_UGFXMAIN
14 #error "GOS: Either GFX_OS_NO_INIT or GFX_OS_CALL_UGFXMAIN must be defined for CMSIS V2"
17 void _gosHeapInit(
void);
21 #if GFX_OS_NO_INIT && !GFX_OS_INIT_NO_WARNING
22 #if GFX_COMPILER_WARNING_TYPE == GFX_COMPILER_WARNING_DIRECT
23 #warning "GOS: Operating System initialization has been turned off. Make sure you call osKernelInitialize()."
24 #elif GFX_COMPILER_WARNING_TYPE == GFX_COMPILER_WARNING_MACRO
25 COMPILER_WARNING(
"GOS: Operating System initialization has been turned off. Make sure you call osKernelInitialize().")
33 #if !GFX_OS_NO_INIT && GFX_OS_CALL_UGFXMAIN
39 void _gosPostInit(
void)
41 #if !GFX_OS_NO_INIT && GFX_OS_CALL_UGFXMAIN
42 switch(osKernelGetState()) {
43 case osKernelInactive:
49 gfxHalt(
"Unable to start CMSIS V2 scheduler. Out of memory?");
64 *pmutex = osMutexNew(NULL);
69 *psem = osSemaphoreNew(limit, val, NULL);
85 memset(&def, 0,
sizeof(def));
87 def.attr_bits = osThreadDetached;
89 def.stack_size = stacksz;
93 return osThreadNew((osThreadFunc_t)fn, param, &def);
98 switch(osThreadGetState(thread)) {
100 case osThreadRunning:
101 case osThreadBlocked:
void GFXUSERFN uGFXMain(void)
The user supplied function containing all the user uGFX application code.
gThreadreturn gfxThreadWait(gThread thread)
Wait for a thread to finish.
#define GFX_OS_UGFXMAIN_STACKSIZE
When uGFXMain() is started as a thread, what stack size should be used.
void * gThread
A thread handle.
void gfxYield(void)
Yield the current thread.
#define GFX_THREAD_FUNCTION(fnName, param)
Declare a thread function.
gTicks gfxMillisecondsToTicks(gDelay ms)
Convert a given number of millseconds to a number of operating system ticks.
gBool gfxSemWait(gSem *psem, gDelay ms)
Wait on a semaphore.
void gfxMutexInit(gMutex *pmutex)
Initialise a mutex to protect a region of code from other threads.
gThread gfxThreadCreate(void *stackarea, gMemSize stacksz, gThreadpriority prio, GFX_THREAD_FUNCTION((*fn), p), void *param)
Start a new thread.
void gfxHalt(const char *msg)
Halt the GFX application due to an error.
void gfxSemInit(gSem *psem, gSemcount val, gSemcount limit)
Initialise a Counted Semaphore.