Jump to content
tecnologic

Compiling uGFX 1.8

Recommended Posts

Hi all,

i have a Problem compiling uGFX


./uGFX/src/gqueue/gqueue.c: In function 'gfxQueueGSyncGet':
./uGFX/src/gqueue/gqueue.c:106:3: warning: implicit declaration of function 'gfxSytemUnlock' [-Wimplicit-function-declaration]

./uGFX/include/gdisp/lld/gdisp_lld_msgs.h:63:3: error: unknown type name 'gfxQueueItem'

./uGFX/src/gdisp/gdisp.c:56:4: warning: implicit declaration of function 'gfxQueueGet' [-Wimplicit-function-declaration]
./uGFX/src/gdisp/gdisp.c: In function '_gdispInit':
./uGFX/src/gdisp/gdisp.c:125:3: warning: implicit declaration of function 'gfxQueueInit' [-Wimplicit-function-declaration]
./uGFX/src/gdisp/gdisp.c: In function 'gdispIsBusy':
./uGFX/src/gdisp/gdisp.c:150:3: warning: implicit declaration of function 'gfxQueueIsEmpty' [-Wimplicit-function-declaration]
./uGFX/src/gdisp/gdisp.c: In function 'gdispClear':
./uGFX/src/gdisp/gdisp.c:164:3: warning: implicit declaration of function 'gfxQueuePut' [-Wimplicit-function-declaration]

these are my current compile Errors

my makefile is exact like the example config for CHibios as RTOS.

i had to add "gfx.h" to includes in lld of my implementation of T6963C Driver, without this the compiler could not finde PIXELFormat MONO and so on.

has anyone an guess what iam doing wrong?

Thanks

@Tectu: do you have need of the T6963C Driver?

greetings

Tec

Share this post


Link to post
Share on other sites

First of all, it's correct that you have to include gfx.h everywhere. Anything else is "linked" through that file depending on your needs.

About your actual problem: It looks like there are some rules missing that should automatically turn on stuff in the config file for you. Please try to enable GFX_USE_GQUEUE and GQUEUE_NEED_ASYNC in your gfxconf.h. If this works, please let me know which features you're using (paste your gfxconf.h here) so I can take a look at what went wrong.

About the driver: It is ALWAYS nice to add new drivers to the project because this really increases the value of it. However, the driver needs to be in the same architecture as the current ones and it should be as clean and complete as possible. If features are not implemented, they need to be handle correctly. Often people just copy another driver and features they don't implement keep being the same as for the original driver - this can lead to a lot of trouble.

If you don't think it's good enough, you can also just send it to me and I'll take a look and clean it up - then you just have to do a final test to confirm that it's still working.

~ Tectu

Share this post


Link to post
Share on other sites

Hi tectu,

GFX Que and Async is true and Multithread is False as the warnings advise.

TO my application, first of all i wand to use the console on my display for debungging and to get familiar with ugfx

greetings

tec


/**
* This file has a different license to the rest of the GFX system.
* You can copy, modify and distribute this file as you see fit.
* You do not need to publish your source modifications to this file.
* The only thing you are not permitted to do is to relicense it
* under a different license.
*/

/**
* Copy this file into your project directory and rename it as gfxconf.h
* Edit your copy to turn on the GFX features you want to use.
*/

#ifndef _GFXCONF_H
#define _GFXCONF_H

/* The operating system to use - one of these must be defined */
#define GFX_USE_OS_CHIBIOS TRUE
#define GFX_USE_OS_WIN32 FALSE
#define GFX_USE_OS_POSIX FALSE

/* GFX subsystems to turn on */
#define GFX_USE_GDISP TRUE
#define GFX_USE_TDISP FALSE
#define GFX_USE_GWIN TRUE
#define GFX_USE_GEVENT TRUE
#define GFX_USE_GTIMER TRUE
#define GFX_USE_GQUEUE FALSE
#define GFX_USE_GINPUT TRUE
#define GFX_USE_GADC FALSE
#define GFX_USE_GAUDIN FALSE
#define GFX_USE_GAUDOUT FALSE
#define GFX_USE_GMISC FALSE

/* Features for the GDISP subsystem */
#define GDISP_NEED_VALIDATION TRUE
#define GDISP_NEED_CLIP TRUE
#define GDISP_NEED_TEXT TRUE
#define GDISP_NEED_CIRCLE TRUE
#define GDISP_NEED_ELLIPSE TRUE
#define GDISP_NEED_ARC FALSE
#define GDISP_NEED_CONVEX_POLYGON FALSE
#define GDISP_NEED_SCROLL FALSE
#define GDISP_NEED_PIXELREAD FALSE
#define GDISP_NEED_CONTROL FALSE
#define GDISP_NEED_QUERY TRUE
#define GDISP_NEED_IMAGE TRUE
#define GDISP_NEED_MULTITHREAD FALSE
#define GDISP_NEED_ASYNC TRUE
#define GDISP_NEED_MSGAPI TRUE

/* GDISP - builtin fonts */
#define GDISP_INCLUDE_FONT_SMALL TRUE
#define GDISP_INCLUDE_FONT_LARGER TRUE
#define GDISP_INCLUDE_FONT_UI1 TRUE
#define GDISP_INCLUDE_FONT_UI2 TRUE
#define GDISP_INCLUDE_FONT_LARGENUMBERS TRUE

/* GDISP image decoders */
#define GDISP_NEED_IMAGE_NATIVE FALSE
#define GDISP_NEED_IMAGE_GIF FALSE
#define GDISP_NEED_IMAGE_BMP TRUE
#define GDISP_NEED_IMAGE_JPG FALSE
#define GDISP_NEED_IMAGE_PNG FALSE
#define GDISP_NEED_IMAGE_ACCOUNTING FALSE

/* Optional image support that can be turned off */

#define GDISP_NEED_IMAGE_BMP_1 TRUE
#define GDISP_NEED_IMAGE_BMP_4 FALSE
#define GDISP_NEED_IMAGE_BMP_4_RLE FALSE
#define GDISP_NEED_IMAGE_BMP_8 FALSE
#define GDISP_NEED_IMAGE_BMP_8_RLE FALSE
#define GDISP_NEED_IMAGE_BMP_16 FALSE
#define GDISP_NEED_IMAGE_BMP_24 FALSE
#define GDISP_NEED_IMAGE_BMP_32 FALSE


/* Features for the TDISP subsystem. */
#define TDISP_NEED_MULTITHREAD FALSE

/* Features for the GWIN subsystem. */
#define GWIN_NEED_WINDOWMANAGER TRUE
#define GWIN_NEED_CONSOLE TRUE
#define GWIN_NEED_GRAPH FALSE
#define GWIN_NEED_WIDGET TRUE
#define GWIN_NEED_BUTTON TRUE
#define GWIN_NEED_SLIDER TRUE
#define GWIN_NEED_CHECKBOX TRUE
#define GWIN_NEED_IMAGE TRUE
#define GWIN_NEED_RADIO TRUE

/* Features for the GEVENT subsystem. */
#define GEVENT_ASSERT_NO_RESOURCE FALSE

/* Features for the GTIMER subsystem. */
/* NONE */

/* Features for the GQUEUE subsystem. */
#define GQUEUE_NEED_ASYNC FALSE
#define GQUEUE_NEED_GSYNC FALSE
#define GQUEUE_NEED_FSYNC FALSE

/* Features for the GINPUT subsystem. */
#define GINPUT_NEED_MOUSE FALSE
#define GINPUT_NEED_KEYBOARD FALSE
#define GINPUT_NEED_TOGGLE TRUE
#define GINPUT_NEED_DIAL FALSE

/* Features for the GADC subsystem. */
/* NONE */

/* Features for the GAUDIN subsystem. */
/* NONE */

/* Features for the GAUDOUT subsystem. */
/* NONE */

/* Features for the GMISC subsystem. */
#define GMISC_NEED_ARRAYOPS FALSE
#define GMISC_NEED_FASTTRIG FALSE
#define GMISC_NEED_FIXEDTRIG FALSE

/* Optional Parameters for various subsystems */
/*
#define GDISP_MAX_FONT_HEIGHT 16
#define GEVENT_MAXIMUM_SIZE 32
#define GEVENT_MAX_SOURCE_LISTENERS 32
#define GTIMER_THREAD_WORKAREA_SIZE 512
#define GADC_MAX_LOWSPEED_DEVICES 4
#define GWIN_BUTTON_LAZY_RELEASE FALSE
#define GWIN_CONSOLE_USE_BASESTREAM FALSE
#define GWIN_CONSOLE_USE_FLOAT FALSE
#define GWIN_NEED_IMAGE_ANIMATION FALSE
*/

/* Optional Low Level Driver Definitions */
/*
#define GDISP_USE_CUSTOM_BOARD FALSE
#define GDISP_SCREEN_WIDTH 320
#define GDISP_SCREEN_HEIGHT 240
#define GDISP_USE_FSMC
#define GDISP_USE_GPIO
#define TDISP_COLUMNS 16
#define TDISP_ROWS 2
*/

#endif /* _GFXCONF_H */

Share this post


Link to post
Share on other sites

hi

right now iam using this config:


/**
* This file has a different license to the rest of the GFX system.
* You can copy, modify and distribute this file as you see fit.
* You do not need to publish your source modifications to this file.
* The only thing you are not permitted to do is to relicense it
* under a different license.
*/

/**
* Copy this file into your project directory and rename it as gfxconf.h
* Edit your copy to turn on the GFX features you want to use.
*/

#ifndef _GFXCONF_H
#define _GFXCONF_H

/* The operating system to use - one of these must be defined */
#define GFX_USE_OS_CHIBIOS TRUE
#define GFX_USE_OS_WIN32 FALSE
#define GFX_USE_OS_POSIX FALSE

/* GFX subsystems to turn on */
#define GFX_USE_GDISP TRUE
#define GFX_USE_TDISP FALSE
#define GFX_USE_GWIN TRUE
#define GFX_USE_GEVENT TRUE
#define GFX_USE_GTIMER TRUE
#define GFX_USE_GQUEUE TRUE
#define GFX_USE_GINPUT TRUE
#define GFX_USE_GADC FALSE
#define GFX_USE_GAUDIN FALSE
#define GFX_USE_GAUDOUT FALSE
#define GFX_USE_GMISC FALSE

/* Features for the GDISP subsystem */
#define GDISP_NEED_VALIDATION TRUE
#define GDISP_NEED_CLIP TRUE
#define GDISP_NEED_TEXT TRUE
#define GDISP_NEED_CIRCLE FALSE
#define GDISP_NEED_ELLIPSE FALSE
#define GDISP_NEED_ARC FALSE
#define GDISP_NEED_CONVEX_POLYGON FALSE
#define GDISP_NEED_SCROLL FALSE
#define GDISP_NEED_PIXELREAD FALSE
#define GDISP_NEED_CONTROL FALSE
#define GDISP_NEED_QUERY FALSE
#define GDISP_NEED_IMAGE FALSE
#define GDISP_NEED_MULTITHREAD FALSE
#define GDISP_NEED_ASYNC TRUE
#define GDISP_NEED_MSGAPI FALSE

/* GDISP - builtin fonts */
#define GDISP_INCLUDE_FONT_SMALL TRUE
#define GDISP_INCLUDE_FONT_LARGER TRUE
#define GDISP_INCLUDE_FONT_UI1 TRUE
#define GDISP_INCLUDE_FONT_UI2 TRUE
#define GDISP_INCLUDE_FONT_LARGENUMBERS TRUE

/* GDISP image decoders */
#define GDISP_NEED_IMAGE_NATIVE FALSE
#define GDISP_NEED_IMAGE_GIF FALSE
#define GDISP_NEED_IMAGE_BMP FALSE
#define GDISP_NEED_IMAGE_JPG FALSE
#define GDISP_NEED_IMAGE_PNG FALSE
#define GDISP_NEED_IMAGE_ACCOUNTING FALSE

/* Optional image support that can be turned off */

#define GDISP_NEED_IMAGE_BMP_1 FALSE
#define GDISP_NEED_IMAGE_BMP_4 FALSE
#define GDISP_NEED_IMAGE_BMP_4_RLE FALSE
#define GDISP_NEED_IMAGE_BMP_8 FALSE
#define GDISP_NEED_IMAGE_BMP_8_RLE FALSE
#define GDISP_NEED_IMAGE_BMP_16 FALSE
#define GDISP_NEED_IMAGE_BMP_24 FALSE
#define GDISP_NEED_IMAGE_BMP_32 FALSE


/* Features for the TDISP subsystem. */
#define TDISP_NEED_MULTITHREAD FALSE

/* Features for the GWIN subsystem. */
#define GWIN_NEED_WINDOWMANAGER FALSE
#define GWIN_NEED_CONSOLE TRUE
#define GWIN_NEED_GRAPH FALSE
#define GWIN_NEED_WIDGET FALSE
#define GWIN_NEED_BUTTON FALSE
#define GWIN_NEED_SLIDER FALSE
#define GWIN_NEED_CHECKBOX FALSE
#define GWIN_NEED_IMAGE FALSE
#define GWIN_NEED_RADIO FALSE

/* Features for the GEVENT subsystem. */
#define GEVENT_ASSERT_NO_RESOURCE FALSE

/* Features for the GTIMER subsystem. */
/* NONE */

/* Features for the GQUEUE subsystem. */
#define GQUEUE_NEED_ASYNC FALSE
#define GQUEUE_NEED_GSYNC FALSE
#define GQUEUE_NEED_FSYNC FALSE

/* Features for the GINPUT subsystem. */
#define GINPUT_NEED_MOUSE FALSE
#define GINPUT_NEED_KEYBOARD FALSE
#define GINPUT_NEED_TOGGLE TRUE
#define GINPUT_NEED_DIAL FALSE

/* Features for the GADC subsystem. */
/* NONE */

/* Features for the GAUDIN subsystem. */
/* NONE */

/* Features for the GAUDOUT subsystem. */
/* NONE */

/* Features for the GMISC subsystem. */
#define GMISC_NEED_ARRAYOPS FALSE
#define GMISC_NEED_FASTTRIG FALSE
#define GMISC_NEED_FIXEDTRIG FALSE

/* Optional Parameters for various subsystems */
/*
#define GDISP_MAX_FONT_HEIGHT 16
#define GEVENT_MAXIMUM_SIZE 32
#define GEVENT_MAX_SOURCE_LISTENERS 32
#define GTIMER_THREAD_WORKAREA_SIZE 512
#define GADC_MAX_LOWSPEED_DEVICES 4
#define GWIN_BUTTON_LAZY_RELEASE FALSE
#define GWIN_CONSOLE_USE_BASESTREAM FALSE
#define GWIN_CONSOLE_USE_FLOAT FALSE
#define GWIN_NEED_IMAGE_ANIMATION FALSE
*/

/* Optional Low Level Driver Definitions */
/*
#define GDISP_USE_CUSTOM_BOARD FALSE
#define GDISP_SCREEN_WIDTH 320
#define GDISP_SCREEN_HEIGHT 240
#define GDISP_USE_FSMC
#define GDISP_USE_GPIO
#define TDISP_COLUMNS 16
#define TDISP_ROWS 2
*/

#endif /* _GFXCONF_H */

with the following build errors when making clean and make all


./uGFX/src/gqueue/gqueue.c: In function 'gfxQueueGSyncGet':
./uGFX/src/gqueue/gqueue.c:106:3: warning: implicit declaration of function 'gfxSytemUnlock' [-Wimplicit-function-declaration]
Compiling fonts.c
Compiling image.c
./uGFX/src/gdisp/gdisp.c:38:2: error: unknown type name 'gfxQueue'
./uGFX/src/gdisp/gdisp.c:41:2: error: unknown type name 'gdisp_lld_msg_t'
./uGFX/src/gdisp/gdisp.c: In function 'GDISPThreadHandler':
./uGFX/src/gdisp/gdisp.c:52:3: error: unknown type name 'gdisp_lld_msg_t'
./uGFX/src/gdisp/gdisp.c:56:12: error: 'gdisp_lld_msg_t' undeclared (first use in this function)
./uGFX/src/gdisp/gdisp.c:56:12: note: each undeclared identifier is reported only once for each function it appears in
./uGFX/src/gdisp/gdisp.c:56:29: error: expected expression before ')' token
./uGFX/src/gdisp/gdisp.c:61:4: warning: implicit declaration of function 'gdisp_lld_msg_dispatch' [-Wimplicit-function-declaration]
./uGFX/src/gdisp/gdisp.c:64:8: error: request for member 'action' in something not a structure or union
./uGFX/src/gdisp/gdisp.c:64:19: error: 'GDISP_LLD_MSG_NOP' undeclared (first use in this function)
./uGFX/src/gdisp/gdisp.c: At top level:
./uGFX/src/gdisp/gdisp.c:71:2: error: unknown type name 'gdisp_lld_msg_t'
./uGFX/src/gdisp/gdisp.c:71:40: error: unknown type name 'gdisp_msgaction_t'
./uGFX/src/gdisp/gdisp.c: In function '_gdispInit':
./uGFX/src/gdisp/gdisp.c:119:16: error: request for member 'action' in something not a structure or union
./uGFX/src/gdisp/gdisp.c:119:26: error: 'GDISP_LLD_MSG_NOP' undeclared (first use in this function)
./uGFX/src/gdisp/gdisp.c:125:3: warning: implicit declaration of function 'gfxQueueInit' [-Wimplicit-function-declaration]
./uGFX/src/gdisp/gdisp.c: In function 'gdispIsBusy':
./uGFX/src/gdisp/gdisp.c:150:3: warning: implicit declaration of function 'gfxQueueIsEmpty' [-Wimplicit-function-declaration]
./uGFX/src/gdisp/gdisp.c: In function 'gdispClear':
./uGFX/src/gdisp/gdisp.c:162:3: error: unknown type name 'gdisp_lld_msg_t'
./uGFX/src/gdisp/gdisp.c:162:3: warning: implicit declaration of function 'gdispAllocMsg' [-Wimplicit-function-declaration]
./uGFX/src/gdisp/gdisp.c:162:38: error: 'GDISP_LLD_MSG_CLEAR' undeclared (first use in this function)
./uGFX/src/gdisp/gdisp.c:163:4: error: request for member 'clear' in something not a structure or union
./uGFX/src/gdisp/gdisp.c:164:3: warning: implicit declaration of function 'gfxQueuePut' [-Wimplicit-function-declaration]
./uGFX/src/gdisp/gdisp.c:164:30: error: request for member 'qi' in something not a structure or union
Compiling image_native.c
./uGFX/src/gdisp/gdisp.c: In function 'gdispDrawPixel':
Compiling image_gif.c
./uGFX/src/gdisp/gdisp.c:176:3: error: unknown type name 'gdisp_lld_msg_t'
./uGFX/src/gdisp/gdisp.c:176:38: error: 'GDISP_LLD_MSG_DRAWPIXEL' undeclared (first use in this function)
./uGFX/src/gdisp/gdisp.c:177:4: error: request for member 'drawpixel' in something not a structure or union
./uGFX/src/gdisp/gdisp.c:178:4: error: request for member 'drawpixel' in something not a structure or union
./uGFX/src/gdisp/gdisp.c:179:4: error: request for member 'drawpixel' in something not a structure or union
./uGFX/src/gdisp/gdisp.c:180:30: error: request for member 'qi' in something not a structure or union
./uGFX/src/gdisp/gdisp.c: In function 'gdispDrawLine':
./uGFX/src/gdisp/gdisp.c:192:3: error: unknown type name 'gdisp_lld_msg_t'
./uGFX/src/gdisp/gdisp.c:192:38: error: 'GDISP_LLD_MSG_DRAWLINE' undeclared (first use in this function)
./uGFX/src/gdisp/gdisp.c:193:4: error: request for member 'drawline' in something not a structure or union
./uGFX/src/gdisp/gdisp.c:194:4: error: request for member 'drawline' in something not a structure or union
./uGFX/src/gdisp/gdisp.c:195:4: error: request for member 'drawline' in something not a structure or union
./uGFX/src/gdisp/gdisp.c:196:4: error: request for member 'drawline' in something not a structure or union
./uGFX/src/gdisp/gdisp.c:197:4: error: request for member 'drawline' in something not a structure or union
./uGFX/src/gdisp/gdisp.c:198:30: error: request for member 'qi' in something not a structure or union
./uGFX/src/gdisp/gdisp.c: In function 'gdispFillArea':
./uGFX/src/gdisp/gdisp.c:210:3: error: unknown type name 'gdisp_lld_msg_t'
./uGFX/src/gdisp/gdisp.c:210:38: error: 'GDISP_LLD_MSG_FILLAREA' undeclared (first use in this function)
./uGFX/src/gdisp/gdisp.c:211:4: error: request for member 'fillarea' in something not a structure or union
./uGFX/src/gdisp/gdisp.c:212:4: error: request for member 'fillarea' in something not a structure or union
./uGFX/src/gdisp/gdisp.c:213:4: error: request for member 'fillarea' in something not a structure or union
./uGFX/src/gdisp/gdisp.c:214:4: error: request for member 'fillarea' in something not a structure or union
./uGFX/src/gdisp/gdisp.c:215:4: error: request for member 'fillarea' in something not a structure or union
./uGFX/src/gdisp/gdisp.c:216:30: error: request for member 'qi' in something not a structure or union
./uGFX/src/gdisp/gdisp.c: In function 'gdispBlitAreaEx':
./uGFX/src/gdisp/gdisp.c:228:3: error: unknown type name 'gdisp_lld_msg_t'
./uGFX/src/gdisp/gdisp.c:228:38: error: 'GDISP_LLD_MSG_BLITAREA' undeclared (first use in this function)
./uGFX/src/gdisp/gdisp.c:229:4: error: request for member 'blitarea' in something not a structure or union
./uGFX/src/gdisp/gdisp.c:230:4: error: request for member 'blitarea' in something not a structure or union
./uGFX/src/gdisp/gdisp.c:231:4: error: request for member 'blitarea' in something not a structure or union
./uGFX/src/gdisp/gdisp.c:232:4: error: request for member 'blitarea' in something not a structure or union
./uGFX/src/gdisp/gdisp.c:233:4: error: request for member 'blitarea' in something not a structure or union
./uGFX/src/gdisp/gdisp.c:234:4: error: request for member 'blitarea' in something not a structure or union
./uGFX/src/gdisp/gdisp.c:235:4: error: request for member 'blitarea' in something not a structure or union
./uGFX/src/gdisp/gdisp.c:236:4: error: request for member 'blitarea' in something not a structure or union
./uGFX/src/gdisp/gdisp.c:237:30: error: request for member 'qi' in something not a structure or union
./uGFX/src/gdisp/gdisp.c: In function 'gdispSetClip':
./uGFX/src/gdisp/gdisp.c:249:3: error: unknown type name 'gdisp_lld_msg_t'
./uGFX/src/gdisp/gdisp.c:249:38: error: 'GDISP_LLD_MSG_SETCLIP' undeclared (first use in this function)
./uGFX/src/gdisp/gdisp.c:250:4: error: request for member 'setclip' in something not a structure or union
./uGFX/src/gdisp/gdisp.c:251:4: error: request for member 'setclip' in something not a structure or union
./uGFX/src/gdisp/gdisp.c:252:4: error: request for member 'setclip' in something not a structure or union
./uGFX/src/gdisp/gdisp.c:253:4: error: request for member 'setclip' in something not a structure or union
./uGFX/src/gdisp/gdisp.c:254:30: error: request for member 'qi' in something not a structure or union
./uGFX/src/gdisp/gdisp.c: In function 'gdispDrawChar':
./uGFX/src/gdisp/gdisp.c:410:3: error: unknown type name 'gdisp_lld_msg_t'
./uGFX/src/gdisp/gdisp.c:410:38: error: 'GDISP_LLD_MSG_DRAWCHAR' undeclared (first use in this function)
./uGFX/src/gdisp/gdisp.c:411:4: error: request for member 'drawchar' in something not a structure or union
./uGFX/src/gdisp/gdisp.c:412:4: error: request for member 'drawchar' in something not a structure or union
./uGFX/src/gdisp/gdisp.c:413:4: error: request for member 'drawchar' in something not a structure or union
./uGFX/src/gdisp/gdisp.c:414:4: error: request for member 'drawchar' in something not a structure or union
./uGFX/src/gdisp/gdisp.c:415:4: error: request for member 'drawchar' in something not a structure or union
./uGFX/src/gdisp/gdisp.c:416:30: error: request for member 'qi' in something not a structure or union
./uGFX/src/gdisp/gdisp.c: In function 'gdispFillChar':
./uGFX/src/gdisp/gdisp.c:428:3: error: unknown type name 'gdisp_lld_msg_t'
./uGFX/src/gdisp/gdisp.c:428:38: error: 'GDISP_LLD_MSG_FILLCHAR' undeclared (first use in this function)
./uGFX/src/gdisp/gdisp.c:429:4: error: request for member 'fillchar' in something not a structure or union
./uGFX/src/gdisp/gdisp.c:430:4: error: request for member 'fillchar' in something not a structure or union
./uGFX/src/gdisp/gdisp.c:431:4: error: request for member 'fillchar' in something not a structure or union
./uGFX/src/gdisp/gdisp.c:432:4: error: request for member 'fillchar' in something not a structure or union
./uGFX/src/gdisp/gdisp.c:433:4: error: request for member 'fillchar' in something not a structure or union
./uGFX/src/gdisp/gdisp.c:434:4: error: request for member 'fillchar' in something not a structure or union
./uGFX/src/gdisp/gdisp.c:435:30: error: request for member 'qi' in something not a structure or union

seems that some multithreading feature is still of cause it does not find gfxSysUnlock

Share this post


Link to post
Share on other sites

There's definitely something broken. I am currently looking into it. To compile successfully, please set GDISP_NEED_ASYNC to FALSE. You should then also be able to successfully compile with GWIN and different widgets.

~ Tectu

Share this post


Link to post
Share on other sites

i figured out that i missed GFX_NEED_GSYNC

now i have the following output:


./uGFX/src/gqueue/gqueue.c: In function 'gfxQueueGSyncGet':
./uGFX/src/gqueue/gqueue.c:106:3: warning: implicit declaration of function 'gfxSytemUnlock' [-Wimplicit-function-declaration]
./uGFX/src/gdisp/gdisp.c:38:2: error: unknown type name 'gfxQueue'
./uGFX/src/gdisp/gdisp.c:41:2: error: unknown type name 'gdisp_lld_msg_t'
./uGFX/src/gdisp/gdisp.c: In function 'GDISPThreadHandler':
./uGFX/src/gdisp/gdisp.c:52:3: error: unknown type name 'gdisp_lld_msg_t'
./uGFX/src/gdisp/gdisp.c:56:12: error: 'gdisp_lld_msg_t' undeclared (first use in this function)
./uGFX/src/gdisp/gdisp.c:56:12: note: each undeclared identifier is reported only once for each function it appears in
./uGFX/src/gdisp/gdisp.c:56:29: error: expected expression before ')' token
./uGFX/src/gdisp/gdisp.c:61:4: warning: implicit declaration of function 'gdisp_lld_msg_dispatch' [-Wimplicit-function-declaration]
Compiling image.c
./uGFX/src/gdisp/gdisp.c:64:8: error: request for member 'action' in something not a structure or union
./uGFX/src/gdisp/gdisp.c:64:19: error: 'GDISP_LLD_MSG_NOP' undeclared (first use in this function)
./uGFX/src/gdisp/gdisp.c: At top level:
./uGFX/src/gdisp/gdisp.c:71:2: error: unknown type name 'gdisp_lld_msg_t'
./uGFX/src/gdisp/gdisp.c:71:40: error: unknown type name 'gdisp_msgaction_t'
./uGFX/src/gdisp/gdisp.c: In function '_gdispInit':
./uGFX/src/gdisp/gdisp.c:119:16: error: request for member 'action' in something not a structure or union
./uGFX/src/gdisp/gdisp.c:119:26: error: 'GDISP_LLD_MSG_NOP' undeclared (first use in this function)
./uGFX/src/gdisp/gdisp.c:125:3: warning: implicit declaration of function 'gfxQueueInit' [-Wimplicit-function-declaration]
./uGFX/src/gdisp/gdisp.c: In function 'gdispIsBusy':
./uGFX/src/gdisp/gdisp.c:150:3: warning: implicit declaration of function 'gfxQueueIsEmpty' [-Wimplicit-function-declaration]
./uGFX/src/gdisp/gdisp.c: In function 'gdispClear':
./uGFX/src/gdisp/gdisp.c:162:3: error: unknown type name 'gdisp_lld_msg_t'
./uGFX/src/gdisp/gdisp.c:162:3: warning: implicit declaration of function 'gdispAllocMsg' [-Wimplicit-function-declaration]
./uGFX/src/gdisp/gdisp.c:162:38: error: 'GDISP_LLD_MSG_CLEAR' undeclared (first use in this function)
./uGFX/src/gdisp/gdisp.c:163:4: error: request for member 'clear' in something not a structure or union
./uGFX/src/gdisp/gdisp.c:164:3: warning: implicit declaration of function 'gfxQueuePut' [-Wimplicit-function-declaration]
./uGFX/src/gdisp/gdisp.c:164:30: error: request for member 'qi' in something not a structure or union
./uGFX/src/gdisp/gdisp.c: In function 'gdispDrawPixel':
./uGFX/src/gdisp/gdisp.c:176:3: error: unknown type name 'gdisp_lld_msg_t'
./uGFX/src/gdisp/gdisp.c:176:38: error: 'GDISP_LLD_MSG_DRAWPIXEL' undeclared (first use in this function)
./uGFX/src/gdisp/gdisp.c:177:4: error: request for member 'drawpixel' in something not a structure or union
./uGFX/src/gdisp/gdisp.c:178:4: error: request for member 'drawpixel' in something not a structure or union
./uGFX/src/gdisp/gdisp.c:179:4: error: request for member 'drawpixel' in something not a structure or union
./uGFX/src/gdisp/gdisp.c:180:30: error: request for member 'qi' in something not a structure or union
./uGFX/src/gdisp/gdisp.c: In function 'gdispDrawLine':
./uGFX/src/gdisp/gdisp.c:192:3: error: unknown type name 'gdisp_lld_msg_t'
./uGFX/src/gdisp/gdisp.c:192:38: error: 'GDISP_LLD_MSG_DRAWLINE' undeclared (first use in this function)
./uGFX/src/gdisp/gdisp.c:193:4: error: request for member 'drawline' in something not a structure or union
./uGFX/src/gdisp/gdisp.c:194:4: error: request for member 'drawline' in something not a structure or union
Compiling image_native.c
./uGFX/src/gdisp/gdisp.c:195:4: error: request for member 'drawline' in something not a structure or union
./uGFX/src/gdisp/gdisp.c:196:4: error: request for member 'drawline' in something not a structure or union
./uGFX/src/gdisp/gdisp.c:197:4: error: request for member 'drawline' in something not a structure or union
Compiling image_gif.c
./uGFX/src/gdisp/gdisp.c:198:30: error: request for member 'qi' in something not a structure or union
./uGFX/src/gdisp/gdisp.c: In function 'gdispFillArea':
./uGFX/src/gdisp/gdisp.c:210:3: error: unknown type name 'gdisp_lld_msg_t'
./uGFX/src/gdisp/gdisp.c:210:38: error: 'GDISP_LLD_MSG_FILLAREA' undeclared (first use in this function)
./uGFX/src/gdisp/gdisp.c:211:4: error: request for member 'fillarea' in something not a structure or union
./uGFX/src/gdisp/gdisp.c:212:4: error: request for member 'fillarea' in something not a structure or union
./uGFX/src/gdisp/gdisp.c:213:4: error: request for member 'fillarea' in something not a structure or union
./uGFX/src/gdisp/gdisp.c:214:4: error: request for member 'fillarea' in something not a structure or union
./uGFX/src/gdisp/gdisp.c:215:4: error: request for member 'fillarea' in something not a structure or union
./uGFX/src/gdisp/gdisp.c:216:30: error: request for member 'qi' in something not a structure or union
./uGFX/src/gdisp/gdisp.c: In function 'gdispBlitAreaEx':
./uGFX/src/gdisp/gdisp.c:228:3: error: unknown type name 'gdisp_lld_msg_t'
./uGFX/src/gdisp/gdisp.c:228:38: error: 'GDISP_LLD_MSG_BLITAREA' undeclared (first use in this function)
./uGFX/src/gdisp/gdisp.c:229:4: error: request for member 'blitarea' in something not a structure or union
./uGFX/src/gdisp/gdisp.c:230:4: error: request for member 'blitarea' in something not a structure or union
./uGFX/src/gdisp/gdisp.c:231:4: error: request for member 'blitarea' in something not a structure or union
./uGFX/src/gdisp/gdisp.c:232:4: error: request for member 'blitarea' in something not a structure or union
./uGFX/src/gdisp/gdisp.c:233:4: error: request for member 'blitarea' in something not a structure or union
./uGFX/src/gdisp/gdisp.c:234:4: error: request for member 'blitarea' in something not a structure or union
./uGFX/src/gdisp/gdisp.c:235:4: error: request for member 'blitarea' in something not a structure or union
./uGFX/src/gdisp/gdisp.c:236:4: error: request for member 'blitarea' in something not a structure or union
./uGFX/src/gdisp/gdisp.c:237:30: error: request for member 'qi' in something not a structure or union
./uGFX/src/gdisp/gdisp.c: In function 'gdispSetClip':
./uGFX/src/gdisp/gdisp.c:249:3: error: unknown type name 'gdisp_lld_msg_t'
./uGFX/src/gdisp/gdisp.c:249:38: error: 'GDISP_LLD_MSG_SETCLIP' undeclared (first use in this function)
./uGFX/src/gdisp/gdisp.c:250:4: error: request for member 'setclip' in something not a structure or union
./uGFX/src/gdisp/gdisp.c:251:4: error: request for member 'setclip' in something not a structure or union
./uGFX/src/gdisp/gdisp.c:252:4: error: request for member 'setclip' in something not a structure or union
./uGFX/src/gdisp/gdisp.c:253:4: error: request for member 'setclip' in something not a structure or union
./uGFX/src/gdisp/gdisp.c:254:30: error: request for member 'qi' in something not a structure or union
./uGFX/src/gdisp/gdisp.c: In function 'gdispDrawChar':
./uGFX/src/gdisp/gdisp.c:410:3: error: unknown type name 'gdisp_lld_msg_t'
./uGFX/src/gdisp/gdisp.c:410:38: error: 'GDISP_LLD_MSG_DRAWCHAR' undeclared (first use in this function)
./uGFX/src/gdisp/gdisp.c:411:4: error: request for member 'drawchar' in something not a structure or union
./uGFX/src/gdisp/gdisp.c:412:4: error: request for member 'drawchar' in something not a structure or union
./uGFX/src/gdisp/gdisp.c:413:4: error: request for member 'drawchar' in something not a structure or union
./uGFX/src/gdisp/gdisp.c:414:4: error: request for member 'drawchar' in something not a structure or union
./uGFX/src/gdisp/gdisp.c:415:4: error: request for member 'drawchar' in something not a structure or union
./uGFX/src/gdisp/gdisp.c:416:30: error: request for member 'qi' in something not a structure or union
./uGFX/src/gdisp/gdisp.c: In function 'gdispFillChar':
./uGFX/src/gdisp/gdisp.c:428:3: error: unknown type name 'gdisp_lld_msg_t'
./uGFX/src/gdisp/gdisp.c:428:38: error: 'GDISP_LLD_MSG_FILLCHAR' undeclared (first use in this function)
./uGFX/src/gdisp/gdisp.c:429:4: error: request for member 'fillchar' in something not a structure or union
./uGFX/src/gdisp/gdisp.c:430:4: error: request for member 'fillchar' in something not a structure or union
./uGFX/src/gdisp/gdisp.c:431:4: error: request for member 'fillchar' in something not a structure or union
./uGFX/src/gdisp/gdisp.c:432:4: error: request for member 'fillchar' in something not a structure or union
./uGFX/src/gdisp/gdisp.c:433:4: error: request for member 'fillchar' in something not a structure or union
./uGFX/src/gdisp/gdisp.c:434:4: error: request for member 'fillchar' in something not a structure or union
./uGFX/src/gdisp/gdisp.c:435:30: error: request for member 'qi' in something not a structure or union
make: *** [build/obj/gdisp.o] Error 1
make: *** Waiting for unfinished jobs....

seems my lld config is not correct

or what du u think?

Share this post


Link to post
Share on other sites

GFX_USE_ASYNC to FALSE and then Muiltithread to True for GTIMER worked for compiling but i get the following warnings:


In file included from ./uGFX/include/gfx.h:185:0,
from ./uGFX/src/gfx.c:16:
./uGFX/include/gfx_rules.h:180:5: warning: #warning "GTIMER: Neither GDISP_NEED_MULTITHREAD nor GDISP_NEED_ASYNC has been specified." [-Wcpp]
./uGFX/include/gfx_rules.h:181:5: warning: #warning "GTIMER: Make sure you are not performing any GDISP/GWIN drawing operations in the timer callback!" [-Wcpp]
./uGFX/src/gqueue/gqueue.c:106:3: warning: implicit declaration of function 'gfxSytemUnlock' [-Wimplicit-function-declaration]

ok i just cleaned an rebuilded and the first warnings to GTIMER vanished.

but the implicit declaration bothers me.

any suggestions?

Share this post


Link to post
Share on other sites

Good to hear that you got it working. I hope that you can show us at some point what you're doing, we really need more stuff from users to show off with ;-)

About the driver: Make sure you got the config right. For testing, set everything to false so it just uses the pixel draw routine. Then start by implementing window filling etc. Keep stuff like vertical scrolling etc. for the rest.

If you have any problems, feel free to open up a new thread related to that driver.

~ Tectu

Share this post


Link to post
Share on other sites

Ok, for the driver i need to build up my LA tomorrow to see whats going wrong.

My goal is mp3 playing alarm clock like philips lightbeam ore how the are realy named. with sunrise emulation. and i have plenty of those T6963C Graphic displays an i have no fun in reinventin the wheel, for me uGFX is an good graphics set. so i hope making fast progress.

gn8

Tec

Share this post


Link to post
Share on other sites

What means "plenty"? - I'd be interested.

GWIN is not the thing you need then. You have to do all the widget drawing yourself. GWIN can only be used together with at least one input source.

~ Tectu

Share this post


Link to post
Share on other sites

plenty means i have 6 to 7 here at my home office, and a frend of me has a lot more, they from discontiued product.

To Gwin: iam mow not very familiar with the posibilitys of gfx. My Idea for the ui is to make several sides with widgets and control everythin with 4 Buttons thats what i have in Hardware.

what would u suggest to use from gfx to achive this? and how is the Toggle driver of Input integrated? can i move the fokus from one widget on a page to the other or how is it ment to be used?

my be i should open up an new Thread on System architecture?

Greets

Tec

Share this post


Link to post
Share on other sites

Ah, if you have those hardware buttons, then you will be fine. Most widgets such the buttons, sliders, lists and so on do support the toggle input, as you mentioned correctly. The big widget demo shows how to use that.

Yes, please open a new thread with an appropriate subject for future questions (It's not meant to be rude, but a clear structure helps other users to find the answers they are searching for).

~ Tectu

Share this post


Link to post
Share on other sites
Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...