Jump to content

All Activity

This stream auto-updates     

  1. Yesterday
  2. ADS7843 board file for Arduino

    GCC should output an error number for the duplicate const error it is outputting. If we know that number we can add a #pragma to turn it off. Unfortunately I don't have time to research it right now but I may be able to look on the weekend if you haven't found it by then.
  3. Problem Stack Overflow

    There are several stacks associated with the STM processors. The best way to check them is to look at the chibios linker file. It may (for example) be the interrupt stack you are exceeding which would explain why increasing the main stack didn't help. uGFX also has its own stack for its timer thread. By default it is set to 2K which is plenty for any of the uGFX demos. There is a gfxconf.h setting to change that if you desire although that definitely won't be necessary for any of the demos.
  4. Problem Stack Overflow

    Thanks. The unmodified demo also does not work. The display stays empty. I tried it now.
  5. Problem Stack Overflow

    Hello and welcome to the µGFX community! Before we start diving into debugging this - did you try running the unmodified /demos/modules/gwin/button demo? Does that work?
  6. Problem Stack Overflow

    Hey I have got a Problem I started a Project: Hardware: STM32F407VG with Embest Base Board (Controller: SSD2119 and STMPE811) OS: ChibiOS 2.0 The first step was that i tried to implement an image and text. That worked fine. After that i tried to implement a button. So I used parts of the demo /gwin/button. It compiles without any error. But the screen still is empty when i load it to the STM Board. I debugged it step by step and I saw that it alwas stops after execution one line. I enabled some debug options in chconf.h and then the Debugger always stops at the end of following if-statement: #if CH_DBG_ENABLE_TRACE || defined(__DOXYGEN__) /** * @brief Public trace buffer. */ ch_trace_buffer_t dbg_trace_buffer; /** * @brief Trace circular buffer subsystem initialization. * @note Internal use only. */ void _trace_init(void) { dbg_trace_buffer.tb_size = CH_TRACE_BUFFER_SIZE; dbg_trace_buffer.tb_ptr = &dbg_trace_buffer.tb_buffer[0]; } /** * @brief Inserts in the circular debug trace buffer a context switch record. * * @param[in] otp the thread being switched out * * @notapi */ void dbg_trace(Thread *otp) { dbg_trace_buffer.tb_ptr->se_time = chTimeNow(); dbg_trace_buffer.tb_ptr->se_tp = currp; dbg_trace_buffer.tb_ptr->se_wtobjp = otp->p_u.wtobjp; dbg_trace_buffer.tb_ptr->se_state = (uint8_t)otp->p_state; if (++dbg_trace_buffer.tb_ptr >= &dbg_trace_buffer.tb_buffer[CH_TRACE_BUFFER_SIZE]) dbg_trace_buffer.tb_ptr = &dbg_trace_buffer.tb_buffer[0]; } #endif /* CH_DBG_ENABLE_TRACE */ So i read in the documentation that it should have something to do with a stack size problem. I tried to increase the main stack size and process stack size from 0x0400 to 0x0F00, but this didn't solve my problem How can I find out which stack or thread has an overflow? Thank you in advance.
  7. ADS7843 board file for Arduino

    Editing only one line in gdriver.h is not a big problem, I can live with that. But I found one more problem related to gcc duplicate const error. Customised keyboard layout requires GVSpecialKey declaration in the main sketch. After adding #include "src/gwin/gwin_keyboard_layout.h" to the sketch, UECIDE shows the following two errors: • Error at line 53 in file gwin_keyboard_layout.h: ‣ duplicate 'const' • Error at line 54 in file gwin_keyboard_layout.h: ‣ duplicate 'const' Compiling Failed Is there any way around this issue? Perhaps adding some gcc compilation flags? I would like to avoid modifying uGFX source if possible.
  8. Error: Undefined Reference to 'FsROMVMT'

    Ok, Thanks. I could solve the build Error. I did the build clean before, but that didn't helped. So I did a full chip eraese. That worked. For the stacksize problem: Do I understand this right that I have to add the options Chibios_process_stacksize and exceptions_stacksize to my makefile and the option 'LDFLAGS' should be empty?
  9. Error: Undefined Reference to 'FsROMVMT'

    Regarding the build error: Did you perform a clean build? Regarding the linker options: The top-level makefile provided by µGFX that you're using comes with an entire API that is documented in /tools/gmake_scripts/readme.txt. Furthermore, the ChibiOS makefiles that are being included by the top-level one if OPT_OS = chibios feature some more chibios specific options which are also documented: # See readme.txt for the make API # Requirements: # # CHIBIOS The location of the ChibiOS code eg. CHIBIOS = ../chibios # CHIBIOS_PLATFORM The name of the ChibiOS platform eg. CHIBIOS_PLATFORM = AT91SAM7 # CHIBIOS_PORT The name of the ChibiOS port eg. CHIBIOS_PORT = GCC/ARM/AT91SAM7 # # Optional: # # CHIBIOS_LDSCRIPT The name of the loader script eg. CHIBIOS_LDSCRIPT = AT91SAM7X256.ld # CHIBIOS_BOARD The name of the ChibiOS board eg. CHIBIOS_BOARD = OLIMEX_SAM7_EX256 - if not specified you must include equivalent code yourself # CHIBIOS_VERSION Which version of ChibiOS is this (2 or 3) - default is 3 # CHIBIOS_STM32LIB Use the STM32 library source for drivers instead of native drivers (yes or no) - default no # CHIBIOS_PROCESS_STACKSIZE Size of the ChibiOS process stack. Only useful if the link script supports it - default is 0x400 # CHIBIOS_EXCEPTIONS_STACKSIZE Size of the ChibiOS exceptopms stack. Only useful if the link script supports it - default is 0x400 # As you can see, there are makefile variables for the stack sizes. You're adding "plain" variables via the LDFLAGS variable. Without remembering the details I'm pretty sure that they are just being appended which would explain the behavior that you're experiencing. Try using the proper variables documented above.
  10. change pages by one key

    Hello Alan, Unfortunately, I don't really understand your question. The code you're showing is correct. That is the proper way of doing it. You can't do anything other than that - it's the intended way of handling this.
  11. STM32F407 guiEventLoop issue

    Glad to hear that you managed to get everything running. Good work!
  12. Keyboard type question

    Yes, the existing layout(s) that you can find under /src/gwin/gwin_keyboard_layout.[ch]. And for styling: Custom rendering routines as always.
  13. Hello, I have got a question. My Project based on ugfx with ChibiOS runs on an STM32F407VG with the Embest Base Board. I was able to make it run. But now (I didn't changed anything in my Project) it returns an Error when I compile it with ChibiStudio. It returns following error: .build/obj/GFXLIB/src/gfile/gfile.o:(.data+0x0): undefined reference to `FsROMVMT' I couldn't find anything on google about this error. So maybe someone can help me? Another question is about my Linker Options: arm-none-eabi-gcc -Wl,--defsym=__process_stack_size__=0x0F00 -Wl,--defsym=__main_stack_size__=0x0F00 -Wl,--defsym=__process_stack_size__=0x400 -Wl,--defsym=__main_stack_size__=0x400 -mcpu=cortex-m4 -falign-functions=16 -mfloat-abi=hard -mfpu=fpv4-sp-d16 -fsingle-precision-constant -nostartfiles -mthumb -T../../chibios26/os/ports/GCC/ARMCMx/STM32F4xx/ld/STM32F407xG.ld -lm .build/obj/fakethumbfile.o -o .build/PowerSupply.elf . The question here is? Why is the process and main stack size declared two times? I declared it in my make file with 0x0F00, you can see it below #Makefile für UGFX Embest-STM32-DMSTF4BB #------------------------------------------------------------------------------ # Haupteinstellungen # # Einstellungen # Unter $(GFXLIB)/tools/gmake_scripts/readme.txt Liste der Variablen OPT_OS = chibios OPT_THUMB = yes OPT_LINK_OPTIMIZE = no OPT_CPU = stm32m4 # uGFX Einstellungen # Unter $(GFXLIB)/tools/gmake_scripts/library_ugfx.mk Liste der Variablen GFXLIB = ../../ugfx GFXBOARD = Embest-STM32-DMSTF4BB GFXDEMO = modules/gdisp/basics # ChibiOS Einstellungen ifeq ($(OPT_OS),chibios) # Unter $(GFXLIB)/tools/gmake_scripts/os_chibios_x.mk Liste der Variablen CHIBIOS = ../../chibios26 CHIBIOS_VERSION = 2 CHIBIOS_BOARD = CHIBIOS_PLATFORM = STM32F4xx CHIBIOS_PORT = GCC/ARMCMx/STM32F4xx CHIBIOS_LDSCRIPT = STM32F407xG.ld endif ############################################################################################## # Weiteres für's Projekt # ARCH = arm-none-eabi- SRCFLAGS = -ggdb -O2 CFLAGS = CXXFLAGS = -fno-rtti ASFLAGS = LDFLAGS = -Wl,--defsym=__process_stack_size__=0x0F00 -Wl,--defsym=__main_stack_size__=0x0F00 SRC = OBJS = DEFS = LIBS = INCPATH = LIBPATH = LDSCRIPT = #------------------------------------------------------------------------------ # Includes immer am Ende einbinden # include $(GFXLIB)/tools/gmake_scripts/library_ugfx.mk include $(GFXLIB)/tools/gmake_scripts/os_$(OPT_OS).mk include $(GFXLIB)/tools/gmake_scripts/compiler_gcc.mk # *** Ende *** I would be very happy if anyone can help me Thank you.
  14. change pages by one key

    Hello, If I want to control the 2 GHandles by one key, what can I do? It is like to switch 2 pages, and there are ghButton1 and ghButton2 in the different page. I use gwinAttachToggle to assign ghButton1 and can change to page 2. How can I assign ghButton2 and return back page 1? Please give some advice. Thanks.
  15. STM32F407 guiEventLoop issue

    Hi, Thanks for help. I also check the low level driver of LCD, and fixed some issue. Now it can run well. Thanks.
  16. Last week
  17. Keyboard type question

    any example to do that ?
  18. ADS7843 board file for Arduino

    I'm not sure if UECIDE treats warnings as errors, its configured as in the picture below: UECIDE calls pic32-g++ compiler with the following parameters: -mprocessor=32MX795F512L -Os -G1024 -g -fno-exceptions -ffunction-sections -fdata-sections -mno-smart-io -mdebugger -Wcast-align -fno-short-double -DF_CPU=80000000L -DARDUINO=157 -D_BOARD_MEGA_ -DMPIDEVER=10001932 -DMPIDE=157 -DOPT_BOARD_INTERNAL -DOPT_SYSTEM_INTERNAL -DIDE=UECIDE -D_USB UECIDE console shows the following uFGX messages on compilation, there are more warnings but they are not relevant to uGFX: • Error at line 72 in file gmouse_lld_ADS7843.c: ‣ initialization from incompatible pointer type [enabled by default] • Error at line 72 in file gmouse_lld_ADS7843.c: ‣ (near initialization for 'GMOUSEVMT_OnlyOne[0].init') [enabled by default] • Error at line 90 in file gdriver.h: ‣ duplicate 'const' Compiling Failed
  19. ADS7843 board file for Arduino

    It also looks like your IDE is telling GCC to treat all warnings as errors.
  20. ADS7843 board file for Arduino

    Thank you. It looks like the GCC bug rears its head again. I will look to see if I can add something to turn off that error/warning on GCC.
  21. ADS7843 board file for Arduino

    Compiler shows the following message: Error at line 956 in file gfx_compilers.h: ‣ Compiler: "GCC" [enabled by default]
  22. how to keep image open

  23. how to keep image open

    Hi inmarket, It's OK for me for now, as long as my app depends on that, i.e. that the all resources will be released on the image box destroying. Otherwise I'll exceed the defined GFILE_MAX_GFILES. But, I still don't understand how to use in an image box widget an already opened image file. Could you give me an example, please? Because, the only way I know to open an image file in an image widget is gwinImageOpenFile(ghImage, "image_file_name"); and really don't know how to display an already opened image in an image box widget.
  24. how to keep image open

    It looks like I got that wrong. It appears it always closes the file when the gwin object is destroyed. This is not so nice. While it could be changed to match the behaviour above that is a change in existing behaviour so I am reluctant to do that before the next major version.
  25. Keyboard type question

    The gwin virtual keyboard supports layout's. A layout is a structure that allows you to specify what key you want where. There is a gwin function call that allows you to set the kwyboard to use your custom layout. A numeric keypad should be an easy layout to define.
  26. how to keep image open

    From memory... If you open the image using the filename in the gwin call it will automatically close the file handle when the gwinOmage object is destroyed. If you pass on already open GFILE to the gwin call I suspect the original file is not closed when you destroy the gwin object. The final reference however is the source code. Once I get time later I will check if my memory is correct but have a check for yourself too.
  27. how to keep image open

    @inmarket, whether the file will be closed if the object is destroyed? .... ghImage1 = gwinImageCreate(0, &wi.g); gwinImageOpenFile(ghImage1, "ugfx_logo_banner.bmp"); ........... gwinDestroy(ghImage1); //Will this close the file "ugfx_logo_banner.bmp", i.e. will it release the resources? and how to reuse the already opened image file in many image boxes widgets? For example: gdispImage myImage; gdispImageOpenFile(&myImage, "myImage.gif"); then how to use it in multiple image boxes, for example ghImage1...ghImageN?
  1. Load more activity