Jump to content

Joel Bodenmann

Administrators
  • Posts

    2,620
  • Joined

  • Last visited

  • Days Won

    2

Posts posted by Joel Bodenmann

  1. 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

  2. I can save the string like this: "Z,\202=\\\221b¹\037FaÁÅdI:䨹½´>³Cè\017" within the mysave function:

    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

  3. 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

  4. 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

  5. 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

  6. 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

  7. 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

  8. 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

  9. 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

  10. When you are getting an undefined reference to the gfxInit() call, then you either don't have the gfx.h header file properly included (by using #include "gfx.h"[/] at the appropriate place) or you have an issue in your inclusion path (Check your Makefile).

    ~ Tectu

  11. I'll be out of the country from the 13th to the 22th of July for vacation. I had to promise my girlfriend not to take my notebook with me so I won't be able to maintain the forum.

    The second uGFX maintainer, Andrew aka inmarket, will have a look at the forum during his spare time and handle posts accordingly.

    Thank you for your understanding.

    ~ Tectu

  12. You are clearly having some inclusion problem.

    Can you please make sure that all the ChibiOS/RT relevant files are there? I'd recommend you to compile and run the test suite from ChibiOS/RT to ensure that everything runs smoothly.

    If you're using the project templates for Keil that come with some ChibiOS/RT versions, please make sure that they are still fully supported and work with your Keil version. I remember that Giovanni once mentioned that he's going to discontinue the IAR and Keil examples.

    ~ Tectu

  13. Add to path, no result :(

    Did the 'implicit declaration' warnings go away when you added the path? (Make sure that you don't manually include ch.h on top of the chibios.c file anymore).

    I took a look at the link you posted and I don't see much similarity. He is definitely assigning a different datatype, but our pointer is of the type void*. You can try to force a cast to see what happens:


    np = (void*)gfxAlloc((size_t)newsz);

    However, I am pretty sure that you're still having problems including the chibios.h properly. I don't know Keil, but is there any mechanism to give a list of all files that are included and compiled (-> files that are handled by the compiler & linker).

    Also, is there something like a pedantic mode for the Keil compiler that is set on by default? If so, can you please try to disable that mode and lower the over-all warning level? We know that this is no permanent solution, just to see where the problem lies.

    ~ Tectu

×
×
  • Create New...