/* */ #include #include #include #include #include #include #include #include #include #include #include #include "comedi_test.h" char *filename="/dev/comedi0"; int verbose_flag; comedi_t *device; int subdevice; int channel; int aref; int range; int test_info(void); int test_mode0_read(void); int test_insn_read(void); int test_insn_read_0(void); int test_insn_read_time(void); int test_cmd_no_cmd(void); int test_cmd_probe_src_mask(void); int test_cmd_probe_fast_1chan(void); int test_cmd_read_fast_1chan(void); int test_cmd_write_fast_1chan(void); int test_cmd_logic_bug(void); int test_cmd_fifo_depth_check(void); int test_cmd_start_inttrig(void); int test_mmap(void); int test_read_select(void); int test_cmd_continuous(void); int test_bufconfig(void); #define TEST_NEVER 0 #define TEST_STD 1 struct test_struct{ char *name; int (*do_test)(void); int flags; }; struct test_struct tests[]={ { "info", test_info, TEST_STD }, { "mode0_read", test_mode0_read, TEST_NEVER }, { "insn_read", test_insn_read, TEST_STD }, { "insn_read_0", test_insn_read_0, TEST_STD }, { "insn_read_time", test_insn_read_time, TEST_STD }, { "cmd_no_cmd", test_cmd_no_cmd, TEST_STD }, { "cmd_probe_src_mask", test_cmd_probe_src_mask, TEST_STD }, { "cmd_probe_fast_1chan", test_cmd_probe_fast_1chan, TEST_STD }, { "cmd_read_fast_1chan", test_cmd_read_fast_1chan, TEST_STD }, { "cmd_write_fast_1chan", test_cmd_write_fast_1chan, TEST_STD }, { "cmd_logic_bug", test_cmd_logic_bug, TEST_STD }, { "cmd_fifo_depth_check", test_cmd_fifo_depth_check, TEST_STD }, { "cmd_start_inttrig", test_cmd_start_inttrig, TEST_STD }, { "mmap", test_mmap, TEST_STD }, { "read_select", test_read_select, TEST_STD }, { "cmd_continuous", test_cmd_continuous, TEST_NEVER }, { "bufconfig", test_bufconfig, TEST_STD }, }; static int n_tests = sizeof(tests)/sizeof(tests[0]); int only_subdevice; int verbose; char *only_test; int realtime; static void get_capabilities(unsigned int subd); static void print_device_info(void); void help(int ret) { int i; fprintf(stderr, "comedi_test [options]\n" " --device, -f Use device \n" " --realtime, -r Use real-time interrupts, if available\n" " --subdevice, -s Only test subdevice \n" " --test, -t Only run test \n" " --verbose, -v Be verbose\n" " --help, -h Print this message\n" "Available tests: "); for(i=0;i>16)&0xff, (vers>>8)&0xff,vers&0xff); printf("I: Comedilib version: unknown =)\n"); printf("I: driver name: %s\n",comedi_get_driver_name(device)); printf("I: device name: %s\n",comedi_get_board_name(device)); }