Jump to content

Andrew W

Members
  • Posts

    7
  • Joined

  • Last visited

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. Thank you for the response! I am excited for the release of uGFX v3. Glad to hear that the solution for this is already in the works! For now, I do have just enough memory available that I can run two frame buffers and DMA one into the other. Perhaps at a later time I'll take a stab at setting up a makefile project in eclipse. Thank you for your help! -Andrew W.
  2. Hello uGFX community! I have uGFX running on custom board that is in the early stages of prototype development. This board is powered by a STM32F769, running without an OS, and controls a simple LCD display (no touch input). We are using system workbench (SW4STM32) and have configured most of our setup using the CubeMX software. Currently, I have uGFX integrated using the single file inclusion method and have written my own board driver file. Right now, I am able to print some sample text to the screen just to prove that the system is functional and it works quite well. Once integrated and running, I've found uGFX very flexible and user friendly to work with . I know that down the road as the user interface gets more complicated, it will be necessary to deal with screen tearing. It will very likely not be possible for our processor to update the screen buffer within the narrow time window between screen refreshes. So, using pixmaps and a little bit more ram seems like the ideal solution. But, as I quickly found out, pixmaps and multiple displays are not supported by the single file inclusion method . Has anyone integrated uGFX with makefiles into System Workbench or Eclipse? The Using Eclipse guide mentions that it is possible, but that section is not yet written. Our project is based on the CubeMX generated functions and we would definitely prefer to keep the autogenerated make files for the rest of the project if at all possible. As a possible alternative, is there any way to make pixmaps work when using the single file inclusion method? Thanks you in advance, Andrew W.
  3. Thank you Joel, I shouldn't have made that mistake in the first place. Those undefs are in the 746G board files, but they are hiding in the stm32f746g_raw32_ugfx.c file instead of the board header file. So I missed those when doing my port to the stm32f769 board. Thanks again, Andrew W.
  4. Aha! I found something. At the top of gdisp_colors.h, some common colors are defined in terms of this macro. // gdisp_colors.h /** * @name Some basic colors * @{ */ #define White HTML2COLOR(0xFFFFFF) #define Black HTML2COLOR(0x000000) #define Gray HTML2COLOR(0x808080) #define Grey Gray #define Blue HTML2COLOR(0x0000FF) #define Red HTML2COLOR(0xFF0000) #define Fuchsia HTML2COLOR(0xFF00FF) #define Magenta Fuchsia #define Green HTML2COLOR(0x008000) #define Yellow HTML2COLOR(0xFFFF00) #define Aqua HTML2COLOR(0x00FFFF) #define Cyan Aqua #define Lime HTML2COLOR(0x00FF00) #define Maroon HTML2COLOR(0x800000) #define Navy HTML2COLOR(0x000080) #define Olive HTML2COLOR(0x808000) #define Purple HTML2COLOR(0x800080) #define Silver HTML2COLOR(0xC0C0C0) #define Teal HTML2COLOR(0x008080) #define Orange HTML2COLOR(0xFFA500) #define Pink HTML2COLOR(0xFFC0CB) #define SkyBlue HTML2COLOR(0x87CEEB) /** @} */ However, there is a naming conflict with the color structure type definition in the HAL library header file for the DMA2D, used to write to the frame buffer. //stm32f7xx_hal_dma2d.h /** * @brief DMA2D color Structure definition */ typedef struct { uint32_t Blue; /*!< Configures the blue value. This parameter must be a number between Min_Data = 0x00 and Max_Data = 0xFF. */ uint32_t Green; /*!< Configures the green value. This parameter must be a number between Min_Data = 0x00 and Max_Data = 0xFF. */ uint32_t Red; /*!< Configures the red value. This parameter must be a number between Min_Data = 0x00 and Max_Data = 0xFF. */ } DMA2D_ColorTypeDef; If I comment out the Red, Green, and Blue define statements for the colors in gdisp_colors.h, the project builds and runs. My board is showing the uGFX splash screen now . Do the other demo boards, like the 746 and the 429, not have a dma2d and therefore don't have this conflict with HAL? Or perhaps my eclipse project is just setup incorrectly. Either way, that seems to be the root of the problem. I guess for now I will just define these three colors with a different name and reference them as such. Andrew W. Edit: Also, my colors are all swapped around too. Green is Red, Red is Blue, Blue is Green .
  5. Ok, I pulled in the master branch instead, and got the same result. Its just on a different line number now . I'll come back and look at it some more tomorrow. <Censored_File_Path>/stm32 workspace/Discovery_LCD_uGFX/uGFX/src/gdisp/gdisp_colors.h:309:28: error: expected declaration specifiers or '...' before '(' token #define HTML2COLOR_R(h) ((h) & ((0xFFL & ~((1<<(8-COLOR_BITS_R))-1))<<16)) ^ Also, I should have mentioned earlier that this project is running RAW32 with no OS in the middle. I do have gfxMillisecondsToTicks() and gfxSystemTicks() defined in my main file. Let me know if you guys think of anything else to look into. Thanks! Andrew W.
  6. Thank you for the fast response Joel! I will try to use the latest from the master branch and post back on this thread the result. Safe travels Andrew W.
  7. Hello, I am new to uGFX and evaluating the library for commercial use for a new product. I have reached a stumbling block with getting the library to run on on the STM32F769 demo board utilizing the internal STM32LTDC driver and an on-board SDRAM chip. We are utilizing the STM32F769 board as this is the same chip we intend to use on our finished board layout and developing the project in System Workbench based on Eclipse. I have downloaded the stable build of the uGFX library version 2.7. For my project, we are only concerned about utilizing the display module; no sound or touch input needed. I have a working project setup that will initialize all the hardware and clear the display to a given color without uGFX. I then went to add in the uGFX library to the project using the very helpful guide on the wiki <https://wiki.ugfx.io/index.php/Using_Eclipse#Importing_the_.C2.B5GFX_library> and everything went smoothly right up until the last step The project will compile without complaint if the GDISP module is disabled. After I added the board configuration file for the STM32LTDC driver, I then enabled the GDISP component in gfxconf.h and went to compile. I get back one error message that is repeated 6 times in the console, pertaining to gdisp_colors.h. <Censored_File_Path>/stm32 workspace/Discovery_LCD_uGFX/uGFX/src/gdisp/gdisp_colors.h:313:28: error: expected declaration specifiers or '...' before '(' token #define HTML2COLOR_R(h) (((h) & ((0xFFL & ~((1<<(8-COLOR_BITS_R))-1))<<16)) >> (24-(COLOR_BITS_R+COLOR_SHIFT_R))) ^ This makes the gdisp_lld_STM32LTDC.o object fail to build. Why is this the case? This macro is just used to convert the red component of an HTML color to the specific board color, right? To try to troubleshoot, I replaced the macro with a constant to see if the project would build as follows: #else // COLOR_BITS_R + COLOR_SHIFT_R < 24 // #define HTML2COLOR_R(h) (((h) & ((0xFFL & ~((1<<(8-COLOR_BITS_R))-1))<<16)) >> (24-(COLOR_BITS_R+COLOR_SHIFT_R))) #define HTML2COLOR_R(h) 0 #endif However, the end result was an identical error. Commenting out the macro entirely just moves the error to the HTML2COLOR_G(h) macro. I found this thread. It mentioned something near the end about manually editing the inclusions? Could this possibly be related or is there another cause? Any help would be very greatly appreciated. I'd like to show our customer a simple demo sometime next week so we can pull the trigger and get a commercial license for the software. I can send you a ZIP of the project file I am working with if that would help. Thanks, Andrew W. Edit: I just saw that yesterday support was added for utilizing both layers of the LTDC hardware and the Alpha values. Is this new feature possibly related to this issue?
×
×
  • Create New...