Added type gThread to replace V2.x gfxThreadHandle
This commit is contained in:
parent
1fc4180d41
commit
330f891081
34 changed files with 78 additions and 76 deletions
|
@ -18,6 +18,7 @@ CHANGE: Added types gI8, gU8 .. gI32, gU32 to replace V2.x int8_t etc
|
||||||
CHANGE: Added type gBool to replace V2.x bool_t, and values gTrue/gFalse to replace TRUE/FALSE
|
CHANGE: Added type gBool to replace V2.x bool_t, and values gTrue/gFalse to replace TRUE/FALSE
|
||||||
CHANGE: Added type gDelay to replace V2.x delaytime_t and values gDelayNone/gDelayForever to replace TIME_IMMEDIATE/TIME_INFINITE
|
CHANGE: Added type gDelay to replace V2.x delaytime_t and values gDelayNone/gDelayForever to replace TIME_IMMEDIATE/TIME_INFINITE
|
||||||
CHANGE: Added type gTicks to replace V2.x systemticks_t
|
CHANGE: Added type gTicks to replace V2.x systemticks_t
|
||||||
|
CHANGE: Added type gThread to replace V2.x gfxThreadHandle
|
||||||
CHANGE: Added type gThreadreturn to replace V2.x threadreturn_t
|
CHANGE: Added type gThreadreturn to replace V2.x threadreturn_t
|
||||||
CHANGE: Added type gThreadpriority to replace V2.x threadpriority_t and values gThreadpriorityLow/Normal/High to replace LOW_/NORMAL_/HIGH_PRIORITY
|
CHANGE: Added type gThreadpriority to replace V2.x threadpriority_t and values gThreadpriorityLow/Normal/High to replace LOW_/NORMAL_/HIGH_PRIORITY
|
||||||
CHANGE: Added type gPoint to replace V2.x point and point_t
|
CHANGE: Added type gPoint to replace V2.x point and point_t
|
||||||
|
|
2
demos/3rdparty/notepad-2/notepadApp.c
vendored
2
demos/3rdparty/notepad-2/notepadApp.c
vendored
|
@ -464,7 +464,7 @@ static DECLARE_THREAD_FUNCTION(notepadThread, param) {
|
||||||
void nSetColorScheme(NColorScheme sch) { nCurColorScheme = sch; }
|
void nSetColorScheme(NColorScheme sch) { nCurColorScheme = sch; }
|
||||||
NColorScheme nGetColorScheme(void) { return nCurColorScheme; }
|
NColorScheme nGetColorScheme(void) { return nCurColorScheme; }
|
||||||
|
|
||||||
gfxThreadHandle nLaunchNotepadApp(void) {
|
gThread nLaunchNotepadApp(void) {
|
||||||
|
|
||||||
return gfxThreadCreate(waNotepadThread,
|
return gfxThreadCreate(waNotepadThread,
|
||||||
sizeof(waNotepadThread),
|
sizeof(waNotepadThread),
|
||||||
|
|
2
demos/3rdparty/notepad-2/notepadApp.h
vendored
2
demos/3rdparty/notepad-2/notepadApp.h
vendored
|
@ -45,6 +45,6 @@ void nSetColorScheme(NColorScheme sch);
|
||||||
NColorScheme nGetColorScheme(void);
|
NColorScheme nGetColorScheme(void);
|
||||||
|
|
||||||
|
|
||||||
gfxThreadHandle nLaunchNotepadApp(void);
|
gThread nLaunchNotepadApp(void);
|
||||||
|
|
||||||
#endif /* NOTEPADAPP_H_ */
|
#endif /* NOTEPADAPP_H_ */
|
||||||
|
|
2
demos/3rdparty/notepad-2/notepadCore.c
vendored
2
demos/3rdparty/notepad-2/notepadCore.c
vendored
|
@ -48,7 +48,7 @@ static DECLARE_THREAD_STACK(waDrawThread, NCORE_THD_STACK_SIZE);
|
||||||
static uint8_t nPenWidth = 1;
|
static uint8_t nPenWidth = 1;
|
||||||
static uint8_t nMode = NCORE_MODE_DRAW;
|
static uint8_t nMode = NCORE_MODE_DRAW;
|
||||||
|
|
||||||
static gfxThreadHandle nThd;
|
static gThread nThd;
|
||||||
|
|
||||||
static GHandle ncoreDrawingArea = NULL;
|
static GHandle ncoreDrawingArea = NULL;
|
||||||
static GHandle nStatusConsole = NULL;
|
static GHandle nStatusConsole = NULL;
|
||||||
|
|
|
@ -35,7 +35,7 @@
|
||||||
|
|
||||||
static volatile gBool run;
|
static volatile gBool run;
|
||||||
static GHandle gh;
|
static GHandle gh;
|
||||||
static gfxThreadHandle thread;
|
static gThread thread;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* NOTE:
|
* NOTE:
|
||||||
|
|
|
@ -32,7 +32,7 @@
|
||||||
|
|
||||||
static volatile gBool run;
|
static volatile gBool run;
|
||||||
static GHandle gh;
|
static GHandle gh;
|
||||||
static gfxThreadHandle thread;
|
static gThread thread;
|
||||||
|
|
||||||
static void mandelbrot(float x1, float y1, float x2, float y2) {
|
static void mandelbrot(float x1, float y1, float x2, float y2) {
|
||||||
unsigned int i,j, width, height;
|
unsigned int i,j, width, height;
|
||||||
|
|
|
@ -41,7 +41,7 @@
|
||||||
#include "gfx.h"
|
#include "gfx.h"
|
||||||
|
|
||||||
GTimer gt;
|
GTimer gt;
|
||||||
gfxThreadHandle thd;
|
gThread thd;
|
||||||
|
|
||||||
#if defined(WIN32)
|
#if defined(WIN32)
|
||||||
#include <windows.h>
|
#include <windows.h>
|
||||||
|
|
|
@ -302,7 +302,7 @@ LLDSPEC gBool gdisp_lld_init(GDisplay *g) {
|
||||||
xPriv *priv;
|
xPriv *priv;
|
||||||
|
|
||||||
if (!initdone) {
|
if (!initdone) {
|
||||||
gfxThreadHandle hth;
|
gThread hth;
|
||||||
|
|
||||||
initdone = gTrue;
|
initdone = gTrue;
|
||||||
#if GFX_USE_OS_LINUX || GFX_USE_OS_OSX
|
#if GFX_USE_OS_LINUX || GFX_USE_OS_OSX
|
||||||
|
|
|
@ -165,7 +165,7 @@ typedef struct netPriv {
|
||||||
#endif
|
#endif
|
||||||
} netPriv;
|
} netPriv;
|
||||||
|
|
||||||
static gfxThreadHandle hThread;
|
static gThread hThread;
|
||||||
|
|
||||||
#if GDISP_GFXNET_UNSAFE_SOCKETS
|
#if GDISP_GFXNET_UNSAFE_SOCKETS
|
||||||
static gfxMutex uGFXnetMutex;
|
static gfxMutex uGFXnetMutex;
|
||||||
|
|
|
@ -123,7 +123,7 @@
|
||||||
* @brief A thread handle
|
* @brief A thread handle
|
||||||
* @note Your operating system will have a proper definition for this.
|
* @note Your operating system will have a proper definition for this.
|
||||||
*/
|
*/
|
||||||
typedef void * gfxThreadHandle;
|
typedef void * gThread;
|
||||||
|
|
||||||
/*===========================================================================*/
|
/*===========================================================================*/
|
||||||
/* Function declarations. */
|
/* Function declarations. */
|
||||||
|
@ -420,7 +420,7 @@
|
||||||
*
|
*
|
||||||
* @api
|
* @api
|
||||||
*/
|
*/
|
||||||
gfxThreadHandle gfxThreadCreate(void *stackarea, size_t stacksz, gThreadpriority prio, DECLARE_THREAD_FUNCTION((*fn),p), void *param);
|
gThread gfxThreadCreate(void *stackarea, size_t stacksz, gThreadpriority prio, DECLARE_THREAD_FUNCTION((*fn),p), void *param);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Wait for a thread to finish.
|
* @brief Wait for a thread to finish.
|
||||||
|
@ -432,7 +432,7 @@
|
||||||
* once the thread has ended.
|
* once the thread has ended.
|
||||||
* @api
|
* @api
|
||||||
*/
|
*/
|
||||||
gThreadreturn gfxThreadWait(gfxThreadHandle thread);
|
gThreadreturn gfxThreadWait(gThread thread);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Get the current thread handle.
|
* @brief Get the current thread handle.
|
||||||
|
@ -440,7 +440,7 @@
|
||||||
*
|
*
|
||||||
* @api
|
* @api
|
||||||
*/
|
*/
|
||||||
gfxThreadHandle gfxThreadMe(void);
|
gThread gfxThreadMe(void);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Close the thread handle.
|
* @brief Close the thread handle.
|
||||||
|
@ -451,7 +451,7 @@
|
||||||
*
|
*
|
||||||
* @api
|
* @api
|
||||||
*/
|
*/
|
||||||
void gfxThreadClose(gfxThreadHandle thread);
|
void gfxThreadClose(gThread thread);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* All the above was just for the doxygen documentation. All the implementation of the above
|
* All the above was just for the doxygen documentation. All the implementation of the above
|
||||||
|
@ -501,6 +501,7 @@
|
||||||
#define TIME_INFINITE gDelayForever
|
#define TIME_INFINITE gDelayForever
|
||||||
#endif
|
#endif
|
||||||
typedef gTicks systemticks_t;
|
typedef gTicks systemticks_t;
|
||||||
|
typedef gThread gfxThreadHandle;
|
||||||
typedef gThreadreturn threadreturn_t;
|
typedef gThreadreturn threadreturn_t;
|
||||||
typedef gThreadpriority threadpriority_t;
|
typedef gThreadpriority threadpriority_t;
|
||||||
#define LOW_PRIORITY gThreadpriorityLow
|
#define LOW_PRIORITY gThreadpriorityLow
|
||||||
|
|
|
@ -175,7 +175,7 @@ void gfxSemSignalI(gfxSem *psem)
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
gfxThreadHandle gfxThreadCreate(void *stackarea, size_t stacksz, gThreadpriority prio, DECLARE_THREAD_FUNCTION((*fn),p), void *param)
|
gThread gfxThreadCreate(void *stackarea, size_t stacksz, gThreadpriority prio, DECLARE_THREAD_FUNCTION((*fn),p), void *param)
|
||||||
{
|
{
|
||||||
if (!stackarea) {
|
if (!stackarea) {
|
||||||
if (!stacksz) stacksz = 256;
|
if (!stacksz) stacksz = 256;
|
||||||
|
|
|
@ -54,7 +54,7 @@ typedef tprio_t gThreadpriority;
|
||||||
} gfxSem;
|
} gfxSem;
|
||||||
|
|
||||||
typedef Mutex gfxMutex;
|
typedef Mutex gfxMutex;
|
||||||
typedef Thread* gfxThreadHandle;
|
typedef Thread* gThread;
|
||||||
#else
|
#else
|
||||||
#undef DECLARE_THREAD_STACK
|
#undef DECLARE_THREAD_STACK
|
||||||
#define DECLARE_THREAD_STACK(a, b) THD_WORKING_AREA(a, b)
|
#define DECLARE_THREAD_STACK(a, b) THD_WORKING_AREA(a, b)
|
||||||
|
@ -65,7 +65,7 @@ typedef tprio_t gThreadpriority;
|
||||||
} gfxSem;
|
} gfxSem;
|
||||||
|
|
||||||
typedef mutex_t gfxMutex;
|
typedef mutex_t gfxMutex;
|
||||||
typedef thread_t* gfxThreadHandle;
|
typedef thread_t* gThread;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
@ -110,7 +110,7 @@ gBool gfxSemWait(gfxSem *psem, gDelay ms);
|
||||||
gBool gfxSemWaitI(gfxSem *psem);
|
gBool gfxSemWaitI(gfxSem *psem);
|
||||||
void gfxSemSignal(gfxSem *psem);
|
void gfxSemSignal(gfxSem *psem);
|
||||||
void gfxSemSignalI(gfxSem *psem);
|
void gfxSemSignalI(gfxSem *psem);
|
||||||
gfxThreadHandle gfxThreadCreate(void *stackarea, size_t stacksz, gThreadpriority prio, DECLARE_THREAD_FUNCTION((*fn),p), void *param);
|
gThread gfxThreadCreate(void *stackarea, size_t stacksz, gThreadpriority prio, DECLARE_THREAD_FUNCTION((*fn),p), void *param);
|
||||||
#define gfxThreadWait(thread) chThdWait(thread)
|
#define gfxThreadWait(thread) chThdWait(thread)
|
||||||
#define gfxThreadMe() chThdSelf()
|
#define gfxThreadMe() chThdSelf()
|
||||||
#define gfxThreadClose(thread) (void)thread
|
#define gfxThreadClose(thread) (void)thread
|
||||||
|
|
|
@ -88,7 +88,7 @@ void gfxSemSignalI(gfxSem* psem)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
gfxThreadHandle gfxThreadCreate(void* stackarea, size_t stacksz, gThreadpriority prio, DECLARE_THREAD_FUNCTION((*fn),p), void* param)
|
gThread gfxThreadCreate(void* stackarea, size_t stacksz, gThreadpriority prio, DECLARE_THREAD_FUNCTION((*fn),p), void* param)
|
||||||
{
|
{
|
||||||
osThreadDef_t def;
|
osThreadDef_t def;
|
||||||
|
|
||||||
|
@ -102,7 +102,7 @@ gfxThreadHandle gfxThreadCreate(void* stackarea, size_t stacksz, gThreadpriority
|
||||||
return osThreadCreate(&def, param);
|
return osThreadCreate(&def, param);
|
||||||
}
|
}
|
||||||
|
|
||||||
gThreadreturn gfxThreadWait(gfxThreadHandle thread) {
|
gThreadreturn gfxThreadWait(gThread thread) {
|
||||||
while(osThreadGetPriority(thread) == osPriorityError)
|
while(osThreadGetPriority(thread) == osPriorityError)
|
||||||
gfxYield();
|
gfxYield();
|
||||||
}
|
}
|
||||||
|
|
|
@ -49,7 +49,7 @@ typedef struct gfxMutex {
|
||||||
osMutexId id;
|
osMutexId id;
|
||||||
} gfxMutex;
|
} gfxMutex;
|
||||||
|
|
||||||
typedef osThreadId gfxThreadHandle;
|
typedef osThreadId gThread;
|
||||||
|
|
||||||
#define DECLARE_THREAD_STACK(name, sz) uint8_t name[1]; // Some compilers don't allow zero sized arrays. Let's waste one byte
|
#define DECLARE_THREAD_STACK(name, sz) uint8_t name[1]; // Some compilers don't allow zero sized arrays. Let's waste one byte
|
||||||
#define DECLARE_THREAD_FUNCTION(fnName, param) gThreadreturn fnName(void* param)
|
#define DECLARE_THREAD_FUNCTION(fnName, param) gThreadreturn fnName(void* param)
|
||||||
|
@ -79,7 +79,7 @@ gBool gfxSemWaitI(gfxSem* psem);
|
||||||
void gfxSemSignal(gfxSem* psem);
|
void gfxSemSignal(gfxSem* psem);
|
||||||
void gfxSemSignalI(gfxSem* psem);
|
void gfxSemSignalI(gfxSem* psem);
|
||||||
|
|
||||||
gfxThreadHandle gfxThreadCreate(void* stackarea, size_t stacksz, gThreadpriority prio, DECLARE_THREAD_FUNCTION((*fn),p), void* param);
|
gThread gfxThreadCreate(void* stackarea, size_t stacksz, gThreadpriority prio, DECLARE_THREAD_FUNCTION((*fn),p), void* param);
|
||||||
#define gfxYield() osThreadYield()
|
#define gfxYield() osThreadYield()
|
||||||
#define gfxThreadMe() osThreadGetId()
|
#define gfxThreadMe() osThreadGetId()
|
||||||
#define gfxThreadClose(thread) {}
|
#define gfxThreadClose(thread) {}
|
||||||
|
|
|
@ -76,7 +76,7 @@ gBool gfxSemWait(gfxSem* psem, gDelay ms)
|
||||||
return gFalse;
|
return gFalse;
|
||||||
}
|
}
|
||||||
|
|
||||||
gfxThreadHandle gfxThreadCreate(void* stackarea, size_t stacksz, gThreadpriority prio, DECLARE_THREAD_FUNCTION((*fn),p), void* param)
|
gThread gfxThreadCreate(void* stackarea, size_t stacksz, gThreadpriority prio, DECLARE_THREAD_FUNCTION((*fn),p), void* param)
|
||||||
{
|
{
|
||||||
osThreadAttr_t def;
|
osThreadAttr_t def;
|
||||||
|
|
||||||
|
@ -93,7 +93,7 @@ gfxThreadHandle gfxThreadCreate(void* stackarea, size_t stacksz, gThreadpriority
|
||||||
return osThreadNew((osThreadFunc_t)fn, param, &def);
|
return osThreadNew((osThreadFunc_t)fn, param, &def);
|
||||||
}
|
}
|
||||||
|
|
||||||
gThreadreturn gfxThreadWait(gfxThreadHandle thread) {
|
gThreadreturn gfxThreadWait(gThread thread) {
|
||||||
while(1) {
|
while(1) {
|
||||||
switch(osThreadGetState(thread)) {
|
switch(osThreadGetState(thread)) {
|
||||||
case osThreadReady:
|
case osThreadReady:
|
||||||
|
|
|
@ -42,7 +42,7 @@ typedef osSemaphoreId_t gfxSem;
|
||||||
|
|
||||||
typedef osMutexId_t gfxMutex;
|
typedef osMutexId_t gfxMutex;
|
||||||
|
|
||||||
typedef osThreadId_t gfxThreadHandle;
|
typedef osThreadId_t gThread;
|
||||||
|
|
||||||
#define DECLARE_THREAD_STACK(name, sz) uint8_t name[1]; // Some compilers don't allow zero sized arrays. Let's waste one byte
|
#define DECLARE_THREAD_STACK(name, sz) uint8_t name[1]; // Some compilers don't allow zero sized arrays. Let's waste one byte
|
||||||
#define DECLARE_THREAD_FUNCTION(fnName, param) gThreadreturn fnName(void* param)
|
#define DECLARE_THREAD_FUNCTION(fnName, param) gThreadreturn fnName(void* param)
|
||||||
|
@ -72,7 +72,7 @@ gBool gfxSemWait(gfxSem* psem, gDelay ms);
|
||||||
#define gfxSemSignal(psem) osSemaphoreRelease(*(psem))
|
#define gfxSemSignal(psem) osSemaphoreRelease(*(psem))
|
||||||
#define gfxSemSignalI(psem) osSemaphoreRelease(*(psem))
|
#define gfxSemSignalI(psem) osSemaphoreRelease(*(psem))
|
||||||
|
|
||||||
gfxThreadHandle gfxThreadCreate(void* stackarea, size_t stacksz, gThreadpriority prio, DECLARE_THREAD_FUNCTION((*fn),p), void* param);
|
gThread gfxThreadCreate(void* stackarea, size_t stacksz, gThreadpriority prio, DECLARE_THREAD_FUNCTION((*fn),p), void* param);
|
||||||
#define gfxYield() osThreadYield()
|
#define gfxYield() osThreadYield()
|
||||||
#define gfxThreadMe() osThreadGetId()
|
#define gfxThreadMe() osThreadGetId()
|
||||||
#define gfxThreadClose(thread) {}
|
#define gfxThreadClose(thread) {}
|
||||||
|
|
|
@ -96,9 +96,9 @@ void gfxSemSignalI(gfxSem *psem)
|
||||||
cyg_semaphore_post(&psem->sem);
|
cyg_semaphore_post(&psem->sem);
|
||||||
}
|
}
|
||||||
|
|
||||||
gfxThreadHandle gfxThreadCreate(void *stackarea, size_t stacksz, gThreadpriority prio, DECLARE_THREAD_FUNCTION((*fn),p), void *param)
|
gThread gfxThreadCreate(void *stackarea, size_t stacksz, gThreadpriority prio, DECLARE_THREAD_FUNCTION((*fn),p), void *param)
|
||||||
{
|
{
|
||||||
gfxThreadHandle th;
|
gThread th;
|
||||||
|
|
||||||
if (!stackarea) {
|
if (!stackarea) {
|
||||||
if (!stacksz) stacksz = CYGNUM_HAL_STACK_SIZE_TYPICAL;
|
if (!stacksz) stacksz = CYGNUM_HAL_STACK_SIZE_TYPICAL;
|
||||||
|
|
|
@ -26,7 +26,7 @@ typedef cyg_tick_count_t gTicks;
|
||||||
typedef cyg_count32 gSemcount;
|
typedef cyg_count32 gSemcount;
|
||||||
typedef void gThreadreturn;
|
typedef void gThreadreturn;
|
||||||
typedef cyg_addrword_t gThreadpriority;
|
typedef cyg_addrword_t gThreadpriority;
|
||||||
typedef cyg_handle_t gfxThreadHandle;
|
typedef cyg_handle_t gThread;
|
||||||
|
|
||||||
#define MAX_SEMAPHORE_COUNT 0x7FFFFFFF
|
#define MAX_SEMAPHORE_COUNT 0x7FFFFFFF
|
||||||
#define gThreadpriorityLow (CYGNUM_KERNEL_SCHED_PRIORITIES-2)
|
#define gThreadpriorityLow (CYGNUM_KERNEL_SCHED_PRIORITIES-2)
|
||||||
|
@ -77,7 +77,7 @@ gBool gfxSemWaitI(gfxSem *psem);
|
||||||
void gfxSemSignal(gfxSem *psem);
|
void gfxSemSignal(gfxSem *psem);
|
||||||
void gfxSemSignalI(gfxSem *psem);
|
void gfxSemSignalI(gfxSem *psem);
|
||||||
|
|
||||||
gfxThreadHandle gfxThreadCreate(void *stackarea, size_t stacksz, gThreadpriority prio, DECLARE_THREAD_FUNCTION((*fn),p), void *param);
|
gThread gfxThreadCreate(void *stackarea, size_t stacksz, gThreadpriority prio, DECLARE_THREAD_FUNCTION((*fn),p), void *param);
|
||||||
#define gfxThreadWait(thread) NOTIMPLEMENTED_YET
|
#define gfxThreadWait(thread) NOTIMPLEMENTED_YET
|
||||||
#define gfxThreadMe() cyg_thread_self()
|
#define gfxThreadMe() cyg_thread_self()
|
||||||
#define gfxThreadClose(thread) (void)thread
|
#define gfxThreadClose(thread) (void)thread
|
||||||
|
|
|
@ -146,9 +146,9 @@ void gfxSemSignalI(gfxSem* psem)
|
||||||
xSemaphoreGiveFromISR(*psem,&xHigherPriorityTaskWoken);
|
xSemaphoreGiveFromISR(*psem,&xHigherPriorityTaskWoken);
|
||||||
}
|
}
|
||||||
|
|
||||||
gfxThreadHandle gfxThreadCreate(void *stackarea, size_t stacksz, gThreadpriority prio, DECLARE_THREAD_FUNCTION((*fn),p), void *param)
|
gThread gfxThreadCreate(void *stackarea, size_t stacksz, gThreadpriority prio, DECLARE_THREAD_FUNCTION((*fn),p), void *param)
|
||||||
{
|
{
|
||||||
gfxThreadHandle task;
|
gThread task;
|
||||||
(void) stackarea;
|
(void) stackarea;
|
||||||
|
|
||||||
// uGFX expresses stack size in bytes - FreeRTOS in "Stack Words"
|
// uGFX expresses stack size in bytes - FreeRTOS in "Stack Words"
|
||||||
|
@ -165,7 +165,7 @@ gfxThreadHandle gfxThreadCreate(void *stackarea, size_t stacksz, gThreadpriority
|
||||||
}
|
}
|
||||||
|
|
||||||
#if INCLUDE_eTaskGetState == 1
|
#if INCLUDE_eTaskGetState == 1
|
||||||
gThreadreturn gfxThreadWait(gfxThreadHandle thread) {
|
gThreadreturn gfxThreadWait(gThread thread) {
|
||||||
while (eTaskGetState(thread) != eDeleted)
|
while (eTaskGetState(thread) != eDeleted)
|
||||||
gfxYield();
|
gfxYield();
|
||||||
}
|
}
|
||||||
|
|
|
@ -44,7 +44,7 @@ typedef portBASE_TYPE gThreadpriority;
|
||||||
|
|
||||||
typedef xSemaphoreHandle gfxSem;
|
typedef xSemaphoreHandle gfxSem;
|
||||||
typedef xSemaphoreHandle gfxMutex;
|
typedef xSemaphoreHandle gfxMutex;
|
||||||
typedef xTaskHandle gfxThreadHandle;
|
typedef xTaskHandle gThread;
|
||||||
|
|
||||||
/*===========================================================================*/
|
/*===========================================================================*/
|
||||||
/* Function declarations. */
|
/* Function declarations. */
|
||||||
|
@ -75,11 +75,11 @@ gBool gfxSemWait(gfxSem* psem, gDelay ms);
|
||||||
gBool gfxSemWaitI(gfxSem* psem);
|
gBool gfxSemWaitI(gfxSem* psem);
|
||||||
void gfxSemSignal(gfxSem* psem);
|
void gfxSemSignal(gfxSem* psem);
|
||||||
void gfxSemSignalI(gfxSem* psem);
|
void gfxSemSignalI(gfxSem* psem);
|
||||||
gfxThreadHandle gfxThreadCreate(void *stackarea, size_t stacksz, gThreadpriority prio, DECLARE_THREAD_FUNCTION((*fn),p), void *param);
|
gThread gfxThreadCreate(void *stackarea, size_t stacksz, gThreadpriority prio, DECLARE_THREAD_FUNCTION((*fn),p), void *param);
|
||||||
|
|
||||||
#define gfxThreadMe() xTaskGetCurrentTaskHandle()
|
#define gfxThreadMe() xTaskGetCurrentTaskHandle()
|
||||||
#if INCLUDE_eTaskGetState == 1
|
#if INCLUDE_eTaskGetState == 1
|
||||||
gThreadreturn gfxThreadWait(gfxThreadHandle thread);
|
gThreadreturn gfxThreadWait(gThread thread);
|
||||||
#endif
|
#endif
|
||||||
#define gfxThreadClose(thread)
|
#define gfxThreadClose(thread)
|
||||||
|
|
||||||
|
|
|
@ -109,8 +109,8 @@ gTicks gfxSystemTicks(void) {
|
||||||
return ts.tv_sec * 1000 + ts.tv_nsec / 1000000;
|
return ts.tv_sec * 1000 + ts.tv_nsec / 1000000;
|
||||||
}
|
}
|
||||||
|
|
||||||
gfxThreadHandle gfxThreadCreate(void *stackarea, size_t stacksz, gThreadpriority prio, DECLARE_THREAD_FUNCTION((*fn),p), void *param) {
|
gThread gfxThreadCreate(void *stackarea, size_t stacksz, gThreadpriority prio, DECLARE_THREAD_FUNCTION((*fn),p), void *param) {
|
||||||
gfxThreadHandle th;
|
gThread th;
|
||||||
(void) stackarea;
|
(void) stackarea;
|
||||||
(void) stacksz;
|
(void) stacksz;
|
||||||
(void) prio;
|
(void) prio;
|
||||||
|
@ -128,7 +128,7 @@ gfxThreadHandle gfxThreadCreate(void *stackarea, size_t stacksz, gThreadpriority
|
||||||
return th;
|
return th;
|
||||||
}
|
}
|
||||||
|
|
||||||
gThreadreturn gfxThreadWait(gfxThreadHandle thread) {
|
gThreadreturn gfxThreadWait(gThread thread) {
|
||||||
gThreadreturn retval;
|
gThreadreturn retval;
|
||||||
|
|
||||||
if (pthread_join(thread, &retval))
|
if (pthread_join(thread, &retval))
|
||||||
|
|
|
@ -26,7 +26,7 @@
|
||||||
typedef unsigned long gTicks;
|
typedef unsigned long gTicks;
|
||||||
typedef void * gThreadreturn;
|
typedef void * gThreadreturn;
|
||||||
typedef unsigned long gDelay;
|
typedef unsigned long gDelay;
|
||||||
typedef pthread_t gfxThreadHandle;
|
typedef pthread_t gThread;
|
||||||
typedef int gThreadpriority;
|
typedef int gThreadpriority;
|
||||||
typedef uint32_t gSemcount;
|
typedef uint32_t gSemcount;
|
||||||
typedef pthread_mutex_t gfxMutex;
|
typedef pthread_mutex_t gfxMutex;
|
||||||
|
@ -85,8 +85,8 @@ void gfxSemInit(gfxSem *psem, gSemcount val, gSemcount limit);
|
||||||
void gfxSemDestroy(gfxSem *psem);
|
void gfxSemDestroy(gfxSem *psem);
|
||||||
gBool gfxSemWait(gfxSem *psem, gDelay ms);
|
gBool gfxSemWait(gfxSem *psem, gDelay ms);
|
||||||
void gfxSemSignal(gfxSem *psem);
|
void gfxSemSignal(gfxSem *psem);
|
||||||
gfxThreadHandle gfxThreadCreate(void *stackarea, size_t stacksz, gThreadpriority prio, DECLARE_THREAD_FUNCTION((*fn),p), void *param);
|
gThread gfxThreadCreate(void *stackarea, size_t stacksz, gThreadpriority prio, DECLARE_THREAD_FUNCTION((*fn),p), void *param);
|
||||||
gThreadreturn gfxThreadWait(gfxThreadHandle thread);
|
gThreadreturn gfxThreadWait(gThread thread);
|
||||||
|
|
||||||
#endif /* GFX_USE_OS_LINUX */
|
#endif /* GFX_USE_OS_LINUX */
|
||||||
|
|
||||||
|
|
|
@ -92,8 +92,8 @@ gTicks gfxSystemTicks(void) {
|
||||||
return ts.tv_sec * 1000UL + ts.tv_nsec / 1000000;
|
return ts.tv_sec * 1000UL + ts.tv_nsec / 1000000;
|
||||||
}
|
}
|
||||||
|
|
||||||
gfxThreadHandle gfxThreadCreate(void *stackarea, size_t stacksz, gThreadpriority prio, DECLARE_THREAD_FUNCTION((*fn),p), void *param) {
|
gThread gfxThreadCreate(void *stackarea, size_t stacksz, gThreadpriority prio, DECLARE_THREAD_FUNCTION((*fn),p), void *param) {
|
||||||
gfxThreadHandle th;
|
gThread th;
|
||||||
(void) stackarea;
|
(void) stackarea;
|
||||||
(void) stacksz;
|
(void) stacksz;
|
||||||
(void) prio;
|
(void) prio;
|
||||||
|
@ -110,7 +110,7 @@ gfxThreadHandle gfxThreadCreate(void *stackarea, size_t stacksz, gThreadpriority
|
||||||
return th;
|
return th;
|
||||||
}
|
}
|
||||||
|
|
||||||
gThreadreturn gfxThreadWait(gfxThreadHandle thread) {
|
gThreadreturn gfxThreadWait(gThread thread) {
|
||||||
gThreadreturn retval;
|
gThreadreturn retval;
|
||||||
|
|
||||||
if (pthread_join(thread, &retval))
|
if (pthread_join(thread, &retval))
|
||||||
|
|
|
@ -17,7 +17,7 @@
|
||||||
typedef unsigned long gTicks;
|
typedef unsigned long gTicks;
|
||||||
typedef void * gThreadreturn;
|
typedef void * gThreadreturn;
|
||||||
typedef unsigned long gDelay;
|
typedef unsigned long gDelay;
|
||||||
typedef pthread_t gfxThreadHandle;
|
typedef pthread_t gThread;
|
||||||
typedef int gThreadpriority;
|
typedef int gThreadpriority;
|
||||||
typedef uint32_t gSemcount;
|
typedef uint32_t gSemcount;
|
||||||
typedef pthread_mutex_t gfxMutex;
|
typedef pthread_mutex_t gfxMutex;
|
||||||
|
@ -69,8 +69,8 @@ void gfxSemInit(gfxSem *psem, gSemcount val, gSemcount limit);
|
||||||
void gfxSemDestroy(gfxSem *psem);
|
void gfxSemDestroy(gfxSem *psem);
|
||||||
gBool gfxSemWait(gfxSem *psem, gDelay ms);
|
gBool gfxSemWait(gfxSem *psem, gDelay ms);
|
||||||
void gfxSemSignal(gfxSem *psem);
|
void gfxSemSignal(gfxSem *psem);
|
||||||
gfxThreadHandle gfxThreadCreate(void *stackarea, size_t stacksz, gThreadpriority prio, DECLARE_THREAD_FUNCTION((*fn),p), void *param);
|
gThread gfxThreadCreate(void *stackarea, size_t stacksz, gThreadpriority prio, DECLARE_THREAD_FUNCTION((*fn),p), void *param);
|
||||||
gThreadreturn gfxThreadWait(gfxThreadHandle thread);
|
gThreadreturn gfxThreadWait(gThread thread);
|
||||||
|
|
||||||
#endif /* GFX_USE_OS_OSX */
|
#endif /* GFX_USE_OS_OSX */
|
||||||
#endif /* _GOS_OSX_H */
|
#endif /* _GOS_OSX_H */
|
||||||
|
|
|
@ -185,7 +185,7 @@ void gfxSemSignalI(gfxSem *psem)
|
||||||
static_cast<QSemaphore*>(*psem)->release(1);
|
static_cast<QSemaphore*>(*psem)->release(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
gfxThreadHandle gfxThreadCreate(void *stackarea, size_t stacksz, gThreadpriority prio, DECLARE_THREAD_FUNCTION((*fn),p), void *param)
|
gThread gfxThreadCreate(void *stackarea, size_t stacksz, gThreadpriority prio, DECLARE_THREAD_FUNCTION((*fn),p), void *param)
|
||||||
{
|
{
|
||||||
Q_UNUSED(stackarea)
|
Q_UNUSED(stackarea)
|
||||||
|
|
||||||
|
@ -196,10 +196,10 @@ gfxThreadHandle gfxThreadCreate(void *stackarea, size_t stacksz, gThreadpriority
|
||||||
}
|
}
|
||||||
thread->start(static_cast<QThread::Priority>(prio));
|
thread->start(static_cast<QThread::Priority>(prio));
|
||||||
|
|
||||||
return static_cast<gfxThreadHandle>(thread);
|
return static_cast<gThread>(thread);
|
||||||
}
|
}
|
||||||
|
|
||||||
gThreadreturn gfxThreadWait(gfxThreadHandle thread)
|
gThreadreturn gfxThreadWait(gThread thread)
|
||||||
{
|
{
|
||||||
Thread* t = static_cast<Thread*>(thread);
|
Thread* t = static_cast<Thread*>(thread);
|
||||||
|
|
||||||
|
@ -210,12 +210,12 @@ gThreadreturn gfxThreadWait(gfxThreadHandle thread)
|
||||||
return returnValue;
|
return returnValue;
|
||||||
}
|
}
|
||||||
|
|
||||||
gfxThreadHandle gfxThreadMe(void)
|
gThread gfxThreadMe(void)
|
||||||
{
|
{
|
||||||
return static_cast<Thread*>(QThread::currentThread());
|
return static_cast<Thread*>(QThread::currentThread());
|
||||||
}
|
}
|
||||||
|
|
||||||
void gfxThreadClose(gfxThreadHandle thread)
|
void gfxThreadClose(gThread thread)
|
||||||
{
|
{
|
||||||
static_cast<Thread*>(thread)->exit();
|
static_cast<Thread*>(thread)->exit();
|
||||||
}
|
}
|
||||||
|
|
|
@ -28,7 +28,7 @@ typedef void* gfxSem;
|
||||||
typedef int gSemcount;
|
typedef int gSemcount;
|
||||||
typedef int gThreadreturn;
|
typedef int gThreadreturn;
|
||||||
typedef int gThreadpriority;
|
typedef int gThreadpriority;
|
||||||
typedef void* gfxThreadHandle;
|
typedef void* gThread;
|
||||||
|
|
||||||
void _gosInit();
|
void _gosInit();
|
||||||
void _gosDeinit();
|
void _gosDeinit();
|
||||||
|
@ -55,10 +55,10 @@ gBool gfxSemWait(gfxSem *psem, gDelay ms);
|
||||||
gBool gfxSemWaitI(gfxSem *psem);
|
gBool gfxSemWaitI(gfxSem *psem);
|
||||||
void gfxSemSignal(gfxSem *psem);
|
void gfxSemSignal(gfxSem *psem);
|
||||||
void gfxSemSignalI(gfxSem *psem);
|
void gfxSemSignalI(gfxSem *psem);
|
||||||
gfxThreadHandle gfxThreadCreate(void *stackarea, size_t stacksz, gThreadpriority prio, DECLARE_THREAD_FUNCTION((*fn),p), void *param);
|
gThread gfxThreadCreate(void *stackarea, size_t stacksz, gThreadpriority prio, DECLARE_THREAD_FUNCTION((*fn),p), void *param);
|
||||||
gThreadreturn gfxThreadWait(gfxThreadHandle thread);
|
gThreadreturn gfxThreadWait(gThread thread);
|
||||||
gfxThreadHandle gfxThreadMe(void);
|
gThread gfxThreadMe(void);
|
||||||
void gfxThreadClose(gfxThreadHandle thread);
|
void gfxThreadClose(gThread thread);
|
||||||
|
|
||||||
#endif /* GFX_USE_OS_QT */
|
#endif /* GFX_USE_OS_QT */
|
||||||
#endif /* _GOS_QT_H */
|
#endif /* _GOS_QT_H */
|
||||||
|
|
|
@ -75,10 +75,10 @@ gBool gfxSemWaitI(gfxSem* psem)
|
||||||
return gFalse;
|
return gFalse;
|
||||||
}
|
}
|
||||||
|
|
||||||
gfxThreadHandle gfxThreadCreate(void *stackarea, size_t stacksz, gThreadpriority prio, DECLARE_THREAD_FUNCTION((*fn),p), void *param)
|
gThread gfxThreadCreate(void *stackarea, size_t stacksz, gThreadpriority prio, DECLARE_THREAD_FUNCTION((*fn),p), void *param)
|
||||||
{
|
{
|
||||||
RAW_U16 ret;
|
RAW_U16 ret;
|
||||||
gfxThreadHandle taskobj;
|
gThread taskobj;
|
||||||
|
|
||||||
taskobj = gfxAlloc(sizeof(RAW_TASK_OBJ));
|
taskobj = gfxAlloc(sizeof(RAW_TASK_OBJ));
|
||||||
ret = raw_task_create(taskobj, (RAW_U8 *)"uGFX_TASK", param,
|
ret = raw_task_create(taskobj, (RAW_U8 *)"uGFX_TASK", param,
|
||||||
|
|
|
@ -20,7 +20,7 @@ typedef RAW_U8 gThreadpriority;
|
||||||
|
|
||||||
typedef RAW_SEMAPHORE gfxSem;
|
typedef RAW_SEMAPHORE gfxSem;
|
||||||
typedef RAW_MUTEX gfxMutex;
|
typedef RAW_MUTEX gfxMutex;
|
||||||
typedef RAW_TASK_OBJ* gfxThreadHandle;
|
typedef RAW_TASK_OBJ* gThread;
|
||||||
|
|
||||||
#define DECLARE_THREAD_FUNCTION(fnName, param) gThreadreturn fnName(void *param)
|
#define DECLARE_THREAD_FUNCTION(fnName, param) gThreadreturn fnName(void *param)
|
||||||
#define DECLARE_THREAD_STACK(name, sz) PORT_STACK name[(sz) & ~3];
|
#define DECLARE_THREAD_STACK(name, sz) PORT_STACK name[(sz) & ~3];
|
||||||
|
@ -67,7 +67,7 @@ void gfxSleepMilliseconds(gDelay ms);
|
||||||
void gfxSleepMicroseconds(gDelay us);
|
void gfxSleepMicroseconds(gDelay us);
|
||||||
gBool gfxSemWait(gfxSem* psem, gDelay ms);
|
gBool gfxSemWait(gfxSem* psem, gDelay ms);
|
||||||
gBool gfxSemWaitI(gfxSem* psem);
|
gBool gfxSemWaitI(gfxSem* psem);
|
||||||
gfxThreadHandle gfxThreadCreate(void *stackarea, size_t stacksz, gThreadpriority prio, DECLARE_THREAD_FUNCTION((*fn),p), void *param);
|
gThread gfxThreadCreate(void *stackarea, size_t stacksz, gThreadpriority prio, DECLARE_THREAD_FUNCTION((*fn),p), void *param);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
|
@ -103,7 +103,7 @@ gSemcount gfxSemCounter(gfxSem *pSem) {
|
||||||
}
|
}
|
||||||
*/
|
*/
|
||||||
|
|
||||||
gfxThreadHandle gfxThreadCreate(void *stackarea, size_t stacksz, gThreadpriority prio, DECLARE_THREAD_FUNCTION(*fn,p), void *param) {
|
gThread gfxThreadCreate(void *stackarea, size_t stacksz, gThreadpriority prio, DECLARE_THREAD_FUNCTION(*fn,p), void *param) {
|
||||||
(void) stackarea;
|
(void) stackarea;
|
||||||
HANDLE thd;
|
HANDLE thd;
|
||||||
|
|
||||||
|
@ -116,7 +116,7 @@ gfxThreadHandle gfxThreadCreate(void *stackarea, size_t stacksz, gThreadpriority
|
||||||
return thd;
|
return thd;
|
||||||
}
|
}
|
||||||
|
|
||||||
gThreadreturn gfxThreadWait(gfxThreadHandle thread) {
|
gThreadreturn gfxThreadWait(gThread thread) {
|
||||||
DWORD ret;
|
DWORD ret;
|
||||||
|
|
||||||
WaitForSingleObject(thread, INFINITE);
|
WaitForSingleObject(thread, INFINITE);
|
||||||
|
|
|
@ -44,7 +44,7 @@ typedef int gThreadpriority;
|
||||||
|
|
||||||
typedef HANDLE gfxSem;
|
typedef HANDLE gfxSem;
|
||||||
typedef HANDLE gfxMutex;
|
typedef HANDLE gfxMutex;
|
||||||
typedef HANDLE gfxThreadHandle;
|
typedef HANDLE gThread;
|
||||||
|
|
||||||
#define gfxExit() ExitProcess(0)
|
#define gfxExit() ExitProcess(0)
|
||||||
#define gfxAlloc(sz) malloc(sz)
|
#define gfxAlloc(sz) malloc(sz)
|
||||||
|
@ -75,8 +75,8 @@ void gfxSleepMicroseconds(gDelay ms);
|
||||||
gBool gfxSemWait(gfxSem *psem, gDelay ms);
|
gBool gfxSemWait(gfxSem *psem, gDelay ms);
|
||||||
void gfxSystemLock(void);
|
void gfxSystemLock(void);
|
||||||
void gfxSystemUnlock(void);
|
void gfxSystemUnlock(void);
|
||||||
gfxThreadHandle gfxThreadCreate(void *stackarea, size_t stacksz, gThreadpriority prio, DECLARE_THREAD_FUNCTION(*fn,p), void *param);
|
gThread gfxThreadCreate(void *stackarea, size_t stacksz, gThreadpriority prio, DECLARE_THREAD_FUNCTION(*fn,p), void *param);
|
||||||
gThreadreturn gfxThreadWait(gfxThreadHandle thread);
|
gThreadreturn gfxThreadWait(gThread thread);
|
||||||
|
|
||||||
#endif /* GFX_USE_OS_WIN32 */
|
#endif /* GFX_USE_OS_WIN32 */
|
||||||
#endif /* _GOS_WIN32_H */
|
#endif /* _GOS_WIN32_H */
|
||||||
|
|
|
@ -457,8 +457,8 @@ void _gosThreadsInit(void) {
|
||||||
_gfxCurrentThread = &mainthread;
|
_gfxCurrentThread = &mainthread;
|
||||||
}
|
}
|
||||||
|
|
||||||
gfxThreadHandle gfxThreadMe(void) {
|
gThread gfxThreadMe(void) {
|
||||||
return (gfxThreadHandle)_gfxCurrentThread;
|
return (gThread)_gfxCurrentThread;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Check if there are dead processes to deallocate
|
// Check if there are dead processes to deallocate
|
||||||
|
@ -508,7 +508,7 @@ void gfxThreadExit(gThreadreturn ret) {
|
||||||
// We never get back here as we didn't re-queue ourselves
|
// We never get back here as we didn't re-queue ourselves
|
||||||
}
|
}
|
||||||
|
|
||||||
gfxThreadHandle gfxThreadCreate(void *stackarea, size_t stacksz, gThreadpriority prio, DECLARE_THREAD_FUNCTION((*fn),p), void *param) {
|
gThread gfxThreadCreate(void *stackarea, size_t stacksz, gThreadpriority prio, DECLARE_THREAD_FUNCTION((*fn),p), void *param) {
|
||||||
thread * t;
|
thread * t;
|
||||||
thread * me;
|
thread * me;
|
||||||
(void) prio;
|
(void) prio;
|
||||||
|
@ -543,7 +543,7 @@ gfxThreadHandle gfxThreadCreate(void *stackarea, size_t stacksz, gThreadpriority
|
||||||
return t;
|
return t;
|
||||||
}
|
}
|
||||||
|
|
||||||
gThreadreturn gfxThreadWait(gfxThreadHandle th) {
|
gThreadreturn gfxThreadWait(gThread th) {
|
||||||
thread * t;
|
thread * t;
|
||||||
|
|
||||||
t = th;
|
t = th;
|
||||||
|
|
|
@ -47,7 +47,7 @@ typedef struct {
|
||||||
} gfxSem;
|
} gfxSem;
|
||||||
|
|
||||||
typedef uint32_t gfxMutex;
|
typedef uint32_t gfxMutex;
|
||||||
typedef void * gfxThreadHandle;
|
typedef void * gThread;
|
||||||
|
|
||||||
// Required timing functions - supplied by the user or the operating system
|
// Required timing functions - supplied by the user or the operating system
|
||||||
gTicks gfxSystemTicks(void);
|
gTicks gfxSystemTicks(void);
|
||||||
|
@ -77,10 +77,10 @@ void gfxSemSignal(gfxSem *psem);
|
||||||
void gfxSemSignalI(gfxSem *psem);
|
void gfxSemSignalI(gfxSem *psem);
|
||||||
|
|
||||||
// Threads
|
// Threads
|
||||||
gfxThreadHandle gfxThreadCreate(void *stackarea, size_t stacksz, gThreadpriority prio, DECLARE_THREAD_FUNCTION((*fn),p), void *param);
|
gThread gfxThreadCreate(void *stackarea, size_t stacksz, gThreadpriority prio, DECLARE_THREAD_FUNCTION((*fn),p), void *param);
|
||||||
#define gfxThreadClose(thread)
|
#define gfxThreadClose(thread)
|
||||||
gThreadreturn gfxThreadWait(gfxThreadHandle thread);
|
gThreadreturn gfxThreadWait(gThread thread);
|
||||||
gfxThreadHandle gfxThreadMe(void);
|
gThread gfxThreadMe(void);
|
||||||
|
|
||||||
/** The following is not part of the public ugfx API as some operating systems
|
/** The following is not part of the public ugfx API as some operating systems
|
||||||
* simply do not provide this capability.
|
* simply do not provide this capability.
|
||||||
|
|
|
@ -41,7 +41,7 @@ typedef struct k_sem gfxSem;
|
||||||
|
|
||||||
typedef struct k_mutex gfxMutex;
|
typedef struct k_mutex gfxMutex;
|
||||||
|
|
||||||
typedef k_tid_t gfxThreadHandle;
|
typedef k_tid_t gThread;
|
||||||
|
|
||||||
/*===========================================================================*/
|
/*===========================================================================*/
|
||||||
/* Function declarations. */
|
/* Function declarations. */
|
||||||
|
|
|
@ -19,7 +19,7 @@
|
||||||
|
|
||||||
/* This mutex protects access to our tables */
|
/* This mutex protects access to our tables */
|
||||||
static gfxMutex mutex;
|
static gfxMutex mutex;
|
||||||
static gfxThreadHandle hThread = 0;
|
static gThread hThread = 0;
|
||||||
static GTimer *pTimerHead = 0;
|
static GTimer *pTimerHead = 0;
|
||||||
static gfxSem waitsem;
|
static gfxSem waitsem;
|
||||||
static gTicks ticks2ms;
|
static gTicks ticks2ms;
|
||||||
|
|
Loading…
Add table
Reference in a new issue