- From: Chuck Haines <chaines_at_ece.wpi.edu>
- Date: Mon, 16 Jun 2003 13:39:49 -0400 (EDT)
I'm trying to do a simple program that opens and reads from the digital
I/O of the DAQCard 6024E. However, I'm getting the following strace when
I run the program
old_mmap(NULL, 60344, PROT_READ, MAP_PRIVATE, 3, 0) = 0x40015000
close(3) = 0
open("/usr/local/lib/libcomedi.so.0", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\360\33"..., 1024)
= 1024
fstat64(3, {st_mode=S_IFREG|0755, st_size=253067, ...}) = 0
old_mmap(NULL, 39816, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x40024000
mprotect(0x4002d000, 2952, PROT_NONE) = 0
old_mmap(0x4002d000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3,
0x8000) = 0x4002d000
close(3) = 0
open("/lib/libc.so.6", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0p\\\1\000"...,
1024) = 1024
fstat64(3, {st_mode=S_IFREG|0755, st_size=1435624, ...}) = 0
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1,
0) = 0x4002e000
old_mmap(NULL, 1256740, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) =
0x4002f000
mprotect(0x40159000, 36132, PROT_NONE) = 0
old_mmap(0x40159000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED,
3, 0x12a000) = 0x40159000
old_mmap(0x4015e000, 15652, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x4015e000
close(3) = 0
munmap(0x40015000, 60344) = 0
brk(0) = 0x80499e4
brk(0x804a9e4) = 0x804a9e4
brk(0x804b000) = 0x804b000
open("/dev/comedi0", O_RDWR) = 3
ioctl(3, DECODER_GET_CAPABILITIES, 0x8049a0c) = 0
ioctl(3, DECODER_GET_STATUS, 0x8049ad0) = 0
ioctl(3, 0x8008640b, 0xbffff718) = 1
ioctl(3, 0x8020640c, 0xbffff720) = 2
ioctl(3, DEVFSDIOC_RELEASE_EVENT_QUEUE, 0xbffff780) = 0
ioctl(3, 0x80086408, 0xbffff730) = 0
ioctl(3, DEVFSDIOC_RELEASE_EVENT_QUEUE, 0xbffff780) = 0
ioctl(3, 0x80086408, 0xbffff730) = 0
ioctl(3, DEVFSDIOC_RELEASE_EVENT_QUEUE, 0xbffff780) = 0
ioctl(3, 0x80086408, 0xbffff730) = 0
ioctl(3, 0x8008640b, 0xbffff708) = 1
ioctl(3, DEVFSDIOC_RELEASE_EVENT_QUEUE, 0xbffff780) = 0
ioctl(3, 0x80086408, 0xbffff730) = 0
ioctl(3, 0x8008640b, 0xbffff708) = -1 EINVAL (Invalid argument)
ioctl(3, DEVFSDIOC_RELEASE_EVENT_QUEUE, 0xbffff780) = 0
ioctl(3, 0x80086408, 0xbffff730) = 0
ioctl(3, DEVFSDIOC_RELEASE_EVENT_QUEUE, 0xbffff780) = 0
ioctl(3, 0x80086408, 0xbffff730) = 0
ioctl(3, DEVFSDIOC_RELEASE_EVENT_QUEUE, 0xbffff780) = 0
ioctl(3, 0x80086408, 0xbffff730) = 0
ioctl(3, 0x8008640b, 0xbffff708) = 1
ioctl(3, DECODER_SET_OUTPUT, 0x2) = 0
ioctl(3, 0x8020640c, 0xbffff7a0) = 1
fstat64(1, {st_mode=S_IFCHR|0720, st_rdev=makedev(136, 0), ...}) = 0
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1,
0) = 0x40015000
write(1, "Invalid argument\n", 17Invalid argument
) = 17
write(1, "Error setting device 2, channel "..., 62Error setting device 2,
channel 0 to input. Program bailout.
) = 62
munmap(0x40015000, 4096) = 0
semget(IPC_PRIVATE, 4096, IPC_CREAT|0x4015a140|0400) = -1 ENOSYS (Function
not implemented)
_exit(0)
Basically its not liking what I give to comedi_dio_config. The line I'm
refering to in my code looks like this
nError = comedi_dio_config(card, subdev, chanStart, COMEDI_INPUT);
where subdev is 2 and chanStart is 0. any help would be much appreciated.
thanks,
Chuck Haines
Received on 2003-06-16Z16:39:49