Dekrispator likes DaisySP!

Hello there !
Just a few words to announce my noisy synthesizer is now C++ compatible and works on STM32H747 Discovery kit from ST. DaisySP is included and there are new features.
A C only version is here (older and without DaisySP) :

1 Like

Hi Xavier,
Not sure if that’s a priority for you, but it would be interesting to hear what kind of FPS you get on this display. Maybe add an FPS counter to UI?

I see that it’s painted using DMA2D, but there is a fairly simple way to improve rendering performance if you use it asynchronously. Bitmap drawing also could be improved AFAICT. I can explain in detail if you’re planning to experiment with this.

Hello antisvin !

Thank you first for your proposal !
GUI is actually not my priority and also I’m quite ignorant in that domain. That’s why the LCD display is so basic : just a static background image and use of BSP_LCD_xxxx functions from stm32h747i_discovery_lcd.c to write text on the screen.
I don’t need performances for that and don’t see why I should worry about FPS.
Anyway next step for me will probably be learning GUI programming but the road seems very long…

Indeed, while it’s mostly static it doesn’t matter at what FPS it runs. But I’m sure that eventually you’ll want to add some sort of visualization for audio or modulation signals to it and then things may be more challenging.

From hardware POV, you can only use DMA2D which has pretty much 3 operations: filling a rectangle, colorizing a buffer via a LUT lookup (using 8 bit index for higher depth colors) and blending 2 image layers into one. This is sufficient to do things like smooth fonts, drawing simple graphics (you’ll end up drawing in rectangles or their bastardized version as horizontal/vertical lines) and potentially reducing memory used by drawing some of the bitmaps in 8 bits before blending them into higher color depth.

As for software side, there are many embedded graphics toolkits to consider or you might experiment with something on your own to find the right abstractions for managing state and its representation.

1 Like

OK I see what you mean !
Text is refreshed every 500 ms so FPS = 2 !
Thanks for advices !