- From: Wang Maosen <wangm_at_informatik.uni-tuebingen.de>
- Date: Sun, 26 Jan 2003 18:32:36 +0100
Hallo,David Schleef ,
Thank you for your reply!
I have tried the simultaneous_start example for my pci-6111card, and even
simplified the example only to read analog with internal trigger. And find
that:
1)The delay between the switching fron AO to AI is decided by the
"select()" command of AI, and the time needed for "select" command of AI is
indirectly decided by ai_buf_len or n_scan (for example when n_scan is
55,1000,10000 and the delay for select is respectivly
0.1second,1.6second,6.7second, it is intolerable for my application) . Other
variables such as freq can only change AO speed, but not change the AI speed.
2)I tried to use select command for reading first time without reading(one
delay happened), then do one writing and one reading(with the second select
command), here the intolerable delay doesn't happen for the second select
command. But I don't trust those datas, are they the old datas from first
select or second?
Can I accelerate the AI speed effectively without changing ai_buf_len(or
n_scan) in this example?(primary to cut short the "select" time)
my testing is still in Redhatlinux and the comedi system informations is
followed.
Sincerely yours
Wang Maosen
---------------------------------------------------------------
David Schleef wrote:
> On Fri, Jan 24, 2003 at 05:33:18PM +0100, Wang Maosen wrote:
> > Hallo, Mr. David Schleef,
>
> >
> > Can I use your Comedi driver to do synchronized AO and AI in
> > Redhatlinux?For example : synchronizing 4096 samplesAO and AI with delay
> > between AO and AI less than about 0.001 second,.
>
> This only currently works with the ni_pcimio and ni_atmio drivers.
> The simultaneous_start example shows how to do this and get
> synchronization of closer than a few nanoseconds.
>
> dave...
---------------------------------------------------------------
Testing results of my card:
I: Comedi version: 0.7.66
I: Comedilib version: unknown =)
I: driver name: ni_pcimio
I: device name: pci-6111
I:
I: subdevice 0
I: testing info...
rev 1
I: subdevice type: 1 (analog input)
number of channels: 2
max data value: 4095
ranges:
all chans: [-50,50] [-20,20] [-10,10] [-5,5] [-2,2] [-1,1] [-0.5,0.5]
[-0.2,0.2]
I: testing insn_read...
rev 1
comedi_do_insn returned 1, good
I: testing insn_read_0...
comedi_do_insn returned 0, good
I: testing insn_read_time...
rev 1
comedi_do_insn: 3
read time: 817 us
I: testing cmd_no_cmd...
not applicable
I: testing cmd_probe_src_mask...
rev 1
command source mask:
start: now|ext|int
scan_begin: timer|ext
convert: now|timer|ext
scan_end: count
stop: none|count
I: testing cmd_probe_fast_1chan...
command fast 1chan:
start: now 0
scan_begin: timer 200
convert: timer 0
scan_end: count 1
stop: count 2
I: testing cmd_read_fast_1chan...
I: testing cmd_write_fast_1chan...
not applicable
I: testing cmd_logic_bug...
rev 1
command_test returned 1, good
I: testing cmd_fifo_depth_check...
64, 1
128, 1
256, 1
512, 1
1024, 1
2048, 1
4096, 1
8192, 3
16384, 7
32768, 15
I: testing cmd_start_inttrig...
I: testing mmap...
0x40014000 ok
0x40015000 ok
0x40016000 ok
0x40017000 ok
0x40018000 ok
compare ok
0x40014000 segfaulted (ok)
0x40015000 segfaulted (ok)
0x40016000 segfaulted (ok)
0x40017000 segfaulted (ok)
0x40018000 segfaulted (ok)
I: testing read_select...
I: testing bufconfig...
buffer size 65536
max buffer size 65536
setting buffer size to 4096
buffer size set to 4096
buffer size now at 4096
setting buffer size past limit, 69632
got EPERM, good
setting buffer size to max, 65536
buffer size now at 65536
I:
I: subdevice 1
I: testing info...
rev 1
I: subdevice type: 2 (analog output)
number of channels: 2
max data value: 65535
ranges:
all chans: [-10,10]
I: testing insn_read...
rev 1
comedi_do_insn returned 1, good
I: testing insn_read_0...
comedi_do_insn returned 0, good
I: testing insn_read_time...
rev 1
comedi_do_insn: 3
read time: 1 us
I: testing cmd_no_cmd...
not applicable
I: testing cmd_probe_src_mask...
rev 1
command source mask:
start: int
scan_begin: timer
convert: now
scan_end: count
stop: none
I: testing cmd_probe_fast_1chan...
command fast 1chan:
start: int 0
scan_begin: timer 0
convert: now 0
scan_end: count 1
stop: none 0
I: testing cmd_read_fast_1chan...
not applicable
I: testing cmd_write_fast_1chan...
comedi_command: Resource temporarily unavailable
comedi_inttrig: Invalid argument
I: testing cmd_logic_bug...
rev 1
not applicable (no source choices)
I: testing cmd_fifo_depth_check...
not applicable
I: testing cmd_start_inttrig...
not applicable
I: testing mmap...
not applicable
I: testing read_select...
not applicable
I: testing bufconfig...
buffer size 65536
max buffer size 65536
setting buffer size to 4096
buffer size set to 4096
buffer size now at 4096
setting buffer size past limit, 69632
got EPERM, good
setting buffer size to max, 65536
buffer size now at 65536
I:
I: subdevice 2
I: testing info...
rev 1
I: subdevice type: 5 (digital I/O)
number of channels: 8
max data value: 1
ranges:
all chans: [0,5]
I: testing insn_read...
rev 1
comedi_do_insn returned 1, good
I: testing insn_read_0...
comedi_do_insn returned 0, good
I: testing insn_read_time...
rev 1
comedi_do_insn: 3
read time: 2 us
I: testing cmd_no_cmd...
got EIO, good
I: testing cmd_probe_src_mask...
not applicable
I: testing cmd_probe_fast_1chan...
not applicable
I: testing cmd_read_fast_1chan...
not applicable
I: testing cmd_write_fast_1chan...
not applicable
I: testing cmd_logic_bug...
not applicable
I: testing cmd_fifo_depth_check...
not applicable
I: testing cmd_start_inttrig...
not applicable
I: testing mmap...
not applicable
I: testing read_select...
not applicable
I: testing bufconfig...
buffer length is 0, good
I:
I: subdevice 3
I: testing info...
rev 1
I: subdevice type: 0 (unused)
I: testing insn_read...
rev 1
comedi_do_insn: EIO, good
I: testing insn_read_0...
not applicable
I: testing insn_read_time...
rev 1
not applicable
I: testing cmd_no_cmd...
got EIO, good
I: testing cmd_probe_src_mask...
not applicable
I: testing cmd_probe_fast_1chan...
not applicable
I: testing cmd_read_fast_1chan...
not applicable
I: testing cmd_write_fast_1chan...
not applicable
I: testing cmd_logic_bug...
not applicable
I: testing cmd_fifo_depth_check...
not applicable
I: testing cmd_start_inttrig...
not applicable
I: testing mmap...
not applicable
I: testing read_select...
not applicable
I: testing bufconfig...
buffer length is 0, good
I:
I: subdevice 4
I: testing info...
rev 1
I: subdevice type: 6 (counter)
number of channels: 2
max data value: 1
ranges:
all chans: [0,1]
I: testing insn_read...
rev 1
comedi_do_insn returned 1, good
I: testing insn_read_0...
E: comedi_do_insn: Invalid argument
I: testing insn_read_time...
rev 1
comedi_do_insn: 3
read time: 6 us
I: testing cmd_no_cmd...
got EIO, good
I: testing cmd_probe_src_mask...
not applicable
I: testing cmd_probe_fast_1chan...
not applicable
I: testing cmd_read_fast_1chan...
not applicable
I: testing cmd_write_fast_1chan...
not applicable
I: testing cmd_logic_bug...
not applicable
I: testing cmd_fifo_depth_check...
not applicable
I: testing cmd_start_inttrig...
not applicable
I: testing mmap...
not applicable
I: testing read_select...
not applicable
I: testing bufconfig...
buffer length is 0, good
I:
I: subdevice 5
I: testing info...
rev 1
I: subdevice type: 9 (calibration)
number of channels: 48
max data value: 255
ranges:
all chans: [0,1]
I: testing insn_read...
rev 1
comedi_do_insn returned 1, good
I: testing insn_read_0...
comedi_do_insn returned 0, good
I: testing insn_read_time...
rev 1
comedi_do_insn: 3
read time: 1 us
I: testing cmd_no_cmd...
got EIO, good
I: testing cmd_probe_src_mask...
not applicable
I: testing cmd_probe_fast_1chan...
not applicable
I: testing cmd_read_fast_1chan...
not applicable
I: testing cmd_write_fast_1chan...
not applicable
I: testing cmd_logic_bug...
not applicable
I: testing cmd_fifo_depth_check...
not applicable
I: testing cmd_start_inttrig...
not applicable
I: testing mmap...
not applicable
I: testing read_select...
not applicable
I: testing bufconfig...
buffer length is 0, good
I:
I: subdevice 6
I: testing info...
rev 1
I: subdevice type: 8 (memory)
number of channels: 512
max data value: 255
ranges:
all chans: [0,1]
I: testing insn_read...
rev 1
comedi_do_insn returned 1, good
I: testing insn_read_0...
comedi_do_insn returned 0, good
I: testing insn_read_time...
rev 1
comedi_do_insn: 3
read time: 29 us
I: testing cmd_no_cmd...
got EIO, good
I: testing cmd_probe_src_mask...
not applicable
I: testing cmd_probe_fast_1chan...
not applicable
I: testing cmd_read_fast_1chan...
not applicable
I: testing cmd_write_fast_1chan...
not applicable
I: testing cmd_logic_bug...
not applicable
I: testing cmd_fifo_depth_check...
not applicable
I: testing cmd_start_inttrig...
not applicable
I: testing mmap...
not applicable
I: testing read_select...
not applicable
I: testing bufconfig...
buffer length is 0, good
I:
I: subdevice 7
I: testing info...
rev 1
I: subdevice type: 5 (digital I/O)
number of channels: 10
max data value: 1
ranges:
all chans: [0,1]
I: testing insn_read...
rev 1
comedi_do_insn returned 1, good
I: testing insn_read_0...
comedi_do_insn returned 0, good
I: testing insn_read_time...
rev 1
comedi_do_insn: 3
read time: 0 us
I: testing cmd_no_cmd...
got EIO, good
I: testing cmd_probe_src_mask...
not applicable
I: testing cmd_probe_fast_1chan...
not applicable
I: testing cmd_read_fast_1chan...
not applicable
I: testing cmd_write_fast_1chan...
not applicable
I: testing cmd_logic_bug...
not applicable
I: testing cmd_fifo_depth_check...
not applicable
I: testing cmd_start_inttrig...
not applicable
I: testing mmap...
not applicable
I: testing read_select...
not applicable
I: testing bufconfig...
buffer length is 0, good
Received on 2003-01-26Z17:32:36