perdue Posted February 26, 2021 Share Posted February 26, 2021 Hi, So i have a question for function DjtgPutTmsTdiBits. Have the size of tmd/tdi arrays any limitations or can i use the full DWORD size ? Link to comment Share on other sites More sharing options...
JColvin Posted March 3, 2021 Share Posted March 3, 2021 Hi @perdue, I have moved your question to a more appropriate section of the Forum. Thanks, JColvin Link to comment Share on other sites More sharing options...
perdue Posted March 3, 2021 Author Share Posted March 3, 2021 So i have tested with tms/tdi size for 26,345,070 bits. DjtgPutTmsTdiBits breaks after a time. Is there a timeout for long transmissions ? Link to comment Share on other sites More sharing options...
attila Posted March 3, 2021 Share Posted March 3, 2021 Hi @perdue Looking at the source code the maximum cbitpairs is uint32max - 7 There is a default 10 sec timeout for the transfers (function calls) and it can be changed with DmgrSetTransTimeout if you want. Instead of this, I would rather transfer the data in about 1 sec chunks, so it can be aborted in the higher level app. Link to comment Share on other sites More sharing options...
perdue Posted March 5, 2021 Author Share Posted March 5, 2021 Hi @attila, very thanks, this was the problem. It's works now. The complete transmission needs a time ca. 1min. But is see another problem in conjunction to debug this problem with ddd: First is started our tool which is using the digilent libs. Then setup any breakpoints in ddd and attach running app. Let running ddd with continue. The app works in background as on process. Now the app reach a breakpoint, stopped before DjtgPutTmsTdiBits. So i switch to ddd and will step over next and DjtgPutTmsTdiBits fails. It's occours not, if i'am not using ddd. Is in DjtgPutTmsTdiBits a watch for switch processid and if so, block transmission ? We have at least installed the linux64 driver : digilent.adept.runtime_2.21.2-x86_64.tar.gz with ftdi.drivers_1.4.8-x86_64 insided. Very thanks, P Link to comment Share on other sites More sharing options...
attila Posted March 5, 2021 Share Posted March 5, 2021 Hi @perdue The actual data transfers are performed in separate thread. When a function is called in blocking mode, with overlapped false, it will wait for the transfer semaphore to signal completion. I don't remember having issue in debugging apps which use Adept libs. Link to comment Share on other sites More sharing options...
Question
perdue
Hi,
So i have a question for function DjtgPutTmsTdiBits.
Have the size of tmd/tdi arrays any limitations or can i use the full DWORD size ?
Link to comment
Share on other sites
5 answers to this question
Recommended Posts
Archived
This topic is now archived and is closed to further replies.