From: Ian Abbott Date: Mon, 28 Jan 2008 16:10:11 +0000 (+0000) Subject: Don't use SDF_WRITEABLE flag to check if read (or write) command is X-Git-Url: http://git.tremily.us/gitweb.cgi?a=commitdiff_plain;h=014562410870d66f99e82cd1ac246b66ba4ee235;p=comedilib.git Don't use SDF_WRITEABLE flag to check if read (or write) command is applicable. Instead, check that the specified subdevice matches the read (or write) subdevice. --- diff --git a/testing/cmd_1.c b/testing/cmd_1.c index 8e28f49..1d051c6 100644 --- a/testing/cmd_1.c +++ b/testing/cmd_1.c @@ -112,7 +112,7 @@ int test_cmd_read_fast_1chan(void) int ret; unsigned int flags = comedi_get_subdevice_flags(device,subdevice); - if(!(flags&SDF_CMD) || flags&SDF_WRITEABLE){ + if(!(flags&SDF_CMD) || (comedi_get_read_subdevice(device)!=subdevice)){ printf("not applicable\n"); return 0; } @@ -172,7 +172,7 @@ int test_cmd_write_fast_1chan(void) { num_bytes = num_samples * sizeof(sampl_t); } - if(!(flags&SDF_CMD) || !(flags&SDF_WRITEABLE)){ + if(!(flags&SDF_CMD) || (comedi_get_write_subdevice(device)!=subdevice)){ printf("not applicable\n"); return 0; } @@ -181,6 +181,7 @@ int test_cmd_write_fast_1chan(void) printf(" not supported\n"); return 0; } + cmd.flags |= CMDF_WRITE; if(realtime)cmd.flags |= TRIG_RT; cmd.chanlist = chanlist; diff --git a/testing/cmd_2.c b/testing/cmd_2.c index 77467c5..20fa906 100644 --- a/testing/cmd_2.c +++ b/testing/cmd_2.c @@ -21,7 +21,7 @@ int test_cmd_fifo_depth_check(void) int len; unsigned int flags = comedi_get_subdevice_flags(device,subdevice); - if(!(flags&SDF_CMD) || flags&SDF_WRITEABLE){ + if(!(flags&SDF_CMD) || (comedi_get_read_subdevice(device)!=subdevice)){ printf("not applicable\n"); return 0; } diff --git a/testing/inttrig.c b/testing/inttrig.c index 60aa862..9cced3a 100644 --- a/testing/inttrig.c +++ b/testing/inttrig.c @@ -44,7 +44,7 @@ int test_cmd_start_inttrig(void) unsigned int flags; flags = comedi_get_subdevice_flags(device,subdevice); - if(!(flags&SDF_CMD) || flags&SDF_WRITEABLE){ + if(!(flags&SDF_CMD) || (comedi_get_read_subdevice(device)!=subdevice)){ printf("not applicable\n"); return 0; } diff --git a/testing/mmap.c b/testing/mmap.c index f2ebebc..08a956b 100644 --- a/testing/mmap.c +++ b/testing/mmap.c @@ -71,7 +71,7 @@ int test_mmap(void) flags = comedi_get_subdevice_flags(device,subdevice); - if(!(flags&SDF_CMD) || flags&SDF_WRITEABLE){ + if(!(flags&SDF_CMD) || (comedi_get_read_subdevice(device)!=subdevice)){ printf("not applicable\n"); return 0; } diff --git a/testing/select.c b/testing/select.c index f4a67e0..9ec5ed1 100644 --- a/testing/select.c +++ b/testing/select.c @@ -30,7 +30,7 @@ int test_read_select(void) unsigned int flags; flags = comedi_get_subdevice_flags(device,subdevice); - if(!(flags&SDF_CMD) || flags&SDF_WRITEABLE){ + if(!(flags&SDF_CMD) || (comedi_get_read_subdevice(device)!=subdevice)){ printf("not applicable\n"); return 0; }