Hi Martin,
Sorry that it is maybe a little bit confusing. But both functions are possible. The first function (DAQmxSetDOUseOnlyOnBrdMem) changes the property, but doesn't have a function panel. The advantage is that you only need the Taskhandle, channelname and a bool value. If you use this, you need the following code:
-create Task -create DO channel-set properties (DAQmxSetDOUseOnlyOnBrdMem)-start Task-write data-stop Task
DAQmxCreateTask(??,&taskHandle);DAQmxCreateDOChan(taskHandle,chan,??,DAQmx_Val_ChanForAllLines);DAQmxSetDOUseOnlyOnBrdMem(taskHandle, chan, data);DAQmxStartTask(taskHandle);DAQmxWriteDigitalLines(taskHandle,1,1,10.0,DAQmx_Val_GroupByChannel,data,NULL,NULL);DAQmxStopTask(taskHandle);DAQmxClearTask(taskHandle);
The second possibility (DAQmxSetChanAttribute) changes the same daqmx property, but you don't see this, because it is 'hidden' in a more common function call, with a function panel, what makes it maybe a little bit more easy. The disadvantage is that you need some more parameters. You get something link this:
-create Task -create DO channel-set properties (DAQmxSetChanAttribute)-start Task-write data-stop Task
DAQmxCreateTask(??,&taskHandle);DAQmxCreateDOChan(taskHandle,chan,??,DAQmx_Val_ChanForAllLines);DAQmxSetChanAttribute (taskHandle, chan, DAQmx_DO_UseOnlyOnBrdMem, 1, 1);DAQmxStartTask(taskHandle);DAQmxWriteDigitalLines(taskHandle,1,1,10.0,DAQmx_Val_GroupByChannel,data,NULL,NULL);DAQmxStopTask(taskHandle);DAQmxClearTask(taskHandle);
Does this answer your questions? Regards,Bas