Lines Matching +full:2000 +full:s

7  * Copyright (C) 2000 David A. Schleef <[email protected]>
148 #define ME4000_AI_MIN_SAMPLE_TIME 2000
205 .name = "ME-4660s",
235 .name = "ME-4670s",
271 .name = "ME-4680s",
437 struct comedi_subdevice *s) in me4000_ai_get_sample() argument
441 /* read two's complement value and munge to offset binary */ in me4000_ai_get_sample()
443 return comedi_offset_munge(s, val); in me4000_ai_get_sample()
447 struct comedi_subdevice *s, in me4000_ai_eoc() argument
460 struct comedi_subdevice *s, in me4000_ai_insn_read() argument
473 if (!(s->subdev_flags & SDF_DIFF)) { in me4000_ai_insn_read()
479 if (!comedi_range_is_bipolar(s, range)) { in me4000_ai_insn_read()
485 if (chan >= (s->n_chan / 2)) { in me4000_ai_insn_read()
512 ret = comedi_timeout(dev, s, insn, me4000_ai_eoc, 0); in me4000_ai_insn_read()
516 val = me4000_ai_get_sample(dev, s); in me4000_ai_insn_read()
517 data[i] = comedi_offset_munge(s, val); in me4000_ai_insn_read()
526 struct comedi_subdevice *s) in me4000_ai_cancel() argument
534 struct comedi_subdevice *s, in me4000_ai_check_chanlist() argument
552 if (!(s->subdev_flags & SDF_DIFF)) { in me4000_ai_check_chanlist()
558 if (chan >= (s->n_chan / 2)) { in me4000_ai_check_chanlist()
564 if (!comedi_range_is_bipolar(s, range)) { in me4000_ai_check_chanlist()
576 struct comedi_subdevice *s, in me4000_ai_round_cmd_args() argument
627 struct comedi_subdevice *s, in me4000_ai_write_chanlist() argument
651 struct comedi_subdevice *s) in me4000_ai_do_cmd() argument
654 struct comedi_cmd *cmd = &s->async->cmd; in me4000_ai_do_cmd()
695 me4000_ai_write_chanlist(dev, s, cmd); in me4000_ai_do_cmd()
704 struct comedi_subdevice *s, in me4000_ai_do_cmd_test() argument
776 me4000_ai_round_cmd_args(dev, s, cmd); in me4000_ai_do_cmd_test()
779 cmd->start_arg = 2000; in me4000_ai_do_cmd_test()
787 cmd->convert_arg = 2000; in me4000_ai_do_cmd_test()
808 cmd->start_arg = 2000; /* 66 ticks at least */ in me4000_ai_do_cmd_test()
813 cmd->convert_arg = 2000; /* 66 ticks at least */ in me4000_ai_do_cmd_test()
821 cmd->scan_end_arg = 2000 * cmd->chanlist_len + 31; in me4000_ai_do_cmd_test()
830 cmd->start_arg = 2000; /* 66 ticks at least */ in me4000_ai_do_cmd_test()
835 cmd->convert_arg = 2000; /* 66 ticks at least */ in me4000_ai_do_cmd_test()
844 cmd->start_arg = 2000; /* 66 ticks at least */ in me4000_ai_do_cmd_test()
849 cmd->convert_arg = 2000; /* 66 ticks at least */ in me4000_ai_do_cmd_test()
857 cmd->scan_end_arg = 2000 * cmd->chanlist_len + 31; in me4000_ai_do_cmd_test()
866 cmd->start_arg = 2000; /* 66 ticks at least */ in me4000_ai_do_cmd_test()
871 cmd->convert_arg = 2000; /* 66 ticks at least */ in me4000_ai_do_cmd_test()
880 cmd->start_arg = 2000; /* 66 ticks at least */ in me4000_ai_do_cmd_test()
885 cmd->convert_arg = 2000; /* 66 ticks at least */ in me4000_ai_do_cmd_test()
894 cmd->start_arg = 2000; /* 66 ticks at least */ in me4000_ai_do_cmd_test()
911 err |= me4000_ai_check_chanlist(dev, s, cmd); in me4000_ai_do_cmd_test()
923 struct comedi_subdevice *s = dev->read_subdev; in me4000_ai_isr() local
940 s->async->events |= COMEDI_CB_ERROR; in me4000_ai_isr()
948 s->async->events |= COMEDI_CB_ERROR; in me4000_ai_isr()
953 lval = me4000_ai_get_sample(dev, s); in me4000_ai_isr()
954 if (!comedi_buf_write_samples(s, &lval, 1)) in me4000_ai_isr()
968 s->async->events |= COMEDI_CB_EOA; in me4000_ai_isr()
973 lval = me4000_ai_get_sample(dev, s); in me4000_ai_isr()
974 if (!comedi_buf_write_samples(s, &lval, 1)) in me4000_ai_isr()
986 comedi_handle_events(dev, s); in me4000_ai_isr()
992 struct comedi_subdevice *s, in me4000_ao_insn_write() argument
1011 s->readback[chan] = data[0]; in me4000_ao_insn_write()
1017 struct comedi_subdevice *s, in me4000_dio_insn_bits() argument
1021 if (comedi_dio_update_state(s, data)) { in me4000_dio_insn_bits()
1022 outl((s->state >> 0) & 0xFF, in me4000_dio_insn_bits()
1024 outl((s->state >> 8) & 0xFF, in me4000_dio_insn_bits()
1026 outl((s->state >> 16) & 0xFF, in me4000_dio_insn_bits()
1028 outl((s->state >> 24) & 0xFF, in me4000_dio_insn_bits()
1041 struct comedi_subdevice *s, in me4000_dio_insn_config() argument
1059 ret = comedi_dio_insn_config(dev, s, insn, data, mask); in me4000_dio_insn_config()
1068 if (s->io_bits & 0x000000ff) in me4000_dio_insn_config()
1070 if (s->io_bits & 0x0000ff00) in me4000_dio_insn_config()
1072 if (s->io_bits & 0x00ff0000) in me4000_dio_insn_config()
1074 if (s->io_bits & 0xff000000) in me4000_dio_insn_config()
1083 s->io_bits |= 0x000000ff; in me4000_dio_insn_config()
1084 s->io_bits &= ~0x0000ff00; in me4000_dio_insn_config()
1100 struct comedi_subdevice *s; in me4000_auto_attach() local
1148 s = &dev->subdevices[0]; in me4000_auto_attach()
1149 s->type = COMEDI_SUBD_AI; in me4000_auto_attach()
1150 s->subdev_flags = SDF_READABLE | SDF_COMMON | SDF_GROUND; in me4000_auto_attach()
1152 s->subdev_flags |= SDF_DIFF; in me4000_auto_attach()
1153 s->n_chan = board->ai_nchan; in me4000_auto_attach()
1154 s->maxdata = 0xffff; in me4000_auto_attach()
1155 s->len_chanlist = ME4000_AI_CHANNEL_LIST_COUNT; in me4000_auto_attach()
1156 s->range_table = &me4000_ai_range; in me4000_auto_attach()
1157 s->insn_read = me4000_ai_insn_read; in me4000_auto_attach()
1160 dev->read_subdev = s; in me4000_auto_attach()
1161 s->subdev_flags |= SDF_CMD_READ; in me4000_auto_attach()
1162 s->cancel = me4000_ai_cancel; in me4000_auto_attach()
1163 s->do_cmdtest = me4000_ai_do_cmd_test; in me4000_auto_attach()
1164 s->do_cmd = me4000_ai_do_cmd; in me4000_auto_attach()
1168 s = &dev->subdevices[1]; in me4000_auto_attach()
1170 s->type = COMEDI_SUBD_AO; in me4000_auto_attach()
1171 s->subdev_flags = SDF_WRITABLE | SDF_COMMON | SDF_GROUND; in me4000_auto_attach()
1172 s->n_chan = 4; in me4000_auto_attach()
1173 s->maxdata = 0xffff; in me4000_auto_attach()
1174 s->range_table = &range_bipolar10; in me4000_auto_attach()
1175 s->insn_write = me4000_ao_insn_write; in me4000_auto_attach()
1177 result = comedi_alloc_subdev_readback(s); in me4000_auto_attach()
1181 s->type = COMEDI_SUBD_UNUSED; in me4000_auto_attach()
1185 s = &dev->subdevices[2]; in me4000_auto_attach()
1186 s->type = COMEDI_SUBD_DIO; in me4000_auto_attach()
1187 s->subdev_flags = SDF_READABLE | SDF_WRITABLE; in me4000_auto_attach()
1188 s->n_chan = 32; in me4000_auto_attach()
1189 s->maxdata = 1; in me4000_auto_attach()
1190 s->range_table = &range_digital; in me4000_auto_attach()
1191 s->insn_bits = me4000_dio_insn_bits; in me4000_auto_attach()
1192 s->insn_config = me4000_dio_insn_config; in me4000_auto_attach()
1199 s->io_bits |= 0xFF; in me4000_auto_attach()
1205 s = &dev->subdevices[3]; in me4000_auto_attach()
1216 comedi_8254_subdevice_init(s, dev->pacer); in me4000_auto_attach()
1218 s->type = COMEDI_SUBD_UNUSED; in me4000_auto_attach()