Found Bugs in Distance2GoL D2GL_SC_FMCW Dave Project

Announcements

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
User22005
Level 1
Level 1
5 replies posted 5 questions asked First reply posted
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
0 Likes
1 Solution
Michael_Kiessli
Employee
Employee
First like given 5 replies posted 5 sign-ins
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

View solution in original post

0 Likes
4 Replies
Michael_Kiessli
Employee
Employee
First like given 5 replies posted 5 sign-ins
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
0 Likes
User22005
Level 1
Level 1
5 replies posted 5 questions asked First reply posted
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.
0 Likes
Michael_Kiessli
Employee
Employee
First like given 5 replies posted 5 sign-ins
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
0 Likes
Michael_Kiessli
Employee
Employee
First like given 5 replies posted 5 sign-ins
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
0 Likes