Difference between revisions of "Configuration"
(→GOS) |
|||
(58 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
− | + | All project specific options for µGFX are defined in the file '''gfxconf.h''' which must be supplied by the user (place it in your project directory). Within each section, the very first option enables or disables the entire module. All the following sub-options only take effect when the module is enabled. | |
== Template == | == Template == | ||
A template of the '''gfxconf.h''' file can be found in the top-level directory of the µGFX folder. It is called '''gfxconf.example.h'''. You can copy this file to your project directory and rename it to '''gfxconf.h'''. | A template of the '''gfxconf.h''' file can be found in the top-level directory of the µGFX folder. It is called '''gfxconf.example.h'''. You can copy this file to your project directory and rename it to '''gfxconf.h'''. | ||
+ | |||
+ | In your '''gfxconf.h''' you should leave commented out any options you are leaving them as the default value. | ||
+ | This improves the future compatibility of your project as we make changes to the µGFX | ||
+ | default configuration. | ||
+ | |||
+ | As the '''gfxconf.example.h''' is kept up to date as we change the source code, it may have more up to date definitions than this document. | ||
+ | |||
+ | == GOS == | ||
+ | {| class="wikitable" | ||
+ | ! scope="col"|Option | ||
+ | ! scope="col"|Description | ||
+ | |- | ||
+ | |GFX_USE_OS_RAW32 | ||
+ | |Use the bare metal port without any underlying OS.<br/>See [[BareMetal]]. | ||
+ | |- | ||
+ | |INTERRUPTS_ON() | ||
+ | |Optionally set code that is executed when interrupts are turned on.<br/>See [[BareMetal#Interrupts|Interrupts]]. | ||
+ | |- | ||
+ | |INTERRUPTS_OFF() | ||
+ | |Optionally set code that is executed when interrupts are turned off.<br/>See [[BareMetal#Interrupts|Interrupts]]. | ||
+ | |- | ||
+ | |GFX_USE_OS_CHIBIOS | ||
+ | |Use ChibiOS/RT as the underlying system.<br/>See [[ChibiOS/RT]]. | ||
+ | |- | ||
+ | |GFX_USE_OS_FREERTOS | ||
+ | |Use FreeRTOS as the underlying system.<br/>See [[FreeRTOS]]. | ||
+ | |- | ||
+ | |GFX_USE_OS_ZEPHYR | ||
+ | |Use Zephyr as the underlying system.<br/>See [[Zephyr]]. | ||
+ | |- | ||
+ | |GFX_FREERTOS_USE_TRACE | ||
+ | |Enable support for the [http://www.freertos.org/FreeRTOS-Plus/FreeRTOS_Plus_Trace/FreeRTOS_Plus_Trace.shtml FreeRTOS+Trace feature].<br/>See [[FreeRTOS#Trace|Trace]]. | ||
+ | |- | ||
+ | |GFX_USE_OS_CMSIS | ||
+ | |Use any CMSIS-RTOS compatible operating system the underlying system.<br/>See [[CMSIS]]. | ||
+ | |- | ||
+ | |GFX_USE_OS_KEIL | ||
+ | |Use Keil RTX as the underlying system.<br/>See [[Using_Keil_µVision_5_MDK-ARM#Keil_RTX|Keil RTX]]. | ||
+ | |- | ||
+ | |GFX_USE_OS_ECOS | ||
+ | |Use eCOS as the underlying system.<br/>See [[eCOS]]. | ||
+ | |- | ||
+ | |GFX_USE_OS_NIOS | ||
+ | |Use NIOS-II as the underlying system.<br/>See [[NIOS]]. | ||
+ | |- | ||
+ | |GFX_USE_OS_ARDUINO | ||
+ | |Use Arduino the underlying system.<br/>See [[Arduino]]. | ||
+ | |- | ||
+ | |GFX_USE_OS_WIN32 | ||
+ | |Use Windows as the underlying system.<br/>See [[Windows]]. | ||
+ | |- | ||
+ | |GFX_USE_OS_LINUX | ||
+ | |Use Linux as the underlying system.<br/>See [[Linux]]. | ||
+ | |- | ||
+ | |GFX_USE_OS_OSX | ||
+ | |Use Mac OS X as the underlying system.<br/>See [[Mac_OS_X]]. | ||
+ | |- | ||
+ | |GFX_COMPILER | ||
+ | |Enables compiler specific code. Usually not required as all compilers are auto-detected.<br/> See [[GOS#Compiler|Compiler]]. | ||
+ | |- | ||
+ | |GFX_SHOW_COMPILER | ||
+ | |If set to <code>TRUE</code>, a compiler warning will be generated showing the name of the compiler that was set or automatically detected.<br/> See [[GOS#Compiler|Compiler]]. | ||
+ | |- | ||
+ | |GFX_CPU | ||
+ | |Enables CPU specific code.<br/> See [[GOS#CPU|CPU]]. | ||
+ | |- | ||
+ | |GFX_CPU_ENDIAN | ||
+ | |Enables CPU-endian specific code.<br/> See [[GOS#Endian|Endian]]. | ||
+ | |- | ||
+ | |GFX_NO_INLINE | ||
+ | |Can be used to disable the inlining of functions inside the µGFX library.<br/> See [[GOS#Inlining|Inlining]]. | ||
+ | |- | ||
+ | |GFX_OS_HEAP_SIZE | ||
+ | |Set the maximum size of the heap. If set to 0, the C runtime library <code>malloc()</code> and <code>free()</code> are used.<br/>See [[BareMetal#Memory Management|Memory Management]]. | ||
+ | |- | ||
+ | |GFX_OS_NO_INIT | ||
+ | |Do not initialize the underlying operating system when calling <code>gfxInit()</code>.<br/> See [[GOS#Initialization|Initialization]]. | ||
+ | |- | ||
+ | |GFX_OS_INIT_NO_WARNING | ||
+ | |Turn off warnings about initializing the operating system.<br/> See [[GOS#Warning|Warning]]. | ||
+ | |- | ||
+ | |GFX_OS_EXTRA_INIT_FUNCTION | ||
+ | |Optionally set code that is executed when the operating system is being initialized.<br/> See [[GOS#Extra_functions|Extra functions]]. | ||
+ | |- | ||
+ | |GFX_OS_EXTRA_DEINIT_FUNCTION | ||
+ | |Optionally set code that is executed when the operating system is being deinitialized.<br/> See [[GOS#Extra_functions|Extra functions]]. | ||
+ | |- | ||
+ | |GFX_EMULATE_MALLOC | ||
+ | |If turned on, uGFX will create its own implementations of ''malloc()'' and ''free()'' which are wrappers to ''gfxAlloc()'' and ''gfxFree()''.<br/> See [[GOS#Emulating_Malloc|Emulating Malloc]]. | ||
+ | |} | ||
== GDISP == | == GDISP == | ||
Line 9: | Line 99: | ||
! scope="col"|Description | ! scope="col"|Description | ||
|- | |- | ||
− | | | + | |GFX_USE_GDISP |
− | |Enable or disable the entire | + | |Enable or disable the entire GDISP module.<br/>See [[GDISP]]. |
|-style="height:25px" | |-style="height:25px" | ||
| | | | ||
|- | |- | ||
+ | |GDISP_NEED_AUTOFLUSH | ||
+ | |Flush drawing operations automatically.<br/>See [[GDISP#Flushing | Flushing]]. | ||
+ | |- | ||
+ | |GDISP_NEED_TIMERFLUSH | ||
+ | |Flush drawing operations automatically using a timer.<br/>See [[GDISP#Flushing | Flushing]]. | ||
+ | |- | ||
+ | |GDISP_NEED_VALIDATION | ||
+ | |Clip all drawing operations to the screen limits and validate color values.<br/>See [[GDISP#Validation | Validation]]. | ||
+ | |- | ||
+ | |GDISP_NEED_CLIP | ||
+ | |Add area clipping feature.<br/>See [[GDISP#Clipping|Clipping]]. | ||
+ | |- | ||
+ | |GDISP_NEED_CIRCLE | ||
+ | |Include circle drawing functions.<br/>See [[Drawing#Circle|Circle]]. | ||
+ | |- | ||
+ | |GDISP_NEED_DUALCIRCLE | ||
+ | |Include dual circle drawing functions.<br/>See [[Drawing#Dual_Circle|Dual Circle]]. | ||
+ | |- | ||
+ | |GDISP_NEED_ELLIPSE | ||
+ | |Include ellipse drawing functions.<br/>See [[Drawing#Ellipse|Ellipse]]. | ||
+ | |- | ||
+ | |GDISP_NEED_ARC | ||
+ | |Include arc drawing functions.<br/>See [[Drawing#Arc|Arc]]. | ||
+ | |- | ||
+ | |GDISP_NEED_CONVEX_POLYGON | ||
+ | |Include convex polygon and thick line drawing functions.<br/>See [[Drawing#Polygon|Polygon]]. | ||
+ | |- | ||
+ | |GDISP_NEED_SCROLL | ||
+ | |Include scrolling functions.<br/>See [[GDISP#Scrolling|Scrolling]]. | ||
+ | |- | ||
+ | |GDISP_NEED_PIXELREAD | ||
+ | |Can pixels be read back from the display/memory?<br/>See [[GDISP#Read_Back|Read Back]]. | ||
+ | |- | ||
+ | |GDISP_NEED_CONTROL | ||
+ | |Can hardware aspects like the orientation, backlight and contrast be controlled?<br/>See [[GDISP#Controls|Control]]. | ||
+ | |- | ||
+ | |GDISP_NEED_QUERY | ||
+ | |Can hardware aspects like backlight and contrast be read back?<br/>See [[GDISP#Query|Query]]. | ||
+ | |-style="height:25px" | ||
+ | |- | ||
+ | |GDISP_NEED_MULTITHREAD | ||
+ | |Make all GDISP calls thread safe.<br/>See [[GDISP#Thread_safe|Thread safe]]. | ||
+ | |- | ||
+ | |GDISP_NEED_IMAGE | ||
+ | |Include the image decoder feature.<br/>See [[Images]]. | ||
+ | |- | ||
+ | |GDISP_NEED_ACCOUNTING | ||
+ | |Include accounting feature which registers the memory usage of each image.<br/>See [[Images#Accounting|Accounting]]. | ||
+ | |- | ||
+ | |GDISP_NEED_IMAGE_NATIVE | ||
+ | |Include the decoder for the native image format.<br/>See [[Images#Native|Native]]. | ||
+ | |- | ||
+ | |GDISP_NEED_IMAGE_GIF | ||
+ | |Include the decoder for the GIF image format.<br/>See [[Images#GIF|GIF]]. | ||
+ | |- | ||
+ | |GDISP_NEED_IMAGE_BMP | ||
+ | |Include the decoder for the BMP image format.<br/>See [[Images#BMP|BMP]]. | ||
+ | |- | ||
+ | |GDISP_NEED_IMAGE_BMP_1 | ||
+ | |Include the decoder for the BMP_1 image format.<br/>See [[Images#BMP|BMP]]. | ||
+ | |- | ||
+ | |GDISP_NEED_IMAGE_BMP_4 | ||
+ | |Include the decoder for the BMP_4 image format.<br/>See [[Images#BMP|BMP]]. | ||
+ | |- | ||
+ | |GDISP_NEED_IMAGE_BMP_4_RLE | ||
+ | |Include the decoder for the BMP_4_RLE image format.<br/>See [[Images#BMP|BMP]]. | ||
+ | |- | ||
+ | |GDISP_NEED_IMAGE_BMP_8 | ||
+ | |Include the decoder for the BMP_8 image format.<br/>See [[Images#BMP|BMP]]. | ||
+ | |- | ||
+ | |GDISP_NEED_IMAGE_BMP_8_RL | ||
+ | |Include the decoder for the BMP_8_RLE image format.<br/>See [[Images#BMP|BMP]]. | ||
+ | |- | ||
+ | |GDISP_NEED_IMAGE_BMP_16 | ||
+ | |Include the decoder for the BMP_16 image format.<br/>See [[Images#BMP|BMP]]. | ||
+ | |- | ||
+ | |GDISP_NEED_IMAGE_BMP_24 | ||
+ | |Include the decoder for the BMP_24 image format.<br/>See [[Images#BMP|BMP]]. | ||
+ | |- | ||
+ | |GDISP_NEED_IMAGE_BMP_32 | ||
+ | |Include the decoder for the BMP_32 image format.<br/>See [[Images#BMP|BMP]]. | ||
+ | |- | ||
+ | |GDISP_NEED_IMAGE_JPG | ||
+ | |Not implemented yet.<br/>See [[ToDo|ToDo]]. | ||
+ | |- | ||
+ | |GDISP_NEED_IMAGE_PNG | ||
+ | |Not implemented yet.<br/>See [[ToDo|ToDo]]. | ||
+ | |-style="height:25px" | ||
| | | | ||
+ | |- | ||
+ | |GDISP_NEED_TEXT | ||
+ | |Include the font rendering feature.<br/>See [[Font_rendering|Font rendering]]. | ||
+ | |- | ||
+ | |GDISP_NEED_TEXT_WORDWRAP | ||
+ | |Enable word-wrapping.<br/>See [[Font_rendering#Word-Wrapping|Word-Wrapping]]. | ||
+ | |- | ||
+ | |GDISP_NEED_ANTIALIAS | ||
+ | |Enable anti-aliasing for fonts.<br/>See [[Font_rendering#Anti-Aliasing|Anti-Aliasing]]. | ||
+ | |- | ||
+ | |GDISP_NEED_KERNING | ||
+ | |Enable kerning for fonts.<br/>See [[Font_rendering#Kerning|Kerning]]. | ||
+ | |- | ||
+ | |GDISP_NEED_UTF8 | ||
+ | |Enable unicode support for fonts.<br/>See [[Font_rendering#Unicode|Unicode]]. | ||
+ | |- | ||
+ | |GDISP_INCLUDE_FONT_UI1 | ||
+ | |Include the UI1 font.<br/>See [[Font_rendering#Fonts|Fonts]]. | ||
+ | |- | ||
+ | |GDISP_INCLUDE_FONT_UI2 | ||
+ | |Include the UI2 font.<br/>See [[Font_rendering#Fonts|Fonts]]. | ||
+ | |- | ||
+ | |GDISP_INCLUDE_FONT_LARGENUMBERS | ||
+ | |Include the largenumbers font.<br/>See [[Font_rendering#Fonts|Fonts]]. | ||
+ | |- | ||
+ | |GDISP_INCLUDE_FONT_DEJAVUSANS10 | ||
+ | |Include the DejaVu Sans 10 font.<br/>See [[Font_rendering#Fonts|Fonts]]. | ||
+ | |- | ||
+ | |GDISP_INCLUDE_FONT_DEJAVUSANS12 | ||
+ | |Include the DejaVu Sans 12 font.<br/>See [[Font_rendering#Fonts|Fonts]]. | ||
+ | |- | ||
+ | |GDISP_INCLUDE_FONT_DEJAVUSANS16 | ||
+ | |Include the DejaVu Sans 16 font.<br/>See [[Font_rendering#Fonts|Fonts]]. | ||
+ | |- | ||
+ | |GDISP_INCLUDE_FONT_DEJAVUSANS20 | ||
+ | |Include the DejaVu Sans 20 font.<br/>See [[Font_rendering#Fonts|Fonts]]. | ||
+ | |- | ||
+ | |GDISP_INCLUDE_FONT_DEJAVUSANS24 | ||
+ | |Include the DejaVu Sans 24 font.<br/>See [[Font_rendering#Fonts|Fonts]]. | ||
+ | |- | ||
+ | |GDISP_INCLUDE_FONT_DEJAVUSANS32 | ||
+ | |Include the DejaVu Sans 32 font.<br/>See [[Font_rendering#Fonts|Fonts]]. | ||
+ | |- | ||
+ | |GDISP_INCLUDE_FONT_DEJAVUSANSBOLD12 | ||
+ | |Include the DejaVu Sans Bold 12 font.<br/>See [[Font_rendering#Fonts|Fonts]]. | ||
+ | |- | ||
+ | |GDISP_INCLUDE_FONT_FIXED_10X20 | ||
+ | |Include the Fixed 10x20 font.<br/>See [[Font_rendering#Fonts|Fonts]]. | ||
+ | |- | ||
+ | |GDISP_INCLUDE_FONT_FIXED_7X14 | ||
+ | |Include the Fixed 7x14 font.<br/>See [[Font_rendering#Fonts|Fonts]]. | ||
+ | |- | ||
+ | |GDISP_INCLUDE_FONT_FIXED_5X8 | ||
+ | |Include the Fixed 5x8 font.<br/>See [[Font_rendering#Fonts|Fonts]]. | ||
+ | |- | ||
+ | |GDISP_INCLUDE_FONT_DEJAVUSANS12_AA | ||
+ | |Include the DejaVu Sans 12 font with anti-aliasing.<br/>See [[Font_rendering#Fonts|Fonts]]. | ||
+ | |- | ||
+ | |GDISP_INCLUDE_FONT_DEJAVUSANS16_AA | ||
+ | |Include the DejaVu Sans 16 font with anti-aliasing.<br/>See [[Font_rendering#Fonts|Fonts]]. | ||
+ | |- | ||
+ | |GDISP_INCLUDE_FONT_DEJAVUSANS20_AA | ||
+ | |Include the DejaVu Sans 20 font with anti-aliasing.<br/>See [[Font_rendering#Fonts|Fonts]]. | ||
+ | |- | ||
+ | |GDISP_INCLUDE_FONT_DEJAVUSANS24_AA | ||
+ | |Include the DejaVu Sans 24 font with anti-aliasing.<br/>See [[Font_rendering#Fonts|Fonts]]. | ||
+ | |- | ||
+ | |GDISP_INCLUDE_FONT_DEJAVUSANS32_AA | ||
+ | |Include the DejaVu Sans 32 font with anti-aliasing.<br/>See [[Font_rendering#Fonts|Fonts]]. | ||
+ | |- | ||
+ | |GDISP_INCLUDE_FONT_DEJAVUSANSBOLD12_AA | ||
+ | |Include the DejaVu Sans Bold 12 font with anti-aliasing.<br/>See [[Font_rendering#Fonts|Fonts]]. | ||
+ | |- | ||
+ | |GDISP_INCLUDE_USER_FONTS | ||
+ | |Include fonts specified by the user.<br/>See [[Font_rendering#Custon_fonts|Custom Fonts]]. | ||
+ | |-style="height:25px" | ||
+ | | | ||
+ | |- | ||
+ | |GDISP_STARTUP_COLOR | ||
+ | |The color which is used when clearing the display during gfxInit().<br/>See [[GDISP#Color_format|Colors]]. | ||
+ | |- | ||
+ | |GDISP_NEED_STARTUP_LOGO | ||
+ | |Display the uGFX Logo when initializing the GDISP module for one second.<br/>See [[GDISP#Startup_Logo|Start-Up Logo]]. | ||
+ | |- | ||
+ | |GDISP_DEFAULT_ORIENTATION | ||
+ | |The default orientation of the used display pnale.<br/>See [[GDISP#Orientation|Orientation]]. | ||
+ | |- | ||
+ | |GDISP_LINEBUF_SIZE | ||
+ | |The size of the pixel buffer (in pixels) used for optimizations.<br/>See [[GDISP#Optimizations|Optimizations]]. | ||
+ | |- | ||
+ | |GDISP_TOTAL_DISPLAYS | ||
+ | |The total amount of displays used.<br/>See [[GDISP#Multiple_displays|Multiple displays]]. | ||
+ | |- | ||
+ | |GDISP_TOTAL_CONTROLLERS | ||
+ | |The total amount of display controllers used.<br/>See [[GDISP#Multiple_displays|Multiple displays]]. | ||
+ | |- | ||
+ | |GDISP_USE_GFXNET | ||
+ | |Include support for remote displays.<br/>See [[GDISP#Remote_displays|Remote displays]]. | ||
+ | |- | ||
+ | |GDISP_GFXNET_PORT | ||
+ | |The port to be used for remote displays.<br/>See [[GDISP#Remote_displays|Remote displays]]. | ||
+ | |- | ||
+ | |GDISP_GFXNET_CUSTOM_LWIP_STARTUP | ||
+ | |Is a custom [http://savannah.nongnu.org/projects/lwip/ LwIP] routine defined?.<br/>See [[GDISP#Remote_displays|Remote displays]]. | ||
+ | |- | ||
+ | |GDISP_DONT_WAIT_FOR_NET_DISPLAY | ||
+ | |Don't wait until the remote display has been initialized properly.<br/>See [[GDISP#Remote_displays|Remote displays]]. | ||
+ | |- | ||
+ | |GDISP_GFXNET_UNSAFE_SOCKET | ||
+ | |Use unsafe sockets.<br/>See [[GDISP#Remote_displays|Remote displays]]. | ||
|} | |} | ||
Line 31: | Line 319: | ||
|- | |- | ||
|GWIN_REDRAW_IMMEDIATE | |GWIN_REDRAW_IMMEDIATE | ||
− | |ToDo.<br/>See [[ | + | |ToDo.<br/>See [[GWIN#Redrawing mode|GWIN redrawing mode]]. |
|- | |- | ||
|GWIN_REDRAW_SINGLEOP | |GWIN_REDRAW_SINGLEOP | ||
− | |ToDo.<br/>See [[ | + | |ToDo.<br/>See [[GWIN#Redrawing mode|GWIN redrawing mode]]. |
|-style="height:25px" | |-style="height:25px" | ||
| | | | ||
Line 121: | Line 409: | ||
|} | |} | ||
− | == | + | == GTIMER == |
{| class="wikitable" | {| class="wikitable" | ||
! scope="col"|Option | ! scope="col"|Option | ||
Line 132: | Line 420: | ||
|- | |- | ||
|GTIMER_THREAD_PRIORITY | |GTIMER_THREAD_PRIORITY | ||
− | |The GTIMER thread priority level.<br/See [[GTIMER# | + | |The GTIMER thread priority level.<br/>See [[GTIMER#Precision|Precision]]. |
|- | |- | ||
|GTIMER_THREAD_WORKING_SIZE | |GTIMER_THREAD_WORKING_SIZE | ||
− | |The GTIMER thread stack size.<br/>See [[GTIMER# | + | |The GTIMER thread stack size.<br/>See [[GTIMER#Stack_size|Stack size]]. |
|} | |} | ||
Line 221: | Line 509: | ||
|- | |- | ||
| GFILE_MAX_GFILES | | GFILE_MAX_GFILES | ||
− | |Specify the maximum | + | |Specify the maximum number of files that can be opened at a time.<br/>See [[GFILE#ToDo|ToDo]]. |
|- | |- | ||
|GFILE_NEED_NOAUTOMOUNT | |GFILE_NEED_NOAUTOMOUNT | ||
Line 261: | Line 549: | ||
|- | |- | ||
|GAUDIO_NEED_PLAY | |GAUDIO_NEED_PLAY | ||
− | |Enable or disable the play-back system (audio output).<br/>See [[GAUDIO# | + | |Enable or disable the play-back system (audio output).<br/>See [[GAUDIO#Play_back|PlayBack]]. |
|- | |- | ||
|GAUDIO_NEED_RECORD | |GAUDIO_NEED_RECORD | ||
Line 293: | Line 581: | ||
|GMISC_NEED_ARRAOPS | |GMISC_NEED_ARRAOPS | ||
|ToDo.<br/>See [[ToDo|ToDo]]. | |ToDo.<br/>See [[ToDo|ToDo]]. | ||
− | |||
|- | |- | ||
|GMISC_NEED_FASTTRIG | |GMISC_NEED_FASTTRIG | ||
|ToDo.<br/>See [[ToDo|ToDo]]. | |ToDo.<br/>See [[ToDo|ToDo]]. | ||
− | |||
|- | |- | ||
|GMISC_NEED_FIXEDTRIG | |GMISC_NEED_FIXEDTRIG | ||
|ToDo.<br/>See [[ToDo|ToDo]]. | |ToDo.<br/>See [[ToDo|ToDo]]. | ||
− | |||
|- | |- | ||
|GMISC_NEED_INVSQRT | |GMISC_NEED_INVSQRT | ||
|ToDo.<br/>See [[ToDo|ToDo]]. | |ToDo.<br/>See [[ToDo|ToDo]]. | ||
− | |||
|- | |- | ||
|GMISC_INVSQRT_MIXED_ENDIAN | |GMISC_INVSQRT_MIXED_ENDIAN | ||
|ToDo.<br/>See [[ToDo|ToDo]]. | |ToDo.<br/>See [[ToDo|ToDo]]. | ||
− | |||
|- | |- | ||
|GMISC_INVSQRT_REAL_SLOW | |GMISC_INVSQRT_REAL_SLOW | ||
+ | |ToDo.<br/>See [[ToDo|ToDo]]. | ||
+ | |- | ||
+ | |GMISC_NEED_MATRIXFLOAT2D | ||
+ | |ToDo.<br/>See [[ToDo|ToDo]]. | ||
+ | |- | ||
+ | |GMISC_NEED_MATRIXFIXED2D | ||
|ToDo.<br/>See [[ToDo|ToDo]]. | |ToDo.<br/>See [[ToDo|ToDo]]. | ||
|} | |} | ||
+ | |||
+ | |||
+ | |||
+ | [[Category:General]] |
Latest revision as of 17:53, 20 September 2017
All project specific options for µGFX are defined in the file gfxconf.h which must be supplied by the user (place it in your project directory). Within each section, the very first option enables or disables the entire module. All the following sub-options only take effect when the module is enabled.
Contents
Template
A template of the gfxconf.h file can be found in the top-level directory of the µGFX folder. It is called gfxconf.example.h. You can copy this file to your project directory and rename it to gfxconf.h.
In your gfxconf.h you should leave commented out any options you are leaving them as the default value. This improves the future compatibility of your project as we make changes to the µGFX default configuration.
As the gfxconf.example.h is kept up to date as we change the source code, it may have more up to date definitions than this document.
GOS
Option | Description |
---|---|
GFX_USE_OS_RAW32 | Use the bare metal port without any underlying OS. See BareMetal. |
INTERRUPTS_ON() | Optionally set code that is executed when interrupts are turned on. See Interrupts. |
INTERRUPTS_OFF() | Optionally set code that is executed when interrupts are turned off. See Interrupts. |
GFX_USE_OS_CHIBIOS | Use ChibiOS/RT as the underlying system. See ChibiOS/RT. |
GFX_USE_OS_FREERTOS | Use FreeRTOS as the underlying system. See FreeRTOS. |
GFX_USE_OS_ZEPHYR | Use Zephyr as the underlying system. See Zephyr. |
GFX_FREERTOS_USE_TRACE | Enable support for the FreeRTOS+Trace feature. See Trace. |
GFX_USE_OS_CMSIS | Use any CMSIS-RTOS compatible operating system the underlying system. See CMSIS. |
GFX_USE_OS_KEIL | Use Keil RTX as the underlying system. See Keil RTX. |
GFX_USE_OS_ECOS | Use eCOS as the underlying system. See eCOS. |
GFX_USE_OS_NIOS | Use NIOS-II as the underlying system. See NIOS. |
GFX_USE_OS_ARDUINO | Use Arduino the underlying system. See Arduino. |
GFX_USE_OS_WIN32 | Use Windows as the underlying system. See Windows. |
GFX_USE_OS_LINUX | Use Linux as the underlying system. See Linux. |
GFX_USE_OS_OSX | Use Mac OS X as the underlying system. See Mac_OS_X. |
GFX_COMPILER | Enables compiler specific code. Usually not required as all compilers are auto-detected. See Compiler. |
GFX_SHOW_COMPILER | If set to TRUE , a compiler warning will be generated showing the name of the compiler that was set or automatically detected.See Compiler. |
GFX_CPU | Enables CPU specific code. See CPU. |
GFX_CPU_ENDIAN | Enables CPU-endian specific code. See Endian. |
GFX_NO_INLINE | Can be used to disable the inlining of functions inside the µGFX library. See Inlining. |
GFX_OS_HEAP_SIZE | Set the maximum size of the heap. If set to 0, the C runtime library malloc() and free() are used.See Memory Management. |
GFX_OS_NO_INIT | Do not initialize the underlying operating system when calling gfxInit() .See Initialization. |
GFX_OS_INIT_NO_WARNING | Turn off warnings about initializing the operating system. See Warning. |
GFX_OS_EXTRA_INIT_FUNCTION | Optionally set code that is executed when the operating system is being initialized. See Extra functions. |
GFX_OS_EXTRA_DEINIT_FUNCTION | Optionally set code that is executed when the operating system is being deinitialized. See Extra functions. |
GFX_EMULATE_MALLOC | If turned on, uGFX will create its own implementations of malloc() and free() which are wrappers to gfxAlloc() and gfxFree(). See Emulating Malloc. |
GDISP
Option | Description |
---|---|
GFX_USE_GDISP | Enable or disable the entire GDISP module. See GDISP. |
GDISP_NEED_AUTOFLUSH | Flush drawing operations automatically. See Flushing. |
GDISP_NEED_TIMERFLUSH | Flush drawing operations automatically using a timer. See Flushing. |
GDISP_NEED_VALIDATION | Clip all drawing operations to the screen limits and validate color values. See Validation. |
GDISP_NEED_CLIP | Add area clipping feature. See Clipping. |
GDISP_NEED_CIRCLE | Include circle drawing functions. See Circle. |
GDISP_NEED_DUALCIRCLE | Include dual circle drawing functions. See Dual Circle. |
GDISP_NEED_ELLIPSE | Include ellipse drawing functions. See Ellipse. |
GDISP_NEED_ARC | Include arc drawing functions. See Arc. |
GDISP_NEED_CONVEX_POLYGON | Include convex polygon and thick line drawing functions. See Polygon. |
GDISP_NEED_SCROLL | Include scrolling functions. See Scrolling. |
GDISP_NEED_PIXELREAD | Can pixels be read back from the display/memory? See Read Back. |
GDISP_NEED_CONTROL | Can hardware aspects like the orientation, backlight and contrast be controlled? See Control. |
GDISP_NEED_QUERY | Can hardware aspects like backlight and contrast be read back? See Query. |
GDISP_NEED_MULTITHREAD | Make all GDISP calls thread safe. See Thread safe. |
GDISP_NEED_IMAGE | Include the image decoder feature. See Images. |
GDISP_NEED_ACCOUNTING | Include accounting feature which registers the memory usage of each image. See Accounting. |
GDISP_NEED_IMAGE_NATIVE | Include the decoder for the native image format. See Native. |
GDISP_NEED_IMAGE_GIF | Include the decoder for the GIF image format. See GIF. |
GDISP_NEED_IMAGE_BMP | Include the decoder for the BMP image format. See BMP. |
GDISP_NEED_IMAGE_BMP_1 | Include the decoder for the BMP_1 image format. See BMP. |
GDISP_NEED_IMAGE_BMP_4 | Include the decoder for the BMP_4 image format. See BMP. |
GDISP_NEED_IMAGE_BMP_4_RLE | Include the decoder for the BMP_4_RLE image format. See BMP. |
GDISP_NEED_IMAGE_BMP_8 | Include the decoder for the BMP_8 image format. See BMP. |
GDISP_NEED_IMAGE_BMP_8_RL | Include the decoder for the BMP_8_RLE image format. See BMP. |
GDISP_NEED_IMAGE_BMP_16 | Include the decoder for the BMP_16 image format. See BMP. |
GDISP_NEED_IMAGE_BMP_24 | Include the decoder for the BMP_24 image format. See BMP. |
GDISP_NEED_IMAGE_BMP_32 | Include the decoder for the BMP_32 image format. See BMP. |
GDISP_NEED_IMAGE_JPG | Not implemented yet. See ToDo. |
GDISP_NEED_IMAGE_PNG | Not implemented yet. See ToDo. |
GDISP_NEED_TEXT | Include the font rendering feature. See Font rendering. |
GDISP_NEED_TEXT_WORDWRAP | Enable word-wrapping. See Word-Wrapping. |
GDISP_NEED_ANTIALIAS | Enable anti-aliasing for fonts. See Anti-Aliasing. |
GDISP_NEED_KERNING | Enable kerning for fonts. See Kerning. |
GDISP_NEED_UTF8 | Enable unicode support for fonts. See Unicode. |
GDISP_INCLUDE_FONT_UI1 | Include the UI1 font. See Fonts. |
GDISP_INCLUDE_FONT_UI2 | Include the UI2 font. See Fonts. |
GDISP_INCLUDE_FONT_LARGENUMBERS | Include the largenumbers font. See Fonts. |
GDISP_INCLUDE_FONT_DEJAVUSANS10 | Include the DejaVu Sans 10 font. See Fonts. |
GDISP_INCLUDE_FONT_DEJAVUSANS12 | Include the DejaVu Sans 12 font. See Fonts. |
GDISP_INCLUDE_FONT_DEJAVUSANS16 | Include the DejaVu Sans 16 font. See Fonts. |
GDISP_INCLUDE_FONT_DEJAVUSANS20 | Include the DejaVu Sans 20 font. See Fonts. |
GDISP_INCLUDE_FONT_DEJAVUSANS24 | Include the DejaVu Sans 24 font. See Fonts. |
GDISP_INCLUDE_FONT_DEJAVUSANS32 | Include the DejaVu Sans 32 font. See Fonts. |
GDISP_INCLUDE_FONT_DEJAVUSANSBOLD12 | Include the DejaVu Sans Bold 12 font. See Fonts. |
GDISP_INCLUDE_FONT_FIXED_10X20 | Include the Fixed 10x20 font. See Fonts. |
GDISP_INCLUDE_FONT_FIXED_7X14 | Include the Fixed 7x14 font. See Fonts. |
GDISP_INCLUDE_FONT_FIXED_5X8 | Include the Fixed 5x8 font. See Fonts. |
GDISP_INCLUDE_FONT_DEJAVUSANS12_AA | Include the DejaVu Sans 12 font with anti-aliasing. See Fonts. |
GDISP_INCLUDE_FONT_DEJAVUSANS16_AA | Include the DejaVu Sans 16 font with anti-aliasing. See Fonts. |
GDISP_INCLUDE_FONT_DEJAVUSANS20_AA | Include the DejaVu Sans 20 font with anti-aliasing. See Fonts. |
GDISP_INCLUDE_FONT_DEJAVUSANS24_AA | Include the DejaVu Sans 24 font with anti-aliasing. See Fonts. |
GDISP_INCLUDE_FONT_DEJAVUSANS32_AA | Include the DejaVu Sans 32 font with anti-aliasing. See Fonts. |
GDISP_INCLUDE_FONT_DEJAVUSANSBOLD12_AA | Include the DejaVu Sans Bold 12 font with anti-aliasing. See Fonts. |
GDISP_INCLUDE_USER_FONTS | Include fonts specified by the user. See Custom Fonts. |
GDISP_STARTUP_COLOR | The color which is used when clearing the display during gfxInit(). See Colors. |
GDISP_NEED_STARTUP_LOGO | Display the uGFX Logo when initializing the GDISP module for one second. See Start-Up Logo. |
GDISP_DEFAULT_ORIENTATION | The default orientation of the used display pnale. See Orientation. |
GDISP_LINEBUF_SIZE | The size of the pixel buffer (in pixels) used for optimizations. See Optimizations. |
GDISP_TOTAL_DISPLAYS | The total amount of displays used. See Multiple displays. |
GDISP_TOTAL_CONTROLLERS | The total amount of display controllers used. See Multiple displays. |
GDISP_USE_GFXNET | Include support for remote displays. See Remote displays. |
GDISP_GFXNET_PORT | The port to be used for remote displays. See Remote displays. |
GDISP_GFXNET_CUSTOM_LWIP_STARTUP | Is a custom LwIP routine defined?. See Remote displays. |
GDISP_DONT_WAIT_FOR_NET_DISPLAY | Don't wait until the remote display has been initialized properly. See Remote displays. |
GDISP_GFXNET_UNSAFE_SOCKET | Use unsafe sockets. See Remote displays. |
GWIN
Option | Description |
---|---|
GFX_USE_GWIN | Enable or disable the entire GWIN module. See GWIN. |
GWIN_NEED_WINDOWMANAGER | Enable or disable the window manager. See ToDo. |
GWIN_REDRAW_IMMEDIATE | ToDo. See GWIN redrawing mode. |
GWIN_REDRAW_SINGLEOP | ToDo. See GWIN redrawing mode. |
GWIN_NEED_CONSOLE | Include the console window features. See Console. |
GWIN_CONSOLE_USE_HISTORY | Enable or disable the console history. See History. |
GWIN_CONSOLE_HISTORY_AVERAGING | Create an average history buffer. See History. |
GWIN_CONSOLE_HISTORY_ATCREATE | Create a history buffer at window creation time. See History. |
GWIN_CONSOLE_ESQSEQ | Include escape sequence features. See Escape sequences. |
GWIN_CONSOLE_USE_BASESTREAM | Include support for ChibiOS/RT base streams. See ToDo. |
GWIN_CONSOLE_USE_FLOAT | Include support for floating point numbers. See Float. |
GWIN_NEED_GRAPH | Include the graph window features. See Graph. |
GWIN_NEED_WIDGET | Enable or disable the widget system. See Widgets. |
GWIN_FLAT_STYLING | ToDo. See ToDo. |
GWIN_NEED_LABEL | Enable or disable the label widget. See Label. |
GWIN_NEED_LABEL_ATTRIBUTE | Include the label attribute feature. See Attribute. |
GWIN_NEED_BUTTON | Enable or disable the push button widget. See PushButton. |
GWIN_NEED_BUTTON_LAZY_RELEASE | Enabel or disable the lazy release feature. See Cancel feature. |
GWIN_NEED_SLIDER | Enable or disable the slider widget. See Slider. |
GWIN_NEED_CHECKBOX | Enable or disable the check box widget. See CheckBox. |
GWIN_NEED_IMAGE | Enable or disable the image box widget. See ImageBox. |
GWIN_NEED_IMAGE_ANIMATION | Include the image box animated images feature. See Animated Images. |
GWIN_NEED_RADIO | Enable or disable the radio button widget. See RadioButton. |
GWIN_NEED_LIST | Enable or disable the list widget. See List. |
GWIN_NEED_LIST_IMAGES | Include the list widget images feature. See Images. |
GWIN_NEED_PROGRESSBAR | Enable or disable the progress bar widget. See Progressbar. |
GWIN_NEED_PROGRESSBAR_AUTO | Include the automatic progress bar feature. See Automatic. |
GWIN_NEED_CONTAINERS | Enable or disable the containers system. See Containers. |
GWIN_NEED_CONTAINER | Enable or disable the basic container. See Container. |
GWIN_NEED_FRAME | Enable or disable the frame container. See Frame. |
GTIMER
Option | Description |
---|---|
GFX_USE_GTIMER | Enable or disable the entire GTIMER module. See GTIMER. |
GTIMER_THREAD_PRIORITY | The GTIMER thread priority level. See Precision. |
GTIMER_THREAD_WORKING_SIZE | The GTIMER thread stack size. See Stack size. |
GQUEUE
Option | Description |
---|---|
GFX_USE_GQUEUE | Enable or disable the entire GQUEUE module. See GQUEUE. |
GQUEUE_NEED_ASYNC | Enable or disable the asynchronous queue functions. See Asynchronous. |
GQUEUE_NEED_GSYNC | Enable or disable the GET synchronous queue functions. See Asynchronous. |
GQUEUE_NEED_FSYNC | Enable or disable the fully synchronous queue functions. See Asynchronous. |
GQUEUE_NEED_BUFFERS | Enable or disable the buffers functions. See Buffers. |
GINPUT
Option | Description |
---|---|
GFX_USE_GINPUT | Enable or disable the entire GINPUT module. See GINPUT. |
GINPUT_NEED_MOUSE | Enable or disable support for a pointing device such as a touchscreen. See Touchscreen. |
GINPUT_NEED_KEYBOARD | Not implemented yet. |
GINPUT_NEED_TOGGLE | Enable or disable support for digital inputs. See digital inputs. |
GINPUT_NEED_DIAL | Enable or disable support for analog inputs. See analog inputs. |
GINPUT_MOUSE_CALIBRATE_EXTREMES | If this is set to TRUE, the calibration points are displayed at the very corner of the display. This gives an overall more accurate result but they are less intuitive. See calibration. |
GINPUT_MOUSE_MAX_CALIBRATION_ERROR | This macro is part of the config file of the driver in your board directory and takes a pixel value. It defines how big the pixel offset of the test point can be before the calibration process is repeated automatically. See calibration. |
GFILE
Option | Description |
---|---|
GFX_USE_GFILE | Enable or disable the entire GFILE module. See GFILE. |
GFILE_NEED_PRINTG | Enable or disable print functions support. See String manipulation & printing. |
GFILE_NEED_SCANG | Enable or disable scan functions support. See String manipulation & printing. |
GFILE_NEED_STRINGS | Enable or disable string manipulation functions support. See String manipulation & printing. |
GFILE_NEED_STDIO | Enable or disable STDIO emulation. See STDIO emulation. |
GFILE_ALLOW_FLOATS | Enable or disable float support. See STDIO emulation. |
GFILE_ALLOW_DEVICESPECIFIC | ' prefix in order to ensure the file is opened with the specified file system. See Multiple file systems. |
GFILE_MAX_GFILES | Specify the maximum number of files that can be opened at a time. See ToDo. |
GFILE_NEED_NOAUTOMOUNT | Enable or disable automatic file system mounting feature. See Mounting. |
GFILE_NEED_NOAUTOSYNC | Enable or disable automatic file system synchronization feature. See Syncronization. |
GFILE_NEED_FATFS | Enable or disable FatFS support. See FATFS. |
GFILE_NEED_ROMFS | Enable or disable ROMFS support. See ROMFS. |
GFILE_NEED_RAMFS | Enable or disable RAMFS support. See RAMFS. |
GFILE_NEED_MEMFS | Enable or disable MEMFS support. See MEMFS. |
GFILE_NEED_NATIVEFS | Enable or disable NATIVEFS support. See NATIVEFS. |
GFILE_NEED_CHIBIOSFS | Enable or disable CHIBIOSFS support. See CHIBIOSFS. |
GAUDIO
Option | Description |
---|---|
GFX_USE_GAUDIO | Enable or disable the entire GAUDIO module. See GAUDIO. |
GAUDIO_NEED_PLAY | Enable or disable the play-back system (audio output). See PlayBack. |
GAUDIO_NEED_RECORD | Enable or disable the record system (audio input). See Record. |
GADC
Option | Description |
---|---|
GFX_USE_GADC | Enable or disable the entire GADC module. See GADC. |
GADC_MAX_LOWSPEED_DEVICES | Specify the maximum amount of low speed GADC devices. See GADC. |
GMISC
Option | Description |
---|---|
GFX_USE_GMISC | Enable or disable the entire GMISC module. See GMISC. |
GMISC_NEED_ARRAOPS | ToDo. See ToDo. |
GMISC_NEED_FASTTRIG | ToDo. See ToDo. |
GMISC_NEED_FIXEDTRIG | ToDo. See ToDo. |
GMISC_NEED_INVSQRT | ToDo. See ToDo. |
GMISC_INVSQRT_MIXED_ENDIAN | ToDo. See ToDo. |
GMISC_INVSQRT_REAL_SLOW | ToDo. See ToDo. |
GMISC_NEED_MATRIXFLOAT2D | ToDo. See ToDo. |
GMISC_NEED_MATRIXFIXED2D | ToDo. See ToDo. |