From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

LabWindows/CVI

cancel
Showing results for 
Search instead for 
Did you mean: 

Missing prototype. (Require function prototypes build option is enabled). GetTimerTickData

Hello,

 

I'm new to LabWindows/CVI 2013, so sorry in advance for any trivial question.

I wanted to get used to the Timer functions and therefore I worked through the example code: asyncdem.c  . I'm able to modify it in the way I wanted and I was really happy that it worked out quickly.
At the moment I'm a master student at the Max-Planck-Institute for nuclear physics in Heidelberg and my task is it, to implement this timer feature in existing code.

I rebuild the includes, functions, callback etc. in asyncdem.c by copy/paste in the existing code and tried to compile it. During this I get the following error message: Missing prototype. (Require function prototypes build option is enabled)

I checked the build options a couple of times and compared it with the example project "asyncdem" and I didn't find any difference. Then I checked the library in the existing code and when I right click on "GetTimerTickData" in the library, click on 'Browse "GetTimerTickData", I get the response "No source code information found for identifier 'GetTimerTickData', or if I ask the IDE in the code to go to definition of GetTimerTickData it replies: "No definition found for identifier 'GetTimerTickData'". But the compiler has no problem to find userint.h

All these errors do not occur in the example project. From this I conclude that somehow the library is broken. But I don't have any idea how to investigate this issue further nor even how to fix it. Therefore any ideas are very welcome!

 

Best regards and thank you very much for your help in advance,

Marc

 

0 Kudos
Message 1 of 7
(7,427 Views)

This kind of problems is usually due to a missing library or file. As you can see in asyncdem project, in Instrument menu the Asynchronous Timer instrument is loaded, which is probably missing in your actual project. Try adding the instrument to that menu and it should fix your problems.

 

Alternatively, the instrument can be loaded as a library (you save a few seconds while starting the project and it is reusable for all projects you are working on) going to the Library menu and executing Customise option, then adding the instrument to the library list (remember to close and restart CVI after doing so).



Proud to use LW/CVI from 3.1 on.

My contributions to the Developer Community
________________________________________
If I have helped you, why not giving me a kudos?
Message 2 of 7
(7,417 Views)

Thank you for your quick response. I had a look into Instrument and posted a screenshot (full size version is attached to this post). The asynchronous timer is listed there, but the error persists. I also compared the listed libraries in the example and the existing code - there is also no difference 😞

  Screenshot from 2013-07-02 14:25:43.jpeg

0 Kudos
Message 3 of 7
(7,373 Views)

This is strange, and even more considering that GetTimerTickData is not part of the Async Timer instrument : it is a function in the User Interface Library! But since it is included only from CVI2009 on, can you tell us which version of CVI are you using?

Also, can you execute regular asyncdem example project?



Proud to use LW/CVI from 3.1 on.

My contributions to the Developer Community
________________________________________
If I have helped you, why not giving me a kudos?
0 Kudos
Message 4 of 7
(7,367 Views)

I'm using LabWindows/CVI 2012 Version 12.0.0 (422)

and yes I can confirm, that I can execute the regular asyncdem example project without any issues.

 

PS: Even after deleting and adding the Async Timer instrument and restarting CVI the error is still present.

0 Kudos
Message 5 of 7
(7,363 Views)

Can you post the problematic project here so that we can take a look at it?



Proud to use LW/CVI from 3.1 on.

My contributions to the Developer Community
________________________________________
If I have helped you, why not giving me a kudos?
0 Kudos
Message 6 of 7
(7,357 Views)

Sorry for the delayed response. We discussed this issue deeply in our group and we can't publish the complete project. On the one hand it is too much (about 30.000 lines of code) and on the other hand some parts of the code are confidential. I'm sorry. But I found a workaround, or better I just use another function. Instead of the CVI-Timer is use the async-timer, which works quite well without any further problems. I even guess that the async timer is the more appropriate solution for our problem.

The way of using the async timer is as described in the used example tutorial and works out of the box.

I also want to thank you for your quick answers and the good support 🙂

0 Kudos
Message 7 of 7
(7,289 Views)