Jump to content

SilasV

Members
  • Posts

    10
  • Joined

  • Last visited

Posts posted by SilasV

  1. Hi 

    Could not work on this for quite sometime, since pulled into some other issues :(

    So now finally I have a working set up - FreeRTOS + uGFX running on STM32F412 boad using FSMC 16 bit using ILI9341 controller - this set up shows me "uGFX" logo on gfxInit() followed by dark screen (as expected as I believe), I have attached the image.  

    Next I have a simple page using label and button, does not use any custom font or any background designed in uGFXStudio. If I use the Studio generated code files in "output" folder, I definitely get errors. So would anyone please let me know what flags/defines I need to set true or false just to compile and show the "page" on screen?  I have also attached the image of the page in the uGFXStudio.  

    I have the following questions which would help me determine next steps for my products:

    Q1: Is there any update on the uGFX-Studio current version (no complete re-written version) so that it  generates the required gfxconf.h with exactly what objects are used in the design of the page/s so that I can use the generated code "as is" in my project to compile and work fine without any issues?   

    Q2: I have a working set up of using Segger emWin / STemWin (see the attached image)  - since I am going to use STM32 F4 / L4, I can use STemWin in my products without any lic issues. But I would sure like to consider uGFX for my products since a) this is open source b) fair pricing c) support ( I believe ).  If I buy the commerical lic of uGFX, is there a different version of library + uGFX Studio that I would get to make the design and compile experience better?

    Q3. If I am going to get the same version of lib and studio from uGFX, is there any plan to fix the existing studio version to generate the code+files exactly the way it should be?  I know your team is working on bringing out next version, but that has been promised for quite long. I would consider to fix the issues on the existing version first so that it is usable in production without any issues.

    Q4. When I start the project wizard in uGFXStudio, the window shows the note as "This is a beta software, it is far from complete and it is known to contain bugs. Please do not use this software for purely productive tasks" - is this still true? This sure tells me not to use this software for any production purposes. Any comments or clarification please?

    Appreciate your help 

    Thanks

    Silas

       

    FullSizeRender.jpg

    Page1.jpg

    IMG_1835.JPG

  2. Hi Joel, 

    Thank you so much for your reply and information. After cleaning up, I followed your directions and excluded the font files. Also defined the functions for gfxillisecondsToTicks() and gfxSystemTicks(). And then ran the build. The following error comes up:  would you please help...

    Building file: ../ugfx_2.7/drivers/multiple/uGFXnet/gdisp_lld_uGFXnet.c
    Invoking: MCU GCC Compiler
    %cd%
    arm-none-eabi-gcc -mcpu=cortex-m4 -mthumb -mfloat-abi=hard -mfpu=fpv4-sp-d16 '-D__weak=__attribute__((weak))' '-D__packed=__attribute__((__packed__))' -DUSE_HAL_DRIVER -DSTM32F412Zx -IC:/Ac6/ProjectsFromCube/NucleoWith9341/Inc -IC:/Ac6/ProjectsFromCube/NucleoWith9341/Drivers/STM32F4xx_HAL_Driver/Inc -IC:/Ac6/ProjectsFromCube/NucleoWith9341/Drivers/STM32F4xx_HAL_Driver/Inc/Legacy -IC:/Ac6/ProjectsFromCube/NucleoWith9341/Drivers/CMSIS/Device/ST/STM32F4xx/Include -IC:/Ac6/ProjectsFromCube/NucleoWith9341/Drivers/CMSIS/Include -IC:/Ac6/ProjectsFromCube/NucleoWith9341/Debug -IC:/Ac6/ProjectsFromCube/NucleoWith9341/uGFX -IC:/Ac6/ProjectsFromCube/NucleoWith9341/Drivers/DispDriver -IC:/Ac6/ProjectsFromCube/NucleoWith9341/ugfx_2.7 -Og -g3 -Wall -fmessage-length=0 -ffunction-sections -c -fmessage-length=0 -MMD -MP -MF"ugfx_2.7/drivers/multiple/uGFXnet/gdisp_lld_uGFXnet.d" -MT"ugfx_2.7/drivers/multiple/uGFXnet/gdisp_lld_uGFXnet.o" -o "ugfx_2.7/drivers/multiple/uGFXnet/gdisp_lld_uGFXnet.o" "../ugfx_2.7/drivers/multiple/uGFXnet/gdisp_lld_uGFXnet.c"
    ../ugfx_2.7/drivers/multiple/uGFXnet/gdisp_lld_uGFXnet.c:120:27: fatal error: lwip/sockets.h: No such file or directory
    compilation terminated.
    make: *** [ugfx_2.7/drivers/multiple/uGFXnet/gdisp_lld_uGFXnet.o] Error 1

    Thanks 

    Silas

  3. Hi 

    Further trying to resolve the errors, I set the following as "TRUE" in the file gos_options.h in the directory ugfx_2.7/src/gos/ 

        #ifndef GFX_USE_OS_RAW32
            #define GFX_USE_OS_RAW32        TRUE
        #endif
     

    And then running the build, I was still getting the reference to the user font and still pointing to DejaVuSans10.c in rsc folder -  but this is already included in ugfx_2.7/src/gdisp/fonts - so I removed the file userfonts.h generated from the studio code generator - and then run the build after cleaning. 

    The build wend pretty smooth - it created all object files, and then running the linker - it gave me the following errors: 

    Any clue / suggestion / pointer will be highly appreciated :) I think I am pretty close .. 

    Thanks

    Silas

     

     

    Invoking: MCU GCC Linker
    arm-none-eabi-gcc -mcpu=cortex-m4 -mthumb -mfloat-abi=hard -mfpu=fpv4-sp-d16 -specs=nosys.specs -specs=nano.specs -T"../STM32F412ZGTx_FLASH.ld" -Wl,-Map=output.map -Wl,--gc-sections -lm -o "NucleoWith9341.elf" @"objects.list"  
    Src/gfx_mk.o: In function `gfxSemWait':
    C:/Ac6/ugfx_2.7/Src/gos/gos_x_threads.c:66: undefined reference to `gfxMillisecondsToTicks'
    C:/Ac6/ugfx_2.7/Src/gos/gos_x_threads.c:68: undefined reference to `gfxSystemTicks'
    C:/Ac6/ugfx_2.7/Src/gos/gos_x_threads.c:81: undefined reference to `gfxSystemTicks'
    Src/gfx_mk.o: In function `gfxSleepMilliseconds':
    C:/Ac6/ugfx_2.7/Src/gos/gos_x_threads.c:129: undefined reference to `gfxMillisecondsToTicks'
    C:/Ac6/ugfx_2.7/Src/gos/gos_x_threads.c:130: undefined reference to `gfxSystemTicks'
    C:/Ac6/ugfx_2.7/Src/gos/gos_x_threads.c:134: undefined reference to `gfxSystemTicks'
    Src/gfx_mk.o: In function `_gtimerInit':
    C:/Ac6/ugfx_2.7/Src/gtimer/gtimer.c:119: undefined reference to `gfxMillisecondsToTicks'
    Src/gfx_mk.o: In function `_gmouseInit':
    C:/Ac6/ugfx_2.7/Src/ginput/ginput_mouse.c:653: undefined reference to `GMOUSEVMT_OnlyOne'
    collect2.exe: error: ld returned 1 exit status
    make: *** [NucleoWith9341.elf] Error 1

     

     

     

     

  4. Hi Joel & Inmarket

    Reading through the forum topics, here is what I tried :

    I cleaned up my SystemWorkbench project, removed all uGFX references and brought back to what it was. then followed the steps below:

    1. Added gfx_mk.c to the /Src folder of the project,

    2. Added #include "gui.h" and #include "gfx.h" to the main.c

    3. Added uGFX root directory path "c:/ugfx_2.7" and path "c:/ugfx_2.7/Src"  to project "include" paths

    4. Also added folder "uGFX" which contains all the code in "output" folder from uGFX_Studio after generating the code

    5. In the file gfxconf.h - added the following at the top - seems like the code generator of uGFX_studio does not add these lines

    /********************************************************/
    /* GOS stuff                                          */
    /********************************************************/
    #define GFX_USE_OS_RAW32 TRUE

    6. Copy this gfxconf.h file into uGFX root directory - i.e. "c:/ugfx_2.7" - there is a file called gfxconf.example.h file there in this directory - which I guess need to be updated before use, but I just use the file generated from uGFX_Studio code generator.

    Hope whatever I did above is ok, let me know otherwise..

    Running the build : I getting errors as under: 

    would you please help... :)

     

    Building file: ../uGFX/DispDriver/gdisp_lld_ILI9341.c
    Invoking: MCU GCC Compiler
    %cd%
    arm-none-eabi-gcc -mcpu=cortex-m4 -mthumb -mfloat-abi=hard -mfpu=fpv4-sp-d16 '-D__weak=__attribute__((weak))' '-D__packed=__attribute__((__packed__))' -DUSE_HAL_DRIVER -DSTM32F412Zx -IC:/Ac6/ProjectsFromCube/NucleoWith9341/Inc -IC:/Ac6/ProjectsFromCube/NucleoWith9341/Drivers/STM32F4xx_HAL_Driver/Inc -IC:/Ac6/ProjectsFromCube/NucleoWith9341/Drivers/STM32F4xx_HAL_Driver/Inc/Legacy -IC:/Ac6/ProjectsFromCube/NucleoWith9341/Drivers/CMSIS/Device/ST/STM32F4xx/Include -IC:/Ac6/ProjectsFromCube/NucleoWith9341/Drivers/CMSIS/Include -IC:/Ac6/ProjectsFromCube/NucleoWith9341/Debug -IC:/Ac6/ugfx_2.7/Src -IC:/Ac6/ugfx_2.7 -Og -g3 -Wall -fmessage-length=0 -ffunction-sections -c -fmessage-length=0 -MMD -MP -MF"uGFX/DispDriver/gdisp_lld_ILI9341.d" -MT"uGFX/DispDriver/gdisp_lld_ILI9341.o" -o "uGFX/DispDriver/gdisp_lld_ILI9341.o" "../uGFX/DispDriver/gdisp_lld_ILI9341.c"
    In file included from C:/Ac6/ugfx_2.7/gfx.h:195:0,
                     from ../uGFX/DispDriver/gdisp_lld_ILI9341.c:8:
    C:/Ac6/ugfx_2.7/src/gos/gos_rules.h:20:3: error: #error "GOS: No operating system has been defined."
      #error "GOS: No operating system has been defined."
       ^
    C:/Ac6/ugfx_2.7/src/gos/gos_rules.h:24:3: error: #error "GOS: More than one operation system has been defined as TRUE."
      #error "GOS: More than one operation system has been defined as TRUE."
       ^
    In file included from C:/Ac6/ugfx_2.7/gfx.h:200:0,
                     from ../uGFX/DispDriver/gdisp_lld_ILI9341.c:8:
    C:/Ac6/ugfx_2.7/src/gos/gos.h:503:3: error: #error "Your operating system is not supported yet"
      #error "Your operating system is not supported yet"
       ^
    In file included from C:/Ac6/ugfx_2.7/gfx.h:203:0,
                     from ../uGFX/DispDriver/gdisp_lld_ILI9341.c:8:
    C:/Ac6/ugfx_2.7/src/gmisc/gmisc.h:60:9: error: unknown type name 'int32_t'
     typedef int32_t fixed;
             ^
    In file included from C:/Ac6/ugfx_2.7/gfx.h:205:0,
                     from ../uGFX/DispDriver/gdisp_lld_ILI9341.c:8:
    C:/Ac6/ugfx_2.7/src/gqueue/gqueue.h:46:2: error: unknown type name 'gfxSem'
      gfxSem      sem;
      ^
    C:/Ac6/ugfx_2.7/src/gqueue/gqueue.h:62:2: error: unknown type name 'gfxSem'
      gfxSem    sem;
      ^
    C:/Ac6/ugfx_2.7/src/gqueue/gqueue.h:68:2: error: unknown type name 'gfxSem'
      gfxSem    sem;
      ^
    C:/Ac6/ugfx_2.7/src/gqueue/gqueue.h:80:2: error: unknown type name 'size_t'
      size_t    size;  // @< The size of the buffer area following this structure (in bytes)
      ^
    C:/Ac6/ugfx_2.7/src/gqueue/gqueue.h:81:2: error: unknown type name 'size_t'
      size_t    len;  // @< The length of the data in the buffer area (in bytes)
      ^
    C:/Ac6/ugfx_2.7/src/gqueue/gqueue.h:140:60: error: unknown type name 'delaytime_t'
     gfxQueueGSyncItem *gfxQueueGSyncGet(gfxQueueGSync *pqueue, delaytime_t ms);
                                                                ^
    C:/Ac6/ugfx_2.7/src/gqueue/gqueue.h:142:60: error: unknown type name 'delaytime_t'
     gfxQueueFSyncItem *gfxQueueFSyncGet(gfxQueueFSync *pqueue, delaytime_t ms);
                                                                ^
    C:/Ac6/ugfx_2.7/src/gqueue/gqueue.h:166:1: error: unknown type name 'bool_t'
     bool_t gfxQueueFSyncPut(gfxQueueFSync *pqueue, gfxQueueFSyncItem *pitem, delaytime_t ms);
     ^
    C:/Ac6/ugfx_2.7/src/gqueue/gqueue.h:166:74: error: unknown type name 'delaytime_t'
     bool_t gfxQueueFSyncPut(gfxQueueFSync *pqueue, gfxQueueFSyncItem *pitem, delaytime_t ms);
                                                                              ^
    C:/Ac6/ugfx_2.7/src/gqueue/gqueue.h:204:1: error: unknown type name 'bool_t'
     bool_t gfxQueueFSyncPush(gfxQueueFSync *pqueue, gfxQueueFSyncItem *pitem, delaytime_t ms);
     ^
    C:/Ac6/ugfx_2.7/src/gqueue/gqueue.h:204:75: error: unknown type name 'delaytime_t'
     bool_t gfxQueueFSyncPush(gfxQueueFSync *pqueue, gfxQueueFSyncItem *pitem, delaytime_t ms);
                                                                               ^
    C:/Ac6/ugfx_2.7/src/gqueue/gqueue.h:230:1: error: unknown type name 'bool_t'
     bool_t gfxQueueFSyncInsert(gfxQueueFSync *pqueue, gfxQueueFSyncItem *pitem, gfxQueueASyncItem *pafter, delaytime_t ms);
     ^
    C:/Ac6/ugfx_2.7/src/gqueue/gqueue.h:230:104: error: unknown type name 'delaytime_t'
     bool_t gfxQueueFSyncInsert(gfxQueueFSync *pqueue, gfxQueueFSyncItem *pitem, gfxQueueASyncItem *pafter, delaytime_t ms);
                                                                                                            ^
    C:/Ac6/ugfx_2.7/src/gqueue/gqueue.h:290:1: error: unknown type name 'bool_t'
     bool_t gfxQueueASyncIsIn(gfxQueueASync *pqueue, const gfxQueueASyncItem *pitem);
     ^
    C:/Ac6/ugfx_2.7/src/gqueue/gqueue.h:291:1: error: unknown type name 'bool_t'
     bool_t gfxQueueASyncIsInI(gfxQueueASync *pqueue, const gfxQueueASyncItem *pitem);
     ^
    C:/Ac6/ugfx_2.7/src/gqueue/gqueue.h:292:1: error: unknown type name 'bool_t'
     bool_t gfxQueueGSyncIsIn(gfxQueueGSync *pqueue, const gfxQueueGSyncItem *pitem);
     ^
    C:/Ac6/ugfx_2.7/src/gqueue/gqueue.h:293:1: error: unknown type name 'bool_t'
     bool_t gfxQueueGSyncIsInI(gfxQueueGSync *pqueue, const gfxQueueGSyncItem *pitem);
     ^
    C:/Ac6/ugfx_2.7/src/gqueue/gqueue.h:294:1: error: unknown type name 'bool_t'
     bool_t gfxQueueFSyncIsIn(gfxQueueFSync *pqueue, const gfxQueueFSyncItem *pitem);
     ^
    C:/Ac6/ugfx_2.7/src/gqueue/gqueue.h:295:1: error: unknown type name 'bool_t'
     bool_t gfxQueueFSyncIsInI(gfxQueueFSync *pqueue, const gfxQueueFSyncItem *pitem);
     ^
    C:/Ac6/ugfx_2.7/src/gqueue/gqueue.h:359:1: error: unknown type name 'bool_t'
     bool_t gfxBufferAlloc(unsigned num, size_t size);
     ^
    C:/Ac6/ugfx_2.7/src/gqueue/gqueue.h:359:37: error: unknown type name 'size_t'
     bool_t gfxBufferAlloc(unsigned num, size_t size);
                                         ^
    C:/Ac6/ugfx_2.7/src/gqueue/gqueue.h:370:1: error: unknown type name 'bool_t'
     bool_t gfxBufferIsAvailable(void);
     ^
    C:/Ac6/ugfx_2.7/src/gqueue/gqueue.h:383:27: error: unknown type name 'delaytime_t'
     GDataBuffer *gfxBufferGet(delaytime_t ms);
                               ^
    In file included from C:/Ac6/ugfx_2.7/gfx.h:206:0,
                     from ../uGFX/DispDriver/gdisp_lld_ILI9341.c:8:
    C:/Ac6/ugfx_2.7/src/gevent/gevent.h:33:9: error: unknown type name 'uint16_t'
     typedef uint16_t      GEventType;
             ^
    C:/Ac6/ugfx_2.7/src/gevent/gevent.h:58:2: error: unknown type name 'gfxSem'
      gfxSem    waitqueue;   // Private: Semaphore for the listener to wait on.
      ^
    C:/Ac6/ugfx_2.7/src/gevent/gevent.h:59:2: error: unknown type name 'uint16_t'
      uint16_t   flags;    // Private: Flags for operation
      ^
    C:/Ac6/ugfx_2.7/src/gevent/gevent.h:72:2: error: unknown type name 'uint32_t'
      uint32_t  listenflags;  // The flags the listener passed when the source was assigned to it.
      ^
    C:/Ac6/ugfx_2.7/src/gevent/gevent.h:73:2: error: unknown type name 'uint32_t'
      uint32_t  srcflags;   // For the source's exclusive use. Initialised as 0 for a new listener source assignment.
      ^
    C:/Ac6/ugfx_2.7/src/gevent/gevent.h:133:1: error: unknown type name 'bool_t'
     bool_t geventAttachSource(GListener *pl, GSourceHandle gsh, uint32_t flags);
     ^
    C:/Ac6/ugfx_2.7/src/gevent/gevent.h:133:61: error: unknown type name 'uint32_t'
     bool_t geventAttachSource(GListener *pl, GSourceHandle gsh, uint32_t flags);
                                                                 ^
    C:/Ac6/ugfx_2.7/src/gevent/gevent.h:164:40: error: unknown type name 'delaytime_t'
     GEvent *geventEventWait(GListener *pl, delaytime_t timeout);
                                            ^
    In file included from C:/Ac6/ugfx_2.7/gfx.h:207:0,
                     from ../uGFX/DispDriver/gdisp_lld_ILI9341.c:8:
    C:/Ac6/ugfx_2.7/src/gtimer/gtimer.h:55:2: error: unknown type name 'systemticks_t'
      systemticks_t  when;
      ^
    C:/Ac6/ugfx_2.7/src/gtimer/gtimer.h:56:2: error: unknown type name 'systemticks_t'
      systemticks_t  period;
      ^
    C:/Ac6/ugfx_2.7/src/gtimer/gtimer.h:57:2: error: unknown type name 'uint16_t'
      uint16_t   flags;
      ^
    C:/Ac6/ugfx_2.7/src/gtimer/gtimer.h:117:62: error: unknown type name 'bool_t'
     void gtimerStart(GTimer *pt, GTimerFunction fn, void *param, bool_t periodic, delaytime_t millisec);
                                                                  ^
    C:/Ac6/ugfx_2.7/src/gtimer/gtimer.h:117:79: error: unknown type name 'delaytime_t'
     void gtimerStart(GTimer *pt, GTimerFunction fn, void *param, bool_t periodic, delaytime_t millisec);
                                                                                   ^
    C:/Ac6/ugfx_2.7/src/gtimer/gtimer.h:139:1: error: unknown type name 'bool_t'
     bool_t gtimerIsActive(GTimer *pt);
     ^
    In file included from C:/Ac6/ugfx_2.7/gfx.h:208:0,
                     from ../uGFX/DispDriver/gdisp_lld_ILI9341.c:8:
    C:/Ac6/ugfx_2.7/src/gdisp/gdisp.h:39:9: error: unknown type name 'int16_t'
     typedef int16_t coord_t;
             ^
    C:/Ac6/ugfx_2.7/src/gdisp/gdisp.h:157:31: fatal error: gdisp_lld_config.h: No such file or directory
    compilation terminated.
    make: *** [uGFX/DispDriver/gdisp_lld_ILI9341.o] Error 1

     

       

  5. hi 

    Thanks for your replies- here is what I am doing - I have a physical folder in my proejct directory called uGFX - where in I put all the "output" folder content from the uGFX-Studio after the code is generated. I also have a folder "DispDriver" under uGFX where in  I put files related to the driver from the particular driver folder from "ugfx_2.7\drivers\gdisp". I have attached the pic file wiht this which would explain better. 

    With this set up, I am still getting the same error - "fatal error: mf_bwfont.h: No such file or directory" - I know this file is under "ugfx_2.7\src\gdisp\mcufont"  would you please help me.. :)

    thanks

    Silas

     

     

     

     

    Pic2.jpg

  6. Hi

    I am using AC6 System Workbench for ARM with STM32CubeMx + TFT LCD with ILI9341 8 bit interface over FSMC. I tested the LCD with FSMC for simple routines like put pixel and fill the screen with color and it looks fine. Using the uGFX-Studio, I did only one page, very simple - using default widget style, generated the code. Also updated the template and renamed to board_ILI9341.h.  And then finally copied required files into my project in System Workbench. Also added "include" paths.

    When I build the project, at first I got error: "The font file is not compatible with this version of mcufont." in the #ifndef MF_BWFONT_VERSION_4_SUPPORTED from the file DejaVuSans10.c, along with other typedef errors. But then found that in the directory ../ugfx_2.7 there are files mf_bwfont.h, mf_rlefont.h and mf_scaledfont.h which are actually empty, and these files exist elsewhere in the subfolders. Also there is this note in these files: "New versions of the font generator do not generate these include lines." - I did not use the font generator. But anyways, I just renamed these files and tried rebuilding - and I get this error: mf_bwfont.h: No such file or directory - this is of course in the include path. Any clue or idea what am I missing here? Under my "includes" I can see all the paths and under each I can see all the files in the tree structure in my project. Not sure what is causing this error.. 

    Thanks in advance

    SilasV

     

  7. Looks like this has already been answered :)   I did the search first before posting - searching for "v0.20" and the search did not return anything - something wrong there :(

    Well in the youtube video - it was mentioned that it is a preview and releasing in couple of weeks - and that was in Aug 2016.. 

    Ok so I will play with v0.15 and will come back if questions.. 

    Thanks 

    SilasV

  8. Hi

    I am new to uGFX - I thought I will give it a try - coming from STemWin - and in hope to get quick support if needed :)

    I downloaded required files - but I found that uGFX-Studio in the download is v0.15 - where can I get v0.20? I saw the video on youtube (https://www.youtube.com/ watch?v=J4Dss0sHplM  - posting the link actually embeds the youtube widget - that is so cool - but I just wanted to put the link). Can anyone help me? Is the version 0.20 still not officially released? 

    Thanks 

    SilasV

     

     

×
×
  • Create New...