diff --git a/gfxconf.example.h b/gfxconf.example.h index fe7814bf..22135ca0 100644 --- a/gfxconf.example.h +++ b/gfxconf.example.h @@ -18,12 +18,16 @@ #ifndef _GFXCONF_H #define _GFXCONF_H -/* The operating system to use. One of these must be defined - preferably in your Makefile */ -//#define GFX_USE_OS_CHIBIOS TRUE -//#define GFX_USE_OS_FREERTOS TRUE -//#define GFX_USE_OS_WIN32 TRUE -//#define GFX_USE_OS_LINUX TRUE -//#define GFX_USE_OS_OSX TRUE + +/////////////////////////////////////////////////////////////////////////// +// GOS - One of these must be defined, preferably in your Makefile // +/////////////////////////////////////////////////////////////////////////// +//#define GFX_USE_OS_CHIBIOS FALSE +//#define GFX_USE_OS_FREERTOS FALSE + #define GFX_FREERTOS_USE_TRACE FALSE +//#define GFX_USE_OS_WIN32 FALSE +//#define GFX_USE_OS_LINUX FALSE +//#define GFX_USE_OS_OSX FALSE /////////////////////////////////////////////////////////////////////////// diff --git a/src/gos/freertos.c b/src/gos/freertos.c index ce831a4c..a61914c0 100644 --- a/src/gos/freertos.c +++ b/src/gos/freertos.c @@ -5,10 +5,6 @@ * http://ugfx.org/license.html */ -/** - * @file src/gos/freertos.c - * @brief GOS FreeRTOS Operating System support. - */ #include "gfx.h" #include @@ -85,7 +81,9 @@ void gfxSemInit(gfxSem* psem, semcount_t val, semcount_t limit) psem->limit = limit; psem->sem = xSemaphoreCreateCounting(limit,val); - vTraceSetSemaphoreName(psem->sem, "uGFXSema"); // for FreeRTOS+Trace debug + #if GFX_FREERTOS_USE_TRACE + vTraceSetSemaphoreName(psem->sem, "uGFXSema"); // for FreeRTOS+Trace debug + #endif } void gfxSemDestroy(gfxSem* psem) @@ -158,4 +156,3 @@ gfxThreadHandle gfxThreadCreate(void *stackarea, size_t stacksz, threadpriority_ } #endif /* GFX_USE_OS_FREERTOS */ -/** @} */ diff --git a/src/gos/freertos.h b/src/gos/freertos.h index 7fa9ee4f..db1c427b 100644 --- a/src/gos/freertos.h +++ b/src/gos/freertos.h @@ -39,7 +39,7 @@ typedef int8_t bool_t; typedef uint32_t delaytime_t; typedef portTickType systemticks_t; typedef int32_t semcount_t; -typedef void threadreturn_t; +typedef void threadreturn_t; typedef portBASE_TYPE threadpriority_t; #define MAX_SEMAPHORE_COUNT ((semcount_t)(((unsigned long)((semcount_t)(-1))) >> 1)) @@ -81,7 +81,9 @@ extern "C" { static inline void gfxMutexInit(xSemaphoreHandle *s) { *s = xSemaphoreCreateMutex(); - vTraceSetMutexName(*s,"uGFXMutex"); // for FreeRTOS+Trace debug + #if GFX_FREERTOS_USE_TRACE + vTraceSetMutexName(*s,"uGFXMutex"); // for FreeRTOS+Trace debug + #endif } #define gfxMutexDestroy(pmutex) vSemaphoreDelete(*pmutex) #define gfxMutexEnter(pmutex) xSemaphoreTake(*pmutex,portMAX_DELAY) diff --git a/src/gos/sys_options.h b/src/gos/sys_options.h index 90a5bc91..cfbed057 100644 --- a/src/gos/sys_options.h +++ b/src/gos/sys_options.h @@ -65,9 +65,16 @@ /** * @} * - * @name GOS Optional Sizing Parameters + * @name GOS Optional Parameters * @{ */ + /** + * @brief Should uGFX stuff be added to the FreeRTOS+Tracer + * @details Defaults to FALSE + */ + #ifndef GFX_FREERTOS_USE_TRACE + #define GFX_FREERTOS_USE_TRACE FALSE + #endif /** @} */ #endif /* _GOS_OPTIONS_H */ diff --git a/src/gos/sys_rules.h b/src/gos/sys_rules.h index ff4a1ecb..f23d330b 100644 --- a/src/gos/sys_rules.h +++ b/src/gos/sys_rules.h @@ -23,9 +23,14 @@ #undef GFX_USE_OS_CHIBIOS #define GFX_USE_OS_CHIBIOS TRUE #endif + #if GFX_USE_OS_CHIBIOS + GFX_USE_OS_WIN32 + GFX_USE_OS_LINUX + GFX_USE_OS_OSX + GFX_USE_OS_RAW32 + GFX_USE_OS_FREERTOS != 1 * TRUE #error "GOS: More than one operation system has been defined as TRUE." #endif +#if GFX_FREERTOS_USE_TRACE && !GFX_USE_OS_FREERTOS + #error "GOS: GFX_FREERTOS_USE_TRACE is only available for the FreeRTOS port." +#endif + #endif /* _GOS_RULES_H */ /** @} */