I have been given the responsibility to upgrade a machine with a PC-TIO-10 and an AT-MIO-16D to 32bit windows (NT). I am using NIDAQ6.1, which is the latest driver to support both cards. The problem I am having is with the PC-TIO-10 card. It has 10 counters. We have a trigger signal coming into the PC-TIO-10 card that causes counters 2,3,4,5 to generate a single pulse with different delays. Each time the PC-TIO-10 sees a new trigger signal, counters 2,3,4,5 generate a new single pulse, each with a different delay from the trigger. We then use these pulses to gate counters 6,7,8, and 9 for photon counting.
Originally, our software had direct access to the PC-TIO-10 card and we were able to set the card up to do a single pulse for every trigger. Currently, I don't think the NIDAQ 6.1 API supports this behavior. I can generate a single pulse, but just once, for the first trigger. I can also generate a "CTR_Square" to generate a pulse for every trigger, but I can't set the delay, appropiately because it must go high first, and then low. This method is best because none of the pulses are dropped, but again, I can't set up the delay from the trigger. I have set up Event messages so my software could reset the single pulses, but pulses get dropped too frequently.
I then looked into the API to perhaps write directly to the PC-TIO-10 registers but REG_Level_Write doesn't seem to support the PC-TIO-10. Reg_Level_Write does seem to support other boards with the same counter chip though.
Any ideas? Is it possible to get a single, repeatable, pulse with a delay from a trigger or has the move from DOS support to win32 killed that ability?
Does the latest NIDAQ API support this ability and if so, which counter card? We would need a counter card with 10 counters.