diff --git a/testing/cmd_1.c b/testing/cmd_1.c index f3861be..84e2fd4 100644 --- a/testing/cmd_1.c +++ b/testing/cmd_1.c @@ -112,6 +112,8 @@ int test_cmd_read_fast_1chan(void) int ret; unsigned int flags = comedi_get_subdevice_flags(device,subdevice); + /* attempt to make subdevice the current 'read' subdevice */ + if(flags&SDF_CMD_READ) comedi_set_read_subdevice(device,subdevice); if(!(flags&SDF_CMD) || (comedi_get_read_subdevice(device)!=subdevice)){ printf("not applicable\n"); return 0; @@ -172,6 +174,8 @@ int test_cmd_write_fast_1chan(void) { num_bytes = num_samples * sizeof(sampl_t); } + /* attempt to make subdevice the current 'write' subdevice */ + if(flags&SDF_CMD_WRITE) comedi_set_write_subdevice(device,subdevice); if(!(flags&SDF_CMD) || (comedi_get_write_subdevice(device)!=subdevice)){ printf("not applicable\n"); return 0; diff --git a/testing/cmd_2.c b/testing/cmd_2.c index 20fa906..bd6cabc 100644 --- a/testing/cmd_2.c +++ b/testing/cmd_2.c @@ -21,6 +21,8 @@ int test_cmd_fifo_depth_check(void) int len; unsigned int flags = comedi_get_subdevice_flags(device,subdevice); + /* attempt to make subdevice the current 'read' subdevice */ + if(flags&SDF_CMD_READ) comedi_set_read_subdevice(device,subdevice); if(!(flags&SDF_CMD) || (comedi_get_read_subdevice(device)!=subdevice)){ printf("not applicable\n"); return 0; diff --git a/testing/cmd_3.c b/testing/cmd_3.c index 4b0ae74..73030ef 100644 --- a/testing/cmd_3.c +++ b/testing/cmd_3.c @@ -19,8 +19,11 @@ static int do_continuous(int multiplier); int test_cmd_continuous(void) { int mult; + unsigned int flags = comedi_get_subdevice_flags(device,subdevice); - if(!(comedi_get_subdevice_flags(device,subdevice)&SDF_CMD)){ + /* attempt to make subdevice the current 'read' subdevice */ + if(flags&SDF_CMD_READ) comedi_set_read_subdevice(device,subdevice); + 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 7188b89..f4dcf5a 100644 --- a/testing/inttrig.c +++ b/testing/inttrig.c @@ -25,6 +25,8 @@ int test_cmd_start_inttrig(void) unsigned int flags; flags = comedi_get_subdevice_flags(device,subdevice); + /* attempt to make subdevice the current 'read' subdevice */ + if(flags&SDF_CMD_READ) comedi_set_read_subdevice(device,subdevice); 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 0f9efd2..b7d0a56 100644 --- a/testing/mmap.c +++ b/testing/mmap.c @@ -68,6 +68,8 @@ int test_mmap(void) flags = comedi_get_subdevice_flags(device,subdevice); + /* attempt to make subdevice the current 'read' subdevice */ + if(flags&SDF_CMD_READ) comedi_set_read_subdevice(device,subdevice); 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 9ec5ed1..46790fa 100644 --- a/testing/select.c +++ b/testing/select.c @@ -30,6 +30,8 @@ int test_read_select(void) unsigned int flags; flags = comedi_get_subdevice_flags(device,subdevice); + /* attempt to make subdevice the current 'read' subdevice */ + if(flags&SDF_CMD_READ) comedi_set_read_subdevice(device,subdevice); if(!(flags&SDF_CMD) || (comedi_get_read_subdevice(device)!=subdevice)){ printf("not applicable\n"); return 0;