for i in range(n_subdevices): print "subdevice %d:" % (i) type = c.comedi_get_subdevice_type(dev, i) print "\ttype: %d (%s)" % (type, subdevice_types[type]) if (type == c.COMEDI_SUBD_UNUSED): continue n_chans = c.comedi_get_n_channels(dev, i) print "\tnumber of channels: %d" % (n_chans) if not (c.comedi_maxdata_is_chan_specific(dev, i)): print "\tmax data value: %d" % (c.comedi_get_maxdata(dev, i, 0)) else: print "max data value is channel specific" for j in range(n_chans): print "\tchan: %d: %d" % (j, c.comedi_get_maxdata(dev, i, j)) print "\tranges: " if not (c.comedi_range_is_chan_specific(dev, i)): n_ranges = c.comedi_get_n_ranges(dev, i, 0) print "\t\tall chans:" for j in range(n_ranges): rng = c.comedi_get_range(dev, i, 0, j) print "\t\t[%g,%g]" % (rng.min, rng.max) else: for chan in range(n_chans): n_ranges = c.comedi_get_n_ranges(dev, i, chan) print "\t\tchan: %d" % (chan) for j in range(n_ranges): rng = c.comedi_get_range(dev, i, chan, j) print "\t\t[%g,%g]" % (rng.min, rng.max) print "\tcommand:" get_command_stuff(dev, i)
print("subdevice %d:" % (i)) type = c.comedi_get_subdevice_type(dev,i) print("\ttype: %d (%s)" % (type,subdevice_types[type])) if (type == c.COMEDI_SUBD_UNUSED): continue n_chans = c.comedi_get_n_channels(dev,i) print("\tnumber of channels: %d" % ( n_chans)) if not(c.comedi_maxdata_is_chan_specific(dev,i)): print("\tmax data value: %d" % (c.comedi_get_maxdata(dev,i,0))) else: print("max data value is channel specific") for j in range(n_chans): print("\tchan: %d: %d" % (j,c.comedi_get_maxdata(dev,i,j))) print("\tranges: ") if not(c.comedi_range_is_chan_specific(dev,i)): n_ranges = c.comedi_get_n_ranges(dev,i,0) print("\t\tall chans:") for j in range(n_ranges): rng = c.comedi_get_range(dev,i,0,j) print("\t\t[%g,%g]" % (rng.min, rng.max)) else: for chan in range(n_chans): n_ranges = c.comedi_get_n_ranges(dev,i,chan) print("\t\tchan: %d" % (chan)) for j in range(n_ranges): rng = c.comedi_get_range(dev,i,chan,j) print("\t\t[%g,%g]" % (rng.min, rng.max)) print("\tcommand:") get_command_stuff(dev,i)
#open a comedi device dev = c.comedi_open(DEVICE) if not dev: raise Exception("Error opening Comedi device") # get maxdata & range # - these values are used to convert integer to physical values i = SUBDEVICE maxdata = c.comedi_get_maxdata(dev, SUBDEVICE, 0) #print("\tmax data value: %d" % (maxdata)) ranges = [] #n_ranges = c.comedi_get_n_ranges(dev,i,0) #print("\t\tall chans:") n_ranges = c.comedi_get_n_ranges(dev, SUBDEVICE, 0) # get how many range options we have for j in range(n_ranges): rng = c.comedi_get_range(dev, SUBDEVICE, 0, j) ranges.append(rng) print([(rng.min, rng.max) for rng in ranges]) s = ttk.Style() s.theme_use('clam') s.configure("red.Horizontal.TProgressbar", foreground='red', background='red') s = ttk.Style() s.theme_use('clam') s.configure("green.Horizontal.TProgressbar", foreground='green', background='green')
dev = c.comedi_open('/dev/comedi0') print dev maxdata = c.comedi_get_maxdata(dev, 0, 0) print "Max Data: %d" % maxdata subdev = c.comedi_find_subdevice_by_type(dev, c.COMEDI_SUBD_AI, 0) print "Subdevice: %d" % subdev print "Locked? %d" % c.comedi_lock(dev, subdev) nChannels = c.comedi_get_n_channels(dev, subdev) print "Num Channels: %d" % nChannels nRanges = c.comedi_get_n_ranges(dev, subdev, channel) print "Ranges: %d" % nRanges crange = c.comedi_get_range(dev, subdev, channel, 0) print "comedi_get_range: %s" % str(crange) data = maxdata/2 rdata = 0 nChannels = 2 for i in range(100): for chan in range(nChannels): ret, rdata = c.comedi_data_read(dev, subdev, chan, 0, 0) #print "Read value: %d" % rdata
comediDevice = c.comedi_open('/dev/comedi0') print comediDevice print "***** HANDLING INPUT DEVICE(S) *****" inputSubdev = c.comedi_find_subdevice_by_type(comediDevice, c.COMEDI_SUBD_AI, 0) print "input subdevice: %d" % inputSubdev inputMaxdata = c.comedi_get_maxdata(comediDevice, inputSubdev, channel) print "Input max Data: %d" % inputMaxdata nInputChannels = c.comedi_get_n_channels(comediDevice, inputSubdev) print "Num input Channels: %d" % nInputChannels nInputRanges = c.comedi_get_n_ranges(comediDevice, inputSubdev, channel) print "number Input Ranges: %d" % nInputRanges inputRange = c.comedi_get_range(comediDevice, inputSubdev, channel, 0) print "input range: : %s" % str(inputRange) print "Input locked? %d" % c.comedi_lock(comediDevice, inputSubdev) print "***** HANDLING OUTPUT DEVICE(S) *****" outputSubdev = c.comedi_find_subdevice_by_type(comediDevice, c.COMEDI_SUBD_AO, 0) print "output subdevice: %d" % outputSubdev outputMaxdata = c.comedi_get_maxdata(comediDevice, outputSubdev, channel) print "output max Data: %d" % outputMaxdata