-
Posts
2,639 -
Joined
-
Last visited
-
Days Won
2
Content Type
Forums
Store
Downloads
Blogs
Everything posted by Joel Bodenmann
-
I never had any problems with using USB and µGFX at the same time. Please open a new thread that addresses your problem (good thread name and all the information we need to help you). ~ Tectu
-
So your display is finally running? ~ Tectu
-
The errors you are getting is because your board file ueses the PWM peripheral of your microcontroller but you didn't enable it in your ChibiOS/RT configuration. You have to enable the PWM peripheral in your halconf.h and you then have to enable the corresponding PWM driver in your mcuconf.h. Which readme told you to copy the board_SSD1289.h & gdisp_lld_SSD1289.c sources? That is completely wrong. The only thing that you copy into your project directory is the board_SSD1289.h. ~ Tectu
-
We have added the driver to the repository: https://bitbucket.org/Tectu/ugfx/commit ... eb6b2dfb90 Can you please check if everything works for you? ~ Tectu
-
We also renamed the FreeRTOS files to avoid file name conflicts on case insensitive systems: https://bitbucket.org/Tectu/ugfx/commit ... e619ac333f ~ Tectu
-
We have added the missing type definitions for the FreeRTOS 7.x versions: https://bitbucket.org/Tectu/ugfx/commit ... cabe37a83a Can you please make sure that everything compiles fine? ~ Tectu
-
ginput doesn't work with GINPUT_MOUSE_NEED_CALIBRATION FALSE
Joel Bodenmann replied to trunet's topic in Support
No reason to be sorry Did it work? ~ Tectu -
ginput doesn't work with GINPUT_MOUSE_NEED_CALIBRATION FALSE
Joel Bodenmann replied to trunet's topic in Support
You cannot simply return that string. You have to copy that string into a buffer and return the pointer to that buffer. Trunet showed how it's done in his code: strcpy(buf, "\x75\xD4\x84\xBD\x94\xE3\x72\xBA\x73\x76\x7E\x43\x2D\x67\x28\xBA\x17\x3A\xBB\x3D\x41\x05\xFA\xC1"); return buf; P.S. Can you please stop quoting the previous post all the time? Quotes are used to answer specific text parts, not the whole post. It's getting very messy otherwise ;-) ~ Tectu -
ginput doesn't work with GINPUT_MOUSE_NEED_CALIBRATION FALSE
Joel Bodenmann replied to trunet's topic in Support
Can you please elaborate how exactly you get this string? Some GDB examination? The normal process: Make 100% sure that your ginputSetMouseCalibrationRoutines() routine gets called before the ginputGetMouse() routine. At the first execution, make sure that the third parameter of the ginputSetMouseCalibrationRoutines() routine is NULL. Execute the program Either extract the calibration data using a debugger / serial console or any other kind of output or store it on non-volatile memory Set the third parameter of the ginputSetMouseCalibrationRoutines() routine to point to your actual loading routine which provides the data that you just exctracted/saved. Done. Your touchscreen should now automatically load with the correct calibration data. The wiki does also have this information. ~ Tectu -
I'm not sure, that's why I am asking ;-) Thank you for your suggestion. Looks like a safe way to go. ~ Tectu
-
ginput doesn't work with GINPUT_MOUSE_NEED_CALIBRATION FALSE
Joel Bodenmann replied to trunet's topic in Support
What format do you mean? You can just assign them as any normal struct member: cal->ax = 32; cal->bx = 37; ... If you refer to the strcpy() command of trunets code sample; it looks like he used some debugging tool to retrieve those values and simply copy pasted them. ~ Tectu -
Too bad that they don't have separate macros for each individual digit before 8.x. I don't know FreeRTOS that well, what do you think about this? #if tskKERNEL_VERSION_MAJOR == 8 /* Types for 8.x */ #else /* Types for 7.x (and lower?) */ I assume taht this should work as the tskKERNEL_VERSION_MAJOR macro should not be implemented at all at any < 8.x release. ~ Tectu
-
Thank you for the link. We'll take a look if it's possible to make the types conditional by reading out the FreeRTOS version (is there such a macro?) at compile time. We are doing the same to support ChibiOS/RT 2.x and 3.x in the same way. ~ Tectu
-
Thank you very much for your feedback. We are aware of the conflicting file names on a case insensitive operating system since a short while. The changes have been made but not yet tested and pushed. We will push a fix to the repository this evening (GTM+01:00). About the definitions: Which FreeRTOS version are you using? We have tested with FreeRTOS 8.x without any problems so far. Neither did any user report a conflict there. ~ Tectu
-
There is currently no such feature under development. However, we are planning to work on that in the future. ~ Tectu
-
Only if your RTOS comes with it's own HAL. Otherwise you have to manually implement these functions. ~ Tectu
-
I know that this starts to get unrelated but in my opinion the efficiency of the error branch (0 returned) is far from important as the expected behavior should be that in 99.9999% of the cases a proper tag is returned. ~ Tectu
-
Sorry that this took so long, trunet. We have finally added your driver to the official repository. Furthermore we have added you to the contributors table. If you want to tell us your real name, we can add it there as well. ~ Tectu
-
Probably we could just typedef the widget tag type so it is a signed value and we can use -1 for an invalid widget (so the user can check for < 0) and use the positive values including zero as the real tag values? Otherwise I'll just note that down in the documentation very very carefully. ~ Tectu
-
I took a look and I see one potential problem: The gwinGetTag() routine returns the tag of the widget or 0 if it is not a widget. However, it is completely valid to set the tag of a widget to 0. I think that this behavior should be changed. ~ Tectu
-
We appreciate feedback like this as we see where we have to improve our documentation. The file board_ssd1289.h is a board file. You have to write the board file yourself as this depends on your wiring (how the display is connected to your microcontroller). You can find a template at /drivers/gdisp/SSD1289/board_ssd1289_template.h. Simply copy the file to your project directory, name it board_ssd1289.h and fill in the routines. In order to see if everything compiles fine, I strongly recommend to just compile the template without filling in anything yet until it compiles. ~ Tectu
-
It is not possible for us to check and fix your include path. However, you need more than just the path to the uGFX top level directory. You take a look at each modules Makefile (sys_make.mk) and the toplevel Makefile (gfx.mk) to see what needs to be included. Note that you also need to manually add all the related source files manually to your IDEs file tree. That's the pain (and price) you have to pay for using an IDE :-P Also make sure that the relative path that you showed in the image posted above is correct. The undefined reference error that you are getting is because the gfx.h file is not being included properly in your inclusion path. ~ Tectu
-
I'm not sure if I understand you correctly here. Do you want to get the actual size of the "client window area" that is now left? In that case, the thing you want is already there: gwinGetInnerWidth() and gwinGetInnerHeight() which are available for containers (like the frame widget). Or am I completely misunderstanding you here and you want to specify the width and height of the client window and extend the borders and stuff from the parent widget to the outside in order not to decrease the width and height of the client window area? ~ Tectu
-
ginput doesn't work with GINPUT_MOUSE_NEED_CALIBRATION FALSE
Joel Bodenmann replied to trunet's topic in Support
There is definitely a problem as I can confirm it myself now. We will look into this as fast as possible. In the meantime you can probably try to add a custom calibration load function (using ginputSetMouseCalibrationRoutines()) and returning an empty struct. "Empty struct" means that the parameters are set in a way that they don't change anything. Probably "neutral calibration data" would be the more appropriate term. The neutral struct looks like this: ax = 1; bx = 0; cx = 0; ay = 0; by = 1; cy = 0; The struct itself is defined in mouse.c: typedef struct Calibration_t { float ax; float bx; float cx; float ay; float by; float cy; } Calibration; ~ Tectu