public void SetupTimedSample(LoggerState settings) { /* * //resolution (works) (12/16bit) * aio.GetAiResolution(id, out AiResolution); * maxbytes = Math.Pow(2, AiResolution); * * //Doesn't work on 1664LAX * aio.SetAiRangeAll(1,CaioConst.P025) * * //Doesn't work (reads 1) * short nC1; * aio.GetAiChannels(id, out nC1); * * //is this a mapping? * string map = ""; * AiChannelSeq = new short[nChannel]; * for (short i = 0; i < nChannel; i++) * { * aio.GetAiChannelSequence(id, i, out AiChannelSeq[i]); * map += AiChannelSeq[i].ToString() + ","; * } */ //Setting the foreach (DEVICEID id in devices) { HANDLE_RETURN_VALUES = aio.SetAiChannels(id, settings.n_channels); HANDLE_RETURN_VALUES = aio.SetAiSamplingClock(id, settings.timer_interval); //default usec (2000 for) HANDLE_RETURN_VALUES = aio.SetAiStopTimes(id, settings.n_samples); HANDLE_RETURN_VALUES = aio.SetAiEventSamplingTimes(id, DATA_RECEIVE_EVENT); //#samples until data retrieve event HANDLE_RETURN_VALUES = aio.SetAiTransferMode(id, 0); //Device buffered 1=sent to user memory HANDLE_RETURN_VALUES = aio.SetAiMemoryType(id, 0); //FIFO 1=Ring if (settings.external_control) { HANDLE_RETURN_VALUES = aio.SetAiStartTrigger(id, 1); //1 by External trigger rising edge } else { HANDLE_RETURN_VALUES = aio.SetAiStartTrigger(id, 0); //0 by Software } if (settings.external_control) { HANDLE_RETURN_VALUES = aio.SetAiClockType(id, 1); //external } else { HANDLE_RETURN_VALUES = aio.SetAiClockType(id, 0); //internal } HANDLE_RETURN_VALUES = aio.SetAiStopTrigger(id, 0); //0 means by time } }