diff --git a/changelog.txt b/changelog.txt index b50aff90..4bc85283 100644 --- a/changelog.txt +++ b/changelog.txt @@ -42,6 +42,8 @@ CHANGE: Upgrade GFILE FATFS support from V0.10b to V0.13 FEATURE: Added UC1610 driver FIX: Fixed to allow gwinSetText with static text on a TextEdit control FIX: Fixed to ChibiOS realloc on a TextEdit control +FEATURE: Added support for CMSIS V2.0 operating systems (eg RTX5) +REMOVED: Removed long deprecated functions gfxSemCounter() and gfxSemCounterI() *** Release 2.7 *** diff --git a/gfxconf.example.h b/gfxconf.example.h index b278ed70..e32dd19f 100644 --- a/gfxconf.example.h +++ b/gfxconf.example.h @@ -36,7 +36,9 @@ //#define GFX_USE_OS_RAWRTOS FALSE //#define GFX_USE_OS_ARDUINO FALSE //#define GFX_USE_OS_KEIL FALSE +//#define GFX_USE_OS_RTX5 FALSE //#define GFX_USE_OS_CMSIS FALSE +//#define GFX_USE_OS_CMSIS2 FALSE //#define GFX_USE_OS_RAW32 FALSE //#define GFX_USE_OS_NIOS FALSE //#define GFX_USE_OS_QT FALSE diff --git a/src/gos/gos.h b/src/gos/gos.h index 2db896af..dedfcdda 100644 --- a/src/gos/gos.h +++ b/src/gos/gos.h @@ -476,8 +476,12 @@ #include "gos_arduino.h" #elif GFX_USE_OS_CMSIS #include "gos_cmsis.h" +#elif GFX_USE_OS_CMSIS2 + #include "gos_cmsis2.h" #elif GFX_USE_OS_KEIL #include "gos_keil.h" +#elif GFX_USE_OS_RTX5 + #include "gos_rtx5.h" #elif GFX_USE_OS_NIOS #include "gos_nios.h" #elif GFX_USE_OS_QT diff --git a/src/gos/gos_options.h b/src/gos/gos_options.h index e8ce12e7..1c6dc8b1 100644 --- a/src/gos/gos_options.h +++ b/src/gos/gos_options.h @@ -91,12 +91,26 @@ #define GFX_USE_OS_CMSIS FALSE #endif /** - * @brief Use Keil CMSIS + * @brief Use CMSIS2 RTOS compatible OS + * @details Defaults to FALSE + */ + #ifndef GFX_USE_OS_CMSIS2 + #define GFX_USE_OS_CMSIS2 FALSE + #endif + /** + * @brief Use Keil CMSIS 1.x (RTOS, RTX4) * @details Defaults to FALSE */ #ifndef GFX_USE_OS_KEIL #define GFX_USE_OS_KEIL FALSE #endif + /** + * @brief Use Keil RTX5 + * @details Defaults to FALSE + */ + #ifndef GFX_USE_OS_RTX5 + #define GFX_USE_OS_RTX5 FALSE + #endif /** * @brief Use NIOS-II * @details Defaults to FALSE diff --git a/src/gos/gos_rules.h b/src/gos/gos_rules.h index 6779045d..08de1f3f 100644 --- a/src/gos/gos_rules.h +++ b/src/gos/gos_rules.h @@ -16,11 +16,11 @@ #ifndef _GOS_RULES_H #define _GOS_RULES_H -#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 && !GFX_USE_OS_ECOS && !GFX_USE_OS_RAWRTOS && !GFX_USE_OS_ARDUINO && !GFX_USE_OS_CMSIS && !GFX_USE_OS_KEIL && !GFX_USE_OS_NIOS && !GFX_USE_OS_QT +#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 && !GFX_USE_OS_ECOS && !GFX_USE_OS_RAWRTOS && !GFX_USE_OS_ARDUINO && !GFX_USE_OS_CMSIS && !GFX_USE_OS_CMSIS2 && !GFX_USE_OS_KEIL && !GFX_USE_OS_RTX5 && !GFX_USE_OS_NIOS && !GFX_USE_OS_QT #error "GOS: No operating system has been defined." #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 + GFX_USE_OS_ECOS + GFX_USE_OS_RAWRTOS + GFX_USE_OS_ARDUINO + GFX_USE_OS_CMSIS + GFX_USE_OS_KEIL + GFX_USE_OS_NIOS + GFX_USE_OS_QT != 1 * TRUE +#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 + GFX_USE_OS_ECOS + GFX_USE_OS_RAWRTOS + GFX_USE_OS_ARDUINO + GFX_USE_OS_CMSIS + GFX_USE_OS_CMSIS2 + GFX_USE_OS_KEIL + GFX_USE_OS_RTX5 + GFX_USE_OS_NIOS + GFX_USE_OS_QT != 1 * TRUE #error "GOS: More than one operation system has been defined as TRUE." #endif @@ -30,7 +30,7 @@ #if GFX_EMULATE_MALLOC #if GFX_USE_OS_WIN32 || GFX_USE_OS_LINUX || GFX_USE_OS_OSX || GFX_USE_OS_ECOS || \ - (GFX_OS_HEAP_SIZE == 0 && (GFX_USE_OS_RAW32 || GFX_USE_OS_ARDUINO || GFX_USE_OS_CMSIS || GFX_USE_OS_KEIL)) + (GFX_OS_HEAP_SIZE == 0 && (GFX_USE_OS_RAW32 || GFX_USE_OS_ARDUINO || GFX_USE_OS_CMSIS || GFX_USE_OS_CMSIS2 || GFX_USE_OS_KEIL || GFX_USE_OS_RTX5)) #if GFX_DISPLAY_RULE_WARNINGS #if GFX_COMPILER_WARNING_TYPE == GFX_COMPILER_WARNING_DIRECT #warning "GOS: Cannot emulate malloc as gfxAlloc() internally uses malloc on this platform"