+ Reply to Thread
Results 1 to 5 of 5

Thread: Found Bugs in Distance2GoL D2GL_SC_FMCW Dave Project

  1. #1
    Beginner Beginner ZacharyInDallas is on a distinguished road
    Join Date
    Jun 2021
    Posts
    5
    Points
    60

    Found Bugs in Distance2GoL D2GL_SC_FMCW Dave Project

    I have found some bugs in this sample project and am not sure where to report them. Where do you report and track them?

    Where do you go to find existing bugs and the fixes for them?

    Bug 1:
    If you flash the original provided D2GL_SC_FMCW.elf file to a board, it will run. If you build your own project, it will not run properly (does not detect objects). The problem is the change in the name specified below.

    In APP SW-IRQ-TIMER_TX_EN:
    SW_IRQ_TIMER_TX_ON_handler
    should be
    SW_IRQ_TIMER_TX_EN_handler

    Bug 2:
    If you change the parameters in common/inc/config.h file, the changes may not be used.
    The problem is that the #defines in config.h wind up in 2 different data structures. The way the function ds_default_settings_check in datastore.c is written, both data structures have to change before any changes are accepted. If you change #defines that only affect 1 table, then they are ignored.

    Line 132 (in ds_default_settings_check) of datastore.c is wrong:
    The && below should be ||
    if (def_dev_setting_crc != eep_def_settings.def_dev_settings_crc &&
    def_algo_setting_crc != eep_def_settings.def_dev_settings_crc)

    Bug 3:
    If you introduce any C++ files, the project will no longer build.
    If you change the name of main.c to main.cpp, or create a C++ class, or add a .cpp file, DAVE will recognize that and reconfigure itself for C++ use.
    If you do a build, you will get the following error:
    make: *** No rule to make target '../linker_script.ld', needed by 'D2GL_SC_FMCW.elf'. Stop

  2. #2
    Beginner Beginner
    Infineon Employee
    Infineon Employee
    Michael Kiessling is on a distinguished road
    Join Date
    Nov 2018
    Posts
    5
    Points
    110

    Thank you!

    Dear PMZacharyInDallas,

    thank you for your valuable feedback!
    We will fix the bugs in the next release. There are many tests done, but unfortunately some combinations where not covered by those tests.

    According the topic about the C++ build:
    The indention was, to just provide a C build, because that is what is mostly requested, but we will discuss internally if we now will change this.
    Thank you for your request!

    Please don't hesitate to contact us in case of further questions!

    Best Regards
    Michael
    The views expressed here are my personal opinions, have not been reviewed or authorized by Infineon and do not necessarily represent the views of Infineon.

  3. #3
    Beginner Beginner ZacharyInDallas is on a distinguished road
    Join Date
    Jun 2021
    Posts
    5
    Points
    60
    Is there a place to see what bugs are present in this project and when they are fixed?

    I found a 4th bug:
    In APP SPI_MASTER, the Interrupt Setting tab has fields for “End of transmit callback” and “End of receive/transfer callback”. For cases where “Transmit/receive MSB first” is set, these callbacks will be called when the LSB has been shifted out. The entire byte stream will thus have been fully sent over the SPI by then.

    In my case, I have “Transmit/receive LSB first” set for a SPI channel. I have slaves on that channel that are both LSB and MSB first. On the one that I set to LSB first in code, I get the callback when the LSB is shifted out. Since this is the 1st bit shifted out of a byte, the callback is called as the last byte is being shifted out, rather than after it has been completely shifted out. This makes it work differently than when MSB first is set.

  4. #4
    Beginner Beginner
    Infineon Employee
    Infineon Employee
    Michael Kiessling is on a distinguished road
    Join Date
    Nov 2018
    Posts
    5
    Points
    110

    SPI end of transmission

    Dear PMZacharyInDallas,

    the End of transmit callback does not really indicate when the last bit of the transmission is shifted out but when the word is placed in the shift register.
    Please see comment from the APP documentation,

    “If the checkbox is enabled, the function name provided in the text box is executed on completion of transmit request.
    Note: End of transmit does not mean completion of data transfer. It means that all the data in the user buffer has been put to transmit buffer.
    User should explicitly check for end of transmission using appropriate flags”


    Best Regards
    Michael
    The views expressed here are my personal opinions, have not been reviewed or authorized by Infineon and do not necessarily represent the views of Infineon.

  5. #5
    Beginner Beginner
    Infineon Employee
    Infineon Employee
    Michael Kiessling is on a distinguished road
    Join Date
    Nov 2018
    Posts
    5
    Points
    110

    C++ Build, Linker gets replaced, but settings are not transfered

    Dear PMZacharyInDallas,

    the reason why the build with the C++ source file is not working, is that
    a) the included file paths are not automatically aligned between the C-files and C++ files, once you align the compiler is satisfied.
    b) the Linker gets also silently replaces, but the settings from the C-Linker get not transferred to the setting of the C++-Linker, that also needs to be manually aligned.
    c) when renaming a source file to Cpp extension, the make build system, that is used, can not find the file anymore, to resolve the dependencies. You need to rebuild the project, to trigger recreation of the make file.

    I hope this helps!

    Best Regards
    Michael
    The views expressed here are my personal opinions, have not been reviewed or authorized by Infineon and do not necessarily represent the views of Infineon.

+ Reply to Thread
Disclaimer

All content and materials on this site are provided “as is“. Infineon makes no warranties or representations with regard to this content and these materials of any kind, whether express or implied, including without limitation, warranties or representations of merchantability, fitness for a particular purpose, title and non-infringement of any third party intellectual property right. No license, whether express or implied, is granted by Infineon. Use of the information on this site may require a license from a third party, or a license from Infineon.


Infineon accepts no liability for the content and materials on this site being accurate, complete or up- to-date or for the contents of external links. Infineon distances itself expressly from the contents of the linked pages, over the structure of which Infineon has no control.


Content on this site may contain or be subject to specific guidelines or limitations on use. All postings and use of the content on this site are subject to the Usage Terms of the site; third parties using this content agree to abide by any limitations or guidelines and to comply with the Usage Terms of this site. Infineon reserves the right to make corrections, deletions, modifications, enhancements, improvements and other changes to the content and materials, its products, programs and services at any time or to move or discontinue any content, products, programs, or services without notice.