From c632d4e636aa89acd4543aea4d04aa32ac05da94 Mon Sep 17 00:00:00 2001 From: Frank Mori Hess Date: Sun, 5 Feb 2006 20:56:11 +0000 Subject: [PATCH] Removed comedi_calibrate from comedilib, it is now in its own module. --- comedi_calibrate/Makefile.am | 15 - comedi_calibrate/README | 191 -- comedi_calibrate/cal_common.c | 490 ----- comedi_calibrate/calib.h | 289 --- comedi_calibrate/cb.c | 586 ------ comedi_calibrate/cb64.c | 1290 ------------- comedi_calibrate/comedi_calibrate.c | 1642 ---------------- comedi_calibrate/ni.c | 1706 ----------------- comedi_calibrate/ni_labpc.c | 256 --- comedi_calibrate/ni_m_series.c | 192 -- comedi_calibrate/other.c | 42 - comedi_calibrate/results/DAQCard-6024E | 64 - comedi_calibrate/results/DAQCard-6036E | 192 -- comedi_calibrate/results/DAQCard-6062E | 74 - comedi_calibrate/results/DAQCard-ai-16e-4 | 65 - comedi_calibrate/results/DAQCard-ai-16xe-50 | 42 - comedi_calibrate/results/at-mio-16de-10 | 380 ---- comedi_calibrate/results/at-mio-16e-1 | 359 ---- comedi_calibrate/results/at-mio-16e-10 | 366 ---- comedi_calibrate/results/at-mio-16e-2 | 124 -- comedi_calibrate/results/at-mio-16xe-50 | 201 -- .../results/measurement-computing-pci-das1000 | 239 --- .../measurement-computing-pci-das1602-16 | 324 ---- .../results/measurement-computing-pci-das6014 | 222 --- .../results/measurement-computing-pci-das6025 | 110 -- .../results/measurement-computing-pci-das6034 | 136 -- comedi_calibrate/results/pci-6014 | 131 -- comedi_calibrate/results/pci-6023e | 67 - comedi_calibrate/results/pci-6024e | 170 -- comedi_calibrate/results/pci-6025e | 140 -- comedi_calibrate/results/pci-6031e | 391 ---- comedi_calibrate/results/pci-6032e | 68 - comedi_calibrate/results/pci-6033e | 119 -- comedi_calibrate/results/pci-6034e | 67 - comedi_calibrate/results/pci-6035e | 172 -- comedi_calibrate/results/pci-6036e | 112 -- comedi_calibrate/results/pci-6052e | 437 ----- comedi_calibrate/results/pci-6071e | 309 --- comedi_calibrate/results/pci-6110 | 489 ----- comedi_calibrate/results/pci-6711 | 152 -- comedi_calibrate/results/pci-6713 | 16 - comedi_calibrate/results/pci-mio-16e-1 | 130 -- comedi_calibrate/results/pci-mio-16e-4 | 133 -- comedi_calibrate/results/pci-mio-16xe-10 | 147 -- comedi_calibrate/results/pci-mio-16xe-50 | 20 - comedi_calibrate/save_cal.c | 245 --- comedi_calibrate/split_dumps | 11 - configure.ac | 1 - 48 files changed, 13124 deletions(-) delete mode 100644 comedi_calibrate/Makefile.am delete mode 100644 comedi_calibrate/README delete mode 100644 comedi_calibrate/cal_common.c delete mode 100644 comedi_calibrate/calib.h delete mode 100644 comedi_calibrate/cb.c delete mode 100644 comedi_calibrate/cb64.c delete mode 100644 comedi_calibrate/comedi_calibrate.c delete mode 100644 comedi_calibrate/ni.c delete mode 100644 comedi_calibrate/ni_labpc.c delete mode 100644 comedi_calibrate/ni_m_series.c delete mode 100644 comedi_calibrate/other.c delete mode 100644 comedi_calibrate/results/DAQCard-6024E delete mode 100644 comedi_calibrate/results/DAQCard-6036E delete mode 100644 comedi_calibrate/results/DAQCard-6062E delete mode 100644 comedi_calibrate/results/DAQCard-ai-16e-4 delete mode 100644 comedi_calibrate/results/DAQCard-ai-16xe-50 delete mode 100644 comedi_calibrate/results/at-mio-16de-10 delete mode 100644 comedi_calibrate/results/at-mio-16e-1 delete mode 100644 comedi_calibrate/results/at-mio-16e-10 delete mode 100644 comedi_calibrate/results/at-mio-16e-2 delete mode 100644 comedi_calibrate/results/at-mio-16xe-50 delete mode 100644 comedi_calibrate/results/measurement-computing-pci-das1000 delete mode 100644 comedi_calibrate/results/measurement-computing-pci-das1602-16 delete mode 100644 comedi_calibrate/results/measurement-computing-pci-das6014 delete mode 100644 comedi_calibrate/results/measurement-computing-pci-das6025 delete mode 100644 comedi_calibrate/results/measurement-computing-pci-das6034 delete mode 100644 comedi_calibrate/results/pci-6014 delete mode 100644 comedi_calibrate/results/pci-6023e delete mode 100644 comedi_calibrate/results/pci-6024e delete mode 100644 comedi_calibrate/results/pci-6025e delete mode 100644 comedi_calibrate/results/pci-6031e delete mode 100644 comedi_calibrate/results/pci-6032e delete mode 100644 comedi_calibrate/results/pci-6033e delete mode 100644 comedi_calibrate/results/pci-6034e delete mode 100644 comedi_calibrate/results/pci-6035e delete mode 100644 comedi_calibrate/results/pci-6036e delete mode 100644 comedi_calibrate/results/pci-6052e delete mode 100644 comedi_calibrate/results/pci-6071e delete mode 100644 comedi_calibrate/results/pci-6110 delete mode 100644 comedi_calibrate/results/pci-6711 delete mode 100644 comedi_calibrate/results/pci-6713 delete mode 100644 comedi_calibrate/results/pci-mio-16e-1 delete mode 100644 comedi_calibrate/results/pci-mio-16e-4 delete mode 100644 comedi_calibrate/results/pci-mio-16xe-10 delete mode 100644 comedi_calibrate/results/pci-mio-16xe-50 delete mode 100644 comedi_calibrate/save_cal.c delete mode 100755 comedi_calibrate/split_dumps diff --git a/comedi_calibrate/Makefile.am b/comedi_calibrate/Makefile.am deleted file mode 100644 index b9982f9..0000000 --- a/comedi_calibrate/Makefile.am +++ /dev/null @@ -1,15 +0,0 @@ - -bin_PROGRAMS = comedi_calibrate - -noinst_HEADERS = calib.h - -comedi_calibrate_SOURCES = \ - comedi_calibrate.c ni.c cb.c cb64.c other.c save_cal.c cal_common.c ni_labpc.c ni_m_series.c -comedi_calibrate_CFLAGS = $(COMEDILIB_CFLAGS) -comedi_calibrate_LDADD = $(COMEDILIB_LIBS) - -install-data-local: - $(INSTALL) -d $(localstatedir)/lib/comedi/calibrations - -EXTRA_DIST = results - diff --git a/comedi_calibrate/README b/comedi_calibrate/README deleted file mode 100644 index 440dccc..0000000 --- a/comedi_calibrate/README +++ /dev/null @@ -1,191 +0,0 @@ - -I always seem to forget how to convert the calibration -dump information into code for doing a calibration, so -I'm writing this mostly for myself. - -Boards may have one of 4 calibrations statuses, depending -on how well the calibration code is trusted. These are: -STATUS_UNKNOWN, the default for no information; STATUS_SOME, -meaning that a dump has been converted to initial code, -but not tested; STATUS_DONE means that the output of a -STATUS_SOME dump has been checked, and is correct; -STATUS_GUESS is a marker that code has been converted -from a previous version of the code, but not checked. - -The NI E series boards have several internal voltages that -can be measured, and also several calibration DACs that function -similar to adjustable resistors on old data acquisition boards. -The information we need is which DACs affect which measurable -voltages; then we can write calibration code that adjusts those -DACs until the voltages are within spec. - -Usually, there are DACs (or multiple DACs) that are added to -an analog input signal: 1) before the variable gain amplifier -("pre-gain"), 2) after the variable gain amplifier ("post-gain"), -3) between the board's stable voltage reference and the -reference input to the ADC ("gain offset"), and 4) before a -unipolar-to-bipolar adjuster ("unipolar offset"), or other -equivalent circuit. - -In addition there are DACs that adjust the output voltages and/or -reference voltage inputs to a D/A converter. These are pretty -intuitive once analog input is understood, and is dependent on -correct analog input calibration. - -The measurable quantities are 0 volts and an internal voltage -reference near 5 volts, and can be measured at any gain. The -interesting combinations are: - - ai, bipolar zero offset, low gain - ai, bipolar zero offset, high gain - ai, bipolar voltage reference, low gain - ai, unipolar zero offset, low gain - -The unipolar zero offset may not be available on some boards. - -In a STATUS_UNKNOWN dump, for each measurable quantity and each -calibration DAC, the DAC is varied throughout its entire range -and the quantity measured. The data is linearly fit, and if -the slope is statistically non-zero, a line is printed: - - caldac[0] gain=1.26(11)e-7 V/bit S_min=235.659 dof=254 - -The information given is caldac index, slope (gain) and slope -error (in parenthesis, modifying the last two digits of the -slope), and two statistical parameters S_min and degrees -of freedom. S_min and dof will be roughly similar for a -good fit. If S_min is more than a factor of 4 greater than -dof, this is probably not a good fit. Typically this means -that the DAC doesn't affect the measureable strictly linearly, -or there is systematic noise. The latter seems to common in -E series boards, so I'm not too worried about the following -dump where there are S_min/dof ratios above 4. - -Here's an example dump, generated by a STATUS_UNKNOWN dump for -a pci-mio-16xe-10, with the analog output section removed: - - Warning: device not fully calibrated due to insufficient information - Please send this output to - Id: comedi_calibrate.c,v 1.21 2001/10/10 22:07:53 ds Exp - Driver name: ni_pcimio - Device name: pci-mio-16xe-10 - Comedi version: 0.7.61 - ai, bipolar zero offset, low gain - offset -6.795(14)e-3, target 0 - caldac[0] gain=1.26(11)e-7 V/bit S_min=235.659 dof=254 - caldac[2] gain=3.96840(14)e-4 V/bit S_min=1390.18 dof=254 - caldac[3] gain=4.348(11)e-6 V/bit S_min=258.75 dof=254 - caldac[8] gain=5.4659(69)e-7 V/bit S_min=386.361 dof=254 - ai, bipolar zero offset, high gain - offset -2.4224(55)e-4, target 0 - caldac[0] gain=3.61(45)e-9 V/bit S_min=247.26 dof=254 - caldac[2] gain=3.96644(48)e-6 V/bit S_min=351.927 dof=254 - caldac[3] gain=4.063(46)e-8 V/bit S_min=272.024 dof=254 - caldac[8] gain=5.46305(30)e-7 V/bit S_min=314.035 dof=254 - ai, bipolar voltage reference, low gain - offset 4.992959(13), target 5 - caldac[0] gain=-4.4928(11)e-5 V/bit S_min=1111.4 dof=254 - caldac[1] gain=-2.792(11)e-6 V/bit S_min=248.971 dof=254 - caldac[2] gain=3.96488(14)e-4 V/bit S_min=1059.18 dof=254 - caldac[3] gain=4.318(11)e-6 V/bit S_min=437.441 dof=254 - caldac[8] gain=5.4810(70)e-7 V/bit S_min=404.213 dof=254 - ai, unipolar zero offset, low gain - offset nan, target 0 - caldac[2] gain=3.96773(39)e-4 V/bit S_min=158.236 dof=107 - -[The explanation gets a little fuzzy here] - -The resulting function for calibration will look something like: - - void cal_ni_pci_mio_16xe_10(void) - { - postgain_cal(ni_zero_offset_low, ni_zero_offset_high, XXX); - cal1(ni_zero_offset_high, XXX); - cal1(ni_reference_low, XXX); - cal1(ni_unip_offset_low, XXX); - } - -You get to fill in the XXX's. The post-gain calibration DAC will -be the one for which the ratio of caldac slopes for the low and -high gain measurables is similar to the ratio of input ranges for -low and high gain. This ratio is typically 100 or 200, and really -should be printed by the program. Thus, for this dump, we choose -caldac[2], since the ratio is very nearly 100. We don't choose -caldac[0] or caldac[3], because the gains are smaller, and the -ratio isn't exactly 100 or 200. - -Next is the pre-gain calibration. Adding a voltage before the -amplifier will affect every input range selection equally, so the -pre-gain cadac slope will be nearly equal for both bipolar zero -offset at low and high gain. In this example, it would be caldac[8]. - -Next is the voltage reference calibration. The caldac controlling -the voltage reference adjustment is proportional to the offset, -so the correct caldac will typically be the one that has a large -slope for the bipolar voltage reference measurement, but a small -slope (by a factor of 2e4, here) for the zero offset measurements. -It could be any of caldac[0], caldac[1], or caldac[3], or possibly -all of them. We'll choose the caldac with the largest slope for -rough calibration, then use the one with the smallest slope for -fine calibration, namely caldac[0] and caldac[1]. - -This is one way that STATUS_SOME is useful, because you can calibrate -the zero offset, then get a much better idea which other channels -are likely to be for the voltage reference. - -Note that we haven't done anything with caldac[3]. It clearly -does something useful, but until we attempt a coarse calibration, -it's not certain what it does. It turns out to be a fine postgain -adjustment. - -In this example, there doesn't appear to be a caldac that affects -unipolar zero offset, so it will not be used in the final function: - - void cal_ni_pci_mio_16xe_10(void) - { - postgain_cal(ni_zero_offset_low, ni_zero_offset_high, 2); - cal1(ni_zero_offset_high, 8); - cal1(ni_reference_low, 0); - cal1(ni_reference_low, 1); - } - -There are a number of functions that are useful for optimizing a -given caldac, each optimized for different cases. The inconsistently -named postgain_cal() and cal1() measure the observable(s) at a -number of points throughout the entire caldac range, and then do a -linear fit to determine the optimum value for caldac. These functions -are good if the caldac dependence is strictly linear. They are also -useful if the target value for the observable is at the endpoint of -the measurable range, as when measuring unipolar zero offset, since -the functions automatically compensate for bad input values. - -The function cal_fine() is useful for fine-tuning of the results of -cal1(), especially if the dependence is close, but not quite linear. -The goodness of the linear fit is quantified by the S_min value in the -log -- an S_min value that is approximately the same (within a factor -of 2 or 3) as dof (degrees of freedom) indicates a good fit. An S_min -value that is about 10 times dof indicates that fine tuning is probably -necessary. An S_min value that is many orders of magnitude larger than -dof indicates that linear fitting should not be used. - -The functions cal_binary() and cal_postgain_binary() are used when -the caldac dependence is highly non-linear. It does a binary search -in the range of the caldac to find a decent value. - -Notes by fmhess****************************************************** -I would use cal_binary() always, as opposed to cal1() or cal1_fine(), -since it is the best algorithm. - -cal_relative_binary() is the same as cal_postgain_binary(). I prefer -the more general name because the function is useful for more than -just postgain offsets. It adjusts a caldac so the difference between -two observables is correct (although their absolute values may still -be offset), which works for postgain offsets, but -is also good for gain calibrations when the gain adjustment -couples with the offset. - -cal_linearity_binary() was added for convenient calibration of -analog output linearity on NI boards. It should be fed 3 -observables that are well separated from each other. It adjusts -a caldac so that the ratio (obs3 - obs2)/(obs2 - obs1) is -correct. diff --git a/comedi_calibrate/cal_common.c b/comedi_calibrate/cal_common.c deleted file mode 100644 index 5729396..0000000 --- a/comedi_calibrate/cal_common.c +++ /dev/null @@ -1,490 +0,0 @@ -/*************************************************************************** - cal_common.c - shared calibration routines - ------------------- - - begin : Fri May 2, 2003 - copyright : (C) 2003 by Frank Mori Hess - email : fmhess@users.sourceforge.net - - ***************************************************************************/ - -/*************************************************************************** - * * - * This program is free software; you can redistribute it and/or modify * - * it under the terms of the GNU Lesser General Public License as * - * published by * - * the Free Software Foundation; either version 2.1 of the License, or * - * (at your option) any later version. * - * * - ***************************************************************************/ -#define _GNU_SOURCE - -#include "calib.h" -#include -#include -#include - -void generic_do_cal( calibration_setup_t *setup, - comedi_calibration_setting_t *saved_cal, int observable, int caldac ) -{ - if( caldac < 0 || observable < 0 ) return; - - cal_binary( setup, observable, caldac ); - sc_push_caldac( saved_cal, setup->caldacs[ caldac ] ); -} - -void generic_do_relative( calibration_setup_t *setup, - comedi_calibration_setting_t *saved_cal, int observable1, int observable2, int caldac ) -{ - if( caldac < 0 || observable1 < 0 || observable2 < 0 ) return; - - cal_relative_binary( setup, observable1, observable2, caldac ); - sc_push_caldac( saved_cal, setup->caldacs[ caldac ] ); -} - -void generic_do_linearity( calibration_setup_t *setup, - comedi_calibration_setting_t *saved_cal, int observable1, int observable2, - int observable3, int caldac ) -{ - if( caldac < 0 || observable1 < 0 || observable2 < 0 || observable3 < 0 ) - return; - - cal_linearity_binary( setup, observable1, observable2, observable3, caldac ); - sc_push_caldac( saved_cal, setup->caldacs[ caldac ] ); -} - -void generic_peg( calibration_setup_t *setup, int observable, int caldac, - int maximize ) -{ - if( caldac < 0 || observable < 0 ) return; - peg_binary( setup, observable, caldac, maximize ); -} - -void generic_prep_adc_caldacs( calibration_setup_t *setup, - const generic_layout_t *layout, unsigned int channel, unsigned int range ) -{ - int retval; - - if( setup->ad_subdev < 0 ) return; - - if( setup->old_calibration == NULL ) - { - reset_caldac( setup, layout->adc_offset( channel ) ); - reset_caldac( setup, layout->adc_gain( channel ) ); - reset_caldac( setup, layout->adc_offset_fine( channel ) ); - reset_caldac( setup, layout->adc_gain_fine( channel ) ); - reset_caldac( setup, layout->adc_postgain_offset( channel ) ); - }else - { - retval = comedi_apply_parsed_calibration( setup->dev, setup->ad_subdev, - channel, range, AREF_GROUND, setup->old_calibration ); - if( retval < 0 ) - { - DPRINT( 0, "Failed to apply existing calibration, reseting dac caldacs.\n" ); - reset_caldac( setup, layout->adc_offset( channel ) ); - reset_caldac( setup, layout->adc_gain( channel ) ); - reset_caldac( setup, layout->adc_offset_fine( channel ) ); - reset_caldac( setup, layout->adc_gain_fine( channel ) ); - reset_caldac( setup, layout->adc_postgain_offset( channel ) ); - } - } -} - -void generic_prep_dac_caldacs( calibration_setup_t *setup, - const generic_layout_t *layout, unsigned int channel, unsigned int range ) -{ - int retval; - - if( setup->da_subdev < 0 ) return; - - if( setup->old_calibration == NULL ) - { - reset_caldac( setup, layout->dac_offset( channel ) ); - reset_caldac( setup, layout->dac_gain( channel ) ); - reset_caldac( setup, layout->dac_linearity( channel ) ); - reset_caldac( setup, layout->dac_offset_fine( channel ) ); - reset_caldac( setup, layout->dac_gain_fine( channel ) ); - reset_caldac( setup, layout->dac_linearity_fine( channel ) ); - }else - { - retval = comedi_apply_parsed_calibration( setup->dev, setup->da_subdev, - channel, range, AREF_GROUND, setup->old_calibration ); - if( retval < 0 ) - { - DPRINT( 0, "Failed to apply existing calibration, reseting dac caldacs.\n" ); - reset_caldac( setup, layout->dac_offset( channel ) ); - reset_caldac( setup, layout->dac_gain( channel ) ); - reset_caldac( setup, layout->dac_linearity( channel ) ); - reset_caldac( setup, layout->dac_offset_fine( channel ) ); - reset_caldac( setup, layout->dac_gain_fine( channel ) ); - reset_caldac( setup, layout->dac_linearity_fine( channel ) ); - } - } -} - -static void generic_prep_adc_for_dac( calibration_setup_t *setup, - comedi_calibration_t *calibration, int observable ) -{ - unsigned int adc_channel, adc_range; - int chanspec; - - if( observable < 0 ) return; - - chanspec = setup->observables[ observable ].observe_insn.chanspec; - adc_channel = CR_CHAN( chanspec ); - adc_range = CR_RANGE( chanspec ); - - comedi_apply_parsed_calibration( setup->dev, setup->ad_subdev, - adc_channel, adc_range, 0, calibration ); -} - -static int dac_cal_is_good( calibration_setup_t *setup, const generic_layout_t *layout, - unsigned int channel, unsigned int range ) -{ - if( fabs( fractional_offset( setup, setup->da_subdev, channel, range, - layout->dac_ground_observable( setup, channel, range ) ) ) > layout->dac_fractional_tolerance ) - return 0; - else if( fabs( fractional_offset( setup, setup->da_subdev, channel, range, - layout->dac_high_observable( setup, channel, range ) ) ) > layout->dac_fractional_tolerance ) - return 0; - - return 1; -} - -static void generic_do_dac_channel( calibration_setup_t *setup, const generic_layout_t *layout , - comedi_calibration_t *calibration, comedi_calibration_setting_t *current_cal, - unsigned int channel, unsigned int range ) -{ - static const int max_iterations = 4; - int i; - - current_cal->subdevice = setup->da_subdev; - - generic_prep_adc_for_dac( setup, calibration, - layout->dac_ground_observable( setup, channel, range ) ); - - for( i = 0; i < max_iterations; i++ ) - { - generic_do_linearity(setup, current_cal, layout->dac_ground_observable( setup, channel, range ), - layout->dac_mid_observable( setup, channel, range ), - layout->dac_high_observable( setup, channel, range ), - layout->dac_linearity(channel)); - generic_do_relative( setup, current_cal, layout->dac_high_observable( setup, channel, range ), - layout->dac_ground_observable( setup, channel, range ),layout->dac_gain( channel ) ); - generic_do_cal( setup, current_cal, layout->dac_ground_observable( setup, channel, range ), - layout->dac_offset( channel ) ); - - generic_do_linearity(setup, current_cal, layout->dac_ground_observable( setup, channel, range ), - layout->dac_mid_observable( setup, channel, range ), - layout->dac_high_observable( setup, channel, range ), - layout->dac_linearity_fine(channel)); - generic_do_relative( setup, current_cal, layout->dac_high_observable( setup, channel, range ), - layout->dac_ground_observable( setup, channel, range ), layout->dac_gain_fine( channel ) ); - generic_do_cal( setup, current_cal, layout->dac_ground_observable( setup, channel, range ), - layout->dac_offset_fine( channel ) ); - if( dac_cal_is_good( setup, layout, channel, range ) ) break; - } - if( i == max_iterations ) - DPRINT(0, "WARNING: unable to calibrate dac channel %i, range %i to desired %g tolerance\n", - channel, range, layout->dac_fractional_tolerance ); - sc_push_channel( current_cal, channel ); - sc_push_range( current_cal, range ); - sc_push_aref( current_cal, SC_ALL_AREFS ); -} - -static int adc_cal_is_good( calibration_setup_t *setup, const generic_layout_t *layout, - unsigned int channel, unsigned int range ) -{ - if( fabs( fractional_offset( setup, setup->ad_subdev, channel, range, - layout->adc_ground_observable( setup, channel, range ) ) ) > layout->adc_fractional_tolerance ) - return 0; - else if( fabs( fractional_offset( setup, setup->ad_subdev, channel, range, - layout->adc_high_observable( setup, channel, range ) ) ) > layout->adc_fractional_tolerance ) - return 0; - - return 1; -} - -static void generic_do_adc_channel( calibration_setup_t *setup, const generic_layout_t *layout, - comedi_calibration_setting_t *current_cal, unsigned int channel, unsigned int range ) -{ - static const int max_iterations = 4; - int i; - - current_cal->subdevice = setup->ad_subdev; - - for( i = 0; i < max_iterations; i++ ) - { - generic_do_relative( setup, current_cal, layout->adc_high_observable( setup, channel, range ), - layout->adc_ground_observable( setup, channel, range ), layout->adc_gain( channel ) ); - generic_do_cal( setup, current_cal, layout->adc_ground_observable( setup, channel, range ), - layout->adc_offset( channel ) ); - generic_do_relative( setup, current_cal, layout->adc_high_observable( setup, channel, range ), - layout->adc_ground_observable( setup, channel, range ), layout->adc_gain_fine( channel ) ); - generic_do_cal( setup, current_cal, layout->adc_ground_observable( setup, channel, range ), - layout->adc_offset_fine( channel ) ); - if( adc_cal_is_good( setup, layout, channel, range ) ) break; - } - if( i == max_iterations ) - DPRINT(0, "WARNING: unable to calibrate adc channel %i, range %i to desired %g tolerance\n", - channel, range, layout->adc_fractional_tolerance ); - sc_push_channel( current_cal, channel ); - sc_push_range( current_cal, range ); - sc_push_aref( current_cal, SC_ALL_AREFS ); -} - -static void generic_do_adc_postgain_offset( calibration_setup_t *setup, const generic_layout_t *layout, - comedi_calibration_setting_t *current_cal, unsigned int channel, int unipolar ) -{ - int lowgain, highgain; - int bip_lowgain; - - current_cal->subdevice = setup->ad_subdev; - - bip_lowgain = get_bipolar_lowgain( setup->dev, setup->ad_subdev ); - if( unipolar ) - { - lowgain = get_unipolar_lowgain( setup->dev, setup->ad_subdev ); - highgain = get_unipolar_highgain( setup->dev, setup->ad_subdev ); - }else - { - lowgain = bip_lowgain; - highgain = get_bipolar_highgain( setup->dev, setup->ad_subdev ); - } - generic_prep_adc_caldacs( setup, layout, channel, highgain ); - if( unipolar ) - { - /* Need to make sure we aren't stuck on zero for unipolar, - * by setting pregain offset to maximum. Use bipolar lowgain - * for pegs to make sure we aren't out-of-range. */ - generic_peg( setup, layout->adc_ground_observable( setup, channel, bip_lowgain ), - layout->adc_offset( channel ), 1 ); - generic_peg( setup, layout->adc_ground_observable( setup, channel, bip_lowgain ), - layout->adc_offset_fine( channel ), 1 ); - } - generic_do_relative( setup, current_cal, layout->adc_ground_observable( setup, channel, lowgain ), - layout->adc_ground_observable( setup, channel, highgain ), layout->adc_postgain_offset( channel ) ); - - sc_push_channel( current_cal, channel ); - sc_push_aref( current_cal, SC_ALL_AREFS ); -} - -int generic_cal_by_channel_and_range( calibration_setup_t *setup, - const generic_layout_t *layout ) -{ - int range, channel, num_ai_ranges, num_ai_channels, num_ao_ranges, - num_ao_channels, retval, num_ai_calibrations; - comedi_calibration_setting_t *current_cal; - - assert( comedi_range_is_chan_specific( setup->dev, setup->ad_subdev ) == 0 ); - - num_ai_ranges = comedi_get_n_ranges( setup->dev, setup->ad_subdev, 0 ); - if( num_ai_ranges < 0 ) return -1; - - num_ai_channels = comedi_get_n_channels( setup->dev, setup->ad_subdev ); - if( num_ai_channels < 0 ) return -1; - - if(setup->da_subdev >= 0 && setup->do_output ) - { - assert( comedi_range_is_chan_specific( setup->dev, setup->da_subdev ) == 0 ); - - num_ao_ranges = comedi_get_n_ranges( setup->dev, setup->da_subdev, 0 ); - if( num_ao_ranges < 0 ) return -1; - - num_ao_channels = comedi_get_n_channels( setup->dev, setup->da_subdev ); - if( num_ao_channels < 0 ) return -1; - }else - num_ao_ranges = num_ao_channels = 0; - - num_ai_calibrations = num_ai_ranges * num_ai_channels; - - for( channel = 0; channel < num_ai_channels; channel++ ) - { - int postgain_bip, postgain_unip; - - if( layout->adc_postgain_offset( 0 ) >= 0 ) - { - /* bipolar postgain */ - current_cal = sc_alloc_calibration_setting( setup ); - generic_do_adc_postgain_offset( setup, layout, current_cal, channel, 0 ); - for( range = 0; range < num_ai_ranges; range++ ) - if( is_bipolar( setup->dev, setup->ad_subdev, channel, range ) ) - sc_push_range( current_cal, range ); - postgain_bip = setup->caldacs[ layout->adc_postgain_offset( channel ) ].current; - /* unipolar postgain */ - if( layout->do_adc_unipolar_postgain ) - { - current_cal = sc_alloc_calibration_setting( setup ); - generic_do_adc_postgain_offset( setup, layout, current_cal, channel, 1 ); - } - for( range = 0; range < num_ai_ranges; range++ ) - if( is_unipolar( setup->dev, setup->ad_subdev, channel, range ) ) - sc_push_range( current_cal, range ); - postgain_unip = setup->caldacs[ layout->adc_postgain_offset( channel ) ].current; - }else - postgain_bip = postgain_unip = -1; - - for( range = 0; range < num_ai_ranges; range++ ) - { - current_cal = sc_alloc_calibration_setting( setup ); - generic_prep_adc_caldacs( setup, layout, channel, range ); - if( is_unipolar( setup->dev, setup->ad_subdev, channel, range ) ) - update_caldac( setup, layout->adc_postgain_offset( channel ), postgain_unip ); - else - update_caldac( setup, layout->adc_postgain_offset( channel ), postgain_bip ); - generic_do_adc_channel( setup, layout, current_cal, channel, range ); - } - } - for( channel = 0; channel < num_ao_channels; channel++ ) - { - for( range = 0; range < num_ao_ranges; range++ ) - { - current_cal = sc_alloc_calibration_setting( setup ); - generic_prep_dac_caldacs( setup, layout, channel, range ); - generic_do_dac_channel( setup, layout, setup->new_calibration, - current_cal, channel, range ); - } - } - - retval = write_calibration_file( setup ); - return retval; -} - -int generic_cal_by_range( calibration_setup_t *setup, - const generic_layout_t *layout ) -{ - int channel, range, num_ai_ranges, num_ao_ranges, - num_ao_channels, retval; - comedi_calibration_setting_t *current_cal; - int postgain_bip, postgain_unip; - - assert( comedi_range_is_chan_specific( setup->dev, setup->ad_subdev ) == 0 ); - - num_ai_ranges = comedi_get_n_ranges( setup->dev, setup->ad_subdev, 0 ); - if( num_ai_ranges < 0 ) return -1; - - if(setup->da_subdev >= 0 && setup->do_output ) - { - assert( comedi_range_is_chan_specific( setup->dev, setup->da_subdev ) == 0 ); - - num_ao_ranges = comedi_get_n_ranges( setup->dev, setup->da_subdev, 0 ); - if( num_ao_ranges < 0 ) return -1; - - num_ao_channels = comedi_get_n_channels( setup->dev, setup->da_subdev ); - if( num_ao_channels < 0 ) return -1; - }else - num_ao_ranges = num_ao_channels = 0; - - if( layout->adc_postgain_offset( 0 ) >= 0 ) - { - /* bipolar postgain */ - current_cal = sc_alloc_calibration_setting( setup ); - generic_do_adc_postgain_offset( setup, layout, current_cal, 0, 0 ); - sc_push_channel( current_cal, SC_ALL_CHANNELS ); - for( range = 0; range < num_ai_ranges; range++ ) - if( is_bipolar( setup->dev, setup->ad_subdev, 0, range ) ) - sc_push_range( current_cal, range ); - postgain_bip = setup->caldacs[ layout->adc_postgain_offset( 0 ) ].current; - /* unipolar postgain */ - if( layout->do_adc_unipolar_postgain ) - { - current_cal = sc_alloc_calibration_setting( setup ); - generic_do_adc_postgain_offset( setup, layout, current_cal, 0, 1 ); - sc_push_channel( current_cal, SC_ALL_CHANNELS ); - } - for( range = 0; range < num_ai_ranges; range++ ) - if( is_unipolar( setup->dev, setup->ad_subdev, 0, range ) ) - sc_push_range( current_cal, range ); - postgain_unip = setup->caldacs[ layout->adc_postgain_offset( 0 ) ].current; - }else - postgain_bip = postgain_unip = -1; - - for( range = 0; range < num_ai_ranges; range++ ) - { - current_cal = sc_alloc_calibration_setting( setup ); - generic_prep_adc_caldacs( setup, layout, 0, range ); - if( is_unipolar( setup->dev, setup->ad_subdev, 0, range ) ) - update_caldac( setup, layout->adc_postgain_offset( 0 ), postgain_unip ); - else - update_caldac( setup, layout->adc_postgain_offset( 0 ), postgain_bip ); - generic_do_adc_channel( setup, layout, current_cal, 0, range ); - sc_push_channel( current_cal, SC_ALL_CHANNELS ); - } - for( channel = 0; channel < num_ao_channels; channel++ ) - { - for( range = 0; range < num_ao_ranges; range++ ) - { - current_cal = sc_alloc_calibration_setting( setup ); - generic_prep_dac_caldacs( setup, layout, channel, range ); - generic_do_dac_channel( setup, layout, setup->new_calibration, - current_cal, channel, range ); - } - } - retval = write_calibration_file( setup ); - return retval; -} - -int generic_cal_ao(calibration_setup_t *setup, - const generic_layout_t *layout ) -{ - int channel, range, num_ao_ranges, - num_ao_channels, retval; - comedi_calibration_setting_t *current_cal; - - - if(setup->da_subdev >= 0 && setup->do_output) - { - assert( comedi_range_is_chan_specific( setup->dev, setup->da_subdev ) == 0 ); - - num_ao_ranges = comedi_get_n_ranges( setup->dev, setup->da_subdev, 0 ); - if( num_ao_ranges < 0 ) return -1; - - num_ao_channels = comedi_get_n_channels( setup->dev, setup->da_subdev ); - if( num_ao_channels < 0 ) return -1; - }else - num_ao_ranges = num_ao_channels = 0; - for( channel = 0; channel < num_ao_channels; channel++ ) - { - for( range = 0; range < num_ao_ranges; range++ ) - { - current_cal = sc_alloc_calibration_setting( setup ); - generic_prep_dac_caldacs( setup, layout, channel, range ); - generic_do_dac_channel( setup, layout, setup->new_calibration, - current_cal, channel, range ); - } - } - retval = write_calibration_file( setup ); - return retval; -} - -static int dummy_caldac( unsigned int channel ) -{ - return -1; -} -static int dummy_observable( const calibration_setup_t *setup, - unsigned int channel, unsigned int range ) -{ - return -1; -} -void init_generic_layout( generic_layout_t *layout ) -{ - layout->adc_offset = dummy_caldac; - layout->adc_offset_fine = dummy_caldac; - layout->adc_gain = dummy_caldac; - layout->adc_gain_fine = dummy_caldac; - layout->adc_postgain_offset = dummy_caldac; - layout->dac_offset = dummy_caldac; - layout->dac_offset_fine = dummy_caldac; - layout->dac_linearity = dummy_caldac; - layout->dac_linearity_fine = dummy_caldac; - layout->dac_gain = dummy_caldac; - layout->dac_gain_fine = dummy_caldac; - layout->adc_high_observable = dummy_observable; - layout->adc_ground_observable = dummy_observable; - layout->dac_high_observable = dummy_observable; - layout->dac_mid_observable = dummy_observable; - layout->dac_ground_observable = dummy_observable; - layout->adc_fractional_tolerance = INFINITY; - layout->adc_fractional_tolerance = INFINITY; - layout->do_adc_unipolar_postgain = 0; -} diff --git a/comedi_calibrate/calib.h b/comedi_calibrate/calib.h deleted file mode 100644 index b1b7ada..0000000 --- a/comedi_calibrate/calib.h +++ /dev/null @@ -1,289 +0,0 @@ -/*************************************************************************** - * * - * This program is free software; you can redistribute it and/or modify * - * it under the terms of the GNU Lesser General Public License as * - * published by * - * the Free Software Foundation; either version 2.1 of the License, or * - * (at your option) any later version. * - * * - ***************************************************************************/ - -#ifndef __CALIB_H_ -#define __CALIB_H_ - -#include "comedilib.h" -#if 0 -#include -#include -#include -#include -#include -#include -#include -#include -#include -#endif - -#define DPRINT(level,fmt,args...) do{if(verbose>=level)printf(fmt, ## args);}while(0) - -#define N_CALDACS 64 -#define N_OBSERVABLES 128 -#define PREOBSERVE_DATA_LEN 10 - -static const int caldac_settle_usec = 100000; - -typedef struct{ - int subdev; - int chan; - - int maxdata; - int current; - -// int type; -// double gain; -}caldac_t; - -typedef struct{ - char *name; - - comedi_insn preobserve_insn; - lsampl_t preobserve_data[ PREOBSERVE_DATA_LEN ]; - - comedi_insn observe_insn; - - int reference_source; - double target; -}observable; - -typedef struct calibration_setup_struct calibration_setup_t; -struct calibration_setup_struct { - comedi_t *dev; - int ad_subdev; - int da_subdev; - int eeprom_subdev; - int caldac_subdev; - int status; - unsigned int sv_settling_time_ns; - unsigned int sv_order; - observable observables[ N_OBSERVABLES ]; - unsigned int n_observables; - caldac_t caldacs[ N_CALDACS ]; - unsigned int n_caldacs; - int (*do_cal) ( calibration_setup_t *setup ); - char *cal_save_file_path; - unsigned do_output : 1; - comedi_calibration_t *old_calibration; - comedi_calibration_t *new_calibration; - void *private_data; -}; - -extern int verbose; - -enum { - STATUS_UNKNOWN = 0, - STATUS_GUESS, - STATUS_SOME, - STATUS_DONE -}; - -/* high level */ - -void observe( calibration_setup_t *setup ); -int preobserve( calibration_setup_t *setup, int obs); -void observable_dependence( calibration_setup_t *setup, int obs); -void measure_observable( calibration_setup_t *setup, int obs); -void reset_caldac( calibration_setup_t *setup, int caldac_index ); -void reset_caldacs( calibration_setup_t *setup); - -/* drivers */ - -extern char ni_id[]; -extern char cb_id[]; -extern char cb64_id[]; -extern char ni_labpc_id[]; -extern char ni_m_series_id[]; - -int ni_setup( calibration_setup_t*, const char *device_name ); -int cb_setup( calibration_setup_t*, const char *device_name ); -int cb64_setup( calibration_setup_t*, const char *device_name ); -int ni_labpc_setup( calibration_setup_t*, const char *device_name ); -int ni_m_series_setup(calibration_setup_t*, const char *device_name); - -/* low level */ - -void set_target( calibration_setup_t *setup, int obs,double target); -void update_caldac( calibration_setup_t *setup, int caldac_index, int value ); -void setup_caldacs( calibration_setup_t *setup, int caldac_subdev); -void postgain_cal( calibration_setup_t *setup, int obs1, int obs2, int dac); -void cal1( calibration_setup_t *setup, int obs, int dac); -void cal1_fine( calibration_setup_t *setup, int obs, int dac); -void cal_binary( calibration_setup_t *setup, int obs, int dac); -void cal_postgain_binary( calibration_setup_t *setup, int obs1, int obs2, int dac); -void cal_relative_binary( calibration_setup_t *setup, int obs1, int obs2, int dac); -void cal_linearity_binary( calibration_setup_t *setup, int obs1, int obs2, int obs3, int dac); -void peg_binary( calibration_setup_t *setup, int obs, int dac, int maximize ); - -/* misc and temp */ - -void channel_dependence(int adc,int range); -void caldac_dependence(int caldac); -void chan_cal(int adc,int caldac,int range,double target); -int read_eeprom( calibration_setup_t *setup, int addr); - -double read_chan( calibration_setup_t *setup, int adc,int range); -int read_chan2( calibration_setup_t *setup, char *s,int adc,int range); -void set_ao(comedi_t *dev,int subdev,int chan,int range,double value); -void check_gain(int ad_chan,int range); -double check_gain_chan(int ad_chan,int range,int cdac); - -int cb_actual_source_voltage( comedi_t *dev, unsigned int subdevice, - unsigned int eeprom_channel, float *voltage); - -/* helper functions */ - -int get_bipolar_lowgain(comedi_t *dev,int subdev); -int get_bipolar_highgain(comedi_t *dev,int subdev); -int get_unipolar_lowgain(comedi_t *dev,int subdev); -int get_unipolar_highgain(comedi_t *dev,int subdev); -double very_low_target( comedi_t *dev, unsigned int subdevice, - unsigned int channel, unsigned int range ); -int is_bipolar( comedi_t *dev, unsigned int subdevice, - unsigned int channel, unsigned int range ); -int is_unipolar( comedi_t *dev, unsigned int subdevice, - unsigned int channel, unsigned int range ); - -double fractional_offset( calibration_setup_t *setup, int subdevice, - unsigned int channel, unsigned int range, int obs ); -double get_tolerance( calibration_setup_t *setup, int subdevice, - double num_bits ); - -/* other */ - -void comedi_nanodelay(comedi_t *dev, unsigned int delay); - -/* printing scientific numbers */ - -int sci_sprint(char *s,double x,double y); -int sci_sprint_alt(char *s,double x,double y); - -/* linear fitting */ - -typedef struct { - int n; - - double *y_data; - double *yerr_data; - double *x_data; - - double x0; - double dx; - double yerr; - - /* stats */ - double s1,sx,sy,sxy,sxx; - - double min,max; - - /* results */ - double ave_x; - double ave_y; - double slope; - double err_slope; - double err_ave_y; - double S_min; - double dof; - -}linear_fit_t; -int linear_fit_monotonic(linear_fit_t *l); -double linear_fit_func_y(linear_fit_t *l,double x); -double linear_fit_func_x(linear_fit_t *l,double y); -double check_gain_chan_x( calibration_setup_t *setup, linear_fit_t *l,unsigned int ad_chanspec,int cdac); -double check_gain_chan_fine( calibration_setup_t *setup, linear_fit_t *l,unsigned int ad_chanspec,int cdac); -void dump_curve(linear_fit_t *l); - -/* slowly varying measurements */ - -typedef struct{ - comedi_t *dev; - - int maxdata; - int order; - int subd; - unsigned int chanspec; - unsigned int settling_time_ns; - - comedi_range *rng; - - double average; - double stddev; - double error; -}new_sv_t; - -int new_sv_measure(comedi_t *dev, new_sv_t *sv); -int new_sv_init(new_sv_t *sv,comedi_t *dev,int subdev,unsigned int chanspec); -int my_sv_init( new_sv_t *sv, const calibration_setup_t *setup, int subdev, - unsigned int chanspec ); - -/* saving calibrations to file */ -static const int SC_ALL_CHANNELS = -1; -static const int SC_ALL_RANGES = -1; -static const int SC_ALL_AREFS = -1; - -int write_calibration_file( calibration_setup_t *setup ); -comedi_calibration_setting_t* sc_alloc_calibration_setting( calibration_setup_t *setup ); -void sc_push_caldac( comedi_calibration_setting_t *saved_cal, caldac_t caldac ); -void sc_push_channel( comedi_calibration_setting_t *saved_cal, int channel ); -void sc_push_range( comedi_calibration_setting_t *saved_cal, int range ); -void sc_push_aref( comedi_calibration_setting_t *saved_cal, int aref ); - -/* generic calibration support */ -typedef struct -{ - int (*adc_offset)( unsigned int channel ); - int (*adc_offset_fine)( unsigned int channel ); - int (*adc_postgain_offset)( unsigned int channel ); - int (*adc_gain)( unsigned int channel ); - int (*adc_gain_fine)( unsigned int channel ); - int (*dac_linearity)( unsigned int channel ); - int (*dac_linearity_fine)( unsigned int channel ); - int (*dac_offset)( unsigned int channel ); - int (*dac_offset_fine)( unsigned int channel ); - int (*dac_gain)( unsigned int channel ); - int (*dac_gain_fine)( unsigned int channel ); - int (*adc_high_observable)( const calibration_setup_t *setup, - unsigned int channel, unsigned int range ); - int (*adc_ground_observable)( const calibration_setup_t *setup, - unsigned int channel, unsigned int range ); - int (*dac_high_observable)( const calibration_setup_t *setup, - unsigned int channel, unsigned int range ); - int (*dac_mid_observable)( const calibration_setup_t *setup, - unsigned int channel, unsigned int range ); - int (*dac_ground_observable)( const calibration_setup_t *setup, - unsigned int channel, unsigned int range ); - double adc_fractional_tolerance; - double dac_fractional_tolerance; - unsigned do_adc_unipolar_postgain : 1; -} generic_layout_t; -void init_generic_layout( generic_layout_t *layout ); -int generic_cal_by_channel_and_range( calibration_setup_t *setup, - const generic_layout_t *layout ); -int generic_cal_by_range( calibration_setup_t *setup, - const generic_layout_t *layout ); -int generic_cal_ao(calibration_setup_t *setup, - const generic_layout_t *layout ); -void generic_do_cal( calibration_setup_t *setup, - comedi_calibration_setting_t *saved_cal, int observable, int caldac ); -void generic_do_relative( calibration_setup_t *setup, - comedi_calibration_setting_t *saved_cal, int observable1, int observable2, int caldac ); -void generic_do_linearity( calibration_setup_t *setup, - comedi_calibration_setting_t *saved_cal, int observable1, int observable2, - int observable3, int caldac ); -void generic_prep_adc_caldacs( calibration_setup_t *setup, - const generic_layout_t *layout, unsigned int channel, unsigned int range ); -void generic_prep_dac_caldacs( calibration_setup_t *setup, - const generic_layout_t *layout, unsigned int channel, unsigned int range ); -void generic_peg( calibration_setup_t *setup, int observable, int caldac, - int maximize ); - -#endif - diff --git a/comedi_calibrate/cb.c b/comedi_calibrate/cb.c deleted file mode 100644 index edb976b..0000000 --- a/comedi_calibrate/cb.c +++ /dev/null @@ -1,586 +0,0 @@ -/*************************************************************************** - cb.c - calibration support for some Measurement computing boards. - ------------------- - - begin : Sat Apr 27 2002 - copyright : (C) 2002,2003 by Frank Mori Hess - email : fmhess@users.sourceforge.net - - ***************************************************************************/ - -/*************************************************************************** - * * - * This program is free software; you can redistribute it and/or modify * - * it under the terms of the GNU Lesser General Public License as * - * published by * - * the Free Software Foundation; either version 2.1 of the License, or * - * (at your option) any later version. * - * * - ***************************************************************************/ - -#define _GNU_SOURCE - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "calib.h" - - -char cb_id[] = "$Id$"; - -struct board_struct{ - char *name; - int status; - int (*setup)( calibration_setup_t *setup ); -}; - -static int setup_cb_pci_1xxx( calibration_setup_t *setup ); -static int setup_cb_pci_1602_16( calibration_setup_t *setup ); - -static int cal_cb_pci_1xxx( calibration_setup_t *setup ); -static int cal_cb_pci_1602_16( calibration_setup_t *setup ); - -static int init_observables_1xxx( calibration_setup_t *setup ); - -static struct board_struct boards[]={ - { "pci-das1000", STATUS_DONE, setup_cb_pci_1xxx }, - { "pci-das1001", STATUS_GUESS, setup_cb_pci_1xxx }, - { "pci-das1002", STATUS_GUESS, setup_cb_pci_1xxx }, - { "pci-das1200", STATUS_DONE, setup_cb_pci_1xxx }, - { "pci-das1200/jr", STATUS_GUESS, setup_cb_pci_1xxx }, - { "pci-das1602/12", STATUS_GUESS, setup_cb_pci_1xxx }, - { "pci-das1602/16", STATUS_DONE, setup_cb_pci_1602_16 }, - { "pci-das1602/16/jr", STATUS_GUESS, setup_cb_pci_1602_16 }, -}; - -static const int num_boards = ( sizeof(boards) / sizeof(boards[0]) ); - -enum calibration_source_1xxx -{ - CS_1XXX_GROUND = 0, - CS_1XXX_7V = 1, - CS_1002_3500mV = 2, - CS_1002_1750mV = 3, - CS_1001_88600uV = 3, - CS_1XXX_875mV = 4, - CS_1XXX_8600uV = 5, - CS_1602_16_minus_10V = 5, - CS_1XXX_DAC0 = 6, - CS_1XXX_DAC1 = 7, -}; -static inline int CS_1XXX_DAC( unsigned int channel ) -{ - if( channel ) - return CS_1XXX_DAC1; - else - return CS_1XXX_DAC0; -} - -int cb_setup( calibration_setup_t *setup, const char *device_name ) -{ - unsigned int i; - - for( i = 0; i < num_boards; i++ ) - { - if( !strcmp( device_name, boards[i].name ) ) - { - setup->status = boards[i].status; - return boards[i].setup( setup ); - break; - } - } - if( i == num_boards ) return -1; - - return 0; -} - -static int setup_cb_pci_1xxx( calibration_setup_t *setup ) -{ - int retval; - static const int caldac_subdev = 4; - static const int calpot_subdev = 5; - - if( comedi_get_version_code( setup->dev ) <= COMEDI_VERSION_CODE( 0, 7, 66 ) ) - { - DPRINT(0, "WARNING: you need comedi driver version 0.7.67 or later\n" - "for this calibration to work properly\n" ); - } - //this larger delay is definitely needed by pci-das1000, possibly not for pci-das1200 - setup->sv_settling_time_ns = 10000000; - retval = init_observables_1xxx( setup ); - if( retval < 0 ) return retval; - setup_caldacs( setup, caldac_subdev ); - setup_caldacs( setup, calpot_subdev ); - setup->do_cal = cal_cb_pci_1xxx; - return 0; -} - -static int setup_cb_pci_1602_16( calibration_setup_t *setup ) -{ - int retval; - static const int caldac_subdev = 4; - static const int calpot_subdev = 5; - static const int dac08_subdev = 6; - - if( comedi_get_version_code( setup->dev ) <= COMEDI_VERSION_CODE( 0, 7, 66 ) ) - { - DPRINT(0, "WARNING: you need comedi driver version 0.7.67 or later\n" - "for this calibration to work properly\n" ); - } - setup->sv_settling_time_ns = 10000000; - setup->sv_order = 12; - retval = init_observables_1xxx( setup ); - - if( retval < 0 ) return retval; - setup_caldacs( setup, caldac_subdev ); - setup_caldacs( setup, calpot_subdev ); - setup_caldacs( setup, dac08_subdev ); - setup->do_cal = cal_cb_pci_1602_16; - return 0; -} - -static int ai_ground_observable_1xxx( const calibration_setup_t *setup, - unsigned int channel, unsigned int range ) -{ - return 2 * range; -} - -static int ai_high_observable_1xxx( const calibration_setup_t *setup, - unsigned int channel, unsigned int range ) -{ - return ai_ground_observable_1xxx( setup, channel, range ) + 1; -} - -static int ao_ground_observable_1xxx( const calibration_setup_t *setup, - unsigned int channel, unsigned int range ) -{ - int num_ai_ranges, num_ao_ranges; - - num_ai_ranges = comedi_get_n_ranges( setup->dev, setup->ad_subdev, 0 ); - assert( num_ai_ranges > 0 ); - num_ao_ranges = comedi_get_n_ranges( setup->dev, setup->da_subdev, 0 ); - assert( num_ao_ranges > 0 ); - - return 2 * num_ai_ranges + 2 * num_ao_ranges * channel + 2 * range; -} - -static int ao_high_observable_1xxx( const calibration_setup_t *setup, - unsigned int channel, unsigned int range ) -{ - return ao_ground_observable_1xxx( setup, channel, range ) + 1; -} - -static double ai_low_target_1xxx( calibration_setup_t *setup, - unsigned int range ) -{ - if( is_bipolar( setup->dev, setup->ad_subdev, 0, range ) ) - return 0.0; - else - return very_low_target( setup->dev, setup->ad_subdev, 0, range ); -} - -static int source_eeprom_addr_1xxx( calibration_setup_t *setup, unsigned int range_index ) -{ - enum source_eeprom_addr - { - EEPROM_7V_CHAN = 0x80, - EEPROM_3500mV_CHAN = 0x84, - EEPROM_1750mV_CHAN = 0x88, - EEPROM_88600uV_CHAN_1001 = 0x88, - EEPROM_875mV_CHAN = 0x8c, - EEPROM_8600uV_CHAN = 0x90, - }; - comedi_range *range; - - range = comedi_get_range( setup->dev, setup->ad_subdev, 0, range_index ); - if( range == NULL ) return -1; - - if( range->max > 7.0 ) - return EEPROM_7V_CHAN; - else if( range->max > 3.5 ) - return EEPROM_3500mV_CHAN; - else if( range->max > 1.750 ) - return EEPROM_1750mV_CHAN; - else if( range->max > 0.875 ) - return EEPROM_875mV_CHAN; - else if( range->max > .0886 ) - return EEPROM_88600uV_CHAN_1001; - else if( range->max > 0.0086 ) - return EEPROM_8600uV_CHAN; - - return -1; -} - -static int ai_high_cal_source_1xxx( calibration_setup_t *setup, unsigned int range_index ) -{ - comedi_range *range; - - range = comedi_get_range( setup->dev, setup->ad_subdev, 0, range_index ); - if( range == NULL ) return -1; - - if( range->max > 7.0 ) - return CS_1XXX_7V; - else if( range->max > 3.5 ) - return CS_1002_3500mV; - else if( range->max > 1.750 ) - return CS_1002_1750mV; - else if( range->max > 0.875 ) - return CS_1XXX_875mV; - else if( range->max > .0886 ) - return CS_1001_88600uV; - else if( range->max > 0.0086 ) - return CS_1XXX_8600uV; - - return -1; -} - -static int ao_set_high_target_1xxx( calibration_setup_t *setup, unsigned int obs, - unsigned int range_index ) -{ - double target; - comedi_range *range; - - range = comedi_get_range( setup->dev, setup->da_subdev, 0, range_index ); - if( range == NULL ) return -1; - - target = range->max * 0.9; - set_target( setup, obs, target ); - return 0; -} - -static int init_observables_1xxx( calibration_setup_t *setup ) -{ - comedi_insn tmpl, po_tmpl; - observable *o; - int retval, range, num_ai_ranges, num_ao_ranges, - channel, num_channels; - float target; - int ai_for_ao_range; - - setup->n_observables = 0; - - memset( &tmpl, 0, sizeof(tmpl) ); - tmpl.insn = INSN_READ; - tmpl.n = 1; - tmpl.subdev = setup->ad_subdev; - - num_ai_ranges = comedi_get_n_ranges( setup->dev, setup->ad_subdev, 0 ); - if( num_ai_ranges < 0 ) return -1; - - for( range = 0; range < num_ai_ranges; range++ ) - { - o = setup->observables + ai_ground_observable_1xxx( setup, 0, range ); - o->reference_source = CS_1XXX_GROUND; - assert( o->name == NULL ); - asprintf( &o->name, "calibration source %i, range %i, ground referenced", - o->reference_source, range ); - o->observe_insn = tmpl; - o->observe_insn.chanspec = CR_PACK( 0, range, AREF_GROUND) | - CR_ALT_SOURCE | CR_ALT_FILTER; - o->target = ai_low_target_1xxx( setup, range ); - setup->n_observables++; - - o = setup->observables + ai_high_observable_1xxx( setup, 0, range );; - retval = ai_high_cal_source_1xxx( setup, range ); - if( retval < 0 ) return -1; - o->reference_source = retval; - assert( o->name == NULL ); - asprintf( &o->name, "calibration source %i, range %i, ground referenced", - o->reference_source, range ); - o->observe_insn = tmpl; - o->observe_insn.chanspec = CR_PACK( 0, range, AREF_GROUND) | - CR_ALT_SOURCE | CR_ALT_FILTER; - retval = cb_actual_source_voltage( setup->dev, setup->eeprom_subdev, - source_eeprom_addr_1xxx( setup, range ), &target ); - if( retval < 0 ) return -1; - o->target = target; - setup->n_observables++; - } - - if( setup->da_subdev >= 0 ) - { - num_channels = comedi_get_n_channels( setup->dev, setup->da_subdev ); - if( num_channels < 0 ) return -1; - - num_ao_ranges = comedi_get_n_ranges( setup->dev, setup->da_subdev, 0 ); - if( num_ao_ranges < 0 ) return -1; - - memset( &po_tmpl, 0, sizeof(po_tmpl) ); - po_tmpl.insn = INSN_WRITE; - po_tmpl.n = 1; - po_tmpl.subdev = setup->da_subdev; - - ai_for_ao_range = get_bipolar_lowgain( setup->dev, setup->ad_subdev ); - if( ai_for_ao_range < 0 ) return -1; - - for( range = 0; range < num_ao_ranges; range++ ) - { - for( channel = 0; channel < num_channels; channel++ ) - { - o = setup->observables + ao_ground_observable_1xxx( setup, channel, range ); - o->reference_source = CS_1XXX_DAC( channel ); - assert( o->name == NULL ); - asprintf( &o->name, "DAC ground calibration source, ch %i, range %i", - channel, range ); - o->preobserve_insn = po_tmpl; - o->preobserve_insn.chanspec = CR_PACK( channel, range, AREF_GROUND ); - o->preobserve_insn.data = o->preobserve_data; - o->observe_insn = tmpl; - o->observe_insn.chanspec = CR_PACK( 0, ai_for_ao_range, AREF_GROUND) | - CR_ALT_SOURCE | CR_ALT_FILTER; - set_target( setup, ao_ground_observable_1xxx( setup, channel, range ), 0.0 ); - setup->n_observables++; - - o = setup->observables + ao_high_observable_1xxx( setup, channel, range ); - o->reference_source = CS_1XXX_DAC( channel ); - assert( o->name == NULL ); - asprintf( &o->name, "DAC high calibration source, ch %i, range %i", channel, - range ); - o->preobserve_insn = po_tmpl; - o->preobserve_insn.chanspec = CR_PACK( channel , range, AREF_GROUND ); - o->preobserve_insn.data = o->preobserve_data; - o->observe_insn = tmpl; - o->observe_insn.chanspec = CR_PACK( 0, ai_for_ao_range, AREF_GROUND) | - CR_ALT_SOURCE | CR_ALT_FILTER; - ao_set_high_target_1xxx( setup, ao_high_observable_1xxx( setup, channel, range ), - range ); - setup->n_observables++; - } - } - } - - return 0; -} - -enum cal_knobs_1xxx -{ - DAC0_GAIN_FINE_1XXX = 0, - DAC0_GAIN_COARSE_1XXX = 1, - DAC0_OFFSET_1XXX = 2, - DAC1_OFFSET_1XXX = 3, - DAC1_GAIN_FINE_1XXX = 4, - DAC1_GAIN_COARSE_1XXX = 5, - ADC_OFFSET_COARSE_1XXX = 6, - ADC_OFFSET_FINE_1XXX = 7, - ADC_GAIN_1XXX = 8, -}; -static int adc_offset_coarse_1xxx( unsigned int channel ) -{ - return ADC_OFFSET_COARSE_1XXX; -} -static int adc_offset_fine_1xxx( unsigned int channel ) -{ - return ADC_OFFSET_FINE_1XXX; -} -static int adc_gain_1xxx( unsigned int channel ) -{ - return ADC_GAIN_1XXX; -} -static int dac_offset_1xxx( unsigned int channel ) -{ - if( channel ) - return DAC1_OFFSET_1XXX; - else - return DAC0_OFFSET_1XXX; -} -static int dac_gain_fine_1xxx( unsigned int channel ) -{ - if( channel ) - return DAC1_GAIN_FINE_1XXX; - else - return DAC0_GAIN_FINE_1XXX; -} -static int dac_gain_coarse_1xxx( unsigned int channel ) -{ - if( channel ) - return DAC1_GAIN_COARSE_1XXX; - else - return DAC0_GAIN_COARSE_1XXX; -} - -static int cal_cb_pci_1xxx( calibration_setup_t *setup ) -{ - generic_layout_t layout; - - init_generic_layout( &layout ); - layout.adc_gain = adc_gain_1xxx; - layout.adc_offset = adc_offset_coarse_1xxx; - layout.adc_offset_fine = adc_offset_fine_1xxx; - layout.dac_gain = dac_gain_coarse_1xxx; - layout.dac_gain_fine = dac_gain_fine_1xxx; - layout.dac_offset = dac_offset_1xxx; - layout.adc_high_observable = ai_high_observable_1xxx; - layout.adc_ground_observable = ai_ground_observable_1xxx; - layout.dac_high_observable = ao_high_observable_1xxx; - layout.dac_ground_observable = ao_ground_observable_1xxx; - layout.adc_fractional_tolerance = get_tolerance( setup, setup->ad_subdev, 1.0 ); - layout.dac_fractional_tolerance = get_tolerance( setup, setup->da_subdev, 1.0 ); - return generic_cal_by_range( setup, &layout ); -} - -enum cal_knobs_1602_16 -{ - DAC0_GAIN_FINE_1602_16 = 0, - DAC0_GAIN_COARSE_1602_16 = 1, - DAC0_OFFSET_COARSE_1602_16 = 2, - DAC1_OFFSET_COARSE_1602_16 = 3, - DAC1_GAIN_FINE_1602_16 = 4, - DAC1_GAIN_COARSE_1602_16 = 5, - DAC0_OFFSET_FINE_1602_16 = 6, - DAC1_OFFSET_FINE_1602_16 = 7, - ADC_GAIN_1602_16 = 8, - ADC_POSTGAIN_OFFSET_1602_16 = 9, - ADC_PREGAIN_OFFSET_1602_16 = 10, -}; -static int dac_gain_coarse_1602_16( unsigned int channel ) -{ - if( channel ) return DAC1_GAIN_COARSE_1602_16; - else return DAC0_GAIN_COARSE_1602_16; -} -static int dac_gain_fine_1602_16( unsigned int channel ) -{ - if( channel ) return DAC1_GAIN_FINE_1602_16; - else return DAC0_GAIN_FINE_1602_16; -} -static int dac_offset_coarse_1602_16( unsigned int channel ) -{ - if( channel ) return DAC1_OFFSET_COARSE_1602_16; - else return DAC0_OFFSET_COARSE_1602_16; -} -static int dac_offset_fine_1602_16( unsigned int channel ) -{ - if( channel ) return DAC1_OFFSET_FINE_1602_16; - else return DAC0_OFFSET_FINE_1602_16; -} -static int adc_gain_1602_16( unsigned int channel ) -{ - return ADC_GAIN_1602_16; -} -static int adc_pregain_offset_1602_16( unsigned int channel ) -{ - return ADC_PREGAIN_OFFSET_1602_16; -} -static int adc_postgain_offset_1602_16( unsigned int channel ) -{ - return ADC_POSTGAIN_OFFSET_1602_16; -} -static int cal_cb_pci_1602_16( calibration_setup_t *setup ) -{ - generic_layout_t layout; - - init_generic_layout( &layout ); - layout.adc_gain = adc_gain_1602_16; - layout.adc_offset = adc_pregain_offset_1602_16; - layout.adc_postgain_offset = adc_postgain_offset_1602_16; - layout.dac_gain = dac_gain_coarse_1602_16; - layout.dac_gain_fine = dac_gain_fine_1602_16; - layout.dac_offset = dac_offset_coarse_1602_16; - layout.dac_offset_fine = dac_offset_fine_1602_16; - layout.adc_high_observable = ai_high_observable_1xxx; - layout.adc_ground_observable = ai_ground_observable_1xxx; - layout.dac_high_observable = ao_high_observable_1xxx; - layout.dac_ground_observable = ao_ground_observable_1xxx; - layout.adc_fractional_tolerance = get_tolerance( setup, setup->ad_subdev, 1.0 ); - layout.dac_fractional_tolerance = get_tolerance( setup, setup->da_subdev, 1.0 ); - /* The bipolar postgain calibration should be good for both - * bipolar and unipolar ranges, so disable separate - * unipolar postgain offset calibration (it will fail - * horribly anyways if you try it). - */ - layout.do_adc_unipolar_postgain = 0; - return generic_cal_by_range( setup, &layout ); -} - -// converts calibration source voltages from two 16 bit eeprom values to a floating point value -static float eeprom16_to_source( uint16_t *data ) -{ - union translator - { - uint32_t bits; - float value; - }; - - union translator my_translator; - - my_translator.bits = ( data[ 0 ] & 0xffff ) | ( ( data[ 1 ] << 16 ) & 0xffff0000 ); - - return my_translator.value; -} - -static float eeprom8_to_source( uint8_t *data ) -{ - union translator - { - uint32_t bits; - float value; - }; - union translator my_translator; - int i; - - my_translator.bits = 0; - for( i = 0; i < 4; i++ ) - { - my_translator.bits |= ( data[ i ] & 0xffff ) << ( 8 * i ); - } - - return my_translator.value; -} - -int cb_actual_source_voltage( comedi_t *dev, unsigned int subdevice, unsigned int eeprom_channel, float *voltage) -{ - int retval; - unsigned int i; - lsampl_t data; - int max_data; - - max_data = comedi_get_maxdata( dev, subdevice, eeprom_channel ); - - if( max_data == 0xffff ) - { - uint16_t word[ 2 ]; - - for( i = 0; i < 2; i++ ) - { - retval = comedi_data_read( dev, subdevice, eeprom_channel + i, 0, 0, &data ); - if( retval < 0 ) - { - comedi_perror( __FUNCTION__ ); - return retval; - } - word[ i ] = data; - } - *voltage = eeprom16_to_source( word ); - }else if( max_data == 0xff ) - { - uint8_t byte[ 4 ]; - - for( i = 0; i < 4; i++ ) - { - retval = comedi_data_read( dev, subdevice, eeprom_channel + i, 0, 0, &data ); - if( retval < 0 ) - { - comedi_perror( __FUNCTION__ ); - return retval; - } - byte[ i ] = data; - } - *voltage = eeprom8_to_source( byte ); - }else - { - fprintf( stderr, "%s: maxdata = 0x%x invalid for subdevice %i, channel %i\n", - __FUNCTION__, max_data, subdevice, eeprom_channel); - return -1; - } - - DPRINT(1, "eeprom ch 0x%x gives calibration source of %gV\n", eeprom_channel, *voltage); - return 0; -} diff --git a/comedi_calibrate/cb64.c b/comedi_calibrate/cb64.c deleted file mode 100644 index be6fc54..0000000 --- a/comedi_calibrate/cb64.c +++ /dev/null @@ -1,1290 +0,0 @@ -/*************************************************************************** - cb64.c - calibration support for some Measurement computing boards. - ------------------- - - begin : Sat Apr 27 2002 - copyright : (C) 2002,2003 by Frank Mori Hess - email : fmhess@users.sourceforge.net - - ***************************************************************************/ - -/*************************************************************************** - * * - * This program is free software; you can redistribute it and/or modify * - * it under the terms of the GNU Lesser General Public License as * - * published by * - * the Free Software Foundation; either version 2.1 of the License, or * - * (at your option) any later version. * - * * - ***************************************************************************/ - -#define _GNU_SOURCE - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "calib.h" - - -char cb64_id[] = "$Id$"; - -struct board_struct{ - char *name; - int status; - int (*setup)( calibration_setup_t *setup ); -}; - -static int setup_cb_pci_64xx( calibration_setup_t *setup ); -static int setup_cb_pci_60xx( calibration_setup_t *setup ); -static int setup_cb_pci_603x( calibration_setup_t *setup ); -static int setup_cb_pci_6052( calibration_setup_t *setup ); -static int setup_cb_pci_4020( calibration_setup_t *setup ); -static int setup_cb_pci_unknown( calibration_setup_t *setup ); - -static int cal_cb_pci_64xx( calibration_setup_t *setup ); -static int cal_cb_pci_60xx( calibration_setup_t *setup ); -static int cal_cb_pci_6052( calibration_setup_t *setup ); -static int cal_cb_pci_4020( calibration_setup_t *setup ); - -static int init_observables_64xx( calibration_setup_t *setup ); -static int init_observables_60xx( calibration_setup_t *setup ); -static int init_observables_4020( calibration_setup_t *setup ); -static int init_observables_unknown( calibration_setup_t *setup ); - -static struct board_struct boards[]={ - { "pci-das6402/16", STATUS_SOME, setup_cb_pci_64xx }, - { "pci-das6402/12", STATUS_GUESS, setup_cb_pci_64xx }, - { "pci-das64/m1/16", STATUS_GUESS, setup_cb_pci_64xx }, - { "pci-das64/m2/16", STATUS_GUESS, setup_cb_pci_64xx }, - { "pci-das64/m3/16", STATUS_GUESS, setup_cb_pci_64xx }, - { "pci-das6014", STATUS_DONE, setup_cb_pci_60xx }, - { "pci-das6023", STATUS_DONE, setup_cb_pci_60xx }, - { "pci-das6025", STATUS_DONE, setup_cb_pci_60xx }, - { "pci-das6030", STATUS_GUESS, setup_cb_pci_60xx }, - { "pci-das6031", STATUS_GUESS, setup_cb_pci_603x }, - { "pci-das6032", STATUS_GUESS, setup_cb_pci_603x }, - { "pci-das6033", STATUS_GUESS, setup_cb_pci_603x }, - { "pci-das6034", STATUS_DONE, setup_cb_pci_603x }, - { "pci-das6035", STATUS_GUESS, setup_cb_pci_603x }, - { "pci-das6036", STATUS_GUESS, setup_cb_pci_603x }, - { "pci-das6040", STATUS_GUESS, setup_cb_pci_60xx }, - { "pci-das6052", STATUS_GUESS, setup_cb_pci_6052 }, - { "pci-das6070", STATUS_GUESS, setup_cb_pci_60xx }, - { "pci-das6071", STATUS_GUESS, setup_cb_pci_60xx }, - { "pci-das4020/12", STATUS_DONE, setup_cb_pci_4020 }, -}; - -static const int num_boards = ( sizeof(boards) / sizeof(boards[0]) ); - -enum calibration_source_60xx -{ - CS_60XX_GROUND = 0, - CS_60XX_10V = 1, - CS_60XX_5V = 2, - CS_60XX_500mV = 3, - CS_60XX_50mV = 4, - CS_60XX_UNUSED = 5, // 0V - CS_60XX_DAC0 = 6, - CS_60XX_DAC1 = 7, -}; - -enum calibration_source_64xx -{ - CS_64XX_GROUND = 0, - CS_64XX_7V = 1, - CS_64XX_3500mV = 2, - CS_64XX_1750mV = 3, - CS_64XX_875mV = 4, - CS_64XX_8600uV = 5, - CS_64XX_DAC0 = 6, - CS_64XX_DAC1 = 7, -}; - -enum calibration_source_4020 -{ - CS_4020_4375mV = 5, - CS_4020_625mV = 6, - CS_4020_GROUND = 7, -}; - -enum cal_knobs_60xx -{ - DAC0_OFFSET_60XX = 0, - DAC0_GAIN_60XX = 1, - DAC1_OFFSET_60XX = 2, - DAC1_GAIN_60XX = 3, - ADC_OFFSET_FINE_60XX = 4, - ADC_OFFSET_COARSE_60XX = 5, - ADC_GAIN_COARSE_60XX = 6, - ADC_GAIN_FINE_60XX = 7, -}; - -enum cal_knobs_64xx -{ - DAC0_GAIN_FINE_64XX = 0, - DAC0_GAIN_COARSE_64XX = 1, - DAC0_OFFSET_COARSE_64XX = 2, - DAC1_OFFSET_COARSE_64XX = 3, - DAC1_GAIN_FINE_64XX = 4, - DAC1_GAIN_COARSE_64XX = 5, - DAC0_OFFSET_FINE_64XX = 6, - DAC1_OFFSET_FINE_64XX = 7, - ADC_GAIN_64XX = 8, - ADC_OFFSET_64XX = 9, -}; - -enum cal_knobs_6052 // FIXME these values are uneducated guesses -{ - DAC0_GAIN_FINE_6052 = 0, - DAC0_GAIN_COARSE_6052 = 1, - DAC0_OFFSET_COARSE_6052 = 2, - DAC1_OFFSET_COARSE_6052 = 3, - DAC1_GAIN_FINE_6052 = 4, - DAC1_GAIN_COARSE_6052 = 5, - DAC0_OFFSET_FINE_6052 = 6, - DAC1_OFFSET_FINE_6052 = 7, - ADC_GAIN_6052 = 8, - ADC_OFFSET_6052 = 9, -}; - -int cb64_setup( calibration_setup_t *setup, const char *device_name ) -{ - unsigned int i; - - for( i = 0; i < num_boards; i++ ) - { - if( !strcmp( device_name, boards[i].name ) ) - { - setup->status = boards[i].status; - return boards[i].setup( setup ); - break; - } - } - if( i == num_boards ) return -1; - - return 0; -} - -static int setup_cb_pci_64xx( calibration_setup_t *setup ) -{ - static const int caldac_subdev = 6; - static const int calpot_subdev = 7; - - init_observables_64xx( setup ); - setup_caldacs( setup, caldac_subdev ); - setup_caldacs( setup, calpot_subdev ); - setup->do_cal = cal_cb_pci_64xx; - return 0; -} - -static int setup_cb_pci_60xx( calibration_setup_t *setup ) -{ - static const int caldac_subdev = 6; - init_observables_60xx( setup ); - setup_caldacs( setup, caldac_subdev ); - setup->do_cal = cal_cb_pci_60xx; - return 0; -} - -static int setup_cb_pci_603x(calibration_setup_t *setup) -{ - int retval = setup_cb_pci_60xx(setup); - //extra delay not needed by 6023 and 6024, but is needed by 6034 - setup->sv_settling_time_ns = 100000000; - return retval; -} - -static int setup_cb_pci_4020( calibration_setup_t *setup ) -{ - static const int caldac_subdev = 6; - - init_observables_4020( setup ); - setup_caldacs( setup, caldac_subdev ); - setup->do_cal = cal_cb_pci_4020; - return 0; -} - -static int setup_cb_pci_unknown( calibration_setup_t *setup ) -{ - static const int caldac_subdev = 6; - init_observables_unknown( setup ); - setup_caldacs( setup, caldac_subdev ); - setup->do_cal = 0; - return 0; -} - -static int ai_ground_observable_index_64xx( const calibration_setup_t *setup, - unsigned int channel, unsigned int range ) -{ - return 2 * range; -} - -static int ai_high_observable_index_64xx( const calibration_setup_t *setup, - unsigned int channel, unsigned int range ) -{ - return 2 * range + 1; -} - -static int ao_ground_observable_index_64xx( const calibration_setup_t *setup, - unsigned int channel, unsigned int ao_range ) -{ - int num_ai_ranges; - - num_ai_ranges = comedi_get_n_ranges( setup->dev, setup->ad_subdev, 0 ); - assert( num_ai_ranges >= 0 ); - - return 2 * num_ai_ranges + 2 * channel + 4 * ao_range; -} - -static int ao_high_observable_index_64xx( const calibration_setup_t *setup, - unsigned int channel, unsigned int ao_range ) -{ - int num_ai_ranges; - - num_ai_ranges = comedi_get_n_ranges( setup->dev, setup->ad_subdev, 0 ); - assert( num_ai_ranges >= 0 ); - - return 2 * num_ai_ranges + 2 * channel + 4 * ao_range + 1; -} - -static int source_eeprom_addr_64xx( calibration_setup_t *setup, unsigned int range_index ) -{ - enum source_eeprom_addr - { - EEPROM_7V_CHAN = 0x30, - EEPROM_3500mV_CHAN = 0x32, - EEPROM_1750mV_CHAN = 0x34, - EEPROM_875mV_CHAN = 0x36, - EEPROM_8600uV_CHAN = 0x38, - }; - comedi_range *range; - - range = comedi_get_range( setup->dev, setup->ad_subdev, 0, range_index ); - if( range == NULL ) - { - fprintf(stderr, "%s: failed to get range\n", __FUNCTION__); - return -1; - } - if( range->max > 7.0 ) - return EEPROM_7V_CHAN; - else if( range->max > 3.5 ) - return EEPROM_3500mV_CHAN; - else if( range->max > 0.875 ) - return EEPROM_875mV_CHAN; - else if( range->max > 0.0086 ) - return EEPROM_8600uV_CHAN; - - return -1; -} - -static int ai_low_cal_source_64xx( calibration_setup_t *setup, unsigned int range_index ) -{ - comedi_range *range; - - range = comedi_get_range( setup->dev, setup->ad_subdev, 0, range_index ); - if( range == NULL ) - { - fprintf(stderr, "%s: failed to get range\n", __FUNCTION__); - return -1; - } - if( range->min > -0.001 ) - return CS_64XX_8600uV; - else - return CS_64XX_GROUND; -} - -static int ai_high_cal_source_64xx( calibration_setup_t *setup, unsigned int range_index ) -{ - comedi_range *range; - - range = comedi_get_range( setup->dev, setup->ad_subdev, 0, range_index ); - if( range == NULL ) - { - fprintf(stderr, "%s: failed to get range\n", __FUNCTION__); - return -1; - } - if( range->max > 7.0 ) - return CS_64XX_7V; - else if( range->max > 3.5 ) - return CS_64XX_3500mV; - else if( range->max > 0.875 ) - return CS_64XX_875mV; - else if( range->max > 0.0086 ) - return CS_64XX_8600uV; - - return -1; -} - -static int ao_cal_src_64xx( unsigned int channel ) -{ - switch( channel ) - { - case 0: - return CS_64XX_DAC0; - break; - case 1: - return CS_64XX_DAC1; - break; - default: - return -1; - break; - } -} - -static int ao_set_high_target_64xx( calibration_setup_t *setup, unsigned int obs, - unsigned int range_index ) -{ - double target; - comedi_range *range; - - range = comedi_get_range( setup->dev, setup->da_subdev, 0, range_index ); - if( range == NULL ) - { - fprintf(stderr, "%s: failed to get range\n", __FUNCTION__); - return -1; - } - target = range->max * 0.9; - set_target( setup, obs, target ); - return 0; -} - -static int init_observables_64xx( calibration_setup_t *setup ) -{ - comedi_insn tmpl; - observable *o; - int retval; - float target; - int range, num_ai_ranges, num_ao_ranges; - - memset( &tmpl, 0, sizeof(tmpl) ); - tmpl.insn = INSN_READ; - tmpl.n = 1; - tmpl.subdev = setup->ad_subdev; - - num_ai_ranges = comedi_get_n_ranges( setup->dev, setup->ad_subdev, 0 ); - if( num_ai_ranges < 0 ) - { - fprintf(stderr, "%s: failed to get number of ai ranges\n", __FUNCTION__); - return -1; - } - setup->n_observables = 0; - - for( range = 0; range < num_ai_ranges; range++ ) - { - o = setup->observables + ai_ground_observable_index_64xx( setup, 0, range ); - retval = ai_low_cal_source_64xx( setup, range ); - if( retval < 0 ) return -1; - o->reference_source = retval; - assert( o->name == NULL ); - asprintf( &o->name, "calibration source %i, range %i, ground referenced", - o->reference_source, range ); - o->observe_insn = tmpl; - o->observe_insn.chanspec = CR_PACK( 0, range, AREF_GROUND) | CR_ALT_SOURCE | CR_ALT_FILTER; - o->target = 0.0; - setup->n_observables++; - - o = setup->observables + ai_high_observable_index_64xx( setup, 0, range ); - retval = ai_high_cal_source_64xx( setup, range ); - if( retval < 0 ) return -1; - o->reference_source = retval; - assert( o->name == NULL ); - asprintf( &o->name, "calibration source %i, range %i, ground referenced", - o->reference_source, range ); - o->name = "calibration source, 10V bipolar range, ground referenced"; - o->observe_insn = tmpl; - o->observe_insn.chanspec = CR_PACK( 0, range, AREF_GROUND) | CR_ALT_SOURCE | CR_ALT_FILTER; - retval = cb_actual_source_voltage( setup->dev, setup->eeprom_subdev, - source_eeprom_addr_64xx( setup, range ), &target ); - if( retval < 0 ) return -1; - o->target = target; - setup->n_observables++; - } - if( setup->da_subdev >= 0 ) - { - comedi_insn po_tmpl; - - memset( &po_tmpl, 0, sizeof(po_tmpl) ); - po_tmpl.insn = INSN_WRITE; - po_tmpl.n = 1; - po_tmpl.subdev = setup->da_subdev; - - num_ao_ranges = comedi_get_n_ranges( setup->dev, setup->da_subdev, 0 ); - if( num_ao_ranges < 0 ) - { - fprintf(stderr, "%s: failed to get number of ao ranges\n", __FUNCTION__); - return -1; - } - - for( range = 0; range < num_ao_ranges; range++ ) - { - int dac_chan, ai_range; - ai_range = get_bipolar_lowgain( setup->dev, setup->ad_subdev ); - if( ai_range < 0 ) return -1; - - for( dac_chan = 0; dac_chan < 2; dac_chan++ ) - { - o = setup->observables + ao_ground_observable_index_64xx( setup, - dac_chan, range ); - o->reference_source = ao_cal_src_64xx( dac_chan ); - assert( o->name == NULL ); - asprintf( &o->name, "dac%i low, range %i, ground referenced", dac_chan, range ); - o->preobserve_insn = po_tmpl; - o->preobserve_insn.chanspec = CR_PACK( dac_chan, range, AREF_GROUND ); - o->preobserve_insn.data = o->preobserve_data; - o->observe_insn = tmpl; - o->observe_insn.chanspec = CR_PACK( 0, ai_range, AREF_GROUND) | CR_ALT_SOURCE | CR_ALT_FILTER; - set_target( setup, ao_ground_observable_index_64xx( setup, dac_chan, range ), 0.0 ); - setup->n_observables++; - - o = setup->observables + ao_high_observable_index_64xx( setup, dac_chan, range ); - o->reference_source = ao_cal_src_64xx( dac_chan ); - assert( o->name == NULL ); - asprintf( &o->name, "dac%i high, range %i, ground referenced", dac_chan, range ); - o->preobserve_insn = po_tmpl; - o->preobserve_insn.chanspec = CR_PACK( dac_chan, range, AREF_GROUND ); - o->preobserve_insn.data = o->preobserve_data; - o->observe_insn = tmpl; - o->observe_insn.chanspec = CR_PACK( 0, ai_range, AREF_GROUND) | CR_ALT_SOURCE | CR_ALT_FILTER; - retval = ao_set_high_target_64xx( setup, - ao_high_observable_index_64xx( setup, dac_chan, range ), range ); - if( retval < 0 ) return -1; - setup->n_observables++; - } - } - } - - return 0; -} - -static int ai_high_observable_index_60xx( const calibration_setup_t *setup, - unsigned int channel, unsigned int ai_range ) -{ - return ai_range * 2 + 1; -} - -static int ai_ground_observable_index_60xx( const calibration_setup_t *setup, - unsigned int channel, unsigned int ai_range ) -{ - return ai_range * 2; -} - -static int ao_high_observable_index_60xx( const calibration_setup_t *setup, - unsigned int channel, unsigned int ao_range ) -{ - int num_ai_ranges; - - num_ai_ranges = comedi_get_n_ranges( setup->dev, setup->ad_subdev, 0 ); - assert( num_ai_ranges >= 0 ); - - return 2 * num_ai_ranges + 2 * channel + 4 * ao_range + 1; -} - -static int ao_ground_observable_index_60xx( const calibration_setup_t *setup, - unsigned int channel, unsigned int ao_range ) -{ - int num_ai_ranges; - - num_ai_ranges = comedi_get_n_ranges( setup->dev, setup->ad_subdev, 0 ); - assert( num_ai_ranges >= 0 ); - - return 2 * num_ai_ranges + 2 * channel + 4 * ao_range; -} - -static int ai_cal_src_voltage_60xx( calibration_setup_t *setup, - unsigned int calibration_source, float *voltage ) -{ - enum source_eeprom_addr - { - EEPROM_10V_CHAN = 0x30, - EEPROM_5V_CHAN = 0x32, - EEPROM_500mV_CHAN = 0x38, - EEPROM_50mV_CHAN = 0x3e, - EEPROM_8mV_CHAN = 0x40, // bogus? - }; - int retval; - - switch( calibration_source ) - { - case CS_60XX_GROUND: - *voltage = 0.0; - retval = 0; - break; - case CS_60XX_10V: - retval = cb_actual_source_voltage( setup->dev, setup->eeprom_subdev, - EEPROM_10V_CHAN, voltage ); - break; - case CS_60XX_5V: - retval = cb_actual_source_voltage( setup->dev, setup->eeprom_subdev, - EEPROM_5V_CHAN, voltage ); - break; - case CS_60XX_500mV: - retval = cb_actual_source_voltage( setup->dev, setup->eeprom_subdev, - EEPROM_500mV_CHAN, voltage ); - break; - case CS_60XX_50mV: - retval = cb_actual_source_voltage( setup->dev, setup->eeprom_subdev, - EEPROM_50mV_CHAN, voltage ); - break; - default: - fprintf( stderr, "invalid calibration_source in ai_cal_src_voltage_60xx()\n" ); - retval = -1; - break; - } - return retval; -} - -static int high_ai_cal_src_60xx( calibration_setup_t *setup, unsigned int ai_range ) -{ - comedi_range *range; - - range = comedi_get_range( setup->dev, setup->ad_subdev, 0, ai_range ); - if( range == NULL ) - { - fprintf(stderr, "%s: failed to get range\n", __FUNCTION__); - return -1; - } - if( range->max > 9.999 ) - return CS_60XX_10V; - else if( range->max > 4.999 ) - return CS_60XX_5V; - else if( range->max > 0.4999 ) - return CS_60XX_500mV; - else if( range->max > 0.04999 ) - return CS_60XX_50mV; - - return -1; -} - -static int ao_cal_src_60xx( unsigned int channel ) -{ - switch( channel ) - { - case 0: - return CS_60XX_DAC0; - break; - case 1: - return CS_60XX_DAC1; - break; - default: - return -1; - break; - } -} - -static int init_observables_60xx( calibration_setup_t *setup ) -{ - comedi_insn tmpl; - observable *o; - int retval, num_ranges, i; - float target; - enum - { - CAL_SRC_GROUND = 0, - }; - - memset( &tmpl, 0, sizeof(tmpl) ); - tmpl.insn = INSN_READ; - tmpl.n = 1; - tmpl.subdev = setup->ad_subdev; - - setup->n_observables = 0; - - num_ranges = comedi_get_n_ranges( setup->dev, setup->ad_subdev, 0 ); - if( num_ranges < 0 ) - { - fprintf(stderr, "%s: failed to get number of ai ranges\n", __FUNCTION__); - return -1; - } - for( i = 0; i < num_ranges; i++ ) - { - o = setup->observables + ai_ground_observable_index_60xx( setup, 0, i ); - o->reference_source = CAL_SRC_GROUND; - assert( o->name == NULL ); - asprintf( &o->name, "calibration source %i, range %i, ground referenced", - o->reference_source, i ); - o->observe_insn = tmpl; - o->observe_insn.chanspec = CR_PACK( 0, i, AREF_GROUND) | CR_ALT_SOURCE | CR_ALT_FILTER; - o->target = 0.0; - setup->n_observables++; - - o = setup->observables + ai_high_observable_index_60xx( setup, 0, i ); - retval = high_ai_cal_src_60xx( setup, i ); - if( retval < 0 ) return -1; - o->reference_source = retval; - assert( o->name == NULL ); - asprintf( &o->name, "calibration source %i, range %i, ground referenced", - o->reference_source, i ); - o->observe_insn = tmpl; - o->observe_insn.chanspec = CR_PACK( 0, i, AREF_GROUND) | CR_ALT_SOURCE | CR_ALT_FILTER; - retval = ai_cal_src_voltage_60xx( setup, o->reference_source, &target ); - if( retval < 0 ) return -1; - o->target = target; - setup->n_observables++; - } - - if( setup->da_subdev >= 0 ) - { - comedi_insn po_tmpl; - - memset( &po_tmpl, 0, sizeof(po_tmpl) ); - po_tmpl.insn = INSN_WRITE; - po_tmpl.n = 1; - po_tmpl.subdev = setup->da_subdev; - - num_ranges = comedi_get_n_ranges( setup->dev, setup->da_subdev, 0 ); - if( num_ranges < 0 ) - { - fprintf(stderr, "%s: failed to get number of ao ranges\n", __FUNCTION__); - return -1; - } - - for( i = 0; i < num_ranges; i++ ) - { - int dac_chan; - for( dac_chan = 0; dac_chan < 2; dac_chan++ ) - { - o = setup->observables + ao_ground_observable_index_60xx( setup, - dac_chan, i ); - o->reference_source = ao_cal_src_60xx( dac_chan ); - assert( o->name == NULL ); - asprintf( &o->name, "dac%i low, range %i, ground referenced", dac_chan, i ); - o->preobserve_insn = po_tmpl; - o->preobserve_insn.chanspec = CR_PACK( dac_chan, i, AREF_GROUND ); - o->preobserve_insn.data = o->preobserve_data; - o->observe_insn = tmpl; - o->observe_insn.chanspec = CR_PACK( 0, 0, AREF_GROUND) | CR_ALT_SOURCE | CR_ALT_FILTER; - set_target( setup, ao_ground_observable_index_60xx( setup, dac_chan, i ), 0.0 ); - setup->n_observables++; - - o = setup->observables + ao_high_observable_index_60xx( setup, dac_chan, i ); - o->reference_source = ao_cal_src_60xx( dac_chan ); - assert( o->name == NULL ); - asprintf( &o->name, "dac%i high, range %i, ground referenced", dac_chan, i ); - o->preobserve_insn = po_tmpl; - o->preobserve_insn.chanspec = CR_PACK( dac_chan, i, AREF_GROUND ); - o->preobserve_insn.data = o->preobserve_data; - o->observe_insn = tmpl; - o->observe_insn.chanspec = CR_PACK( 0, 0, AREF_GROUND) | CR_ALT_SOURCE | CR_ALT_FILTER; - set_target( setup, ao_high_observable_index_60xx( setup, dac_chan, i ), 9.0 ); - setup->n_observables++; - } - } - } - - return 0; -} - -static int ai_low_observable_index_4020( const calibration_setup_t *setup, - unsigned int channel, unsigned int ai_range ) -{ - return 4 * channel + 2 * ai_range; -} - -static int ai_high_observable_index_4020( const calibration_setup_t *setup, - unsigned int channel, unsigned int ai_range ) -{ - return ai_low_observable_index_4020( setup, channel, ai_range ) + 1; -} - -static int high_ai_cal_src_4020( calibration_setup_t *setup, unsigned int ai_range ) -{ - comedi_range *range; - - range = comedi_get_range( setup->dev, setup->ad_subdev, 0, ai_range ); - if( range == NULL ) - { - fprintf(stderr, "%s: failed to get range\n", __FUNCTION__); - return -1; - } - if( range->max > 4.4 ) - return CS_4020_4375mV; - else if( range->max > 0.7 ) - return CS_4020_625mV; - - return -1; -} - -static int source_eeprom_addr_4020( calibration_setup_t *setup, unsigned int range_index ) -{ - enum source_eeprom_addr - { - EEPROM_4375mV_CHAN = 0x30, - EEPROM_625mV_CHAN = 0x32, - }; - comedi_range *range; - - range = comedi_get_range( setup->dev, setup->ad_subdev, 0, range_index ); - if( range == NULL ) - { - fprintf(stderr, "%s: failed to get range\n", __FUNCTION__); - return -1; - } - if( range->max > 4.4 ) - return EEPROM_4375mV_CHAN; - else if( range->max > 0.7 ) - return EEPROM_625mV_CHAN; - - return -1; -} - -static int init_observables_4020( calibration_setup_t *setup ) -{ - comedi_insn tmpl; - observable *o; - float target; - int retval; - int range, channel, num_ranges, num_channels; - - memset( &tmpl, 0, sizeof(tmpl) ); - tmpl.insn = INSN_READ; - tmpl.n = 1; - tmpl.subdev = setup->ad_subdev; - - num_ranges = comedi_get_n_ranges( setup->dev, setup->ad_subdev, 0 ); - if( num_ranges < 0 ) - { - fprintf(stderr, "%s: failed to get number of ai ranges\n", __FUNCTION__); - return -1; - } - - num_channels = comedi_get_n_channels( setup->dev, setup->ad_subdev ); - if( num_channels < 0 ) - { - fprintf(stderr, "%s: failed to get number of ai channels\n", __FUNCTION__); - return -1; - } - - setup->n_observables = 0; - - for( channel = 0; channel < num_channels; channel++ ) - { - for( range = 0; range < num_ranges; range++ ) - { - o = setup->observables + ai_low_observable_index_4020( setup, channel, range ); - assert( o->name == NULL ); - asprintf( &o->name, "ground calibration source, ch %i, range %i, ground referenced", - channel, range ); - o->reference_source = CS_4020_GROUND; - o->observe_insn = tmpl; - o->observe_insn.chanspec = CR_PACK( channel, range, AREF_GROUND) | CR_ALT_SOURCE | CR_ALT_FILTER; - o->target = 0.0; - setup->n_observables++; - - o = setup->observables + ai_high_observable_index_4020( setup, channel, range ); - retval = high_ai_cal_src_4020( setup, range ); - if( retval < 0 ) return -1; - o->reference_source = retval; - assert( o->name == NULL ); - asprintf( &o->name, "calibration source %i, ch %i, range %i, ground referenced", - o->reference_source, channel, range ); - o->observe_insn = tmpl; - o->observe_insn.chanspec = CR_PACK( channel, range, AREF_GROUND) | CR_ALT_SOURCE | CR_ALT_FILTER; - retval = cb_actual_source_voltage( setup->dev, setup->eeprom_subdev, - source_eeprom_addr_4020( setup, range ), &target ); - if( retval < 0 ) return retval; - o->target = target; - setup->n_observables++; - } - } - - return 0; -} - -static int adc_offset_64xx( unsigned int channel ) -{ - return ADC_OFFSET_64XX; -} -static int adc_gain_64xx( unsigned int channel ) -{ - return ADC_GAIN_64XX; -} -static int dac_gain_coarse_64xx( unsigned int channel ) -{ - if( channel ) return DAC1_GAIN_COARSE_64XX; - else return DAC0_GAIN_COARSE_64XX; -} -static int dac_gain_fine_64xx( unsigned int channel ) -{ - if( channel ) return DAC1_GAIN_FINE_64XX; - else return DAC0_GAIN_FINE_64XX; -} -static int dac_offset_coarse_64xx( unsigned int channel ) -{ - if( channel ) return DAC1_OFFSET_COARSE_64XX; - else return DAC0_OFFSET_COARSE_64XX; -} -static int dac_offset_fine_64xx( unsigned int channel ) -{ - if( channel ) return DAC1_OFFSET_FINE_64XX; - else return DAC0_OFFSET_FINE_64XX; -} -static int cal_cb_pci_64xx( calibration_setup_t *setup ) -{ - generic_layout_t layout; - - init_generic_layout( &layout ); - layout.adc_gain = adc_gain_64xx; - layout.adc_offset = adc_offset_64xx; - layout.dac_gain = dac_gain_coarse_64xx; - layout.dac_gain_fine = dac_gain_fine_64xx; - layout.dac_offset = dac_offset_coarse_64xx; - layout.dac_offset_fine = dac_offset_fine_64xx; - layout.adc_high_observable = ai_high_observable_index_64xx; - layout.adc_ground_observable = ai_ground_observable_index_64xx; - layout.dac_high_observable = ao_high_observable_index_64xx; - layout.dac_ground_observable = ao_ground_observable_index_64xx; - layout.adc_fractional_tolerance = get_tolerance( setup, setup->ad_subdev, 1.0 ); - layout.dac_fractional_tolerance = get_tolerance( setup, setup->da_subdev, 1.0 ); - return generic_cal_by_range( setup, &layout ); -} - -static int adc_gain_coarse_60xx( unsigned int channel ) -{ - return ADC_GAIN_COARSE_60XX; -} -static int adc_gain_fine_60xx( unsigned int channel ) -{ - return ADC_GAIN_FINE_60XX; -} -static int adc_offset_coarse_60xx( unsigned int channel ) -{ - return ADC_OFFSET_COARSE_60XX; -} -static int adc_offset_fine_60xx( unsigned int channel ) -{ - return ADC_OFFSET_FINE_60XX; -} -static int dac_gain_60xx( unsigned int channel ) -{ - if( channel ) return DAC1_GAIN_60XX; - else return DAC0_GAIN_60XX; -} -static int dac_offset_60xx( unsigned int channel ) -{ - if( channel ) return DAC1_OFFSET_60XX; - else return DAC0_OFFSET_60XX; -} -static int cal_cb_pci_60xx( calibration_setup_t *setup ) -{ - generic_layout_t layout; - - init_generic_layout( &layout ); - layout.adc_gain = adc_gain_coarse_60xx; - layout.adc_gain_fine = adc_gain_fine_60xx; - layout.adc_offset = adc_offset_coarse_60xx; - layout.adc_offset_fine = adc_offset_fine_60xx; - layout.dac_gain = dac_gain_60xx; - layout.dac_offset = dac_offset_60xx; - layout.adc_high_observable = ai_high_observable_index_60xx; - layout.adc_ground_observable = ai_ground_observable_index_60xx; - layout.dac_high_observable = ao_high_observable_index_60xx; - layout.dac_ground_observable = ao_ground_observable_index_60xx; - layout.adc_fractional_tolerance = get_tolerance( setup, setup->ad_subdev, 1.0 ); - layout.dac_fractional_tolerance = get_tolerance( setup, setup->da_subdev, 1.0 ); - return generic_cal_by_range( setup, &layout ); -} - -static int adc_offset_4020( unsigned int channel ) -{ - return channel; -} -static int adc_gain_4020( unsigned int channel ) -{ - return 4 + channel; -} - -static int cal_cb_pci_4020( calibration_setup_t *setup ) -{ - generic_layout_t layout; - - init_generic_layout( &layout ); - layout.adc_offset = adc_offset_4020; - layout.adc_gain = adc_gain_4020; - layout.adc_high_observable = ai_high_observable_index_4020; - layout.adc_ground_observable = ai_low_observable_index_4020; - layout.adc_fractional_tolerance = get_tolerance( setup, setup->ad_subdev, 1.0 ); - return generic_cal_by_channel_and_range( setup, &layout ); -} - -static int init_observables_unknown( calibration_setup_t *setup ) -{ - comedi_insn tmpl; - observable *o; - int retval, num_ranges, i; - enum - { - CAL_SRC_GROUND = 0, - }; - static const int num_cal_sources = 16; - static const int range = 0; - - memset( &tmpl, 0, sizeof(tmpl) ); - tmpl.insn = INSN_READ; - tmpl.n = 1; - tmpl.subdev = setup->ad_subdev; - - setup->n_observables = 0; - - num_ranges = comedi_get_n_ranges( setup->dev, setup->ad_subdev, 0 ); - if( num_ranges < 0 ) - { - fprintf(stderr, "%s: failed to get number of ai ranges\n", __FUNCTION__); - return -1; - } - for( i = 0; i < num_cal_sources; i++ ) - { - o = setup->observables + i; - o->reference_source = i; - assert( o->name == NULL ); - asprintf( &o->name, "calibration source %i, range %i, ground referenced", - o->reference_source, range); - o->observe_insn = tmpl; - o->observe_insn.chanspec = CR_PACK( 0, range, AREF_GROUND) | CR_ALT_SOURCE | CR_ALT_FILTER; - o->target = 0.0; - setup->n_observables++; - } - for(i = 0; i < 16; ++i) - { - int eeprom_channel = 0x30 + i; - float voltage; - retval = cb_actual_source_voltage(setup->dev, setup->eeprom_subdev, eeprom_channel, &voltage); - if(retval == 0) - printf("eeprom ch 0x%x gives calibration source of %gV\n", eeprom_channel, voltage); - else - printf("cb_actual_source_voltage returned %i\n", retval); - } - return 0; -} - -/* We were unable to read the onboard calibration reference voltages on the 6052, so we'll just - * load caldac values from eeprom until the problem is resolved somehow. */ - -static int setup_cb_pci_6052( calibration_setup_t *setup ) -{ - if( setup->caldac_subdev < 0 ) - { - fprintf( stderr, "no caldac subdevice found\n"); - return -1; - } - setup->do_cal = &cal_cb_pci_6052; - setup_caldacs(setup, setup->caldac_subdev); - - return 0; -} - - -/* load analog input caldacs from eeprom values (depend on range used) */ -static void grab_ai_calibration_cb_pci_6052(calibration_setup_t *setup, unsigned int range) -{ - comedi_calibration_setting_t *current_cal; - enum source_eeprom_addr - { - EEPROM_5V_CHAN = 0x30, - EEPROM_3500mV_CHAN = 0x32, - EEPROM_1750mV_CHAN = 0x34, - EEPROM_875mV_CHAN = 0x36, - EEPROM_8600uV_CHAN = 0x38, - }; -/* According to Measurement Computing the adc eeprom channels are: -ADC Calibration values -50 BIP10V offset -51 BIP10V gain -52 BIP5V offset -53 BIP5V gain -54 BIP2.5V offset -55 BIP2.5V gain -56 BIP1V offset -57 BIP1V gain -58 BIP0.5V offset -59 BIP0.5V gain -5A BIP0.25V offset -5B BIP0.25V gain -5C BIP0.1V offset -5D BIP0.1V gain -5E BIP50mV offset -5F BIP50mV gain -60 UNI10V offset -61 UNI10V gain -62 UNI5V offset -63 UNI5V gain -64 UNI2.5V offset -65 UNI2.5V gain -66 UNI1V offset -67 UNI1V gain -68 UNI0.5V offset -69 UNI0.5V gain -6A UNI0.25V offset -6B UNI0.25V gain -6C UNI0.1V offset -6D UNI0.1V gain -*/ - int offset_eeprom_channel; - int gain_eeprom_channel; - int value; - const double epsilon = 0.001; - comedi_range *range_ptr = comedi_get_range(setup->dev, setup->ad_subdev, 0, range); - if(range_ptr == NULL) - { - fprintf(stderr, "%s: comedi_get_range returned NULL\n", __FUNCTION__); - abort(); - } - if(is_unipolar(setup->dev, setup->ad_subdev, 0, range) == 0) - { - if(fabs(10. - range_ptr->max) < epsilon) - { - offset_eeprom_channel = 0x50; - gain_eeprom_channel = 0x51; - }else if(fabs(5. - range_ptr->max) < epsilon) - { - offset_eeprom_channel = 0x52; - gain_eeprom_channel = 0x53; - }else if(fabs(2.5 - range_ptr->max) < epsilon) - { - offset_eeprom_channel = 0x54; - gain_eeprom_channel = 0x55; - }else if(fabs(1. - range_ptr->max) < epsilon) - { - offset_eeprom_channel = 0x56; - gain_eeprom_channel = 0x57; - }else if(fabs(0.5 - range_ptr->max) < epsilon) - { - offset_eeprom_channel = 0x58; - gain_eeprom_channel = 0x59; - }else if(fabs(0.25 - range_ptr->max) < epsilon) - { - offset_eeprom_channel = 0x5a; - gain_eeprom_channel = 0x5b; - }else if(fabs(0.1 - range_ptr->max) < epsilon) - { - offset_eeprom_channel = 0x5c; - gain_eeprom_channel = 0x5d; - }else if(fabs(0.5 - range_ptr->max) < epsilon) - { - offset_eeprom_channel = 0x5e; - gain_eeprom_channel = 0x5f; - }else - { - fprintf(stderr, "%s: logic error, failed to determine eeprom channel for range min=%g, max=%g\n", - __FUNCTION__, range_ptr->min, range_ptr->max); - abort(); - } - }else - { - if(fabs(10. - range_ptr->max) < epsilon) - { - offset_eeprom_channel = 0x60; - gain_eeprom_channel = 0x61; - }else if(fabs(5. - range_ptr->max) < epsilon) - { - offset_eeprom_channel = 0x62; - gain_eeprom_channel = 0x63; - }else if(fabs(2.5 - range_ptr->max) < epsilon) - { - offset_eeprom_channel = 0x64; - gain_eeprom_channel = 0x65; - }else if(fabs(1. - range_ptr->max) < epsilon) - { - offset_eeprom_channel = 0x66; - gain_eeprom_channel = 0x67; - }else if(fabs(0.5 - range_ptr->max) < epsilon) - { - offset_eeprom_channel = 0x68; - gain_eeprom_channel = 0x69; - }else if(fabs(0.25 - range_ptr->max) < epsilon) - { - offset_eeprom_channel = 0x6a; - gain_eeprom_channel = 0x6b; - }else if(fabs(0.1 - range_ptr->max) < epsilon) - { - offset_eeprom_channel = 0x6c; - gain_eeprom_channel = 0x6d; - }else - { - fprintf(stderr, "%s: logic error, failed to determine eeprom channel for range min=%g, max=%g\n", - __FUNCTION__, range_ptr->min, range_ptr->max); - abort(); - } - } - current_cal = sc_alloc_calibration_setting(setup); - - /* load offset */ - value = read_eeprom(setup, offset_eeprom_channel); - if(value < 0) - { - fprintf(stderr, "%s: line %i: read_eeprom() returned error\n", __FUNCTION__, __LINE__); - abort(); - } - update_caldac(setup, ADC_OFFSET_6052, value); - sc_push_caldac(current_cal, setup->caldacs[ADC_OFFSET_6052]); - - /* load gain */ - value = read_eeprom(setup, gain_eeprom_channel); - if(value < 0) - { - fprintf(stderr, "%s: line %i: read_eeprom() returned error\n", __FUNCTION__, __LINE__); - abort(); - } - update_caldac(setup, ADC_GAIN_6052, value); - sc_push_caldac(current_cal, setup->caldacs[ADC_GAIN_6052]); - - current_cal->subdevice = setup->ad_subdev; - sc_push_channel(current_cal, SC_ALL_CHANNELS); - sc_push_range(current_cal, range); - sc_push_aref(current_cal, SC_ALL_AREFS); - - DPRINT( 0, "loaded adc range %i calibration from eeprom\n", range ); -} - -static int dac_gain_coarse_6052( unsigned int channel ) -{ - if( channel ) return DAC1_GAIN_COARSE_6052; - else return DAC0_GAIN_COARSE_6052; -} -static int dac_gain_fine_6052( unsigned int channel ) -{ - if( channel ) return DAC1_GAIN_FINE_6052; - else return DAC0_GAIN_FINE_6052; -} -static int dac_offset_coarse_6052( unsigned int channel ) -{ - if( channel ) return DAC1_OFFSET_COARSE_6052; - else return DAC0_OFFSET_COARSE_6052; -} -static int dac_offset_fine_6052( unsigned int channel ) -{ - if( channel ) return DAC1_OFFSET_FINE_6052; - else return DAC0_OFFSET_FINE_6052; -} - -/* load analog output caldacs from eeprom values (depend on range used) */ -static void grab_ao_calibration_cb_pci_6052(calibration_setup_t *setup, - unsigned int channel, unsigned int range) -{ - comedi_calibration_setting_t *current_cal; - int value; - int gain_eeprom_chan; - int offset_eeprom_chan; -/* According to Measurement Computing the dac eeprom channels are: -DAC Calibration values -70 DAC0 BIP10V coarse offset DAC0 BIP10V fine offset -71 DAC0 BIP10V coarse gain DAC0 BIP10V fine gain -72 DAC0 UNI10V coarse offset DAC0 UNI10V fine offset -73 DAC0 UNI10V coarse gain DAC0 UNI10V fine gain -74 DAC1 BIP10V coarse offset DAC1 BIP10V fine offset -75 DAC1 BIP10V coarse gain DAC1 BIP10V fine gain -76 DAC1 UNI10V coarse offset DAC1 UNI10V fine offset -77 DAC1 UNI10V coarse gain DAC1 UNI10V fine gain -*/ - current_cal = sc_alloc_calibration_setting(setup); - - if(is_unipolar(setup->dev, setup->da_subdev, channel, range)) - { - switch(channel) - { - case 0: - offset_eeprom_chan = 0x72; - gain_eeprom_chan = 0x73; - break; - case 1: - offset_eeprom_chan = 0x76; - gain_eeprom_chan = 0x77; - break; - default: - fprintf(stderr, "%s: line %i: logic error\n", __FUNCTION__, __LINE__); - abort(); - break; - } - }else - { - switch(channel) - { - case 0: - offset_eeprom_chan = 0x70; - gain_eeprom_chan = 0x71; - break; - case 1: - offset_eeprom_chan = 0x74; - gain_eeprom_chan = 0x75; - break; - default: - fprintf(stderr, "%s: line %i: logic error\n", __FUNCTION__, __LINE__); - abort(); - break; - } - } - - /* load offset */ - value = read_eeprom(setup, offset_eeprom_chan); - if(value < 0) - { - fprintf(stderr, "%s: line %i: read_eeprom() returned error\n", __FUNCTION__, __LINE__); - abort(); - } - update_caldac(setup, dac_offset_coarse_6052(channel), (value >> 8) & 0xff); - sc_push_caldac(current_cal, setup->caldacs[dac_offset_coarse_6052(channel)]); - update_caldac(setup, dac_offset_fine_6052(channel), value & 0xff); - sc_push_caldac(current_cal, setup->caldacs[dac_offset_fine_6052(channel)]); - - // load gain calibration - value = read_eeprom(setup, gain_eeprom_chan); - if(value < 0) - { - fprintf(stderr, "%s: line %i: read_eeprom() returned error\n", __FUNCTION__, __LINE__); - abort(); - } - update_caldac(setup, dac_gain_coarse_6052(channel), (value >> 8) & 0xff); - sc_push_caldac(current_cal, setup->caldacs[dac_gain_coarse_6052(channel)]); - update_caldac(setup, dac_gain_fine_6052(channel), value & 0xff); - sc_push_caldac(current_cal, setup->caldacs[dac_gain_fine_6052(channel)]); - - current_cal->subdevice = setup->da_subdev; - sc_push_channel(current_cal, channel); - sc_push_range(current_cal, range); - sc_push_aref(current_cal, SC_ALL_AREFS); - - DPRINT( 0, "loaded dac channel %i range %i calibration from eeprom\n", - channel, range ); -} - - -static int cal_cb_pci_6052( calibration_setup_t *setup ) -{ - int range, channel, num_ai_ranges, num_ao_ranges; - - num_ai_ranges = comedi_get_n_ranges(setup->dev, setup->ad_subdev, 0); - if(num_ai_ranges < 0) - { - fprintf(stderr, "%s: line %i: comedi_get_n_ranges() returned error\n", __FUNCTION__, __LINE__); - abort(); - } - num_ao_ranges = comedi_get_n_ranges(setup->dev, setup->da_subdev, 0); - if(num_ao_ranges < 0) - { - fprintf(stderr, "%s: line %i: comedi_get_n_ranges() returned error\n", __FUNCTION__, __LINE__); - abort(); - } - - for(range = 0; range < num_ai_ranges; range++) - grab_ai_calibration_cb_pci_6052(setup, range); - - if(setup->da_subdev >= 0 && setup->do_output) - { - for(channel = 0; channel < 2; channel++) - { - for(range = 0; range < num_ao_ranges; range++) - grab_ao_calibration_cb_pci_6052(setup, channel, range); - } - } - - return write_calibration_file( setup ); -} - diff --git a/comedi_calibrate/comedi_calibrate.c b/comedi_calibrate/comedi_calibrate.c deleted file mode 100644 index cf44471..0000000 --- a/comedi_calibrate/comedi_calibrate.c +++ /dev/null @@ -1,1642 +0,0 @@ -/* - A little auto-calibration utility, for boards - that support it. - - copyright (C) 1999,2000,2001,2002 by David Schleef - copyright (C) 2003 by Frank Mori Hess - - */ - - /*************************************************************************** - * * - * This program is free software; you can redistribute it and/or modify * - * it under the terms of the GNU Lesser General Public License as * - * published by * - * the Free Software Foundation; either version 2.1 of the License, or * - * (at your option) any later version. * - * * - ***************************************************************************/ - -#define _GNU_SOURCE - -#include -#include "comedilib.h" -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "calib.h" - -/* global variables */ -int verbose = 0; - -struct board_struct{ - char *name; - char *id; - int (*init_setup)( calibration_setup_t *setup, const char *device_name ); -}; - -struct board_struct drivers[] = { - { "ni_pcimio", ni_id, ni_setup }, - { "ni_atmio", ni_id, ni_setup }, - { "ni_mio_cs", ni_id, ni_setup }, - { "cb_pcidas", cb_id, cb_setup }, - { "cb_pcidas64", cb64_id, cb64_setup }, - { "ni_labpc", ni_labpc_id, ni_labpc_setup }, -}; -#define n_drivers (sizeof(drivers)/sizeof(drivers[0])) - -void help(void) -{ - printf("comedi_calibrate [options] - autocalibrates a Comedi device\n"); - printf(" --verbose, -v \n"); - printf(" --quiet, -q \n"); - printf(" --help, -h \n"); - printf(" --file, -f [/dev/comediN] \n"); - printf(" --save-file, -S [filepath] \n"); - printf(" --driver-name [driver] \n"); - printf(" --device-name [device] \n"); - printf(" --[no-]reset \n"); - printf(" --[no-]calibrate \n"); - printf(" --[no-]dump \n"); - printf(" --[no-]results \n"); - printf(" --[no-]output \n"); -} - -typedef struct -{ - int verbose; - char *file_path; - char *save_file_path; - char *driver_name; - char *device_name; - int do_reset; - int do_dump; - int do_calibrate; - int do_results; - int do_output; - unsigned int subdevice; - unsigned int channel; - unsigned int range; - unsigned int aref; -} parsed_options_t; - -static void parse_options( int argc, char *argv[], parsed_options_t *settings ) -{ - int c, index; - - struct option options[] = { - { "verbose", 0, 0, 'v' }, - { "quiet", 0, 0, 'q' }, - { "file", 1, 0, 'f' }, - { "save-file", 1, 0, 'S' }, - { "help", 0, 0, 'h' }, - { "driver-name", 1, 0, 0x1000 }, - { "device-name", 1, 0, 0x1001 }, - { "reset", 0, &settings->do_reset, 1 }, - { "no-reset", 0, &settings->do_reset, 0 }, - { "calibrate", 0, &settings->do_calibrate, 1 }, - { "no-calibrate", 0, &settings->do_calibrate, 0 }, - { "dump", 0, &settings->do_dump, 1 }, - { "no-dump", 0, &settings->do_dump, 0 }, - { "results", 0, &settings->do_results, 1 }, - { "no-results", 0, &settings->do_results, 0 }, - { "output", 0, &settings->do_output, 1 }, - { "no-output", 0, &settings->do_output, 0 }, - { "subdevice", 1, 0, 's' }, - { "channel", 1, 0, 'c' }, - { "range", 1, 0, 'r' }, - { "aref", 1, 0, 'a' }, - { 0 }, - }; - - while (1) { - c = getopt_long(argc, argv, "f:S:vqs:c:r:a:", options, &index); - if (c == -1)break; - switch (c) { - case 0: - continue; - case 'h': - help(); - exit(0); - break; - case 'f': - settings->file_path = optarg; - break; - case 'S': - settings->save_file_path = optarg; - break; - case 'v': - settings->verbose++; - break; - case 'q': - settings->verbose--; - break; - case 0x1000: - settings->driver_name = optarg; - break; - case 0x1001: - settings->device_name = optarg; - break; - case 's': - settings->subdevice = strtoul( optarg, NULL, 0 ); - break; - case 'c': - settings->channel = strtoul( optarg, NULL, 0 ); - break; - case 'r': - settings->range = strtoul( optarg, NULL, 0 ); - break; - case 'a': - settings->aref = strtoul( optarg, NULL, 0 ); - break; - default: - help(); - exit(1); - } - } -} - -int main(int argc, char *argv[]) -{ - int i; - struct board_struct *this_board; - int device_status = STATUS_UNKNOWN; - calibration_setup_t setup; - int retval; - parsed_options_t options; - - memset( &setup, 0, sizeof( setup ) ); - setup.sv_settling_time_ns = 99999; - setup.sv_order = 10; - - memset( &options, 0, sizeof( options ) ); - options.do_dump = 0; - options.do_reset = 0; - options.do_calibrate = -1; - options.do_results = 0; - options.do_output = 1; - options.file_path = "/dev/comedi0"; - parse_options( argc, argv, &options ); - verbose = options.verbose; - - setup.dev = comedi_open( options.file_path ); - if( setup.dev == NULL ) { - fprintf( stderr, "comedi_open() failed, with device file name: %s\n", - options.file_path ); - comedi_perror("comedi_open"); - exit(0); - } - - if( options.save_file_path == NULL ) - options.save_file_path = comedi_get_default_calibration_path( setup.dev ); - if(!options.driver_name) - options.driver_name=comedi_get_driver_name( setup.dev ); - if(!options.device_name) - options.device_name=comedi_get_board_name( setup.dev ); - - setup.ad_subdev=comedi_find_subdevice_by_type( setup.dev,COMEDI_SUBD_AI,0); - setup.da_subdev=comedi_find_subdevice_by_type( setup.dev,COMEDI_SUBD_AO,0); - setup.caldac_subdev=comedi_find_subdevice_by_type( setup.dev,COMEDI_SUBD_CALIB,0); - setup.eeprom_subdev=comedi_find_subdevice_by_type( setup.dev,COMEDI_SUBD_MEMORY,0); - - for(i=0;iinit_setup( &setup, options.device_name ); - if( retval < 0 ){ - fprintf(stderr, "init_setup() failed for %s\n", options.device_name ); - return 1; - } - device_status = setup.status; - - if(device_status=0){ - char *s = "$Id$"; - - printf("%.*s\n",(int)strlen(s)-2,s+1); - printf("Driver name: %s\n", options.driver_name); - printf("Device name: %s\n", options.device_name); - printf("%.*s\n",(int)strlen(this_board->id)-2,this_board->id+1); - printf("Comedi version: %d.%d.%d\n", - (comedi_get_version_code(setup.dev)>>16)&0xff, - (comedi_get_version_code(setup.dev)>>8)&0xff, - (comedi_get_version_code(setup.dev))&0xff); - } - - if( options.do_reset == 0 ) - setup.old_calibration = comedi_parse_calibration_file( options.save_file_path ); - else - setup.old_calibration = NULL; - if( options.do_calibrate < 0 ) - { - if( setup.old_calibration ) options.do_calibrate = 0; - else options.do_calibrate = 1; - } - setup.do_output = options.do_output; - setup.cal_save_file_path = options.save_file_path; - - if(options.do_dump) observe( &setup ); - if(options.do_calibrate && setup.do_cal) - { - setup.new_calibration = malloc( sizeof( comedi_calibration_t ) ); - assert( setup.new_calibration ); - memset( setup.new_calibration, 0, sizeof( comedi_calibration_t ) ); - setup.new_calibration->driver_name = strdup( comedi_get_driver_name( setup.dev ) ); - assert( setup.new_calibration->driver_name != NULL ); - setup.new_calibration->board_name = strdup( comedi_get_board_name( setup.dev ) ); - assert( setup.new_calibration->board_name != NULL ); - retval = setup.do_cal( &setup ); - if( retval < 0 ) - { - fprintf( stderr, "calibration function returned error\n" ); - return -1; - } - } - if(options.do_results) observe( &setup ); - - if( setup.old_calibration ) comedi_cleanup_calibration( setup.old_calibration ); - if( setup.new_calibration ) comedi_cleanup_calibration( setup.new_calibration ); - - retval = comedi_apply_calibration( setup.dev, options.subdevice, - options.channel, options.range, options.aref, setup.cal_save_file_path ); - if( retval < 0 ) - { - DPRINT( 0, "Failed to apply " ); - }else - { - DPRINT( 0, "Applied " ); - } - DPRINT( 0, "calibration for subdevice %i, channel %i, range %i, aref %i\n", - options.subdevice, options.channel, options.range, options.aref ); - comedi_close(setup.dev); - - return retval; -} - -void set_target( calibration_setup_t *setup, int obs, double target) -{ - comedi_range *range; - lsampl_t maxdata, data; - - comedi_set_global_oor_behavior( COMEDI_OOR_NUMBER ); - - range = comedi_get_range(setup->dev, - setup->observables[obs].preobserve_insn.subdev, - CR_CHAN( setup->observables[obs].preobserve_insn.chanspec ), - CR_RANGE( setup->observables[obs].preobserve_insn.chanspec )); - assert( range ); - maxdata = comedi_get_maxdata( setup->dev, - setup->observables[obs].preobserve_insn.subdev, - CR_CHAN(setup->observables[obs].preobserve_insn.chanspec)); - assert( maxdata > 0 ); - data = comedi_from_phys(target,range,maxdata); - - setup->observables[obs].preobserve_data[0] = data; - setup->observables[obs].target = comedi_to_phys(data,range,maxdata); -} - -static void apply_appropriate_cal( calibration_setup_t *setup, comedi_insn insn ) -{ - int retval = 0; - - if( setup->new_calibration ) - { - retval = comedi_apply_parsed_calibration( setup->dev, insn.subdev, - CR_CHAN( insn.chanspec ), CR_RANGE( insn.chanspec ), - CR_AREF( insn.chanspec ), setup->new_calibration ); - }else if( setup->old_calibration ) - { - retval = comedi_apply_parsed_calibration( setup->dev, insn.subdev, - CR_CHAN( insn.chanspec ), CR_RANGE( insn.chanspec ), - CR_AREF( insn.chanspec ), setup->old_calibration ); - }else - { - reset_caldacs( setup ); - return; - } - if( retval < 0 ) - DPRINT( 1, "failed to apply "); - else - DPRINT( 1, "applied "); - DPRINT( 1, "calibration for subdev %i, channel %i, range %i, aref %i\n", insn.subdev, - CR_CHAN( insn.chanspec ), CR_RANGE( insn.chanspec ), - CR_AREF( insn.chanspec ) ); -} - -void observe( calibration_setup_t *setup ) -{ - int i; - observable *obs; - - for( i = 0; i < setup->n_observables; i++){ - obs = &setup->observables[ i ]; - if( obs->observe_insn.n == 0 ) continue; - preobserve( setup, i); - DPRINT(0,"%s\n", setup->observables[i].name); - if( obs->preobserve_insn.n != 0){ - apply_appropriate_cal( setup, obs->preobserve_insn ); - } - apply_appropriate_cal( setup, obs->observe_insn ); - measure_observable( setup, i); - if(verbose>=1){ - observable_dependence( setup, i); - } - } -} - -int preobserve( calibration_setup_t *setup, int obs) -{ - int retval; - comedi_insn reference_source_config; - lsampl_t ref_data[ 2 ]; - - // setup reference source - if(setup->observables[obs].reference_source >= 0) - { - memset( &reference_source_config, 0, sizeof(reference_source_config) ); - reference_source_config.insn = INSN_CONFIG; - reference_source_config.n = 2; - reference_source_config.subdev = setup->ad_subdev; - reference_source_config.data = ref_data; - reference_source_config.data[ 0 ] = INSN_CONFIG_ALT_SOURCE; - reference_source_config.data[ 1 ] = setup->observables[obs].reference_source; - - retval = comedi_do_insn( setup->dev, &reference_source_config ); - /* ignore errors for now since older ni driver doesn't - * support reference config insn */ - if( retval < 0 ) - perror("preobserve() ignoring reference config error" ); - } - retval = 0; - - if( setup->observables[obs].preobserve_insn.n != 0){ - retval = comedi_do_insn( setup->dev, &setup->observables[obs].preobserve_insn); - } - if( retval < 0 ) - perror("preobserve()"); - - return retval; -} - -void measure_observable( calibration_setup_t *setup, int obs) -{ - char s[32]; - int n; - new_sv_t sv; - - my_sv_init(&sv, setup, - setup->observables[obs].observe_insn.subdev, - setup->observables[obs].observe_insn.chanspec); - n = new_sv_measure(setup->dev, &sv); - - sci_sprint_alt(s,sv.average,sv.error); - DPRINT(0,"reading %s, target %g\n",s, setup->observables[obs].target); - assert( isnan( setup->observables[obs].target) == 0 ); -} - -void observable_dependence(calibration_setup_t *setup, int obs) -{ - int i; - linear_fit_t l; - - for( i = 0; i < setup->n_caldacs; i++){ - check_gain_chan_x( setup, &l, - setup->observables[obs].observe_insn.chanspec, i); - } - -} - - -void postgain_cal( calibration_setup_t *setup, int obs1, int obs2, int dac) -{ - double offset1,offset2; - linear_fit_t l; - double slope1,slope2; - double a; - double gain; - comedi_range *range1,*range2; - - DPRINT(0,"postgain: %s; %s\n", setup->observables[obs1].name, - setup->observables[obs2].name); - preobserve(setup, obs1); - check_gain_chan_x( setup, &l, setup->observables[obs1].observe_insn.chanspec, dac); - offset1=linear_fit_func_y(&l, setup->caldacs[dac].current); - DPRINT(2,"obs1: [%d] offset %g\n",obs1,offset1); - range1 = comedi_get_range(setup->dev, setup->observables[obs1].observe_insn.subdev, - CR_CHAN( setup->observables[obs1].observe_insn.chanspec), - CR_RANGE( setup->observables[obs1].observe_insn.chanspec)); - slope1=l.slope; - - preobserve( setup, obs2); - check_gain_chan_x( setup, &l, setup->observables[obs2].observe_insn.chanspec,dac); - offset2=linear_fit_func_y(&l, setup->caldacs[dac].current); - DPRINT(2,"obs2: [%d] offset %g\n",obs2,offset2); - range2 = comedi_get_range(setup->dev, setup->observables[obs2].observe_insn.subdev, - CR_CHAN( setup->observables[obs2].observe_insn.chanspec), - CR_RANGE( setup->observables[obs2].observe_insn.chanspec)); - slope2=l.slope; - - gain = (range1->max-range1->min)/(range2->max-range2->min); - DPRINT(4,"range1 %g range2 %g\n", range1->max-range1->min, - range2->max-range2->min); - DPRINT(3,"gain: %g\n",gain); - - DPRINT(3,"difference: %g\n",offset2-offset1); - - a = (offset1-offset2)/(slope1-slope2); - a=setup->caldacs[dac].current-a; - - update_caldac( setup, dac, rint(a) ); - usleep(caldac_settle_usec); - - DPRINT(0,"caldac[%d] set to %g (%g)\n",dac,rint(a),a); - - if(verbose>=2){ - preobserve( setup, obs1); - measure_observable( setup, obs1); - preobserve( setup, obs2); - measure_observable( setup, obs2); - } -} - -void cal1( calibration_setup_t *setup, int obs, int dac) -{ - linear_fit_t l; - double a; - - DPRINT(0,"linear: %s\n", setup->observables[obs].name); - preobserve( setup, obs); - check_gain_chan_x( setup, &l, setup->observables[obs].observe_insn.chanspec,dac); - a=linear_fit_func_x(&l, setup->observables[obs].target); - - update_caldac( setup, dac, rint(a) ); - usleep(caldac_settle_usec); - - DPRINT(0,"caldac[%d] set to %g (%g)\n",dac,rint(a),a); - if(verbose>=3){ - measure_observable( setup, obs); - } -} - -void cal1_fine( calibration_setup_t *setup, int obs, int dac ) -{ - linear_fit_t l; - double a; - - DPRINT(0,"linear fine: %s\n", setup->observables[obs].name); - preobserve( setup, obs); - check_gain_chan_fine( setup, &l, setup->observables[obs].observe_insn.chanspec,dac); - a=linear_fit_func_x(&l,setup->observables[obs].target); - - update_caldac( setup, dac, rint(a) ); - usleep(caldac_settle_usec); - - DPRINT(0,"caldac[%d] set to %g (%g)\n",dac,rint(a),a); - if(verbose>=3){ - measure_observable( setup, obs); - } -} - -void peg_binary( calibration_setup_t *setup, int obs, int dac, int maximize ) -{ - int x0, x1, x; - double y0, y1; - new_sv_t sv; - unsigned int chanspec = setup->observables[obs].observe_insn.chanspec; - int polarity; - - DPRINT(0,"binary peg: %s\n", setup->observables[obs].name); - preobserve( setup, obs); - - comedi_set_global_oor_behavior( COMEDI_OOR_NUMBER ); - - my_sv_init(&sv, setup, setup->ad_subdev, chanspec); - - x0 = setup->caldacs[dac].maxdata; - update_caldac( setup, dac, x0 ); - usleep(caldac_settle_usec); - new_sv_measure( setup->dev, &sv); - y0 = sv.average; - - x1 = 0; - update_caldac( setup, dac, x1 ); - usleep(caldac_settle_usec); - new_sv_measure( setup->dev, &sv); - y1 = sv.average; - - if( (y0 - y1) > 0.0 ) polarity = 1; - else polarity = -1; - - if( maximize ) - { - if( polarity > 0 ) x = x0; - else x = x1; - }else - { - if( polarity > 0 ) x = x1; - else x = x0; - } - update_caldac( setup, dac, x ); - DPRINT(0,"caldac[%d] set to %d\n",dac,x); - if(verbose>=3){ - measure_observable( setup, obs); - } -} - -void cal_binary( calibration_setup_t *setup, int obs, int dac) -{ - int x0, x1, x2, x; - unsigned int bit; - double y0, y1, y2; - new_sv_t sv; - double target = setup->observables[obs].target; - unsigned int chanspec = setup->observables[obs].observe_insn.chanspec; - int polarity; - - DPRINT(0,"binary: %s\n", setup->observables[obs].name); - preobserve( setup, obs); - - comedi_set_global_oor_behavior( COMEDI_OOR_NUMBER ); - - my_sv_init(&sv, setup, setup->ad_subdev, chanspec); - - x0 = setup->caldacs[dac].maxdata; - update_caldac( setup, dac, x0 ); - usleep(caldac_settle_usec); - new_sv_measure( setup->dev, &sv); - y0 = sv.average; - - x1 = x2 = 0; - update_caldac( setup, dac, x1 ); - usleep(caldac_settle_usec); - new_sv_measure( setup->dev, &sv); - y1 = y2 = sv.average; - - if( (y0 - y1) > 0.0 ) polarity = 1; - else polarity = -1; - - bit = 1; - while( ( bit << 1 ) < setup->caldacs[dac].maxdata ) - bit <<= 1; - for( ; bit; bit >>= 1 ){ - x2 = x1 | bit; - - update_caldac( setup, dac, x2 ); - usleep(caldac_settle_usec); - new_sv_measure( setup->dev, &sv); - y2 = sv.average; - DPRINT(3,"trying %d, result %g, target %g\n",x2,y2,target); - - if( (y2 - target) * polarity < 0.0 ){ - x1 = x2; - y1 = y2; - } - - if(verbose>=3){ - measure_observable( setup, obs); - } - } - - // get that least signficant bit right - if( fabs( y1 - target ) < fabs( y2 - target ) ) - x = x1; - else x = x2; - - update_caldac( setup, dac, x ); - DPRINT(0,"caldac[%d] set to %d\n",dac,x); - if( x >= setup->caldacs[dac].maxdata || x <= 0 ) - DPRINT(0,"WARNING: caldac[%d] pegged!\n", dac ); - if(verbose>=3){ - measure_observable( setup, obs); - } -} - -void cal_postgain_binary( calibration_setup_t *setup, int obs1, int obs2, int dac) -{ - cal_relative_binary( setup, obs1, obs2, dac ); -} - -void cal_relative_binary( calibration_setup_t *setup, int obs1, int obs2, int dac) -{ - int x0, x1, x2, x, polarity; - double y0, y1, y2; - new_sv_t sv1, sv2; - double target = setup->observables[obs1].target - setup->observables[obs2].target; - unsigned int chanspec1 = setup->observables[obs1].observe_insn.chanspec; - unsigned int chanspec2 = setup->observables[obs2].observe_insn.chanspec; - unsigned int bit; - - DPRINT(0,"relative binary: %s, %s\n", setup->observables[obs1].name, - setup->observables[obs2].name); - - comedi_set_global_oor_behavior( COMEDI_OOR_NUMBER ); - - x0 = setup->caldacs[dac].maxdata; - update_caldac( setup, dac, x0 ); - usleep(caldac_settle_usec); - preobserve( setup, obs1); - my_sv_init(&sv1, setup, setup->ad_subdev,chanspec1); - new_sv_measure( setup->dev, &sv1); - - preobserve( setup, obs2); - my_sv_init(&sv2, setup, setup->ad_subdev,chanspec2); - new_sv_measure( setup->dev, &sv2); - y0 = sv1.average - sv2.average; - - x1 = x2 = 0; - update_caldac( setup, dac, x1 ); - usleep(caldac_settle_usec); - preobserve( setup, obs1); - new_sv_measure( setup->dev, &sv1); - - preobserve( setup, obs2); - new_sv_measure( setup->dev, &sv2); - y1 = y2 = sv1.average - sv2.average; - - if( (y0 - y1) > 0.0 ) polarity = 1; - else polarity = -1; - - bit = 1; - while( ( bit << 1 ) < setup->caldacs[dac].maxdata ) - bit <<= 1; - for( ; bit; bit >>= 1 ) - { - x2 = x1 | bit; - - update_caldac( setup, dac, x2 ); - usleep(caldac_settle_usec); - - preobserve( setup, obs1); - new_sv_measure( setup->dev, &sv1); - - preobserve( setup, obs2); - new_sv_measure( setup->dev, &sv2); - y2 = sv1.average - sv2.average; - - DPRINT(3,"trying %d, result %g, target %g\n",x2,y2,target); - - if( (y2 - target) * polarity < 0.0 ){ - x1 = x2; - y1 = y2; - } - - if(verbose>=3){ - preobserve( setup, obs1); - measure_observable( setup, obs1); - preobserve( setup, obs2); - measure_observable( setup, obs2); - } - } - - if( fabs( y1 - target ) < fabs( y2 - target ) ) - x = x1; - else - x = x2; - update_caldac( setup, dac, x ); - DPRINT(0,"caldac[%d] set to %d\n",dac,x); - if( x >= setup->caldacs[dac].maxdata || x <= 0 ) - DPRINT(0,"WARNING: caldac[%d] pegged!\n", dac ); - if(verbose>=3){ - preobserve( setup, obs1); - measure_observable( setup, obs1); - preobserve( setup, obs2); - measure_observable( setup, obs2); - } -} - -void cal_linearity_binary( calibration_setup_t *setup, int obs1, int obs2, int obs3, int dac) -{ - int x0, x1, x2, x, polarity; - double y0, y1, y2; - new_sv_t sv1, sv2, sv3; - double target = ( setup->observables[obs3].target - setup->observables[obs2].target ) / - ( setup->observables[obs2].target - setup->observables[obs1].target ); - unsigned int chanspec1 = setup->observables[obs1].observe_insn.chanspec; - unsigned int chanspec2 = setup->observables[obs2].observe_insn.chanspec; - unsigned int chanspec3 = setup->observables[obs3].observe_insn.chanspec; - unsigned int bit; - - DPRINT(0,"linearity binary: %s,\n%s,\n%s\n", setup->observables[obs1].name, - setup->observables[obs2].name,setup->observables[obs3].name); - - comedi_set_global_oor_behavior( COMEDI_OOR_NUMBER ); - - x0 = setup->caldacs[dac].maxdata; - update_caldac( setup, dac, x0 ); - usleep(caldac_settle_usec); - - preobserve( setup, obs1); - my_sv_init(&sv1, setup, setup->ad_subdev,chanspec1); - new_sv_measure( setup->dev, &sv1); - - preobserve( setup, obs2); - my_sv_init(&sv2, setup, setup->ad_subdev,chanspec2); - new_sv_measure( setup->dev, &sv2); - - preobserve( setup, obs3); - my_sv_init(&sv3, setup, setup->ad_subdev,chanspec3); - new_sv_measure( setup->dev, &sv3); - - y0 = ( sv3.average - sv2.average ) / ( sv2.average - sv1.average ); - - x1 = x2 = 0; - update_caldac( setup, dac, x1 ); - usleep(caldac_settle_usec); - - preobserve( setup, obs1); - new_sv_measure( setup->dev, &sv1); - - preobserve( setup, obs2); - new_sv_measure( setup->dev, &sv2); - - preobserve( setup, obs3); - new_sv_measure( setup->dev, &sv3); - - y1 = y2 = ( sv3.average - sv2.average ) / ( sv2.average - sv1.average ); - - if( (y0 - y1) > 0.0 ) polarity = 1; - else polarity = -1; - - bit = 1; - while( ( bit << 1 ) < setup->caldacs[dac].maxdata ) - bit <<= 1; - for( ; bit; bit >>= 1 ) - { - x2 = x1 | bit; - - update_caldac( setup, dac, x2 ); - usleep(caldac_settle_usec); - - preobserve( setup, obs1); - new_sv_measure( setup->dev, &sv1); - - preobserve( setup, obs2); - new_sv_measure( setup->dev, &sv2); - - preobserve( setup, obs3); - new_sv_measure( setup->dev, &sv3); - - y2 = ( sv3.average - sv2.average ) / ( sv2.average - sv1.average ); - - DPRINT(3,"trying %d, result %g, target %g\n",x2,y2,target); - - if( (y2 - target) * polarity < 0.0 ){ - x1 = x2; - y1 = y2; - } - - if(verbose>=3){ - preobserve( setup, obs1); - measure_observable( setup, obs1); - preobserve( setup, obs2); - measure_observable( setup, obs2); - preobserve( setup, obs3); - measure_observable( setup, obs3); - } - } - - if( fabs( y1 - target ) < fabs( y2 - target ) ) - x = x1; - else - x = x2; - update_caldac( setup, dac, x ); - DPRINT(0,"caldac[%d] set to %d\n",dac,x); - if( x >= setup->caldacs[dac].maxdata || x <= 0 ) - DPRINT(0,"WARNING: caldac[%d] pegged!\n", dac ); - if(verbose>=3){ - preobserve( setup, obs1); - measure_observable( setup, obs1); - preobserve( setup, obs2); - measure_observable( setup, obs2); - preobserve( setup, obs3); - measure_observable( setup, obs3); - } -} - -#if 0 -void chan_cal(int adc,int cdac,int range,double target) -{ - linear_fit_t l; - double offset; - double gain; - double a; - char s[32]; - - check_gain_chan_x(&l,CR_PACK(adc,range,AREF_OTHER),cdac); - offset=linear_fit_func_y(&l,caldacs[cdac].current); - gain=l.slope; - - a=caldacs[cdac].current+(target-offset)/gain; - - update_caldac( setup, cdac, rint(a)); - - read_chan2(s,adc,range); - DPRINT(1,"caldac[%d] set to %g, offset=%s\n",cdac,a,s); -} -#endif - - -#if 0 -void channel_dependence(int adc,int range) -{ - int i; - double gain; - - for(i=0;idev, caldac_subdev ); - assert(n_chan >= 0); - assert(setup->n_caldacs + n_chan < N_CALDACS); - - for(i = 0; i < n_chan; i++){ - setup->caldacs[ setup->n_caldacs + i ].subdev = caldac_subdev; - setup->caldacs[ setup->n_caldacs + i ].chan = i; - setup->caldacs[ setup->n_caldacs + i ].maxdata = comedi_get_maxdata(setup->dev, caldac_subdev, i); - assert(setup->caldacs[ setup->n_caldacs + i ].maxdata > 0); - setup->caldacs[ setup->n_caldacs + i ].current=0; - } - - setup->n_caldacs += n_chan; -} - -void reset_caldac( calibration_setup_t *setup, int caldac_index ) -{ - if( caldac_index < 0 ) return; - assert( caldac_index < setup->n_caldacs ); - update_caldac( setup, caldac_index, setup->caldacs[ caldac_index ].maxdata / 2 ); -} - -void reset_caldacs( calibration_setup_t *setup ) -{ - int i; - - for( i = 0; i < setup->n_caldacs; i++){ - reset_caldac( setup, i ); - } -} - -void update_caldac( calibration_setup_t *setup, int caldac_index, - int value ) -{ - int ret; - caldac_t *dac; - - if( caldac_index < 0 ) return; - if( caldac_index > setup->n_caldacs ) - { - fprintf( stderr, "invalid caldac index\n" ); - return; - } - dac = &setup->caldacs[ caldac_index ]; - dac->current = value; - DPRINT(4,"update %d %d %d\n", dac->subdev, dac->chan, dac->current); - if( dac->current < 0 ){ - DPRINT(1,"caldac set out of range (%d<0)\n", dac->current); - dac->current = 0; - } - if( dac->current > dac->maxdata ){ - DPRINT(1,"caldac set out of range (%d>%d)\n", - dac->current, dac->maxdata); - dac->current = dac->maxdata; - } - - ret = comedi_data_write( setup->dev, dac->subdev, dac->chan, 0, 0, - dac->current); - if(ret < 0) perror("update_caldac()"); -} - -#if 0 -void check_gain(int ad_chan,int range) -{ - int i; - - for(i=0;icaldacs[cdac].maxdata+1; - memset(l,0,sizeof(*l)); - - step=n/16; - if(step<1)step=1; - l->n=0; - - l->y_data=malloc(n*sizeof(double)/step); - if(l->y_data == NULL) - { - perror( __FUNCTION__ ); - exit(1); - } - - orig = setup->caldacs[cdac].current; - - my_sv_init(&sv, setup, setup->ad_subdev,ad_chanspec); - - update_caldac( setup, cdac, 0 ); - usleep(caldac_settle_usec); - - new_sv_measure( setup->dev, &sv); - - sum_err=0; - for(i=0;i*stepdev, &sv); - - l->y_data[i]=sv.average; - if(!isnan(sv.average)){ - sum_err+=sv.error; - sum_err_count++; - } - l->n++; - } - - update_caldac( setup, cdac, orig ); - - l->yerr=sum_err/sqrt(sum_err_count); - l->dx=step; - l->x0=0; - - linear_fit_monotonic(l); - - if(verbose>=2 || (verbose>=1 && fabs(l->slope/l->err_slope)>4.0)){ - sci_sprint_alt(str,l->slope,l->err_slope); - printf("caldac[%d] gain=%s V/bit S_min=%g dof=%g\n", - cdac,str,l->S_min,l->dof); - //printf("--> %g\n",fabs(l.slope/l.err_slope)); - } - - if(verbose>=3)dump_curve(l); - - free(l->y_data); - - return l->slope; -} - - -double check_gain_chan_fine( calibration_setup_t *setup, linear_fit_t *l,unsigned int ad_chanspec,int cdac) -{ - int orig,i,n; - int step; - new_sv_t sv; - double sum_err; - int sum_err_count=0; - char str[20]; - int fine_size = 10; - - n=2*fine_size+1; - memset(l,0,sizeof(*l)); - - step=1; - l->n=0; - - l->y_data=malloc(n*sizeof(double)/step); - if(l->y_data == NULL) - { - perror( __FUNCTION__ ); - exit(1); - } - - orig = setup->caldacs[cdac].current; - - my_sv_init(&sv, setup, setup->ad_subdev,ad_chanspec); - - update_caldac( setup, cdac, 0 ); - usleep(caldac_settle_usec); - - new_sv_measure( setup->dev, &sv); - - sum_err=0; - for(i=0;idev, &sv); - - l->y_data[i]=sv.average; - if(!isnan(sv.average)){ - sum_err+=sv.error; - sum_err_count++; - } - l->n++; - } - - update_caldac( setup, cdac, orig ); - - l->yerr=sum_err/sqrt(sum_err_count); - l->dx=1; - l->x0=orig-fine_size; - - linear_fit_monotonic(l); - - if(verbose>=2 || (verbose>=1 && fabs(l->slope/l->err_slope)>4.0)){ - sci_sprint_alt(str,l->slope,l->err_slope); - printf("caldac[%d] gain=%s V/bit S_min=%g dof=%g\n", - cdac,str,l->S_min,l->dof); - //printf("--> %g\n",fabs(l.slope/l.err_slope)); - } - - if(verbose>=3)dump_curve(l); - - free(l->y_data); - - return l->slope; -} - - - -/* helpers */ - -int is_unipolar( comedi_t *dev, unsigned int subdevice, - unsigned int channel, unsigned int range ) -{ - comedi_range *range_ptr; - - range_ptr = comedi_get_range( dev, subdevice, channel, range ); - assert( range_ptr != NULL ); - /* This method is better than a direct test, which might fail */ - if( fabs( range_ptr->min ) < fabs( range_ptr->max * 0.001 ) ) - return 1; - else - return 0; -} - -int is_bipolar( comedi_t *dev, unsigned int subdevice, - unsigned int channel, unsigned int range ) -{ - comedi_range *range_ptr; - - range_ptr = comedi_get_range( dev, subdevice, channel, range ); - assert( range_ptr != NULL ); - /* This method is better than a direct test, which might fail */ - if( fabs( range_ptr->max + range_ptr->min ) < fabs( range_ptr->max * 0.001 ) ) - return 1; - else - return 0; -} - -int get_bipolar_lowgain(comedi_t *dev,int subdev) -{ - int ret = -1; - int i; - int n_ranges = comedi_get_n_ranges(dev,subdev,0); - double max = 0; - comedi_range *range; - - for(i=0;iunit == UNIT_none ) continue; - if(range->max>max){ - ret = i; - max=range->max; - } - } - - return ret; -} - -int get_bipolar_highgain(comedi_t *dev,int subdev) -{ - int ret = -1; - int i; - int n_ranges = comedi_get_n_ranges(dev,subdev,0); - double min = HUGE_VAL; - comedi_range *range; - - for(i=0;iunit == UNIT_none ) continue; - if(range->maxmax; - } - } - - return ret; -} - -int get_unipolar_lowgain(comedi_t *dev,int subdev) -{ - int ret = -1; - int i; - int n_ranges = comedi_get_n_ranges(dev,subdev,0); - double max = 0.0; - comedi_range *range; - - for(i=0;iunit == UNIT_none ) continue; - if(range->max>max){ - ret = i; - max=range->max; - } - } - - return ret; -} - -int get_unipolar_highgain(comedi_t *dev,int subdev) -{ - int ret = -1; - int i; - int n_ranges = comedi_get_n_ranges(dev,subdev,0); - double max = HUGE_VAL; - comedi_range *range; - - for(i=0;iunit == UNIT_none ) continue; - if(range->max < max){ - ret = i; - max=range->max; - } - } - - return ret; -} - -int read_eeprom( calibration_setup_t *setup, int addr) -{ - lsampl_t data = 0; - int retval; - - retval = comedi_data_read( setup->dev, setup->eeprom_subdev, addr,0,0,&data); - if( retval < 0 ) - { - perror( "read_eeprom()" ); - return retval; - } - - return data; -} - -double read_chan( calibration_setup_t *setup, int adc,int range) -{ - int n; - new_sv_t sv; - char str[20]; - - my_sv_init(&sv, setup, setup->ad_subdev,CR_PACK(adc,range,AREF_OTHER)); - - n=new_sv_measure( setup->dev, &sv); - - sci_sprint_alt(str,sv.average,sv.error); - printf("chan=%d ave=%s\n",adc,str); - - return sv.average; -} - -int read_chan2( calibration_setup_t *setup, char *s,int adc,int range) -{ - int n; - new_sv_t sv; - - my_sv_init(&sv, setup, setup->ad_subdev,CR_PACK(adc,range,AREF_OTHER)); - - n=new_sv_measure( setup->dev, &sv); - - return sci_sprint_alt(s,sv.average,sv.error); -} - -#if 0 -void set_ao(comedi_t *dev,int subdev,int chan,int range,double value) -{ - comedi_range *r = comedi_get_range(dev,subdev,chan,range); - lsampl_t maxdata = comedi_get_maxdata(dev,subdev,chan); - lsampl_t data; - - data = comedi_from_phys(value,r,maxdata); - - comedi_data_write(dev,subdev,chan,range,AREF_GROUND,data); -} -#endif - -int my_sv_init( new_sv_t *sv, const calibration_setup_t *setup, int subdev, - unsigned int chanspec ) -{ - int retval; - retval = new_sv_init( sv, setup->dev, subdev, chanspec ); - sv->settling_time_ns = setup->sv_settling_time_ns; - sv->order = setup->sv_order; - return retval; -} - -int new_sv_init(new_sv_t *sv,comedi_t *dev,int subdev,unsigned int chanspec) -{ - memset(sv,0,sizeof(*sv)); - - sv->subd=subdev; - //sv->t.flags=TRIG_DITHER; - sv->chanspec = chanspec; - - //sv->chanlist[0]=CR_PACK(chan,range,aref); - - sv->maxdata=comedi_get_maxdata(dev,subdev,CR_CHAN(chanspec)); - sv->rng=comedi_get_range(dev,subdev, - CR_CHAN(chanspec), CR_RANGE(chanspec)); - - sv->order=10; - - return 0; -} - -int new_sv_measure( comedi_t *dev, new_sv_t *sv) -{ - lsampl_t *data; - int n,i,ret; - - double x,s,s2; - - n=1<order; - - data=malloc(sizeof(lsampl_t)*n); - if(data == NULL) - { - perror( __FUNCTION__ ); - exit(1); - } - - ret = comedi_data_read_hint(dev, sv->subd, sv->chanspec, 0, 0); - if(ret<0){ - printf("hint barf\n"); - goto out; - } - comedi_nanodelay(dev, sv->settling_time_ns); - - ret = comedi_data_read_n(dev, sv->subd, sv->chanspec, 0, 0, data, n); - if(ret<0){ - printf("barf\n"); - goto out; - } - - s=0.0; - s2=0.0; - for(i = 0; i < n; i++){ - x = comedi_to_phys(data[i], sv->rng, sv->maxdata); - s += x; - s2 += x * x; - } - s /= n; - s2 /= n; - sv->average=s; - sv->stddev=sqrt( ( ( n + 1 ) / n ) * ( s2 - s * s ) ); - sv->error=sv->stddev / sqrt( n ); - - ret=n; - -out: - free(data); - - return ret; -} - -int new_sv_measure_order( comedi_t *dev, new_sv_t *sv,int order) -{ - lsampl_t *data; - int n,i,ret; - double x,s,s2; - - n=1<subd, sv->chanspec, 0, 0, data, n); - if(ret<0){ - printf("barf order\n"); - goto out; - } - - s=0; - s2=0; - for(i = 0; i < n; i++){ - x = comedi_to_phys(data[i], sv->rng, sv->maxdata); - s += x; - s2 += x * x; - } - s /= n; - s2 /= n; - sv->average = s; - sv->stddev=sqrt( ( ( n + 1 ) / n ) * ( s2 - s * s ) ); - sv->error=sv->stddev / sqrt( n ); - - ret=n; - -out: - free(data); - - return ret; -} - - - -/* linear fitting */ - -int calculate_residuals(linear_fit_t *l); - -int linear_fit_monotonic(linear_fit_t *l) -{ - double x,y; - double sxp; - int i; - - l->min=HUGE_VAL; - l->max=-HUGE_VAL; - l->s1=0; - l->sx=0; - l->sy=0; - l->sxy=0; - l->sxx=0; - for(i=0;in;i++){ - x=l->x0+i*l->dx; - y=l->y_data[i]; - - if(isnan(y))continue; - - if(l->y_data[i]min)l->min=l->y_data[i]; - if(l->y_data[i]>l->max)l->max=l->y_data[i]; - l->s1+=1; - l->sx+=x; - l->sy+=y; - l->sxy+=x*y; - l->sxx+=x*x; - } - sxp=l->sxx-l->sx*l->sx/l->s1; - - l->ave_x=l->sx/l->s1; - l->ave_y=l->sy/l->s1; - l->slope=(l->s1*l->sxy-l->sx*l->sy)/(l->s1*l->sxx-l->sx*l->sx); - l->err_slope=l->yerr/sqrt(sxp); - l->err_ave_y=l->yerr/sqrt(l->s1); - - calculate_residuals(l); - - return 0; -} - -int calculate_residuals(linear_fit_t *l) -{ - double x,y; - double res,sum_res2; - int i; - - sum_res2=0; - for(i=0;in;i++){ - x=l->x0+i*l->dx-l->ave_x; - y=l->y_data[i]; - - if(isnan(y))continue; - - res=l->ave_y+l->slope*x-y; - - sum_res2+=res*res; - } - l->S_min=sum_res2/(l->yerr*l->yerr); - l->dof=l->s1-2; - - return 0; -} - -double linear_fit_func_y(linear_fit_t *l,double x) -{ - return l->ave_y+l->slope*(x-l->ave_x); -} - -double linear_fit_func_x(linear_fit_t *l,double y) -{ - return l->ave_x+(y-l->ave_y)/l->slope; -} - -void dump_curve(linear_fit_t *l) -{ - static int dump_number=0; - double x,y; - int i; - - printf("start dump %d\n",dump_number); - for(i=0;in;i++){ - x=l->x0+i*l->dx-l->ave_x; - y=l->y_data[i]; - printf("D%d: %d %g %g %g\n",dump_number,i,y, - l->ave_y+l->slope*x, - l->ave_y+l->slope*x-y); - } - printf("end dump\n"); - dump_number++; -} - - -/* printing of scientific numbers (with errors) */ - -int sci_sprint(char *s,double x,double y) -{ - int errsig; - int maxsig; - int sigfigs; - double mantissa; - double error; - double mindigit; - - errsig = floor(log10(y)); - maxsig = floor(log10(x)); - mindigit = pow(10,errsig); - - if(maxsig1){ - return sprintf(s,"%0.0f(%2.0f)",x,error); - } - if(maxsig<=0 && maxsig>=-2){ - return sprintf(s,"%0.*f(%2.0f)",sigfigs-1-maxsig, - mantissa*pow(10,maxsig),error); - } - return sprintf(s,"%0.*f(%2.0f)e%d",sigfigs-1,mantissa,error,maxsig); -} - -double very_low_target( comedi_t *dev, unsigned int subdevice, - unsigned int channel, unsigned int range ) -{ - comedi_range *range_ptr; - int max_data; - - range_ptr = comedi_get_range( dev, subdevice, channel, range ); - assert( range_ptr != NULL ); - max_data = comedi_get_maxdata( dev, subdevice, 0 ); - assert( max_data > 0 ); - - return comedi_to_phys( 1, range_ptr, max_data ) / 2.0; -} - -double fractional_offset( calibration_setup_t *setup, int subdevice, - unsigned int channel, unsigned int range, int obs ) -{ - comedi_range *range_ptr; - double target; - double reading; - unsigned int chanspec; - new_sv_t sv; - - if( subdevice < 0 || obs < 0 ) return 0.0; - - chanspec = setup->observables[obs].observe_insn.chanspec; - target = setup->observables[obs].target; - - range_ptr = comedi_get_range( setup->dev, subdevice, channel, range ); - assert( range_ptr != NULL ); - - comedi_set_global_oor_behavior( COMEDI_OOR_NUMBER ); - preobserve( setup, obs); - - my_sv_init( &sv, setup, setup->ad_subdev, chanspec ); - new_sv_measure( setup->dev, &sv ); - reading = sv.average; - - return ( reading - target ) / ( range_ptr->max - range_ptr->min ); -} - -double get_tolerance( calibration_setup_t *setup, int subdevice, - double num_bits ) -{ - int maxdata; - - if( subdevice < 0 ) return INFINITY; - - maxdata = comedi_get_maxdata( setup->dev, subdevice, 0 ); - assert( maxdata > 0 ); - return num_bits / maxdata; -} diff --git a/comedi_calibrate/ni.c b/comedi_calibrate/ni.c deleted file mode 100644 index 971e2b7..0000000 --- a/comedi_calibrate/ni.c +++ /dev/null @@ -1,1706 +0,0 @@ -/* - A little auto-calibration utility, for boards - that support it. - - copyright (C) 1999,2000,2001,2002 by David Schleef - copyright (C) 2003 by Frank Mori Hess - - */ - -/*************************************************************************** - * * - * This program is free software; you can redistribute it and/or modify * - * it under the terms of the GNU Lesser General Public License as * - * published by * - * the Free Software Foundation; either version 2.1 of the License, or * - * (at your option) any later version. * - * * - ***************************************************************************/ - -#define _GNU_SOURCE - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "calib.h" - - -char ni_id[] = "$Id$"; - -struct board_struct{ - char *name; - int status; - int (*cal)( calibration_setup_t *setup); - void (*setup_observables)( calibration_setup_t *setup ); - int ref_eeprom_lsb; - int ref_eeprom_msb; -}; - -static int ni_setup_board( calibration_setup_t *setup , const char *device_name ); -static void ni_setup_observables( calibration_setup_t *setup ); -static void ni_setup_observables_611x( calibration_setup_t *setup ); -static void ni67xx_setup_observables( calibration_setup_t *setup ); - -static int cal_ni_at_mio_16de_10(calibration_setup_t *setup); -static int cal_ni_at_mio_16e_2(calibration_setup_t *setup); -static int cal_ni_at_mio_64e_3(calibration_setup_t *setup); -static int cal_ni_daqcard_ai_16xe_50(calibration_setup_t *setup); -static int cal_ni_at_mio_16e_1(calibration_setup_t *setup); -static int cal_ni_pci_mio_16e_1(calibration_setup_t *setup); -static int cal_ni_pci_6014(calibration_setup_t *setup); -static int cal_ni_pci_6024e(calibration_setup_t *setup); -static int cal_ni_pci_6025e(calibration_setup_t *setup); -static int cal_ni_pci_6032e(calibration_setup_t *setup); -static int cal_ni_pci_6034e(calibration_setup_t *setup); -static int cal_ni_pci_6035e(calibration_setup_t *setup); -static int cal_ni_pci_6036e(calibration_setup_t *setup); -static int cal_ni_pci_6071e(calibration_setup_t *setup); -static int cal_ni_pxi_6071e(calibration_setup_t *setup); -static int cal_ni_at_mio_16e_10(calibration_setup_t *setup); -static int cal_ni_pci_mio_16xe_50(calibration_setup_t *setup); -static int cal_ni_pci_6023e(calibration_setup_t *setup); -static int cal_ni_at_mio_16xe_50(calibration_setup_t *setup); -static int cal_ni_pci_mio_16xe_10(calibration_setup_t *setup); -static int cal_ni_pci_6052e(calibration_setup_t *setup); -static int cal_ni_daqcard_ai_16e_4(calibration_setup_t *setup); -static int cal_ni_pci_611x(calibration_setup_t *setup); -static int cal_ni_pci_mio_16e_4(calibration_setup_t *setup); -static int cal_ni_daqcard_6062e(calibration_setup_t *setup); -static int cal_ni_daqcard_6024e(calibration_setup_t *setup); -static int cal_ni_daqcard_6036e(calibration_setup_t *setup); -static int cal_ni_pci_6711(calibration_setup_t *setup); - -static double ni_get_reference( calibration_setup_t *setup, int lsb_loc,int msb_loc); - -static struct board_struct boards[]={ - { "at-ai-16xe-10", STATUS_UNKNOWN, NULL, ni_setup_observables, 0x1b7, 0x1b8 }, - { "at-mio-16de-10", STATUS_DONE, cal_ni_at_mio_16de_10, ni_setup_observables, 0x1a7, 0x1a8 }, - { "at-mio-16e-1", STATUS_DONE, cal_ni_at_mio_16e_1, ni_setup_observables, 0x1a9, 0x1aa }, - { "at-mio-16e-2", STATUS_DONE, cal_ni_at_mio_16e_2, ni_setup_observables, 0x1a9, 0x1aa }, - { "at-mio-16e-10", STATUS_DONE, cal_ni_at_mio_16e_10, ni_setup_observables, 0x1a7, 0x1a8 }, - { "at-mio-16xe-10", STATUS_UNKNOWN, NULL, ni_setup_observables, 0x1b7, 0x1b8 }, - { "at-mio-16xe-50", STATUS_DONE, cal_ni_at_mio_16xe_50, ni_setup_observables, 0x1b5, 0x1b6 }, - { "at-mio-64e-3", STATUS_SOME, cal_ni_at_mio_64e_3, ni_setup_observables, 0x1a9, 0x1aa}, - { "DAQCard-ai-16e-4", STATUS_DONE, cal_ni_daqcard_ai_16e_4, ni_setup_observables, 0x1b5, 0x1b6 }, - { "DAQCard-ai-16xe-50", STATUS_DONE, cal_ni_daqcard_ai_16xe_50, ni_setup_observables, 0x1be, 0x1bf }, - { "DAQCard-6024E", STATUS_SOME, cal_ni_daqcard_6024e, ni_setup_observables, -1, -1 }, - { "DAQCard-6036E", STATUS_DONE, cal_ni_daqcard_6036e, ni_setup_observables, 0x1ab, 0x1ac }, - { "DAQCard-6062E", STATUS_DONE, cal_ni_daqcard_6062e, ni_setup_observables, 0x1a9, 0x1aa }, - { "pci-mio-16e-1", STATUS_DONE, cal_ni_pci_mio_16e_1, ni_setup_observables, 0x1a9, 0x1aa }, - { "pci-mio-16e-4", STATUS_SOME, cal_ni_pci_mio_16e_4, ni_setup_observables, 0x1a9, 0x1aa }, - { "pci-mio-16xe-10", STATUS_DONE, cal_ni_pci_mio_16xe_10, ni_setup_observables, 0x1ae, 0x1af }, - { "pci-mio-16xe-50", STATUS_SOME, cal_ni_pci_mio_16xe_50, ni_setup_observables, 0x1b5, 0x1b6 }, - { "pci-6014", STATUS_DONE, cal_ni_pci_6014, ni_setup_observables, 0x1ab, 0x1ac }, - { "pci-6023e", STATUS_DONE, cal_ni_pci_6023e, ni_setup_observables, 0x1bb, 0x1bc }, - { "pci-6024e", STATUS_DONE, cal_ni_pci_6024e, ni_setup_observables, 0x1af, 0x1b0 }, - { "pci-6025e", STATUS_SOME, cal_ni_pci_6025e, ni_setup_observables, 0x1af, 0x1b0 }, - { "pci-6031e", STATUS_DONE, cal_ni_pci_mio_16xe_10, ni_setup_observables, 0x1ae, 0x1af }, - { "pci-6032e", STATUS_DONE, cal_ni_pci_6032e, ni_setup_observables, 0x1ae, 0x1af }, - { "pci-6033e", STATUS_DONE, cal_ni_pci_6032e, ni_setup_observables, 0x1b7, 0x1b8 }, - { "pci-6034e", STATUS_DONE, cal_ni_pci_6034e, ni_setup_observables, 0x1bb, 0x1bc }, - { "pci-6035e", STATUS_DONE, cal_ni_pci_6035e, ni_setup_observables, 0x1af, 0x1b0 }, - { "pci-6036e", STATUS_DONE, cal_ni_pci_6036e, ni_setup_observables, 0x1ab, 0x1ac }, - { "pci-6052e", STATUS_DONE, cal_ni_pci_6052e, ni_setup_observables, 0x19f, 0x1a0 }, - { "pci-6071e", STATUS_DONE, cal_ni_pci_6071e, ni_setup_observables, 0x1a9, 0x1aa }, - { "pci-6110", STATUS_DONE, cal_ni_pci_611x, ni_setup_observables_611x, 0x1d4, 0x1d5 }, - { "pci-6111", STATUS_DONE, cal_ni_pci_611x, ni_setup_observables_611x, 0x1d4, 0x1d5 }, - { "pxi-6025e", STATUS_UNKNOWN, NULL, ni_setup_observables, -1, -1 }, - { "pxi-6030e", STATUS_UNKNOWN, NULL, ni_setup_observables, -1, -1 }, - { "pxi-6031e", STATUS_UNKNOWN, NULL, ni_setup_observables, -1, -1 }, - { "pxi-6040e", STATUS_UNKNOWN, NULL, ni_setup_observables, -1, -1 }, - { "pxi-6052e", STATUS_UNKNOWN, NULL, ni_setup_observables, -1, -1 }, - { "pxi-6070e", STATUS_UNKNOWN, NULL, ni_setup_observables, -1, -1 }, - { "pxi-6071e", STATUS_GUESS, cal_ni_pxi_6071e, ni_setup_observables, -1, -1 }, - { "pci-6711", STATUS_DONE, cal_ni_pci_6711, ni67xx_setup_observables, 0x1d4, 0x1d5}, - { "pci-6713", STATUS_DONE, cal_ni_pci_6711, ni67xx_setup_observables, 0x1d4, 0x1d5}, - { "pci-6731", STATUS_GUESS, cal_ni_pci_6711, ni67xx_setup_observables, -1, -1}, - { "pci-6733", STATUS_GUESS, cal_ni_pci_6711, ni67xx_setup_observables, -1, -1}, - { "pxi-6711", STATUS_GUESS, cal_ni_pci_6711, ni67xx_setup_observables, -1, -1}, - { "pxi-6713", STATUS_GUESS, cal_ni_pci_6711, ni67xx_setup_observables, -1, -1}, - { "pxi-6731", STATUS_GUESS, cal_ni_pci_6711, ni67xx_setup_observables, -1, -1}, - { "pxi-6733", STATUS_GUESS, cal_ni_pci_6711, ni67xx_setup_observables, -1, -1}, -#if 0 - { "at-mio-64e-3", cal_ni_16e_1 }, -#endif -}; -#define n_boards (sizeof(boards)/sizeof(boards[0])) - -static const int ni_num_observables = 20; -enum observables{ - ni_zero_offset_low = 0, - ni_zero_offset_high, - ni_reference_low, - ni_unip_zero_offset_low, - ni_unip_zero_offset_high, - ni_unip_reference_low, - ni_ao0_zero_offset, - ni_ao0_reference, - ni_ao0_linearity, - ni_ao1_zero_offset, - ni_ao1_reference, - ni_ao1_linearity, - ni_ao0_unip_zero_offset, - ni_ao0_unip_reference, - ni_ao0_unip_low_linearity, - ni_ao0_unip_mid_linearity, - ni_ao1_unip_zero_offset, - ni_ao1_unip_reference, - ni_ao1_unip_low_linearity, - ni_ao1_unip_mid_linearity, -}; -static inline unsigned int ni_ao_zero_offset( unsigned int channel ) -{ - if( channel ) return ni_ao1_zero_offset; - else return ni_ao0_zero_offset; -} -static inline unsigned int ni_ao_reference( unsigned int channel ) -{ - if( channel ) return ni_ao1_reference; - else return ni_ao0_reference; -} -static inline unsigned int ni_ao_mid_linearity( unsigned int channel ) -{ - if( channel ) return ni_ao1_linearity; - else return ni_ao0_linearity; -} -static inline unsigned int ni_ao_unip_zero_offset( unsigned int channel ) -{ - if( channel ) return ni_ao1_unip_zero_offset; - else return ni_ao0_unip_zero_offset; -} -static inline unsigned int ni_ao_unip_reference( unsigned int channel ) -{ - if( channel ) return ni_ao1_unip_reference; - else return ni_ao0_unip_reference; -} -static inline unsigned int ni_ao_unip_low_linearity( unsigned int channel ) -{ - if( channel ) return ni_ao1_unip_low_linearity; - else return ni_ao0_unip_low_linearity; -} -static inline unsigned int ni_ao_unip_mid_linearity( unsigned int channel ) -{ - if( channel ) return ni_ao1_unip_mid_linearity; - else return ni_ao0_unip_mid_linearity; -} - -static const int num_ao_observables_611x = 4; -static int ni_ao_zero_offset_611x( const calibration_setup_t *setup, - unsigned int channel, unsigned int range ) { - assert( range == 0 ); - return 2 * channel; -}; -static int ni_ao_reference_611x( const calibration_setup_t *setup, - unsigned int channel, unsigned int range ) { - assert( range == 0 ); - return 2 * channel + 1; -}; -static int ni_zero_offset_611x( const calibration_setup_t *setup, - unsigned int channel, unsigned int range ) { - return num_ao_observables_611x + 8 * range + 2 * channel; -}; -static int ni_reference_611x( const calibration_setup_t *setup, - unsigned int channel, unsigned int range ) { - return num_ao_observables_611x + 8 * range + 2 * channel + 1; -}; - -enum reference_sources { - REF_GND_GND = 0, - REF_AOGND_AIGND = 1, - REF_DAC0_GND = 2, - REF_DAC1_GND = 3, - REF_CALSRC_CALSRC = 4, - REF_CALSRC_GND = 5, - REF_DAC0_CALSRC = 6, - REF_DAC1_CALSRC = 7, -}; -static inline unsigned int REF_DAC_GND( unsigned int channel ) -{ - if( channel ) return REF_DAC1_GND; - else return REF_DAC0_GND; -} -static inline unsigned int REF_DAC_CALSRC( unsigned int channel ) -{ - if( channel ) return REF_DAC1_CALSRC; - else return REF_DAC0_CALSRC; -} - -static struct board_struct* ni_board( calibration_setup_t *setup ) -{ - return setup->private_data; -} - -typedef struct -{ - int adc_pregain_offset; - int adc_postgain_offset; - int adc_gain; - int adc_pregain_offset_fine; - int adc_postgain_offset_fine; - int adc_gain_fine; - int adc_unip_offset; - int adc_unip_offset_fine; - int dac_offset[ 2 ]; - int dac_offset_fine[ 2 ]; - int dac_gain[ 2 ]; - int dac_gain_fine[ 2 ]; - int dac_linearity[ 2 ]; -} ni_caldac_layout_t; - -static int cal_ni_generic( calibration_setup_t *setup, - const ni_caldac_layout_t *layout ); - -static inline void init_ni_caldac_layout( ni_caldac_layout_t *layout ) -{ - int i; - - layout->adc_pregain_offset = -1; - layout->adc_postgain_offset = -1; - layout->adc_gain = -1; - layout->adc_unip_offset = -1; - layout->adc_unip_offset_fine = -1; - layout->adc_pregain_offset_fine = -1; - layout->adc_postgain_offset_fine = -1; - layout->adc_gain_fine = -1; - for( i = 0; i < 2; i++ ) - { - layout->dac_offset[ i ] = -1; - layout->dac_offset_fine[ i ] = -1; - layout->dac_gain[ i ] = -1; - layout->dac_gain_fine[ i ] = -1; - layout->dac_linearity[ i ] = -1; - } -} - -int ni_setup( calibration_setup_t *setup , const char *device_name ) -{ - int retval; - - retval = ni_setup_board( setup, device_name ); - if( retval < 0 ) - { - return ni_m_series_setup(setup, device_name); - } - setup_caldacs( setup, setup->caldac_subdev ); - - return 0; -} - -static int ni_setup_board( calibration_setup_t *setup, const char *device_name ) -{ - int i; - - for(i = 0; i < n_boards; i++ ){ - if(!strcmp( device_name, boards[i].name )){ - setup->status = boards[i].status; - setup->do_cal = boards[i].cal; - setup->private_data = &boards[ i ]; - boards[i].setup_observables( setup ); - break; - } - } - if( i == n_boards ) return -1; - return 0; -} - -static void ni_setup_ao_observables( calibration_setup_t *setup ) -{ - observable *o; - comedi_insn tmpl, po_tmpl; - unsigned int channel; - int ai_bipolar_lowgain; - int ao_bipolar_lowgain; - int ao_unipolar_lowgain; - - ai_bipolar_lowgain = get_bipolar_lowgain( setup->dev, setup->ad_subdev); - assert(ai_bipolar_lowgain >= 0); - ao_bipolar_lowgain = get_bipolar_lowgain( setup->dev, setup->da_subdev); - assert(ao_bipolar_lowgain >= 0); - ao_unipolar_lowgain = get_unipolar_lowgain( setup->dev, setup->da_subdev); - - memset(&tmpl,0,sizeof(tmpl)); - tmpl.insn = INSN_READ; - tmpl.n = 1; - tmpl.subdev = setup->ad_subdev; - - memset(&po_tmpl, 0, sizeof(po_tmpl)); - po_tmpl.insn = INSN_WRITE; - po_tmpl.n = 1; - po_tmpl.subdev = setup->da_subdev; - - for( channel = 0; channel < 2; channel++ ) - { - /* ao zero offset */ - o = setup->observables + ni_ao_zero_offset( channel ); - assert( o->name == NULL ); - asprintf( &o->name, "ao %i, zero offset, low gain", channel ); - o->preobserve_insn = po_tmpl; - o->preobserve_insn.chanspec = CR_PACK(channel,ao_bipolar_lowgain,0); - o->preobserve_insn.data = o->preobserve_data; - o->observe_insn = tmpl; - o->observe_insn.chanspec = - CR_PACK(REF_DAC_GND( channel ),ai_bipolar_lowgain,AREF_OTHER) - | CR_ALT_SOURCE | CR_ALT_FILTER; - o->reference_source = REF_DAC_GND( channel ); - set_target( setup, ni_ao_zero_offset( channel ),0.0); - - /* ao gain */ - o = setup->observables + ni_ao_reference( channel ); - assert( o->name == NULL ); - asprintf( &o->name, "ao %i, reference voltage, low gain", channel ); - o->preobserve_insn = po_tmpl; - o->preobserve_insn.chanspec = CR_PACK(channel,ao_bipolar_lowgain,0); - o->preobserve_insn.data = o->preobserve_data; - o->observe_insn = tmpl; - o->observe_insn.chanspec = - CR_PACK(REF_DAC_GND( channel ),ai_bipolar_lowgain,AREF_OTHER) - | CR_ALT_SOURCE | CR_ALT_FILTER; - o->reference_source = REF_DAC_GND( channel ); - set_target( setup, ni_ao_reference( channel ),8.0); - - /* ao linearity, mid */ - o = setup->observables + ni_ao_mid_linearity( channel ); - assert( o->name == NULL ); - asprintf( &o->name, "ao %i, linearity (mid), low gain", channel ); - o->preobserve_insn = po_tmpl; - o->preobserve_insn.chanspec = CR_PACK(channel,ao_bipolar_lowgain,0); - o->preobserve_insn.data = o->preobserve_data; - o->observe_insn = tmpl; - o->observe_insn.chanspec = - CR_PACK(REF_DAC_GND( channel ),ai_bipolar_lowgain,AREF_OTHER) - | CR_ALT_SOURCE | CR_ALT_FILTER; - o->reference_source = REF_DAC_GND( channel ); - set_target( setup, ni_ao_mid_linearity( channel ),4.0); - - if( ao_unipolar_lowgain >= 0 ) - { - /* ao unipolar zero offset */ - o = setup->observables + ni_ao_unip_zero_offset( channel ); - assert( o->name == NULL ); - asprintf( &o->name, "ao %i, unipolar zero offset, low gain", channel ); - o->preobserve_insn = po_tmpl; - o->preobserve_insn.chanspec = CR_PACK(channel,ao_unipolar_lowgain,0); - o->preobserve_insn.data = o->preobserve_data; - o->observe_insn = tmpl; - o->observe_insn.chanspec = - CR_PACK(REF_DAC_GND( channel ),ai_bipolar_lowgain,AREF_OTHER) - | CR_ALT_SOURCE | CR_ALT_FILTER; - o->reference_source = REF_DAC_GND( channel ); - set_target( setup, ni_ao_unip_zero_offset( channel ),0.0); - - /* ao unipolar gain */ - o = setup->observables + ni_ao_unip_reference( channel ); - assert( o->name == NULL ); - asprintf( &o->name, "ao %i, unipolar high, low gain", channel ); - o->preobserve_insn = po_tmpl; - o->preobserve_insn.chanspec = CR_PACK(channel,ao_unipolar_lowgain,0); - o->preobserve_insn.data = o->preobserve_data; - o->observe_insn = tmpl; - o->observe_insn.chanspec = - CR_PACK(REF_DAC_GND( channel ),ai_bipolar_lowgain,AREF_OTHER) - | CR_ALT_SOURCE | CR_ALT_FILTER; - o->reference_source = REF_DAC_GND( channel ); - set_target( setup, ni_ao_unip_reference( channel ), 9.0); - - /* ao unipolar linearity, mid */ - o = setup->observables + ni_ao_unip_mid_linearity( channel ); - assert( o->name == NULL ); - asprintf( &o->name, "ao %i, unipolar linearity (mid), low gain", channel ); - o->preobserve_insn = po_tmpl; - o->preobserve_insn.chanspec = CR_PACK(channel,ao_unipolar_lowgain,0); - o->preobserve_insn.data = o->preobserve_data; - o->observe_insn = tmpl; - o->observe_insn.chanspec = - CR_PACK(REF_DAC_GND( channel ),ai_bipolar_lowgain,AREF_OTHER) - | CR_ALT_SOURCE | CR_ALT_FILTER; - o->reference_source = REF_DAC_GND( channel ); - set_target( setup, ni_ao_unip_mid_linearity( channel ), 5.0); - - /* ao unipolar linearity, low */ - o = setup->observables + ni_ao_unip_low_linearity( channel ); - assert( o->name == NULL ); - asprintf( &o->name, "ao %i, unipolar linearity (low), low gain", channel ); - o->preobserve_insn = po_tmpl; - o->preobserve_insn.chanspec = CR_PACK(channel,ao_unipolar_lowgain,0); - o->preobserve_insn.data = o->preobserve_data; - o->observe_insn = tmpl; - o->observe_insn.chanspec = - CR_PACK(REF_DAC_GND( channel ),ai_bipolar_lowgain,AREF_OTHER) - | CR_ALT_SOURCE | CR_ALT_FILTER; - o->reference_source = REF_DAC_GND( channel ); - set_target( setup, ni_ao_unip_low_linearity( channel ), 1.0); - } - } -} - -static void ni_setup_observables( calibration_setup_t *setup ) -{ - comedi_insn tmpl; - int bipolar_lowgain; - int bipolar_highgain; - int unipolar_lowgain; - int unipolar_highgain; - double voltage_reference; - observable *o; - - bipolar_lowgain = get_bipolar_lowgain( setup->dev, setup->ad_subdev); - bipolar_highgain = get_bipolar_highgain( setup->dev, setup->ad_subdev); - unipolar_lowgain = get_unipolar_lowgain( setup->dev, setup->ad_subdev); - unipolar_highgain = get_unipolar_highgain( setup->dev, setup->ad_subdev); - - if( ni_board( setup )->ref_eeprom_lsb >= 0 && - ni_board( setup )->ref_eeprom_msb >= 0 ) - { - voltage_reference = ni_get_reference( setup, - ni_board( setup )->ref_eeprom_lsb, ni_board( setup )->ref_eeprom_msb ); - }else - { - DPRINT( 0, "WARNING: unknown eeprom address for reference voltage\n" - "correction. This might be fixable if you send us an eeprom dump\n" - "(see the demo/eeprom_dump program).\n"); - voltage_reference = 5.0; - } - - memset(&tmpl,0,sizeof(tmpl)); - tmpl.insn = INSN_READ; - tmpl.n = 1; - tmpl.subdev = setup->ad_subdev; - - setup->n_observables = ni_num_observables; - - /* 0 offset, low gain */ - o = setup->observables + ni_zero_offset_low; - o->name = "ai, bipolar zero offset, low gain"; - o->observe_insn = tmpl; - o->observe_insn.chanspec = CR_PACK(REF_GND_GND,bipolar_lowgain,AREF_OTHER) - | CR_ALT_SOURCE | CR_ALT_FILTER; - o->reference_source = REF_GND_GND; - o->target = 0; - - /* 0 offset, high gain */ - o = setup->observables + ni_zero_offset_high; - o->name = "ai, bipolar zero offset, high gain"; - o->observe_insn = tmpl; - o->observe_insn.chanspec = CR_PACK(REF_GND_GND,bipolar_highgain,AREF_OTHER) - | CR_ALT_SOURCE | CR_ALT_FILTER; - o->reference_source = REF_GND_GND; - o->target = 0; - - /* voltage reference */ - o = setup->observables + ni_reference_low; - o->name = "ai, bipolar voltage reference, low gain"; - o->observe_insn = tmpl; - o->observe_insn.chanspec = CR_PACK(REF_CALSRC_GND,bipolar_lowgain,AREF_OTHER) - | CR_ALT_SOURCE | CR_ALT_FILTER; - o->reference_source = REF_CALSRC_GND; - o->target = voltage_reference; - - if(unipolar_lowgain>=0){ - o = setup->observables + ni_unip_zero_offset_low; - o->name = "ai, unipolar zero offset, low gain"; - o->observe_insn = tmpl; - o->observe_insn.chanspec = - CR_PACK(REF_GND_GND,unipolar_lowgain,AREF_OTHER) - | CR_ALT_SOURCE | CR_ALT_FILTER; - o->reference_source = REF_GND_GND; - o->target = very_low_target( setup->dev, setup->ad_subdev, 0, unipolar_lowgain ); - - o = setup->observables + ni_unip_reference_low; - o->name = "ai, unipolar voltage reference, low gain"; - o->observe_insn = tmpl; - o->observe_insn.chanspec = - CR_PACK(REF_CALSRC_GND,unipolar_lowgain,AREF_OTHER) - | CR_ALT_SOURCE | CR_ALT_FILTER; - o->reference_source = REF_CALSRC_GND; - o->target = voltage_reference; - } - - if(unipolar_highgain >= 0) - { - o = setup->observables + ni_unip_zero_offset_high; - o->name = "ai, unipolar zero offset, high gain"; - o->observe_insn = tmpl; - o->observe_insn.chanspec = - CR_PACK(REF_GND_GND,unipolar_highgain,AREF_OTHER) - | CR_ALT_SOURCE | CR_ALT_FILTER; - o->reference_source = REF_GND_GND; - o->target = very_low_target( setup->dev, setup->ad_subdev, 0, unipolar_highgain ); - } - - if(setup->da_subdev >= 0) - ni_setup_ao_observables( setup ); -} - -/* for +-50V and +-20V ranges, the reference source goes 0V - * to 50V instead of 0V to 5V */ -static unsigned int cal_gain_register_bits_611x( double reference, double *voltage ) -{ - int bits; - - bits = 200.0 * ( *voltage / reference ); - if( bits > 200 ) bits = 200; - if( bits < 0 ) bits = 0; - - *voltage = reference * ( bits / 200.0 ); - return bits; -} - -static unsigned int ref_source_611x( unsigned int ref_source, unsigned int cal_gain_bits ) -{ - return ( ref_source & 0xf ) | ( ( cal_gain_bits << 4 ) & 0xff0 ); -} - -static void reference_target_611x( calibration_setup_t *setup, - observable *o, double master_reference, unsigned int range ) -{ - int cal_gain_reg_bits; - double reference; - double target; - comedi_range *range_ptr; - - range_ptr = comedi_get_range( setup->dev, setup->ad_subdev, 0, range ); - assert( range_ptr != NULL ); - if( range_ptr->max > 19.0 ) reference = 10 * master_reference; - else reference = master_reference; - target = range_ptr->max * 0.8; - - cal_gain_reg_bits = cal_gain_register_bits_611x( reference, &target ); - - o->reference_source = ref_source_611x( REF_CALSRC_GND, cal_gain_reg_bits ); - o->target = target; -} - -static void ni_setup_observables_611x( calibration_setup_t *setup ) -{ - comedi_insn tmpl; - comedi_insn po_tmpl; - int range, channel; - double master_reference; - observable *o; - int num_ai_channels, num_ai_ranges; - static const int num_ao_channels = 2; - - setup->sv_settling_time_ns = 10000000; - setup->sv_order = 14; - - master_reference = ni_get_reference( setup, - ni_board( setup )->ref_eeprom_lsb, ni_board( setup )->ref_eeprom_msb ); - - memset(&tmpl,0,sizeof(tmpl)); - tmpl.insn = INSN_READ; - tmpl.n = 1; - tmpl.subdev = setup->ad_subdev; - - num_ai_channels = comedi_get_n_channels( setup->dev, setup->ad_subdev ); - assert( num_ai_channels >= 0 ); - num_ai_ranges = comedi_get_n_ranges( setup->dev, setup->ad_subdev, 0 ); - assert( num_ai_ranges >= 0 ); - - for( channel = 0; channel < num_ai_channels; channel++ ) - { - for( range = 0; range < num_ai_ranges; range++ ) - { - /* 0 offset */ - o = setup->observables + ni_zero_offset_611x( setup, channel, range ); - assert( o->name == NULL ); - asprintf( &o->name, "ai, ch %i, range %i, zero offset", - channel, range ); - o->observe_insn = tmpl; - o->observe_insn.chanspec = CR_PACK( channel, range, AREF_DIFF ) - | CR_ALT_SOURCE | CR_ALT_FILTER; - o->reference_source = REF_GND_GND; - o->target = 0.0; - - /* voltage reference */ - o = setup->observables + ni_reference_611x( setup, channel, range ); - assert( o->name == NULL ); - asprintf( &o->name, "ai, ch %i, range %i, voltage reference", - channel, range ); - o->observe_insn = tmpl; - o->observe_insn.chanspec = CR_PACK( channel, range, AREF_DIFF ) - | CR_ALT_SOURCE | CR_ALT_FILTER; - reference_target_611x( setup, o, master_reference, range ); - } - } - - memset(&po_tmpl,0,sizeof(po_tmpl)); - po_tmpl.insn = INSN_WRITE; - po_tmpl.n = 1; - po_tmpl.subdev = setup->da_subdev; - - for( channel = 0; channel < num_ao_channels; channel ++ ) - { - static const int ai_range_for_ao = 2; - - /* ao zero offset */ - o = setup->observables + ni_ao_zero_offset_611x( setup, channel, 0 ); - assert( o->name == NULL ); - asprintf( &o->name, "ao ch %i, zero offset", channel ); - o->preobserve_insn = po_tmpl; - o->preobserve_insn.chanspec = CR_PACK( channel, 0, AREF_GROUND ); - o->preobserve_insn.data = o->preobserve_data; - o->observe_insn = tmpl; - o->observe_insn.chanspec = CR_PACK( 0, ai_range_for_ao, AREF_DIFF ) - | CR_ALT_SOURCE | CR_ALT_FILTER; - o->reference_source = REF_DAC_GND( channel ); - set_target( setup, ni_ao_zero_offset_611x( setup, channel, 0 ), 0.0 ); - - /* ao gain */ - o = setup->observables + ni_ao_reference_611x( setup, channel, 0 ); - assert( o->name == NULL ); - asprintf( &o->name, "ao ch %i, reference voltage", channel ); - o->preobserve_insn = po_tmpl; - o->preobserve_insn.chanspec = CR_PACK( channel, 0, AREF_GROUND ); - o->preobserve_insn.data = o->preobserve_data; - o->observe_insn = tmpl; - o->observe_insn.chanspec = CR_PACK( 0, ai_range_for_ao, AREF_DIFF ) - | CR_ALT_SOURCE | CR_ALT_FILTER; - o->reference_source = REF_DAC_GND( channel ); - set_target( setup, ni_ao_reference_611x( setup, channel, 0 ), 5.0 ); - } - - setup->n_observables = num_ao_observables_611x + 2 * num_ai_ranges * num_ai_channels; -} - -static int cal_ni_daqcard_ai_16xe_50(calibration_setup_t *setup) -{ - ni_caldac_layout_t layout; - - init_ni_caldac_layout( &layout ); - layout.adc_pregain_offset = 8; - layout.adc_postgain_offset = 2; - layout.adc_gain = 0; - layout.adc_gain_fine = 1; - - return cal_ni_generic( setup, &layout ); -} - -static int cal_ni_at_mio_16xe_50(calibration_setup_t *setup) -{ - ni_caldac_layout_t layout; - init_ni_caldac_layout( &layout ); - layout.adc_pregain_offset = 8; - layout.adc_postgain_offset = 2; - layout.adc_gain = 0; - layout.adc_gain_fine = 1; - layout.dac_offset[ 0 ] = 6; - layout.dac_gain[ 0 ] = 4; - layout.dac_offset[ 1 ] = 7; - layout.dac_gain[ 1 ] = 5; - - return cal_ni_generic( setup, &layout ); -} - -static int cal_ni_pci_mio_16xe_10(calibration_setup_t *setup) -{ - ni_caldac_layout_t layout; - - init_ni_caldac_layout( &layout ); - layout.adc_pregain_offset = 8; - layout.adc_postgain_offset = 2; - layout.adc_postgain_offset_fine = 3; - layout.adc_gain = 0; - layout.adc_gain_fine = 1; - layout.dac_offset[ 0 ] = 6; - layout.dac_gain[ 0 ] = 4; - layout.dac_offset[ 1 ] = 7; - layout.dac_gain[ 1 ] = 5; - - return cal_ni_generic( setup, &layout ); -} - -static int cal_ni_at_mio_16e_1(calibration_setup_t *setup) -{ - ni_caldac_layout_t layout; - - init_ni_caldac_layout( &layout ); - layout.adc_pregain_offset = 0; - layout.adc_postgain_offset = 1; - layout.adc_gain = 3; - layout.adc_unip_offset = 2; - layout.dac_offset[0] = 5; - layout.dac_gain[0] = 6; - layout.dac_linearity[0] = 4; - layout.dac_offset[1] = 8; - layout.dac_gain[1] = 9; - layout.dac_linearity[1] = 7; - - return cal_ni_generic( setup, &layout ); -} - -static int cal_ni_at_mio_16e_2(calibration_setup_t *setup) -{ - return cal_ni_at_mio_16e_1(setup); -} - -static int cal_ni_pci_mio_16e_1(calibration_setup_t *setup) -{ - ni_caldac_layout_t layout; - - init_ni_caldac_layout( &layout ); - layout.adc_pregain_offset = 0; - layout.adc_postgain_offset = 1; - layout.adc_unip_offset = 2; - layout.adc_gain = 3; - layout.dac_offset[ 0 ] = 5; - layout.dac_gain[ 0 ] = 6; - layout.dac_linearity[ 0 ] = 4; - layout.dac_offset[ 1 ] = 8; - layout.dac_gain[ 1 ] = 9; - layout.dac_linearity[ 1 ] = 7; - - return cal_ni_generic( setup, &layout ); -} - -static int cal_ni_pci_6014(calibration_setup_t *setup) -{ - ni_caldac_layout_t layout; - - init_ni_caldac_layout( &layout ); - layout.adc_pregain_offset = 0; - layout.adc_postgain_offset = 4; - layout.adc_pregain_offset_fine = 8; - layout.adc_gain = 2; - layout.dac_offset[0] = 6; - layout.dac_offset_fine[0] = 10; - layout.dac_gain[0] = 7; - layout.dac_gain_fine[0] = 11; - layout.dac_offset[1] = 9; - layout.dac_offset_fine[1] = 1; - layout.dac_gain[1] = 3; - layout.dac_gain_fine[1] = 5; - return cal_ni_generic( setup, &layout ); -} - -static int cal_ni_pci_6032e(calibration_setup_t *setup) -{ - ni_caldac_layout_t layout; - - init_ni_caldac_layout( &layout ); - layout.adc_pregain_offset = 8; - layout.adc_postgain_offset = 2; - layout.adc_postgain_offset_fine = 3; - layout.adc_gain = 0; - layout.adc_gain_fine = 1; - - return cal_ni_generic( setup, &layout ); -} - -static int cal_ni_pci_6034e(calibration_setup_t *setup) -{ - ni_caldac_layout_t layout; - - init_ni_caldac_layout( &layout ); - layout.adc_pregain_offset = 0; - layout.adc_pregain_offset_fine = 8; - layout.adc_postgain_offset = 4; - layout.adc_gain = 2; - - return cal_ni_generic( setup, &layout ); -} - -static int cal_ni_at_mio_16de_10(calibration_setup_t *setup) -{ - if(comedi_get_version_code(setup->dev) <= COMEDI_VERSION_CODE(0, 7, 70)) - { - DPRINT(0, "WARNING: you need comedi driver version 0.7.71 or later\n" - "for this calibration to work properly\n" ); - } - return cal_ni_pci_6035e(setup); -} - -static int cal_ni_pci_6035e(calibration_setup_t *setup) -{ - /* this is for the ad8804_debug caldac */ - ni_caldac_layout_t layout; - - init_ni_caldac_layout( &layout ); - layout.adc_pregain_offset = 0; - layout.adc_pregain_offset_fine = 8; - layout.adc_postgain_offset = 4; - layout.adc_gain = 2; - layout.dac_offset[ 0 ] = 6; - layout.dac_gain[ 0 ] = 11; - layout.dac_linearity[ 0 ] = 10; - layout.dac_offset[ 1 ] = 9; - layout.dac_gain[ 1 ] = 5; - layout.dac_linearity[ 1 ] = 1; - - return cal_ni_generic( setup, &layout ); -} - -static int cal_ni_pci_6036e(calibration_setup_t *setup) -{ - ni_caldac_layout_t layout; - - if( comedi_get_version_code( setup->dev ) <= COMEDI_VERSION_CODE( 0, 7, 66 ) ) - { - DPRINT(0, "WARNING: you need comedi driver version 0.7.67 or later\n" - "for this calibration to work properly\n" ); - } - - /* this is for the ad8804_debug caldac */ - init_ni_caldac_layout( &layout ); - layout.adc_pregain_offset = 0; - layout.adc_postgain_offset = 4; - layout.adc_pregain_offset_fine = 8; - layout.adc_gain = 2; - layout.dac_offset[ 0 ] = 6; - layout.dac_gain[ 0 ] = 7; - layout.dac_gain_fine[ 0 ] = 11; - layout.dac_linearity[ 0 ] = 10; - layout.dac_offset[ 1 ] = 9; - layout.dac_gain[ 1 ] = 3; - layout.dac_gain_fine[ 1 ] = 5; - layout.dac_linearity[ 1 ] = 1; - - return cal_ni_generic( setup, &layout ); -} - -static int cal_ni_pci_6071e(calibration_setup_t *setup) -{ - ni_caldac_layout_t layout; - - if( comedi_get_version_code( setup->dev ) <= COMEDI_VERSION_CODE( 0, 7, 66 ) ) - { - DPRINT(0, "WARNING: you need comedi driver version 0.7.67 or later\n" - "for this calibration to work properly\n" ); - } - - init_ni_caldac_layout( &layout ); - layout.adc_pregain_offset = 8; - layout.adc_postgain_offset = 4; - layout.adc_unip_offset = 7; - layout.adc_gain = 2; - layout.dac_offset[ 0 ] = 6; - layout.dac_gain[ 0 ] = 11; - layout.dac_linearity[ 0 ] = 10; - layout.dac_offset[ 1 ] = 9; - layout.dac_gain[ 1 ] = 5; - layout.dac_linearity[ 1 ] = 1; - return cal_ni_generic( setup, &layout ); -} - -static int cal_ni_pxi_6071e(calibration_setup_t *setup) -{ - ni_caldac_layout_t layout; - - if( comedi_get_version_code( setup->dev ) <= COMEDI_VERSION_CODE( 0, 7, 66 ) ) - { - DPRINT(0, "WARNING: you need comedi driver version 0.7.67 or later\n" - "for this calibration to work properly\n" ); - } - - init_ni_caldac_layout( &layout ); - layout.adc_pregain_offset = 0; - layout.adc_pregain_offset_fine = 8; - layout.adc_postgain_offset = 4; - layout.adc_gain = 2; - layout.dac_offset[ 0 ] = 6; - layout.dac_gain[ 0 ] = 11; - layout.dac_linearity[ 0 ] = 10; - layout.dac_offset[ 1 ] = 9; - layout.dac_gain[ 1 ] = 5; - layout.dac_linearity[ 1 ] = 1; - return cal_ni_generic( setup, &layout ); -} - -static int cal_ni_at_mio_16e_10(calibration_setup_t *setup) -{ - ni_caldac_layout_t layout; - - if(comedi_get_version_code(setup->dev) <= COMEDI_VERSION_CODE(0, 7, 68)) - { - DPRINT(0, "WARNING: you need comedi driver version 0.7.69 or later\n" - "for this calibration to work properly\n" ); - } - init_ni_caldac_layout( &layout ); - layout.adc_pregain_offset = 0; - layout.adc_pregain_offset_fine = 8; - layout.adc_postgain_offset = 4; - layout.adc_gain = 2; - layout.adc_unip_offset = 7; - layout.dac_offset[ 0 ] = 6; - layout.dac_gain[ 0 ] = 11; - layout.dac_linearity[ 0 ] = 10; - layout.dac_offset[ 1 ] = 9; - layout.dac_gain[ 1 ] = 5; - layout.dac_linearity[1] = 1; - return cal_ni_generic( setup, &layout ); -} - -static int cal_ni_pci_mio_16xe_50(calibration_setup_t *setup) -{ - ni_caldac_layout_t layout; - - init_ni_caldac_layout( &layout ); - layout.adc_pregain_offset = 8; - layout.adc_postgain_offset = 2; - layout.adc_gain = 0; - layout.adc_gain_fine = 1; - layout.adc_unip_offset = 7; - layout.dac_offset[ 0 ] = 6; - layout.dac_gain[ 0 ] = 4; - layout.dac_offset[ 1 ] = 7; - layout.dac_gain[ 1 ] = 5; - - return cal_ni_generic( setup, &layout ); -} - -static int cal_ni_pci_6023e(calibration_setup_t *setup) -{ - /* for comedi-0.7.65 */ - ni_caldac_layout_t layout; - - init_ni_caldac_layout( &layout ); - layout.adc_pregain_offset = 8; /* possibly wrong */ - layout.adc_pregain_offset_fine = 0; - layout.adc_postgain_offset = 4; - layout.adc_gain = 2; - - return cal_ni_generic( setup, &layout ); -} - -static int cal_ni_pci_6024e(calibration_setup_t *setup) -{ - ni_caldac_layout_t layout; - - init_ni_caldac_layout( &layout ); - layout.adc_pregain_offset = 0; - layout.adc_postgain_offset = 4; - layout.adc_pregain_offset_fine = 8; - layout.adc_gain = 2; - layout.dac_offset[ 0 ] = 6; - layout.dac_gain[ 0 ] = 11; - layout.dac_linearity[ 0 ] = 10; - layout.dac_offset[ 1 ] = 9; - layout.dac_gain[ 1 ] = 5; - layout.dac_linearity[ 1 ] = 1; - - return cal_ni_generic( setup, &layout ); -} - -static int cal_ni_pci_6025e(calibration_setup_t *setup) -{ - ni_caldac_layout_t layout; - - init_ni_caldac_layout( &layout ); - layout.adc_pregain_offset = 0; - layout.adc_postgain_offset = 4; - layout.adc_pregain_offset_fine = 8; - layout.adc_gain = 2; - layout.dac_offset[ 0 ] = 6; - layout.dac_gain[ 0 ] = 11; - layout.dac_linearity[ 0 ] = 10; - layout.dac_offset[ 1 ] = 9; - layout.dac_gain[ 1 ] = 5; - layout.dac_linearity[ 1 ] = 1; - - return cal_ni_generic( setup, &layout ); -} - -static int cal_ni_pci_6052e(calibration_setup_t *setup) -{ - /* - * This board has noisy caldacs - * - * The NI documentation says (true mb88341 addressing): - * 0, 8 AI pregain (coarse, fine) - * 4, 12 AI postgain - * 2, 10 AI reference - * 14, 7 AI unipolar offset - * - * 0 AO0 linearity - * 8, 4 AO0 reference - * 12 AO0 offset - * 2 AO1 linearity - * 10, 6 AO1 reference - * 14 AO1 offset - * - * For us, these map to (ad8804 channels) - * - * 0, 1 AI pregain (coarse, fine) - * 2, 3 AI postgain - * 4, 5 AI reference - * 7 AI unipolar offset - * - * 0 AO0 linearity - * 1, 2 AO0 reference - * 3 AO0 offset - * 4 AO1 linearity - * 5, 6 AO1 reference - * 7 AO1 offset - * - * or, with mb88341 channels - * - * xxx AO0 linearity - * 7, 3 AO0 reference - * 11 AO0 offset - * 1 AO1 linearity - * 9, 5 AO1 reference - * xxx AO1 offset - * - */ - ni_caldac_layout_t layout; - - init_ni_caldac_layout( &layout ); - layout.adc_pregain_offset = 0; - layout.adc_postgain_offset = 2; - layout.adc_gain = 4; - layout.adc_unip_offset = 6; - layout.adc_unip_offset_fine = 7; - layout.adc_pregain_offset_fine = 1; - layout.adc_postgain_offset_fine = 3; - layout.adc_gain_fine = 5; - - DPRINT(0, "WARNING: you need comedi driver version 0.7.67 or later\n" - "for this calibration to work properly\n" ); -/* this works when the first two caldacs are ad8804_debug */ - layout.dac_offset[ 0 ] = 16 + 3; - layout.dac_gain[ 0 ] = 16 + 1; - layout.dac_gain_fine[ 0 ] = 16 + 2; - layout.dac_linearity[ 0 ] = 16 + 0; - layout.dac_offset[ 1 ] = 16 + 7; - layout.dac_gain[ 1 ] = 16 + 5; - layout.dac_gain_fine[ 1 ] = 16 + 6; - layout.dac_linearity[ 1 ] = 16 + 4; - - return cal_ni_generic( setup, &layout ); -} - -static int cal_ni_daqcard_ai_16e_4(calibration_setup_t *setup) -{ - ni_caldac_layout_t layout; - - init_ni_caldac_layout( &layout ); - layout.adc_pregain_offset = 0; - layout.adc_postgain_offset = 1; - layout.adc_gain = 3; - layout.adc_unip_offset = 2; - - return cal_ni_generic( setup, &layout ); -} - -static int adc_offset_611x( unsigned int channel ) -{ - return 2 * channel + 2; -} -static int adc_gain_611x( unsigned int channel ) -{ - return 2 * channel + 1; -} -static int dac_offset_611x( unsigned int channel ) -{ - return 12 + 2 + 2 * channel; -} -static int dac_gain_611x( unsigned int channel ) -{ - return 12 + 1 + 2 * channel; -} -static int cal_ni_pci_611x( calibration_setup_t *setup ) -{ - generic_layout_t layout; - - init_generic_layout( &layout ); - layout.adc_offset = adc_offset_611x; - layout.adc_gain = adc_gain_611x; - layout.dac_offset = dac_offset_611x; - layout.dac_gain = dac_gain_611x; - layout.adc_high_observable = ni_reference_611x; - layout.adc_ground_observable = ni_zero_offset_611x; - layout.dac_high_observable = ni_ao_reference_611x; - layout.dac_ground_observable = ni_ao_zero_offset_611x; - - return generic_cal_by_channel_and_range( setup, &layout ); -} - -static int cal_ni_pci_mio_16e_4( calibration_setup_t *setup ) -{ - ni_caldac_layout_t layout; - - init_ni_caldac_layout( &layout ); - layout.adc_pregain_offset = 8; - layout.adc_postgain_offset = 4; - layout.adc_gain = 2; - layout.adc_unip_offset = 7; - layout.dac_offset[ 0 ] = 6; - layout.dac_gain[ 0 ] = 11; - layout.dac_linearity[ 0 ] = 10; - layout.dac_offset[ 1 ] = 9; - layout.dac_gain[ 1 ] = 5; - layout.dac_linearity[ 1 ] = 1; - - return cal_ni_generic( setup, &layout ); -} - -static int cal_ni_daqcard_6062e( calibration_setup_t *setup ) -{ - ni_caldac_layout_t layout; - - if( comedi_get_version_code( setup->dev ) <= COMEDI_VERSION_CODE( 0, 7, 66 ) ) - { - DPRINT(0, "WARNING: you need comedi driver version 0.7.67 or later\n" - "for this calibration to work properly\n" ); - } - init_ni_caldac_layout( &layout ); - layout.adc_pregain_offset = 8; - layout.adc_postgain_offset = 4; - layout.adc_gain = 2; - layout.adc_unip_offset = 7; - layout.dac_offset[ 0 ] = 6; - layout.dac_gain[ 0 ] = 11; - layout.dac_linearity[ 0 ] = 10; - layout.dac_offset[ 1 ] = 9; - layout.dac_gain[ 1 ] = 5; - layout.dac_linearity[ 1 ] = 1; - - return cal_ni_generic( setup, &layout ); -} - -static int cal_ni_daqcard_6024e( calibration_setup_t *setup ) -{ - ni_caldac_layout_t layout; - - init_ni_caldac_layout( &layout ); - - layout.adc_pregain_offset = 0; - layout.adc_postgain_offset = 4; - layout.adc_gain = 2; - //layout.adc_unip_offset = 7; - layout.dac_offset[ 0 ] = 6; - layout.dac_gain[ 0 ] = 3; - //layout.dac_linearity[ 0 ] = 10; - layout.dac_offset[ 1 ] = 1; - layout.dac_gain[ 1 ] = 5; - //layout.dac_linearity[ 1 ] = 1; - - return cal_ni_generic( setup, &layout ); -} - -static int cal_ni_daqcard_6036e( calibration_setup_t *setup ) -{ - ni_caldac_layout_t layout; - - if( comedi_get_version_code( setup->dev ) <= COMEDI_VERSION_CODE( 0, 7, 68 ) ) - { - DPRINT(0, "WARNING: you need comedi driver version 0.7.69 or later\n" - "for this calibration to work properly\n" ); - } - - init_ni_caldac_layout( &layout ); - - layout.adc_pregain_offset = 0; - layout.adc_pregain_offset_fine = 8; - layout.adc_postgain_offset = 4; - layout.adc_gain = 2; - - layout.dac_offset[0] = 6; - layout.dac_gain[0] = 7; - layout.dac_gain_fine[ 0 ] = 11; - layout.dac_linearity[0] = 10; - - layout.dac_offset[ 1 ] = 9; - layout.dac_gain[ 1 ] = 3; - layout.dac_gain_fine[ 1 ] = 5; - layout.dac_linearity[1] = 1; - - return cal_ni_generic( setup, &layout ); -} - -static int cal_ni_at_mio_64e_3( calibration_setup_t *setup ) -{ - ni_caldac_layout_t layout; - - if( comedi_get_version_code( setup->dev ) <= COMEDI_VERSION_CODE( 0, 7, 68 ) ) - { - DPRINT(0, "WARNING: you need comedi driver version 0.7.69 or later\n" - "for this calibration to work properly\n" ); - } - - init_ni_caldac_layout( &layout ); - - layout.adc_pregain_offset = 8; - layout.adc_postgain_offset = 4; - layout.adc_gain = 2; - - layout.dac_offset[0] = 6; - layout.dac_gain[0] = 14; - layout.dac_linearity[0] = 10; - - layout.dac_offset[ 1 ] = 9; - layout.dac_gain[ 1 ] = 5; - layout.dac_linearity[1] = 1; - - return cal_ni_generic( setup, &layout ); -} - -static void prep_adc_caldacs_generic( calibration_setup_t *setup, - const ni_caldac_layout_t *layout, unsigned int range ) -{ - int retval; - - if( setup->old_calibration == NULL ) - { - reset_caldac( setup, layout->adc_pregain_offset ); - reset_caldac( setup, layout->adc_postgain_offset ); - reset_caldac( setup, layout->adc_gain ); - reset_caldac( setup, layout->adc_pregain_offset_fine ); - reset_caldac( setup, layout->adc_postgain_offset_fine ); - reset_caldac( setup, layout->adc_gain_fine ); - reset_caldac( setup, layout->adc_unip_offset ); - reset_caldac( setup, layout->adc_unip_offset_fine ); - }else - { - retval = comedi_apply_parsed_calibration( setup->dev, setup->ad_subdev, - 0, range, AREF_GROUND, setup->old_calibration ); - if( retval < 0 ) - { - DPRINT( 0, "Failed to apply existing calibration, reseting adc caldacs.\n" ); - reset_caldac( setup, layout->adc_pregain_offset ); - reset_caldac( setup, layout->adc_postgain_offset ); - reset_caldac( setup, layout->adc_gain ); - reset_caldac( setup, layout->adc_pregain_offset_fine ); - reset_caldac( setup, layout->adc_postgain_offset_fine ); - reset_caldac( setup, layout->adc_gain_fine ); - reset_caldac( setup, layout->adc_unip_offset ); - reset_caldac( setup, layout->adc_unip_offset_fine ); - } - } -} - -static void prep_dac_caldacs_generic( calibration_setup_t *setup, - const ni_caldac_layout_t *layout, unsigned int channel, unsigned int range ) -{ - int retval; - - if( setup->da_subdev < 0 ) return; - - if( setup->old_calibration == NULL ) - { - reset_caldac( setup, layout->dac_offset[ channel ] ); - reset_caldac( setup, layout->dac_offset_fine[ channel ] ); - reset_caldac( setup, layout->dac_gain[ channel ] ); - reset_caldac( setup, layout->dac_gain_fine[ channel ] ); - reset_caldac( setup, layout->dac_linearity[ channel ] ); - }else - { - retval = comedi_apply_parsed_calibration( setup->dev, setup->da_subdev, - channel, range, AREF_GROUND, setup->old_calibration ); - if( retval < 0 ) - { - DPRINT( 0, "Failed to apply existing calibration, reseting dac caldacs.\n" ); - reset_caldac( setup, layout->dac_offset[ channel ] ); - reset_caldac( setup, layout->dac_offset_fine[ channel ] ); - reset_caldac( setup, layout->dac_gain[ channel ] ); - reset_caldac( setup, layout->dac_gain_fine[ channel ] ); - reset_caldac( setup, layout->dac_linearity[ channel ] ); - } - } -} - -static void prep_adc_for_dac( calibration_setup_t *setup, int observable ) -{ - unsigned int adc_range; - int chanspec; - - if( observable < 0 ) return; - - chanspec = setup->observables[ observable ].observe_insn.chanspec; - adc_range = CR_RANGE( chanspec ); - - comedi_apply_parsed_calibration( setup->dev, setup->ad_subdev, - 0, adc_range, 0, setup->new_calibration ); -} - -static int cal_ni_generic( calibration_setup_t *setup, const ni_caldac_layout_t *layout ) -{ - comedi_calibration_setting_t *current_cal; - int retval; - int num_ai_ranges; - int range; - int ai_unipolar_lowgain, ai_bipolar_lowgain; - - num_ai_ranges = comedi_get_n_ranges( setup->dev, setup->ad_subdev, 0 ); - assert( num_ai_ranges > 0 ); - - ai_bipolar_lowgain = get_bipolar_lowgain( setup->dev, setup->ad_subdev ); - ai_unipolar_lowgain = get_unipolar_lowgain( setup->dev, setup->ad_subdev ); - - prep_adc_caldacs_generic( setup, layout, ai_bipolar_lowgain ); - - current_cal = sc_alloc_calibration_setting( setup ); - current_cal->subdevice = setup->ad_subdev; - reset_caldac( setup, layout->adc_gain_fine ); - generic_do_relative( setup, current_cal, ni_zero_offset_low, - ni_reference_low, layout->adc_gain ); - reset_caldac( setup, layout->adc_postgain_offset_fine ); - generic_do_relative( setup, current_cal, ni_zero_offset_low, - ni_zero_offset_high, layout->adc_postgain_offset ); - generic_do_relative( setup, current_cal, ni_zero_offset_low, - ni_zero_offset_high, layout->adc_postgain_offset_fine ); - reset_caldac( setup, layout->adc_pregain_offset_fine ); - generic_do_cal( setup, current_cal, ni_zero_offset_high, layout->adc_pregain_offset ); - generic_do_relative( setup, current_cal, ni_zero_offset_low, - ni_reference_low, layout->adc_gain_fine ); - generic_do_cal( setup, current_cal, ni_zero_offset_high, - layout->adc_pregain_offset_fine ); - sc_push_channel( current_cal, SC_ALL_CHANNELS ); - sc_push_aref( current_cal, SC_ALL_AREFS ); - if( layout->adc_unip_offset >= 0 ) - { - sc_push_range( current_cal, SC_ALL_RANGES ); - }else - { - for( range = 0; range < num_ai_ranges; range++ ) - { - if( is_bipolar( setup->dev, setup->ad_subdev, 0, range ) ) - sc_push_range( current_cal, range ); - } - } - - /* do seperate unipolar calibration if appropriate */ - if( ai_unipolar_lowgain >= 0 ) - { - current_cal = sc_alloc_calibration_setting( setup ); - current_cal->subdevice = setup->ad_subdev; - if( layout->adc_unip_offset >= 0 ) - { - reset_caldac( setup, layout->adc_unip_offset_fine ); - generic_do_cal( setup, current_cal, ni_unip_zero_offset_high, - layout->adc_unip_offset ); - generic_do_cal( setup, current_cal, ni_unip_zero_offset_high, - layout->adc_unip_offset_fine ); - /* if we don't have a unipolar offset caldac, do a fully - * independent calibration for unipolar ranges */ - }else - { - prep_adc_caldacs_generic( setup, layout, ai_unipolar_lowgain ); - generic_peg( setup, ni_unip_zero_offset_low, - layout->adc_pregain_offset, 1 ); - generic_peg( setup, ni_unip_zero_offset_low, - layout->adc_postgain_offset, 1 ); - reset_caldac(setup, layout->adc_gain_fine); - generic_do_relative( setup, current_cal, ni_unip_zero_offset_low, - ni_unip_reference_low, layout->adc_gain ); - reset_caldac(setup, layout->adc_postgain_offset_fine); - generic_do_relative( setup, current_cal, ni_unip_zero_offset_low, - ni_unip_zero_offset_high, layout->adc_postgain_offset ); - generic_do_relative( setup, current_cal, ni_unip_zero_offset_low, - ni_unip_zero_offset_high, layout->adc_postgain_offset_fine ); - reset_caldac( setup, layout->adc_pregain_offset_fine ); - generic_do_cal( setup, current_cal, ni_unip_zero_offset_high, - layout->adc_pregain_offset ); - generic_do_relative( setup, current_cal, ni_unip_zero_offset_low, - ni_unip_reference_low, layout->adc_gain_fine ); - generic_do_cal( setup, current_cal, ni_unip_zero_offset_high, - layout->adc_pregain_offset_fine ); - } - for( range = 0; range < num_ai_ranges; range++ ) - { - if( is_unipolar( setup->dev, setup->ad_subdev, 0, range ) ) - sc_push_range( current_cal, range ); - } - sc_push_channel( current_cal, SC_ALL_CHANNELS ); - sc_push_aref( current_cal, SC_ALL_AREFS ); - } - if( setup->da_subdev >= 0 && setup->do_output ) - { - unsigned int channel, range; - int ao_unipolar_lowgain = get_unipolar_lowgain( setup->dev, setup->da_subdev ); - int ao_bipolar_lowgain = get_bipolar_lowgain( setup->dev, setup->da_subdev ); - int num_ao_ranges; - - for( channel = 0; channel < 2; channel++ ) - { - num_ao_ranges = comedi_get_n_ranges( setup->dev, setup->da_subdev, channel ); - prep_dac_caldacs_generic( setup, layout, channel, ao_bipolar_lowgain ); - prep_adc_for_dac( setup, ni_ao_reference( channel ) ); - - current_cal = sc_alloc_calibration_setting( setup ); - current_cal->subdevice = setup->da_subdev; - generic_do_linearity( setup, current_cal, ni_ao_zero_offset( channel ), - ni_ao_mid_linearity( channel ), ni_ao_reference( channel ), - layout->dac_linearity[ channel ] ); - reset_caldac(setup, layout->dac_offset_fine[channel]); - generic_do_cal( setup, current_cal, ni_ao_zero_offset( channel ), - layout->dac_offset[ channel ] ); - generic_do_cal( setup, current_cal, ni_ao_zero_offset( channel ), - layout->dac_offset_fine[ channel ] ); - reset_caldac( setup, layout->dac_gain_fine[ channel ] ); - generic_do_cal( setup, current_cal, ni_ao_reference( channel ), - layout->dac_gain[ channel ] ); - generic_do_cal( setup, current_cal, ni_ao_reference( channel ), - layout->dac_gain_fine[ channel ] ); - sc_push_channel( current_cal, channel ); - for( range = 0; range < num_ao_ranges; range++ ) - { - if( is_bipolar( setup->dev, setup->da_subdev, channel, range ) ) - sc_push_range( current_cal, range ); - } - sc_push_aref( current_cal, SC_ALL_AREFS ); - - if( ao_unipolar_lowgain >= 0 ) - { - prep_dac_caldacs_generic( setup, layout, channel, ao_unipolar_lowgain ); - - current_cal = sc_alloc_calibration_setting( setup ); - current_cal->subdevice = setup->da_subdev; - generic_do_linearity( setup, current_cal, ni_ao_unip_low_linearity( channel ), - ni_ao_unip_mid_linearity( channel ), ni_ao_unip_reference( channel ), - layout->dac_linearity[ channel ] ); - reset_caldac( setup, layout->dac_offset_fine[ channel ] ); - generic_do_cal( setup, current_cal, ni_ao_unip_zero_offset( channel), - layout->dac_offset[ channel ] ); - generic_do_cal( setup, current_cal, ni_ao_unip_zero_offset( channel), - layout->dac_offset_fine[ channel ] ); - reset_caldac( setup, layout->dac_gain_fine[ channel ] ); - generic_do_cal( setup, current_cal, ni_ao_unip_reference( channel ), - layout->dac_gain[ channel ] ); - generic_do_cal( setup, current_cal, ni_ao_unip_reference( channel ), - layout->dac_gain_fine[ channel ] ); - sc_push_channel( current_cal, channel ); - for( range = 0; range < num_ao_ranges; range++ ) - { - if( is_unipolar( setup->dev, setup->da_subdev, channel, range ) ) - sc_push_range( current_cal, range ); - } - sc_push_aref( current_cal, SC_ALL_AREFS ); - } - } - } - - retval = write_calibration_file( setup ); - - return retval; -} - -static double ni_get_reference( calibration_setup_t *setup, int lsb_loc,int msb_loc) -{ - int lsb,msb; - int16_t uv; - double ref; - - lsb=read_eeprom( setup, lsb_loc ); - msb=read_eeprom( setup, msb_loc ); - assert( lsb >=0 && msb >= 0 ); - DPRINT(0,"eeprom reference lsb=%d msb=%d\n", lsb, msb); - - uv = ( lsb & 0xff ) | ( ( msb << 8 ) & 0xff00 ); - ref=5.000+1.0e-6*uv; - DPRINT(0, "resulting reference voltage: %g\n", ref ); - if( fabs( ref - 5.0 ) > 0.005 ) - DPRINT( 0, "WARNING: eeprom indicates reference is more than 5mV away\n" - "from 5V. Possible bad eeprom address?\n" ); - - return ref; -} - -/**************** - NI 671x and 673x support - **************/ - -static const int channels_per_ad8804 = 16; - -static inline int ni67xx_ao_gain_caldac(unsigned int ao_channel) -{ - int ad8804_gain_channels[4] = {8, 2, 11, 5}; - int caldac_channel = ad8804_gain_channels[ao_channel % 4]; - int caldac_index = ao_channel / 4; - /* just guessing that second ad8804 is works for ao channels 4-7 - * the same as the first ad8804 works for ao channels 0-3 */ - return caldac_index * channels_per_ad8804 + caldac_channel; -} -static inline int ni67xx_ao_linearity_caldac(unsigned int ao_channel) -{ - int ad8804_linearity_channels[4] = {4, 10, 1, 0}; - int caldac_channel = ad8804_linearity_channels[ao_channel % 4]; - int caldac_index = ao_channel / 4; - - return caldac_index * channels_per_ad8804 + caldac_channel; -} -static inline int ni67xx_ao_offset_caldac(unsigned int ao_channel) -{ - int ad8804_offset_channels[4] = {7, 6, 9, 3}; - int caldac_channel = ad8804_offset_channels[ao_channel % 4]; - int caldac_index = ao_channel / 4; - - return caldac_index * channels_per_ad8804 + caldac_channel; -} - -static int ni67xx_ao_ground_observable_index( const calibration_setup_t *setup, - unsigned int channel, unsigned int ao_range ) -{ - return 3 * channel + 0; -} - -static int ni67xx_ao_mid_observable_index( const calibration_setup_t *setup, - unsigned int channel, unsigned int ao_range ) -{ - return 3 * channel + 1; -} - -static int ni67xx_ao_high_observable_index( const calibration_setup_t *setup, - unsigned int channel, unsigned int ao_range ) -{ - return 3 * channel + 2; -} - -static const double ni67xx_unitless_adc_offset = 0.5; - -/* determine conversion factor between actual voltage and - * interval [0,1) returned by reads from the calibration adc - * subdevice. - */ -static double ni67xx_unitless_adc_slope(calibration_setup_t *setup) -{ - double reference_in_volts; - double reference_unitless; - double slope; - comedi_insn insn; - lsampl_t data; - comedi_range *range; - static const int maxdata = 0x10000; - int retval; - - if(ni_board(setup)->ref_eeprom_lsb >= 0 && - ni_board(setup)->ref_eeprom_msb >= 0) - { - reference_in_volts = ni_get_reference(setup, - ni_board(setup)->ref_eeprom_lsb, ni_board(setup)->ref_eeprom_msb ); - }else - { - DPRINT( 0, "WARNING: unknown eeprom address for reference voltage\n" - "correction. This might be fixable if you send us an eeprom dump\n" - "(see the demo/eeprom_dump program).\n"); - reference_in_volts = 5.0; - } - - memset(&insn, 0, sizeof(insn)); - insn.insn = INSN_READ; - insn.n = 1; - insn.subdev = setup->ad_subdev; - insn.data = &data; - insn.chanspec = CR_PACK(0, 0, AREF_GROUND) | CR_ALT_SOURCE; - retval = comedi_do_insn(setup->dev, &insn); - assert(retval >= 0); - - range = comedi_get_range(setup->dev, setup->ad_subdev, 0, 0); - assert( range ); - reference_unitless = comedi_to_phys(data, range, maxdata); - - slope = (reference_unitless - ni67xx_unitless_adc_offset) / reference_in_volts; - - return slope; -} - -/* calibration adc uses RANGE_UNKNOWN, so it will return a value from - 0.0 to 1.0 instead of a voltage, so we need to renormalize. */ -static void ni67xx_set_target( calibration_setup_t *setup, int obs, double target, double slope) -{ - set_target(setup, obs, target); - /* convert target from volts to interval [0,1) which calibration - * adc returns */ - setup->observables[obs].target *= slope; - setup->observables[obs].target += ni67xx_unitless_adc_offset; -} - -static void ni67xx_setup_observables( calibration_setup_t *setup ) -{ - comedi_insn tmpl, po_tmpl; - observable *o; - int num_ao_channels; - int i; - double slope; - - slope = ni67xx_unitless_adc_slope(setup); - - /* calibration adc is very slow (15HZ) but accurate, so only sample a few times */ - setup->sv_order = 1; - - num_ao_channels = comedi_get_n_channels(setup->dev, setup->da_subdev); - assert(num_ao_channels >= 0); - - memset( &tmpl, 0, sizeof(tmpl) ); - tmpl.insn = INSN_READ; - tmpl.n = 1; - tmpl.subdev = setup->ad_subdev; - - memset( &po_tmpl, 0, sizeof(po_tmpl) ); - po_tmpl.insn = INSN_WRITE; - po_tmpl.n = 1; - po_tmpl.subdev = setup->da_subdev; - - setup->n_observables = 0; - - for(i = 0; i < num_ao_channels; i++) - { - o = setup->observables + ni67xx_ao_ground_observable_index( setup, - i, 0); - o->reference_source = -1; - assert( o->name == NULL ); - asprintf(&o->name, "dac%i ground, ground referenced", i); - o->preobserve_insn = po_tmpl; - o->preobserve_insn.chanspec = CR_PACK(i, 0, AREF_GROUND); - o->preobserve_insn.data = o->preobserve_data; - o->observe_insn = tmpl; - o->observe_insn.chanspec = CR_PACK(i, 0, AREF_GROUND); - ni67xx_set_target(setup, ni67xx_ao_ground_observable_index(setup, i, 0), 0.0, slope); - setup->n_observables++; - - o = setup->observables + ni67xx_ao_mid_observable_index( setup, - i, 0); - o->reference_source = -1; - assert( o->name == NULL ); - asprintf(&o->name, "dac%i mid, ground referenced", i); - o->preobserve_insn = po_tmpl; - o->preobserve_insn.chanspec = CR_PACK(i, 0, AREF_GROUND); - o->preobserve_insn.data = o->preobserve_data; - o->observe_insn = tmpl; - o->observe_insn.chanspec = CR_PACK(i, 0, AREF_GROUND); - ni67xx_set_target(setup, ni67xx_ao_mid_observable_index(setup, i, 0), 4.0, slope); - setup->n_observables++; - - o = setup->observables + ni67xx_ao_high_observable_index( setup, i, 0); - o->reference_source = -1; - assert( o->name == NULL ); - asprintf(&o->name, "dac%i high, ground referenced", i); - o->preobserve_insn = po_tmpl; - o->preobserve_insn.chanspec = CR_PACK( i, 0, AREF_GROUND ); - o->preobserve_insn.data = o->preobserve_data; - o->observe_insn = tmpl; - o->observe_insn.chanspec = CR_PACK(i, 0, AREF_GROUND); - ni67xx_set_target(setup, ni67xx_ao_high_observable_index(setup, i, 0), 8.0, slope); - setup->n_observables++; - } - - return; -} - -static int cal_ni_pci_6711(calibration_setup_t *setup) -{ - generic_layout_t layout; - - if( comedi_get_version_code( setup->dev ) <= COMEDI_VERSION_CODE(0, 7, 69)) - { - DPRINT(0, "WARNING: you need comedi driver version 0.7.69 or later\n" - "for this calibration to work properly\n" ); - } - init_generic_layout( &layout ); - layout.dac_gain = ni67xx_ao_gain_caldac; - layout.dac_linearity = ni67xx_ao_linearity_caldac; - layout.dac_offset = ni67xx_ao_offset_caldac; - layout.dac_high_observable = ni67xx_ao_high_observable_index; - layout.dac_mid_observable = ni67xx_ao_mid_observable_index; - layout.dac_ground_observable = ni67xx_ao_ground_observable_index; - layout.dac_fractional_tolerance = get_tolerance( setup, setup->da_subdev, 1.0 ); - return generic_cal_ao(setup, &layout); -} - diff --git a/comedi_calibrate/ni_labpc.c b/comedi_calibrate/ni_labpc.c deleted file mode 100644 index e89db38..0000000 --- a/comedi_calibrate/ni_labpc.c +++ /dev/null @@ -1,256 +0,0 @@ -/* - calibration support for NI labpc and compatible boards - - copyright (C) 2003 by Frank Mori Hess - - */ - -/*************************************************************************** - * * - * This program is free software; you can redistribute it and/or modify * - * it under the terms of the GNU Lesser General Public License as * - * published by * - * the Free Software Foundation; either version 2.1 of the License, or * - * (at your option) any later version. * - * * - ***************************************************************************/ - -#define _GNU_SOURCE - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "calib.h" - -char ni_labpc_id[] = "$Id$"; - -int ni_labpc_setup( calibration_setup_t *setup , const char *device_name ); -static int cal_ni_labpc( calibration_setup_t *setup ); - -enum labpc_caldacs -{ - DAC0_GAIN = 1, - ADC_OFFSET_FINE = 2, - DAC1_GAIN = 5, - ADC_GAIN = 6, - ADC_OFFSET_COARSE_ALT = 7, - DAC1_OFFSET = 9, - ADC_POSTGAIN_OFFSET = 10, - DAC0_OFFSET_ALT = 11, - ADC_OFFSET_COARSE = 12, - DAC0_OFFSET = 13, -}; -static inline unsigned int DAC_OFFSET( unsigned int channel ) -{ - if( channel ) return DAC1_OFFSET; - else return DAC0_OFFSET; -} -static inline unsigned int DAC_GAIN( unsigned int channel ) -{ - if( channel ) return DAC1_GAIN; - else return DAC0_GAIN; -} - -int ni_labpc_setup( calibration_setup_t *setup , const char *device_name ) -{ - if( setup->caldac_subdev < 0 ) - { - fprintf( stderr, "no caldac subdevice found\n"); - return -1; - } - setup->status = STATUS_DONE; - setup->do_cal = cal_ni_labpc; - setup_caldacs( setup, setup->caldac_subdev ); - - return 0; -} - - -/* load analog input caldacs from eeprom values (depend on range used) */ -static void labpc_grab_ai_calibration( calibration_setup_t *setup, unsigned int range ) -{ - comedi_calibration_setting_t *current_cal; - /* points to (end of) analog input bipolar calibration values */ - const int ai_bip_frame = read_eeprom( setup, 127 ); - enum offset_indices - { - coarse_offset_index = 0, - fine_offset_index = -1, - }; - /* points to (end of) analog input unipolar calibration values */ - const int ai_unip_frame = read_eeprom( setup, 126 ); - /* points to (end of) analog input bipolar calibration values */ - const int bip_gain_frame = read_eeprom( setup, 123 ); - /* points to (end of) analog input bipolar calibration values */ - const int unip_gain_frame = read_eeprom( setup, 122 ); - /* points to (end of) analog input bipolar calibration values */ - const int bip_offset_frame = read_eeprom( setup, 121 ); - /* points to (end of) analog input bipolar calibration values */ - const int unip_offset_frame = read_eeprom( setup, 120 ); - int ai_frame, gain_frame, offset_frame; - /* eeprom offsets by range */ - int range_to_index[ 14 ] = - { - 0, - -2, - -3, - -4, - -5, - -6, - -7, - 0, - -2, - -3, - -4, - -5, - -6, - -7, - }; - int value; - - if( is_unipolar( setup->dev, setup->ad_subdev, 0, range ) ) - { - ai_frame = ai_unip_frame; - gain_frame = unip_gain_frame; - offset_frame = unip_offset_frame; - }else - { - ai_frame = ai_bip_frame; - gain_frame = bip_gain_frame; - offset_frame = bip_offset_frame; - } - assert( ai_frame >=0 && gain_frame >= 0 && offset_frame >= 0 ); - - current_cal = sc_alloc_calibration_setting( setup ); - - /* load coarse offset */ - value = read_eeprom( setup, ai_frame + coarse_offset_index ); - assert( value >= 0 ); - update_caldac( setup, ADC_OFFSET_COARSE, value ); - sc_push_caldac( current_cal, setup->caldacs[ ADC_OFFSET_COARSE ] ); - update_caldac( setup, ADC_OFFSET_COARSE_ALT, value ); - sc_push_caldac( current_cal, setup->caldacs[ ADC_OFFSET_COARSE_ALT ] ); - - /* load fine offset */ - value = read_eeprom( setup, ai_frame + fine_offset_index ); - assert( value >= 0 ); - update_caldac( setup, ADC_OFFSET_FINE, value ); - sc_push_caldac( current_cal, setup->caldacs[ ADC_OFFSET_FINE ] ); - - /* load postgain offset */ - value = read_eeprom( setup, offset_frame + range_to_index[ range ] ); - assert( value >= 0 ); - update_caldac( setup, ADC_POSTGAIN_OFFSET, value ); - sc_push_caldac( current_cal, setup->caldacs[ ADC_POSTGAIN_OFFSET ] ); - - /* load gain */ - value = read_eeprom( setup, gain_frame + range_to_index[ range ] ); - assert( value >= 0 ); - update_caldac( setup, ADC_GAIN, value ); - sc_push_caldac( current_cal, setup->caldacs[ ADC_GAIN ] ); - - current_cal->subdevice = setup->ad_subdev; - sc_push_channel( current_cal, SC_ALL_CHANNELS ); - sc_push_range( current_cal, range ); - sc_push_aref( current_cal, SC_ALL_AREFS ); - - DPRINT( 0, "loaded adc range %i calibration from eeprom\n", range ); -} - -static int ao_offset_index( unsigned int channel ) -{ - if( channel ) return -2; - else return 0; -} - -static int ao_gain_index( unsigned int channel ) -{ - if( channel ) return -3; - else return -1; -} - -/* load analog output caldacs from eeprom values (depend on range used) */ -static void labpc_grab_ao_calibration( calibration_setup_t *setup, - unsigned int channel, unsigned int range) -{ - comedi_calibration_setting_t *current_cal; - /* points to (end of) analog output bipolar calibration values */ - int ao_bip_frame = read_eeprom( setup, 125 ); - /* points to (end of) analog output bipolar calibration values */ - int ao_unip_frame = read_eeprom( setup, 124 ); - int ao_frame; - int value; - - current_cal = sc_alloc_calibration_setting( setup ); - - if( is_unipolar( setup->dev, setup->da_subdev, 0, range ) ) - ao_frame = ao_unip_frame; - else - ao_frame = ao_bip_frame; - assert( ao_frame >= 0 ); - - /* load offset */ - value = read_eeprom( setup, ao_frame + ao_offset_index( channel ) ); - assert( value >= 0 ); - update_caldac( setup, DAC_OFFSET( channel ), value ); - sc_push_caldac( current_cal, setup->caldacs[ DAC_OFFSET( channel ) ] ); - if( channel == 0 ) - { - update_caldac( setup, DAC0_OFFSET_ALT, value ); - sc_push_caldac( current_cal, setup->caldacs[ DAC0_OFFSET_ALT ] ); - } - - // load gain calibration - value = read_eeprom( setup, ao_frame + ao_gain_index( channel ) ); - assert( value >= 0 ); - update_caldac( setup, DAC_GAIN( channel ), value ); - sc_push_caldac( current_cal, setup->caldacs[ DAC_GAIN( channel ) ] ); - - current_cal->subdevice = setup->da_subdev; - sc_push_channel( current_cal, channel ); - sc_push_range( current_cal, range ); - sc_push_aref( current_cal, SC_ALL_AREFS ); - - DPRINT( 0, "loaded dac channel %i range %i calibration from eeprom\n", - channel, range ); -} - - -static int cal_ni_labpc( calibration_setup_t *setup ) -{ - int range, channel, num_ai_ranges, num_ao_ranges; - - if( comedi_get_version_code( setup->dev ) <= COMEDI_VERSION_CODE( 0, 7, 66 ) ) - { - DPRINT(0, "WARNING: you need comedi driver version 0.7.67 or later\n" - "for this calibration to work properly\n" ); - } - - num_ai_ranges = comedi_get_n_ranges( setup->dev, setup->ad_subdev, 0 ); - assert( num_ai_ranges > 0 ); - num_ao_ranges = comedi_get_n_ranges( setup->dev, setup->da_subdev, 0 ); - assert( num_ao_ranges > 0 ); - - for( range = 0; range < num_ai_ranges; range++ ) - labpc_grab_ai_calibration( setup, range ); - - if( setup->da_subdev >= 0 && setup->do_output ) - { - for( channel = 0; channel < 2; channel++ ) - { - for( range = 0; range < num_ao_ranges; range++ ) - labpc_grab_ao_calibration( setup, channel, range ); - } - } - - return write_calibration_file( setup ); -} - diff --git a/comedi_calibrate/ni_m_series.c b/comedi_calibrate/ni_m_series.c deleted file mode 100644 index 1911e3d..0000000 --- a/comedi_calibrate/ni_m_series.c +++ /dev/null @@ -1,192 +0,0 @@ -/* - calibration support for NI m-series boards - - copyright (C) 2003, 2006 by Frank Mori Hess - - */ - -/*************************************************************************** - * * - * This program is free software; you can redistribute it and/or modify * - * it under the terms of the GNU Lesser General Public License as * - * published by * - * the Free Software Foundation; either version 2.1 of the License, or * - * (at your option) any later version. * - * * - ***************************************************************************/ - -#define _GNU_SOURCE - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "calib.h" - -char ni_m_series_id[] = "$Id$"; - -int ni_m_series_setup(calibration_setup_t *setup , const char *device_name); -static int cal_ni_m_series(calibration_setup_t *setup); - -struct board_struct{ - char *name; - int status; -}; - -static struct board_struct boards[]={ - { "pci-6289", STATUS_UNKNOWN}, -}; - -static const int n_boards = sizeof(boards) / sizeof(boards[0]); - -static struct board_struct* ni_board(calibration_setup_t *setup) -{ - return setup->private_data; -} - -uint16_t ni_read_eeprom_u16(calibration_setup_t *setup, int offset) -{ - uint16_t value = read_eeprom(setup, offset) << 8; - value |= read_eeprom(setup, offset + 1) & 0xff; - return value; -} - -float ni_read_eeprom_f32(calibration_setup_t *setup, int offset) -{ - union float_converter - { - uint32_t raw; - float converted; - }; - union float_converter my_converter; - - assert(sizeof(float) == 4); - my_converter.raw = read_eeprom(setup, offset++) << 24 & 0xff000000; - my_converter.raw |= (read_eeprom(setup, offset++) << 16) & 0xff0000; - my_converter.raw |= (read_eeprom(setup, offset++) << 8) & 0xff00; - my_converter.raw |= read_eeprom(setup, offset++) & 0xff; - return my_converter.converted; -} - -static void ni_m_series_setup_observables(calibration_setup_t *setup) -{ - static const int positive_cal_shift = 7; - static const int negative_cal_shift = 10; - enum positive_cal_source - { - POS_CAL_GROUND = 0 << positive_cal_shift, - POS_CAL_REF = 2 << positive_cal_shift, - POS_CAL_500mV = 3 << positive_cal_shift, - POS_CAL_2V = 4 << positive_cal_shift, - POS_CAL_10V = 5 << positive_cal_shift, - POS_CAL_AO = 7 << positive_cal_shift - }; - enum negative_cal_source - { - NEG_CAL_GROUND = 0 << negative_cal_shift, - NEG_CAL_850mV = 2 << negative_cal_shift, - NEG_CAL_10V = 7 << negative_cal_shift, - }; - static const int calibration_area_offset = 24; - int calibration_area_start; - static const int voltage_reference_offset = 12; - comedi_insn tmpl; - double voltage_reference; - observable *o = setup->observables; - - calibration_area_start = ni_read_eeprom_u16(setup, calibration_area_offset); - DPRINT(1, "calibration area starts at offset %i\n", calibration_area_start); - voltage_reference = ni_read_eeprom_f32(setup, calibration_area_start + voltage_reference_offset); - DPRINT(1, "eeprom says voltage reference is %g V.\n", voltage_reference); - - memset(&tmpl,0,sizeof(tmpl)); - tmpl.insn = INSN_READ; - tmpl.n = 1; - tmpl.subdev = setup->ad_subdev; - - o = setup->observables; - - o->name = "ai, reference voltage source"; - o->observe_insn = tmpl; - o->observe_insn.chanspec = CR_PACK(0, 0, AREF_DIFF) | CR_ALT_SOURCE | CR_ALT_FILTER; - o->reference_source = NEG_CAL_GROUND | POS_CAL_REF; - o->target = voltage_reference; - ++o; - - o->name = "ai, nominal 10V"; - o->observe_insn = tmpl; - o->observe_insn.chanspec = CR_PACK(0, 0, AREF_DIFF) | CR_ALT_SOURCE | CR_ALT_FILTER; - o->reference_source = NEG_CAL_GROUND | POS_CAL_10V; - o->target = 10.; - ++o; - - o->name = "ai, nominal 2V"; - o->observe_insn = tmpl; - o->observe_insn.chanspec = CR_PACK(0, 0, AREF_DIFF) | CR_ALT_SOURCE | CR_ALT_FILTER; - o->reference_source = NEG_CAL_GROUND | POS_CAL_2V; - o->target = 2.; - ++o; - - o->name = "ai, nominal 0.5V"; - o->observe_insn = tmpl; - o->observe_insn.chanspec = CR_PACK(0, 0, AREF_DIFF) | CR_ALT_SOURCE | CR_ALT_FILTER; - o->reference_source = NEG_CAL_GROUND | POS_CAL_500mV; - o->target = 0.5; - ++o; - - o->name = "ai, ground"; - o->observe_insn = tmpl; - o->observe_insn.chanspec = CR_PACK(0, 0, AREF_DIFF) | CR_ALT_SOURCE | CR_ALT_FILTER; - o->reference_source = NEG_CAL_GROUND | POS_CAL_GROUND; - o->target = 0.0; - ++o; - - o->name = "ai, nominal -0.85V"; - o->observe_insn = tmpl; - o->observe_insn.chanspec = CR_PACK(0, 0, AREF_DIFF) | CR_ALT_SOURCE | CR_ALT_FILTER; - o->reference_source = NEG_CAL_850mV | POS_CAL_GROUND; - o->target = -0.85; - ++o; - - o->name = "ai, nominal -10V"; - o->observe_insn = tmpl; - o->observe_insn.chanspec = CR_PACK(0, 0, AREF_DIFF) | CR_ALT_SOURCE | CR_ALT_FILTER; - o->reference_source = NEG_CAL_10V | POS_CAL_GROUND; - o->target = -10.; - ++o; - - setup->n_observables = o - setup->observables; -} - -int ni_m_series_setup(calibration_setup_t *setup , const char *device_name) -{ - int i; - for(i = 0; i < n_boards; ++i) - { - if(!strcmp(device_name, boards[i].name)) - { - setup->status = boards[i].status; - setup->private_data = &boards[i]; - setup->do_cal = &cal_ni_m_series; - ni_m_series_setup_observables(setup); - break; - } - } - if(i == n_boards) return -1; - - return 0; -} - -static int cal_ni_m_series(calibration_setup_t *setup) -{ - return 0; -} - diff --git a/comedi_calibrate/other.c b/comedi_calibrate/other.c deleted file mode 100644 index b410232..0000000 --- a/comedi_calibrate/other.c +++ /dev/null @@ -1,42 +0,0 @@ -/* -comedi_calibrate/other.c - functions that might move to the library -Copyright (C) 2002 David A. Schleef - -This program is free software; you can redistribute it and/or modify -it under the terms of version 2 of the GNU General Public License as -published by the Free Software Foundation. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program; if not, write to the Free Software -Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -*/ - - -#include -#include -#include - -void comedi_nanodelay(comedi_t *dev, unsigned int delay) -{ - comedi_insn insn; - lsampl_t data = delay; - int retval; - - memset(&insn, 0, sizeof(insn)); - insn.insn = INSN_WAIT; - insn.n = 1; - insn.data = &data; - retval = comedi_do_insn( dev, &insn ); - // fall back on usleep for long delays - if( retval < 0 ) - usleep( delay / 1000 ); - - return; -} - - diff --git a/comedi_calibrate/results/DAQCard-6024E b/comedi_calibrate/results/DAQCard-6024E deleted file mode 100644 index 13bcd0f..0000000 --- a/comedi_calibrate/results/DAQCard-6024E +++ /dev/null @@ -1,64 +0,0 @@ -Warning: device not fully calibrated due to insufficient information -Please send this output to -Id: comedi_calibrate.c,v 1.36 2002/06/12 23:19:39 ds Exp -Driver name: ni_mio_cs -Device name: DAQCard-6024E -Id: ni.c,v 1.30 2002/06/12 23:19:39 ds Exp -Comedi version: 0.7.66 -ai, bipolar zero offset, low gain -offset 4.62(21)e-3, target 0 -caldac[0] gain=-1.10618(49)e-4 V/bit S_min=114170 dof=254 -caldac[1] gain= V/bit S_min=inf dof=254 -caldac[2] gain=-7.51323(55)e-4 V/bit S_min=1.56203e+06 dof=254 -caldac[4] gain=-7.69042(51)e-4 V/bit S_min=99089.3 dof=254 -caldac[8] gain=-6.4(12)e-10 V/bit S_min=4701.72 dof=254 -ai, bipolar zero offset, high gain -offset -0.0186344(18), target 0 -caldac[0] gain=-1.183542(45)e-4 V/bit S_min=4.76705e+06 dof=254 -caldac[2] gain=-2.4085(13)e-6 V/bit S_min=100923 dof=254 -caldac[4] gain=-3.8300(13)e-6 V/bit S_min=1165.14 dof=254 -ai, bipolar voltage reference, low gain -offset 4.745078(98), target 5 -caldac[0] gain=-1.17699(55)e-4 V/bit S_min=94250.4 dof=254 -caldac[2] gain=-1.119095(62)e-3 V/bit S_min=9.92063e+06 dof=254 -caldac[4] gain=-7.67072(51)e-4 V/bit S_min=91956.5 dof=254 -ai, unipolar zero offset, low gain -offset 9.797314( 0), target 0 -caldac[0] gain=-1.20174(51)e-4 V/bit S_min=111385 dof=254 -caldac[1] gain=-1.28(25)e-8 V/bit S_min=3018.72 dof=254 -caldac[2] gain=-7.45864(57)e-4 V/bit S_min=5.43203e+06 dof=254 -caldac[4] gain=-7.69423(50)e-4 V/bit S_min=103966 dof=254 -caldac[5] gain=9.0(22)e-9 V/bit S_min=4066.28 dof=254 -caldac[6] gain=-1.16(24)e-8 V/bit S_min=3194.71 dof=254 -ao 0, zero offset, low gain -offset -0.30472(13), target 0.002442 -caldac[0] gain=-1.19038(58)e-4 V/bit S_min=82414.7 dof=254 -caldac[2] gain=-8.52755(59)e-4 V/bit S_min=4.88665e+06 dof=254 -caldac[4] gain=-7.68927(54)e-4 V/bit S_min=81115.2 dof=254 -caldac[6] gain=-7.64443(53)e-4 V/bit S_min=83476.4 dof=254 -ao 0, reference voltage, low gain -offset -0.31174(20), target -0.001221 -caldac[0] gain=-1.14856(54)e-4 V/bit S_min=104201 dof=254 -caldac[2] gain=-9.28861(60)e-4 V/bit S_min=4.81254e+06 dof=254 -caldac[3] gain=-1.08096(52)e-4 V/bit S_min=75744.9 dof=254 -caldac[4] gain=-7.69600(51)e-4 V/bit S_min=93869.3 dof=254 -caldac[6] gain=-7.65394(53)e-4 V/bit S_min=84042.7 dof=254 -ao 1, zero offset, low gain -offset -0.212454( 0), target 0.002442 -caldac[0] gain=-1.19136(57)e-4 V/bit S_min=86134.3 dof=254 -caldac[1] gain=-8.72967(55)e-4 V/bit S_min=74993.4 dof=254 -caldac[2] gain=-7.44876(60)e-4 V/bit S_min=4.82335e+06 dof=254 -caldac[3] gain=4.94(25)e-9 V/bit S_min=32381.1 dof=254 -caldac[4] gain=-7.68712(53)e-4 V/bit S_min=88461.4 dof=254 -caldac[5] gain= V/bit S_min=inf dof=254 -caldac[6] gain= V/bit S_min=inf dof=254 -caldac[7] gain= V/bit S_min=inf dof=254 -ao 1, reference voltage, low gain -offset -0.241758( 0), target -0.001221 -caldac[0] gain=-1.19039(55)e-4 V/bit S_min=93637.5 dof=254 -caldac[1] gain=-9.48743(53)e-4 V/bit S_min=98884.8 dof=254 -caldac[2] gain=-7.41392(63)e-4 V/bit S_min=4.35679e+06 dof=254 -caldac[4] gain=-7.67743(55)e-4 V/bit S_min=76872 dof=254 -caldac[5] gain=-1.24628(58)e-4 V/bit S_min=53604.6 dof=254 -caldac[6] gain=1.22(21)e-8 V/bit S_min=3594.81 dof=254 -caldac[7] gain=1.04(25)e-8 V/bit S_min=3897.49 dof=254 diff --git a/comedi_calibrate/results/DAQCard-6036E b/comedi_calibrate/results/DAQCard-6036E deleted file mode 100644 index fe4105c..0000000 --- a/comedi_calibrate/results/DAQCard-6036E +++ /dev/null @@ -1,192 +0,0 @@ -root@nblaser:~/COMEDI/programmi# comedi_calibrate -eeprom reference lsb=193 msb=253 -resulting reference voltage: 4.99942 -Warning: device may not be not fully calibrated due to insufficient information. -Please file a bug report at https://bugs.comedi.org/ and attach this output. -This output will also allow comedi_calibrate to execute more -quickly in the future. -Forcing option: --verbose -Forcing options: --reset --dump --calibrate --results -Id: comedi_calibrate.c,v 1.92 2004/03/29 01:34:15 fmhess Exp -Driver name: ni_mio_cs -Device name: DAQCard-6036E -Id: ni.c,v 1.116 2004/05/25 00:15:34 fmhess Exp -Comedi version: 0.7.68 -ai, bipolar zero offset, low gain -reading 0.01458(15), target 0 -caldac[0] gain=-1.291(27)e-5 V/bit S_min=3.02742 dof=14 -caldac[2] gain=7.79(27)e-6 V/bit S_min=0.47875 dof=14 -caldac[4] gain=-7.8742(27)e-4 V/bit S_min=44.3247 dof=14 -ai, bipolar zero offset, high gain -reading 2.142(85)e-4, target 0 -caldac[0] gain=-1.211(12)e-5 V/bit S_min=0.0896184 dof=14 -caldac[4] gain=-3.94(12)e-6 V/bit S_min=0.0120322 dof=14 -ai, bipolar voltage reference, low gain -reading 5.038787(21), target 4.99942 -caldac[0] gain=-1.427(27)e-5 V/bit S_min=1.90854 dof=14 -caldac[2] gain=-3.8525(27)e-4 V/bit S_min=60.0839 dof=14 -caldac[4] gain=-7.8864(27)e-4 V/bit S_min=21.8159 dof=14 -ao 0, zero offset, low gain -reading 0.020671(31), target 0.00015259 -caldac[0] gain=-1.242(35)e-5 V/bit S_min=0.877272 dof=14 -caldac[2] gain=7.98(35)e-6 V/bit S_min=0.470507 dof=14 -caldac[4] gain=-7.8747(35)e-4 V/bit S_min=23.9215 dof=14 -caldac[6] gain=2.3520(35)e-4 V/bit S_min=15.9443 dof=14 -caldac[10] gain=-1.7676(34)e-4 V/bit S_min=2.39467 dof=14 -ao 0, reference voltage, low gain -reading 8.052253(25), target 8.00015 -caldac[0] gain=-1.459(35)e-5 V/bit S_min=0.791589 dof=14 -caldac[2] gain=-6.2068(35)e-4 V/bit S_min=168.854 dof=14 -caldac[4] gain=-7.8890(35)e-4 V/bit S_min=37.5002 dof=14 -caldac[6] gain=2.3465(35)e-4 V/bit S_min=2.53569 dof=14 -caldac[7] gain=-3.0580(35)e-4 V/bit S_min=2.02196 dof=14 -caldac[10] gain=-2.4015(35)e-4 V/bit S_min=1.53014 dof=14 -caldac[11] gain=-3.183(35)e-5 V/bit S_min=0.458829 dof=14 -ao 0, linearity (mid), low gain -reading 4.036855(26), target 4.00015 -caldac[0] gain=-1.324(35)e-5 V/bit S_min=1.06738 dof=14 -caldac[2] gain=-3.0547(34)e-4 V/bit S_min=13.3536 dof=14 -caldac[4] gain=-7.8684(35)e-4 V/bit S_min=20.1083 dof=14 -caldac[6] gain=2.3539(34)e-4 V/bit S_min=2.51378 dof=14 -caldac[7] gain=-1.5316(35)e-4 V/bit S_min=1.00704 dof=14 -caldac[10] gain=-2.1780(35)e-4 V/bit S_min=2.93219 dof=14 -caldac[11] gain=-1.592(35)e-5 V/bit S_min=1.43679 dof=14 -ao 1, zero offset, low gain -reading 0.024278(26), target 0.00015259 -caldac[0] gain=-1.207(35)e-5 V/bit S_min=0.615599 dof=14 -caldac[1] gain=-1.7658(36)e-4 V/bit S_min=2.31268 dof=14 -caldac[2] gain=7.64(35)e-6 V/bit S_min=0.352221 dof=14 -caldac[4] gain=-7.8727(35)e-4 V/bit S_min=26.5067 dof=14 -caldac[9] gain=2.3499(36)e-4 V/bit S_min=11.4821 dof=14 -ao 1, reference voltage, low gain -reading 8.057690(26), target 8.00015 -caldac[0] gain=-1.463(36)e-5 V/bit S_min=1.38098 dof=14 -caldac[1] gain=-2.3991(36)e-4 V/bit S_min=4.21848 dof=14 -caldac[2] gain=-6.2159(36)e-4 V/bit S_min=191.147 dof=14 -caldac[3] gain=-3.0727(36)e-4 V/bit S_min=7.32707 dof=14 -caldac[4] gain=-7.8877(36)e-4 V/bit S_min=41.0139 dof=14 -caldac[5] gain=-3.165(36)e-5 V/bit S_min=0.641647 dof=14 -caldac[9] gain=2.3422(35)e-4 V/bit S_min=0.997272 dof=14 -ao 1, linearity (mid), low gain -reading 4.041604(26), target 4.00015 -caldac[0] gain=-1.360(36)e-5 V/bit S_min=0.925139 dof=14 -caldac[1] gain=-2.1714(35)e-4 V/bit S_min=3.92419 dof=14 -caldac[2] gain=-3.0578(35)e-4 V/bit S_min=15.1476 dof=14 -caldac[3] gain=-1.5354(35)e-4 V/bit S_min=1.84312 dof=14 -caldac[4] gain=-7.8681(35)e-4 V/bit S_min=20.7147 dof=14 -caldac[5] gain=-1.589(36)e-5 V/bit S_min=0.579324 dof=14 -caldac[9] gain=2.3428(36)e-4 V/bit S_min=3.70475 dof=14 -WARNING: you need comedi driver version 0.7.69 or later -for this calibration to work properly -relative binary: ai, bipolar zero offset, low gain, ai, bipolar voltage -reference, low gain -caldac[2] set to 175 -relative binary: ai, bipolar zero offset, low gain, ai, bipolar zero offset, -high gain -caldac[4] set to 153 -binary: ai, bipolar zero offset, high gain -caldac[0] set to 136 -binary: ai, bipolar zero offset, high gain -caldac[8] set to 129 -linearity binary: ao 0, zero offset, low gain, -ao 0, linearity (mid), low gain, -ao 0, reference voltage, low gain -caldac[10] set to 156 -binary: ao 0, zero offset, low gain -caldac[6] set to 147 -binary: ao 0, reference voltage, low gain -caldac[7] set to 125 -binary: ao 0, reference voltage, low gain -caldac[11] set to 134 -linearity binary: ao 1, zero offset, low gain, -ao 1, linearity (mid), low gain, -ao 1, reference voltage, low gain -caldac[1] set to 181 -binary: ao 1, zero offset, low gain -caldac[9] set to 150 -binary: ao 1, reference voltage, low gain -caldac[3] set to 127 -binary: ao 1, reference voltage, low gain -caldac[5] set to 125 -writing calibration to -/usr/local/var/lib/comedi/calibrations/ni_mio_cs_DAQCard-6036E_comedi0 -ai, bipolar zero offset, low gain -applied calibration for subdev 0, channel 0, range 0, aref 3 -reading 2.76(18)e-4, target 0 -caldac[0] gain=-1.126(25)e-5 V/bit S_min=3.31708 dof=14 -caldac[2] gain=8.69(25)e-6 V/bit S_min=0.665987 dof=14 -caldac[4] gain=-7.8444(27)e-4 V/bit S_min=45.8072 dof=14 -ai, bipolar zero offset, high gain -applied calibration for subdev 0, channel 0, range 3, aref 3 -reading -0.5(85)e-6, target 0 -caldac[0] gain=-1.205(12)e-5 V/bit S_min=0.0570424 dof=14 -caldac[4] gain=-3.92(12)e-6 V/bit S_min=0.023133 dof=14 -ai, bipolar voltage reference, low gain -applied calibration for subdev 0, channel 5, range 0, aref 3 -reading 4.999728(21), target 4.99942 -caldac[0] gain=-1.397(27)e-5 V/bit S_min=1.81441 dof=14 -caldac[2] gain=-3.8389(27)e-4 V/bit S_min=96.2315 dof=14 -caldac[4] gain=-7.8580(27)e-4 V/bit S_min=25.2026 dof=14 -ao 0, zero offset, low gain -applied calibration for subdev 1, channel 0, range 0, aref 0 -applied calibration for subdev 0, channel 2, range 0, aref 3 -reading 7.9(24)e-5, target 0.00015259 -caldac[0] gain=-1.122(33)e-5 V/bit S_min=1.58412 dof=14 -caldac[2] gain=8.72(33)e-6 V/bit S_min=0.24128 dof=14 -caldac[4] gain=-7.8439(35)e-4 V/bit S_min=25.8936 dof=14 -caldac[6] gain=2.3307(35)e-4 V/bit S_min=8.15903 dof=14 -caldac[10] gain=-1.7446(35)e-4 V/bit S_min=16.9895 dof=14 -ao 0, reference voltage, low gain -applied calibration for subdev 1, channel 0, range 0, aref 0 -applied calibration for subdev 0, channel 2, range 0, aref 3 -reading 7.999923(26), target 8.00015 -caldac[0] gain=-1.450(35)e-5 V/bit S_min=0.244981 dof=14 -caldac[2] gain=-6.1848(35)e-4 V/bit S_min=144.98 dof=14 -caldac[4] gain=-7.8415(35)e-4 V/bit S_min=25.8586 dof=14 -caldac[6] gain=2.3435(35)e-4 V/bit S_min=4.56044 dof=14 -caldac[7] gain=-3.0524(35)e-4 V/bit S_min=4.27428 dof=14 -caldac[10] gain=-2.4008(35)e-4 V/bit S_min=2.2617 dof=14 -caldac[11] gain=-3.166(36)e-5 V/bit S_min=1.04297 dof=14 -ao 0, linearity (mid), low gain -applied calibration for subdev 1, channel 0, range 0, aref 0 -applied calibration for subdev 0, channel 2, range 0, aref 3 -reading 4.000050(26), target 4.00015 -caldac[0] gain=-1.333(35)e-5 V/bit S_min=1.19177 dof=14 -caldac[2] gain=-3.0458(35)e-4 V/bit S_min=43.2202 dof=14 -caldac[4] gain=-7.8399(35)e-4 V/bit S_min=11.9081 dof=14 -caldac[6] gain=2.3405(35)e-4 V/bit S_min=1.67364 dof=14 -caldac[7] gain=-1.5240(35)e-4 V/bit S_min=1.41059 dof=14 -caldac[10] gain=-2.1713(35)e-4 V/bit S_min=3.92734 dof=14 -caldac[11] gain=-1.586(35)e-5 V/bit S_min=0.914429 dof=14 -ao 1, zero offset, low gain -applied calibration for subdev 1, channel 1, range 0, aref 0 -applied calibration for subdev 0, channel 3, range 0, aref 3 -reading -1.11(24)e-4, target 0.00015259 -caldac[0] gain=-1.128(33)e-5 V/bit S_min=0.901 dof=14 -caldac[1] gain=-1.7443(36)e-4 V/bit S_min=12.9169 dof=14 -caldac[2] gain=8.96(34)e-6 V/bit S_min=1.00705 dof=14 -caldac[4] gain=-7.8416(35)e-4 V/bit S_min=28.7331 dof=14 -caldac[9] gain=2.3227(36)e-4 V/bit S_min=7.93342 dof=14 -ao 1, reference voltage, low gain -applied calibration for subdev 1, channel 1, range 0, aref 0 -applied calibration for subdev 0, channel 3, range 0, aref 3 -reading 7.999863(26), target 8.00015 -caldac[0] gain=-1.458(36)e-5 V/bit S_min=0.798365 dof=14 -caldac[1] gain=-2.3965(36)e-4 V/bit S_min=3.28996 dof=14 -caldac[2] gain=-6.1842(36)e-4 V/bit S_min=140.121 dof=14 -caldac[3] gain=-3.0648(36)e-4 V/bit S_min=5.08195 dof=14 -caldac[4] gain=-7.8433(36)e-4 V/bit S_min=23.3067 dof=14 -caldac[5] gain=-3.159(36)e-5 V/bit S_min=0.430608 dof=14 -caldac[9] gain=2.3376(36)e-4 V/bit S_min=5.29201 dof=14 -ao 1, linearity (mid), low gain -applied calibration for subdev 1, channel 1, range 0, aref 0 -applied calibration for subdev 0, channel 3, range 0, aref 3 -reading 3.999868(26), target 4.00015 -caldac[0] gain=-1.348(35)e-5 V/bit S_min=2.15928 dof=14 -caldac[1] gain=-2.1679(36)e-4 V/bit S_min=3.58947 dof=14 -caldac[2] gain=-3.0444(36)e-4 V/bit S_min=38.2054 dof=14 -caldac[3] gain=-1.5284(36)e-4 V/bit S_min=3.32024 dof=14 -caldac[4] gain=-7.8394(36)e-4 V/bit S_min=11.8147 dof=14 -caldac[5] gain=-1.588(36)e-5 V/bit S_min=2.05549 dof=14 -caldac[9] gain=2.3322(36)e-4 V/bit S_min=1.69652 dof=14 -Applied calibration for subdevice 0, channel 0, range 0, aref 0 diff --git a/comedi_calibrate/results/DAQCard-6062E b/comedi_calibrate/results/DAQCard-6062E deleted file mode 100644 index 634a557..0000000 --- a/comedi_calibrate/results/DAQCard-6062E +++ /dev/null @@ -1,74 +0,0 @@ -Warning: device may not be not fully calibrated due to insufficient information. -Please send this output to . -This output will also allow comedi_calibrate to execute more -quickly in the future.Id: comedi_calibrate.c,v 1.57 2003/04/27 18:13:39 fmhess Exp -Driver name: ni_mio_cs -Device name: DAQCard-6062E -Id: ni.c,v 1.58 2003/04/26 22:24:37 fmhess Exp -Comedi version: 0.7.66 -ai, bipolar zero offset, low gain -failed to apply calibration for subdev 0, channel 0, range 0, aref 3 -reading 7.71(24)e-3, target 0 -caldac[2] gain=-7.5594(23)e-4 V/bit S_min=3064.85 dof=254 -caldac[4] gain=-7.5487(23)e-4 V/bit S_min=2558.78 dof=254 -caldac[8] gain=-1.347(23)e-5 V/bit S_min=269.064 dof=254 -ai, bipolar zero offset, high gain -failed to apply calibration for subdev 0, channel 0, range 7, aref 3 -reading 2.873(23)e-4, target 0 -caldac[0] gain=-9.6(17)e-9 V/bit S_min=247.556 dof=254 -caldac[2] gain=-3.8222(17)e-6 V/bit S_min=2184.5 dof=254 -caldac[4] gain=-3.8155(17)e-6 V/bit S_min=1260.66 dof=254 -caldac[8] gain=-1.38446(17)e-5 V/bit S_min=965.565 dof=254 -caldac[9] gain=-1.00(17)e-8 V/bit S_min=250.754 dof=254 -caldac[11] gain=-1.56(17)e-8 V/bit S_min=240.693 dof=254 -ai, bipolar voltage reference, low gain -failed to apply calibration for subdev 0, channel 5, range 0, aref 3 -reading 5.00530(24), target 5 -caldac[2] gain=-1.15094(22)e-3 V/bit S_min=2551.54 dof=254 -caldac[4] gain=-7.6235(22)e-4 V/bit S_min=1250.06 dof=254 -caldac[8] gain=-1.257(20)e-5 V/bit S_min=250.262 dof=254 -ai, unipolar zero offset, low gain -failed to apply calibration for subdev 0, channel 0, range 8, aref 3 -reading 0.02740(27), target 0 -caldac[2] gain=-2.03(22)e-6 V/bit S_min=217.912 dof=254 -caldac[4] gain=-7.4215(47)e-4 V/bit S_min=443.929 dof=152 -caldac[7] gain=-3.6721(36)e-4 V/bit S_min=320.056 dof=180 -caldac[8] gain=-1.336(22)e-5 V/bit S_min=236.14 dof=254 -ao 0, zero offset, low gain -failed to apply calibration for subdev 1, channel 0, range 0, aref 0 -failed to apply calibration for subdev 0, channel 2, range 0, aref 3 -reading 6.37(28)e-3, target 0.002442 -caldac[2] gain=-7.5509(22)e-4 V/bit S_min=2962.2 dof=254 -caldac[4] gain=-7.5457(22)e-4 V/bit S_min=2498.59 dof=254 -caldac[6] gain=-7.6321(22)e-4 V/bit S_min=2476.93 dof=254 -caldac[8] gain=-1.347(22)e-5 V/bit S_min=237.534 dof=254 -caldac[10] gain=-1.0553(21)e-4 V/bit S_min=1724.72 dof=254 -ao 0, reference voltage, low gain -failed to apply calibration for subdev 1, channel 0, range 0, aref 0 -failed to apply calibration for subdev 0, channel 6, range 0, aref 3 -reading 5.0(27)e-4, target -0.001221 -caldac[2] gain=-7.5523(23)e-4 V/bit S_min=3143.56 dof=254 -caldac[4] gain=-7.5514(23)e-4 V/bit S_min=2587.66 dof=254 -caldac[6] gain=-7.6303(23)e-4 V/bit S_min=2458.61 dof=254 -caldac[8] gain=-1.154(20)e-5 V/bit S_min=260.382 dof=254 -caldac[10] gain=-1.7793(22)e-4 V/bit S_min=1740.78 dof=254 -caldac[11] gain=-1.0584(21)e-4 V/bit S_min=1720.36 dof=254 -ao 1, zero offset, low gain -failed to apply calibration for subdev 1, channel 1, range 0, aref 0 -failed to apply calibration for subdev 0, channel 3, range 0, aref 3 -reading 0.01404(29), target 0.002442 -caldac[1] gain=-1.1475(23)e-4 V/bit S_min=244.77 dof=254 -caldac[2] gain=-7.5724(22)e-4 V/bit S_min=3485.32 dof=254 -caldac[4] gain=-7.5504(23)e-4 V/bit S_min=2475.87 dof=254 -caldac[8] gain=-1.366(23)e-5 V/bit S_min=302.974 dof=254 -caldac[9] gain=-7.5480(22)e-4 V/bit S_min=2712.43 dof=254 -ao 1, reference voltage, low gain -failed to apply calibration for subdev 1, channel 1, range 0, aref 0 -failed to apply calibration for subdev 0, channel 7, range 0, aref 3 -reading 0.01107(28), target -0.001221 -caldac[1] gain=-1.8390(22)e-4 V/bit S_min=2598.99 dof=254 -caldac[2] gain=-7.5662(23)e-4 V/bit S_min=3170.81 dof=254 -caldac[4] gain=-7.5494(23)e-4 V/bit S_min=2534.66 dof=254 -caldac[5] gain=-1.2041(22)e-4 V/bit S_min=768.036 dof=254 -caldac[8] gain=-1.433(24)e-5 V/bit S_min=240.557 dof=254 -caldac[9] gain=-7.5463(23)e-4 V/bit S_min=2621.58 dof=254 diff --git a/comedi_calibrate/results/DAQCard-ai-16e-4 b/comedi_calibrate/results/DAQCard-ai-16e-4 deleted file mode 100644 index 0be7310..0000000 --- a/comedi_calibrate/results/DAQCard-ai-16e-4 +++ /dev/null @@ -1,65 +0,0 @@ -Warning: device not fully calibrated due to insufficient information -Please send this output to -Id: comedi_calibrate.c,v 1.36 2002/06/12 23:19:39 ds Exp -Driver name: ni_mio_cs -Device name: DAQCard-ai-16e-4 -Id: ni.c,v 1.34 2002/08/29 23:35:37 ds Exp -Comedi version: 0.7.65 -ai, bipolar zero offset, low gain -offset 7.250(54)e-3, target 0 -caldac[0] gain=-8.709(60)e-6 V/bit S_min=12475.4 dof=254 -caldac[1] gain=-1.674098(75)e-3 V/bit S_min=25268.2 dof=254 -ai, bipolar zero offset, high gain -offset 7.845(15)e-4, target 0 -caldac[0] gain=-1.40738(12)e-5 V/bit S_min=621.321 dof=254 -caldac[1] gain=-8.3786(12)e-6 V/bit S_min=719.216 dof=254 -caldac[2] gain=1.12(13)e-8 V/bit S_min=290.257 dof=254 -caldac[3] gain=-1.406(13)e-7 V/bit S_min=244.667 dof=254 -caldac[4] gain=5.5(13)e-9 V/bit S_min=309.627 dof=254 -caldac[5] gain=-8.1(13)e-9 V/bit S_min=270.158 dof=254 -caldac[9] gain=-6.3(13)e-9 V/bit S_min=317.243 dof=254 -ai, bipolar voltage reference, low gain -offset 5.028083( 0), target 5 -caldac[0] gain=-7.048(60)e-6 V/bit S_min=8283.93 dof=254 -caldac[1] gain=-1.678477(75)e-3 V/bit S_min=26143.6 dof=254 -caldac[3] gain=-7.77018(74)e-4 V/bit S_min=33119.8 dof=254 -ai, unipolar zero offset, low gain -offset nan, target 0 -caldac[1] gain=-1.67076(27)e-3 V/bit S_min=9496.76 dof=107 -caldac[2] gain=-3.7444(93)e-4 V/bit S_min=3437.91 dof=47 -caldac[3] gain=1.51141(28)e-3 V/bit S_min=8625.96 dof=107 -postgain binary: ai, bipolar zero offset, low gain, ai, bipolar zero offset, hig -h gain -caldac[1] set to 129 -binary: ai, bipolar zero offset, high gain -caldac[0] set to 181 -linear fine: ai, bipolar zero offset, high gain -caldac[0] gain=-1.4104(51)e-5 V/bit S_min=32.4402 dof=19 -caldac[0] set to 181 (181.394) -binary: ai, bipolar voltage reference, low gain -caldac[3] set to 157 -linear fine: ai, bipolar voltage reference, low gain -caldac[3] gain=-8.384(34)e-4 V/bit S_min=1541.06 dof=19 -caldac[3] set to 157 (156.837) -linear: ai, unipolar zero offset, low gain -caldac[2] gain=-3.8196(16)e-4 V/bit S_min=12518.3 dof=154 -caldac[2] set to 166 (166.253) -ai, bipolar zero offset, low gain -offset 2.328(65)e-3, target 0 -caldac[0] gain=-7.714(70)e-6 V/bit S_min=5135.79 dof=254 -caldac[1] gain=-1.665580(76)e-3 V/bit S_min=24336.8 dof=254 -caldac[3] gain=3.77(72)e-7 V/bit S_min=265.342 dof=254 -ai, bipolar zero offset, high gain -offset 1.3(15)e-6, target 0 -caldac[0] gain=-1.39860(12)e-5 V/bit S_min=472.034 dof=254 -caldac[1] gain=-8.3336(12)e-6 V/bit S_min=473.021 dof=254 -ai, bipolar voltage reference, low gain -offset 4.99931(13), target 5 -caldac[0] gain=-2.4484(99)e-5 V/bit S_min=3555.75 dof=254 -caldac[1] gain=-1.669701(75)e-3 V/bit S_min=26274.3 dof=254 -caldac[3] gain=-7.76443(75)e-4 V/bit S_min=32820.1 dof=254 -ai, unipolar zero offset, low gain -offset nan, target 0 -caldac[1] gain=-1.66313(22)e-3 V/bit S_min=10524 dof=125 -caldac[2] gain=-3.8204(16)e-4 V/bit S_min=11839.1 dof=154 -caldac[3] gain=1.50908(34)e-3 V/bit S_min=7642.08 dof=94 diff --git a/comedi_calibrate/results/DAQCard-ai-16xe-50 b/comedi_calibrate/results/DAQCard-ai-16xe-50 deleted file mode 100644 index fc80dae..0000000 --- a/comedi_calibrate/results/DAQCard-ai-16xe-50 +++ /dev/null @@ -1,42 +0,0 @@ -$Id$ -Driver name: ni_mio_cs -Device name: DAQCard-ai-16xe-50 -Comedi version: 0.7.60 -postgain: ai, bipolar zero offset, low gain; ai, bipolar zero offset, high gain -caldac[2] gain=1.56377(23)e-4 V/bit S_min=1670.79 dof=254 -caldac[2] gain=1.56342(29)e-6 V/bit S_min=814.731 dof=254 -caldac[2] set to 89 (88.9996) -linear: ai, bipolar zero offset, high gain -caldac[8] gain=2.61512(18)e-7 V/bit S_min=892.566 dof=254 -caldac[8] set to 2115 (2114.92) -linear: ai, bipolar voltage reference, low gain -caldac[0] gain=-3.77918(24)e-4 V/bit S_min=12815.3 dof=254 -caldac[0] set to 110 (110.428) -linear fine: ai, bipolar voltage reference, low gain -caldac[0] gain=-3.8386(94)e-4 V/bit S_min=78.9229 dof=19 -caldac[0] set to 104 (104.393) -linear: ai, bipolar voltage reference, low gain -caldac[1] gain=-1.0452(23)e-5 V/bit S_min=759.199 dof=254 -caldac[1] set to 148 (147.917) -ai, bipolar zero offset, low gain -offset 8.7(69)e-4, target 0 -caldac[0] gain=-1.890(21)e-6 V/bit S_min=287.296 dof=254 -caldac[2] gain=1.56695(23)e-4 V/bit S_min=1532.32 dof=254 -caldac[8] gain=2.647(13)e-7 V/bit S_min=341.08 dof=254 -ai, bipolar zero offset, high gain -offset 9.8(41)e-7, target 0 -caldac[0] gain=-1.826(26)e-8 V/bit S_min=331.882 dof=254 -caldac[2] gain=1.56731(29)e-6 V/bit S_min=901.674 dof=254 -caldac[8] gain=2.62011(18)e-7 V/bit S_min=804.673 dof=254 -ai, bipolar voltage reference, low gain -offset 4.99925(68), target 5 -caldac[0] gain=-3.78224(24)e-4 V/bit S_min=12116.6 dof=254 -caldac[1] gain=-1.0397(23)e-5 V/bit S_min=785.128 dof=254 -caldac[2] gain=1.57339(23)e-4 V/bit S_min=1028.84 dof=254 -caldac[8] gain=3.113(15)e-7 V/bit S_min=414.889 dof=254 -ai, unipolar zero offset, low gain -offset nan, target 0 -caldac[0] gain=3.73812(32)e-4 V/bit S_min=1279.24 dof=143 -caldac[1] gain=9.301(53)e-6 V/bit S_min=72.2441 dof=87 -caldac[2] gain=7.8821(22)e-5 V/bit S_min=839.616 dof=163 -caldac[8] gain=2.463(28)e-7 V/bit S_min=100.124 dof=95 diff --git a/comedi_calibrate/results/at-mio-16de-10 b/comedi_calibrate/results/at-mio-16de-10 deleted file mode 100644 index af11d4a..0000000 --- a/comedi_calibrate/results/at-mio-16de-10 +++ /dev/null @@ -1,380 +0,0 @@ -chinasuse92p4sca:/home/walt/comedi/comedi-0.7.70 # /usr/local/bin/comedi_calibrate -f /dev/comedi0 -eeprom reference lsb=216 msb=255 -resulting reference voltage: 4.99996 -Warning: device may not be not fully calibrated due to insufficient information. -Please file a bug report at https://bugs.comedi.org/ and attach this output. -This output will also allow comedi_calibrate to execute more -quickly in the future. -Forcing option: --verbose -Forcing options: --reset --dump --calibrate --results -Id: comedi_calibrate.c,v 1.92 2004/03/29 01:34:15 fmhess Exp -Driver name: ni_atmio -Device name: at-mio-16de-10 -Id: ni.c,v 1.130 2004/09/09 21:43:16 fmhess Exp -Comedi version: 0.7.70 -ai, bipolar zero offset, low gain -reading 4.870(89)e-3, target 0 -caldac[0] gain=-6.52(12)e-5 V/bit S_min=0.990489 dof=14 -caldac[4] gain=-7.684(12)e-4 V/bit S_min=2.30115 dof=14 -ai, bipolar zero offset, high gain -reading 7.2452(54)e-4, target 0 -caldac[0] gain=-6.34993(73)e-5 V/bit S_min=68.2233 dof=14 -caldac[2] gain=-6.01(72)e-8 V/bit S_min=0.819595 dof=14 -caldac[4] gain=-3.8534(72)e-6 V/bit S_min=1.82791 dof=14 -caldac[8] gain=-1.3240(73)e-6 V/bit S_min=1.79639 dof=14 -ai, bipolar voltage reference, low gain -reading 5.005356(86), target 4.99996 -caldac[0] gain=-6.24(12)e-5 V/bit S_min=2.21779 dof=14 -caldac[2] gain=-3.356(12)e-4 V/bit S_min=8.00714 dof=14 -caldac[4] gain=-7.672(12)e-4 V/bit S_min=4.01159 dof=14 -ai, unipolar zero offset, low gain -reading 5.700(90)e-3, target 0.002442 -caldac[0] gain=-5.86(11)e-5 V/bit S_min=20.1922 dof=14 -caldac[2] gain=3.3585(58)e-4 V/bit S_min=78987.6 dof=14 -caldac[4] gain=-4.4847(67)e-4 V/bit S_min=79203.3 dof=14 -caldac[7] gain=-4.3797(67)e-4 V/bit S_min=74027.9 dof=14 -ai, unipolar zero offset, high gain -reading 7.2735(50)e-4, target 1.221e-05 -caldac[0] gain=-3.85689(41)e-5 V/bit S_min=1.391e+07 dof=14 -caldac[2] gain=3.2897(73)e-6 V/bit S_min=8.14139 dof=14 -caldac[4] gain=-3.8518(72)e-6 V/bit S_min=1.53105 dof=14 -caldac[7] gain=-3.7498(73)e-6 V/bit S_min=1.12204 dof=14 -caldac[8] gain=-1.3171(73)e-6 V/bit S_min=1.69305 dof=14 -ai, unipolar voltage reference, low gain -reading 5.006138(84), target 4.99996 -caldac[0] gain=-6.26(12)e-5 V/bit S_min=1.18217 dof=14 -caldac[2] gain=3.308(12)e-4 V/bit S_min=3.96637 dof=14 -caldac[4] gain=-7.676(12)e-4 V/bit S_min=2.86645 dof=14 -caldac[7] gain=-7.484(12)e-4 V/bit S_min=4.21217 dof=14 -ao 0, zero offset, low gain -reading 8.151(90)e-3, target 0.002442 -caldac[0] gain=-6.52(12)e-5 V/bit S_min=1.50399 dof=14 -caldac[4] gain=-7.691(12)e-4 V/bit S_min=2.71547 dof=14 -caldac[6] gain=-7.823(12)e-4 V/bit S_min=4.00833 dof=14 -caldac[10] gain=-1.157(12)e-4 V/bit S_min=2.81203 dof=14 -ao 0, reference voltage, low gain -reading 8.009267(88), target 8.00244 -caldac[0] gain=-6.32(12)e-5 V/bit S_min=0.950711 dof=14 -caldac[2] gain=-5.401(12)e-4 V/bit S_min=8.61082 dof=14 -caldac[4] gain=-7.699(12)e-4 V/bit S_min=3.08877 dof=14 -caldac[6] gain=-7.832(12)e-4 V/bit S_min=1.81387 dof=14 -caldac[10] gain=-2.072(12)e-4 V/bit S_min=0.741417 dof=14 -caldac[11] gain=-1.557(12)e-4 V/bit S_min=1.28308 dof=14 -ao 0, linearity (mid), low gain -reading 4.010130(89), target 4.00244 -caldac[0] gain=-6.39(12)e-5 V/bit S_min=1.2223 dof=14 -caldac[2] gain=-2.716(12)e-4 V/bit S_min=2.26024 dof=14 -caldac[4] gain=-7.698(12)e-4 V/bit S_min=1.2458 dof=14 -caldac[6] gain=-7.830(12)e-4 V/bit S_min=3.90656 dof=14 -caldac[10] gain=-1.945(12)e-4 V/bit S_min=1.65973 dof=14 -caldac[11] gain=-7.76(12)e-5 V/bit S_min=1.27209 dof=14 -ao 1, zero offset, low gain -reading 7.73(89)e-4, target 0.002442 -caldac[0] gain=-6.43(12)e-5 V/bit S_min=1.62275 dof=14 -caldac[1] gain=-1.161(12)e-4 V/bit S_min=2.07195 dof=14 -caldac[4] gain=-7.688(12)e-4 V/bit S_min=2.81123 dof=14 -caldac[9] gain=-7.865(12)e-4 V/bit S_min=1.94089 dof=14 -ao 1, reference voltage, low gain -reading 8.000496(87), target 8.00244 -caldac[0] gain=-6.36(12)e-5 V/bit S_min=0.770728 dof=14 -caldac[1] gain=-2.085(12)e-4 V/bit S_min=1.38959 dof=14 -caldac[2] gain=-5.391(12)e-4 V/bit S_min=8.42257 dof=14 -caldac[4] gain=-7.694(12)e-4 V/bit S_min=1.63821 dof=14 -caldac[5] gain=-1.567(12)e-4 V/bit S_min=1.16804 dof=14 -caldac[9] gain=-7.876(12)e-4 V/bit S_min=1.85009 dof=14 -ao 1, linearity (mid), low gain -reading 4.001316(88), target 4.00244 -caldac[0] gain=-6.27(12)e-5 V/bit S_min=2.13699 dof=14 -caldac[1] gain=-1.961(12)e-4 V/bit S_min=1.40938 dof=14 -caldac[2] gain=-2.714(12)e-4 V/bit S_min=3.05877 dof=14 -caldac[4] gain=-7.701(12)e-4 V/bit S_min=2.07027 dof=14 -caldac[5] gain=-7.72(12)e-5 V/bit S_min=0.595616 dof=14 -caldac[9] gain=-7.866(12)e-4 V/bit S_min=0.958617 dof=14 -ao 0, unipolar zero offset, low gain -reading 7.035(88)e-3, target 0 -caldac[0] gain=-6.51(12)e-5 V/bit S_min=0.976658 dof=14 -caldac[4] gain=-7.694(12)e-4 V/bit S_min=3.70496 dof=14 -caldac[6] gain=-7.766(12)e-4 V/bit S_min=2.28035 dof=14 -caldac[10] gain=-4.04(12)e-5 V/bit S_min=0.367153 dof=14 -ao 0, unipolar high, low gain -reading 9.008962(85), target 9.00122 -caldac[0] gain=-6.34(12)e-5 V/bit S_min=1.67589 dof=14 -caldac[2] gain=-6.066(12)e-4 V/bit S_min=11.6858 dof=14 -caldac[4] gain=-7.695(12)e-4 V/bit S_min=3.893 dof=14 -caldac[6] gain=-7.769(12)e-4 V/bit S_min=3.65722 dof=14 -caldac[10] gain=-1.035(12)e-4 V/bit S_min=1.07923 dof=14 -caldac[11] gain=-1.745(12)e-4 V/bit S_min=1.57224 dof=14 -ao 0, unipolar linearity (low), low gain -reading 1.009515(88), target 1.00122 -caldac[0] gain=-6.34(12)e-5 V/bit S_min=0.924085 dof=14 -caldac[2] gain=-7.00(12)e-5 V/bit S_min=0.635915 dof=14 -caldac[4] gain=-7.700(12)e-4 V/bit S_min=2.40145 dof=14 -caldac[6] gain=-7.781(12)e-4 V/bit S_min=1.56716 dof=14 -caldac[10] gain=-7.36(12)e-5 V/bit S_min=1.0521 dof=14 -caldac[11] gain=-1.92(12)e-5 V/bit S_min=0.783716 dof=14 -ao 0, unipolar linearity (mid), low gain -reading 5.008123(85), target 5.00122 -caldac[0] gain=-6.33(12)e-5 V/bit S_min=1.48113 dof=14 -caldac[2] gain=-3.363(12)e-4 V/bit S_min=5.23039 dof=14 -caldac[4] gain=-7.676(12)e-4 V/bit S_min=3.77244 dof=14 -caldac[6] gain=-7.748(12)e-4 V/bit S_min=5.87411 dof=14 -caldac[10] gain=-5.76(12)e-5 V/bit S_min=0.856877 dof=14 -caldac[11] gain=-9.66(12)e-5 V/bit S_min=2.76267 dof=14 -ao 1, unipolar zero offset, low gain -reading 4.316(93)e-3, target 0 -caldac[0] gain=-6.50(12)e-5 V/bit S_min=1.49379 dof=14 -caldac[1] gain=-3.96(12)e-5 V/bit S_min=1.1046 dof=14 -caldac[4] gain=-7.685(12)e-4 V/bit S_min=1.84138 dof=14 -caldac[9] gain=-7.816(12)e-4 V/bit S_min=2.7913 dof=14 -ao 1, unipolar high, low gain -reading 9.006138(85), target 9.00122 -caldac[0] gain=-6.21(12)e-5 V/bit S_min=0.806143 dof=14 -caldac[1] gain=-1.037(12)e-4 V/bit S_min=0.959552 dof=14 -caldac[2] gain=-6.065(12)e-4 V/bit S_min=10.8821 dof=14 -caldac[4] gain=-7.699(12)e-4 V/bit S_min=1.67311 dof=14 -caldac[5] gain=-1.759(12)e-4 V/bit S_min=0.919171 dof=14 -caldac[9] gain=-7.816(12)e-4 V/bit S_min=2.57529 dof=14 -ao 1, unipolar linearity (low), low gain -reading 1.006281(90), target 1.00122 -caldac[0] gain=-6.33(12)e-5 V/bit S_min=0.534655 dof=14 -caldac[1] gain=-7.39(12)e-5 V/bit S_min=0.941122 dof=14 -caldac[2] gain=-7.05(12)e-5 V/bit S_min=1.67489 dof=14 -caldac[4] gain=-7.702(12)e-4 V/bit S_min=3.07777 dof=14 -caldac[5] gain=-1.91(12)e-5 V/bit S_min=0.586399 dof=14 -caldac[9] gain=-7.816(12)e-4 V/bit S_min=1.46711 dof=14 -ao 1, unipolar linearity (mid), low gain -reading 5.005480(85), target 5.00122 -caldac[0] gain=-6.28(12)e-5 V/bit S_min=1.20858 dof=14 -caldac[1] gain=-5.74(12)e-5 V/bit S_min=1.30563 dof=14 -caldac[2] gain=-3.366(12)e-4 V/bit S_min=4.12479 dof=14 -caldac[4] gain=-7.671(12)e-4 V/bit S_min=4.25203 dof=14 -caldac[5] gain=-9.70(12)e-5 V/bit S_min=3.3763 dof=14 -caldac[9] gain=-7.791(12)e-4 V/bit S_min=2.95444 dof=14 -WARNING: you need comedi driver version 0.7.71 or later -for this calibration to work properly -relative binary: ai, bipolar zero offset, low gain, ai, bipolar voltage reference, low gain -caldac[2] set to 127 -relative binary: ai, bipolar zero offset, low gain, ai, bipolar zero offset, high gain -caldac[4] set to 132 -binary: ai, bipolar zero offset, high gain -caldac[0] set to 138 -binary: ai, bipolar zero offset, high gain -caldac[8] set to 128 -binary peg: ai, unipolar zero offset, low gain -caldac[0] set to 0 -binary peg: ai, unipolar zero offset, low gain -caldac[4] set to 0 -relative binary: ai, unipolar zero offset, low gain, ai, unipolar voltage reference, low gain -caldac[2] set to 136 -relative binary: ai, unipolar zero offset, low gain, ai, unipolar zero offset, high gain -caldac[4] set to 137 -binary: ai, unipolar zero offset, high gain -caldac[0] set to 138 -binary: ai, unipolar zero offset, high gain -caldac[8] set to 131 -linearity binary: ao 0, zero offset, low gain, -ao 0, linearity (mid), low gain, -ao 0, reference voltage, low gain -caldac[10] set to 175 -binary: ao 0, zero offset, low gain -caldac[6] set to 121 -binary: ao 0, reference voltage, low gain -caldac[11] set to 109 -linearity binary: ao 0, unipolar linearity (low), low gain, -ao 0, unipolar linearity (mid), low gain, -ao 0, unipolar high, low gain -caldac[10] set to 162 -binary: ao 0, unipolar zero offset, low gain -caldac[6] set to 129 -binary: ao 0, unipolar high, low gain -caldac[11] set to 118 -linearity binary: ao 1, zero offset, low gain, -ao 1, linearity (mid), low gain, -ao 1, reference voltage, low gain -caldac[1] set to 150 -binary: ao 1, zero offset, low gain -caldac[9] set to 115 -binary: ao 1, reference voltage, low gain -caldac[5] set to 116 -linearity binary: ao 1, unipolar linearity (low), low gain, -ao 1, unipolar linearity (mid), low gain, -ao 1, unipolar high, low gain -caldac[1] set to 137 -binary: ao 1, unipolar zero offset, low gain -caldac[9] set to 126 -binary: ao 1, unipolar high, low gain -caldac[5] set to 128 -writing calibration to /usr/local/var/lib/comedi/calibrations/ni_atmio_at-mio-16de-10_comedi0 -ai, bipolar zero offset, low gain -applied calibration for subdev 0, channel 0, range 0, aref 3 -reading 2.81(89)e-4, target 0 -caldac[0] gain=-6.36(12)e-5 V/bit S_min=1.11236 dof=14 -caldac[4] gain=-7.686(12)e-4 V/bit S_min=3.79405 dof=14 -ai, bipolar zero offset, high gain -applied calibration for subdev 0, channel 0, range 7, aref 3 -reading -6.7(54)e-7, target 0 -caldac[0] gain=-6.34990(72)e-5 V/bit S_min=69.1737 dof=14 -caldac[4] gain=-3.8454(72)e-6 V/bit S_min=1.76324 dof=14 -caldac[8] gain=-1.3132(72)e-6 V/bit S_min=2.98053 dof=14 -ai, bipolar voltage reference, low gain -applied calibration for subdev 0, channel 5, range 0, aref 3 -reading 5.001164(86), target 4.99996 -caldac[0] gain=-6.13(12)e-5 V/bit S_min=1.65905 dof=14 -caldac[2] gain=-3.356(12)e-4 V/bit S_min=4.50065 dof=14 -caldac[4] gain=-7.676(12)e-4 V/bit S_min=3.33635 dof=14 -ai, unipolar zero offset, low gain -applied calibration for subdev 0, channel 0, range 8, aref 3 -reading 3.334(87)e-3, target 0.002442 -caldac[0] gain=-5.365(98)e-5 V/bit S_min=72.6207 dof=14 -caldac[2] gain=2.8677(54)e-4 V/bit S_min=91331.8 dof=14 -caldac[4] gain=-4.7878(69)e-4 V/bit S_min=71669 dof=14 -caldac[7] gain=-4.2401(66)e-4 V/bit S_min=79733.1 dof=14 -ai, unipolar zero offset, high gain -applied calibration for subdev 0, channel 0, range 15, aref 3 -reading 1.362(46)e-5, target 1.221e-05 -caldac[0] gain=-3.84618(40)e-5 V/bit S_min=1.43505e+07 dof=14 -caldac[2] gain=1.4036(33)e-6 V/bit S_min=59831.6 dof=14 -caldac[4] gain=-2.3605(42)e-6 V/bit S_min=49103 dof=14 -caldac[7] gain=-2.0945(40)e-6 V/bit S_min=54227.6 dof=14 -caldac[8] gain=-8.060(43)e-7 V/bit S_min=5257.87 dof=14 -ai, unipolar voltage reference, low gain -applied calibration for subdev 0, channel 5, range 8, aref 3 -reading 5.000701(86), target 4.99996 -caldac[0] gain=-6.23(12)e-5 V/bit S_min=1.03448 dof=14 -caldac[2] gain=3.314(12)e-4 V/bit S_min=4.94084 dof=14 -caldac[4] gain=-7.673(12)e-4 V/bit S_min=2.83449 dof=14 -caldac[7] gain=-7.471(12)e-4 V/bit S_min=3.74962 dof=14 -ao 0, zero offset, low gain -applied calibration for subdev 1, channel 0, range 0, aref 0 -applied calibration for subdev 0, channel 2, range 0, aref 3 -reading 2.480(91)e-3, target 0.002442 -caldac[0] gain=-6.42(12)e-5 V/bit S_min=1.18484 dof=14 -caldac[4] gain=-7.685(12)e-4 V/bit S_min=1.78753 dof=14 -caldac[6] gain=-7.813(12)e-4 V/bit S_min=1.4534 dof=14 -caldac[10] gain=-1.156(12)e-4 V/bit S_min=1.68224 dof=14 -ao 0, reference voltage, low gain -applied calibration for subdev 1, channel 0, range 0, aref 0 -applied calibration for subdev 0, channel 2, range 0, aref 3 -reading 8.002223(82), target 8.00244 -caldac[0] gain=-6.36(12)e-5 V/bit S_min=0.590457 dof=14 -caldac[2] gain=-5.394(12)e-4 V/bit S_min=7.49309 dof=14 -caldac[4] gain=-7.699(12)e-4 V/bit S_min=2.74453 dof=14 -caldac[6] gain=-7.820(12)e-4 V/bit S_min=2.05777 dof=14 -caldac[10] gain=-2.079(12)e-4 V/bit S_min=0.876073 dof=14 -caldac[11] gain=-1.557(12)e-4 V/bit S_min=1.83484 dof=14 -ao 0, linearity (mid), low gain -applied calibration for subdev 1, channel 0, range 0, aref 0 -applied calibration for subdev 0, channel 2, range 0, aref 3 -reading 4.002299(84), target 4.00244 -caldac[0] gain=-6.27(12)e-5 V/bit S_min=0.721777 dof=14 -caldac[2] gain=-2.717(12)e-4 V/bit S_min=1.68157 dof=14 -caldac[4] gain=-7.690(12)e-4 V/bit S_min=1.99066 dof=14 -caldac[6] gain=-7.821(12)e-4 V/bit S_min=3.4423 dof=14 -caldac[10] gain=-1.951(12)e-4 V/bit S_min=2.16902 dof=14 -caldac[11] gain=-7.93(12)e-5 V/bit S_min=0.478897 dof=14 -ao 1, zero offset, low gain -applied calibration for subdev 1, channel 1, range 0, aref 0 -applied calibration for subdev 0, channel 3, range 0, aref 3 -reading 3.029(90)e-3, target 0.002442 -caldac[0] gain=-6.51(12)e-5 V/bit S_min=0.739889 dof=14 -caldac[1] gain=-1.162(12)e-4 V/bit S_min=3.82293 dof=14 -caldac[4] gain=-7.689(12)e-4 V/bit S_min=3.02564 dof=14 -caldac[9] gain=-7.855(12)e-4 V/bit S_min=1.78823 dof=14 -ao 1, reference voltage, low gain -applied calibration for subdev 1, channel 1, range 0, aref 0 -applied calibration for subdev 0, channel 3, range 0, aref 3 -reading 8.002318(89), target 8.00244 -caldac[0] gain=-6.31(12)e-5 V/bit S_min=0.555318 dof=14 -caldac[1] gain=-2.087(12)e-4 V/bit S_min=1.04023 dof=14 -caldac[2] gain=-5.397(12)e-4 V/bit S_min=8.27805 dof=14 -caldac[4] gain=-7.698(12)e-4 V/bit S_min=1.61215 dof=14 -caldac[5] gain=-1.557(12)e-4 V/bit S_min=1.72913 dof=14 -caldac[9] gain=-7.869(12)e-4 V/bit S_min=3.29 dof=14 -ao 1, linearity (mid), low gain -applied calibration for subdev 1, channel 1, range 0, aref 0 -applied calibration for subdev 0, channel 3, range 0, aref 3 -reading 4.002590(86), target 4.00244 -caldac[0] gain=-6.29(12)e-5 V/bit S_min=1.33538 dof=14 -caldac[1] gain=-1.960(12)e-4 V/bit S_min=1.90841 dof=14 -caldac[2] gain=-2.715(12)e-4 V/bit S_min=1.53222 dof=14 -caldac[4] gain=-7.694(12)e-4 V/bit S_min=2.23332 dof=14 -caldac[5] gain=-7.83(12)e-5 V/bit S_min=2.00853 dof=14 -caldac[9] gain=-7.867(12)e-4 V/bit S_min=2.38965 dof=14 -ao 0, unipolar zero offset, low gain -applied calibration for subdev 1, channel 0, range 1, aref 0 -applied calibration for subdev 0, channel 2, range 0, aref 3 -reading -3.48(85)e-4, target 0 -caldac[0] gain=-6.33(12)e-5 V/bit S_min=1.48391 dof=14 -caldac[4] gain=-7.677(12)e-4 V/bit S_min=2.70062 dof=14 -caldac[6] gain=-7.760(12)e-4 V/bit S_min=1.21915 dof=14 -caldac[10] gain=-3.71(12)e-5 V/bit S_min=0.643507 dof=14 -ao 0, unipolar high, low gain -applied calibration for subdev 1, channel 0, range 1, aref 0 -applied calibration for subdev 0, channel 2, range 0, aref 3 -reading 9.001135(90), target 9.00122 -caldac[0] gain=-6.24(12)e-5 V/bit S_min=1.15766 dof=14 -caldac[2] gain=-6.058(12)e-4 V/bit S_min=12.5811 dof=14 -caldac[4] gain=-7.697(12)e-4 V/bit S_min=4.02369 dof=14 -caldac[6] gain=-7.769(12)e-4 V/bit S_min=4.19127 dof=14 -caldac[10] gain=-1.039(12)e-4 V/bit S_min=2.38671 dof=14 -caldac[11] gain=-1.756(12)e-4 V/bit S_min=0.612148 dof=14 -ao 0, unipolar linearity (low), low gain -applied calibration for subdev 1, channel 0, range 1, aref 0 -applied calibration for subdev 0, channel 2, range 0, aref 3 -reading 1.001493(89), target 1.00122 -caldac[0] gain=-6.30(12)e-5 V/bit S_min=1.05389 dof=14 -caldac[2] gain=-6.99(12)e-5 V/bit S_min=0.860981 dof=14 -caldac[4] gain=-7.694(12)e-4 V/bit S_min=1.91761 dof=14 -caldac[6] gain=-7.771(12)e-4 V/bit S_min=2.76656 dof=14 -caldac[10] gain=-7.24(12)e-5 V/bit S_min=0.611318 dof=14 -caldac[11] gain=-1.90(12)e-5 V/bit S_min=0.617253 dof=14 -ao 0, unipolar linearity (mid), low gain -applied calibration for subdev 1, channel 0, range 1, aref 0 -applied calibration for subdev 0, channel 2, range 0, aref 3 -reading 5.001054(85), target 5.00122 -caldac[0] gain=-6.22(12)e-5 V/bit S_min=0.907235 dof=14 -caldac[2] gain=-3.354(12)e-4 V/bit S_min=5.21617 dof=14 -caldac[4] gain=-7.673(12)e-4 V/bit S_min=2.67471 dof=14 -caldac[6] gain=-7.750(12)e-4 V/bit S_min=3.77384 dof=14 -caldac[10] gain=-5.59(12)e-5 V/bit S_min=0.809439 dof=14 -caldac[11] gain=-9.66(12)e-5 V/bit S_min=2.84538 dof=14 -ao 1, unipolar zero offset, low gain -applied calibration for subdev 1, channel 1, range 1, aref 0 -applied calibration for subdev 0, channel 3, range 0, aref 3 -reading 2.67(87)e-4, target 0 -caldac[0] gain=-6.37(12)e-5 V/bit S_min=2.25024 dof=14 -caldac[1] gain=-3.79(12)e-5 V/bit S_min=2.57162 dof=14 -caldac[4] gain=-7.686(12)e-4 V/bit S_min=4.03167 dof=14 -caldac[9] gain=-7.799(12)e-4 V/bit S_min=0.693932 dof=14 -ao 1, unipolar high, low gain -applied calibration for subdev 1, channel 1, range 1, aref 0 -applied calibration for subdev 0, channel 3, range 0, aref 3 -reading 9.001102(86), target 9.00122 -caldac[0] gain=-6.21(12)e-5 V/bit S_min=1.2378 dof=14 -caldac[1] gain=-1.045(12)e-4 V/bit S_min=1.14609 dof=14 -caldac[2] gain=-6.066(12)e-4 V/bit S_min=11.9929 dof=14 -caldac[4] gain=-7.690(12)e-4 V/bit S_min=3.19217 dof=14 -caldac[5] gain=-1.765(12)e-4 V/bit S_min=2.27774 dof=14 -caldac[9] gain=-7.816(12)e-4 V/bit S_min=2.11992 dof=14 -ao 1, unipolar linearity (low), low gain -applied calibration for subdev 1, channel 1, range 1, aref 0 -applied calibration for subdev 0, channel 3, range 0, aref 3 -reading 1.001894(88), target 1.00122 -caldac[0] gain=-6.35(12)e-5 V/bit S_min=0.570402 dof=14 -caldac[1] gain=-7.32(12)e-5 V/bit S_min=0.578794 dof=14 -caldac[2] gain=-6.92(12)e-5 V/bit S_min=1.75952 dof=14 -caldac[4] gain=-7.701(12)e-4 V/bit S_min=4.04937 dof=14 -caldac[5] gain=-1.89(11)e-5 V/bit S_min=0.658158 dof=14 -caldac[9] gain=-7.812(12)e-4 V/bit S_min=2.77616 dof=14 -ao 1, unipolar linearity (mid), low gain -applied calibration for subdev 1, channel 1, range 1, aref 0 -applied calibration for subdev 0, channel 3, range 0, aref 3 -reading 5.001555(84), target 5.00122 -caldac[0] gain=-6.16(12)e-5 V/bit S_min=1.22379 dof=14 -caldac[1] gain=-5.62(12)e-5 V/bit S_min=2.61203 dof=14 -caldac[2] gain=-3.355(12)e-4 V/bit S_min=4.1919 dof=14 -caldac[4] gain=-7.673(12)e-4 V/bit S_min=4.00668 dof=14 -caldac[5] gain=-9.66(12)e-5 V/bit S_min=1.54245 dof=14 -caldac[9] gain=-7.787(12)e-4 V/bit S_min=4.25176 dof=14 -Applied calibration for subdevice 0, channel 0, range 0, aref 0 -chinasuse92p4sca:/home/walt/comedi/comedi-0.7.70 # \ No newline at end of file diff --git a/comedi_calibrate/results/at-mio-16e-1 b/comedi_calibrate/results/at-mio-16e-1 deleted file mode 100644 index 2f50f74..0000000 --- a/comedi_calibrate/results/at-mio-16e-1 +++ /dev/null @@ -1,359 +0,0 @@ -eeprom reference lsb=166 msb=255 -resulting reference voltage: 4.99991 -Warning: device may not be not fully calibrated due to insufficient -information.Please file a bug report at https://bugs.comedi.org/ and attach this -output. -This output will also allow comedi_calibrate to execute more -quickly in the future. -Forcing option: --verbose -Forcing options: --reset --dump --calibrate --results -Id: comedi_calibrate.c,v 1.92 2004/03/29 01:34:15 fmhess Exp -Driver name: ni_atmio -Device name: at-mio-16e-1 -Id: ni.c,v 1.110 2004/04/04 02:22:44 fmhess Exp -Comedi version: 0.7.68 -ai, bipolar zero offset, low gain -reading 7.5(10)e-4, target 0 -caldac[0] gain=-8.8(14)e-6 V/bit S_min=1.09522 dof=14 -caldac[1] gain=-7.558(14)e-4 V/bit S_min=3.95999 dof=14 -ai, bipolar zero offset, high gain -reading -3.0465(67)e-4, target 0 -caldac[0] gain=-8.7771(88)e-6 V/bit S_min=2.30312 dof=14 -caldac[1] gain=-3.7754(89)e-6 V/bit S_min=1.89058 dof=14 -caldac[3] gain=3.50(87)e-8 V/bit S_min=0.547216 dof=14 -ai, bipolar voltage reference, low gain -reading 5.01249(10), target 4.99991 -caldac[0] gain=-8.0(14)e-6 V/bit S_min=0.82462 dof=14 -caldac[1] gain=-7.551(14)e-4 V/bit S_min=2.03064 dof=14 -caldac[3] gain=-4.834(14)e-4 V/bit S_min=3.49087 dof=14 -ai, unipolar zero offset, low gain -reading 0.0( 0)e-2147483648, target 0.002442 -caldac[1] gain=-3.2276(63)e-4 V/bit S_min=86819.2 dof=14 -caldac[2] gain=-4.3693(67)e-4 V/bit S_min=127497 dof=14 -ai, unipolar zero offset, high gain -reading 0.0( 0)e-2147483648, target 1.221e-05 -caldac[0] gain=-2.5748(33)e-6 V/bit S_min=335677 dof=14 -caldac[1] gain=-1.875(13)e-7 V/bit S_min=54237.7 dof=14 -caldac[2] gain=-5.994(21)e-7 V/bit S_min=108433 dof=14 -ai, unipolar voltage reference, low gain -reading 4.99747(10), target 4.99991 -caldac[0] gain=-9.3(14)e-6 V/bit S_min=1.3753 dof=14 -caldac[1] gain=-7.546(14)e-4 V/bit S_min=3.19278 dof=14 -caldac[2] gain=-9.651(14)e-4 V/bit S_min=1.15898 dof=14 -caldac[3] gain=-4.844(14)e-4 V/bit S_min=6.92136 dof=14 -ao 0, zero offset, low gain -reading -6.119(100)e-3, target 0.002442 -caldac[0] gain=-8.1(14)e-6 V/bit S_min=1.06507 dof=14 -caldac[1] gain=-7.557(14)e-4 V/bit S_min=3.28408 dof=14 -caldac[4] gain=-1.248(14)e-4 V/bit S_min=0.551205 dof=14 -caldac[5] gain=-8.298(14)e-4 V/bit S_min=2.7738 dof=14 -ao 0, reference voltage, low gain -reading 8.00937(10), target 8.00244 -caldac[0] gain=-9.2(14)e-6 V/bit S_min=1.01639 dof=14 -caldac[1] gain=-7.528(14)e-4 V/bit S_min=1.41349 dof=14 -caldac[3] gain=-7.699(14)e-4 V/bit S_min=11.7405 dof=14 -caldac[4] gain=-2.215(14)e-4 V/bit S_min=1.02548 dof=14 -caldac[5] gain=-8.276(14)e-4 V/bit S_min=0.717992 dof=14 -caldac[6] gain=-1.557(14)e-4 V/bit S_min=1.74443 dof=14 -ao 0, linearity (mid), low gain -reading 4.00154(10), target 4.00244 -caldac[0] gain=-8.6(14)e-6 V/bit S_min=0.637496 dof=14 -caldac[1] gain=-7.517(14)e-4 V/bit S_min=6.43439 dof=14 -caldac[3] gain=-3.852(14)e-4 V/bit S_min=2.66421 dof=14 -caldac[4] gain=-2.093(14)e-4 V/bit S_min=1.42958 dof=14 -caldac[5] gain=-8.260(14)e-4 V/bit S_min=5.24754 dof=14 -caldac[6] gain=-7.81(14)e-5 V/bit S_min=1.05935 dof=14 -ao 1, zero offset, low gain -reading -5.771(100)e-3, target 0.002442 -caldac[0] gain=-8.6(14)e-6 V/bit S_min=1.20423 dof=14 -caldac[1] gain=-7.551(14)e-4 V/bit S_min=3.43787 dof=14 -caldac[7] gain=-1.243(14)e-4 V/bit S_min=1.46802 dof=14 -caldac[8] gain=-8.295(14)e-4 V/bit S_min=1.87245 dof=14 -ao 1, reference voltage, low gain -reading 8.00980(11), target 8.00244 -caldac[0] gain=-8.8(14)e-6 V/bit S_min=1.10784 dof=14 -caldac[1] gain=-7.527(14)e-4 V/bit S_min=0.993669 dof=14 -caldac[3] gain=-7.699(14)e-4 V/bit S_min=11.2815 dof=14 -caldac[7] gain=-2.210(14)e-4 V/bit S_min=1.01976 dof=14 -caldac[8] gain=-8.271(14)e-4 V/bit S_min=1.60461 dof=14 -caldac[9] gain=-1.558(14)e-4 V/bit S_min=1.46595 dof=14 -ao 1, linearity (mid), low gain -reading 4.00139(10), target 4.00244 -caldac[0] gain=-9.4(14)e-6 V/bit S_min=1.07283 dof=14 -caldac[1] gain=-7.527(14)e-4 V/bit S_min=4.84605 dof=14 -caldac[3] gain=-3.843(14)e-4 V/bit S_min=4.1468 dof=14 -caldac[7] gain=-2.089(14)e-4 V/bit S_min=1.4825 dof=14 -caldac[8] gain=-8.267(14)e-4 V/bit S_min=4.14121 dof=14 -caldac[9] gain=-7.80(14)e-5 V/bit S_min=0.776121 dof=14 -ao 0, unipolar zero offset, low gain -reading -5.65(10)e-3, target 0 -caldac[0] gain=-8.6(14)e-6 V/bit S_min=0.535554 dof=14 -caldac[1] gain=-7.556(14)e-4 V/bit S_min=3.38384 dof=14 -caldac[4] gain=-4.21(14)e-5 V/bit S_min=1.02791 dof=14 -caldac[5] gain=-8.300(14)e-4 V/bit S_min=1.69337 dof=14 -ao 0, unipolar high, low gain -reading 9.01431(10), target 9.00122 -caldac[0] gain=-8.9(14)e-6 V/bit S_min=0.592409 dof=14 -caldac[1] gain=-7.525(14)e-4 V/bit S_min=6.92695 dof=14 -caldac[3] gain=-8.645(14)e-4 V/bit S_min=11.548 dof=14 -caldac[4] gain=-1.124(14)e-4 V/bit S_min=2.1145 dof=14 -caldac[5] gain=-8.255(14)e-4 V/bit S_min=5.65795 dof=14 -caldac[6] gain=-1.766(14)e-4 V/bit S_min=1.10924 dof=14 -ao 0, unipolar linearity (low), low gain -reading 0.99812(11), target 1.00122 -caldac[0] gain=-8.8(14)e-6 V/bit S_min=0.745476 dof=14 -caldac[1] gain=-7.500(14)e-4 V/bit S_min=6.552 dof=14 -caldac[3] gain=-9.50(14)e-5 V/bit S_min=0.923277 dof=14 -caldac[4] gain=-7.86(14)e-5 V/bit S_min=1.15331 dof=14 -caldac[5] gain=-8.245(14)e-4 V/bit S_min=4.12521 dof=14 -caldac[6] gain=-1.97(14)e-5 V/bit S_min=0.590444 dof=14 -ao 0, unipolar linearity (mid), low gain -reading 5.00690(10), target 5.00122 -caldac[0] gain=-9.3(14)e-6 V/bit S_min=1.01055 dof=14 -caldac[1] gain=-7.550(14)e-4 V/bit S_min=4.20116 dof=14 -caldac[3] gain=-4.825(14)e-4 V/bit S_min=3.93155 dof=14 -caldac[4] gain=-6.40(14)e-5 V/bit S_min=3.80846 dof=14 -caldac[5] gain=-8.289(14)e-4 V/bit S_min=2.12907 dof=14 -caldac[6] gain=-9.99(14)e-5 V/bit S_min=2.83172 dof=14 -ao 1, unipolar zero offset, low gain -reading -5.86(10)e-3, target 0 -caldac[0] gain=-8.7(14)e-6 V/bit S_min=1.5997 dof=14 -caldac[1] gain=-7.553(14)e-4 V/bit S_min=2.72914 dof=14 -caldac[7] gain=-4.09(14)e-5 V/bit S_min=0.697545 dof=14 -caldac[8] gain=-8.300(14)e-4 V/bit S_min=1.00515 dof=14 -ao 1, unipolar high, low gain -reading 9.01452(10), target 9.00122 -caldac[0] gain=-8.8(14)e-6 V/bit S_min=1.2525 dof=14 -caldac[1] gain=-7.523(14)e-4 V/bit S_min=6.44631 dof=14 -caldac[3] gain=-8.640(14)e-4 V/bit S_min=14.7367 dof=14 -caldac[7] gain=-1.114(14)e-4 V/bit S_min=0.992928 dof=14 -caldac[8] gain=-8.260(14)e-4 V/bit S_min=7.39194 dof=14 -caldac[9] gain=-1.759(14)e-4 V/bit S_min=0.968929 dof=14 -ao 1, unipolar linearity (low), low gain -reading 0.99715(10), target 1.00122 -caldac[0] gain=-9.0(14)e-6 V/bit S_min=0.382816 dof=14 -caldac[1] gain=-7.499(14)e-4 V/bit S_min=4.50835 dof=14 -caldac[3] gain=-9.47(14)e-5 V/bit S_min=0.999024 dof=14 -caldac[7] gain=-7.89(14)e-5 V/bit S_min=1.73214 dof=14 -caldac[8] gain=-8.244(14)e-4 V/bit S_min=4.24174 dof=14 -caldac[9] gain=-1.90(14)e-5 V/bit S_min=1.25962 dof=14 -ao 1, unipolar linearity (mid), low gain -reading 5.00697(10), target 5.00122 -caldac[0] gain=-8.8(14)e-6 V/bit S_min=1.21695 dof=14 -caldac[1] gain=-7.553(14)e-4 V/bit S_min=3.22012 dof=14 -caldac[3] gain=-4.827(14)e-4 V/bit S_min=5.83667 dof=14 -caldac[7] gain=-6.38(14)e-5 V/bit S_min=1.5426 dof=14 -caldac[8] gain=-8.297(14)e-4 V/bit S_min=1.25605 dof=14 -caldac[9] gain=-9.91(14)e-5 V/bit S_min=2.8617 dof=14 -relative binary: ai, bipolar zero offset, low gain, ai, bipolar voltage -reference, low gain -caldac[3] set to 151 -relative binary: ai, bipolar zero offset, low gain, ai, bipolar zero offset, -high gain -caldac[1] set to 127 -binary: ai, bipolar zero offset, high gain -caldac[0] set to 93 -binary: ai, unipolar zero offset, high gain -caldac[2] set to 109 -linearity binary: ao 0, zero offset, low gain, -ao 0, linearity (mid), low gain, -ao 0, reference voltage, low gain -caldac[4] set to 121 -binary: ao 0, zero offset, low gain -caldac[5] set to 118 -binary: ao 0, reference voltage, low gain -caldac[6] set to 111 -linearity binary: ao 0, unipolar linearity (low), low gain, -ao 0, unipolar linearity (mid), low gain, -ao 0, unipolar high, low gain -caldac[4] set to 124 -binary: ao 0, unipolar zero offset, low gain -caldac[5] set to 121 -binary: ao 0, unipolar high, low gain -caldac[6] set to 116 -linearity binary: ao 1, zero offset, low gain, -ao 1, linearity (mid), low gain, -ao 1, reference voltage, low gain -caldac[7] set to 113 -binary: ao 1, zero offset, low gain -caldac[8] set to 119 -binary: ao 1, reference voltage, low gain -caldac[9] set to 121 -linearity binary: ao 1, unipolar linearity (low), low gain, -ao 1, unipolar linearity (mid), low gain, -ao 1, unipolar high, low gain -caldac[7] set to 113 -binary: ao 1, unipolar zero offset, low gain -caldac[8] set to 121 -binary: ao 1, unipolar high, low gain -caldac[9] set to 125 -writing calibration to -/usr/var/lib/comedi/calibrations/ni_atmio_at-mio-16e-1_comedi0 -ai, bipolar zero offset, low gain -applied calibration for subdev 0, channel 0, range 0, aref 3 -reading 9.7(10)e-4, target 0 -caldac[0] gain=-8.9(14)e-6 V/bit S_min=0.617982 dof=14 -caldac[1] gain=-7.530(14)e-4 V/bit S_min=2.96076 dof=14 -ai, bipolar zero offset, high gain -applied calibration for subdev 0, channel 0, range 7, aref 3 -reading -5.58(62)e-6, target 0 -caldac[0] gain=-8.7604(88)e-6 V/bit S_min=3.17216 dof=14 -caldac[1] gain=-3.7642(88)e-6 V/bit S_min=2.50942 dof=14 -ai, bipolar voltage reference, low gain -applied calibration for subdev 0, channel 5, range 0, aref 3 -reading 5.00112(10), target 4.99991 -caldac[0] gain=-9.1(14)e-6 V/bit S_min=1.02955 dof=14 -caldac[1] gain=-7.529(14)e-4 V/bit S_min=2.66357 dof=14 -caldac[3] gain=-4.828(14)e-4 V/bit S_min=4.4398 dof=14 -ai, unipolar zero offset, low gain -applied calibration for subdev 0, channel 0, range 8, aref 3 -reading 3.396(97)e-3, target 0.002442 -caldac[0] gain=-7.4(13)e-6 V/bit S_min=0.605336 dof=14 -caldac[1] gain=-4.2465(76)e-4 V/bit S_min=58496.4 dof=14 -caldac[2] gain=-4.3699(67)e-4 V/bit S_min=125534 dof=14 -ai, unipolar zero offset, high gain -applied calibration for subdev 0, channel 0, range 15, aref 3 -reading 1.028(47)e-5, target 1.221e-05 -caldac[0] gain=-3.0428(35)e-6 V/bit S_min=344287 dof=14 -caldac[1] gain=-2.0625(48)e-6 V/bit S_min=36897.9 dof=14 -caldac[2] gain=-2.1356(41)e-6 V/bit S_min=82233.9 dof=14 -ai, unipolar voltage reference, low gain -applied calibration for subdev 0, channel 5, range 8, aref 3 -reading 5.00366(10), target 4.99991 -caldac[0] gain=-9.2(14)e-6 V/bit S_min=1.28295 dof=14 -caldac[1] gain=-7.520(14)e-4 V/bit S_min=1.8786 dof=14 -caldac[2] gain=-9.622(14)e-4 V/bit S_min=1.62408 dof=14 -caldac[3] gain=-4.851(14)e-4 V/bit S_min=3.7335 dof=14 -ao 0, zero offset, low gain -applied calibration for subdev 1, channel 0, range 0, aref 0 -applied calibration for subdev 0, channel 2, range 0, aref 3 -reading 2.72(11)e-3, target 0.002442 -caldac[0] gain=-9.5(14)e-6 V/bit S_min=0.647757 dof=14 -caldac[1] gain=-7.532(14)e-4 V/bit S_min=4.57737 dof=14 -caldac[4] gain=-1.250(14)e-4 V/bit S_min=1.45143 dof=14 -caldac[5] gain=-8.271(14)e-4 V/bit S_min=2.69473 dof=14 -ao 0, reference voltage, low gain -applied calibration for subdev 1, channel 0, range 0, aref 0 -applied calibration for subdev 0, channel 2, range 0, aref 3 -reading 8.00249(10), target 8.00244 -caldac[0] gain=-8.9(14)e-6 V/bit S_min=0.238276 dof=14 -caldac[1] gain=-7.507(14)e-4 V/bit S_min=2.50325 dof=14 -caldac[3] gain=-7.705(14)e-4 V/bit S_min=12.828 dof=14 -caldac[4] gain=-2.212(14)e-4 V/bit S_min=1.66217 dof=14 -caldac[5] gain=-8.246(14)e-4 V/bit S_min=0.664544 dof=14 -caldac[6] gain=-1.559(14)e-4 V/bit S_min=1.49419 dof=14 -ao 0, linearity (mid), low gain -applied calibration for subdev 1, channel 0, range 0, aref 0 -applied calibration for subdev 0, channel 2, range 0, aref 3 -reading 4.00267(10), target 4.00244 -caldac[0] gain=-8.8(14)e-6 V/bit S_min=0.598028 dof=14 -caldac[1] gain=-7.501(14)e-4 V/bit S_min=4.12502 dof=14 -caldac[3] gain=-3.859(14)e-4 V/bit S_min=3.78547 dof=14 -caldac[4] gain=-2.086(14)e-4 V/bit S_min=1.38229 dof=14 -caldac[5] gain=-8.242(14)e-4 V/bit S_min=5.13416 dof=14 -caldac[6] gain=-7.77(14)e-5 V/bit S_min=1.47309 dof=14 -ao 1, zero offset, low gain -applied calibration for subdev 1, channel 1, range 0, aref 0 -applied calibration for subdev 0, channel 3, range 0, aref 3 -reading 3.06(10)e-3, target 0.002442 -caldac[0] gain=-9.1(14)e-6 V/bit S_min=0.264933 dof=14 -caldac[1] gain=-7.532(14)e-4 V/bit S_min=4.01244 dof=14 -caldac[7] gain=-1.249(14)e-4 V/bit S_min=1.13164 dof=14 -caldac[8] gain=-8.280(14)e-4 V/bit S_min=1.40017 dof=14 -ao 1, reference voltage, low gain -applied calibration for subdev 1, channel 1, range 0, aref 0 -applied calibration for subdev 0, channel 3, range 0, aref 3 -reading 8.00227(11), target 8.00244 -caldac[0] gain=-9.0(14)e-6 V/bit S_min=1.09359 dof=14 -caldac[1] gain=-7.508(14)e-4 V/bit S_min=1.81767 dof=14 -caldac[3] gain=-7.698(14)e-4 V/bit S_min=11.5419 dof=14 -caldac[7] gain=-2.208(14)e-4 V/bit S_min=2.01532 dof=14 -caldac[8] gain=-8.244(14)e-4 V/bit S_min=1.68058 dof=14 -caldac[9] gain=-1.549(14)e-4 V/bit S_min=0.746708 dof=14 -ao 1, linearity (mid), low gain -applied calibration for subdev 1, channel 1, range 0, aref 0 -applied calibration for subdev 0, channel 3, range 0, aref 3 -reading 4.00260(10), target 4.00244 -caldac[0] gain=-8.8(14)e-6 V/bit S_min=1.3585 dof=14 -caldac[1] gain=-7.503(14)e-4 V/bit S_min=4.61528 dof=14 -caldac[3] gain=-3.855(14)e-4 V/bit S_min=3.15529 dof=14 -caldac[7] gain=-2.083(14)e-4 V/bit S_min=1.18802 dof=14 -caldac[8] gain=-8.246(14)e-4 V/bit S_min=3.06557 dof=14 -caldac[9] gain=-7.68(14)e-5 V/bit S_min=1.15218 dof=14 -ao 0, unipolar zero offset, low gain -applied calibration for subdev 1, channel 0, range 1, aref 0 -applied calibration for subdev 0, channel 2, range 0, aref 3 -reading -2.9(10)e-4, target 0 -caldac[0] gain=-9.3(14)e-6 V/bit S_min=1.45539 dof=14 -caldac[1] gain=-7.531(14)e-4 V/bit S_min=2.72128 dof=14 -caldac[4] gain=-4.21(14)e-5 V/bit S_min=1.24898 dof=14 -caldac[5] gain=-8.273(14)e-4 V/bit S_min=2.11517 dof=14 -ao 0, unipolar high, low gain -applied calibration for subdev 1, channel 0, range 1, aref 0 -applied calibration for subdev 0, channel 2, range 0, aref 3 -reading 9.00124(10), target 9.00122 -caldac[0] gain=-8.9(14)e-6 V/bit S_min=1.27064 dof=14 -caldac[1] gain=-7.495(14)e-4 V/bit S_min=6.95864 dof=14 -caldac[3] gain=-8.651(14)e-4 V/bit S_min=10.7391 dof=14 -caldac[4] gain=-1.106(14)e-4 V/bit S_min=1.63484 dof=14 -caldac[5] gain=-8.240(14)e-4 V/bit S_min=2.3986 dof=14 -caldac[6] gain=-1.753(14)e-4 V/bit S_min=0.722429 dof=14 -ao 0, unipolar linearity (low), low gain -applied calibration for subdev 1, channel 0, range 1, aref 0 -applied calibration for subdev 0, channel 2, range 0, aref 3 -reading 1.00139(10), target 1.00122 -caldac[0] gain=-8.8(14)e-6 V/bit S_min=1.10918 dof=14 -caldac[1] gain=-7.480(14)e-4 V/bit S_min=7.34355 dof=14 -caldac[3] gain=-9.60(14)e-5 V/bit S_min=1.20038 dof=14 -caldac[4] gain=-7.80(14)e-5 V/bit S_min=0.877571 dof=14 -caldac[5] gain=-8.224(14)e-4 V/bit S_min=7.45923 dof=14 -caldac[6] gain=-1.95(14)e-5 V/bit S_min=0.874179 dof=14 -ao 0, unipolar linearity (mid), low gain -applied calibration for subdev 1, channel 0, range 1, aref 0 -applied calibration for subdev 0, channel 2, range 0, aref 3 -reading 5.00124(10), target 5.00122 -caldac[0] gain=-8.4(14)e-6 V/bit S_min=0.709361 dof=14 -caldac[1] gain=-7.528(14)e-4 V/bit S_min=5.06733 dof=14 -caldac[3] gain=-4.821(14)e-4 V/bit S_min=4.98762 dof=14 -caldac[4] gain=-6.37(14)e-5 V/bit S_min=1.21146 dof=14 -caldac[5] gain=-8.274(14)e-4 V/bit S_min=3.13798 dof=14 -caldac[6] gain=-9.96(14)e-5 V/bit S_min=3.12514 dof=14 -ao 1, unipolar zero offset, low gain -applied calibration for subdev 1, channel 1, range 1, aref 0 -applied calibration for subdev 0, channel 3, range 0, aref 3 -reading -0.8(10)e-4, target 0 -caldac[0] gain=-8.9(14)e-6 V/bit S_min=0.761959 dof=14 -caldac[1] gain=-7.536(14)e-4 V/bit S_min=3.96696 dof=14 -caldac[7] gain=-4.24(14)e-5 V/bit S_min=1.65739 dof=14 -caldac[8] gain=-8.273(14)e-4 V/bit S_min=2.62236 dof=14 -ao 1, unipolar high, low gain -applied calibration for subdev 1, channel 1, range 1, aref 0 -applied calibration for subdev 0, channel 3, range 0, aref 3 -reading 9.00119(10), target 9.00122 -caldac[0] gain=-9.2(14)e-6 V/bit S_min=1.05796 dof=14 -caldac[1] gain=-7.502(14)e-4 V/bit S_min=3.57367 dof=14 -caldac[3] gain=-8.643(14)e-4 V/bit S_min=10.3467 dof=14 -caldac[7] gain=-1.105(14)e-4 V/bit S_min=0.548318 dof=14 -caldac[8] gain=-8.247(14)e-4 V/bit S_min=3.35923 dof=14 -caldac[9] gain=-1.749(14)e-4 V/bit S_min=1.24378 dof=14 -ao 1, unipolar linearity (low), low gain -applied calibration for subdev 1, channel 1, range 1, aref 0 -applied calibration for subdev 0, channel 3, range 0, aref 3 -reading 1.00146(10), target 1.00122 -caldac[0] gain=-9.4(14)e-6 V/bit S_min=0.407992 dof=14 -caldac[1] gain=-7.481(14)e-4 V/bit S_min=5.77114 dof=14 -caldac[3] gain=-9.60(14)e-5 V/bit S_min=1.63417 dof=14 -caldac[7] gain=-7.82(14)e-5 V/bit S_min=1.83454 dof=14 -caldac[8] gain=-8.223(14)e-4 V/bit S_min=5.18168 dof=14 -caldac[9] gain=-1.99(14)e-5 V/bit S_min=0.703599 dof=14 -ao 1, unipolar linearity (mid), low gain -applied calibration for subdev 1, channel 1, range 1, aref 0 -applied calibration for subdev 0, channel 3, range 0, aref 3 -reading 5.00131(10), target 5.00122 -caldac[0] gain=-9.3(14)e-6 V/bit S_min=0.852245 dof=14 -caldac[1] gain=-7.526(14)e-4 V/bit S_min=3.69192 dof=14 -caldac[3] gain=-4.822(14)e-4 V/bit S_min=5.88581 dof=14 -caldac[7] gain=-6.41(14)e-5 V/bit S_min=2.28479 dof=14 -caldac[8] gain=-8.275(14)e-4 V/bit S_min=2.11014 dof=14 -caldac[9] gain=-1.001(14)e-4 V/bit S_min=2.48091 dof=14 -Applied calibration for subdevice 0, channel 0, range 0, aref 0 diff --git a/comedi_calibrate/results/at-mio-16e-10 b/comedi_calibrate/results/at-mio-16e-10 deleted file mode 100644 index 6160cf2..0000000 --- a/comedi_calibrate/results/at-mio-16e-10 +++ /dev/null @@ -1,366 +0,0 @@ -eeprom reference lsb=134 msb=255 -resulting reference voltage: 4.99988 -Warning: device may not be not fully calibrated due to insufficient information. -Please file a bug report at https://bugs.comedi.org/ and attach this output. -This output will also allow comedi_calibrate to execute more -quickly in the future. -Forcing option: --verbose -Forcing options: --reset --dump --calibrate --results -Id: comedi_calibrate.c,v 1.92 2004/03/29 01:34:15 fmhess Exp -Driver name: ni_atmio -Device name: at-mio-16e-10 -Id: ni.c,v 1.112 2004/05/12 01:08:49 fmhess Exp -Comedi version: 0.7.68 -ai, bipolar zero offset, low gain -reading -0.04216(10), target 0 -caldac[0] gain=-6.27(15)e-5 V/bit S_min=0.839148 dof=14 -caldac[4] gain=-7.697(15)e-4 V/bit S_min=1.76983 dof=14 -ai, bipolar zero offset, high gain -reading -5.6338(64)e-4, target 0 -caldac[0] gain=-6.28521(84)e-5 V/bit S_min=286.119 dof=14 -caldac[4] gain=-3.8589(85)e-6 V/bit S_min=2.15162 dof=14 -caldac[8] gain=-1.3014(85)e-6 V/bit S_min=1.11977 dof=14 -ai, bipolar voltage reference, low gain -reading 4.95955(10), target 4.99988 -caldac[0] gain=-6.26(15)e-5 V/bit S_min=0.681492 dof=14 -caldac[2] gain=-3.305(15)e-4 V/bit S_min=3.45267 dof=14 -caldac[4] gain=-7.712(15)e-4 V/bit S_min=1.78521 dof=14 -ai, unipolar zero offset, low gain -reading 0.0( 0)e-2147483648, target 0.002442 -caldac[2] gain=7.899(33)e-5 V/bit S_min=77065.3 dof=14 -caldac[4] gain=-1.7730(46)e-4 V/bit S_min=108363 dof=14 -caldac[7] gain=-1.6735(47)e-4 V/bit S_min=97376 dof=14 -ai, unipolar zero offset, high gain -reading 0.0( 0)e-2147483648, target 1.221e-05 -caldac[0] gain=-3.08038(43)e-5 V/bit S_min=1.33255e+07 dof=14 -ai, unipolar voltage reference, low gain -reading 4.95899(11), target 4.99988 -caldac[0] gain=-6.20(15)e-5 V/bit S_min=1.18919 dof=14 -caldac[2] gain=3.303(15)e-4 V/bit S_min=2.75213 dof=14 -caldac[4] gain=-7.710(15)e-4 V/bit S_min=2.73149 dof=14 -caldac[7] gain=-7.519(15)e-4 V/bit S_min=1.39442 dof=14 -ao 0, zero offset, low gain -reading -0.03853(11), target 0.002442 -caldac[0] gain=-6.33(15)e-5 V/bit S_min=0.963782 dof=14 -caldac[4] gain=-7.697(15)e-4 V/bit S_min=2.18864 dof=14 -caldac[6] gain=-7.853(15)e-4 V/bit S_min=1.12649 dof=14 -caldac[10] gain=-1.156(14)e-4 V/bit S_min=0.631839 dof=14 -ao 0, reference voltage, low gain -reading 7.96015(10), target 8.00244 -caldac[0] gain=-6.34(15)e-5 V/bit S_min=0.490311 dof=14 -caldac[2] gain=-5.274(15)e-4 V/bit S_min=6.0819 dof=14 -caldac[4] gain=-7.701(15)e-4 V/bit S_min=1.38853 dof=14 -caldac[6] gain=-7.861(15)e-4 V/bit S_min=1.83657 dof=14 -caldac[10] gain=-2.083(14)e-4 V/bit S_min=1.01466 dof=14 -caldac[11] gain=-1.573(15)e-4 V/bit S_min=1.40179 dof=14 -ao 0, linearity (mid), low gain -reading 3.96109(11), target 4.00244 -caldac[0] gain=-6.25(15)e-5 V/bit S_min=1.0613 dof=14 -caldac[2] gain=-2.638(15)e-4 V/bit S_min=1.71205 dof=14 -caldac[4] gain=-7.706(15)e-4 V/bit S_min=1.50717 dof=14 -caldac[6] gain=-7.865(15)e-4 V/bit S_min=1.2023 dof=14 -caldac[10] gain=-1.956(15)e-4 V/bit S_min=0.454084 dof=14 -caldac[11] gain=-7.87(15)e-5 V/bit S_min=1.7689 dof=14 -ao 1, zero offset, low gain -reading -0.04266(11), target 0.002442 -caldac[0] gain=-6.27(15)e-5 V/bit S_min=1.53241 dof=14 -caldac[1] gain=-1.144(15)e-4 V/bit S_min=1.68184 dof=14 -caldac[4] gain=-7.692(15)e-4 V/bit S_min=2.25693 dof=14 -caldac[9] gain=-7.835(15)e-4 V/bit S_min=1.08339 dof=14 -ao 1, reference voltage, low gain -reading 7.95628(11), target 8.00244 -caldac[0] gain=-6.30(15)e-5 V/bit S_min=0.687474 dof=14 -caldac[1] gain=-2.079(15)e-4 V/bit S_min=1.12953 dof=14 -caldac[2] gain=-5.282(15)e-4 V/bit S_min=3.25719 dof=14 -caldac[4] gain=-7.704(15)e-4 V/bit S_min=0.904927 dof=14 -caldac[5] gain=-1.586(15)e-4 V/bit S_min=0.486354 dof=14 -caldac[9] gain=-7.838(15)e-4 V/bit S_min=0.915931 dof=14 -ao 1, linearity (mid), low gain -reading 3.95695(10), target 4.00244 -caldac[0] gain=-6.33(15)e-5 V/bit S_min=0.715137 dof=14 -caldac[1] gain=-1.951(15)e-4 V/bit S_min=1.71303 dof=14 -caldac[2] gain=-2.638(15)e-4 V/bit S_min=2.31793 dof=14 -caldac[4] gain=-7.708(15)e-4 V/bit S_min=1.6738 dof=14 -caldac[5] gain=-7.92(14)e-5 V/bit S_min=0.563063 dof=14 -caldac[9] gain=-7.843(15)e-4 V/bit S_min=1.03905 dof=14 -ao 0, unipolar zero offset, low gain -reading -0.04088(11), target 0 -caldac[0] gain=-6.32(15)e-5 V/bit S_min=0.679378 dof=14 -caldac[4] gain=-7.696(15)e-4 V/bit S_min=1.88536 dof=14 -caldac[6] gain=-7.797(15)e-4 V/bit S_min=1.60174 dof=14 -caldac[10] gain=-3.81(15)e-5 V/bit S_min=1.09965 dof=14 -ao 0, unipolar high, low gain -reading 8.95685(11), target 9.00122 -caldac[0] gain=-6.29(15)e-5 V/bit S_min=0.645442 dof=14 -caldac[2] gain=-5.948(15)e-4 V/bit S_min=8.22568 dof=14 -caldac[4] gain=-7.710(15)e-4 V/bit S_min=1.64758 dof=14 -caldac[6] gain=-7.802(15)e-4 V/bit S_min=2.05647 dof=14 -caldac[10] gain=-1.037(15)e-4 V/bit S_min=1.02156 dof=14 -caldac[11] gain=-1.763(15)e-4 V/bit S_min=1.11353 dof=14 -ao 0, unipolar linearity (low), low gain -reading 0.96036(11), target 1.00122 -caldac[0] gain=-6.31(15)e-5 V/bit S_min=1.09614 dof=14 -caldac[2] gain=-6.61(15)e-5 V/bit S_min=0.760375 dof=14 -caldac[4] gain=-7.710(15)e-4 V/bit S_min=1.31375 dof=14 -caldac[6] gain=-7.817(15)e-4 V/bit S_min=0.887328 dof=14 -caldac[10] gain=-7.28(15)e-5 V/bit S_min=0.64491 dof=14 -caldac[11] gain=-1.96(15)e-5 V/bit S_min=0.927068 dof=14 -ao 0, unipolar linearity (mid), low gain -reading 4.95838(11), target 5.00122 -caldac[0] gain=-6.24(15)e-5 V/bit S_min=0.714695 dof=14 -caldac[2] gain=-3.299(15)e-4 V/bit S_min=2.32927 dof=14 -caldac[4] gain=-7.706(14)e-4 V/bit S_min=1.4876 dof=14 -caldac[6] gain=-7.809(14)e-4 V/bit S_min=0.670261 dof=14 -caldac[10] gain=-5.73(15)e-5 V/bit S_min=0.813239 dof=14 -caldac[11] gain=-9.81(15)e-5 V/bit S_min=0.83968 dof=14 -ao 1, unipolar zero offset, low gain -reading -0.04089(11), target 0 -caldac[0] gain=-6.24(15)e-5 V/bit S_min=0.600844 dof=14 -caldac[1] gain=-3.79(15)e-5 V/bit S_min=1.24474 dof=14 -caldac[4] gain=-7.696(15)e-4 V/bit S_min=1.78661 dof=14 -caldac[9] gain=-7.775(15)e-4 V/bit S_min=1.05585 dof=14 -ao 1, unipolar high, low gain -reading 8.96179(11), target 9.00122 -caldac[0] gain=-6.21(15)e-5 V/bit S_min=0.783658 dof=14 -caldac[1] gain=-1.043(15)e-4 V/bit S_min=0.663375 dof=14 -caldac[2] gain=-5.942(14)e-4 V/bit S_min=7.08621 dof=14 -caldac[4] gain=-7.703(15)e-4 V/bit S_min=1.71628 dof=14 -caldac[5] gain=-1.786(14)e-4 V/bit S_min=0.969797 dof=14 -caldac[9] gain=-7.790(14)e-4 V/bit S_min=1.28199 dof=14 -ao 1, unipolar linearity (low), low gain -reading 0.96047(11), target 1.00122 -caldac[0] gain=-6.27(14)e-5 V/bit S_min=0.765561 dof=14 -caldac[1] gain=-7.41(15)e-5 V/bit S_min=0.666894 dof=14 -caldac[2] gain=-6.65(15)e-5 V/bit S_min=0.870639 dof=14 -caldac[4] gain=-7.711(15)e-4 V/bit S_min=1.40739 dof=14 -caldac[5] gain=-2.03(15)e-5 V/bit S_min=0.321384 dof=14 -caldac[9] gain=-7.787(15)e-4 V/bit S_min=1.21402 dof=14 -ao 1, unipolar linearity (mid), low gain -reading 4.96097(10), target 5.00122 -caldac[0] gain=-6.35(15)e-5 V/bit S_min=1.22866 dof=14 -caldac[1] gain=-5.74(15)e-5 V/bit S_min=0.459804 dof=14 -caldac[2] gain=-3.298(15)e-4 V/bit S_min=3.20642 dof=14 -caldac[4] gain=-7.707(15)e-4 V/bit S_min=1.05247 dof=14 -caldac[5] gain=-9.97(15)e-5 V/bit S_min=0.644686 dof=14 -caldac[9] gain=-7.789(15)e-4 V/bit S_min=0.808804 dof=14 -WARNING: you need comedi driver version 0.7.69 or later -for this calibration to work properly -relative binary: ai, bipolar zero offset, low gain, ai, bipolar voltage -reference, low gain -caldac[2] set to 133 -relative binary: ai, bipolar zero offset, low gain, ai, bipolar zero offset, -high gain -caldac[4] set to 73 -binary: ai, bipolar zero offset, high gain -caldac[0] set to 121 -binary: ai, bipolar zero offset, high gain -caldac[8] set to 143 -binary: ai, unipolar zero offset, high gain -caldac[7] set to 129 -linearity binary: ao 0, zero offset, low gain, -ao 0, linearity (mid), low gain, -ao 0, reference voltage, low gain -caldac[10] set to 145 -binary: ao 0, zero offset, low gain -caldac[6] set to 125 -binary: ao 0, reference voltage, low gain -caldac[11] set to 91 -linearity binary: ao 0, unipolar linearity (low), low gain, -ao 0, unipolar linearity (mid), low gain, -ao 0, unipolar high, low gain -caldac[10] set to 138 -binary: ao 0, unipolar zero offset, low gain -caldac[6] set to 127 -binary: ao 0, unipolar high, low gain -caldac[11] set to 86 -linearity binary: ao 1, zero offset, low gain, -ao 1, linearity (mid), low gain, -ao 1, reference voltage, low gain -caldac[1] set to 135 -binary: ao 1, zero offset, low gain -caldac[9] set to 121 -binary: ao 1, reference voltage, low gain -caldac[5] set to 99 -linearity binary: ao 1, unipolar linearity (low), low gain, -ao 1, unipolar linearity (mid), low gain, -ao 1, unipolar high, low gain -caldac[1] set to 131 -binary: ao 1, unipolar zero offset, low gain -caldac[9] set to 127 -binary: ao 1, unipolar high, low gain -caldac[5] set to 119 -writing calibration to -/var/lib/libcomedi0/lib/comedi/calibrations/ni_atmio_at-mio-16e-10_comedi0 -ai, bipolar zero offset, low gain -applied calibration for subdev 0, channel 0, range 0, aref 3 -reading -4.5(10)e-4, target 0 -caldac[0] gain=-6.18(14)e-5 V/bit S_min=1.44566 dof=14 -caldac[4] gain=-7.693(15)e-4 V/bit S_min=2.63626 dof=14 -ai, bipolar zero offset, high gain -applied calibration for subdev 0, channel 0, range 7, aref 3 -reading -1.67(63)e-6, target 0 -caldac[0] gain=-6.28207(85)e-5 V/bit S_min=261.095 dof=14 -caldac[4] gain=-3.8409(85)e-6 V/bit S_min=1.87136 dof=14 -caldac[8] gain=-1.2932(85)e-6 V/bit S_min=0.946757 dof=14 -ai, bipolar voltage reference, low gain -applied calibration for subdev 0, channel 5, range 0, aref 3 -reading 4.99964(11), target 4.99988 -caldac[0] gain=-6.10(15)e-5 V/bit S_min=0.625235 dof=14 -caldac[2] gain=-3.336(15)e-4 V/bit S_min=3.00489 dof=14 -caldac[4] gain=-7.697(15)e-4 V/bit S_min=1.59119 dof=14 -ai, unipolar zero offset, low gain -applied calibration for subdev 0, channel 0, range 8, aref 3 -reading 2.242(88)e-3, target 0.002442 -caldac[0] gain=-4.066(100)e-5 V/bit S_min=126.41 dof=14 -caldac[2] gain=2.8646(67)e-4 V/bit S_min=56747.2 dof=14 -caldac[4] gain=-1.9136(48)e-4 V/bit S_min=107380 dof=14 -caldac[7] gain=-4.2489(82)e-4 V/bit S_min=51685.2 dof=14 -ai, unipolar zero offset, high gain -applied calibration for subdev 0, channel 0, range 15, aref 3 -reading 1.183(48)e-5, target 1.221e-05 -caldac[0] gain=-3.19586(42)e-5 V/bit S_min=1.38091e+07 dof=14 -caldac[2] gain=1.4305(40)e-6 V/bit S_min=39020.9 dof=14 -caldac[4] gain=-9.523(28)e-7 V/bit S_min=80296.6 dof=14 -caldac[7] gain=-2.1202(48)e-6 V/bit S_min=38115.8 dof=14 -caldac[8] gain=-8.725(54)e-7 V/bit S_min=2918.98 dof=14 -ai, unipolar voltage reference, low gain -applied calibration for subdev 0, channel 5, range 8, aref 3 -reading 5.00153(11), target 4.99988 -caldac[0] gain=-6.32(15)e-5 V/bit S_min=0.877728 dof=14 -caldac[2] gain=3.282(15)e-4 V/bit S_min=3.48317 dof=14 -caldac[4] gain=-7.706(15)e-4 V/bit S_min=1.27444 dof=14 -caldac[7] gain=-7.518(15)e-4 V/bit S_min=1.48678 dof=14 -ao 0, zero offset, low gain -applied calibration for subdev 1, channel 0, range 0, aref 0 -applied calibration for subdev 0, channel 2, range 0, aref 3 -reading 2.48(11)e-3, target 0.002442 -caldac[0] gain=-6.15(15)e-5 V/bit S_min=0.932536 dof=14 -caldac[4] gain=-7.694(15)e-4 V/bit S_min=1.14872 dof=14 -caldac[6] gain=-7.854(14)e-4 V/bit S_min=1.18351 dof=14 -caldac[10] gain=-1.142(15)e-4 V/bit S_min=0.990343 dof=14 -ao 0, reference voltage, low gain -applied calibration for subdev 1, channel 0, range 0, aref 0 -applied calibration for subdev 0, channel 2, range 0, aref 3 -reading 8.00243(11), target 8.00244 -caldac[0] gain=-6.30(15)e-5 V/bit S_min=0.908084 dof=14 -caldac[2] gain=-5.305(15)e-4 V/bit S_min=3.61864 dof=14 -caldac[4] gain=-7.702(15)e-4 V/bit S_min=0.967538 dof=14 -caldac[6] gain=-7.864(14)e-4 V/bit S_min=1.29989 dof=14 -caldac[10] gain=-2.076(15)e-4 V/bit S_min=2.09404 dof=14 -caldac[11] gain=-1.574(15)e-4 V/bit S_min=0.36921 dof=14 -ao 0, linearity (mid), low gain -applied calibration for subdev 1, channel 0, range 0, aref 0 -applied calibration for subdev 0, channel 2, range 0, aref 3 -reading 4.00238(11), target 4.00244 -caldac[0] gain=-6.26(15)e-5 V/bit S_min=1.06345 dof=14 -caldac[2] gain=-2.669(15)e-4 V/bit S_min=1.28856 dof=14 -caldac[4] gain=-7.703(15)e-4 V/bit S_min=2.00311 dof=14 -caldac[6] gain=-7.865(15)e-4 V/bit S_min=0.87697 dof=14 -caldac[10] gain=-1.954(15)e-4 V/bit S_min=0.366729 dof=14 -caldac[11] gain=-7.85(15)e-5 V/bit S_min=1.78124 dof=14 -ao 1, zero offset, low gain -applied calibration for subdev 1, channel 1, range 0, aref 0 -applied calibration for subdev 0, channel 3, range 0, aref 3 -reading 2.67(11)e-3, target 0.002442 -caldac[0] gain=-6.15(15)e-5 V/bit S_min=0.84254 dof=14 -caldac[1] gain=-1.148(15)e-4 V/bit S_min=1.32828 dof=14 -caldac[4] gain=-7.694(15)e-4 V/bit S_min=2.4304 dof=14 -caldac[9] gain=-7.826(15)e-4 V/bit S_min=0.680088 dof=14 -ao 1, reference voltage, low gain -applied calibration for subdev 1, channel 1, range 0, aref 0 -applied calibration for subdev 0, channel 3, range 0, aref 3 -reading 8.00257(10), target 8.00244 -caldac[0] gain=-6.29(15)e-5 V/bit S_min=0.763702 dof=14 -caldac[1] gain=-2.084(15)e-4 V/bit S_min=1.32319 dof=14 -caldac[2] gain=-5.301(15)e-4 V/bit S_min=4.73528 dof=14 -caldac[4] gain=-7.704(15)e-4 V/bit S_min=2.6164 dof=14 -caldac[5] gain=-1.588(15)e-4 V/bit S_min=1.44711 dof=14 -caldac[9] gain=-7.842(15)e-4 V/bit S_min=0.902262 dof=14 -ao 1, linearity (mid), low gain -applied calibration for subdev 1, channel 1, range 0, aref 0 -applied calibration for subdev 0, channel 3, range 0, aref 3 -reading 4.00263(11), target 4.00244 -caldac[0] gain=-6.23(14)e-5 V/bit S_min=0.675892 dof=14 -caldac[1] gain=-1.947(15)e-4 V/bit S_min=0.720741 dof=14 -caldac[2] gain=-2.671(15)e-4 V/bit S_min=1.56707 dof=14 -caldac[4] gain=-7.704(15)e-4 V/bit S_min=1.55598 dof=14 -caldac[5] gain=-7.97(15)e-5 V/bit S_min=0.87347 dof=14 -caldac[9] gain=-7.837(14)e-4 V/bit S_min=1.28267 dof=14 -ao 0, unipolar zero offset, low gain -applied calibration for subdev 1, channel 0, range 1, aref 0 -applied calibration for subdev 0, channel 2, range 0, aref 3 -reading 5.1(10)e-4, target 0 -caldac[0] gain=-6.16(15)e-5 V/bit S_min=1.24117 dof=14 -caldac[4] gain=-7.702(15)e-4 V/bit S_min=1.65669 dof=14 -caldac[6] gain=-7.795(15)e-4 V/bit S_min=2.19095 dof=14 -caldac[10] gain=-3.67(15)e-5 V/bit S_min=0.728358 dof=14 -ao 0, unipolar high, low gain -applied calibration for subdev 1, channel 0, range 1, aref 0 -applied calibration for subdev 0, channel 2, range 0, aref 3 -reading 9.00133(10), target 9.00122 -caldac[0] gain=-6.21(15)e-5 V/bit S_min=1.42087 dof=14 -caldac[2] gain=-5.981(15)e-4 V/bit S_min=7.39894 dof=14 -caldac[4] gain=-7.700(15)e-4 V/bit S_min=0.753255 dof=14 -caldac[6] gain=-7.805(15)e-4 V/bit S_min=0.985886 dof=14 -caldac[10] gain=-1.046(15)e-4 V/bit S_min=0.818095 dof=14 -caldac[11] gain=-1.770(15)e-4 V/bit S_min=1.33854 dof=14 -ao 0, unipolar linearity (low), low gain -applied calibration for subdev 1, channel 0, range 1, aref 0 -applied calibration for subdev 0, channel 2, range 0, aref 3 -reading 1.00186(11), target 1.00122 -caldac[0] gain=-6.30(15)e-5 V/bit S_min=0.774316 dof=14 -caldac[2] gain=-6.81(15)e-5 V/bit S_min=1.28007 dof=14 -caldac[4] gain=-7.703(15)e-4 V/bit S_min=1.4686 dof=14 -caldac[6] gain=-7.805(15)e-4 V/bit S_min=1.06114 dof=14 -caldac[10] gain=-7.31(15)e-5 V/bit S_min=1.0248 dof=14 -caldac[11] gain=-2.02(15)e-5 V/bit S_min=1.23471 dof=14 -ao 0, unipolar linearity (mid), low gain -applied calibration for subdev 1, channel 0, range 1, aref 0 -applied calibration for subdev 0, channel 2, range 0, aref 3 -reading 5.00174(10), target 5.00122 -caldac[0] gain=-6.22(15)e-5 V/bit S_min=1.55824 dof=14 -caldac[2] gain=-3.324(15)e-4 V/bit S_min=2.7321 dof=14 -caldac[4] gain=-7.704(15)e-4 V/bit S_min=1.29298 dof=14 -caldac[6] gain=-7.801(15)e-4 V/bit S_min=1.34454 dof=14 -caldac[10] gain=-5.72(15)e-5 V/bit S_min=1.67128 dof=14 -caldac[11] gain=-9.75(15)e-5 V/bit S_min=1.65589 dof=14 -ao 1, unipolar zero offset, low gain -applied calibration for subdev 1, channel 1, range 1, aref 0 -applied calibration for subdev 0, channel 3, range 0, aref 3 -reading 5.8(11)e-4, target 0 -caldac[0] gain=-6.11(15)e-5 V/bit S_min=2.22237 dof=14 -caldac[1] gain=-3.83(14)e-5 V/bit S_min=0.434581 dof=14 -caldac[4] gain=-7.690(15)e-4 V/bit S_min=1.34586 dof=14 -caldac[9] gain=-7.769(15)e-4 V/bit S_min=0.709746 dof=14 -ao 1, unipolar high, low gain -applied calibration for subdev 1, channel 1, range 1, aref 0 -applied calibration for subdev 0, channel 3, range 0, aref 3 -reading 9.00130(11), target 9.00122 -caldac[0] gain=-6.27(14)e-5 V/bit S_min=1.43785 dof=14 -caldac[1] gain=-1.037(15)e-4 V/bit S_min=1.27531 dof=14 -caldac[2] gain=-5.972(15)e-4 V/bit S_min=7.4144 dof=14 -caldac[4] gain=-7.706(14)e-4 V/bit S_min=0.721386 dof=14 -caldac[5] gain=-1.777(14)e-4 V/bit S_min=0.864069 dof=14 -caldac[9] gain=-7.781(15)e-4 V/bit S_min=1.23413 dof=14 -ao 1, unipolar linearity (low), low gain -applied calibration for subdev 1, channel 1, range 1, aref 0 -applied calibration for subdev 0, channel 3, range 0, aref 3 -reading 1.00184(11), target 1.00122 -caldac[0] gain=-6.37(15)e-5 V/bit S_min=0.853695 dof=14 -caldac[1] gain=-7.32(15)e-5 V/bit S_min=1.07479 dof=14 -caldac[2] gain=-6.89(15)e-5 V/bit S_min=1.37214 dof=14 -caldac[4] gain=-7.702(15)e-4 V/bit S_min=0.634082 dof=14 -caldac[5] gain=-2.09(15)e-5 V/bit S_min=0.554968 dof=14 -caldac[9] gain=-7.790(15)e-4 V/bit S_min=1.30251 dof=14 -ao 1, unipolar linearity (mid), low gain -applied calibration for subdev 1, channel 1, range 1, aref 0 -applied calibration for subdev 0, channel 3, range 0, aref 3 -reading 5.00184(10), target 5.00122 -caldac[0] gain=-6.22(15)e-5 V/bit S_min=0.860036 dof=14 -caldac[1] gain=-5.77(15)e-5 V/bit S_min=1.02808 dof=14 -caldac[2] gain=-3.332(15)e-4 V/bit S_min=5.20194 dof=14 -caldac[4] gain=-7.697(15)e-4 V/bit S_min=2.36561 dof=14 -caldac[5] gain=-9.84(15)e-5 V/bit S_min=0.639216 dof=14 -caldac[9] gain=-7.781(14)e-4 V/bit S_min=1.25555 dof=14 -Applied calibration for subdevice 0, channel 0, range 0, aref 0 - diff --git a/comedi_calibrate/results/at-mio-16e-2 b/comedi_calibrate/results/at-mio-16e-2 deleted file mode 100644 index e9f06f4..0000000 --- a/comedi_calibrate/results/at-mio-16e-2 +++ /dev/null @@ -1,124 +0,0 @@ -Warning: device not fully calibrated due to insufficient information -Please send this output to -$Id$ -Driver name: ni_atmio -Device name: at-mio-16e-2 -Comedi version: 0.7.59 -ai, bipolar zero offset, low gain -offset 0.02530(24), target 0 -caldac[0] gain=-8.94(21)e-6 V/bit S_min=227.333 dof=254 -caldac[1] gain=-8.1614(22)e-4 V/bit S_min=1475.19 dof=254 -caldac[3] gain=-2.58(21)e-6 V/bit S_min=229.168 dof=254 -ai, bipolar zero offset, high gain -offset 1.60(16)e-5, target 0 -caldac[0] gain=-8.8872(13)e-6 V/bit S_min=1289.9 dof=254 -caldac[1] gain=-4.0890(13)e-6 V/bit S_min=1071.01 dof=254 -ai, bipolar voltage reference, low gain -offset 5.02862(27), target 5 -caldac[0] gain=-8.89(21)e-6 V/bit S_min=261.79 dof=254 -caldac[1] gain=-8.0967(21)e-4 V/bit S_min=649.448 dof=254 -caldac[3] gain=-4.8405(21)e-4 V/bit S_min=760.715 dof=254 -ai, unipolar zero offset, low gain -offset 0.02389(27), target 0 -caldac[0] gain=-8.84(21)e-6 V/bit S_min=242.096 dof=254 -caldac[1] gain=-8.0716(49)e-4 V/bit S_min=270.72 dof=145 -caldac[2] gain=-9.5442(51)e-4 V/bit S_min=307.047 dof=142 -caldac[3] gain=-1.08(22)e-6 V/bit S_min=237.08 dof=254 -ao 0, zero offset, low gain -offset 0.02690(24), target 0.002442 -caldac[0] gain=-8.77(21)e-6 V/bit S_min=253.83 dof=254 -caldac[1] gain=-8.1562(21)e-4 V/bit S_min=1215.94 dof=254 -caldac[3] gain=-2.29(21)e-6 V/bit S_min=234.218 dof=254 -caldac[4] gain=-1.1995(21)e-4 V/bit S_min=506.825 dof=254 -caldac[5] gain=-8.1157(21)e-4 V/bit S_min=1267.71 dof=254 -ao 0, reference voltage, low gain -offset 0.02282(24), target -0.001221 -caldac[0] gain=-6.85(19)e-6 V/bit S_min=256.136 dof=254 -caldac[1] gain=-8.1627(22)e-4 V/bit S_min=1281.34 dof=254 -caldac[3] gain=-1.44(20)e-6 V/bit S_min=227.512 dof=254 -caldac[4] gain=-1.5195(21)e-4 V/bit S_min=497.826 dof=254 -caldac[5] gain=-8.1175(22)e-4 V/bit S_min=1293.05 dof=254 -caldac[6] gain=-9.586(21)e-5 V/bit S_min=382.737 dof=254 -ao 1, zero offset, low gain -offset 0.02457(26), target 0.002442 -caldac[0] gain=-8.00(21)e-6 V/bit S_min=252.512 dof=254 -caldac[1] gain=-8.1594(21)e-4 V/bit S_min=1438.7 dof=254 -caldac[3] gain=-2.87(21)e-6 V/bit S_min=244.086 dof=254 -caldac[7] gain=-1.1865(22)e-4 V/bit S_min=498.414 dof=254 -caldac[8] gain=-8.0761(22)e-4 V/bit S_min=1261.1 dof=254 -ao 1, reference voltage, low gain -offset 0.01839(26), target -0.001221 -caldac[0] gain=-1.033(23)e-5 V/bit S_min=241.364 dof=254 -caldac[1] gain=-8.1633(22)e-4 V/bit S_min=1292.68 dof=254 -caldac[3] gain=-2.08(24)e-6 V/bit S_min=269.359 dof=254 -caldac[7] gain=-1.5064(22)e-4 V/bit S_min=463.74 dof=254 -caldac[8] gain=-8.0799(22)e-4 V/bit S_min=1413.52 dof=254 -caldac[9] gain=-9.592(21)e-5 V/bit S_min=413.486 dof=254 -postgain: ai, bipolar zero offset, low gain; ai, bipolar zero offset, high gain -caldac[1] gain=-8.1616(21)e-4 V/bit S_min=1553.67 dof=254 -caldac[1] gain=-4.0903(13)e-6 V/bit S_min=927.262 dof=254 -caldac[1] set to 158.517 -linear: ai, bipolar zero offset, high gain -caldac[0] gain=-8.8897(13)e-6 V/bit S_min=1038.96 dof=254 -caldac[0] set to 113.439 -linear: ai, bipolar voltage reference, low gain -caldac[3] gain=-4.8118(21)e-4 V/bit S_min=832.931 dof=254 -caldac[3] set to 134.56 -linear: ai, unipolar zero offset, low gain -caldac[2] gain=-9.5331(70)e-4 V/bit S_min=186.418 dof=115 -caldac[2] set to 125.914 -linear: ao 0, zero offset, low gain -caldac[5] gain=-8.1216(22)e-4 V/bit S_min=1466.65 dof=254 -caldac[5] set to 124.51 -linear: ao 0, reference voltage, low gain -caldac[6] gain=-1.0849(23)e-4 V/bit S_min=881.75 dof=254 -caldac[6] set to 121.705 -linear: ao 1, zero offset, low gain -caldac[8] gain=-8.0789(22)e-4 V/bit S_min=1381.15 dof=254 -caldac[8] set to 121.668 -linear: ao 1, reference voltage, low gain -caldac[9] gain=-1.0720(23)e-4 V/bit S_min=1017.36 dof=254 -caldac[9] set to 91.172 -ai, bipolar zero offset, low gain -offset -3.8(35)e-4, target 0 -caldac[0] gain=-1.145(28)e-5 V/bit S_min=247.757 dof=254 -caldac[1] gain=-8.1521(21)e-4 V/bit S_min=1300.88 dof=254 -ai, bipolar zero offset, high gain -offset 9.5(18)e-6, target 0 -caldac[0] gain=-8.8809(13)e-6 V/bit S_min=1207.56 dof=254 -caldac[1] gain=-4.0803(13)e-6 V/bit S_min=939.208 dof=254 -ai, bipolar voltage reference, low gain -offset 4.99935(34), target 5 -caldac[0] gain=-1.166(28)e-5 V/bit S_min=212.993 dof=254 -caldac[1] gain=-8.0868(22)e-4 V/bit S_min=689.576 dof=254 -caldac[3] gain=-4.8110(21)e-4 V/bit S_min=855.613 dof=254 -ai, unipolar zero offset, low gain -offset nan, target 0 -caldac[1] gain=-8.0576(48)e-4 V/bit S_min=247.142 dof=146 -caldac[2] gain=-9.5271(72)e-4 V/bit S_min=244.411 dof=113 -ao 0, zero offset, low gain -offset 2.90(29)e-3, target 0.002442 -caldac[0] gain=-8.89(22)e-6 V/bit S_min=213.697 dof=254 -caldac[1] gain=-8.1490(22)e-4 V/bit S_min=1110.11 dof=254 -caldac[4] gain=-1.2912(23)e-4 V/bit S_min=1033.65 dof=254 -caldac[5] gain=-8.1167(22)e-4 V/bit S_min=1378.3 dof=254 -ao 0, reference voltage, low gain -offset -1.07(37)e-3, target -0.001221 -caldac[0] gain=-1.229(30)e-5 V/bit S_min=243.406 dof=254 -caldac[1] gain=-8.1459(22)e-4 V/bit S_min=1120.25 dof=254 -caldac[4] gain=-1.6185(23)e-4 V/bit S_min=1064.04 dof=254 -caldac[5] gain=-8.1219(22)e-4 V/bit S_min=1358.58 dof=254 -caldac[6] gain=-1.0826(23)e-4 V/bit S_min=696.747 dof=254 -ao 1, zero offset, low gain -offset 3.17(28)e-3, target 0.002442 -caldac[0] gain=-8.55(22)e-6 V/bit S_min=219.291 dof=254 -caldac[1] gain=-8.1475(21)e-4 V/bit S_min=1397.03 dof=254 -caldac[7] gain=-1.2878(23)e-4 V/bit S_min=1140.38 dof=254 -caldac[8] gain=-8.0727(22)e-4 V/bit S_min=1409.3 dof=254 -ao 1, reference voltage, low gain -offset -1.41(34)e-3, target -0.001221 -caldac[0] gain=-1.273(30)e-5 V/bit S_min=298.033 dof=254 -caldac[1] gain=-8.1497(21)e-4 V/bit S_min=1353.84 dof=254 -caldac[7] gain=-1.6111(22)e-4 V/bit S_min=1147.71 dof=254 -caldac[8] gain=-8.0760(21)e-4 V/bit S_min=1405.33 dof=254 -caldac[9] gain=-1.0714(23)e-4 V/bit S_min=1031.91 dof=254 diff --git a/comedi_calibrate/results/at-mio-16xe-50 b/comedi_calibrate/results/at-mio-16xe-50 deleted file mode 100644 index e21a70f..0000000 --- a/comedi_calibrate/results/at-mio-16xe-50 +++ /dev/null @@ -1,201 +0,0 @@ -eeprom reference lsb=158 msb=253 -resulting reference voltage: 4.99939 -Warning: device may not be not fully calibrated due to insufficient -information. -Please file a bug report at https://bugs.comedi.org/ and attach this output. -This output will also allow comedi_calibrate to execute more -quickly in the future. -Forcing option: --verbose -Forcing options: --reset --dump --calibrate --results -Id: comedi_calibrate.c,v 1.92 2004/03/29 01:34:15 fmhess Exp -Driver name: ni_atmio -Device name: at-mio-16xe-50 -Id: ni.c,v 1.130 2004/09/09 21:43:16 fmhess Exp -Comedi version: 0.7.70 -ai, bipolar zero offset, low gain -reading 8.702(52)e-4, target 0 -caldac[2] gain=1.5894(66)e-5 V/bit S_min=23.7848 dof=14 -caldac[8] gain=2.178(41)e-7 V/bit S_min=1.29267 dof=14 -ai, bipolar zero offset, high gain -reading -3.9045(79)e-5, target 0 -caldac[2] gain=1.520(10)e-7 V/bit S_min=4.67558 dof=14 -caldac[8] gain=2.19144(64)e-7 V/bit S_min=20.9496 dof=14 -ai, bipolar voltage reference, low gain -reading 5.0018421(60), target 4.99939 -caldac[0] gain=-4.4997(80)e-5 V/bit S_min=9.02987 dof=14 -caldac[1] gain=-2.572(80)e-6 V/bit S_min=1.64554 dof=14 -caldac[2] gain=1.5502(78)e-5 V/bit S_min=7.28076 dof=14 -caldac[8] gain=2.205(50)e-7 V/bit S_min=3.47414 dof=14 -ai, unipolar zero offset, low gain -reading 5.837(31)e-4, target 7.62951e-05 -caldac[2] gain=1.0453(25)e-5 V/bit S_min=18911.5 dof=14 -caldac[8] gain=2.175(25)e-7 V/bit S_min=3.93912 dof=14 -ai, unipolar zero offset, high gain -reading 0.0( 0)e-2147483648, target 7.62951e-07 -caldac[8] gain=8.4347(24)e-8 V/bit S_min=4.75406e+06 dof=14 -ai, unipolar voltage reference, low gain -reading 5.0016137(50), target 4.99939 -caldac[0] gain=-4.5348(63)e-5 V/bit S_min=8.22606 dof=14 -caldac[1] gain=-2.581(62)e-6 V/bit S_min=2.3327 dof=14 -caldac[2] gain=1.5310(63)e-5 V/bit S_min=7.29289 dof=14 -caldac[8] gain=2.190(39)e-7 V/bit S_min=2.95487 dof=14 -ao 0, zero offset, low gain -reading -1.9247(46)e-3, target 0.002442 -caldac[2] gain=1.5451(66)e-5 V/bit S_min=8.45162 dof=14 -caldac[6] gain=-3.88281(65)e-4 V/bit S_min=38.3974 dof=14 -caldac[8] gain=2.216(41)e-7 V/bit S_min=3.6559 dof=14 -ao 0, reference voltage, low gain -reading 7.9920444(66), target 8.00244 -caldac[0] gain=-7.2839(89)e-5 V/bit S_min=13.6618 dof=14 -caldac[1] gain=-4.163(88)e-6 V/bit S_min=5.82747 dof=14 -caldac[2] gain=1.5264(89)e-5 V/bit S_min=6.10978 dof=14 -caldac[4] gain=-3.07810(88)e-4 V/bit S_min=20.949 dof=14 -caldac[6] gain=-3.88185(90)e-4 V/bit S_min=40.6543 dof=14 -caldac[8] gain=2.192(56)e-7 V/bit S_min=4.36919 dof=14 -ao 0, linearity (mid), low gain -reading 3.9952256(53), target 4.00244 -caldac[0] gain=-3.6431(75)e-5 V/bit S_min=33.7371 dof=14 -caldac[1] gain=-2.120(75)e-6 V/bit S_min=3.44698 dof=14 -caldac[2] gain=1.5684(76)e-5 V/bit S_min=8.11184 dof=14 -caldac[4] gain=-1.53775(76)e-4 V/bit S_min=31.35 dof=14 -caldac[6] gain=-3.87818(77)e-4 V/bit S_min=66.0084 dof=14 -caldac[8] gain=2.182(48)e-7 V/bit S_min=2.57404 dof=14 -ao 1, zero offset, low gain -reading -2.161(47)e-4, target 0.002442 -caldac[2] gain=1.5983(66)e-5 V/bit S_min=20.0622 dof=14 -caldac[7] gain=-3.88877(65)e-4 V/bit S_min=31.5066 dof=14 -caldac[8] gain=2.466(43)e-7 V/bit S_min=9.21397 dof=14 -ao 1, reference voltage, low gain -reading 7.9947637(69), target 8.00244 -caldac[0] gain=-7.2737(89)e-5 V/bit S_min=20.226 dof=14 -caldac[1] gain=-4.199(89)e-6 V/bit S_min=3.49548 dof=14 -caldac[2] gain=1.5387(88)e-5 V/bit S_min=10.3983 dof=14 -caldac[5] gain=-3.07659(90)e-4 V/bit S_min=18.9123 dof=14 -caldac[7] gain=-3.88741(92)e-4 V/bit S_min=13.7778 dof=14 -caldac[8] gain=2.202(57)e-7 V/bit S_min=2.97218 dof=14 -ao 1, linearity (mid), low gain -reading 3.9985295(58), target 4.00244 -caldac[0] gain=-3.6053(74)e-5 V/bit S_min=9.56347 dof=14 -caldac[1] gain=-2.043(78)e-6 V/bit S_min=5.49799 dof=14 -caldac[2] gain=1.5207(74)e-5 V/bit S_min=14.9714 dof=14 -caldac[5] gain=-1.53896(74)e-4 V/bit S_min=35.5435 dof=14 -caldac[7] gain=-3.88424(74)e-4 V/bit S_min=34.7964 dof=14 -caldac[8] gain=2.223(47)e-7 V/bit S_min=5.20192 dof=14 -relative binary: ai, bipolar zero offset, low gain, ai, bipolar voltage reference, low gain -caldac[0] set to 161 -relative binary: ai, bipolar zero offset, low gain, ai, bipolar zero offset, high gain -caldac[2] set to 70 -binary: ai, bipolar zero offset, high gain -caldac[8] set to 2261 -relative binary: ai, bipolar zero offset, low gain, ai, bipolar voltage reference, low gain -caldac[1] set to 161 -binary peg: ai, unipolar zero offset, low gain -caldac[8] set to 4095 -binary peg: ai, unipolar zero offset, low gain -caldac[2] set to 255 -relative binary: ai, unipolar zero offset, low gain, ai, unipolar voltage reference, low gain -caldac[0] set to 165 -relative binary: ai, unipolar zero offset, low gain, ai, unipolar zero offset, high gain -caldac[2] set to 90 -binary: ai, unipolar zero offset, high gain -caldac[8] set to 2260 -relative binary: ai, unipolar zero offset, low gain, ai, unipolar voltage reference, low gain -caldac[1] set to 111 -binary: ao 0, zero offset, low gain -caldac[6] set to 113 -binary: ao 0, reference voltage, low gain -caldac[4] set to 99 -binary: ao 1, zero offset, low gain -caldac[7] set to 118 -binary: ao 1, reference voltage, low gain -caldac[5] set to 102 -writing calibration to /usr/local/var/lib/comedi/calibrations/ni_atmio_at-mio-16xe-50_comedi0 -ai, bipolar zero offset, low gain -applied calibration for subdev 0, channel 0, range 0, aref 3 -reading 3.07(54)e-5, target 0 -caldac[2] gain=1.5847(67)e-5 V/bit S_min=21.267 dof=14 -caldac[8] gain=2.348(45)e-7 V/bit S_min=10.5767 dof=14 -ai, bipolar zero offset, high gain -applied calibration for subdev 0, channel 0, range 3, aref 3 -reading -4.62(84)e-7, target 0 -caldac[2] gain=1.587(10)e-7 V/bit S_min=15.1738 dof=14 -caldac[8] gain=2.19243(66)e-7 V/bit S_min=16.709 dof=14 -ai, bipolar voltage reference, low gain -applied calibration for subdev 0, channel 5, range 0, aref 3 -reading 4.9994159(65), target 4.99939 -caldac[0] gain=-4.5081(92)e-5 V/bit S_min=7.55849 dof=14 -caldac[1] gain=-2.660(90)e-6 V/bit S_min=2.67796 dof=14 -caldac[2] gain=1.5354(91)e-5 V/bit S_min=10.7686 dof=14 -caldac[8] gain=2.094(55)e-7 V/bit S_min=8.07515 dof=14 -ai, unipolar zero offset, low gain -applied calibration for subdev 0, channel 0, range 4, aref 3 -reading 8.52(24)e-5, target 7.62951e-05 -caldac[2] gain=1.0743(26)e-5 V/bit S_min=17410.1 dof=14 -caldac[8] gain=1.091(12)e-7 V/bit S_min=2005.75 dof=14 -ai, unipolar zero offset, high gain -applied calibration for subdev 0, channel 0, range 7, aref 3 -reading 7.57(38)e-7, target 7.62951e-07 -caldac[2] gain=1.0248(55)e-7 V/bit S_min=3861.99 dof=14 -caldac[8] gain=8.2335(25)e-8 V/bit S_min=4.23951e+06 dof=14 -ai, unipolar voltage reference, low gain -applied calibration for subdev 0, channel 5, range 4, aref 3 -reading 4.9993837(54), target 4.99939 -caldac[0] gain=-4.5276(79)e-5 V/bit S_min=7.4383 dof=14 -caldac[1] gain=-2.588(81)e-6 V/bit S_min=2.02124 dof=14 -caldac[2] gain=1.5514(77)e-5 V/bit S_min=2.5417 dof=14 -caldac[8] gain=2.186(39)e-7 V/bit S_min=0.610843 dof=14 -ao 0, zero offset, low gain -applied calibration for subdev 1, channel 0, range 0, aref 0 -applied calibration for subdev 0, channel 2, range 0, aref 3 -reading 2.7308(56)e-3, target 0.002442 -caldac[2] gain=1.5239(65)e-5 V/bit S_min=16.0921 dof=14 -caldac[6] gain=-3.87961(70)e-4 V/bit S_min=30.1096 dof=14 -caldac[8] gain=2.208(45)e-7 V/bit S_min=3.57473 dof=14 -ao 0, reference voltage, low gain -applied calibration for subdev 1, channel 0, range 0, aref 0 -applied calibration for subdev 0, channel 2, range 0, aref 3 -reading 8.0026110(82), target 8.00244 -caldac[0] gain=-7.267(11)e-5 V/bit S_min=10.4362 dof=14 -caldac[1] gain=-4.03(11)e-6 V/bit S_min=6.47914 dof=14 -caldac[2] gain=1.533(11)e-5 V/bit S_min=8.14652 dof=14 -caldac[4] gain=-3.07606(90)e-4 V/bit S_min=22.6917 dof=14 -caldac[6] gain=-3.8787(10)e-4 V/bit S_min=16.0105 dof=14 -caldac[8] gain=1.991(68)e-7 V/bit S_min=8.21831 dof=14 -ao 0, linearity (mid), low gain -applied calibration for subdev 1, channel 0, range 0, aref 0 -applied calibration for subdev 0, channel 2, range 0, aref 3 -reading 4.0027135(69), target 4.00244 -caldac[0] gain=-3.6703(87)e-5 V/bit S_min=13.3184 dof=14 -caldac[1] gain=-1.930(84)e-6 V/bit S_min=5.0267 dof=14 -caldac[2] gain=1.5755(79)e-5 V/bit S_min=10.9698 dof=14 -caldac[4] gain=-1.53823(79)e-4 V/bit S_min=27.2484 dof=14 -caldac[6] gain=-3.87744(75)e-4 V/bit S_min=64.401 dof=14 -caldac[8] gain=2.263(55)e-7 V/bit S_min=4.04184 dof=14 -ao 1, zero offset, low gain -applied calibration for subdev 1, channel 1, range 0, aref 0 -applied calibration for subdev 0, channel 3, range 0, aref 3 -reading 2.5082(53)e-3, target 0.002442 -caldac[2] gain=1.5365(70)e-5 V/bit S_min=13.0555 dof=14 -caldac[7] gain=-3.88689(67)e-4 V/bit S_min=31.6179 dof=14 -caldac[8] gain=2.263(41)e-7 V/bit S_min=2.29018 dof=14 -ao 1, reference voltage, low gain -applied calibration for subdev 1, channel 1, range 0, aref 0 -applied calibration for subdev 0, channel 3, range 0, aref 3 -reading 8.0025577(70), target 8.00244 -caldac[0] gain=-7.2532(90)e-5 V/bit S_min=17.0167 dof=14 -caldac[1] gain=-4.116(89)e-6 V/bit S_min=3.56061 dof=14 -caldac[2] gain=1.5172(89)e-5 V/bit S_min=4.70791 dof=14 -caldac[5] gain=-3.07483(91)e-4 V/bit S_min=20.5867 dof=14 -caldac[7] gain=-3.88488(91)e-4 V/bit S_min=27.1674 dof=14 -caldac[8] gain=2.029(55)e-7 V/bit S_min=9.02938 dof=14 -ao 1, linearity (mid), low gain -applied calibration for subdev 1, channel 1, range 0, aref 0 -applied calibration for subdev 0, channel 3, range 0, aref 3 -reading 4.0037143(63), target 4.00244 -caldac[0] gain=-3.6621(78)e-5 V/bit S_min=31.0151 dof=14 -caldac[1] gain=-2.347(82)e-6 V/bit S_min=4.89731 dof=14 -caldac[2] gain=1.5844(78)e-5 V/bit S_min=13.4822 dof=14 -caldac[5] gain=-1.53826(76)e-4 V/bit S_min=21.1332 dof=14 -caldac[7] gain=-3.88114(79)e-4 V/bit S_min=37.9622 dof=14 -caldac[8] gain=2.422(50)e-7 V/bit S_min=1.74161 dof=14 -Applied calibration for subdevice 0, channel 0, range 0, aref 0 diff --git a/comedi_calibrate/results/measurement-computing-pci-das1000 b/comedi_calibrate/results/measurement-computing-pci-das1000 deleted file mode 100644 index e980810..0000000 --- a/comedi_calibrate/results/measurement-computing-pci-das1000 +++ /dev/null @@ -1,239 +0,0 @@ -Warning: -device may not be not fully calibrated due to insufficient information. -Please file a bug report at https://bugs.comedi.org/ and attach this output. -This output will also allow comedi_calibrate to execute more -quickly in the future. -Forcing option: --verbose -Forcing options: --reset --dump --calibrate --results -Id: comedi_calibrate.c,v 1.92 2004/03/29 01:34:15 fmhess Exp -Driver name: cb_pcidas -Device name: pci-das1000 -Id: cb.c,v 1.44 2004/08/02 00:10:47 fmhess Exp -Comedi version: 0.7.69 -calibration source 0, range 0, ground referenced -reading 7.984(52)e-3, target 0 -caldac[6] gain=-1.86581(56)e-3 V/bit S_min=421.042 dof=14 -caldac[7] gain=-2.0112(60)e-4 V/bit S_min=267.505 dof=14 -calibration source 1, range 0, ground referenced -reading 7.034803(50), target 7.0076 -caldac[6] gain=-1.85979(48)e-3 V/bit S_min=435.119 dof=14 -caldac[7] gain=-2.0578(58)e-4 V/bit S_min=232.528 dof=14 -caldac[8] gain=7.935(14)e-4 V/bit S_min=49202.5 dof=14 -calibration source 0, range 1, ground referenced -reading 3.935(24)e-3, target 0 -caldac[6] gain=-9.3299(28)e-4 V/bit S_min=422.313 dof=14 -caldac[7] gain=-1.0051(29)e-4 V/bit S_min=275.887 dof=14 -calibration source 2, range 1, ground referenced -reading 3.513779(45), target 3.50385 -caldac[6] gain=-9.3104(29)e-4 V/bit S_min=237.822 dof=14 -caldac[7] gain=-1.0336(29)e-4 V/bit S_min=270.512 dof=14 -caldac[8] gain=3.9435(59)e-4 V/bit S_min=67713.5 dof=14 -calibration source 0, range 2, ground referenced -reading 1.938(11)e-3, target 0 -caldac[6] gain=-4.6650(14)e-4 V/bit S_min=416.31 dof=14 -caldac[7] gain=-5.024(14)e-5 V/bit S_min=273.133 dof=14 -calibration source 3, range 2, ground referenced -reading 1.757882(15), target 1.75191 -caldac[6] gain=-4.6544(13)e-4 V/bit S_min=300.893 dof=14 -caldac[7] gain=-5.176(14)e-5 V/bit S_min=286.703 dof=14 -caldac[8] gain=1.9716(29)e-4 V/bit S_min=72646.8 dof=14 -calibration source 0, range 3, ground referenced -reading 9.658(52)e-4, target 0 -caldac[6] gain=-2.33233(65)e-4 V/bit S_min=498.347 dof=14 -caldac[7] gain=-2.5166(69)e-5 V/bit S_min=321.382 dof=14 -calibration source 4, range 3, ground referenced -reading 0.8794088(33), target 0.875988 -caldac[6] gain=-2.32900(74)e-4 V/bit S_min=240.237 dof=14 -caldac[7] gain=-2.5995(67)e-5 V/bit S_min=358.593 dof=14 -caldac[8] gain=9.843(12)e-5 V/bit S_min=105395 dof=14 -calibration source 0, range 4, ground referenced -reading nan, target 0.001221 -caldac[6] gain=-1.86589(58)e-3 V/bit S_min=432.953 dof=6 -caldac[7] gain=-2.0489(65)e-4 V/bit S_min=114.055 dof=6 -caldac[8] gain=-1.0294(11)e-3 V/bit S_min=51645.4 dof=6 -calibration source 1, range 4, ground referenced -reading 7.021026(24), target 7.0076 -caldac[6] gain=-1.86109(34)e-3 V/bit S_min=163.347 dof=14 -caldac[7] gain=-2.0429(30)e-4 V/bit S_min=210.313 dof=14 -caldac[8] gain=2.2589(64)e-4 V/bit S_min=18682.3 dof=14 -calibration source 0, range 5, ground referenced -reading nan, target 0.000610501 -caldac[6] gain=-9.3253(29)e-4 V/bit S_min=336.749 dof=6 -caldac[7] gain=-1.0210(32)e-4 V/bit S_min=101.315 dof=6 -caldac[8] gain=-5.1395(62)e-4 V/bit S_min=37432.3 dof=6 -calibration source 2, range 5, ground referenced -reading 3.508553(28), target 3.50385 -caldac[6] gain=-9.3014(14)e-4 V/bit S_min=387.281 dof=14 -caldac[7] gain=-1.0187(15)e-4 V/bit S_min=254.988 dof=14 -caldac[8] gain=1.1423(31)e-4 V/bit S_min=22826.7 dof=14 -calibration source 0, range 6, ground referenced -reading nan, target 0.00030525 -caldac[6] gain=-4.6627(14)e-4 V/bit S_min=357.44 dof=6 -caldac[7] gain=-5.109(15)e-5 V/bit S_min=122.391 dof=6 -caldac[8] gain=-2.5700(29)e-4 V/bit S_min=42442.6 dof=6 -calibration source 3, range 6, ground referenced -reading 1.754741(12), target 1.75191 -caldac[6] gain=-4.65053(71)e-4 V/bit S_min=380.121 dof=14 -caldac[7] gain=-5.0945(77)e-5 V/bit S_min=239.611 dof=14 -caldac[8] gain=5.706(15)e-5 V/bit S_min=25286.7 dof=14 -calibration source 0, range 7, ground referenced -reading nan, target 0.000152625 -caldac[6] gain=-2.33174(68)e-4 V/bit S_min=471.264 dof=6 -caldac[7] gain=-2.5583(74)e-5 V/bit S_min=125.317 dof=6 -caldac[8] gain=-1.2843(13)e-4 V/bit S_min=51461.3 dof=6 -calibration source 4, range 7, ground referenced -reading 0.8776542(39), target 0.875988 -caldac[6] gain=-2.32654(39)e-4 V/bit S_min=205.103 dof=14 -caldac[7] gain=-2.5466(39)e-5 V/bit S_min=220.703 dof=14 -caldac[8] gain=2.8303(68)e-5 V/bit S_min=28342 dof=14 -relative binary: calibration source 1, range 0, ground referenced, -calibration source 0, range 0, ground referenced -caldac[8] set to 38 -binary: calibration source 0, range 0, ground referenced -caldac[6] set to 131 -binary: calibration source 0, range 0, ground referenced -caldac[7] set to 134 -relative binary: calibration source 2, range 1, ground referenced, -calibration source 0, range 1, ground referenced -caldac[8] set to 39 -binary: calibration source 0, range 1, ground referenced -caldac[6] set to 131 -binary: calibration source 0, range 1, ground referenced -caldac[7] set to 133 -relative binary: calibration source 3, range 2, ground referenced, -calibration source 0, range 2, ground referenced -caldac[8] set to 39 -binary: calibration source 0, range 2, ground referenced -caldac[6] set to 131 -binary: calibration source 0, range 2, ground referenced -caldac[7] set to 133 -relative binary: calibration source 4, range 3, ground referenced, -calibration source 0, range 3, ground referenced -caldac[8] set to 37 -binary: calibration source 0, range 3, ground referenced -caldac[6] set to 131 -binary: calibration source 0, range 3, ground referenced -caldac[7] set to 133 -relative binary: calibration source 1, range 4, ground referenced, -calibration source 0, range 4, ground referenced -caldac[8] set to 43 -binary: calibration source 0, range 4, ground referenced -caldac[6] set to 133 -binary: calibration source 0, range 4, ground referenced -caldac[7] set to 123 -relative binary: calibration source 2, range 5, ground referenced, -calibration source 0, range 5, ground referenced -caldac[8] set to 45 -binary: calibration source 0, range 5, ground referenced -caldac[6] set to 131 -binary: calibration source 0, range 5, ground referenced -caldac[7] set to 135 -relative binary: calibration source 3, range 6, ground referenced, -calibration source 0, range 6, ground referenced -caldac[8] set to 44 -binary: calibration source 0, range 6, ground referenced -caldac[6] set to 132 -binary: calibration source 0, range 6, ground referenced -caldac[7] set to 129 -relative binary: calibration source 4, range 7, ground referenced, -calibration source 0, range 7, ground referenced -caldac[8] set to 43 -binary: calibration source 0, range 7, ground referenced -caldac[6] set to 133 -binary: calibration source 0, range 7, ground referenced -caldac[7] set to 123 -writing calibration to -/usr/local/var/lib/comedi/calibrations/cb_pcidas_pci-das1000_comedi0 -calibration source 0, range 0, ground referenced -applied calibration for subdev 0, channel 0, range 0, aref 0 -reading -1.9(76)e-5, target 0 -caldac[6] gain=-1.85819(58)e-3 V/bit S_min=246.116 dof=14 -caldac[7] gain=-2.0293(57)e-4 V/bit S_min=365.659 dof=14 -calibration source 1, range 0, ground referenced -applied calibration for subdev 0, channel 0, range 0, aref 0 -reading 7.006110(18), target 7.0076 -caldac[6] gain=-1.85649(54)e-3 V/bit S_min=391.393 dof=14 -caldac[7] gain=-2.0482(58)e-4 V/bit S_min=183.339 dof=14 -caldac[8] gain=7.908(14)e-4 V/bit S_min=54438.7 dof=14 -calibration source 0, range 1, ground referenced -applied calibration for subdev 0, channel 0, range 1, aref 0 -reading 2.29(37)e-4, target 0 -caldac[6] gain=-9.2926(28)e-4 V/bit S_min=256.391 dof=14 -caldac[7] gain=-1.0162(29)e-4 V/bit S_min=335.151 dof=14 -calibration source 2, range 1, ground referenced -applied calibration for subdev 0, channel 0, range 1, aref 0 -reading 3.501951(38), target 3.50385 -caldac[6] gain=-9.2937(29)e-4 V/bit S_min=230.487 dof=14 -caldac[7] gain=-1.0290(29)e-4 V/bit S_min=313.108 dof=14 -caldac[8] gain=3.9408(63)e-4 V/bit S_min=59884.6 dof=14 -calibration source 0, range 2, ground referenced -applied calibration for subdev 0, channel 0, range 2, aref 0 -reading 2.1(19)e-5, target 0 -caldac[6] gain=-4.6454(14)e-4 V/bit S_min=265.144 dof=14 -caldac[7] gain=-5.073(13)e-5 V/bit S_min=361.828 dof=14 -calibration source 3, range 2, ground referenced -applied calibration for subdev 0, channel 0, range 2, aref 0 -reading 1.750835(19), target 1.75191 -caldac[6] gain=-4.6476(14)e-4 V/bit S_min=273.22 dof=14 -caldac[7] gain=-5.140(14)e-5 V/bit S_min=331.63 dof=14 -caldac[8] gain=1.9696(31)e-4 V/bit S_min=60489.6 dof=14 -calibration source 0, range 3, ground referenced -applied calibration for subdev 0, channel 0, range 3, aref 0 -reading 4.29(94)e-5, target 0 -caldac[6] gain=-2.32247(67)e-4 V/bit S_min=307.005 dof=14 -caldac[7] gain=-2.5334(66)e-5 V/bit S_min=393.089 dof=14 -calibration source 4, range 3, ground referenced -applied calibration for subdev 0, channel 0, range 3, aref 0 -reading 0.8757631(15), target 0.875988 -caldac[6] gain=-2.32295(53)e-4 V/bit S_min=562.905 dof=14 -caldac[7] gain=-2.5575(65)e-5 V/bit S_min=304.338 dof=14 -caldac[8] gain=9.831(13)e-5 V/bit S_min=85232.3 dof=14 -calibration source 0, range 4, ground referenced -applied calibration for subdev 0, channel 0, range 4, aref 0 -reading 1.977(30)e-3, target 0.001221 -caldac[6] gain=-1.07986(19)e-3 V/bit S_min=5.59189e+06 dof=14 -caldac[7] gain=-1.1591(16)e-4 V/bit S_min=98640 dof=14 -caldac[8] gain=-3.3993(24)e-4 V/bit S_min=1.30899e+06 dof=14 -calibration source 1, range 4, ground referenced -applied calibration for subdev 0, channel 0, range 4, aref 0 -reading 7.006878(35), target 7.0076 -caldac[6] gain=-1.85669(32)e-3 V/bit S_min=195.997 dof=14 -caldac[7] gain=-2.0577(32)e-4 V/bit S_min=164.816 dof=14 -caldac[8] gain=2.2485(57)e-4 V/bit S_min=24935.5 dof=14 -calibration source 0, range 5, ground referenced -applied calibration for subdev 0, channel 0, range 5, aref 0 -reading 8.53(18)e-4, target 0.000610501 -caldac[6] gain=-5.29015(76)e-4 V/bit S_min=9.15855e+06 dof=14 -caldac[7] gain=-5.3594(76)e-5 V/bit S_min=113696 dof=14 -caldac[8] gain=-1.6898(12)e-4 V/bit S_min=1.31063e+06 dof=14 -calibration source 2, range 5, ground referenced -applied calibration for subdev 0, channel 0, range 5, aref 0 -reading 3.502874(23), target 3.50385 -caldac[6] gain=-9.2851(13)e-4 V/bit S_min=417.629 dof=14 -caldac[7] gain=-1.0289(17)e-4 V/bit S_min=142.272 dof=14 -caldac[8] gain=1.1351(34)e-4 V/bit S_min=17370.8 dof=14 -calibration source 0, range 6, ground referenced -applied calibration for subdev 0, channel 0, range 6, aref 0 -reading 4.155(89)e-4, target 0.00030525 -caldac[6] gain=-2.67135(46)e-4 V/bit S_min=6.24559e+06 dof=14 -caldac[7] gain=-2.7738(41)e-5 V/bit S_min=102466 dof=14 -caldac[8] gain=-8.4423(61)e-5 V/bit S_min=1.26481e+06 dof=14 -calibration source 3, range 6, ground referenced -applied calibration for subdev 0, channel 0, range 6, aref 0 -reading 1.7515680(93), target 1.75191 -caldac[6] gain=-4.64172(84)e-4 V/bit S_min=179.131 dof=14 -caldac[7] gain=-5.1435(78)e-5 V/bit S_min=168.279 dof=14 -caldac[8] gain=5.689(16)e-5 V/bit S_min=18619.4 dof=14 -calibration source 0, range 7, ground referenced -applied calibration for subdev 0, channel 0, range 7, aref 0 -reading 2.224(42)e-4, target 0.000152625 -caldac[6] gain=-1.34937(22)e-4 V/bit S_min=6.39087e+06 dof=14 -caldac[7] gain=-1.4429(19)e-5 V/bit S_min=120304 dof=14 -caldac[8] gain=-4.2386(29)e-5 V/bit S_min=1.43736e+06 dof=14 -calibration source 4, range 7, ground referenced -applied calibration for subdev 0, channel 0, range 7, aref 0 -reading 0.8759354(47), target 0.875988 -caldac[6] gain=-2.32075(30)e-4 V/bit S_min=569.525 dof=14 -caldac[7] gain=-2.5747(38)e-5 V/bit S_min=168.221 dof=14 -caldac[8] gain=2.8316(69)e-5 V/bit S_min=27662.3 dof=14 -Applied calibration for subdevice 0, channel 0, range 0, aref 0 diff --git a/comedi_calibrate/results/measurement-computing-pci-das1602-16 b/comedi_calibrate/results/measurement-computing-pci-das1602-16 deleted file mode 100644 index 2d8e424..0000000 --- a/comedi_calibrate/results/measurement-computing-pci-das1602-16 +++ /dev/null @@ -1,324 +0,0 @@ -# ./comedi_calibrate -WARNING: you need comedi driver version 0.7.67 or later -for this calibration to work properly -eeprom ch 0x80 gives calibration source of 7.00749V -eeprom ch 0x84 gives calibration source of 3.50301V -eeprom ch 0x88 gives calibration source of 1.75135V -eeprom ch 0x8c gives calibration source of 0.875656V -eeprom ch 0x80 gives calibration source of 7.00749V -eeprom ch 0x84 gives calibration source of 3.50301V -eeprom ch 0x88 gives calibration source of 1.75135V -eeprom ch 0x8c gives calibration source of 0.875656V -Warning: device may not be not fully calibrated due to insufficient information. -Please file a bug report at http://bugs.comedi.org/ and attach this output. -This output will also allow comedi_calibrate to execute more -quickly in the future. -Id: comedi_calibrate.c,v 1.84 2003/06/12 19:57:43 fmhess Exp -Driver name: cb_pcidas -Device name: pci-das1602/16 -Id: cb.c,v 1.37 2003/05/31 16:59:29 fmhess Exp -Comedi version: 0.7.66 -calibration source 0, range 0, ground referenced -reading 2.7663(96)e-3, target 0 -caldac[9] gain=1.0499(13)e-4 V/bit S_min=10763.3 dof=14 -caldac[10] gain=6.129(13)e-5 V/bit S_min=387.025 dof=14 -calibration source 1, range 0, ground referenced -reading 7.013937(22), target 7.00749 -caldac[8] gain=-1.2075(13)e-4 V/bit S_min=31.9052 dof=14 -caldac[9] gain=1.1159(13)e-4 V/bit S_min=99631.2 dof=14 -caldac[10] gain=5.835(13)e-5 V/bit S_min=31.7509 dof=14 -calibration source 0, range 1, ground referenced -reading 1.578(18)e-3, target 0 -caldac[9] gain=5.2492(69)e-5 V/bit S_min=10014.6 dof=14 -caldac[10] gain=5.9674(66)e-5 V/bit S_min=351.04 dof=14 -calibration source 2, range 1, ground referenced -reading 3.49594(28), target 3.50301 -caldac[8] gain=-6.0384(73)e-5 V/bit S_min=28.6973 dof=14 -caldac[9] gain=5.5787(72)e-5 V/bit S_min=80811.8 dof=14 -caldac[10] gain=5.8134(72)e-5 V/bit S_min=28.0956 dof=14 -calibration source 0, range 2, ground referenced -reading 7.749(86)e-4, target 0 -caldac[9] gain=2.6285(37)e-5 V/bit S_min=8533.24 dof=14 -caldac[10] gain=5.8980(35)e-5 V/bit S_min=279.341 dof=14 -calibration source 3, range 2, ground referenced -reading 1.74975(11), target 1.75135 -caldac[1] gain=2.19(36)e-7 V/bit S_min=44.3197 dof=14 -caldac[8] gain=-3.0211(35)e-5 V/bit S_min=30.8117 dof=14 -caldac[9] gain=2.7886(35)e-5 V/bit S_min=84647.5 dof=14 -caldac[10] gain=5.8444(35)e-5 V/bit S_min=107.592 dof=14 -calibration source 0, range 3, ground referenced -reading 3.579(43)e-4, target 0 -caldac[9] gain=1.3096(21)e-5 V/bit S_min=6620.4 dof=14 -caldac[10] gain=5.8613(21)e-5 V/bit S_min=216.875 dof=14 -calibration source 4, range 3, ground referenced -reading 0.875432(48), target 0.875656 -caldac[8] gain=-1.5145(21)e-5 V/bit S_min=19.1356 dof=14 -caldac[9] gain=1.3957(20)e-5 V/bit S_min=61688.7 dof=14 -caldac[10] gain=5.8337(21)e-5 V/bit S_min=131.817 dof=14 -calibration source 0, range 4, ground referenced -reading 0.0( 0)e-2147483648, target 7.62951e-05 -caldac[8] gain=2.6693(25)e-5 V/bit S_min=573096 dof=14 -caldac[9] gain=2.1697(21)e-5 V/bit S_min=1.03367e+06 dof=14 -caldac[10] gain=1.4275(22)e-5 V/bit S_min=276225 dof=14 -calibration source 1, range 4, ground referenced -reading 7.009349(19), target 7.00749 -caldac[8] gain=-3.5058(68)e-5 V/bit S_min=22.6603 dof=14 -caldac[9] gain=5.3978(67)e-5 V/bit S_min=41855.2 dof=14 -caldac[10] gain=5.8287(68)e-5 V/bit S_min=44.4778 dof=14 -calibration source 0, range 5, ground referenced -reading 4.5(12)e-5, target 3.81476e-05 -caldac[8] gain=1.3346(14)e-5 V/bit S_min=493324 dof=14 -caldac[9] gain=1.0849(11)e-5 V/bit S_min=910509 dof=14 -caldac[10] gain=2.0352(14)e-5 V/bit S_min=911806 dof=14 -calibration source 2, range 5, ground referenced -reading 3.49364(28), target 3.50301 -caldac[8] gain=-1.7539(47)e-5 V/bit S_min=12.7877 dof=14 -caldac[9] gain=2.7003(47)e-5 V/bit S_min=21764.6 dof=14 -caldac[10] gain=5.8233(46)e-5 V/bit S_min=31.11 dof=14 -calibration source 0, range 6, ground referenced -reading 2.21(55)e-5, target 1.90738e-05 -caldac[8] gain=6.5107(81)e-6 V/bit S_min=345566 dof=14 -caldac[9] gain=5.2611(66)e-6 V/bit S_min=657889 dof=14 -caldac[10] gain=2.34581(93)e-5 V/bit S_min=2.31823e+06 dof=14 -calibration source 3, range 6, ground referenced -reading 1.74860(11), target 1.75135 -caldac[8] gain=-8.753(21)e-6 V/bit S_min=8.33917 dof=14 -caldac[9] gain=1.3500(21)e-5 V/bit S_min=27349.9 dof=14 -caldac[10] gain=5.8415(21)e-5 V/bit S_min=159.075 dof=14 -calibration source 0, range 7, ground referenced -reading 9.8(25)e-6, target 9.53689e-06 -caldac[8] gain=3.0782(54)e-6 V/bit S_min=190038 dof=14 -caldac[9] gain=2.4566(41)e-6 V/bit S_min=396840 dof=14 -caldac[10] gain=2.50425(63)e-5 V/bit S_min=5.11232e+06 dof=14 -calibration source 4, range 7, ground referenced -reading 0.874858(48), target 0.875656 -caldac[8] gain=-4.354(14)e-6 V/bit S_min=8.02422 dof=14 -caldac[9] gain=6.703(14)e-6 V/bit S_min=14996.1 dof=14 -caldac[10] gain=5.8424(14)e-5 V/bit S_min=229.055 dof=14 -DAC ground calibration source, ch 0, range 0 -reading 1.4854(97)e-3, target 7.62951e-05 -caldac[2] gain=-1.2281(13)e-4 V/bit S_min=364.875 dof=14 -caldac[6] gain=-1.534(15)e-5 V/bit S_min=263.776 dof=14 -caldac[9] gain=1.0515(14)e-4 V/bit S_min=9949.02 dof=14 -caldac[10] gain=6.177(13)e-5 V/bit S_min=411.836 dof=14 -DAC high calibration source, ch 0, range 0 -reading 4.489167(10), target 4.49996 -caldac[0] gain=-5.786(13)e-5 V/bit S_min=38.2987 dof=14 -caldac[1] gain=-4.9996(13)e-4 V/bit S_min=115.588 dof=14 -caldac[2] gain=-1.1998(13)e-4 V/bit S_min=32.8576 dof=14 -caldac[6] gain=-1.339(13)e-5 V/bit S_min=2.78534 dof=14 -caldac[8] gain=-7.800(13)e-5 V/bit S_min=42.0434 dof=14 -caldac[9] gain=1.0820(13)e-4 V/bit S_min=49635.5 dof=14 -caldac[10] gain=5.843(13)e-5 V/bit S_min=42.4727 dof=14 -DAC ground calibration source, ch 0, range 1 -reading -5.73(16)e-4, target 0.00015259 -caldac[2] gain=-1.2285(13)e-4 V/bit S_min=336.07 dof=14 -caldac[6] gain=-1.803(15)e-5 V/bit S_min=215.706 dof=14 -caldac[9] gain=1.0512(13)e-4 V/bit S_min=9673.89 dof=14 -caldac[10] gain=6.171(14)e-5 V/bit S_min=303.678 dof=14 -DAC high calibration source, ch 0, range 1 -reading 8.945938(15), target 8.99992 -caldac[0] gain=-1.1516(13)e-4 V/bit S_min=37.5284 dof=14 -caldac[1] gain=-9.9562(13)e-4 V/bit S_min=135.565 dof=14 -caldac[2] gain=-1.2020(13)e-4 V/bit S_min=45.5624 dof=14 -caldac[6] gain=-1.493(14)e-5 V/bit S_min=54.1826 dof=14 -caldac[8] gain=-1.5442(13)e-4 V/bit S_min=51.372 dof=14 -caldac[9] gain=1.1435(13)e-4 V/bit S_min=133535 dof=14 -caldac[10] gain=5.904(13)e-5 V/bit S_min=44.5935 dof=14 -DAC ground calibration source, ch 0, range 2 -reading 3.265(12)e-3, target 0 -caldac[2] gain=-1.2259(13)e-4 V/bit S_min=386.434 dof=14 -caldac[6] gain=-1.350(13)e-5 V/bit S_min=2.7774 dof=14 -caldac[9] gain=1.0486(13)e-4 V/bit S_min=11310.9 dof=14 -caldac[10] gain=6.105(14)e-5 V/bit S_min=377.666 dof=14 -DAC high calibration source, ch 0, range 2 -reading 4.481010(11), target 4.50004 -caldac[0] gain=-5.714(13)e-5 V/bit S_min=11.5009 dof=14 -caldac[1] gain=-4.9862(13)e-4 V/bit S_min=113.179 dof=14 -caldac[2] gain=-1.1982(13)e-4 V/bit S_min=36.403 dof=14 -caldac[6] gain=-1.375(13)e-5 V/bit S_min=4.81823 dof=14 -caldac[8] gain=-7.692(13)e-5 V/bit S_min=27.7274 dof=14 -caldac[9] gain=1.0774(13)e-4 V/bit S_min=52246.3 dof=14 -caldac[10] gain=5.776(13)e-5 V/bit S_min=9.98411 dof=14 -DAC ground calibration source, ch 0, range 3 -reading 3.334(11)e-3, target 0 -caldac[2] gain=-1.2259(13)e-4 V/bit S_min=391.228 dof=14 -caldac[6] gain=-1.354(13)e-5 V/bit S_min=2.79562 dof=14 -caldac[9] gain=1.0480(13)e-4 V/bit S_min=11427.2 dof=14 -caldac[10] gain=6.103(13)e-5 V/bit S_min=411.259 dof=14 -DAC high calibration source, ch 0, range 3 -reading 8.929456(12), target 9.00008 -caldac[0] gain=-1.1406(13)e-4 V/bit S_min=28.3385 dof=14 -caldac[1] gain=-9.9312(13)e-4 V/bit S_min=70.3478 dof=14 -caldac[2] gain=-1.1935(13)e-4 V/bit S_min=21.4438 dof=14 -caldac[6] gain=-1.385(13)e-5 V/bit S_min=5.90931 dof=14 -caldac[8] gain=-1.5392(13)e-4 V/bit S_min=46.7678 dof=14 -caldac[9] gain=1.1433(13)e-4 V/bit S_min=137228 dof=14 -caldac[10] gain=5.840(13)e-5 V/bit S_min=20.5374 dof=14 -DAC ground calibration source, ch 1, range 0 -reading 2.883(19)e-3, target 7.62951e-05 -caldac[3] gain=-1.2282(13)e-4 V/bit S_min=367.375 dof=14 -caldac[7] gain=-1.345(13)e-5 V/bit S_min=1.15301 dof=14 -caldac[9] gain=1.0506(14)e-4 V/bit S_min=9893.77 dof=14 -caldac[10] gain=6.141(13)e-5 V/bit S_min=446.711 dof=14 -DAC high calibration source, ch 1, range 0 -reading 4.493651(11), target 4.49996 -caldac[3] gain=-1.2033(13)e-4 V/bit S_min=43.4756 dof=14 -caldac[4] gain=-5.804(13)e-5 V/bit S_min=36.9516 dof=14 -caldac[5] gain=-4.9832(13)e-4 V/bit S_min=93.5171 dof=14 -caldac[7] gain=-1.387(13)e-5 V/bit S_min=19.6166 dof=14 -caldac[8] gain=-7.834(13)e-5 V/bit S_min=19.0549 dof=14 -caldac[9] gain=1.0883(13)e-4 V/bit S_min=51334.1 dof=14 -caldac[10] gain=5.898(13)e-5 V/bit S_min=37.4823 dof=14 -DAC ground calibration source, ch 1, range 1 -reading 2.039(10)e-3, target 0.00015259 -caldac[3] gain=-1.2293(13)e-4 V/bit S_min=320.881 dof=14 -caldac[7] gain=-1.364(13)e-5 V/bit S_min=4.50314 dof=14 -caldac[9] gain=1.0510(13)e-4 V/bit S_min=10960.3 dof=14 -caldac[10] gain=6.157(13)e-5 V/bit S_min=304.663 dof=14 -DAC high calibration source, ch 1, range 1 -reading 8.961557(12), target 8.99992 -caldac[3] gain=-1.2007(13)e-4 V/bit S_min=21.6244 dof=14 -caldac[4] gain=-1.1389(13)e-4 V/bit S_min=20.3375 dof=14 -caldac[5] gain=-9.9380(13)e-4 V/bit S_min=74.0387 dof=14 -caldac[7] gain=-1.342(13)e-5 V/bit S_min=4.83011 dof=14 -caldac[8] gain=-1.5430(13)e-4 V/bit S_min=43.7761 dof=14 -caldac[9] gain=1.1429(13)e-4 V/bit S_min=138060 dof=14 -caldac[10] gain=5.814(13)e-5 V/bit S_min=22.6337 dof=14 -DAC ground calibration source, ch 1, range 2 -reading 3.480(12)e-3, target 0 -caldac[3] gain=-1.2282(13)e-4 V/bit S_min=377.068 dof=14 -caldac[7] gain=-1.362(13)e-5 V/bit S_min=3.65634 dof=14 -caldac[9] gain=1.0484(13)e-4 V/bit S_min=11386.1 dof=14 -caldac[10] gain=6.108(13)e-5 V/bit S_min=472.513 dof=14 -DAC high calibration source, ch 1, range 2 -reading 4.484250(11), target 4.50004 -caldac[3] gain=-1.2014(13)e-4 V/bit S_min=39.6119 dof=14 -caldac[4] gain=-5.654(13)e-5 V/bit S_min=5.35334 dof=14 -caldac[5] gain=-4.9730(13)e-4 V/bit S_min=128.899 dof=14 -caldac[7] gain=-1.351(13)e-5 V/bit S_min=2.37465 dof=14 -caldac[8] gain=-7.726(13)e-5 V/bit S_min=47.0742 dof=14 -caldac[9] gain=1.0764(13)e-4 V/bit S_min=51611.9 dof=14 -caldac[10] gain=5.777(13)e-5 V/bit S_min=8.9178 dof=14 -DAC ground calibration source, ch 1, range 3 -reading 3.431(10)e-3, target 0 -caldac[3] gain=-1.2286(13)e-4 V/bit S_min=388.792 dof=14 -caldac[7] gain=-1.362(13)e-5 V/bit S_min=2.9964 dof=14 -caldac[9] gain=1.0482(13)e-4 V/bit S_min=11353.9 dof=14 -caldac[10] gain=6.111(13)e-5 V/bit S_min=494.685 dof=14 -DAC high calibration source, ch 1, range 3 -reading 8.942965(12), target 9.00008 -caldac[3] gain=-1.2047(13)e-4 V/bit S_min=29.349 dof=14 -caldac[4] gain=-1.1433(13)e-4 V/bit S_min=34.8405 dof=14 -caldac[5] gain=-9.9112(13)e-4 V/bit S_min=83.7798 dof=14 -caldac[7] gain=-1.341(13)e-5 V/bit S_min=2.67333 dof=14 -caldac[8] gain=-1.5466(13)e-4 V/bit S_min=19.3449 dof=14 -caldac[9] gain=1.1440(13)e-4 V/bit S_min=133433 dof=14 -caldac[10] gain=5.843(13)e-5 V/bit S_min=50.4174 dof=14 -relative binary: calibration source 0, range 0, ground referenced, calibration source 0, range 3, ground referenced -caldac[9] set to 93 -binary peg: calibration source 0, range 4, ground referenced -caldac[10] set to 255 -relative binary: calibration source 0, range 4, ground referenced, calibration source 0, range 7, ground referenced -caldac[9] set to 173 -relative binary: calibration source 1, range 0, ground referenced, calibration source 0, range 0, ground referenced -caldac[8] set to 155 -binary: calibration source 0, range 0, ground referenced -caldac[10] set to 129 -relative binary: calibration source 2, range 1, ground referenced, calibration source 0, range 1, ground referenced -caldac[8] set to 0 -WARNING: caldac[8] pegged! -binary: calibration source 0, range 1, ground referenced -caldac[10] set to 127 -relative binary: calibration source 3, range 2, ground referenced, calibration source 0, range 2, ground referenced -caldac[8] set to 51 -binary: calibration source 0, range 2, ground referenced -caldac[10] set to 127 -relative binary: calibration source 4, range 3, ground referenced, calibration source 0, range 3, ground referenced -caldac[8] set to 93 -binary: calibration source 0, range 3, ground referenced -caldac[10] set to 127 -relative binary: calibration source 1, range 4, ground referenced, calibration source 0, range 4, ground referenced -caldac[8] set to 155 -binary: calibration source 0, range 4, ground referenced -caldac[10] set to 84 -relative binary: calibration source 2, range 5, ground referenced, calibration source 0, range 5, ground referenced -caldac[8] set to 1 -binary: calibration source 0, range 5, ground referenced -caldac[10] set to 219 -relative binary: calibration source 3, range 6, ground referenced, calibration source 0, range 6, ground referenced -caldac[8] set to 0 -WARNING: caldac[8] pegged! -binary: calibration source 0, range 6, ground referenced -caldac[10] set to 173 -relative binary: calibration source 4, range 7, ground referenced, calibration source 0, range 7, ground referenced -caldac[8] set to 0 -WARNING: caldac[8] pegged! -binary: calibration source 0, range 7, ground referenced -caldac[10] set to 151 -relative binary: DAC high calibration source, ch 0, range 0, DAC ground calibration source, ch 0, range 0 -caldac[1] set to 99 -binary: DAC ground calibration source, ch 0, range 0 -caldac[2] set to 115 -relative binary: DAC high calibration source, ch 0, range 0, DAC ground calibration source, ch 0, range 0 -caldac[0] set to 117 -binary: DAC ground calibration source, ch 0, range 0 -caldac[6] set to 133 -relative binary: DAC high calibration source, ch 0, range 1, DAC ground calibration source, ch 0, range 1 -caldac[1] set to 68 -binary: DAC ground calibration source, ch 0, range 1 -caldac[2] set to 103 -relative binary: DAC high calibration source, ch 0, range 1, DAC ground calibration source, ch 0, range 1 -caldac[0] set to 123 -binary: DAC ground calibration source, ch 0, range 1 -caldac[6] set to 127 -relative binary: DAC high calibration source, ch 0, range 2, DAC ground calibration source, ch 0, range 2 -caldac[1] set to 77 -binary: DAC ground calibration source, ch 0, range 2 -caldac[2] set to 129 -relative binary: DAC high calibration source, ch 0, range 2, DAC ground calibration source, ch 0, range 2 -caldac[0] set to 131 -binary: DAC ground calibration source, ch 0, range 2 -caldac[6] set to 131 -relative binary: DAC high calibration source, ch 0, range 3, DAC ground calibration source, ch 0, range 3 -caldac[1] set to 47 -binary: DAC ground calibration source, ch 0, range 3 -caldac[2] set to 131 -relative binary: DAC high calibration source, ch 0, range 3, DAC ground calibration source, ch 0, range 3 -caldac[0] set to 131 -binary: DAC ground calibration source, ch 0, range 3 -caldac[6] set to 128 -relative binary: DAC high calibration source, ch 1, range 0, DAC ground calibration source, ch 1, range 0 -caldac[5] set to 105 -binary: DAC ground calibration source, ch 1, range 0 -caldac[3] set to 126 -relative binary: DAC high calibration source, ch 1, range 0, DAC ground calibration source, ch 1, range 0 -caldac[4] set to 119 -binary: DAC ground calibration source, ch 1, range 0 -caldac[7] set to 127 -relative binary: DAC high calibration source, ch 1, range 1, DAC ground calibration source, ch 1, range 1 -caldac[5] set to 82 -binary: DAC ground calibration source, ch 1, range 1 -caldac[3] set to 121 -relative binary: DAC high calibration source, ch 1, range 1, DAC ground calibration source, ch 1, range 1 -caldac[4] set to 122 -binary: DAC ground calibration source, ch 1, range 1 -caldac[7] set to 123 -relative binary: DAC high calibration source, ch 1, range 2, DAC ground calibration source, ch 1, range 2 -caldac[5] set to 83 -binary: DAC ground calibration source, ch 1, range 2 -caldac[3] set to 131 -relative binary: DAC high calibration source, ch 1, range 2, DAC ground calibration source, ch 1, range 2 -caldac[4] set to 129 -binary: DAC ground calibration source, ch 1, range 2 -caldac[7] set to 134 -relative binary: DAC high calibration source, ch 1, range 3, DAC ground calibration source, ch 1, range 3 -caldac[5] set to 61 -binary: DAC ground calibration source, ch 1, range 3 -caldac[3] set to 132 -relative binary: DAC high calibration source, ch 1, range 3, DAC ground calibration source, ch 1, range 3 -caldac[4] set to 125 -binary: DAC ground calibration source, ch 1, range 3 -caldac[7] set to 130 -failed to open file /etc/comedi/calibrations/cb_pcidas_pci-das1602-16_comedi0 for writing -calibration function returned error diff --git a/comedi_calibrate/results/measurement-computing-pci-das6014 b/comedi_calibrate/results/measurement-computing-pci-das6014 deleted file mode 100644 index e0d33c4..0000000 --- a/comedi_calibrate/results/measurement-computing-pci-das6014 +++ /dev/null @@ -1,222 +0,0 @@ -linux:/home/matti/Envir_measure/cardsoft # /usr/local/bin/comedi_calibrate --calibrate /dev/comedi0 -Warning: device may not be not fully calibrated due to insufficient -information. -Please file a bug report at https://bugs.comedi.org/ and attach this output. -This output will also allow comedi_calibrate to execute more -quickly in the future. -Forcing option: --verbose -Forcing options: --reset --dump --calibrate --results -Id: comedi_calibrate.c,v 1.92 2004/03/29 01:34:15 fmhess Exp -Driver name: cb_pcidas64 -Device name: pci-das6014 -Id: cb64.c,v 1.16 2004/08/02 01:35:41 fmhess Exp -Comedi version: 0.7.70 -calibration source 0, range 0, ground referenced -reading -4.4803(74)e-3, target 0 -caldac[4] gain=1.00119(96)e-4 V/bit S_min=1.29654 dof=14 -caldac[5] gain=4.474167(96)e-3 V/bit S_min=522.198 dof=14 -caldac[6] gain=5.203(96)e-6 V/bit S_min=1.53105 dof=14 -calibration source 1, range 0, ground referenced -reading 9.9929764(76), target 9.9769 -caldac[4] gain=9.0214(79)e-5 V/bit S_min=25251.7 dof=14 -caldac[5] gain=2.464807(55)e-3 V/bit S_min=4.10294e+08 dof=14 -caldac[6] gain=-3.123038(47)e-3 V/bit S_min=1.2372e+09 dof=14 -caldac[7] gain=-1.13452(60)e-4 V/bit S_min=333506 dof=14 -calibration source 0, range 1, ground referenced -reading -2.6261(34)e-3, target 0 -caldac[4] gain=6.0091(48)e-5 V/bit S_min=1.33021 dof=14 -caldac[5] gain=2.684554(48)e-3 V/bit S_min=848.033 dof=14 -caldac[6] gain=2.752(48)e-6 V/bit S_min=2.0863 dof=14 -calibration source 2, range 1, ground referenced -reading 4.987903(13), target 4.96952 -caldac[4] gain=6.027(17)e-5 V/bit S_min=5.72009 dof=14 -caldac[5] gain=1.524538(93)e-3 V/bit S_min=5.07735e+07 dof=14 -caldac[6] gain=-1.609288(87)e-3 V/bit S_min=8.83594e+07 dof=14 -caldac[7] gain=-7.945(17)e-5 V/bit S_min=4.1996 dof=14 -calibration source 0, range 2, ground referenced -reading -9.4484(58)e-4, target 0 -caldac[4] gain=2.38020(78)e-5 V/bit S_min=7.06088 dof=14 -caldac[5] gain=1.0639233(78)e-3 V/bit S_min=4943.81 dof=14 -caldac[6] gain=6.814(78)e-7 V/bit S_min=7.22209 dof=14 -calibration source 3, range 2, ground referenced -reading 0.45980628(63), target 0.46308 -caldac[4] gain=2.38051(84)e-5 V/bit S_min=7.93803 dof=14 -caldac[5] gain=8.005529(58)e-4 V/bit S_min=1.4103e+09 dof=14 -caldac[6] gain=-3.261533(78)e-4 V/bit S_min=4.04224e+06 dof=14 -caldac[7] gain=-7.3309(83)e-6 V/bit S_min=3.47933 dof=14 -calibration source 0, range 3, ground referenced -reading -9.283(18)e-5, target 0 -caldac[4] gain=2.3799(25)e-6 V/bit S_min=3.33165 dof=14 -caldac[5] gain=1.063931(25)e-4 V/bit S_min=498.68 dof=14 -caldac[6] gain=6.54(25)e-8 V/bit S_min=1.67646 dof=14 -calibration source 4, range 3, ground referenced -reading 0.04781226(18), target 0.0483123 -caldac[4] gain=2.3816(25)e-6 V/bit S_min=1.65942 dof=14 -caldac[5] gain=7.01992(15)e-5 V/bit S_min=2.60349e+08 dof=14 -caldac[6] gain=-2.69269(17)e-5 V/bit S_min=1.23313e+07 dof=14 -caldac[7] gain=-7.612(24)e-7 V/bit S_min=1.24106 dof=14 -dac0 low, range 0, ground referenced -reading -4.5083(76)e-3, target 0.00015259 -caldac[0] gain=1.04551(99)e-4 V/bit S_min=1.56957 dof=14 -caldac[4] gain=1.00175(98)e-4 V/bit S_min=1.12202 dof=14 -caldac[5] gain=4.474181(100)e-3 V/bit S_min=495.196 dof=14 -caldac[6] gain=5.22(10)e-6 V/bit S_min=1.14609 dof=14 -dac0 high, range 0, ground referenced -reading 9.0146385(83), target 8.99992 -caldac[0] gain=1.4571(11)e-4 V/bit S_min=22.5438 dof=14 -caldac[1] gain=-9.739(11)e-5 V/bit S_min=17.4398 dof=14 -caldac[4] gain=1.0018(11)e-4 V/bit S_min=32.1092 dof=14 -caldac[5] gain=4.47627(11)e-3 V/bit S_min=578.718 dof=14 -caldac[6] gain=-6.54983(11)e-3 V/bit S_min=7.84674e+06 dof=14 -caldac[7] gain=-1.4357(11)e-4 V/bit S_min=12.1425 dof=14 -dac1 low, range 0, ground referenced -reading -4.6033(76)e-3, target 0.00015259 -caldac[2] gain=1.04604(100)e-4 V/bit S_min=1.07481 dof=14 -caldac[4] gain=1.00146(98)e-4 V/bit S_min=2.02347 dof=14 -caldac[5] gain=4.474175(99)e-3 V/bit S_min=490.304 dof=14 -caldac[6] gain=5.259(100)e-6 V/bit S_min=1.51898 dof=14 -dac1 high, range 0, ground referenced -reading 9.0146439(83), target 8.99992 -caldac[2] gain=1.4593(11)e-4 V/bit S_min=26.1243 dof=14 -caldac[3] gain=-9.752(11)e-5 V/bit S_min=20.0498 dof=14 -caldac[4] gain=1.0016(11)e-4 V/bit S_min=31.8804 dof=14 -caldac[5] gain=4.47621(11)e-3 V/bit S_min=591.839 dof=14 -caldac[6] gain=-6.54985(11)e-3 V/bit S_min=7.81219e+06 dof=14 -caldac[7] gain=-1.4356(11)e-4 V/bit S_min=12.8266 dof=14 -relative binary: calibration source 1, range 0, ground referenced, -calibration source 0, range 0, ground referenced -caldac[6] set to 129 -binary: calibration source 0, range 0, ground referenced -caldac[5] set to 128 -relative binary: calibration source 1, range 0, ground referenced, -calibration source 0, range 0, ground referenced -caldac[7] set to 169 -binary: calibration source 0, range 0, ground referenced -caldac[4] set to 133 -relative binary: calibration source 2, range 1, ground referenced, -calibration source 0, range 1, ground referenced -caldac[6] set to 133 -binary: calibration source 0, range 1, ground referenced -caldac[5] set to 128 -relative binary: calibration source 2, range 1, ground referenced, -calibration source 0, range 1, ground referenced -caldac[7] set to 125 -binary: calibration source 0, range 1, ground referenced -caldac[4] set to 132 -relative binary: calibration source 3, range 2, ground referenced, -calibration source 0, range 2, ground referenced -caldac[6] set to 119 -binary: calibration source 0, range 2, ground referenced -caldac[5] set to 128 -relative binary: calibration source 3, range 2, ground referenced, -calibration source 0, range 2, ground referenced -caldac[7] set to 169 -binary: calibration source 0, range 2, ground referenced -caldac[4] set to 129 -relative binary: calibration source 4, range 3, ground referenced, -calibration source 0, range 3, ground referenced -caldac[6] set to 115 -binary: calibration source 0, range 3, ground referenced -caldac[5] set to 128 -relative binary: calibration source 4, range 3, ground referenced, -calibration source 0, range 3, ground referenced -caldac[7] set to 134 -binary: calibration source 0, range 3, ground referenced -caldac[4] set to 127 -relative binary: dac0 high, range 0, ground referenced, dac0 low, range 0, -ground referenced -caldac[1] set to 137 -binary: dac0 low, range 0, ground referenced -caldac[0] set to 129 -relative binary: dac1 high, range 0, ground referenced, dac1 low, range 0, -ground referenced -caldac[3] set to 139 -binary: dac1 low, range 0, ground referenced -caldac[2] set to 129 -writing calibration to -/usr/local/var/lib/comedi/calibrations/cb_pcidas64_pci-das6014_comedi0 -calibration source 0, range 0, ground referenced -applied calibration for subdev 0, channel 0, range 0, aref 0 -reading -0.3(64)e-6, target 0 -caldac[4] gain=9.9925(96)e-5 V/bit S_min=3.07829 dof=14 -caldac[5] gain=4.464724(96)e-3 V/bit S_min=529.258 dof=14 -caldac[6] gain=2.252(97)e-6 V/bit S_min=5.88681 dof=14 -calibration source 1, range 0, ground referenced -applied calibration for subdev 0, channel 0, range 0, aref 0 -reading 9.9772253(77), target 9.9769 -caldac[4] gain=1.00300(98)e-4 V/bit S_min=57.1959 dof=14 -caldac[5] gain=2.576274(55)e-3 V/bit S_min=3.96155e+08 dof=14 -caldac[6] gain=-3.136499(49)e-3 V/bit S_min=1.13867e+09 dof=14 -calibration source 0, range 1, ground referenced -applied calibration for subdev 0, channel 0, range 1, aref 0 -reading -1.83(31)e-5, target 0 -caldac[4] gain=5.9853(48)e-5 V/bit S_min=1.49887 dof=14 -caldac[5] gain=2.672925(47)e-3 V/bit S_min=845.337 dof=14 -caldac[6] gain=1.119(48)e-6 V/bit S_min=5.13381 dof=14 -calibration source 2, range 1, ground referenced -applied calibration for subdev 0, channel 0, range 1, aref 0 -reading 4.969619(14), target 4.96952 -caldac[4] gain=6.009(17)e-5 V/bit S_min=11.6169 dof=14 -caldac[5] gain=1.638934(91)e-3 V/bit S_min=4.96815e+07 dof=14 -caldac[6] gain=-1.595607(87)e-3 V/bit S_min=9.00592e+07 dof=14 -calibration source 0, range 2, ground referenced -applied calibration for subdev 0, channel 0, range 2, aref 0 -reading 1.031(52)e-5, target 0 -caldac[4] gain=2.39333(78)e-5 V/bit S_min=4.67894 dof=14 -caldac[5] gain=1.0691025(78)e-3 V/bit S_min=5111.18 dof=14 -calibration source 3, range 2, ground referenced -applied calibration for subdev 0, channel 0, range 2, aref 0 -reading 0.46310376(62), target 0.46308 -caldac[4] gain=2.39231(84)e-5 V/bit S_min=14.305 dof=14 -caldac[5] gain=7.916264(58)e-4 V/bit S_min=1.47745e+09 dof=14 -caldac[6] gain=-3.253145(73)e-4 V/bit S_min=5.20338e+06 dof=14 -caldac[7] gain=-7.4734(84)e-6 V/bit S_min=3.11628 dof=14 -calibration source 0, range 3, ground referenced -applied calibration for subdev 0, channel 0, range 3, aref 0 -reading -1.66(17)e-6, target 0 -caldac[4] gain=2.3995(25)e-6 V/bit S_min=1.21466 dof=14 -caldac[5] gain=1.072828(25)e-4 V/bit S_min=502.692 dof=14 -calibration source 4, range 3, ground referenced -applied calibration for subdev 0, channel 0, range 3, aref 0 -reading 0.04831059(18), target 0.0483123 -caldac[4] gain=2.4003(25)e-6 V/bit S_min=4.88799 dof=14 -caldac[5] gain=6.84265(14)e-5 V/bit S_min=3.38442e+08 dof=14 -caldac[6] gain=-2.65240(16)e-5 V/bit S_min=1.33023e+07 dof=14 -caldac[7] gain=-7.764(25)e-7 V/bit S_min=1.75163 dof=14 -dac0 low, range 0, ground referenced -applied calibration for subdev 1, channel 0, range 0, aref 0 -applied calibration for subdev 0, channel 0, range 0, aref 0 -reading 1.645(58)e-4, target 0.00015259 -caldac[0] gain=1.04294(99)e-4 V/bit S_min=3.41793 dof=14 -caldac[4] gain=9.9964(99)e-5 V/bit S_min=1.55293 dof=14 -caldac[5] gain=4.464654(99)e-3 V/bit S_min=506.679 dof=14 -caldac[6] gain=2.209(99)e-6 V/bit S_min=5.04124 dof=14 -dac0 high, range 0, ground referenced -applied calibration for subdev 1, channel 0, range 0, aref 0 -applied calibration for subdev 0, channel 0, range 0, aref 0 -reading 9.0001302(80), target 8.99992 -caldac[0] gain=1.4551(11)e-4 V/bit S_min=16.0483 dof=14 -caldac[1] gain=-9.733(11)e-5 V/bit S_min=13.3661 dof=14 -caldac[4] gain=1.0022(11)e-4 V/bit S_min=41.6717 dof=14 -caldac[5] gain=4.46663(11)e-3 V/bit S_min=675.5 dof=14 -caldac[6] gain=-6.54380(11)e-3 V/bit S_min=7.53188e+06 dof=14 -caldac[7] gain=-1.4611(11)e-4 V/bit S_min=12.3093 dof=14 -dac1 low, range 0, ground referenced -applied calibration for subdev 1, channel 1, range 0, aref 0 -applied calibration for subdev 0, channel 0, range 0, aref 0 -reading 8.58(59)e-5, target 0.00015259 -caldac[2] gain=1.04337(99)e-4 V/bit S_min=3.61001 dof=14 -caldac[4] gain=9.9894(99)e-5 V/bit S_min=3.03987 dof=14 -caldac[5] gain=4.464630(99)e-3 V/bit S_min=490.707 dof=14 -caldac[6] gain=2.30(10)e-6 V/bit S_min=4.14847 dof=14 -dac1 high, range 0, ground referenced -applied calibration for subdev 1, channel 1, range 0, aref 0 -applied calibration for subdev 0, channel 0, range 0, aref 0 -reading 8.9999419(80), target 8.99992 -caldac[2] gain=1.4567(11)e-4 V/bit S_min=18.0408 dof=14 -caldac[3] gain=-9.741(11)e-5 V/bit S_min=12.151 dof=14 -caldac[4] gain=1.0018(11)e-4 V/bit S_min=40.5374 dof=14 -caldac[5] gain=4.46669(11)e-3 V/bit S_min=675.897 dof=14 -caldac[6] gain=-6.54384(11)e-3 V/bit S_min=7.52359e+06 dof=14 -caldac[7] gain=-1.4606(11)e-4 V/bit S_min=11.1326 dof=14 -Applied calibration for subdevice 0, channel 0, range 0, aref 0 diff --git a/comedi_calibrate/results/measurement-computing-pci-das6025 b/comedi_calibrate/results/measurement-computing-pci-das6025 deleted file mode 100644 index c3cf2b4..0000000 --- a/comedi_calibrate/results/measurement-computing-pci-das6025 +++ /dev/null @@ -1,110 +0,0 @@ -eeprom ch 0x30 gives calibration source of 9.9777V -eeprom ch 0x32 gives calibration source of 4.97028V -eeprom ch 0x38 gives calibration source of 0.463091V -eeprom ch 0x3e gives calibration source of 0.0485681V -Id: comedi_calibrate.c,v 1.64 2003/05/01 14:43:50 fmhess Exp -Driver name: cb_pcidas64 -Device name: pci-das6025 -Id: cb64.c,v 1.7 2003/04/30 20:30:04 fmhess Exp -Comedi version: 0.7.66 -calibration source 0, range 0, ground referenced -failed to apply calibration for subdev 0, channel 0, range 0, aref 0 -reading -8.28(30)e-3, target 0 -caldac[4] gain=9.8517(22)e-4 V/bit S_min=2421.13 dof=254 -caldac[5] gain=2.76621(22)e-3 V/bit S_min=3098.28 dof=254 -caldac[6] gain=8.81(23)e-6 V/bit S_min=249.499 dof=254 -caldac[7] gain=3.44(23)e-6 V/bit S_min=268.394 dof=254 -calibration source 1, range 0, ground referenced -failed to apply calibration for subdev 0, channel 0, range 0, aref 0 -reading nan, target 9.9777 -caldac[4] gain=1.00621(69)e-3 V/bit S_min=138.687 dof=119 -caldac[5] gain=2.78213(66)e-3 V/bit S_min=555.324 dof=123 -caldac[6] gain=-6.52450(63)e-3 V/bit S_min=50891.5 dof=125 -caldac[7] gain=-2.48300(64)e-3 V/bit S_min=2471.53 dof=123 -calibration source 0, range 1, ground referenced -failed to apply calibration for subdev 0, channel 0, range 1, aref 0 -reading -4.12(15)e-3, target 0 -caldac[4] gain=5.9318(11)e-4 V/bit S_min=2742.78 dof=254 -caldac[5] gain=1.65956(11)e-3 V/bit S_min=3163.35 dof=254 -caldac[6] gain=5.21(12)e-6 V/bit S_min=231.738 dof=254 -caldac[7] gain=1.97(12)e-6 V/bit S_min=246.474 dof=254 -calibration source 2, range 1, ground referenced -failed to apply calibration for subdev 0, channel 0, range 1, aref 0 -reading 4.99260(19), target 4.97028 -caldac[4] gain=6.0366(46)e-4 V/bit S_min=90.6616 dof=129 -caldac[5] gain=1.66880(47)e-3 V/bit S_min=325.091 dof=127 -caldac[6] gain=-3.26198(41)e-3 V/bit S_min=30321.5 dof=127 -caldac[7] gain=-1.23988(44)e-3 V/bit S_min=1572.93 dof=128 -calibration source 0, range 2, ground referenced -failed to apply calibration for subdev 0, channel 0, range 2, aref 0 -reading -1.707(13)e-3, target 0 -caldac[4] gain=2.38478(11)e-4 V/bit S_min=2424.22 dof=254 -caldac[5] gain=6.63634(11)e-4 V/bit S_min=8135.26 dof=254 -caldac[6] gain=1.338(12)e-6 V/bit S_min=327.293 dof=254 -caldac[7] gain=4.68(11)e-7 V/bit S_min=258.722 dof=254 -calibration source 3, range 2, ground referenced -failed to apply calibration for subdev 0, channel 0, range 2, aref 0 -reading 0.462994(18), target 0.463091 -caldac[4] gain=2.38853(13)e-4 V/bit S_min=1712.28 dof=254 -caldac[5] gain=6.63761(21)e-4 V/bit S_min=4336.28 dof=181 -caldac[6] gain=-3.24320(14)e-4 V/bit S_min=991382 dof=229 -caldac[7] gain=-1.18641(12)e-4 V/bit S_min=30983.8 dof=254 -calibration source 0, range 3, ground referenced -failed to apply calibration for subdev 0, channel 0, range 3, aref 0 -reading -5.17(16)e-5, target 0 -caldac[1] gain=1.00(13)e-8 V/bit S_min=646.774 dof=254 -caldac[2] gain=-5.6(13)e-9 V/bit S_min=491.365 dof=254 -caldac[3] gain=5.4(13)e-9 V/bit S_min=537.052 dof=254 -caldac[4] gain=2.38560(13)e-5 V/bit S_min=2286.72 dof=254 -caldac[5] gain=6.63556(13)e-5 V/bit S_min=6145.89 dof=254 -caldac[6] gain=6.15(13)e-8 V/bit S_min=612.86 dof=254 -calibration source 4, range 3, ground referenced -failed to apply calibration for subdev 0, channel 0, range 3, aref 0 -reading 0.0485419(20), target 0.0485681 -caldac[0] gain=-5.5(13)e-9 V/bit S_min=533.801 dof=254 -caldac[1] gain=-1.32(13)e-8 V/bit S_min=730.851 dof=254 -caldac[2] gain=-1.40(13)e-8 V/bit S_min=459.123 dof=254 -caldac[3] gain=-1.80(13)e-8 V/bit S_min=432.132 dof=254 -caldac[4] gain=2.39321(21)e-5 V/bit S_min=1136.91 dof=184 -caldac[5] gain=6.63941(29)e-5 V/bit S_min=3831.79 dof=147 -caldac[6] gain=-3.24996(24)e-5 V/bit S_min=154970 dof=166 -caldac[7] gain=-1.23781(14)e-5 V/bit S_min=17985.1 dof=236 -dac0 low, range 0, ground referenced -failed to apply calibration for subdev 1, channel 0, range 0, aref 0 -failed to apply calibration for subdev 0, channel 0, range 0, aref 0 -reading -0.01996(24), target 0.002442 -caldac[0] gain=2.22557(22)e-3 V/bit S_min=2531.06 dof=254 -caldac[4] gain=9.8681(22)e-4 V/bit S_min=2614.4 dof=254 -caldac[5] gain=2.76647(22)e-3 V/bit S_min=2818.05 dof=254 -caldac[6] gain=1.665(22)e-5 V/bit S_min=289.052 dof=254 -caldac[7] gain=5.68(22)e-6 V/bit S_min=236.398 dof=254 -dac0 high, range 0, ground referenced -failed to apply calibration for subdev 1, channel 0, range 0, aref 0 -failed to apply calibration for subdev 0, channel 0, range 0, aref 0 -reading 8.97734(25), target 8.99878 -caldac[0] gain=2.22584(23)e-3 V/bit S_min=2618.77 dof=254 -caldac[1] gain=7.7667(23)e-4 V/bit S_min=331.603 dof=254 -caldac[4] gain=1.00107(23)e-3 V/bit S_min=747.153 dof=254 -caldac[5] gain=2.76715(23)e-3 V/bit S_min=2526.4 dof=254 -caldac[6] gain=-6.40118(23)e-3 V/bit S_min=1.79872e+06 dof=254 -caldac[7] gain=-2.29151(23)e-3 V/bit S_min=40138.8 dof=254 -dac1 low, range 0, ground referenced -failed to apply calibration for subdev 1, channel 1, range 0, aref 0 -failed to apply calibration for subdev 0, channel 0, range 0, aref 0 -reading -4.08(24)e-3, target 0.002442 -caldac[2] gain=2.22185(22)e-3 V/bit S_min=3310.56 dof=254 -caldac[3] gain=-1.00(21)e-6 V/bit S_min=245.279 dof=254 -caldac[4] gain=9.8518(22)e-4 V/bit S_min=2424.67 dof=254 -caldac[5] gain=2.76653(22)e-3 V/bit S_min=3054.6 dof=254 -caldac[6] gain=6.51(21)e-6 V/bit S_min=256.31 dof=254 -caldac[7] gain=2.48(21)e-6 V/bit S_min=253.103 dof=254 -dac1 high, range 0, ground referenced -failed to apply calibration for subdev 1, channel 1, range 0, aref 0 -failed to apply calibration for subdev 0, channel 0, range 0, aref 0 -reading 8.99382(28), target 8.99878 -caldac[2] gain=2.22274(22)e-3 V/bit S_min=2327.69 dof=254 -caldac[3] gain=7.7525(23)e-4 V/bit S_min=344.764 dof=254 -caldac[4] gain=9.9918(23)e-4 V/bit S_min=1062.15 dof=254 -caldac[5] gain=2.76787(23)e-3 V/bit S_min=2693.25 dof=254 -caldac[6] gain=-6.41290(23)e-3 V/bit S_min=1.79855e+06 dof=254 -caldac[7] gain=-2.29682(23)e-3 V/bit S_min=40074 dof=254 diff --git a/comedi_calibrate/results/measurement-computing-pci-das6034 b/comedi_calibrate/results/measurement-computing-pci-das6034 deleted file mode 100644 index fe3164e..0000000 --- a/comedi_calibrate/results/measurement-computing-pci-das6034 +++ /dev/null @@ -1,136 +0,0 @@ -Warning: device may not be not fully calibrated due to insufficient information. -Please file a bug report at https://bugs.comedi.org/ and attach this output. -This output will also allow comedi_calibrate to execute more -quickly in the future. -Forcing option: --verbose -Forcing options: --reset --dump --calibrate --results -Id: comedi_calibrate.c,v 1.92 2004/03/29 01:34:15 fmhess Exp -Driver name: cb_pcidas64 -Device name: pci-das6034 -Id: cb64.c,v 1.18 2005/02/22 13:00:07 fmhess Exp -Comedi version: 0.7.69 -calibration source 0, range 0, ground referenced -reading -2.6629(72)e-3, target 0 -caldac[4] gain=1.00642(95)e-4 V/bit S_min=82.1553 dof=14 -caldac[5] gain=4.366282(96)e-3 V/bit S_min=3302.4 dof=14 -caldac[6] gain=3.578(97)e-6 V/bit S_min=2.19792 dof=14 -calibration source 1, range 0, ground referenced -reading 9.9777790(72), target 9.97425 -caldac[4] gain=9.9508(97)e-5 V/bit S_min=38.436 dof=14 -caldac[5] gain=4.36817(18)e-3 V/bit S_min=4732.76 dof=7 -caldac[6] gain=-6.47312(19)e-3 V/bit S_min=558389 dof=6 -caldac[7] gain=-1.58597(97)e-4 V/bit S_min=15.2113 dof=14 -calibration source 0, range 1, ground referenced -reading -1.7137(34)e-3, target 0 -caldac[4] gain=6.0189(47)e-5 V/bit S_min=106.175 dof=14 -caldac[5] gain=2.619492(48)e-3 V/bit S_min=3939.51 dof=14 -caldac[6] gain=1.924(49)e-6 V/bit S_min=1.26219 dof=14 -calibration source 2, range 1, ground referenced -reading 4.9780777(36), target 4.96851 -caldac[4] gain=5.9669(48)e-5 V/bit S_min=45.7913 dof=14 -caldac[5] gain=2.621085(85)e-3 V/bit S_min=6807.77 dof=7 -caldac[6] gain=-3.229515(94)e-3 V/bit S_min=567252 dof=6 -caldac[7] gain=-7.9244(48)e-5 V/bit S_min=16.5792 dof=14 -calibration source 0, range 2, ground referenced -reading -8.7301(57)e-4, target 0 -caldac[4] gain=2.36935(79)e-5 V/bit S_min=47.3394 dof=14 -caldac[5] gain=1.0379010(79)e-3 V/bit S_min=26776.1 dof=14 -caldac[6] gain=5.942(79)e-7 V/bit S_min=9.19615 dof=14 -calibration source 3, range 2, ground referenced -reading 0.46077600(58), target 0.46496 -caldac[4] gain=2.36555(79)e-5 V/bit S_min=14.0434 dof=14 -caldac[5] gain=1.037596(12)e-3 V/bit S_min=35710.1 dof=9 -caldac[6] gain=-3.232700(85)e-4 V/bit S_min=2.6715e+06 dof=13 -caldac[7] gain=-7.3574(78)e-6 V/bit S_min=23.3645 dof=14 -calibration source 0, range 3, ground referenced -reading -1.0640(19)e-4, target 0 -caldac[4] gain=2.3668(26)e-6 V/bit S_min=9.19981 dof=14 -caldac[5] gain=1.037799(26)e-4 V/bit S_min=2434.15 dof=14 -caldac[6] gain=6.94(26)e-8 V/bit S_min=8.30868 dof=14 -calibration source 4, range 3, ground referenced -reading 0.04799069(19), target 0.0485985 -caldac[4] gain=2.3611(26)e-6 V/bit S_min=8.72784 dof=14 -caldac[5] gain=1.037657(41)e-4 V/bit S_min=3347.58 dof=8 -caldac[6] gain=-3.21374(37)e-5 V/bit S_min=65354 dof=9 -caldac[7] gain=-7.719(26)e-7 V/bit S_min=12.5684 dof=14 -relative binary: calibration source 1, range 0, ground referenced, calibration source 0, range 0, ground referenced -caldac[6] set to 128 -binary: calibration source 0, range 0, ground referenced -caldac[5] set to 127 -relative binary: calibration source 1, range 0, ground referenced, calibration source 0, range 0, ground referenced -caldac[7] set to 137 -binary: calibration source 0, range 0, ground referenced -caldac[4] set to 153 -relative binary: calibration source 2, range 1, ground referenced, calibration source 0, range 1, ground referenced -caldac[6] set to 131 -binary: calibration source 0, range 1, ground referenced -caldac[5] set to 128 -relative binary: calibration source 2, range 1, ground referenced, calibration source 0, range 1, ground referenced -caldac[7] set to 105 -binary: calibration source 0, range 1, ground referenced -caldac[4] set to 129 -relative binary: calibration source 3, range 2, ground referenced, calibration source 0, range 2, ground referenced -caldac[6] set to 117 -binary: calibration source 0, range 2, ground referenced -caldac[5] set to 128 -relative binary: calibration source 3, range 2, ground referenced, calibration source 0, range 2, ground referenced -caldac[7] set to 113 -binary: calibration source 0, range 2, ground referenced -caldac[4] set to 137 -relative binary: calibration source 4, range 3, ground referenced, calibration source 0, range 3, ground referenced -caldac[6] set to 112 -binary: calibration source 0, range 3, ground referenced -caldac[5] set to 128 -relative binary: calibration source 4, range 3, ground referenced, calibration source 0, range 3, ground referenced -caldac[7] set to 139 -binary: calibration source 0, range 3, ground referenced -caldac[4] set to 145 -writing calibration to /usr/local/var/lib/comedi/calibrations/cb_pcidas64_pci-das6034_comedi0 -calibration source 0, range 0, ground referenced -applied calibration for subdev 0, channel 0, range 0, aref 0 -reading -1.615(74)e-4, target 0 -caldac[4] gain=1.00543(96)e-4 V/bit S_min=82.7998 dof=14 -caldac[5] gain=4.362993(94)e-3 V/bit S_min=3138.62 dof=14 -calibration source 1, range 0, ground referenced -applied calibration for subdev 0, channel 0, range 0, aref 0 -reading 9.9742647(73), target 9.97425 -caldac[4] gain=9.9402(98)e-5 V/bit S_min=50.4821 dof=14 -caldac[5] gain=2.520398(55)e-3 V/bit S_min=3.8095e+08 dof=14 -caldac[6] gain=-3.120775(47)e-3 V/bit S_min=1.188e+09 dof=14 -calibration source 0, range 1, ground referenced -applied calibration for subdev 0, channel 0, range 1, aref 0 -reading 4.80(40)e-5, target 0 -caldac[4] gain=6.0196(48)e-5 V/bit S_min=66.9283 dof=14 -caldac[5] gain=2.612802(47)e-3 V/bit S_min=3349.73 dof=14 -calibration source 2, range 1, ground referenced -applied calibration for subdev 0, channel 0, range 1, aref 0 -reading 4.9686469(36), target 4.96851 -caldac[4] gain=5.9746(48)e-5 V/bit S_min=191.699 dof=14 -caldac[5] gain=1.602438(27)e-3 V/bit S_min=5.42537e+08 dof=14 -caldac[6] gain=-1.605090(23)e-3 V/bit S_min=1.18824e+09 dof=14 -calibration source 0, range 2, ground referenced -applied calibration for subdev 0, channel 0, range 2, aref 0 -reading 1.85(64)e-6, target 0 -caldac[4] gain=2.38721(79)e-5 V/bit S_min=23.3049 dof=14 -caldac[5] gain=1.0450271(79)e-3 V/bit S_min=25711.9 dof=14 -caldac[6] gain=-1.648(79)e-7 V/bit S_min=4.85014 dof=14 -calibration source 3, range 2, ground referenced -applied calibration for subdev 0, channel 0, range 2, aref 0 -reading 0.46500106(57), target 0.46496 -caldac[4] gain=2.38565(79)e-5 V/bit S_min=37.8663 dof=14 -caldac[5] gain=7.666480(55)e-4 V/bit S_min=1.64902e+09 dof=14 -caldac[6] gain=-3.172386(69)e-4 V/bit S_min=5.73333e+06 dof=14 -caldac[7] gain=-7.4892(80)e-6 V/bit S_min=9.71171 dof=14 -calibration source 0, range 3, ground referenced -applied calibration for subdev 0, channel 0, range 3, aref 0 -reading 4.4(19)e-7, target 0 -caldac[4] gain=2.3904(26)e-6 V/bit S_min=8.99778 dof=14 -caldac[5] gain=1.048344(26)e-4 V/bit S_min=2416.64 dof=14 -calibration source 4, range 3, ground referenced -applied calibration for subdev 0, channel 0, range 3, aref 0 -reading 0.04859764(19), target 0.0485985 -caldac[4] gain=2.3845(26)e-6 V/bit S_min=4.39775 dof=14 -caldac[5] gain=6.53838(15)e-5 V/bit S_min=2.94241e+08 dof=14 -caldac[6] gain=-2.52854(17)e-5 V/bit S_min=1.26594e+07 dof=14 -caldac[7] gain=-7.863(26)e-7 V/bit S_min=7.03811 dof=14 -Applied calibration for subdevice 0, channel 0, range 0, aref 0 diff --git a/comedi_calibrate/results/pci-6014 b/comedi_calibrate/results/pci-6014 deleted file mode 100644 index fa0a9d0..0000000 --- a/comedi_calibrate/results/pci-6014 +++ /dev/null @@ -1,131 +0,0 @@ -mbdyn-rt:/home/sechi/comedilib/comedi_calibrate # ./comedi_calibrate -WARNING: unknown eeprom address for reference voltage -correction. This might be fixable if you send us an eeprom dump -(see the demo/eeprom_dump program). -Warning: device may not be not fully calibrated due to insufficient information. -Please file a bug report at https://bugs.comedi.org/ and attach this output. -This output will also allow comedi_calibrate to execute more -quickly in the future. -Forcing option: --verbose -Forcing options: --reset --dump --no-calibrate --no-results -Id: comedi_calibrate.c,v 1.92 2004/03/29 01:34:15 fmhess Exp -Driver name: ni_pcimio -Device name: pci-6014 -Id: ni.c,v 1.115 2004/05/22 01:08:48 fmhess Exp -Comedi version: 0.7.68 -ai, bipolar zero offset, low gain -reading 0.017656(16), target 0 -caldac[0] gain=-5.768(11)e-5 V/bit S_min=10.3056 dof=14 -caldac[2] gain=-3.13(11)e-6 V/bit S_min=0.921059 dof=14 -caldac[4] gain=-6.2683(11)e-4 V/bit S_min=55.8791 dof=14 -caldac[8] gain=-1.01(11)e-6 V/bit S_min=1.45739 dof=14 -ai, bipolar zero offset, high gain -reading 8.7501(28)e-4, target 0 -caldac[0] gain=-5.67757(39)e-5 V/bit S_min=140.21 dof=14 -caldac[2] gain=4.43(39)e-8 V/bit S_min=6.16357 dof=14 -caldac[4] gain=-3.1322(39)e-6 V/bit S_min=2.45954 dof=14 -caldac[8] gain=-9.759(39)e-7 V/bit S_min=1.34279 dof=14 -ai, bipolar voltage reference, low gain -reading 5.0101744(75), target 5 -caldac[0] gain=-5.699(11)e-5 V/bit S_min=20.6668 dof=14 -caldac[2] gain=3.5617(11)e-4 V/bit S_min=192.542 dof=14 -caldac[4] gain=-6.2683(11)e-4 V/bit S_min=36.8218 dof=14 -caldac[8] gain=-8.7(10)e-7 V/bit S_min=0.91184 dof=14 -ao 0, zero offset, low gain -reading 6.452(87)e-4, target 0.00015259 -caldac[0] gain=-5.759(12)e-5 V/bit S_min=23.5811 dof=14 -caldac[2] gain=-4.34(12)e-6 V/bit S_min=1.48953 dof=14 -caldac[4] gain=-6.2662(12)e-4 V/bit S_min=55.6746 dof=14 -caldac[6] gain=-1.04453(12)e-3 V/bit S_min=116.539 dof=14 -caldac[8] gain=-9.5(12)e-7 V/bit S_min=0.835527 dof=14 -caldac[10] gain=-1.0048(12)e-4 V/bit S_min=10.8132 dof=14 -ao 0, reference voltage, low gain -reading 7.9836195(94), target 8.00015 -caldac[0] gain=-5.799(12)e-5 V/bit S_min=16.1238 dof=14 -caldac[2] gain=5.7015(12)e-4 V/bit S_min=334.607 dof=14 -caldac[4] gain=-6.2677(12)e-4 V/bit S_min=46.0133 dof=14 -caldac[6] gain=-1.04468(12)e-3 V/bit S_min=109.296 dof=14 -caldac[7] gain=-1.56748(12)e-3 V/bit S_min=72.6876 dof=14 -caldac[8] gain=-8.5(11)e-7 V/bit S_min=2.03799 dof=14 -caldac[10] gain=-1.0072(12)e-4 V/bit S_min=10.5832 dof=14 -caldac[11] gain=-1.2026(12)e-4 V/bit S_min=7.25575 dof=14 -ao 0, linearity (mid), low gain -reading 3.9921535(80), target 4.00015 -caldac[0] gain=-5.796(12)e-5 V/bit S_min=22.5702 dof=14 -caldac[2] gain=2.8288(12)e-4 V/bit S_min=107.619 dof=14 -caldac[3] gain=-4.7(11)e-7 V/bit S_min=1.37003 dof=14 -caldac[4] gain=-6.2670(12)e-4 V/bit S_min=34.8243 dof=14 -caldac[6] gain=-1.04468(12)e-3 V/bit S_min=100.675 dof=14 -caldac[7] gain=-7.8375(12)e-4 V/bit S_min=22.6948 dof=14 -caldac[8] gain=-10.0(11)e-7 V/bit S_min=0.986251 dof=14 -caldac[10] gain=-1.0071(12)e-4 V/bit S_min=15.8146 dof=14 -caldac[11] gain=-6.028(12)e-5 V/bit S_min=5.13472 dof=14 -ao 1, zero offset, low gain -reading 2.7344(80)e-3, target 0.00015259 -caldac[0] gain=-5.752(12)e-5 V/bit S_min=22.8584 dof=14 -caldac[1] gain=-1.0003(12)e-4 V/bit S_min=10.4798 dof=14 -caldac[2] gain=-4.04(12)e-6 V/bit S_min=0.465639 dof=14 -caldac[3] gain=-7.9(11)e-7 V/bit S_min=0.907061 dof=14 -caldac[4] gain=-6.2674(12)e-4 V/bit S_min=51.6414 dof=14 -caldac[8] gain=-9.3(11)e-7 V/bit S_min=0.920044 dof=14 -caldac[9] gain=-1.04284(12)e-3 V/bit S_min=135.769 dof=14 -ao 1, reference voltage, low gain -reading 7.9737756(95), target 8.00015 -caldac[0] gain=-5.769(12)e-5 V/bit S_min=32.723 dof=14 -caldac[1] gain=-1.0020(12)e-4 V/bit S_min=16.6388 dof=14 -caldac[2] gain=5.6944(12)e-4 V/bit S_min=342.563 dof=14 -caldac[3] gain=-1.56801(12)e-3 V/bit S_min=298.429 dof=14 -caldac[4] gain=-6.2670(12)e-4 V/bit S_min=22.2871 dof=14 -caldac[5] gain=-1.2067(12)e-4 V/bit S_min=4.72096 dof=14 -caldac[8] gain=-9.6(12)e-7 V/bit S_min=1.49009 dof=14 -caldac[9] gain=-1.04266(12)e-3 V/bit S_min=125.881 dof=14 -ao 1, linearity (mid), low gain -reading 3.9882860(82), target 4.00015 -caldac[0] gain=-5.768(12)e-5 V/bit S_min=32.4881 dof=14 -caldac[1] gain=-1.0019(12)e-4 V/bit S_min=9.26381 dof=14 -caldac[2] gain=2.8245(12)e-4 V/bit S_min=78.7483 dof=14 -caldac[3] gain=-7.8421(12)e-4 V/bit S_min=80.6435 dof=14 -caldac[4] gain=-6.2676(12)e-4 V/bit S_min=54.1094 dof=14 -caldac[5] gain=-6.025(12)e-5 V/bit S_min=4.15581 dof=14 -caldac[8] gain=-9.2(11)e-7 V/bit S_min=1.56265 dof=14 -caldac[9] gain=-1.04275(12)e-3 V/bit S_min=139.837 dof=14 -Failed to apply calibration for subdevice 0, channel 0, range 0, aref 0 - - - - -mbdyn-rt:/home/sechi/comedilib/demo # ./eeprom_dump -0000: ffffffffffffffffffffffffffffffff ................ -0010: ffffffffffffffffffffffffffffffff ................ -0020: ffffffffffffffffffffffffffffffff ................ -0030: ffffffffffffffffffffffffffffffff ................ -0040: ffffffffffffffffffffffffffffffff ................ -0050: ffffffffffffffffffffffffffffffff ................ -0060: ffffffffffffffffffffffffffffffff ................ -0070: ffffffffffffffffffffffffffffffff ................ -0080: ffffffffffffffffffffffffffffffff ................ -0090: ffffffffffffffffffffffffffffffff ................ -00a0: ffffffffffffffffffffffffffffffff ................ -00b0: ffffffffffffffffffffffffffffffff ................ -00c0: ffffffffffffffffffffffffffff0000 ................ -00d0: 000000000000000000000000e239bdbc .............9.. -00e0: 000000000000e239bdbc000000000049 .......9.......I -00f0: 00540041004e0000000000000049004e .T.A.N.......I.N -0100: 30144ea0a44d10003d2e033ca01b380c 0.N..M..=..<..8. -0110: 000c0000000000000000000000000000 ................ -0120: 00000000000000000000000000000000 ................ -0130: 00000000000000000000000000000000 ................ -0140: 00000000000000000000000000000000 ................ -0150: 00000000000000000000000000000000 ................ -0160: 000000000000747c71847c6f807e998b ......t|q.|o.~.. -0170: 8c935f00000000000000a601aa01ac01 .._............. -0180: 00000000000000000000000000000000 ................ -0190: 00000000000000000000000000000074 ...............t -01a0: 7c71847c6f807e998b8c935f00624161 |q.|o.~...._.bAa -01b0: 416161ad456541026542026742020c03 Aaa.EeA.eB.gB... -01c0: 0e0309010a0b08090601070b05090201 ................ -01d0: 01080b000403ff000000012511010608 ...........%.... -01e0: 0808040101000c010804105001001002 ...........P.... -01f0: 011001100a000a0bdf010405d407036f ...............o - - diff --git a/comedi_calibrate/results/pci-6023e b/comedi_calibrate/results/pci-6023e deleted file mode 100644 index e02e7ca..0000000 --- a/comedi_calibrate/results/pci-6023e +++ /dev/null @@ -1,67 +0,0 @@ -Warning: device not fully calibrated due to insufficient information -Please send this output to -Id: comedi_calibrate.c,v 1.36 2002/06/12 23:19:39 ds Exp -Driver name: ni_pcimio -Device name: pci-6023e -Id: ni.c,v 1.30 2002/06/12 23:19:39 ds Exp -Comedi version: 0.7.65 -ai, bipolar zero offset, low gain -offset -0.012248(38), target 0 -caldac[0] gain=-1.20044(52)e-4 V/bit S_min=60353.2 dof=254 -caldac[1] gain= V/bit S_min=inf dof=254 -caldac[2] gain= V/bit S_min=inf dof=254 -caldac[3] gain= V/bit S_min=inf dof=254 -caldac[4] gain=-7.68330(56)e-4 V/bit S_min=57620.1 dof=254 -caldac[5] gain= V/bit S_min=inf dof=254 -caldac[6] gain= V/bit S_min=inf dof=254 -caldac[7] gain= V/bit S_min=inf dof=254 -caldac[8] gain= V/bit S_min=inf dof=254 -caldac[9] gain=-2.47(13)e-9 V/bit S_min=65407.1 dof=254 -caldac[10] gain= V/bit S_min=inf dof=254 -caldac[11] gain= V/bit S_min=inf dof=254 -ai, bipolar zero offset, high gain -offset 3.3644(13)e-3, target 0 -caldac[0] gain=-1.187088(26)e-4 V/bit S_min=3096.05 dof=254 -caldac[2] gain=-4.007(12)e-7 V/bit S_min=323.641 dof=254 -caldac[4] gain=-3.8457(12)e-6 V/bit S_min=329.221 dof=254 -caldac[8] gain=-2.0504(12)e-6 V/bit S_min=287.303 dof=254 -ai, bipolar voltage reference, low gain -offset 4.998779( 0), target 5 -caldac[0] gain=-1.21374(54)e-4 V/bit S_min=58731.7 dof=254 -caldac[2] gain=-5.98461(60)e-4 V/bit S_min=48971.1 dof=254 -caldac[4] gain=-7.64458(58)e-4 V/bit S_min=54496.4 dof=254 -caldac[8] gain=-2.90(17)e-7 V/bit S_min=753.706 dof=254 -postgain: ai, bipolar zero offset, low gain; ai, bipolar zero offset, high -gain -caldac[4] gain=-7.68318(55)e-4 V/bit S_min=59349.6 dof=254 -caldac[4] gain=-3.8481(12)e-6 V/bit S_min=323.478 dof=254 -caldac[4] set to 106 (106.442) -linear: ai, bipolar zero offset, high gain -caldac[0] gain=-1.186974(26)e-4 V/bit S_min=2972.99 dof=254 -caldac[0] set to 157 (157.229) -linear: ai, bipolar voltage reference, low gain -caldac[2] gain=-5.99000(59)e-4 V/bit S_min=51115.6 dof=254 -caldac[2] set to 145 (145.074) -ai, bipolar zero offset, low gain -offset 1.87(14)e-3, target 0 -caldac[0] gain=-1.23059(58)e-4 V/bit S_min=54266.7 dof=254 -caldac[2] gain=2.68(13)e-6 V/bit S_min=843.073 dof=254 -caldac[4] gain=-7.66774(56)e-4 V/bit S_min=58642.8 dof=254 -caldac[8] gain=-6.87(12)e-6 V/bit S_min=1365.67 dof=254 -ai, bipolar zero offset, high gain -offset -1.114(13)e-4, target 0 -caldac[0] gain=-1.184377(26)e-4 V/bit S_min=2980.93 dof=254 -caldac[2] gain=1.80(12)e-8 V/bit S_min=273.599 dof=254 -caldac[4] gain=-3.8415(12)e-6 V/bit S_min=613.354 dof=254 -caldac[8] gain=-2.0597(12)e-6 V/bit S_min=543.625 dof=254 -ai, bipolar voltage reference, low gain -offset 4.998779( 0), target 5 -caldac[0] gain=-1.22230(53)e-4 V/bit S_min=57428.6 dof=254 -caldac[1] gain=-3.21(13)e-9 V/bit S_min=65141.7 dof=254 -caldac[2] gain=-5.99181(58)e-4 V/bit S_min=52709.2 dof=254 -caldac[3] gain=1.61(25)e-9 V/bit S_min=32726.9 dof=254 -caldac[4] gain=-7.63735(56)e-4 V/bit S_min=60697.6 dof=254 -caldac[5] gain=-5.35(50)e-9 V/bit S_min=16141.6 dof=254 -caldac[7] gain=3.15(13)e-9 V/bit S_min=65163.8 dof=254 -caldac[8] gain=-3.40(13)e-9 V/bit S_min=65061.7 dof=254 -caldac[9] gain=-6.10(38)e-9 V/bit S_min=21497.1 dof=254 diff --git a/comedi_calibrate/results/pci-6024e b/comedi_calibrate/results/pci-6024e deleted file mode 100644 index 2584ef2..0000000 --- a/comedi_calibrate/results/pci-6024e +++ /dev/null @@ -1,170 +0,0 @@ -eeprom reference lsb=244 msb=255 -resulting reference voltage: 4.99999 -Warning: device may not be not fully calibrated due to insufficient information. -Please file a bug report at https://bugs.comedi.org/ and attach this output. -This output will also allow comedi_calibrate to execute more -quickly in the future. -Forcing option: --verbose -Forcing options: --reset --dump --calibrate --results -Id: comedi_calibrate.c,v 1.92 2004/03/29 01:34:15 fmhess Exp -Driver name: ni_pcimio -Device name: pci-6024e -Id: ni.c,v 1.136 2005/09/09 01:06:25 fmhess Exp -Comedi version: 0.7.70 -ai, bipolar zero offset, low gain -reading 0.029232(87), target 0 -caldac[0] gain=-1.176(12)e-4 V/bit S_min=1.56105 dof=14 -caldac[4] gain=-7.746(12)e-4 V/bit S_min=9.60921 dof=14 -ai, bipolar zero offset, high gain -reading 2.6042(64)e-4, target 0 -caldac[0] gain=-1.182947(87)e-4 V/bit S_min=519.555 dof=14 -caldac[4] gain=-3.8679(87)e-6 V/bit S_min=2.66936 dof=14 -caldac[8] gain=-2.0382(88)e-6 V/bit S_min=1.1106 dof=14 -ai, bipolar voltage reference, low gain -reading 5.026595(86), target 4.99999 -caldac[0] gain=-1.133(12)e-4 V/bit S_min=6.12079 dof=14 -caldac[2] gain=-5.753(12)e-4 V/bit S_min=23.6343 dof=14 -caldac[4] gain=-7.701(12)e-4 V/bit S_min=7.8218 dof=14 -ao 0, zero offset, low gain -reading 0.022865(84), target 0.002442 -caldac[0] gain=-1.168(12)e-4 V/bit S_min=1.88818 dof=14 -caldac[4] gain=-7.752(12)e-4 V/bit S_min=7.0134 dof=14 -caldac[6] gain=-7.809(12)e-4 V/bit S_min=4.66646 dof=14 -caldac[10] gain=-1.158(12)e-4 V/bit S_min=1.64498 dof=14 -ao 0, reference voltage, low gain -reading 8.029337(86), target 8.00244 -caldac[0] gain=-1.177(12)e-4 V/bit S_min=0.85016 dof=14 -caldac[2] gain=-9.273(12)e-4 V/bit S_min=39.3068 dof=14 -caldac[4] gain=-7.742(12)e-4 V/bit S_min=2.03086 dof=14 -caldac[6] gain=-7.795(12)e-4 V/bit S_min=3.40193 dof=14 -caldac[10] gain=-1.771(12)e-4 V/bit S_min=1.47652 dof=14 -caldac[11] gain=-2.597(12)e-4 V/bit S_min=1.1089 dof=14 -ao 0, linearity (mid), low gain -reading 4.025956(87), target 4.00244 -caldac[0] gain=-1.184(12)e-4 V/bit S_min=0.96322 dof=14 -caldac[2] gain=-4.623(12)e-4 V/bit S_min=13.4655 dof=14 -caldac[4] gain=-7.712(12)e-4 V/bit S_min=1.8761 dof=14 -caldac[6] gain=-7.760(12)e-4 V/bit S_min=1.2733 dof=14 -caldac[10] gain=-1.613(12)e-4 V/bit S_min=0.40564 dof=14 -caldac[11] gain=-1.299(12)e-4 V/bit S_min=1.28949 dof=14 -ao 1, zero offset, low gain -reading 0.047505(87), target 0.002442 -caldac[0] gain=-1.180(12)e-4 V/bit S_min=1.59769 dof=14 -caldac[1] gain=-1.155(12)e-4 V/bit S_min=0.958024 dof=14 -caldac[4] gain=-7.751(12)e-4 V/bit S_min=6.40186 dof=14 -caldac[9] gain=-7.782(12)e-4 V/bit S_min=13.1514 dof=14 -ao 1, reference voltage, low gain -reading 8.055436(86), target 8.00244 -caldac[0] gain=-1.175(12)e-4 V/bit S_min=0.786708 dof=14 -caldac[1] gain=-1.769(12)e-4 V/bit S_min=1.16282 dof=14 -caldac[2] gain=-9.299(12)e-4 V/bit S_min=40.0402 dof=14 -caldac[4] gain=-7.737(12)e-4 V/bit S_min=3.53267 dof=14 -caldac[5] gain=-2.596(12)e-4 V/bit S_min=0.914595 dof=14 -caldac[9] gain=-7.776(12)e-4 V/bit S_min=5.69436 dof=14 -ao 1, linearity (mid), low gain -reading 4.051516(85), target 4.00244 -caldac[0] gain=-1.183(12)e-4 V/bit S_min=1.09631 dof=14 -caldac[1] gain=-1.614(12)e-4 V/bit S_min=1.67152 dof=14 -caldac[2] gain=-4.640(12)e-4 V/bit S_min=9.11251 dof=14 -caldac[4] gain=-7.709(12)e-4 V/bit S_min=2.18383 dof=14 -caldac[5] gain=-1.307(12)e-4 V/bit S_min=0.651125 dof=14 -caldac[9] gain=-7.738(12)e-4 V/bit S_min=6.27676 dof=14 -relative binary: ai, bipolar zero offset, low gain, ai, bipolar voltage reference, low gain -caldac[2] set to 123 -relative binary: ai, bipolar zero offset, low gain, ai, bipolar zero offset, high gain -caldac[4] set to 164 -binary: ai, bipolar zero offset, high gain -caldac[0] set to 127 -binary: ai, bipolar zero offset, high gain -caldac[8] set to 183 -linearity binary: ao 0, zero offset, low gain, -ao 0, linearity (mid), low gain, -ao 0, reference voltage, low gain -caldac[10] set to 138 -binary: ao 0, zero offset, low gain -caldac[6] set to 114 -binary: ao 0, reference voltage, low gain -caldac[11] set to 165 -linearity binary: ao 1, zero offset, low gain, -ao 1, linearity (mid), low gain, -ao 1, reference voltage, low gain -caldac[1] set to 127 -binary: ao 1, zero offset, low gain -caldac[9] set to 147 -binary: ao 1, reference voltage, low gain -caldac[5] set to 175 -writing calibration to /usr/local/var/lib/comedi/calibrations/ni_pcimio_pci-6024e_comedi0 -ai, bipolar zero offset, low gain -applied calibration for subdev 0, channel 0, range 0, aref 3 -reading 1.57(89)e-4, target 0 -caldac[0] gain=-1.238(12)e-4 V/bit S_min=8.92001 dof=14 -caldac[4] gain=-7.759(12)e-4 V/bit S_min=12.673 dof=14 -ai, bipolar zero offset, high gain -applied calibration for subdev 0, channel 0, range 3, aref 3 -reading 7.2(67)e-7, target 0 -caldac[0] gain=-1.183379(87)e-4 V/bit S_min=497.471 dof=14 -caldac[4] gain=-3.8764(88)e-6 V/bit S_min=2.59514 dof=14 -caldac[8] gain=-2.0601(88)e-6 V/bit S_min=2.85619 dof=14 -ai, bipolar voltage reference, low gain -applied calibration for subdev 0, channel 5, range 0, aref 3 -reading 5.000486(83), target 4.99999 -caldac[0] gain=-1.209(12)e-4 V/bit S_min=5.95325 dof=14 -caldac[2] gain=-5.724(11)e-4 V/bit S_min=9.53658 dof=14 -caldac[4] gain=-7.707(12)e-4 V/bit S_min=8.39882 dof=14 -ao 0, zero offset, low gain -applied calibration for subdev 1, channel 0, range 0, aref 0 -applied calibration for subdev 0, channel 2, range 0, aref 3 -reading 3.129(93)e-3, target 0.002442 -caldac[0] gain=-1.233(12)e-4 V/bit S_min=6.87263 dof=14 -caldac[4] gain=-7.755(12)e-4 V/bit S_min=10.4787 dof=14 -caldac[6] gain=-7.812(12)e-4 V/bit S_min=7.71422 dof=14 -caldac[10] gain=-1.220(12)e-4 V/bit S_min=8.50866 dof=14 -ao 0, reference voltage, low gain -applied calibration for subdev 1, channel 0, range 0, aref 0 -applied calibration for subdev 0, channel 2, range 0, aref 3 -reading 8.002528(86), target 8.00244 -caldac[0] gain=-1.187(12)e-4 V/bit S_min=1.59891 dof=14 -caldac[2] gain=-9.236(12)e-4 V/bit S_min=38.2312 dof=14 -caldac[4] gain=-7.749(12)e-4 V/bit S_min=2.6078 dof=14 -caldac[6] gain=-7.795(12)e-4 V/bit S_min=1.67777 dof=14 -caldac[10] gain=-1.786(12)e-4 V/bit S_min=1.84272 dof=14 -caldac[11] gain=-2.603(12)e-4 V/bit S_min=2.76891 dof=14 -ao 0, linearity (mid), low gain -applied calibration for subdev 1, channel 0, range 0, aref 0 -applied calibration for subdev 0, channel 2, range 0, aref 3 -reading 4.002719(85), target 4.00244 -caldac[0] gain=-1.190(12)e-4 V/bit S_min=0.920085 dof=14 -caldac[2] gain=-4.588(12)e-4 V/bit S_min=10.1437 dof=14 -caldac[4] gain=-7.713(12)e-4 V/bit S_min=3.95375 dof=14 -caldac[6] gain=-7.778(12)e-4 V/bit S_min=3.75289 dof=14 -caldac[10] gain=-1.611(12)e-4 V/bit S_min=0.720738 dof=14 -caldac[11] gain=-1.295(12)e-4 V/bit S_min=0.763158 dof=14 -ao 1, zero offset, low gain -applied calibration for subdev 1, channel 1, range 0, aref 0 -applied calibration for subdev 0, channel 3, range 0, aref 3 -reading 3.448(89)e-3, target 0.002442 -caldac[0] gain=-1.232(12)e-4 V/bit S_min=5.6879 dof=14 -caldac[1] gain=-1.224(12)e-4 V/bit S_min=6.75919 dof=14 -caldac[4] gain=-7.754(12)e-4 V/bit S_min=8.34611 dof=14 -caldac[9] gain=-7.793(12)e-4 V/bit S_min=12.611 dof=14 -ao 1, reference voltage, low gain -applied calibration for subdev 1, channel 1, range 0, aref 0 -applied calibration for subdev 0, channel 3, range 0, aref 3 -reading 8.002399(88), target 8.00244 -caldac[0] gain=-1.179(12)e-4 V/bit S_min=1.52721 dof=14 -caldac[1] gain=-1.774(12)e-4 V/bit S_min=0.777603 dof=14 -caldac[2] gain=-9.237(12)e-4 V/bit S_min=39.6389 dof=14 -caldac[4] gain=-7.744(12)e-4 V/bit S_min=2.67727 dof=14 -caldac[5] gain=-2.605(12)e-4 V/bit S_min=1.53475 dof=14 -caldac[9] gain=-7.777(12)e-4 V/bit S_min=8.5348 dof=14 -ao 1, linearity (mid), low gain -applied calibration for subdev 1, channel 1, range 0, aref 0 -applied calibration for subdev 0, channel 3, range 0, aref 3 -reading 4.002862(87), target 4.00244 -caldac[0] gain=-1.177(12)e-4 V/bit S_min=0.832675 dof=14 -caldac[1] gain=-1.609(12)e-4 V/bit S_min=0.821793 dof=14 -caldac[2] gain=-4.590(12)e-4 V/bit S_min=13.6751 dof=14 -caldac[4] gain=-7.713(12)e-4 V/bit S_min=4.8925 dof=14 -caldac[5] gain=-1.306(12)e-4 V/bit S_min=1.46232 dof=14 -caldac[9] gain=-7.751(12)e-4 V/bit S_min=5.65103 dof=14 -Applied calibration for subdevice 0, channel 0, range 0, aref 0 diff --git a/comedi_calibrate/results/pci-6025e b/comedi_calibrate/results/pci-6025e deleted file mode 100644 index e7d1a4d..0000000 --- a/comedi_calibrate/results/pci-6025e +++ /dev/null @@ -1,140 +0,0 @@ -Warning: device not fully calibrated due to insufficient information -Please send this output to -$Id$ -Driver name: ni_pcimio -Device name: pci-6025e -Comedi version: 0.7.63 -ai, bipolar zero offset, low gain -offset -0.01343(26), target 0 -caldac[0] gain=-2.23(21)e-6 V/bit S_min=233.49 dof=254 -caldac[1] gain=-7.7387(22)e-4 V/bit S_min=931.922 dof=254 -caldac[3] gain=1.93(21)e-6 V/bit S_min=249.617 dof=254 -ai, bipolar zero offset, high gain -offset 8.8729(20)e-3, target 0 -caldac[0] gain=-2.0585(15)e-6 V/bit S_min=279.627 dof=254 -caldac[1] gain=-3.8289(15)e-6 V/bit S_min=312.432 dof=254 -caldac[3] gain=-1.0756(15)e-6 V/bit S_min=350.288 dof=254 -ai, bipolar voltage reference, low gain -offset 4.99603(25), target 5 -caldac[0] gain=-1.64(21)e-6 V/bit S_min=297.752 dof=254 -caldac[1] gain=-7.5701(21)e-4 V/bit S_min=1327.63 dof=254 -caldac[3] gain=-6.0114(21)e-4 V/bit S_min=813.714 dof=254 -(null) -offset 6.96242(24), target 0 -caldac[0] gain=-1.13028(21)e-3 V/bit S_min=6676.08 dof=254 -caldac[1] gain=-1.68982(21)e-3 V/bit S_min=3351.07 dof=254 -caldac[2] gain=-7.9273(21)e-4 V/bit S_min=1560.11 dof=254 -caldac[3] gain=-1.33706(22)e-3 V/bit S_min=5008.37 dof=254 -caldac[4] gain=-6.2633(21)e-4 V/bit S_min=919.464 dof=254 -caldac[5] gain=-5.7213(21)e-4 V/bit S_min=849.526 dof=254 -caldac[6] gain=-5.3020(21)e-4 V/bit S_min=461.504 dof=254 -caldac[7] gain=-4.9135(21)e-4 V/bit S_min=556.227 dof=254 -caldac[8] gain=-4.6718(21)e-4 V/bit S_min=586.265 dof=254 -caldac[9] gain=-4.4122(21)e-4 V/bit S_min=289.969 dof=254 -caldac[10] gain=-4.1989(21)e-4 V/bit S_min=304.064 dof=254 -caldac[11] gain=-4.0530(21)e-4 V/bit S_min=386.4 dof=254 -ao 0, zero offset, low gain -offset -0.01984(25), target 0.002442 -caldac[0] gain=-1.44(21)e-6 V/bit S_min=255.879 dof=254 -caldac[1] gain=-7.7369(22)e-4 V/bit S_min=989.094 dof=254 -caldac[3] gain=2.85(21)e-6 V/bit S_min=210.052 dof=254 -caldac[4] gain=-1.1383(21)e-4 V/bit S_min=290.896 dof=254 -caldac[5] gain=-7.7399(22)e-4 V/bit S_min=1109.97 dof=254 -ao 0, reference voltage, low gain -offset 8.28(26)e-3, target -0.001221 -caldac[0] gain=-1.96(21)e-6 V/bit S_min=216.597 dof=254 -caldac[1] gain=-7.7504(22)e-4 V/bit S_min=671.585 dof=254 -caldac[4] gain=-1.5839(22)e-4 V/bit S_min=426.915 dof=254 -caldac[5] gain=-7.7530(21)e-4 V/bit S_min=919.625 dof=254 -ao 1, zero offset, low gain -offset -0.02892(26), target 0.002442 -caldac[0] gain=-2.08(21)e-6 V/bit S_min=297.96 dof=254 -caldac[1] gain=-7.7257(21)e-4 V/bit S_min=1036.75 dof=254 -caldac[3] gain=3.75(21)e-6 V/bit S_min=215.786 dof=254 -caldac[7] gain=-1.1511(21)e-4 V/bit S_min=297.179 dof=254 -caldac[8] gain=-7.7376(21)e-4 V/bit S_min=917.556 dof=254 -ao 1, reference voltage, low gain -offset -0.02610(25), target -0.001221 -caldac[0] gain=-2.06(21)e-6 V/bit S_min=256.803 dof=254 -caldac[1] gain=-7.7311(21)e-4 V/bit S_min=961.575 dof=254 -caldac[3] gain=3.57(21)e-6 V/bit S_min=231.536 dof=254 -caldac[7] gain=-1.5380(21)e-4 V/bit S_min=243.77 dof=254 -caldac[8] gain=-7.7419(21)e-4 V/bit S_min=874.129 dof=254 -caldac[9] gain=-1.6373(21)e-4 V/bit S_min=269.088 dof=254 -postgain: ai, bipolar zero offset, low gain; ai, bipolar zero offset, high gain -caldac[1] gain=-7.7403(21)e-4 V/bit S_min=775.671 dof=254 -caldac[1] gain=-3.8324(15)e-6 V/bit S_min=291.11 dof=254 -caldac[1] set to 99 (99.1716) -linear: ai, bipolar zero offset, high gain -caldac[0] gain=-2.0507(15)e-6 V/bit S_min=302.141 dof=254 -caldac set out of range (4505>255) -caldac[0] set to 4505 (4504.93) -linear: ai, bipolar voltage reference, low gain -caldac[3] gain=-6.0171(21)e-4 V/bit S_min=1178.8 dof=254 -caldac[3] set to 156 (156.247) -linear: ao 0, zero offset, low gain -caldac[4] gain=-1.1886(21)e-4 V/bit S_min=351.103 dof=254 -caldac[4] set to 119 (118.933) -linear: ao 0, reference voltage, low gain -caldac[5] gain=-7.7267(22)e-4 V/bit S_min=893.237 dof=254 -caldac[5] set to 168 (168.396) -linear: ao 1, zero offset, low gain -caldac[8] gain=-7.7305(21)e-4 V/bit S_min=748.1 dof=254 -caldac[8] set to 115 (114.729) -linear: ao 1, reference voltage, low gain -caldac[9] gain=-1.6735(22)e-4 V/bit S_min=419.204 dof=254 -caldac[9] set to 163 (162.774) -ai, bipolar zero offset, low gain -offset 8.51(24)e-3, target 0 -caldac[0] gain=-1.78(21)e-6 V/bit S_min=215.029 dof=254 -caldac[1] gain=-7.7131(21)e-4 V/bit S_min=753.762 dof=254 -ai, bipolar zero offset, high gain -offset 8.6842(17)e-3, target 0 -caldac[0] gain=-2.0462(15)e-6 V/bit S_min=268.357 dof=254 -caldac[1] gain=-3.8184(15)e-6 V/bit S_min=315.928 dof=254 -caldac[3] gain=-1.0696(15)e-6 V/bit S_min=400.31 dof=254 -ai, bipolar voltage reference, low gain -offset 4.99977(22), target 5 -caldac[0] gain=-2.48(21)e-6 V/bit S_min=260.761 dof=254 -caldac[1] gain=-7.5579(21)e-4 V/bit S_min=1347.4 dof=254 -caldac[3] gain=-6.0228(21)e-4 V/bit S_min=1185.29 dof=254 -(null) -offset 3.80716(22), target 0 -caldac[0] gain=-4.5320(21)e-4 V/bit S_min=242.76 dof=254 -caldac[1] gain=-1.18959(21)e-3 V/bit S_min=302.09 dof=254 -caldac[2] gain=-4.0973(21)e-4 V/bit S_min=314.556 dof=254 -caldac[3] gain=-7.6729(21)e-4 V/bit S_min=1374.88 dof=254 -caldac[4] gain=-3.7862(21)e-4 V/bit S_min=317.8 dof=254 -caldac[5] gain=-3.7079(21)e-4 V/bit S_min=395.505 dof=254 -caldac[6] gain=-3.5913(21)e-4 V/bit S_min=398.014 dof=254 -caldac[7] gain=-3.4752(21)e-4 V/bit S_min=328.983 dof=254 -caldac[8] gain=-3.3864(21)e-4 V/bit S_min=316.578 dof=254 -caldac[9] gain=-3.3065(21)e-4 V/bit S_min=313.456 dof=254 -caldac[10] gain=-3.2323(21)e-4 V/bit S_min=271.156 dof=254 -caldac[11] gain=-3.1661(21)e-4 V/bit S_min=270.249 dof=254 -ao 0, zero offset, low gain -offset -0.02938(26), target 0.002442 -caldac[0] gain=-2.27(21)e-6 V/bit S_min=252.397 dof=254 -caldac[1] gain=-7.6774(22)e-4 V/bit S_min=1035.99 dof=254 -caldac[3] gain=3.98(21)e-6 V/bit S_min=247.9 dof=254 -caldac[4] gain=-1.1364(21)e-4 V/bit S_min=276.954 dof=254 -caldac[5] gain=-7.7285(21)e-4 V/bit S_min=838.8 dof=254 -ao 0, reference voltage, low gain -offset -1.87(25)e-3, target -0.001221 -caldac[0] gain=-2.17(21)e-6 V/bit S_min=289.112 dof=254 -caldac[1] gain=-7.7046(22)e-4 V/bit S_min=868.735 dof=254 -caldac[4] gain=-1.5721(21)e-4 V/bit S_min=407.363 dof=254 -caldac[5] gain=-7.7263(21)e-4 V/bit S_min=872.881 dof=254 -ao 1, zero offset, low gain -offset 1.68(25)e-3, target 0.002442 -caldac[0] gain=-2.25(22)e-6 V/bit S_min=306.047 dof=254 -caldac[1] gain=-7.7066(21)e-4 V/bit S_min=979.649 dof=254 -caldac[7] gain=-1.1895(21)e-4 V/bit S_min=374.344 dof=254 -caldac[8] gain=-7.7338(21)e-4 V/bit S_min=809.456 dof=254 -ao 1, reference voltage, low gain -offset -2.02(24)e-3, target -0.001221 -caldac[0] gain=-2.07(21)e-6 V/bit S_min=295.607 dof=254 -caldac[1] gain=-7.7000(21)e-4 V/bit S_min=892.067 dof=254 -caldac[7] gain=-1.5713(21)e-4 V/bit S_min=390.915 dof=254 -caldac[8] gain=-7.7292(21)e-4 V/bit S_min=765.604 dof=254 -caldac[9] gain=-1.6707(21)e-4 V/bit S_min=449.274 dof=254 diff --git a/comedi_calibrate/results/pci-6031e b/comedi_calibrate/results/pci-6031e deleted file mode 100644 index b0fee3b..0000000 --- a/comedi_calibrate/results/pci-6031e +++ /dev/null @@ -1,391 +0,0 @@ -eeprom reference lsb=42 msb=255 -resulting reference voltage: 4.99979 -Warning: device may not be not fully calibrated due to insufficient information. -Please file a bug report at http://bugs.comedi.org/ and attach this output. -This output will also allow comedi_calibrate to execute more -quickly in the future. -Forcing option: --verbose -Forcing options: --reset --dump --calibrate --results -Id: comedi_calibrate.c,v 1.88 2003/07/19 19:16:41 fmhess Exp -Driver name: ni_pcimio -Device name: pci-6031e -Id: ni.c,v 1.95 2003/07/20 05:10:13 fmhess Exp -Comedi version: 0.7.66 -ai, bipolar zero offset, low gain -reading 5.99(24)e-3, target 0 -caldac[2] gain=4.04879(67)e-4 V/bit S_min=70.834 dof=14 -caldac[3] gain=4.054(67)e-6 V/bit S_min=2.98949 dof=14 -caldac[8] gain=6.328(42)e-7 V/bit S_min=2.35067 dof=14 -ai, bipolar zero offset, high gain -reading 3.3853(20)e-4, target 0 -caldac[2] gain=4.0501(28)e-6 V/bit S_min=5.18433 dof=14 -caldac[3] gain=3.84(27)e-8 V/bit S_min=1.50076 dof=14 -caldac[8] gain=6.2321(18)e-7 V/bit S_min=4.20467 dof=14 -ai, bipolar voltage reference, low gain -reading 5.0086923(57), target 4.99979 -caldac[0] gain=-4.5898(67)e-5 V/bit S_min=17.5935 dof=14 -caldac[1] gain=-2.584(68)e-6 V/bit S_min=2.4014 dof=14 -caldac[2] gain=4.04669(68)e-4 V/bit S_min=68.5688 dof=14 -caldac[3] gain=3.967(69)e-6 V/bit S_min=4.65183 dof=14 -caldac[8] gain=6.293(43)e-7 V/bit S_min=4.3692 dof=14 -ai, unipolar zero offset, low gain -reading 9.9438(33)e-3, target 7.62951e-05 -caldac[2] gain=2.43328(25)e-4 V/bit S_min=1.59247e+07 dof=14 -caldac[3] gain=3.990(44)e-6 V/bit S_min=2.35112 dof=14 -caldac[8] gain=6.275(27)e-7 V/bit S_min=2.02595 dof=14 -ai, unipolar zero offset, high gain -reading 3.3748(19)e-4, target 7.62951e-07 -caldac[2] gain=3.6192(22)e-6 V/bit S_min=55827 dof=14 -caldac[3] gain=4.13(27)e-8 V/bit S_min=1.35945 dof=14 -caldac[8] gain=4.0525(10)e-7 V/bit S_min=1.94037e+06 dof=14 -ai, unipolar voltage reference, low gain -reading 5.0085863(35), target 4.99979 -caldac[0] gain=-4.5658(46)e-5 V/bit S_min=8.02503 dof=14 -caldac[1] gain=-2.529(46)e-6 V/bit S_min=1.5732 dof=14 -caldac[2] gain=4.04641(45)e-4 V/bit S_min=106.262 dof=14 -caldac[3] gain=3.970(46)e-6 V/bit S_min=1.87278 dof=14 -caldac[8] gain=6.257(29)e-7 V/bit S_min=1.89956 dof=14 -ao 0, zero offset, low gain -reading 3.9328(55)e-3, target 0.00015259 -caldac[2] gain=4.04918(69)e-4 V/bit S_min=49.094 dof=14 -caldac[3] gain=4.041(69)e-6 V/bit S_min=4.11065 dof=14 -caldac[6] gain=-7.8674(68)e-5 V/bit S_min=48.022 dof=14 -caldac[8] gain=6.125(42)e-7 V/bit S_min=21.6755 dof=14 -ao 0, reference voltage, low gain -reading 7.9991637(54), target 8.00015 -caldac[0] gain=-7.3089(72)e-5 V/bit S_min=19.5044 dof=14 -caldac[1] gain=-4.085(73)e-6 V/bit S_min=7.07179 dof=14 -caldac[2] gain=4.04562(72)e-4 V/bit S_min=61.2554 dof=14 -caldac[3] gain=3.981(73)e-6 V/bit S_min=2.41722 dof=14 -caldac[4] gain=6.1756(73)e-5 V/bit S_min=18.3723 dof=14 -caldac[6] gain=-7.8378(72)e-5 V/bit S_min=10.1452 dof=14 -caldac[8] gain=6.344(47)e-7 V/bit S_min=5.01001 dof=14 -ao 0, linearity (mid), low gain -reading 4.0015515(54), target 4.00015 -caldac[0] gain=-3.6483(70)e-5 V/bit S_min=23.6256 dof=14 -caldac[1] gain=-2.027(69)e-6 V/bit S_min=4.67672 dof=14 -caldac[2] gain=4.04568(68)e-4 V/bit S_min=92.8256 dof=14 -caldac[3] gain=3.945(69)e-6 V/bit S_min=7.55072 dof=14 -caldac[4] gain=3.0787(69)e-5 V/bit S_min=15.2125 dof=14 -caldac[6] gain=-7.8085(68)e-5 V/bit S_min=10.0366 dof=14 -caldac[8] gain=6.259(44)e-7 V/bit S_min=7.13501 dof=14 -ao 1, zero offset, low gain -reading 2.8396(49)e-3, target 0.00015259 -caldac[2] gain=4.04838(69)e-4 V/bit S_min=48.0651 dof=14 -caldac[3] gain=4.077(70)e-6 V/bit S_min=2.11465 dof=14 -caldac[7] gain=-7.8712(69)e-5 V/bit S_min=33.9078 dof=14 -caldac[8] gain=6.235(43)e-7 V/bit S_min=4.26418 dof=14 -ao 1, reference voltage, low gain -reading 7.9964669(55), target 8.00015 -caldac[0] gain=-7.2892(72)e-5 V/bit S_min=13.8399 dof=14 -caldac[1] gain=-4.013(72)e-6 V/bit S_min=1.41529 dof=14 -caldac[2] gain=4.04474(73)e-4 V/bit S_min=64.7184 dof=14 -caldac[3] gain=4.071(71)e-6 V/bit S_min=2.27148 dof=14 -caldac[5] gain=6.2592(72)e-5 V/bit S_min=16.0406 dof=14 -caldac[7] gain=-7.8395(73)e-5 V/bit S_min=16.1578 dof=14 -caldac[8] gain=6.229(45)e-7 V/bit S_min=3.65689 dof=14 -ao 1, linearity (mid), low gain -reading 3.9996817(55), target 4.00015 -caldac[0] gain=-3.6401(68)e-5 V/bit S_min=16.0381 dof=14 -caldac[1] gain=-2.062(71)e-6 V/bit S_min=1.52891 dof=14 -caldac[2] gain=4.04565(69)e-4 V/bit S_min=76.428 dof=14 -caldac[3] gain=4.047(70)e-6 V/bit S_min=1.09659 dof=14 -caldac[5] gain=3.1091(70)e-5 V/bit S_min=15.3441 dof=14 -caldac[7] gain=-7.8368(72)e-5 V/bit S_min=12.8318 dof=14 -caldac[8] gain=6.114(43)e-7 V/bit S_min=12.7556 dof=14 -ao 0, unipolar zero offset, low gain -reading 9.8114(54)e-3, target 0 -caldac[2] gain=4.04834(69)e-4 V/bit S_min=53.4796 dof=14 -caldac[3] gain=4.030(68)e-6 V/bit S_min=4.29038 dof=14 -caldac[6] gain=-7.8148(66)e-5 V/bit S_min=16.1927 dof=14 -caldac[8] gain=6.350(42)e-7 V/bit S_min=4.4994 dof=14 -ao 0, unipolar high, low gain -reading 9.0032208(53), target 9.00008 -caldac[0] gain=-8.2151(70)e-5 V/bit S_min=17.1504 dof=14 -caldac[1] gain=-4.716(71)e-6 V/bit S_min=1.90457 dof=14 -caldac[2] gain=4.04603(71)e-4 V/bit S_min=72.3059 dof=14 -caldac[3] gain=4.116(71)e-6 V/bit S_min=1.89019 dof=14 -caldac[4] gain=6.9394(70)e-5 V/bit S_min=8.55042 dof=14 -caldac[6] gain=-7.8113(72)e-5 V/bit S_min=5.80267 dof=14 -caldac[8] gain=6.258(44)e-7 V/bit S_min=4.89137 dof=14 -ao 0, unipolar linearity (low), low gain -reading 1.0092266(51), target 1.00008 -caldac[0] gain=-9.250(68)e-6 V/bit S_min=1.75561 dof=14 -caldac[1] gain=-5.17(69)e-7 V/bit S_min=0.921118 dof=14 -caldac[2] gain=4.04578(67)e-4 V/bit S_min=90.2805 dof=14 -caldac[3] gain=3.887(66)e-6 V/bit S_min=2.39683 dof=14 -caldac[4] gain=7.770(67)e-6 V/bit S_min=3.34322 dof=14 -caldac[6] gain=-7.8358(68)e-5 V/bit S_min=19.1612 dof=14 -caldac[8] gain=6.233(42)e-7 V/bit S_min=3.54452 dof=14 -ao 0, unipolar linearity (mid), low gain -reading 5.0061781(52), target 5.00008 -caldac[0] gain=-4.5663(67)e-5 V/bit S_min=21.7487 dof=14 -caldac[1] gain=-2.553(68)e-6 V/bit S_min=7.47434 dof=14 -caldac[2] gain=4.04661(68)e-4 V/bit S_min=71.6708 dof=14 -caldac[3] gain=3.940(68)e-6 V/bit S_min=1.96052 dof=14 -caldac[4] gain=3.8609(71)e-5 V/bit S_min=19.9348 dof=14 -caldac[6] gain=-7.8283(68)e-5 V/bit S_min=22.4617 dof=14 -caldac[8] gain=6.287(43)e-7 V/bit S_min=4.89577 dof=14 -ao 1, unipolar zero offset, low gain -reading 0.0101258(50), target 0 -caldac[2] gain=4.04916(68)e-4 V/bit S_min=72.4479 dof=14 -caldac[3] gain=4.105(68)e-6 V/bit S_min=3.77629 dof=14 -caldac[7] gain=-7.8408(69)e-5 V/bit S_min=17.2061 dof=14 -caldac[8] gain=6.322(43)e-7 V/bit S_min=4.14499 dof=14 -ao 1, unipolar high, low gain -reading 9.0011230(55), target 9.00008 -caldac[0] gain=-8.2038(70)e-5 V/bit S_min=18.7872 dof=14 -caldac[1] gain=-4.486(70)e-6 V/bit S_min=8.58652 dof=14 -caldac[2] gain=4.04525(71)e-4 V/bit S_min=73.6403 dof=14 -caldac[3] gain=3.912(69)e-6 V/bit S_min=4.3648 dof=14 -caldac[5] gain=7.0326(70)e-5 V/bit S_min=12.1156 dof=14 -caldac[7] gain=-7.8322(72)e-5 V/bit S_min=13.8258 dof=14 -caldac[8] gain=6.221(45)e-7 V/bit S_min=2.65473 dof=14 -ao 1, unipolar linearity (low), low gain -reading 1.0092204(52), target 1.00008 -caldac[0] gain=-9.282(68)e-6 V/bit S_min=2.75675 dof=14 -caldac[1] gain=-5.30(69)e-7 V/bit S_min=1.22983 dof=14 -caldac[2] gain=4.04591(67)e-4 V/bit S_min=75.6609 dof=14 -caldac[3] gain=3.892(67)e-6 V/bit S_min=2.55383 dof=14 -caldac[5] gain=7.848(67)e-6 V/bit S_min=3.98235 dof=14 -caldac[7] gain=-7.8453(68)e-5 V/bit S_min=13.3494 dof=14 -caldac[8] gain=6.235(43)e-7 V/bit S_min=3.78911 dof=14 -ao 1, unipolar linearity (mid), low gain -reading 5.0051523(55), target 5.00008 -caldac[0] gain=-4.5648(69)e-5 V/bit S_min=25.8429 dof=14 -caldac[1] gain=-2.606(69)e-6 V/bit S_min=2.39754 dof=14 -caldac[2] gain=4.04755(69)e-4 V/bit S_min=64.4486 dof=14 -caldac[3] gain=3.880(66)e-6 V/bit S_min=18.2457 dof=14 -caldac[5] gain=3.8980(71)e-5 V/bit S_min=17.7696 dof=14 -caldac[7] gain=-7.8606(70)e-5 V/bit S_min=20.829 dof=14 -caldac[8] gain=6.058(42)e-7 V/bit S_min=13.7094 dof=14 -relative binary: ai, bipolar zero offset, low gain, ai, bipolar voltage -reference, low gain -caldac[0] set to 102 -relative binary: ai, bipolar zero offset, low gain, ai, bipolar zero offset, -high gain -caldac[2] set to 103 -binary: ai, bipolar zero offset, high gain -caldac[8] set to 1659 -relative binary: ai, bipolar zero offset, low gain, ai, bipolar voltage -reference, low gain -caldac[1] set to 126 -relative binary: ai, bipolar zero offset, low gain, ai, bipolar zero offset, -high gain -caldac[3] set to 105 -binary peg: ai, unipolar zero offset, low gain -caldac[8] set to 4095 -relative binary: ai, unipolar zero offset, low gain, ai, unipolar voltage -reference, low gain -caldac[0] set to 104 -relative binary: ai, unipolar zero offset, low gain, ai, unipolar zero offset, -high gain -caldac[2] set to 103 -binary: ai, unipolar zero offset, high gain -caldac[8] set to 1651 -relative binary: ai, unipolar zero offset, low gain, ai, unipolar voltage -reference, low gain -caldac[1] set to 101 -relative binary: ai, unipolar zero offset, low gain, ai, unipolar zero offset, -high gain -caldac[3] set to 151 -binary: ao 0, zero offset, low gain -caldac[6] set to 47 -binary: ao 0, reference voltage, low gain -caldac[4] set to 175 -binary: ao 0, unipolar zero offset, low gain -caldac[6] set to 124 -binary: ao 0, unipolar high, low gain -caldac[4] set to 193 -binary: ao 1, zero offset, low gain -caldac[7] set to 33 -binary: ao 1, reference voltage, low gain -caldac[5] set to 199 -binary: ao 1, unipolar zero offset, low gain -caldac[7] set to 127 -binary: ao 1, unipolar high, low gain -caldac[5] set to 225 -writing calibration to /etc/comedi/calibrations/ni_pcimio_pci-6031e_comedi0 -ai, bipolar zero offset, low gain -applied calibration for subdev 0, channel 0, range 0, aref 3 -reading 3.9(56)e-6, target 0 -caldac[2] gain=4.04780(68)e-4 V/bit S_min=51.7431 dof=14 -caldac[3] gain=4.259(69)e-6 V/bit S_min=15.6127 dof=14 -caldac[8] gain=6.454(42)e-7 V/bit S_min=19.2309 dof=14 -ai, bipolar zero offset, high gain -applied calibration for subdev 0, channel 0, range 6, aref 3 -reading -2.2(22)e-7, target 0 -caldac[2] gain=4.0468(28)e-6 V/bit S_min=4.50405 dof=14 -caldac[3] gain=4.14(29)e-8 V/bit S_min=1.5564 dof=14 -caldac[8] gain=6.2340(18)e-7 V/bit S_min=2.22969 dof=14 -ai, bipolar voltage reference, low gain -applied calibration for subdev 0, channel 5, range 0, aref 3 -reading 4.9998024(52), target 4.99979 -caldac[0] gain=-4.5834(68)e-5 V/bit S_min=22.1202 dof=14 -caldac[1] gain=-2.560(69)e-6 V/bit S_min=2.19664 dof=14 -caldac[2] gain=4.04600(68)e-4 V/bit S_min=77.8305 dof=14 -caldac[3] gain=3.997(71)e-6 V/bit S_min=1.64743 dof=14 -caldac[8] gain=6.392(44)e-7 V/bit S_min=4.63247 dof=14 -ai, unipolar zero offset, low gain -applied calibration for subdev 0, channel 0, range 7, aref 3 -reading 6.63(26)e-5, target 7.62951e-05 -caldac[2] gain=2.42361(25)e-4 V/bit S_min=1.57664e+07 dof=14 -caldac[3] gain=1.559(20)e-6 V/bit S_min=2091.83 dof=14 -caldac[8] gain=3.902(16)e-7 V/bit S_min=8272.41 dof=14 -ai, unipolar zero offset, high gain -applied calibration for subdev 0, channel 0, range 13, aref 3 -reading 1.207(81)e-6, target 7.62951e-07 -caldac[2] gain=2.3973(15)e-6 V/bit S_min=420715 dof=14 -caldac[3] gain=8.69(88)e-9 V/bit S_min=7.36233 dof=14 -caldac[8] gain=3.71294(93)e-7 V/bit S_min=2.6091e+06 dof=14 -ai, unipolar voltage reference, low gain -applied calibration for subdev 0, channel 5, range 7, aref 3 -reading 4.9998222(38), target 4.99979 -caldac[0] gain=-4.5641(46)e-5 V/bit S_min=8.65597 dof=14 -caldac[1] gain=-2.688(48)e-6 V/bit S_min=1.40658 dof=14 -caldac[2] gain=4.04520(46)e-4 V/bit S_min=137.355 dof=14 -caldac[3] gain=4.091(47)e-6 V/bit S_min=5.22047 dof=14 -caldac[8] gain=6.309(29)e-7 V/bit S_min=4.77719 dof=14 -ao 0, zero offset, low gain -applied calibration for subdev 1, channel 0, range 0, aref 0 -applied calibration for subdev 0, channel 2, range 0, aref 3 -reading -4.25(32)e-4, target 0.00015259 -caldac[2] gain=4.04805(70)e-4 V/bit S_min=53.4836 dof=14 -caldac[3] gain=4.113(71)e-6 V/bit S_min=10.21 dof=14 -caldac[6] gain=-7.8557(68)e-5 V/bit S_min=58.2426 dof=14 -caldac[8] gain=6.097(42)e-7 V/bit S_min=11.0274 dof=14 -ao 0, reference voltage, low gain -applied calibration for subdev 1, channel 0, range 0, aref 0 -applied calibration for subdev 0, channel 2, range 0, aref 3 -reading 8.000000(25), target 8.00015 -caldac[0] gain=-7.3191(73)e-5 V/bit S_min=12.3634 dof=14 -caldac[1] gain=-4.054(74)e-6 V/bit S_min=1.26773 dof=14 -caldac[2] gain=4.04527(73)e-4 V/bit S_min=43.1088 dof=14 -caldac[3] gain=3.941(73)e-6 V/bit S_min=5.63113 dof=14 -caldac[4] gain=6.1762(73)e-5 V/bit S_min=33.2368 dof=14 -caldac[6] gain=-7.8285(75)e-5 V/bit S_min=17.3662 dof=14 -caldac[8] gain=6.293(46)e-7 V/bit S_min=2.52635 dof=14 -ao 0, linearity (mid), low gain -applied calibration for subdev 1, channel 0, range 0, aref 0 -applied calibration for subdev 0, channel 2, range 0, aref 3 -reading 3.999824(28), target 4.00015 -caldac[0] gain=-3.6226(71)e-5 V/bit S_min=16.7177 dof=14 -caldac[1] gain=-1.940(68)e-6 V/bit S_min=2.77332 dof=14 -caldac[2] gain=4.04478(69)e-4 V/bit S_min=86.1423 dof=14 -caldac[3] gain=3.988(70)e-6 V/bit S_min=2.27108 dof=14 -caldac[4] gain=3.0650(69)e-5 V/bit S_min=10.9673 dof=14 -caldac[6] gain=-7.8281(71)e-5 V/bit S_min=12.4089 dof=14 -caldac[8] gain=6.275(44)e-7 V/bit S_min=2.59036 dof=14 -ao 1, zero offset, low gain -applied calibration for subdev 1, channel 1, range 0, aref 0 -applied calibration for subdev 0, channel 3, range 0, aref 3 -reading -5.71(40)e-4, target 0.00015259 -caldac[2] gain=4.04772(69)e-4 V/bit S_min=53.4008 dof=14 -caldac[3] gain=4.130(72)e-6 V/bit S_min=14.5019 dof=14 -caldac[7] gain=-7.8632(68)e-5 V/bit S_min=38.2077 dof=14 -caldac[8] gain=6.230(43)e-7 V/bit S_min=2.98913 dof=14 -ao 1, reference voltage, low gain -applied calibration for subdev 1, channel 1, range 0, aref 0 -applied calibration for subdev 0, channel 3, range 0, aref 3 -reading 7.999523(31), target 8.00015 -caldac[0] gain=-7.3102(71)e-5 V/bit S_min=22.2042 dof=14 -caldac[1] gain=-4.102(73)e-6 V/bit S_min=2.70393 dof=14 -caldac[2] gain=4.04506(72)e-4 V/bit S_min=50.5004 dof=14 -caldac[3] gain=3.972(70)e-6 V/bit S_min=4.26868 dof=14 -caldac[5] gain=6.2574(71)e-5 V/bit S_min=30.1299 dof=14 -caldac[7] gain=-7.8202(69)e-5 V/bit S_min=14.0954 dof=14 -caldac[8] gain=6.285(45)e-7 V/bit S_min=5.91259 dof=14 -ao 1, linearity (mid), low gain -applied calibration for subdev 1, channel 1, range 0, aref 0 -applied calibration for subdev 0, channel 3, range 0, aref 3 -reading 3.999523(35), target 4.00015 -caldac[0] gain=-3.6299(70)e-5 V/bit S_min=12.504 dof=14 -caldac[1] gain=-1.927(69)e-6 V/bit S_min=2.27594 dof=14 -caldac[2] gain=4.04498(70)e-4 V/bit S_min=92.4139 dof=14 -caldac[3] gain=3.934(71)e-6 V/bit S_min=2.32116 dof=14 -caldac[5] gain=3.1088(69)e-5 V/bit S_min=14.4494 dof=14 -caldac[7] gain=-7.8420(71)e-5 V/bit S_min=12.5189 dof=14 -caldac[8] gain=6.380(44)e-7 V/bit S_min=2.26274 dof=14 -ao 0, unipolar zero offset, low gain -applied calibration for subdev 1, channel 0, range 1, aref 0 -applied calibration for subdev 0, channel 2, range 0, aref 3 -reading 4.62(54)e-5, target 0 -caldac[2] gain=4.04783(69)e-4 V/bit S_min=51.9655 dof=14 -caldac[3] gain=4.257(69)e-6 V/bit S_min=12.3014 dof=14 -caldac[6] gain=-7.8314(68)e-5 V/bit S_min=16.7364 dof=14 -caldac[8] gain=6.437(43)e-7 V/bit S_min=17.8705 dof=14 -ao 0, unipolar high, low gain -applied calibration for subdev 1, channel 0, range 1, aref 0 -applied calibration for subdev 0, channel 2, range 0, aref 3 -reading 8.9999952(55), target 9.00008 -caldac[0] gain=-8.2238(70)e-5 V/bit S_min=24.4124 dof=14 -caldac[1] gain=-4.497(71)e-6 V/bit S_min=11.9844 dof=14 -caldac[2] gain=4.04392(71)e-4 V/bit S_min=63.3871 dof=14 -caldac[3] gain=3.867(70)e-6 V/bit S_min=5.20063 dof=14 -caldac[4] gain=6.9462(70)e-5 V/bit S_min=12.7513 dof=14 -caldac[6] gain=-7.8282(72)e-5 V/bit S_min=18.1888 dof=14 -caldac[8] gain=6.315(44)e-7 V/bit S_min=3.99416 dof=14 -ao 0, unipolar linearity (low), low gain -applied calibration for subdev 1, channel 0, range 1, aref 0 -applied calibration for subdev 0, channel 2, range 0, aref 3 -reading 1.0001356(52), target 1.00008 -caldac[0] gain=-8.990(66)e-6 V/bit S_min=9.45288 dof=14 -caldac[1] gain=-5.10(71)e-7 V/bit S_min=0.688715 dof=14 -caldac[2] gain=4.04478(68)e-4 V/bit S_min=81.3919 dof=14 -caldac[3] gain=4.097(68)e-6 V/bit S_min=1.49483 dof=14 -caldac[4] gain=7.808(68)e-6 V/bit S_min=2.98466 dof=14 -caldac[6] gain=-7.8501(68)e-5 V/bit S_min=24.6859 dof=14 -caldac[8] gain=6.089(42)e-7 V/bit S_min=17.2506 dof=14 -ao 0, unipolar linearity (mid), low gain -applied calibration for subdev 1, channel 0, range 1, aref 0 -applied calibration for subdev 0, channel 2, range 0, aref 3 -reading 5.0000447(55), target 5.00008 -caldac[0] gain=-4.5822(68)e-5 V/bit S_min=21.8646 dof=14 -caldac[1] gain=-2.564(70)e-6 V/bit S_min=5.55694 dof=14 -caldac[2] gain=4.04639(69)e-4 V/bit S_min=65.6447 dof=14 -caldac[3] gain=4.084(70)e-6 V/bit S_min=3.1727 dof=14 -caldac[4] gain=3.8707(71)e-5 V/bit S_min=15.2584 dof=14 -caldac[6] gain=-7.8156(66)e-5 V/bit S_min=10.0991 dof=14 -caldac[8] gain=6.377(43)e-7 V/bit S_min=5.30329 dof=14 -ao 1, unipolar zero offset, low gain -applied calibration for subdev 1, channel 1, range 1, aref 0 -applied calibration for subdev 0, channel 3, range 0, aref 3 -reading 7.87(52)e-5, target 0 -caldac[2] gain=4.04751(68)e-4 V/bit S_min=46.9367 dof=14 -caldac[3] gain=4.208(70)e-6 V/bit S_min=13.0049 dof=14 -caldac[7] gain=-7.8658(67)e-5 V/bit S_min=33.5968 dof=14 -caldac[8] gain=6.465(42)e-7 V/bit S_min=19.9112 dof=14 -ao 1, unipolar high, low gain -applied calibration for subdev 1, channel 1, range 1, aref 0 -applied calibration for subdev 0, channel 3, range 0, aref 3 -reading 9.0000018(53), target 9.00008 -caldac[0] gain=-8.2095(70)e-5 V/bit S_min=22.1353 dof=14 -caldac[1] gain=-4.478(70)e-6 V/bit S_min=5.02459 dof=14 -caldac[2] gain=4.04530(71)e-4 V/bit S_min=82.8752 dof=14 -caldac[3] gain=3.877(71)e-6 V/bit S_min=1.84591 dof=14 -caldac[5] gain=7.0365(70)e-5 V/bit S_min=8.5377 dof=14 -caldac[7] gain=-7.8234(68)e-5 V/bit S_min=21.2209 dof=14 -caldac[8] gain=6.308(44)e-7 V/bit S_min=4.37258 dof=14 -ao 1, unipolar linearity (low), low gain -applied calibration for subdev 1, channel 1, range 1, aref 0 -applied calibration for subdev 0, channel 3, range 0, aref 3 -reading 1.0001714(51), target 1.00008 -caldac[0] gain=-9.011(66)e-6 V/bit S_min=14.8386 dof=14 -caldac[1] gain=-5.49(70)e-7 V/bit S_min=0.827879 dof=14 -caldac[2] gain=4.04510(68)e-4 V/bit S_min=81.987 dof=14 -caldac[3] gain=4.128(69)e-6 V/bit S_min=1.55977 dof=14 -caldac[5] gain=7.853(68)e-6 V/bit S_min=4.58536 dof=14 -caldac[7] gain=-7.8486(68)e-5 V/bit S_min=12.5535 dof=14 -caldac[8] gain=6.082(42)e-7 V/bit S_min=14.6087 dof=14 -ao 1, unipolar linearity (mid), low gain -applied calibration for subdev 1, channel 1, range 1, aref 0 -applied calibration for subdev 0, channel 3, range 0, aref 3 -reading 5.0000662(56), target 5.00008 -caldac[0] gain=-4.5866(67)e-5 V/bit S_min=18.4216 dof=14 -caldac[1] gain=-2.525(71)e-6 V/bit S_min=2.50928 dof=14 -caldac[2] gain=4.04577(69)e-4 V/bit S_min=51.028 dof=14 -caldac[3] gain=4.128(70)e-6 V/bit S_min=4.81129 dof=14 -caldac[5] gain=3.9025(70)e-5 V/bit S_min=16.075 dof=14 -caldac[7] gain=-7.8490(70)e-5 V/bit S_min=22.6817 dof=14 -caldac[8] gain=6.392(44)e-7 V/bit S_min=5.31049 dof=14 -Applied calibration for subdevice 0, channel 0, range 0, aref 0 diff --git a/comedi_calibrate/results/pci-6032e b/comedi_calibrate/results/pci-6032e deleted file mode 100644 index e42c1a4..0000000 --- a/comedi_calibrate/results/pci-6032e +++ /dev/null @@ -1,68 +0,0 @@ -Warning: device not fully calibrated due to insufficient information -Please send this output to -Id: comedi_calibrate.c,v 1.36 2002/06/12 23:19:39 ds Exp -Driver name: ni_pcimio -Device name: pci-6032e -Id: ni.c,v 1.30 2002/06/12 23:19:39 ds Exp -Comedi version: 0.7.65 -ai, bipolar zero offset, low gain -offset -8.075(13)e-3, target 0 -caldac[0] gain=5.9(11)e-8 V/bit S_min=251.379 dof=254 -caldac[2] gain=4.02269(14)e-4 V/bit S_min=1845.55 dof=254 -caldac[3] gain=4.022(12)e-6 V/bit S_min=307.957 dof=254 -caldac[8] gain=4.8092(72)e-7 V/bit S_min=316.922 dof=254 -ai, bipolar zero offset, high gain -offset -3.5482(66)e-4, target 0 -caldac[0] gain=2.78(61)e-9 V/bit S_min=277.89 dof=254 -caldac[2] gain=4.02251(62)e-6 V/bit S_min=333.883 dof=254 -caldac[3] gain=4.076(61)e-8 V/bit S_min=298.396 dof=254 -caldac[8] gain=4.84152(39)e-7 V/bit S_min=385.006 dof=254 -ai, bipolar voltage reference, low gain -offset 4.992227(14), target 5 -caldac[0] gain=-4.5355(12)e-5 V/bit S_min=1609.34 dof=254 -caldac[1] gain=-2.618(12)e-6 V/bit S_min=280.945 dof=254 -caldac[2] gain=4.02003(14)e-4 V/bit S_min=1629.05 dof=254 -caldac[3] gain=4.060(12)e-6 V/bit S_min=344.287 dof=254 -caldac[8] gain=4.8496(73)e-7 V/bit S_min=323.485 dof=254 -ai, unipolar zero offset, low gain -offset nan, target 0 -caldac[2] gain=4.02393(42)e-4 V/bit S_min=344.731 dof=104 -postgain: ai, bipolar zero offset, low gain; ai, bipolar zero offset, high gain -caldac[2] gain=4.02298(14)e-4 V/bit S_min=1665.08 dof=254 -caldac[2] gain=4.02136(62)e-6 V/bit S_min=428.218 dof=254 -caldac[2] set to 147 (147.03) -postgain: ai, bipolar zero offset, low gain; ai, bipolar zero offset, high gain -caldac[3] gain=4.714(12)e-6 V/bit S_min=683.361 dof=254 -caldac[3] gain=4.022(61)e-8 V/bit S_min=329.719 dof=254 -caldac[3] set to 63 (62.5578) -linear: ai, bipolar zero offset, high gain -caldac[8] gain=4.84164(39)e-7 V/bit S_min=323.225 dof=254 -caldac[8] set to 2619 (2619) -linear: ai, bipolar voltage reference, low gain -caldac[0] gain=-4.5615(12)e-5 V/bit S_min=2042.28 dof=254 -caldac[0] set to 137 (136.679) -linear: ai, bipolar voltage reference, low gain -caldac[1] gain=-2.860(13)e-6 V/bit S_min=303.635 dof=254 -caldac[1] set to 59 (58.6316) -ai, bipolar zero offset, low gain -offset 1.19(15)e-4, target 0 -caldac[2] gain=4.02146(14)e-4 V/bit S_min=1748.84 dof=254 -caldac[3] gain=4.340(12)e-6 V/bit S_min=530.678 dof=254 -caldac[8] gain=5.2718(75)e-7 V/bit S_min=1011.83 dof=254 -ai, bipolar zero offset, high gain -offset 1.43(79)e-6, target 0 -caldac[2] gain=4.02126(62)e-6 V/bit S_min=414.809 dof=254 -caldac[3] gain=4.268(63)e-8 V/bit S_min=292.963 dof=254 -caldac[8] gain=4.84038(39)e-7 V/bit S_min=296.355 dof=254 -ai, bipolar voltage reference, low gain -offset 4.999967(16), target 5 -caldac[0] gain=-4.5591(12)e-5 V/bit S_min=1890.95 dof=254 -caldac[1] gain=-2.875(13)e-6 V/bit S_min=297.895 dof=254 -caldac[2] gain=4.01860(14)e-4 V/bit S_min=1444.87 dof=254 -caldac[3] gain=4.299(12)e-6 V/bit S_min=290.844 dof=254 -caldac[8] gain=5.1142(76)e-7 V/bit S_min=451.539 dof=254 -ai, unipolar zero offset, low gain -offset nan, target 0 -caldac[2] gain=4.02341(42)e-4 V/bit S_min=373.216 dof=104 -caldac[3] gain=4.007(43)e-6 V/bit S_min=102.266 dof=74 -caldac[8] gain=4.76(10)e-7 V/bit S_min=25.194 dof=29 diff --git a/comedi_calibrate/results/pci-6033e b/comedi_calibrate/results/pci-6033e deleted file mode 100644 index c379c83..0000000 --- a/comedi_calibrate/results/pci-6033e +++ /dev/null @@ -1,119 +0,0 @@ -eeprom reference lsb=255 msb=255 -resulting reference voltage: 5 -Warning: device may not be not fully calibrated due to insufficient information. -Please file a bug report at https://bugs.comedi.org/ and attach this output. -This output will also allow comedi_calibrate to execute more -quickly in the future. -Forcing options: --reset --dump --calibrate --results -Id: comedi_calibrate.c,v 1.91 2004/02/15 22:24:57 fmhess Exp -Driver name: ni_pcimio -Device name: pci-6033e -Id: ni.c,v 1.104 2004/02/21 14:34:08 fmhess Exp -Comedi version: 0.7.67 -ai, bipolar zero offset, low gain -reading -9.899(50)e-3, target 0 -caldac[2] gain=4.05815(66)e-4 V/bit S_min=160.14 dof=14 -caldac[3] gain=3.980(65)e-6 V/bit S_min=1.32374 dof=14 -caldac[8] gain=5.215(41)e-7 V/bit S_min=9.43182 dof=14 -ai, bipolar zero offset, high gain -reading 9.819(23)e-5, target 0 -caldac[2] gain=4.0585(29)e-6 V/bit S_min=3.7347 dof=14 -caldac[3] gain=4.00(30)e-8 V/bit S_min=0.937716 dof=14 -caldac[8] gain=5.1188(18)e-7 V/bit S_min=6.92651 dof=14 -ai, bipolar voltage reference, low gain -reading 4.9894975(49), target 5 -caldac[0] gain=-4.5577(67)e-5 V/bit S_min=22.9715 dof=14 -caldac[1] gain=-2.492(68)e-6 V/bit S_min=0.991261 dof=14 -caldac[2] gain=4.05245(67)e-4 V/bit S_min=92.0068 dof=14 -caldac[3] gain=3.986(68)e-6 V/bit S_min=2.25732 dof=14 -caldac[8] gain=5.240(42)e-7 V/bit S_min=8.35406 dof=14 -ai, unipolar zero offset, low gain -reading nan, target 7.62951e-05 -caldac[2] gain=4.0619(11)e-4 V/bit S_min=32.5208 dof=4 -ai, unipolar zero offset, high gain -reading 9.631(21)e-5, target 7.62951e-07 -caldac[2] gain=4.0549(50)e-6 V/bit S_min=7.65813 dof=7 -caldac[3] gain=4.04(29)e-8 V/bit S_min=1.10986 dof=14 -caldac[8] gain=5.1133(36)e-7 V/bit S_min=1.48799 dof=6 -ai, unipolar voltage reference, low gain -reading 4.9892792(34), target 5 -caldac[0] gain=-4.5533(44)e-5 V/bit S_min=18.6982 dof=14 -caldac[1] gain=-2.498(44)e-6 V/bit S_min=1.28035 dof=14 -caldac[2] gain=4.05390(44)e-4 V/bit S_min=183.052 dof=14 -caldac[3] gain=3.918(44)e-6 V/bit S_min=1.27415 dof=14 -caldac[8] gain=5.148(28)e-7 V/bit S_min=3.90862 dof=14 -relative binary: ai, bipolar zero offset, low gain, ai, bipolar voltage -reference, low gain -caldac[0] set to 131 -relative binary: ai, bipolar zero offset, low gain, ai, bipolar zero offset, -high gain -caldac[2] set to 153 -relative binary: ai, bipolar zero offset, low gain, ai, bipolar zero offset, -high gain -caldac[3] set to 201 -binary: ai, bipolar zero offset, high gain -caldac[8] set to 1647 -relative binary: ai, bipolar zero offset, low gain, ai, bipolar voltage -reference, low gain -caldac[1] set to 88 -binary peg: ai, unipolar zero offset, low gain -caldac[8] set to 0 -binary peg: ai, unipolar zero offset, low gain -caldac[2] set to 255 -relative binary: ai, unipolar zero offset, low gain, ai, unipolar voltage -reference, low gain -caldac[0] set to 130 -relative binary: ai, unipolar zero offset, low gain, ai, unipolar zero offset, -high gain -caldac[2] set to 156 -relative binary: ai, unipolar zero offset, low gain, ai, unipolar zero offset, -high gain -caldac[3] set to 175 -binary: ai, unipolar zero offset, high gain -caldac[8] set to 1617 -relative binary: ai, unipolar zero offset, low gain, ai, unipolar voltage -reference, low gain -caldac[1] set to 127 -writing calibration to ./ni_pcimio_pci-6033e_comedi0 -ai, bipolar zero offset, low gain -applied calibration for subdev 0, channel 0, range 0, aref 3 -reading 4.29(81)e-5, target 0 -caldac[2] gain=4.05675(65)e-4 V/bit S_min=152.289 dof=14 -caldac[3] gain=3.861(65)e-6 V/bit S_min=1.57508 dof=14 -caldac[8] gain=5.128(41)e-7 V/bit S_min=1.59219 dof=14 -ai, bipolar zero offset, high gain -applied calibration for subdev 0, channel 0, range 6, aref 3 -reading 1.02(25)e-6, target 0 -caldac[2] gain=4.0554(30)e-6 V/bit S_min=7.41243 dof=14 -caldac[3] gain=3.98(30)e-8 V/bit S_min=1.81005 dof=14 -caldac[8] gain=5.1188(18)e-7 V/bit S_min=4.95673 dof=14 -ai, bipolar voltage reference, low gain -applied calibration for subdev 0, channel 5, range 0, aref 3 -reading 4.9999660(72), target 5 -caldac[0] gain=-4.5825(67)e-5 V/bit S_min=36.1478 dof=14 -caldac[1] gain=-2.774(72)e-6 V/bit S_min=0.879831 dof=14 -caldac[2] gain=4.05129(67)e-4 V/bit S_min=102.117 dof=14 -caldac[3] gain=3.933(67)e-6 V/bit S_min=2.60807 dof=14 -caldac[8] gain=5.125(42)e-7 V/bit S_min=4.66901 dof=14 -ai, unipolar zero offset, low gain -applied calibration for subdev 0, channel 0, range 7, aref 3 -reading 9.042(33)e-4, target 7.62951e-05 -caldac[2] gain=1.24217(16)e-4 V/bit S_min=3.21485e+07 dof=14 -caldac[3] gain=3.941(41)e-6 V/bit S_min=2.37018 dof=14 -caldac[8] gain=5.087(26)e-7 V/bit S_min=3.06702 dof=14 -ai, unipolar zero offset, high gain -applied calibration for subdev 0, channel 0, range 13, aref 3 -reading 9.54(78)e-7, target 7.62951e-07 -caldac[2] gain=1.1642(10)e-6 V/bit S_min=730218 dof=14 -caldac[3] gain=5.31(68)e-9 V/bit S_min=4.78958 dof=14 -caldac[8] gain=3.10170(98)e-7 V/bit S_min=1.58412e+06 dof=14 -ai, unipolar voltage reference, low gain -applied calibration for subdev 0, channel 5, range 7, aref 3 -reading 5.0007925(32), target 5 -caldac[0] gain=-4.5870(44)e-5 V/bit S_min=34.7342 dof=14 -caldac[1] gain=-2.533(44)e-6 V/bit S_min=1.01379 dof=14 -caldac[2] gain=4.05338(44)e-4 V/bit S_min=178.116 dof=14 -caldac[3] gain=3.945(44)e-6 V/bit S_min=1.46842 dof=14 -caldac[8] gain=5.131(28)e-7 V/bit S_min=5.89766 dof=14 -Applied calibration for subdevice 0, channel 0, range 0, aref 0 - diff --git a/comedi_calibrate/results/pci-6034e b/comedi_calibrate/results/pci-6034e deleted file mode 100644 index e8bc82a..0000000 --- a/comedi_calibrate/results/pci-6034e +++ /dev/null @@ -1,67 +0,0 @@ -# ./comedi_calibrate -eeprom reference lsb=99 msb=2 -resulting reference voltage: 5.00061 -Warning: device may not be not fully calibrated due to insufficient -information. -Please file a bug report at https://bugs.comedi.org/ and attach this output. -This output will also allow comedi_calibrate to execute more -quickly in the future. -Forcing option: --verbose -Forcing options: --reset --dump --calibrate --results -Id: comedi_calibrate.c,v 1.92 2004/03/29 01:34:15 fmhess Exp -Driver name: ni_pcimio -Device name: pci-6034e -Id: ni.c,v 1.125 2004/06/29 01:21:23 fmhess Exp -Comedi version: 0.7.68 -ai, bipolar zero offset, low gain -reading 0.0177338(84), target 0 -caldac[0] gain=-5.604(12)e-5 V/bit S_min=2.37939 dof=14 -caldac[2] gain=1.03(11)e-6 V/bit S_min=1.00597 dof=14 -caldac[4] gain=-6.2232(12)e-4 V/bit S_min=128.859 dof=14 -caldac[8] gain=-9.1(11)e-7 V/bit S_min=0.248826 dof=14 -ai, bipolar zero offset, high gain -reading -2.6455(28)e-4, target 0 -caldac[0] gain=-5.60079(39)e-5 V/bit S_min=143.741 dof=14 -caldac[2] gain=-1.89(38)e-8 V/bit S_min=2.81621 dof=14 -caldac[4] gain=-3.1188(38)e-6 V/bit S_min=5.00198 dof=14 -caldac[8] gain=-9.618(38)e-7 V/bit S_min=5.27821 dof=14 -ai, bipolar voltage reference, low gain -reading 5.0047309(84), target 5.00061 -caldac[0] gain=-5.399(11)e-5 V/bit S_min=57.7834 dof=14 -caldac[2] gain=3.5241(12)e-4 V/bit S_min=375.818 dof=14 -caldac[4] gain=-6.2217(12)e-4 V/bit S_min=161.084 dof=14 -caldac[8] gain=-9.4(11)e-7 V/bit S_min=0.518899 dof=14 -relative binary: ai, bipolar zero offset, low gain, ai, bipolar voltage -reference, low gain -caldac[2] set to 165 -relative binary: ai, bipolar zero offset, low gain, ai, bipolar zero offset, -high gain -caldac[4] set to 157 -binary: ai, bipolar zero offset, high gain -caldac[0] set to 121 -binary: ai, bipolar zero offset, high gain -caldac[8] set to 107 -writing calibration to /usr/local/var/lib/comedi/calibrations/ -ni_pcimio_pci-6034e_comedi0 -ai, bipolar zero offset, low gain -applied calibration for subdev 0, channel 0, range 0, aref 3 -reading -1.547(83)e-4, target 0 -caldac[0] gain=-5.470(11)e-5 V/bit S_min=40.9513 dof=14 -caldac[4] gain=-6.2404(12)e-4 V/bit S_min=147.172 dof=14 -caldac[8] gain=-1.08(11)e-6 V/bit S_min=1.31863 dof=14 -ai, bipolar zero offset, high gain -applied calibration for subdev 0, channel 0, range 3, aref 3 -reading -1.68(26)e-6, target 0 -caldac[0] gain=-5.61664(38)e-5 V/bit S_min=139.701 dof=14 -caldac[4] gain=-3.1205(38)e-6 V/bit S_min=4.55186 dof=14 -caldac[8] gain=-9.641(38)e-7 V/bit S_min=8.20823 dof=14 -ai, bipolar voltage reference, low gain -applied calibration for subdev 0, channel 5, range 0, aref 3 -reading 5.0000715(65), target 5.00061 -caldac[0] gain=-5.337(11)e-5 V/bit S_min=49.5019 dof=14 -caldac[2] gain=3.5116(12)e-4 V/bit S_min=204.112 dof=14 -caldac[4] gain=-6.2385(12)e-4 V/bit S_min=154.119 dof=14 -caldac[8] gain=-7.71(87)e-7 V/bit S_min=2.13942 dof=14 -Applied calibration for subdevice 0, channel 0, range 0, aref 0 - - \ No newline at end of file diff --git a/comedi_calibrate/results/pci-6035e b/comedi_calibrate/results/pci-6035e deleted file mode 100644 index 1d17795..0000000 --- a/comedi_calibrate/results/pci-6035e +++ /dev/null @@ -1,172 +0,0 @@ -Warning: device not fully calibrated due to insufficient information -Please send this output to -Id: comedi_calibrate.c,v 1.24 2002/01/22 09:32:28 ds Exp -Driver name: ni_pcimio -Device name: pci-6035e -Comedi version: 0.7.64 -ai, bipolar zero offset, low gain -offset 0.012944(20), target 0 -caldac[0] gain=-1.1773(19)e-5 V/bit S_min=246.793 dof=254 -caldac[2] gain=6.82(19)e-7 V/bit S_min=280.234 dof=254 -caldac[4] gain=-6.26946(19)e-4 V/bit S_min=1333.03 dof=254 -caldac[8] gain=-2.25(19)e-7 V/bit S_min=221.558 dof=254 -ai, bipolar zero offset, high gain -offset 2.5411(70)e-4, target 0 -caldac[0] gain=-1.184479(69)e-5 V/bit S_min=601.325 dof=254 -caldac[2] gain=1.662(65)e-8 V/bit S_min=304.058 dof=254 -caldac[4] gain=-3.13542(65)e-6 V/bit S_min=301.441 dof=254 -caldac[8] gain=-2.0310(65)e-7 V/bit S_min=311.733 dof=254 -ai, bipolar voltage reference, low gain -offset 5.013244(23), target 5 -caldac[0] gain=-1.0718(19)e-5 V/bit S_min=236.177 dof=254 -caldac[2] gain=3.55645(20)e-4 V/bit S_min=5166.14 dof=254 -caldac[4] gain=-6.27555(18)e-4 V/bit S_min=984.255 dof=254 -caldac[8] gain=-2.12(19)e-7 V/bit S_min=244.898 dof=254 -(null) -offset 1.166629(32), target 0 -caldac[0] gain=-3.05197(19)e-4 V/bit S_min=1540.12 dof=254 -caldac[1] gain=-2.88382(19)e-4 V/bit S_min=1918.35 dof=254 -caldac[2] gain=-2.21448(20)e-4 V/bit S_min=2179.26 dof=254 -caldac[3] gain=-2.80387(19)e-4 V/bit S_min=1242.74 dof=254 -caldac[4] gain=-9.05379(19)e-4 V/bit S_min=2022.73 dof=254 -caldac[5] gain=-2.76276(19)e-4 V/bit S_min=543.973 dof=254 -caldac[6] gain=-2.74266(19)e-4 V/bit S_min=1643.75 dof=254 -caldac[7] gain=-2.71670(19)e-4 V/bit S_min=806.479 dof=254 -caldac[8] gain=-2.70225(19)e-4 V/bit S_min=1625.86 dof=254 -caldac[9] gain=-2.75665(19)e-4 V/bit S_min=958.022 dof=254 -caldac[10] gain=-2.65147(19)e-4 V/bit S_min=1035.94 dof=254 -caldac[11] gain=-2.62072(19)e-4 V/bit S_min=471.963 dof=254 -caldac[12] gain=-2.62643(19)e-4 V/bit S_min=460.769 dof=254 -caldac[13] gain=-2.61439(19)e-4 V/bit S_min=523.447 dof=254 -caldac[14] gain=-2.59518(19)e-4 V/bit S_min=926.967 dof=254 -caldac[15] gain=-2.58381(19)e-4 V/bit S_min=741.307 dof=254 -ao 0, zero offset, low gain -offset 0.0254(43), target 0.002442 -caldac[0] gain=-1.1808(21)e-5 V/bit S_min=437.561 dof=254 -caldac[2] gain=9.98(21)e-7 V/bit S_min=395.402 dof=254 -caldac[3] gain=-1.04(21)e-7 V/bit S_min=423.777 dof=254 -caldac[4] gain=-6.27008(21)e-4 V/bit S_min=1304.09 dof=254 -caldac[6] gain=-7.67443(21)e-4 V/bit S_min=1688.85 dof=254 -caldac[8] gain=-1.97(21)e-7 V/bit S_min=452.037 dof=254 -caldac[10] gain=-1.14847(21)e-4 V/bit S_min=552.752 dof=254 -ao 0, reference voltage, low gain -offset -0.019(16), target -0.001221 -caldac[0] gain=-1.2935(19)e-5 V/bit S_min=284.678 dof=254 -caldac[2] gain=7.40(19)e-7 V/bit S_min=306.839 dof=254 -caldac[4] gain=-6.26991(19)e-4 V/bit S_min=1444.62 dof=254 -caldac[6] gain=-7.67471(19)e-4 V/bit S_min=2158.97 dof=254 -caldac[8] gain=-2.24(19)e-7 V/bit S_min=315.045 dof=254 -caldac[10] gain=-1.38932(19)e-4 V/bit S_min=897.617 dof=254 -caldac[11] gain=-1.62528(19)e-4 V/bit S_min=1635.75 dof=254 -ao 1, zero offset, low gain -offset 0.0409(87), target 0.002442 -caldac[0] gain=-1.1885(21)e-5 V/bit S_min=432.721 dof=254 -caldac[1] gain=-1.15638(21)e-4 V/bit S_min=468.52 dof=254 -caldac[2] gain=1.375(21)e-6 V/bit S_min=391.178 dof=254 -caldac[4] gain=-6.27116(21)e-4 V/bit S_min=1688.27 dof=254 -caldac[5] gain=-1.00(21)e-7 V/bit S_min=372.132 dof=254 -caldac[8] gain=-2.08(21)e-7 V/bit S_min=357.898 dof=254 -caldac[9] gain=-7.74251(21)e-4 V/bit S_min=2375.82 dof=254 -ao 1, reference voltage, low gain -offset -0.022(21), target -0.001221 -caldac[0] gain=-1.3099(19)e-5 V/bit S_min=495.56 dof=254 -caldac[1] gain=-1.40322(19)e-4 V/bit S_min=509.569 dof=254 -caldac[2] gain=1.189(19)e-6 V/bit S_min=358.879 dof=254 -caldac[4] gain=-6.27038(19)e-4 V/bit S_min=1972.7 dof=254 -caldac[5] gain=-1.62366(19)e-4 V/bit S_min=641.86 dof=254 -caldac[8] gain=-2.49(18)e-7 V/bit S_min=318.45 dof=254 -caldac[9] gain=-7.74293(19)e-4 V/bit S_min=3056.43 dof=254 -postgain: ai, bipolar zero offset, low gain; ai, bipolar zero offset, high gain -caldac[4] gain=-6.26974(18)e-4 V/bit S_min=1491.78 dof=254 -caldac[4] gain=-3.13259(65)e-6 V/bit S_min=375.767 dof=254 -caldac[4] set to 148 (147.509) -linear: ai, bipolar zero offset, high gain -caldac[0] gain=-1.184463(70)e-5 V/bit S_min=623.898 dof=254 -caldac[0] set to 143 (143.459) -linear: ai, bipolar zero offset, high gain -caldac[8] gain=-2.0233(63)e-7 V/bit S_min=278.768 dof=254 -caldac[8] set to 127 (126.893) -linear: ai, bipolar voltage reference, low gain -caldac[2] gain=3.54822(20)e-4 V/bit S_min=7147.7 dof=254 -caldac[2] set to 127 (126.676) -linear: ao 0, zero offset, low gain -caldac[6] gain=-7.67358(22)e-4 V/bit S_min=1762.56 dof=254 -caldac[6] set to 129 (128.586) -linear: ao 0, reference voltage, low gain -caldac[10] gain=-1.38635(19)e-4 V/bit S_min=948.436 dof=254 -caldac[10] set to 123 (122.902) -linear: ao 1, zero offset, low gain -caldac[9] gain=-7.74296(22)e-4 V/bit S_min=2695.12 dof=254 -caldac[9] set to 137 (136.9) -linear: ao 1, reference voltage, low gain -caldac[5] gain=-1.61913(19)e-4 V/bit S_min=1017.68 dof=254 -caldac[5] set to 129 (128.911) -ai, bipolar zero offset, low gain -offset -2.15(21)e-4, target 0 -caldac[0] gain=-1.1406(18)e-5 V/bit S_min=479.25 dof=254 -caldac[2] gain=-2.50(18)e-7 V/bit S_min=373.303 dof=254 -caldac[4] gain=-6.26953(19)e-4 V/bit S_min=1496.25 dof=254 -caldac[8] gain=-2.47(18)e-7 V/bit S_min=306.357 dof=254 -ai, bipolar zero offset, high gain -offset -6.4(74)e-7, target 0 -caldac[0] gain=-1.184355(69)e-5 V/bit S_min=654.56 dof=254 -caldac[3] gain=-3.38(62)e-9 V/bit S_min=301.57 dof=254 -caldac[4] gain=-3.13813(65)e-6 V/bit S_min=295.552 dof=254 -caldac[8] gain=-2.0119(64)e-7 V/bit S_min=294.204 dof=254 -ai, bipolar voltage reference, low gain -offset 4.999917(18), target 5 -caldac[0] gain=-1.0844(18)e-5 V/bit S_min=451.029 dof=254 -caldac[2] gain=3.54823(20)e-4 V/bit S_min=7266.78 dof=254 -caldac[4] gain=-6.27499(19)e-4 V/bit S_min=1207.03 dof=254 -caldac[8] gain=-1.92(16)e-7 V/bit S_min=345.501 dof=254 -(null) -offset 0.541593(34), target 0 -caldac[0] gain=-3.03815(20)e-4 V/bit S_min=3477.6 dof=254 -caldac[1] gain=-2.85114(19)e-4 V/bit S_min=2032.95 dof=254 -caldac[2] gain=-2.61627(19)e-4 V/bit S_min=3822.49 dof=254 -caldac[3] gain=-2.76546(19)e-4 V/bit S_min=2478.34 dof=254 -caldac[4] gain=-9.00437(19)e-4 V/bit S_min=2015.46 dof=254 -caldac[5] gain=-2.71999(19)e-4 V/bit S_min=583.705 dof=254 -caldac[6] gain=-2.69269(19)e-4 V/bit S_min=732.442 dof=254 -caldac[7] gain=-2.66634(19)e-4 V/bit S_min=1146.44 dof=254 -caldac[8] gain=-2.64839(19)e-4 V/bit S_min=673.634 dof=254 -caldac[9] gain=-2.71481(19)e-4 V/bit S_min=618.958 dof=254 -caldac[10] gain=-2.61882(19)e-4 V/bit S_min=940.154 dof=254 -caldac[11] gain=-2.58067(19)e-4 V/bit S_min=1054.56 dof=254 -caldac[12] gain=-2.58500(19)e-4 V/bit S_min=599.639 dof=254 -caldac[13] gain=-2.57496(19)e-4 V/bit S_min=561.894 dof=254 -caldac[14] gain=-2.56407(19)e-4 V/bit S_min=910.663 dof=254 -caldac[15] gain=-2.54749(19)e-4 V/bit S_min=822.292 dof=254 -ao 0, zero offset, low gain -offset 0.045(21), target 0.002442 -caldac[0] gain=-1.1813(21)e-5 V/bit S_min=391.49 dof=254 -caldac[4] gain=-6.26968(21)e-4 V/bit S_min=1421.94 dof=254 -caldac[6] gain=-7.67348(21)e-4 V/bit S_min=1929.58 dof=254 -caldac[8] gain=-2.48(21)e-7 V/bit S_min=407.266 dof=254 -caldac[10] gain=-1.14315(21)e-4 V/bit S_min=940.183 dof=254 -ao 0, reference voltage, low gain -offset -0.035(17), target -0.001221 -caldac[0] gain=-1.2796(18)e-5 V/bit S_min=564.449 dof=254 -caldac[2] gain=-2.93(19)e-7 V/bit S_min=314.757 dof=254 -caldac[4] gain=-6.26979(19)e-4 V/bit S_min=1509.36 dof=254 -caldac[6] gain=-7.67381(19)e-4 V/bit S_min=2229.62 dof=254 -caldac[8] gain=-1.82(19)e-7 V/bit S_min=304.739 dof=254 -caldac[10] gain=-1.38661(19)e-4 V/bit S_min=828.214 dof=254 -caldac[11] gain=-1.62335(18)e-4 V/bit S_min=1015.51 dof=254 -ao 1, zero offset, low gain -offset 0.045(21), target 0.002442 -caldac[0] gain=-1.1763(21)e-5 V/bit S_min=459.485 dof=254 -caldac[1] gain=-1.15012(21)e-4 V/bit S_min=940.128 dof=254 -caldac[4] gain=-6.26916(21)e-4 V/bit S_min=1312.2 dof=254 -caldac[5] gain=-1.15(21)e-7 V/bit S_min=415.043 dof=254 -caldac[8] gain=-2.25(21)e-7 V/bit S_min=443.539 dof=254 -caldac[9] gain=-7.74128(22)e-4 V/bit S_min=2684.38 dof=254 -ao 1, reference voltage, low gain -offset -0.037(18), target -0.001221 -caldac[0] gain=-1.2791(18)e-5 V/bit S_min=534.573 dof=254 -caldac[1] gain=-1.39697(19)e-4 V/bit S_min=727.324 dof=254 -caldac[2] gain=-3.11(19)e-7 V/bit S_min=377.948 dof=254 -caldac[4] gain=-6.26942(19)e-4 V/bit S_min=1490.46 dof=254 -caldac[5] gain=-1.61913(19)e-4 V/bit S_min=983.618 dof=254 -caldac[8] gain=-1.86(19)e-7 V/bit S_min=389.475 dof=254 -caldac[9] gain=-7.74185(19)e-4 V/bit S_min=3267.41 dof=254 diff --git a/comedi_calibrate/results/pci-6036e b/comedi_calibrate/results/pci-6036e deleted file mode 100644 index 977eb31..0000000 --- a/comedi_calibrate/results/pci-6036e +++ /dev/null @@ -1,112 +0,0 @@ -WARNING: unknown eeprom address for reference voltage -correction. This might be fixable if you send us an eeprom dump -(see the demo/eeprom_dump program). -Warning: device may not be not fully calibrated due to insufficient -information. -Please file a bug report at http://bugs.comedi.org/ and attach this output. -This output will also allow comedi_calibrate to execute more -quickly in the future. -Id: comedi_calibrate.c,v 1.87 2003/07/01 21:01:31 fmhess Exp -Driver name: ni_pcimio -Device name: pci-6036e -Id: ni.c,v 1.85 2003/07/01 21:14:15 fmhess Exp -Comedi version: 0.7.66 -ai, bipolar zero offset, low gain -reading -0.0155833(77), target 0 -caldac[0] gain=-1.187(11)e-5 V/bit S_min=2.14599 dof=14 -caldac[2] gain=-1.49(11)e-6 V/bit S_min=14.6051 dof=14 -caldac[4] gain=-6.1284(11)e-4 V/bit S_min=130.523 dof=14 -ai, bipolar zero offset, high gain -reading -2.5866(28)e-4, target 0 -caldac[0] gain=-1.18032(38)e-5 V/bit S_min=14.2385 dof=14 -caldac[2] gain=-1.75(37)e-8 V/bit S_min=8.4881 dof=14 -caldac[4] gain=-3.0701(37)e-6 V/bit S_min=5.53302 dof=14 -caldac[8] gain=-1.969(37)e-7 V/bit S_min=4.66928 dof=14 -ai, bipolar voltage reference, low gain -reading 4.9782207(81), target 5 -caldac[0] gain=-1.091(11)e-5 V/bit S_min=66.7788 dof=14 -caldac[2] gain=3.5380(11)e-4 V/bit S_min=249.534 dof=14 -caldac[4] gain=-6.1285(11)e-4 V/bit S_min=166.483 dof=14 -ao 0, zero offset, low gain -reading -0.0158572(76), target 0.00015259 -caldac[0] gain=-1.202(11)e-5 V/bit S_min=51.2631 dof=14 -caldac[2] gain=-1.35(11)e-6 V/bit S_min=24.7176 dof=14 -caldac[4] gain=-6.1317(11)e-4 V/bit S_min=99.9489 dof=14 -caldac[6] gain=-4.258(11)e-5 V/bit S_min=55.6732 dof=14 -caldac[10] gain=6.028(11)e-5 V/bit S_min=68.288 dof=14 -ao 0, reference voltage, low gain -reading 4.9794382(78), target 4.99992 -caldac[0] gain=-1.203(11)e-5 V/bit S_min=53.5029 dof=14 -caldac[2] gain=3.5370(11)e-4 V/bit S_min=260.301 dof=14 -caldac[4] gain=-6.1302(11)e-4 V/bit S_min=145.567 dof=14 -caldac[6] gain=-4.384(11)e-5 V/bit S_min=1.15896 dof=14 -caldac[7] gain=-1.9531(11)e-4 V/bit S_min=29.9515 dof=14 -caldac[10] gain=7.146(11)e-5 V/bit S_min=100.067 dof=14 -caldac[11] gain=-7.67(11)e-6 V/bit S_min=0.861428 dof=14 -ao 0, linearity (negative), low gain -reading -5.0114395(80), target -4.99992 -caldac[0] gain=-1.192(11)e-5 V/bit S_min=47.6917 dof=14 -caldac[2] gain=-3.5650(11)e-4 V/bit S_min=481.591 dof=14 -caldac[4] gain=-6.1301(11)e-4 V/bit S_min=128.665 dof=14 -caldac[6] gain=-4.170(11)e-5 V/bit S_min=30.3458 dof=14 -caldac[7] gain=1.9508(11)e-4 V/bit S_min=51.6126 dof=14 -caldac[10] gain=5.078(11)e-5 V/bit S_min=58.5712 dof=14 -caldac[11] gain=7.75(11)e-6 V/bit S_min=70.2642 dof=14 -ao 1, zero offset, low gain -reading -0.0157752(80), target 0.00015259 -caldac[0] gain=-1.186(11)e-5 V/bit S_min=1.71163 dof=14 -caldac[1] gain=5.984(11)e-5 V/bit S_min=43.908 dof=14 -caldac[2] gain=-1.45(11)e-6 V/bit S_min=68.9319 dof=14 -caldac[4] gain=-6.1309(11)e-4 V/bit S_min=160.922 dof=14 -caldac[9] gain=-4.180(11)e-5 V/bit S_min=76.7112 dof=14 -ao 1, reference voltage, low gain -reading 4.9792591(77), target 4.99992 -caldac[0] gain=-1.208(11)e-5 V/bit S_min=64.0151 dof=14 -caldac[1] gain=7.113(11)e-5 V/bit S_min=4.15399 dof=14 -caldac[2] gain=3.5379(11)e-4 V/bit S_min=182.481 dof=14 -caldac[3] gain=-1.9491(11)e-4 V/bit S_min=51.3479 dof=14 -caldac[4] gain=-6.1315(11)e-4 V/bit S_min=127.362 dof=14 -caldac[5] gain=-7.66(11)e-6 V/bit S_min=23.1643 dof=14 -caldac[9] gain=-4.290(11)e-5 V/bit S_min=83.248 dof=14 -ao 1, linearity (negative), low gain -reading -5.0111164(77), target -4.99992 -caldac[0] gain=-1.200(11)e-5 V/bit S_min=74.5937 dof=14 -caldac[1] gain=5.024(11)e-5 V/bit S_min=2.12624 dof=14 -caldac[2] gain=-3.5640(11)e-4 V/bit S_min=566.307 dof=14 -caldac[3] gain=1.9454(11)e-4 V/bit S_min=34.8615 dof=14 -caldac[4] gain=-6.1290(11)e-4 V/bit S_min=118.395 dof=14 -caldac[5] gain=7.87(11)e-6 V/bit S_min=35.68 dof=14 -caldac[9] gain=-4.084(11)e-5 V/bit S_min=51.3942 dof=14 -WARNING: you need comedi driver version 0.7.67 or later -for this calibration to work properly -relative binary: ai, bipolar zero offset, low gain, ai, bipolar voltage -reference, low gain -caldac[2] set to 144 -relative binary: ai, bipolar zero offset, low gain, ai, bipolar zero -offset, high gain -caldac[4] set to 101 -binary: ai, bipolar zero offset, high gain -caldac[0] set to 111 -binary: ai, bipolar zero offset, high gain -caldac[8] set to 176 -linearity binary: ao 0, linearity (negative), low gain, -ao 0, zero offset, low gain, -ao 0, reference voltage, low gain -caldac[10] set to 131 -binary: ao 0, zero offset, low gain -caldac[6] set to 133 -binary: ao 0, reference voltage, low gain -caldac[7] set to 135 -binary: ao 0, reference voltage, low gain -caldac[11] set to 137 -linearity binary: ao 1, linearity (negative), low gain, -ao 1, zero offset, low gain, -ao 1, reference voltage, low gain -caldac[1] set to 47 -binary: ao 1, zero offset, low gain -caldac[9] set to 15 -binary: ao 1, reference voltage, low gain -caldac[3] set to 130 -binary: ao 1, reference voltage, low gain -caldac[5] set to 127 - diff --git a/comedi_calibrate/results/pci-6052e b/comedi_calibrate/results/pci-6052e deleted file mode 100644 index 783db5d..0000000 --- a/comedi_calibrate/results/pci-6052e +++ /dev/null @@ -1,437 +0,0 @@ - -eeprom reference lsb=203 msb=253 -resulting reference voltage: 4.99944 -Warning: device may not be not fully calibrated due to insufficient -information. -Please file a bug report at http://bugs.comedi.org/ and attach this output. -This output will also allow comedi_calibrate to execute more -quickly in the future. -Id: comedi_calibrate.c,v 1.87 2003/07/01 21:01:31 fmhess Exp -Driver name: ni_pcimio -Device name: pci-6052e -Id: ni.c,v 1.90 2003/07/10 22:07:12 fmhess Exp -Comedi version: 0.7.66 -ai, bipolar zero offset, low gain -reading -8.6103(87)e-3, target 0 -caldac[0] gain=-8.13(12)e-6 V/bit S_min=1.10763 dof=14 -caldac[2] gain=1.50795(12)e-3 V/bit S_min=226.973 dof=14 -caldac[3] gain=3.013(12)e-5 V/bit S_min=4.1594 dof=14 -caldac[4] gain=-8.9(12)e-7 V/bit S_min=0.475217 dof=14 -ai, bipolar zero offset, high gain -reading 3.1125(20)e-4, target 0 -caldac[0] gain=-8.2227(27)e-6 V/bit S_min=19.1631 dof=14 -caldac[1] gain=1.614(27)e-7 V/bit S_min=1.43933 dof=14 -caldac[2] gain=7.5372(27)e-6 V/bit S_min=9.0941 dof=14 -caldac[3] gain=1.476(27)e-7 V/bit S_min=2.86933 dof=14 -caldac[4] gain=2.40(27)e-8 V/bit S_min=1.12883 dof=14 -ai, bipolar voltage reference, low gain -reading 4.9825690(84), target 4.99944 -caldac[0] gain=-8.29(12)e-6 V/bit S_min=1.28818 dof=14 -caldac[2] gain=1.50783(12)e-3 V/bit S_min=220.665 dof=14 -caldac[3] gain=3.012(12)e-5 V/bit S_min=4.04188 dof=14 -caldac[4] gain=3.8675(12)e-4 V/bit S_min=257.558 dof=14 -caldac[5] gain=7.72(12)e-6 V/bit S_min=3.22003 dof=14 -ai, unipolar zero offset, low gain -reading 0.0220409(89), target 0.00015259 -caldac[0] gain=-8.36(12)e-6 V/bit S_min=3.22306 dof=14 -caldac[2] gain=8.19784(60)e-4 V/bit S_min=3.90722e+07 dof=14 -caldac[3] gain=3.008(12)e-5 V/bit S_min=7.22733 dof=14 -caldac[4] gain=-5.42176(75)e-4 V/bit S_min=5.06649e+06 dof=14 -caldac[5] gain=-1.529(12)e-5 V/bit S_min=3.55384 dof=14 -caldac[6] gain=-3.26094(91)e-4 V/bit S_min=464330 dof=14 -caldac[7] gain=3.71(12)e-6 V/bit S_min=1.01406 dof=14 -ai, unipolar zero offset, high gain -reading 4.6510(20)e-4, target 7.62951e-07 -caldac[0] gain=-6.9388(20)e-6 V/bit S_min=423542 dof=14 -caldac[1] gain=1.588(27)e-7 V/bit S_min=3.08774 dof=14 -caldac[2] gain=6.0450(19)e-6 V/bit S_min=541400 dof=14 -caldac[3] gain=1.513(28)e-7 V/bit S_min=1.15612 dof=14 -caldac[4] gain=-3.8445(27)e-6 V/bit S_min=54.6946 dof=14 -caldac[5] gain=-7.68(27)e-8 V/bit S_min=1.78679 dof=14 -caldac[6] gain=-1.9324(27)e-6 V/bit S_min=1.2218 dof=14 -caldac[7] gain=2.03(27)e-8 V/bit S_min=1.92719 dof=14 -ai, unipolar voltage reference, low gain -reading 5.0130924(92), target 4.99944 -caldac[0] gain=-8.05(12)e-6 V/bit S_min=1.9898 dof=14 -caldac[2] gain=1.50788(12)e-3 V/bit S_min=220.21 dof=14 -caldac[3] gain=2.993(12)e-5 V/bit S_min=6.34524 dof=14 -caldac[4] gain=-3.8733(12)e-4 V/bit S_min=258.728 dof=14 -caldac[5] gain=-7.53(12)e-6 V/bit S_min=1.04771 dof=14 -caldac[6] gain=-3.8658(12)e-4 V/bit S_min=16.5887 dof=14 -caldac[7] gain=3.64(12)e-6 V/bit S_min=1.5346 dof=14 -ao 0, zero offset, low gain -reading -8.4914(88)e-3, target 0.00015259 -caldac[0] gain=-8.04(12)e-6 V/bit S_min=1.05161 dof=14 -caldac[2] gain=1.50792(12)e-3 V/bit S_min=234.949 dof=14 -caldac[3] gain=3.003(12)e-5 V/bit S_min=4.99259 dof=14 -caldac[4] gain=-8.4(12)e-7 V/bit S_min=1.09215 dof=14 -caldac[16] gain=6.064(12)e-5 V/bit S_min=2.73403 dof=14 -caldac[19] gain=-4.586(12)e-5 V/bit S_min=3.65995 dof=14 -ao 0, reference voltage, low gain -reading 4.9838132(90), target 4.99992 -caldac[0] gain=-8.13(12)e-6 V/bit S_min=2.45831 dof=14 -caldac[2] gain=1.50787(12)e-3 V/bit S_min=237.066 dof=14 -caldac[3] gain=3.002(12)e-5 V/bit S_min=4.96824 dof=14 -caldac[4] gain=3.8680(12)e-4 V/bit S_min=255.827 dof=14 -caldac[5] gain=7.74(12)e-6 V/bit S_min=1.11254 dof=14 -caldac[16] gain=7.213(12)e-5 V/bit S_min=3.73664 dof=14 -caldac[17] gain=-1.9497(12)e-4 V/bit S_min=12.4776 dof=14 -caldac[18] gain=-7.63(12)e-6 V/bit S_min=1.97599 dof=14 -caldac[19] gain=-4.686(12)e-5 V/bit S_min=3.2504 dof=14 -ao 0, linearity (mid), low gain -reading 2.4874703(90), target 2.49989 -caldac[0] gain=-8.29(12)e-6 V/bit S_min=2.74831 dof=14 -caldac[2] gain=1.50841(12)e-3 V/bit S_min=244.14 dof=14 -caldac[3] gain=2.995(12)e-5 V/bit S_min=4.32043 dof=14 -caldac[4] gain=1.9326(12)e-4 V/bit S_min=134.919 dof=14 -caldac[5] gain=3.94(12)e-6 V/bit S_min=1.41423 dof=14 -caldac[16] gain=6.721(12)e-5 V/bit S_min=8.24503 dof=14 -caldac[17] gain=-9.766(12)e-5 V/bit S_min=7.21631 dof=14 -caldac[18] gain=-3.89(12)e-6 V/bit S_min=1.59114 dof=14 -caldac[19] gain=-4.650(12)e-5 V/bit S_min=4.39519 dof=14 -ao 1, zero offset, low gain -reading -8.6953(90)e-3, target 0.00015259 -caldac[0] gain=-8.09(12)e-6 V/bit S_min=1.37919 dof=14 -caldac[2] gain=1.50797(12)e-3 V/bit S_min=241.103 dof=14 -caldac[3] gain=3.022(12)e-5 V/bit S_min=5.24172 dof=14 -caldac[4] gain=-8.9(12)e-7 V/bit S_min=2.01481 dof=14 -caldac[20] gain=6.055(12)e-5 V/bit S_min=4.21363 dof=14 -caldac[23] gain=-4.587(12)e-5 V/bit S_min=3.79529 dof=14 -ao 1, reference voltage, low gain -reading 4.9836296(88), target 4.99992 -caldac[0] gain=-8.20(12)e-6 V/bit S_min=2.06166 dof=14 -caldac[2] gain=1.50791(12)e-3 V/bit S_min=229.923 dof=14 -caldac[3] gain=3.001(12)e-5 V/bit S_min=7.30177 dof=14 -caldac[4] gain=3.8678(12)e-4 V/bit S_min=258.772 dof=14 -caldac[5] gain=7.71(12)e-6 V/bit S_min=1.94527 dof=14 -caldac[20] gain=7.199(12)e-5 V/bit S_min=4.86168 dof=14 -caldac[21] gain=-1.9502(12)e-4 V/bit S_min=7.74002 dof=14 -caldac[22] gain=-7.77(12)e-6 V/bit S_min=3.59955 dof=14 -caldac[23] gain=-4.693(12)e-5 V/bit S_min=3.24831 dof=14 -ao 1, linearity (mid), low gain -reading 2.4872128(85), target 2.49989 -caldac[0] gain=-8.23(12)e-6 V/bit S_min=1.72052 dof=14 -caldac[2] gain=1.50861(12)e-3 V/bit S_min=245.07 dof=14 -caldac[3] gain=2.994(12)e-5 V/bit S_min=3.47886 dof=14 -caldac[4] gain=1.9325(12)e-4 V/bit S_min=126.368 dof=14 -caldac[5] gain=3.77(12)e-6 V/bit S_min=1.20793 dof=14 -caldac[20] gain=6.715(12)e-5 V/bit S_min=5.2316 dof=14 -caldac[21] gain=-9.753(12)e-5 V/bit S_min=6.69752 dof=14 -caldac[22] gain=-3.83(12)e-6 V/bit S_min=0.961773 dof=14 -caldac[23] gain=-4.655(12)e-5 V/bit S_min=4.43498 dof=14 -ao 0, unipolar zero offset, low gain -reading -8.6896(88)e-3, target 0 -caldac[0] gain=-8.11(12)e-6 V/bit S_min=1.26831 dof=14 -caldac[2] gain=1.50791(12)e-3 V/bit S_min=242.062 dof=14 -caldac[3] gain=3.014(12)e-5 V/bit S_min=4.71077 dof=14 -caldac[4] gain=-8.7(12)e-7 V/bit S_min=0.604307 dof=14 -caldac[16] gain=2.070(12)e-5 V/bit S_min=4.34329 dof=14 -caldac[19] gain=-2.215(12)e-5 V/bit S_min=3.60894 dof=14 -ao 0, unipolar high, low gain -reading 8.9778267(90), target 9.00008 -caldac[0] gain=-8.09(12)e-6 V/bit S_min=1.67508 dof=14 -caldac[2] gain=1.50765(12)e-3 V/bit S_min=224.212 dof=14 -caldac[3] gain=3.001(12)e-5 V/bit S_min=3.71449 dof=14 -caldac[4] gain=6.9664(12)e-4 V/bit S_min=941.979 dof=14 -caldac[5] gain=1.375(12)e-5 V/bit S_min=4.06726 dof=14 -caldac[16] gain=4.098(12)e-5 V/bit S_min=5.29771 dof=14 -caldac[17] gain=-3.5098(12)e-4 V/bit S_min=25.8469 dof=14 -caldac[18] gain=-1.392(12)e-5 V/bit S_min=1.73246 dof=14 -caldac[19] gain=-2.388(12)e-5 V/bit S_min=1.65244 dof=14 -ao 0, unipolar linearity (low), low gain -reading 0.9898539(85), target 1.00008 -caldac[0] gain=-8.05(12)e-6 V/bit S_min=1.37316 dof=14 -caldac[2] gain=1.50767(12)e-3 V/bit S_min=242.422 dof=14 -caldac[3] gain=2.990(12)e-5 V/bit S_min=6.27182 dof=14 -caldac[4] gain=7.654(12)e-5 V/bit S_min=18.4718 dof=14 -caldac[5] gain=1.44(12)e-6 V/bit S_min=0.441547 dof=14 -caldac[16] gain=2.535(12)e-5 V/bit S_min=1.81518 dof=14 -caldac[17] gain=-3.899(12)e-5 V/bit S_min=6.55846 dof=14 -caldac[18] gain=-1.49(12)e-6 V/bit S_min=1.07783 dof=14 -caldac[19] gain=-2.232(12)e-5 V/bit S_min=1.99979 dof=14 -ao 0, unipolar linearity (mid), low gain -reading 4.9837944(89), target 5.00008 -caldac[0] gain=-8.14(12)e-6 V/bit S_min=1.23582 dof=14 -caldac[2] gain=1.50795(12)e-3 V/bit S_min=233.814 dof=14 -caldac[3] gain=2.998(12)e-5 V/bit S_min=3.78682 dof=14 -caldac[4] gain=3.8683(12)e-4 V/bit S_min=245.128 dof=14 -caldac[5] gain=7.66(12)e-6 V/bit S_min=1.33929 dof=14 -caldac[16] gain=3.030(12)e-5 V/bit S_min=8.17521 dof=14 -caldac[17] gain=-1.9499(12)e-4 V/bit S_min=14.5217 dof=14 -caldac[18] gain=-7.63(12)e-6 V/bit S_min=1.66786 dof=14 -caldac[19] gain=-2.282(12)e-5 V/bit S_min=2.42265 dof=14 -ao 1, unipolar zero offset, low gain -reading -8.7447(85)e-3, target 0 -caldac[0] gain=-8.11(12)e-6 V/bit S_min=1.23183 dof=14 -caldac[2] gain=1.50784(12)e-3 V/bit S_min=230.705 dof=14 -caldac[3] gain=3.012(12)e-5 V/bit S_min=4.03818 dof=14 -caldac[4] gain=-8.9(12)e-7 V/bit S_min=0.999528 dof=14 -caldac[20] gain=2.075(12)e-5 V/bit S_min=4.36654 dof=14 -caldac[23] gain=-2.215(12)e-5 V/bit S_min=4.41373 dof=14 -ao 1, unipolar high, low gain -reading 8.9778986(84), target 9.00008 -caldac[0] gain=-8.11(12)e-6 V/bit S_min=1.65117 dof=14 -caldac[2] gain=1.50764(12)e-3 V/bit S_min=227.905 dof=14 -caldac[3] gain=2.995(12)e-5 V/bit S_min=3.74135 dof=14 -caldac[4] gain=6.9672(12)e-4 V/bit S_min=951.859 dof=14 -caldac[5] gain=1.381(12)e-5 V/bit S_min=2.06476 dof=14 -caldac[20] gain=4.096(12)e-5 V/bit S_min=3.93353 dof=14 -caldac[21] gain=-3.5097(12)e-4 V/bit S_min=45.246 dof=14 -caldac[22] gain=-1.400(12)e-5 V/bit S_min=3.52023 dof=14 -caldac[23] gain=-2.390(12)e-5 V/bit S_min=2.53243 dof=14 -WARNING: you need comedi driver version 0.7.67 or later -for this calibration to work properly -relative binary: ai, bipolar zero offset, low gain, ai, bipolar voltage -reference, low gain -caldac[4] set to 148 -relative binary: ai, bipolar zero offset, low gain, ai, bipolar zero offset, -high gain -caldac[2] set to 133 -binary: ai, bipolar zero offset, high gain -caldac[0] set to 170 -relative binary: ai, bipolar zero offset, low gain, ai, bipolar voltage -reference, low gain -caldac[5] set to 154 -relative binary: ai, bipolar zero offset, low gain, ai, bipolar zero offset, -high gain -caldac[3] set to 129 -binary: ai, bipolar zero offset, high gain -caldac[1] set to 103 -binary: ai, unipolar zero offset, high gain -caldac[6] set to 165 -linearity binary: ao 0, zero offset, low gain, -ao 0, linearity (mid), low gain, -ao 0, reference voltage, low gain -caldac[16] set to 125 -binary: ao 0, zero offset, low gain -caldac[19] set to 127 -binary: ao 0, reference voltage, low gain -caldac[17] set to 131 -binary: ao 0, reference voltage, low gain -caldac[18] set to 116 -linearity binary: ao 0, unipolar linearity (low), low gain, -ao 0, unipolar linearity (mid), low gain, -ao 0, unipolar high, low gain -caldac[16] set to 137 -binary: ao 0, unipolar zero offset, low gain -caldac[19] set to 135 -binary: ao 0, unipolar high, low gain -caldac[17] set to 131 -binary: ao 0, unipolar high, low gain -caldac[18] set to 137 -linearity binary: ao 1, zero offset, low gain, -ao 1, linearity (mid), low gain, -ao 1, reference voltage, low gain -caldac[20] set to 131 -binary: ao 1, zero offset, low gain -caldac[23] set to 127 -binary: ao 1, reference voltage, low gain -caldac[21] set to 131 -binary: ao 1, reference voltage, low gain -caldac[22] set to 139 -linearity binary: ao 1, unipolar linearity (low), low gain, -ao 1, unipolar linearity (mid), low gain, -ao 1, unipolar high, low gain -caldac[20] set to 144 -binary: ao 1, unipolar zero offset, low gain -caldac[23] set to 137 -binary: ao 1, unipolar high, low gain -caldac[21] set to 132 -binary: ao 1, unipolar high, low gain -caldac[22] set to 131 -writing calibration to /etc/comedi/calibrations/ni_pcimio_pci-6052e_comedi0 -ai, bipolar zero offset, low gain -applied calibration for subdev 0, channel 0, range 0, aref 3 -reading 1.22(79)e-5, target 0 -caldac[0] gain=-8.24(11)e-6 V/bit S_min=12.8404 dof=14 -caldac[2] gain=1.51035(12)e-3 V/bit S_min=226.945 dof=14 -caldac[3] gain=3.008(12)e-5 V/bit S_min=5.89065 dof=14 -ai, bipolar zero offset, high gain -applied calibration for subdev 0, channel 0, range 7, aref 3 -reading -1.06(20)e-6, target 0 -caldac[0] gain=-8.2351(27)e-6 V/bit S_min=19.9015 dof=14 -caldac[1] gain=1.625(27)e-7 V/bit S_min=2.15817 dof=14 -caldac[2] gain=7.5520(27)e-6 V/bit S_min=9.26061 dof=14 -caldac[3] gain=1.520(27)e-7 V/bit S_min=2.1878 dof=14 -ai, bipolar voltage reference, low gain -applied calibration for subdev 0, channel 5, range 0, aref 3 -reading 4.9994293(85), target 4.99944 -caldac[0] gain=-8.72(12)e-6 V/bit S_min=7.71306 dof=14 -caldac[2] gain=1.51047(12)e-3 V/bit S_min=215.361 dof=14 -caldac[3] gain=3.030(12)e-5 V/bit S_min=8.18281 dof=14 -caldac[4] gain=3.8728(12)e-4 V/bit S_min=254.015 dof=14 -caldac[5] gain=7.80(12)e-6 V/bit S_min=5.4533 dof=14 -ai, unipolar zero offset, low gain -applied calibration for subdev 0, channel 0, range 8, aref 3 -reading 8.9(52)e-7, target 0.00015259 -caldac[0] gain=-2.802(52)e-6 V/bit S_min=946.33 dof=14 -caldac[2] gain=6.35785(53)e-4 V/bit S_min=4.77224e+07 dof=14 -caldac[3] gain=9.576(47)e-6 V/bit S_min=20530.2 dof=14 -caldac[4] gain=-5.06446(75)e-4 V/bit S_min=5.71793e+06 dof=14 -caldac[5] gain=-6.820(59)e-6 V/bit S_min=3676.37 dof=14 -caldac[6] gain=-2.87876(83)e-4 V/bit S_min=953397 dof=14 -caldac[7] gain=7.22(95)e-8 V/bit S_min=42.5648 dof=14 -ai, unipolar zero offset, high gain -applied calibration for subdev 0, channel 0, range 15, aref 3 -reading 1.162(80)e-6, target 7.62951e-07 -caldac[0] gain=-6.4027(19)e-6 V/bit S_min=745553 dof=14 -caldac[1] gain=7.60(14)e-8 V/bit S_min=482.356 dof=14 -caldac[2] gain=3.1809(12)e-6 V/bit S_min=2.32324e+06 dof=14 -caldac[3] gain=5.31(12)e-8 V/bit S_min=533.002 dof=14 -caldac[4] gain=-2.5341(17)e-6 V/bit S_min=276594 dof=14 -caldac[5] gain=-3.73(15)e-8 V/bit S_min=43.6554 dof=14 -caldac[6] gain=-1.4421(18)e-6 V/bit S_min=47751.5 dof=14 -caldac[7] gain=5.2(11)e-9 V/bit S_min=0.674043 dof=14 -ai, unipolar voltage reference, low gain -applied calibration for subdev 0, channel 5, range 8, aref 3 -reading 4.9986949(88), target 4.99944 -caldac[0] gain=-8.73(12)e-6 V/bit S_min=13.4219 dof=14 -caldac[2] gain=1.51031(12)e-3 V/bit S_min=218.593 dof=14 -caldac[3] gain=3.020(12)e-5 V/bit S_min=8.37635 dof=14 -caldac[4] gain=-3.8770(12)e-4 V/bit S_min=273.581 dof=14 -caldac[5] gain=-8.06(12)e-6 V/bit S_min=13.2996 dof=14 -caldac[6] gain=-3.8724(12)e-4 V/bit S_min=11.7055 dof=14 -caldac[7] gain=3.61(12)e-6 V/bit S_min=0.733005 dof=14 -ao 0, zero offset, low gain -applied calibration for subdev 1, channel 0, range 0, aref 0 -applied calibration for subdev 0, channel 2, range 0, aref 3 -reading 6.56(80)e-5, target 0.00015259 -caldac[0] gain=-8.28(12)e-6 V/bit S_min=11.8596 dof=14 -caldac[2] gain=1.51033(12)e-3 V/bit S_min=208.618 dof=14 -caldac[3] gain=3.012(12)e-5 V/bit S_min=6.60325 dof=14 -caldac[16] gain=6.046(12)e-5 V/bit S_min=7.63731 dof=14 -caldac[19] gain=-4.573(12)e-5 V/bit S_min=7.39965 dof=14 -ao 0, reference voltage, low gain -applied calibration for subdev 1, channel 0, range 0, aref 0 -applied calibration for subdev 0, channel 2, range 0, aref 3 -reading 4.9998498(87), target 4.99992 -caldac[0] gain=-8.65(12)e-6 V/bit S_min=8.16191 dof=14 -caldac[2] gain=1.51059(12)e-3 V/bit S_min=196.756 dof=14 -caldac[3] gain=3.033(12)e-5 V/bit S_min=10.1251 dof=14 -caldac[4] gain=3.8725(12)e-4 V/bit S_min=228.889 dof=14 -caldac[5] gain=8.03(12)e-6 V/bit S_min=8.23961 dof=14 -caldac[16] gain=7.216(12)e-5 V/bit S_min=7.97625 dof=14 -caldac[17] gain=-1.9545(12)e-4 V/bit S_min=12.2067 dof=14 -caldac[18] gain=-7.94(12)e-6 V/bit S_min=12.4849 dof=14 -caldac[19] gain=-4.708(12)e-5 V/bit S_min=7.66576 dof=14 -ao 0, linearity (mid), low gain -applied calibration for subdev 1, channel 0, range 0, aref 0 -applied calibration for subdev 0, channel 2, range 0, aref 3 -reading 2.4997732(92), target 2.49989 -caldac[0] gain=-9.23(12)e-6 V/bit S_min=17.2071 dof=14 -caldac[2] gain=1.51116(12)e-3 V/bit S_min=184.828 dof=14 -caldac[3] gain=3.086(12)e-5 V/bit S_min=27.1628 dof=14 -caldac[4] gain=1.9403(12)e-4 V/bit S_min=114.247 dof=14 -caldac[5] gain=4.25(12)e-6 V/bit S_min=8.26075 dof=14 -caldac[16] gain=6.791(12)e-5 V/bit S_min=15.9892 dof=14 -caldac[17] gain=-9.846(12)e-5 V/bit S_min=20.8168 dof=14 -caldac[18] gain=-4.05(12)e-6 V/bit S_min=2.05861 dof=14 -caldac[19] gain=-4.729(12)e-5 V/bit S_min=24.0197 dof=14 -ao 1, zero offset, low gain -applied calibration for subdev 1, channel 1, range 0, aref 0 -applied calibration for subdev 0, channel 3, range 0, aref 3 -reading 1.729(70)e-4, target 0.00015259 -caldac[0] gain=-8.12(12)e-6 V/bit S_min=7.8551 dof=14 -caldac[2] gain=1.51032(12)e-3 V/bit S_min=211.483 dof=14 -caldac[3] gain=3.009(12)e-5 V/bit S_min=7.33812 dof=14 -caldac[20] gain=6.047(12)e-5 V/bit S_min=3.39682 dof=14 -caldac[23] gain=-4.576(12)e-5 V/bit S_min=9.37267 dof=14 -ao 1, reference voltage, low gain -applied calibration for subdev 1, channel 1, range 0, aref 0 -applied calibration for subdev 0, channel 3, range 0, aref 3 -reading 4.9998865(85), target 4.99992 -caldac[0] gain=-8.74(12)e-6 V/bit S_min=6.3704 dof=14 -caldac[2] gain=1.51058(12)e-3 V/bit S_min=204.776 dof=14 -caldac[3] gain=3.036(12)e-5 V/bit S_min=6.58449 dof=14 -caldac[4] gain=3.8722(12)e-4 V/bit S_min=249.648 dof=14 -caldac[5] gain=8.01(12)e-6 V/bit S_min=12.6935 dof=14 -caldac[20] gain=7.208(12)e-5 V/bit S_min=10.2734 dof=14 -caldac[21] gain=-1.9541(12)e-4 V/bit S_min=14.4007 dof=14 -caldac[22] gain=-7.75(12)e-6 V/bit S_min=6.23702 dof=14 -caldac[23] gain=-4.719(12)e-5 V/bit S_min=8.90949 dof=14 -ao 1, linearity (mid), low gain -applied calibration for subdev 1, channel 1, range 0, aref 0 -applied calibration for subdev 0, channel 3, range 0, aref 3 -reading 2.4998030(94), target 2.49989 -caldac[0] gain=-9.24(12)e-6 V/bit S_min=10.436 dof=14 -caldac[2] gain=1.51107(12)e-3 V/bit S_min=190.507 dof=14 -caldac[3] gain=3.098(12)e-5 V/bit S_min=19.4883 dof=14 -caldac[4] gain=1.9402(12)e-4 V/bit S_min=118.029 dof=14 -caldac[5] gain=4.44(12)e-6 V/bit S_min=12.7197 dof=14 -caldac[20] gain=6.780(12)e-5 V/bit S_min=25.1694 dof=14 -caldac[21] gain=-9.847(12)e-5 V/bit S_min=21.0758 dof=14 -caldac[22] gain=-3.85(12)e-6 V/bit S_min=4.06931 dof=14 -caldac[23] gain=-4.732(12)e-5 V/bit S_min=25.8348 dof=14 -ao 0, unipolar zero offset, low gain -applied calibration for subdev 1, channel 0, range 1, aref 0 -applied calibration for subdev 0, channel 2, range 0, aref 3 -reading -3.49(81)e-5, target 0 -caldac[0] gain=-8.16(11)e-6 V/bit S_min=10.3392 dof=14 -caldac[2] gain=1.51033(12)e-3 V/bit S_min=225.781 dof=14 -caldac[3] gain=3.008(12)e-5 V/bit S_min=5.71954 dof=14 -caldac[16] gain=2.066(12)e-5 V/bit S_min=10.5328 dof=14 -caldac[19] gain=-2.205(12)e-5 V/bit S_min=9.06023 dof=14 -ao 0, unipolar high, low gain -applied calibration for subdev 1, channel 0, range 1, aref 0 -applied calibration for subdev 0, channel 2, range 0, aref 3 -reading 9.0000644(87), target 9.00008 -caldac[0] gain=-8.05(12)e-6 V/bit S_min=1.00629 dof=14 -caldac[2] gain=1.51011(12)e-3 V/bit S_min=211.349 dof=14 -caldac[3] gain=2.993(12)e-5 V/bit S_min=3.5504 dof=14 -caldac[4] gain=6.9706(12)e-4 V/bit S_min=897.848 dof=14 -caldac[5] gain=1.382(12)e-5 V/bit S_min=2.19078 dof=14 -caldac[16] gain=4.096(12)e-5 V/bit S_min=2.63364 dof=14 -caldac[17] gain=-3.5177(12)e-4 V/bit S_min=36.6138 dof=14 -caldac[18] gain=-1.394(12)e-5 V/bit S_min=6.23585 dof=14 -caldac[19] gain=-2.392(12)e-5 V/bit S_min=3.22514 dof=14 -ao 0, unipolar linearity (low), low gain -applied calibration for subdev 1, channel 0, range 1, aref 0 -applied calibration for subdev 0, channel 2, range 0, aref 3 -reading 0.9999911(86), target 1.00008 -caldac[0] gain=-8.20(12)e-6 V/bit S_min=2.39163 dof=14 -caldac[2] gain=1.51008(12)e-3 V/bit S_min=225.515 dof=14 -caldac[3] gain=2.993(12)e-5 V/bit S_min=2.07969 dof=14 -caldac[4] gain=7.724(12)e-5 V/bit S_min=17.7127 dof=14 -caldac[5] gain=1.53(12)e-6 V/bit S_min=0.977303 dof=14 -caldac[16] gain=2.535(12)e-5 V/bit S_min=1.29985 dof=14 -caldac[17] gain=-3.892(12)e-5 V/bit S_min=7.38861 dof=14 -caldac[18] gain=-1.49(12)e-6 V/bit S_min=0.948021 dof=14 -caldac[19] gain=-2.246(12)e-5 V/bit S_min=2.52109 dof=14 -ao 0, unipolar linearity (mid), low gain -applied calibration for subdev 1, channel 0, range 1, aref 0 -applied calibration for subdev 0, channel 2, range 0, aref 3 -reading 4.9999613(84), target 5.00008 -caldac[0] gain=-8.65(12)e-6 V/bit S_min=8.3377 dof=14 -caldac[2] gain=1.51048(12)e-3 V/bit S_min=225.451 dof=14 -caldac[3] gain=3.032(12)e-5 V/bit S_min=5.11435 dof=14 -caldac[4] gain=3.8738(12)e-4 V/bit S_min=267.703 dof=14 -caldac[5] gain=8.13(12)e-6 V/bit S_min=12.766 dof=14 -caldac[16] gain=3.060(12)e-5 V/bit S_min=6.47541 dof=14 -caldac[17] gain=-1.9539(12)e-4 V/bit S_min=9.27436 dof=14 -caldac[18] gain=-8.27(12)e-6 V/bit S_min=4.48608 dof=14 -caldac[19] gain=-2.324(12)e-5 V/bit S_min=7.43214 dof=14 -ao 1, unipolar zero offset, low gain -applied calibration for subdev 1, channel 1, range 1, aref 0 -applied calibration for subdev 0, channel 3, range 0, aref 3 -reading 3.6(78)e-6, target 0 -caldac[0] gain=-8.23(11)e-6 V/bit S_min=10.4753 dof=14 -caldac[2] gain=1.51032(12)e-3 V/bit S_min=207.999 dof=14 -caldac[3] gain=3.009(12)e-5 V/bit S_min=3.75031 dof=14 -caldac[20] gain=2.061(12)e-5 V/bit S_min=7.83482 dof=14 -caldac[23] gain=-2.204(12)e-5 V/bit S_min=5.95498 dof=14 -ao 1, unipolar high, low gain -applied calibration for subdev 1, channel 1, range 1, aref 0 -applied calibration for subdev 0, channel 3, range 0, aref 3 -reading 9.0000200(87), target 9.00008 -caldac[0] gain=-7.87(12)e-6 V/bit S_min=2.36644 dof=14 -caldac[2] gain=1.51017(12)e-3 V/bit S_min=224.804 dof=14 -caldac[3] gain=3.001(12)e-5 V/bit S_min=2.94806 dof=14 -caldac[4] gain=6.9704(12)e-4 V/bit S_min=950.011 dof=14 -caldac[5] gain=1.378(12)e-5 V/bit S_min=4.40255 dof=14 -caldac[20] gain=4.088(12)e-5 V/bit S_min=5.92164 dof=14 -caldac[21] gain=-3.5165(12)e-4 V/bit S_min=29.019 dof=14 -caldac[22] gain=-1.387(12)e-5 V/bit S_min=2.35465 dof=14 -caldac[23] gain=-2.399(12)e-5 V/bit S_min=3.46704 dof=14 -Applied calibration for subdevice 0, channel 0, range 0, aref 0 - - diff --git a/comedi_calibrate/results/pci-6071e b/comedi_calibrate/results/pci-6071e deleted file mode 100644 index a1d83a1..0000000 --- a/comedi_calibrate/results/pci-6071e +++ /dev/null @@ -1,309 +0,0 @@ -eeprom reference lsb=218 msb=255 -resulting reference voltage: 4.99996 -Warning: device may not be not fully calibrated due to insufficient -information. -Please file a bug report at http://bugs.comedi.org/ and attach this output. -This output will also allow comedi_calibrate to execute more -quickly in the future. -Id: comedi_calibrate.c,v 1.84 2003/06/12 19:57:43 fmhess Exp -Driver name: ni_pcimio -Device name: pci-6071e -Id: ni.c,v 1.80 2003/05/25 21:11:20 fmhess Exp -Comedi version: 0.7.66 -ai, bipolar zero offset, low gain -reading 3.496(96)e-3, target 0 -caldac[4] gain=-7.863(12)e-4 V/bit S_min=21.857 dof=14 -caldac[8] gain=-1.01(12)e-5 V/bit S_min=0.699013 dof=14 -ai, bipolar zero offset, high gain -reading -5.5954(61)e-4, target 0 -caldac[2] gain=6.41(81)e-8 V/bit S_min=1.04594 dof=14 -caldac[4] gain=-3.8878(81)e-6 V/bit S_min=2.21943 dof=14 -caldac[8] gain=-8.8661(81)e-6 V/bit S_min=13.8114 dof=14 -ai, bipolar voltage reference, low gain -reading 5.001536(87), target 4.99996 -caldac[2] gain=-4.825(12)e-4 V/bit S_min=24.8851 dof=14 -caldac[4] gain=-7.812(12)e-4 V/bit S_min=5.92385 dof=14 -caldac[8] gain=-10.0(12)e-6 V/bit S_min=0.833473 dof=14 -ai, unipolar zero offset, low gain -reading 0.020499(84), target 0.002442 -caldac[4] gain=-5.3645(74)e-4 V/bit S_min=55067.4 dof=14 -caldac[7] gain=-6.3301(73)e-4 V/bit S_min=89089.2 dof=14 -caldac[8] gain=-9.0(12)e-6 V/bit S_min=1.22819 dof=14 -ai, unipolar zero offset, high gain -reading 0.0( 0)e-2147483648, target 1.221e-05 -caldac[4] gain=-3.440(52)e-8 V/bit S_min=20293.2 dof=14 -caldac[7] gain=-2.600(11)e-7 V/bit S_min=123976 dof=14 -caldac[8] gain=-2.1118(26)e-6 V/bit S_min=467809 dof=14 -ai, unipolar voltage reference, low gain -reading 5.018162(90), target 4.99996 -caldac[2] gain=-4.805(12)e-4 V/bit S_min=10.2476 dof=14 -caldac[4] gain=-7.811(12)e-4 V/bit S_min=7.58262 dof=14 -caldac[7] gain=-9.601(12)e-4 V/bit S_min=8.59342 dof=14 -caldac[8] gain=-9.1(12)e-6 V/bit S_min=0.774693 dof=14 -ao 0, zero offset, low gain -reading -0.012243(88), target 0.002442 -caldac[4] gain=-7.857(12)e-4 V/bit S_min=19.0306 dof=14 -caldac[6] gain=-9.039(12)e-4 V/bit S_min=22.6976 dof=14 -caldac[8] gain=-9.0(12)e-6 V/bit S_min=0.687618 dof=14 -caldac[10] gain=-1.362(12)e-4 V/bit S_min=12.3635 dof=14 -ao 0, reference voltage, low gain -reading 7.980512(86), target 8.00244 -caldac[2] gain=-7.634(12)e-4 V/bit S_min=29.3582 dof=14 -caldac[4] gain=-7.770(12)e-4 V/bit S_min=4.27958 dof=14 -caldac[6] gain=-8.946(12)e-4 V/bit S_min=2.72123 dof=14 -caldac[8] gain=-9.0(12)e-6 V/bit S_min=1.6493 dof=14 -caldac[10] gain=-2.050(12)e-4 V/bit S_min=1.45642 dof=14 -caldac[11] gain=-1.562(12)e-4 V/bit S_min=1.61435 dof=14 -ao 0, linearity (negative), low gain -reading 3.984733(88), target 4.00244 -caldac[2] gain=-3.781(12)e-4 V/bit S_min=7.11583 dof=14 -caldac[4] gain=-7.760(12)e-4 V/bit S_min=2.55866 dof=14 -caldac[6] gain=-8.945(12)e-4 V/bit S_min=2.82617 dof=14 -caldac[8] gain=-9.5(12)e-6 V/bit S_min=1.31389 dof=14 -caldac[10] gain=-1.852(12)e-4 V/bit S_min=0.724459 dof=14 -caldac[11] gain=-7.80(12)e-5 V/bit S_min=0.597508 dof=14 -ao 1, zero offset, low gain -reading -0.012859(85), target 0.002442 -caldac[1] gain=-1.370(12)e-4 V/bit S_min=11.4009 dof=14 -caldac[4] gain=-7.853(12)e-4 V/bit S_min=21.2819 dof=14 -caldac[8] gain=-8.9(12)e-6 V/bit S_min=0.684516 dof=14 -caldac[9] gain=-9.040(12)e-4 V/bit S_min=23.8881 dof=14 -ao 1, reference voltage, low gain -reading 7.983063(83), target 8.00244 -caldac[1] gain=-2.057(12)e-4 V/bit S_min=1.90165 dof=14 -caldac[2] gain=-7.637(12)e-4 V/bit S_min=23.2246 dof=14 -caldac[4] gain=-7.765(12)e-4 V/bit S_min=2.28834 dof=14 -caldac[5] gain=-1.563(12)e-4 V/bit S_min=2.00985 dof=14 -caldac[8] gain=-8.8(12)e-6 V/bit S_min=0.949137 dof=14 -caldac[9] gain=-8.953(12)e-4 V/bit S_min=1.98644 dof=14 -ao 1, linearity (negative), low gain -reading 3.985644(89), target 4.00244 -caldac[1] gain=-1.853(12)e-4 V/bit S_min=1.78522 dof=14 -caldac[2] gain=-3.788(12)e-4 V/bit S_min=10.0287 dof=14 -caldac[4] gain=-7.753(12)e-4 V/bit S_min=4.62437 dof=14 -caldac[5] gain=-7.79(12)e-5 V/bit S_min=1.26242 dof=14 -caldac[8] gain=-9.3(12)e-6 V/bit S_min=0.382142 dof=14 -caldac[9] gain=-8.949(12)e-4 V/bit S_min=3.74794 dof=14 -ao 0, unipolar zero offset, low gain -reading -0.011404(84), target 0 -caldac[4] gain=-7.852(12)e-4 V/bit S_min=22.6656 dof=14 -caldac[6] gain=-9.043(12)e-4 V/bit S_min=19.5332 dof=14 -caldac[8] gain=-8.8(12)e-6 V/bit S_min=0.444858 dof=14 -caldac[10] gain=-4.45(12)e-5 V/bit S_min=0.924042 dof=14 -ao 0, unipolar high, low gain -reading -0.011590(86), target 0 -caldac[4] gain=-7.858(12)e-4 V/bit S_min=17.0993 dof=14 -caldac[6] gain=-9.045(12)e-4 V/bit S_min=18.9856 dof=14 -caldac[8] gain=-8.9(12)e-6 V/bit S_min=0.916444 dof=14 -caldac[10] gain=-4.40(12)e-5 V/bit S_min=0.65867 dof=14 -ao 0, unipolar linearity (mid), low gain -reading -0.011514(89), target 0 -caldac[4] gain=-7.855(12)e-4 V/bit S_min=17.8868 dof=14 -caldac[6] gain=-9.047(12)e-4 V/bit S_min=20.7486 dof=14 -caldac[8] gain=-8.7(12)e-6 V/bit S_min=0.56776 dof=14 -caldac[10] gain=-4.37(12)e-5 V/bit S_min=0.700342 dof=14 -ao 1, unipolar zero offset, low gain -reading -0.013150(89), target 0 -caldac[1] gain=-4.42(12)e-5 V/bit S_min=1.27423 dof=14 -caldac[4] gain=-7.856(12)e-4 V/bit S_min=23.4799 dof=14 -caldac[8] gain=-9.0(12)e-6 V/bit S_min=0.656603 dof=14 -caldac[9] gain=-9.042(12)e-4 V/bit S_min=21.7567 dof=14 -ao 1, unipolar high, low gain -reading -0.013078(86), target 0 -caldac[1] gain=-4.43(12)e-5 V/bit S_min=0.738629 dof=14 -caldac[4] gain=-7.850(12)e-4 V/bit S_min=23.9083 dof=14 -caldac[8] gain=-8.8(12)e-6 V/bit S_min=0.304527 dof=14 -caldac[9] gain=-9.046(12)e-4 V/bit S_min=18.0342 dof=14 -ao 1, unipolar linearity (mid), low gain -reading -0.013097(84), target 0 -caldac[1] gain=-4.42(12)e-5 V/bit S_min=0.831672 dof=14 -caldac[4] gain=-7.854(12)e-4 V/bit S_min=22.5469 dof=14 -caldac[8] gain=-8.8(12)e-6 V/bit S_min=0.62557 dof=14 -caldac[9] gain=-9.045(12)e-4 V/bit S_min=23.6266 dof=14 -WARNING: you need comedi driver version 0.7.67 or later -for this calibration to work properly -relative binary: ai, bipolar zero offset, low gain, ai, bipolar voltage -reference, low gain -caldac[2] set to 123 -relative binary: ai, bipolar zero offset, low gain, ai, bipolar zero offset, -high gain -caldac[4] set to 131 -binary: ai, bipolar zero offset, high gain -caldac[0] set to 255 -WARNING: caldac[0] pegged! -binary: ai, bipolar zero offset, high gain -caldac[8] set to 62 -postgain linearity: ao 0, linearity (negative), low gain, -ao 0, zero offset, low gain, -ao 0, reference voltage, low gain -caldac[10] set to 153 -binary: ao 0, zero offset, low gain -caldac[6] set to 105 -binary: ao 0, reference voltage, low gain -caldac[11] set to 85 -postgain linearity: ao 0, unipolar zero offset, low gain, -ao 0, unipolar linearity (mid), low gain, -ao 0, unipolar high, low gain -caldac[10] set to 1 -binary: ao 0, unipolar zero offset, low gain -caldac[6] set to 118 -binary: ao 0, unipolar high, low gain -caldac[11] set to 16 -postgain linearity: ao 1, linearity (negative), low gain, -ao 1, zero offset, low gain, -ao 1, reference voltage, low gain -caldac[1] set to 143 -binary: ao 1, zero offset, low gain -caldac[9] set to 105 -binary: ao 1, reference voltage, low gain -caldac[5] set to 115 -postgain linearity: ao 1, unipolar zero offset, low gain, -ao 1, unipolar linearity (mid), low gain, -ao 1, unipolar high, low gain -caldac[1] set to 1 -binary: ao 1, unipolar zero offset, low gain -caldac[9] set to 116 -binary: ao 1, unipolar high, low gain -caldac[5] set to 0 -WARNING: caldac[5] pegged! -writing calibration to /etc/comedi/calibrations/ni_pcimio_pci-6071e_comedi0 -ai, bipolar zero offset, low gain -applied calibration for subdev 0, channel 0, range 0, aref 3 -reading 5.68(92)e-4, target 0 -caldac[4] gain=-7.867(12)e-4 V/bit S_min=21.0838 dof=14 -caldac[8] gain=-1.14(12)e-5 V/bit S_min=1.35955 dof=14 -ai, bipolar zero offset, high gain -applied calibration for subdev 0, channel 0, range 7, aref 3 -reading 5.2(59)e-7, target 0 -caldac[4] gain=-3.9334(81)e-6 V/bit S_min=10.5606 dof=14 -caldac[8] gain=-8.8700(81)e-6 V/bit S_min=16.3103 dof=14 -ai, bipolar voltage reference, low gain -applied calibration for subdev 0, channel 5, range 0, aref 3 -reading 5.000963(87), target 4.99996 -caldac[2] gain=-4.825(12)e-4 V/bit S_min=23.7361 dof=14 -caldac[4] gain=-7.819(12)e-4 V/bit S_min=4.81761 dof=14 -caldac[8] gain=-9.9(12)e-6 V/bit S_min=0.971836 dof=14 -ai, unipolar zero offset, low gain -applied calibration for subdev 0, channel 0, range 8, aref 3 -reading 0.018215(86), target 0.002442 -caldac[4] gain=-5.3987(75)e-4 V/bit S_min=52638 dof=14 -caldac[7] gain=-6.1980(73)e-4 V/bit S_min=92809.6 dof=14 -caldac[8] gain=-9.0(12)e-6 V/bit S_min=1.01631 dof=14 -ai, unipolar zero offset, high gain -applied calibration for subdev 0, channel 0, range 15, aref 3 -reading 8.838(58)e-5, target 1.221e-05 -caldac[4] gain=-2.6829(52)e-6 V/bit S_min=28212.7 dof=14 -caldac[7] gain=-3.0849(50)e-6 V/bit S_min=49735.8 dof=14 -caldac[8] gain=-2.0447(26)e-6 V/bit S_min=463142 dof=14 -ai, unipolar voltage reference, low gain -applied calibration for subdev 0, channel 5, range 8, aref 3 -reading 5.017733(89), target 4.99996 -caldac[2] gain=-4.806(12)e-4 V/bit S_min=13.5741 dof=14 -caldac[4] gain=-7.816(12)e-4 V/bit S_min=4.25985 dof=14 -caldac[7] gain=-9.610(12)e-4 V/bit S_min=7.08873 dof=14 -caldac[8] gain=-8.6(12)e-6 V/bit S_min=1.11003 dof=14 -ao 0, zero offset, low gain -applied calibration for subdev 1, channel 0, range 0, aref 0 -applied calibration for subdev 0, channel 2, range 0, aref 3 -reading 2.742(89)e-3, target 0.002442 -caldac[4] gain=-7.862(12)e-4 V/bit S_min=21.1642 dof=14 -caldac[6] gain=-9.040(12)e-4 V/bit S_min=25.7068 dof=14 -caldac[8] gain=-8.8(12)e-6 V/bit S_min=0.916272 dof=14 -caldac[10] gain=-1.396(12)e-4 V/bit S_min=10.2294 dof=14 -ao 0, reference voltage, low gain -applied calibration for subdev 1, channel 0, range 0, aref 0 -applied calibration for subdev 0, channel 2, range 0, aref 3 -reading 8.002456(86), target 8.00244 -caldac[2] gain=-7.649(12)e-4 V/bit S_min=22.7145 dof=14 -caldac[4] gain=-7.773(12)e-4 V/bit S_min=1.9363 dof=14 -caldac[6] gain=-8.957(12)e-4 V/bit S_min=1.68465 dof=14 -caldac[8] gain=-8.8(12)e-6 V/bit S_min=0.814041 dof=14 -caldac[10] gain=-2.051(12)e-4 V/bit S_min=2.5541 dof=14 -caldac[11] gain=-1.552(12)e-4 V/bit S_min=0.894274 dof=14 -ao 0, linearity (negative), low gain -applied calibration for subdev 1, channel 0, range 0, aref 0 -applied calibration for subdev 0, channel 2, range 0, aref 3 -reading 4.001874(87), target 4.00244 -caldac[2] gain=-3.802(12)e-4 V/bit S_min=5.15407 dof=14 -caldac[4] gain=-7.759(12)e-4 V/bit S_min=3.55141 dof=14 -caldac[6] gain=-8.954(12)e-4 V/bit S_min=2.50699 dof=14 -caldac[8] gain=-9.2(12)e-6 V/bit S_min=0.518118 dof=14 -caldac[10] gain=-1.855(12)e-4 V/bit S_min=1.37541 dof=14 -caldac[11] gain=-7.76(12)e-5 V/bit S_min=0.917532 dof=14 -ao 1, zero offset, low gain -applied calibration for subdev 1, channel 1, range 0, aref 0 -applied calibration for subdev 0, channel 3, range 0, aref 3 -reading 3.320(89)e-3, target 0.002442 -caldac[1] gain=-1.395(12)e-4 V/bit S_min=9.13709 dof=14 -caldac[4] gain=-7.862(12)e-4 V/bit S_min=18.5454 dof=14 -caldac[8] gain=-9.6(12)e-6 V/bit S_min=0.531896 dof=14 -caldac[9] gain=-9.062(12)e-4 V/bit S_min=17.5875 dof=14 -ao 1, reference voltage, low gain -applied calibration for subdev 1, channel 1, range 0, aref 0 -applied calibration for subdev 0, channel 3, range 0, aref 3 -reading 8.002537(85), target 8.00244 -caldac[1] gain=-2.055(12)e-4 V/bit S_min=2.2748 dof=14 -caldac[2] gain=-7.679(12)e-4 V/bit S_min=17.2396 dof=14 -caldac[4] gain=-7.768(12)e-4 V/bit S_min=2.15147 dof=14 -caldac[5] gain=-1.542(12)e-4 V/bit S_min=0.655287 dof=14 -caldac[8] gain=-9.1(12)e-6 V/bit S_min=1.92542 dof=14 -caldac[9] gain=-8.960(12)e-4 V/bit S_min=3.66176 dof=14 -ao 1, linearity (negative), low gain -applied calibration for subdev 1, channel 1, range 0, aref 0 -applied calibration for subdev 0, channel 3, range 0, aref 3 -reading 4.002270(85), target 4.00244 -caldac[1] gain=-1.859(12)e-4 V/bit S_min=0.845903 dof=14 -caldac[2] gain=-3.827(12)e-4 V/bit S_min=11.7608 dof=14 -caldac[4] gain=-7.757(12)e-4 V/bit S_min=1.98853 dof=14 -caldac[5] gain=-7.76(12)e-5 V/bit S_min=1.35054 dof=14 -caldac[8] gain=-8.5(12)e-6 V/bit S_min=0.943043 dof=14 -caldac[9] gain=-8.942(12)e-4 V/bit S_min=1.58679 dof=14 -ao 0, unipolar zero offset, low gain -applied calibration for subdev 1, channel 0, range 1, aref 0 -applied calibration for subdev 0, channel 2, range 0, aref 3 -reading 2.10(90)e-4, target 0 -caldac[4] gain=-7.863(12)e-4 V/bit S_min=20.3835 dof=14 -caldac[6] gain=-9.051(12)e-4 V/bit S_min=19.4684 dof=14 -caldac[8] gain=-1.12(12)e-5 V/bit S_min=1.95292 dof=14 -caldac[10] gain=-4.57(12)e-5 V/bit S_min=2.75928 dof=14 -ao 0, unipolar high, low gain -applied calibration for subdev 1, channel 0, range 1, aref 0 -applied calibration for subdev 0, channel 2, range 0, aref 3 -reading 3.00(92)e-4, target 0 -caldac[4] gain=-7.868(12)e-4 V/bit S_min=16.4288 dof=14 -caldac[6] gain=-9.056(12)e-4 V/bit S_min=24.5643 dof=14 -caldac[8] gain=-1.11(12)e-5 V/bit S_min=1.43656 dof=14 -caldac[10] gain=-4.65(12)e-5 V/bit S_min=0.837541 dof=14 -ao 0, unipolar linearity (mid), low gain -applied calibration for subdev 1, channel 0, range 1, aref 0 -applied calibration for subdev 0, channel 2, range 0, aref 3 -reading 1.96(90)e-4, target 0 -caldac[4] gain=-7.868(12)e-4 V/bit S_min=14.2051 dof=14 -caldac[6] gain=-9.056(12)e-4 V/bit S_min=18.6665 dof=14 -caldac[8] gain=-1.12(12)e-5 V/bit S_min=1.18046 dof=14 -caldac[10] gain=-4.56(12)e-5 V/bit S_min=1.98868 dof=14 -ao 1, unipolar zero offset, low gain -applied calibration for subdev 1, channel 1, range 1, aref 0 -applied calibration for subdev 0, channel 3, range 0, aref 3 -reading 3.62(91)e-4, target 0 -caldac[1] gain=-4.59(12)e-5 V/bit S_min=2.76109 dof=14 -caldac[4] gain=-7.864(12)e-4 V/bit S_min=17.9176 dof=14 -caldac[8] gain=-1.18(12)e-5 V/bit S_min=1.05356 dof=14 -caldac[9] gain=-9.054(12)e-4 V/bit S_min=20.5404 dof=14 -ao 1, unipolar high, low gain -applied calibration for subdev 1, channel 1, range 1, aref 0 -applied calibration for subdev 0, channel 3, range 0, aref 3 -reading 4.67(91)e-4, target 0 -caldac[1] gain=-4.62(12)e-5 V/bit S_min=2.01282 dof=14 -caldac[4] gain=-7.867(12)e-4 V/bit S_min=18.8753 dof=14 -caldac[8] gain=-1.11(12)e-5 V/bit S_min=0.816831 dof=14 -caldac[9] gain=-9.055(12)e-4 V/bit S_min=21.3795 dof=14 -ao 1, unipolar linearity (mid), low gain -applied calibration for subdev 1, channel 1, range 1, aref 0 -applied calibration for subdev 0, channel 3, range 0, aref 3 -reading 4.91(91)e-4, target 0 -caldac[1] gain=-4.55(12)e-5 V/bit S_min=2.45985 dof=14 -caldac[4] gain=-7.863(12)e-4 V/bit S_min=18.2828 dof=14 -caldac[8] gain=-1.15(12)e-5 V/bit S_min=0.957032 dof=14 -caldac[9] gain=-9.053(12)e-4 V/bit S_min=20.0688 dof=14 -Applied calibration for subdevice 0, channel 0, range 0, aref 0 diff --git a/comedi_calibrate/results/pci-6110 b/comedi_calibrate/results/pci-6110 deleted file mode 100644 index 1359b07..0000000 --- a/comedi_calibrate/results/pci-6110 +++ /dev/null @@ -1,489 +0,0 @@ -eeprom reference lsb=111 msb=0 -resulting reference voltage: 5.00011 -Id: comedi_calibrate.c,v 1.77 2003/05/22 20:49:53 fmhess Exp -Driver name: ni_pcimio -Device name: pci-6110 -Id: ni.c,v 1.79 2003/05/22 20:42:34 fmhess Exp -Comedi version: 0.7.66 -ao ch 0, zero offset -reading 0.167749(55), target 0.00015259 -ao ch 0, reference voltage -reading 5.248164(37), target 4.99992 -ao ch 1, zero offset -reading 0.084316(65), target 0.00015259 -ao ch 1, reference voltage -reading 5.124542(66), target 4.99992 -ai, ch 0, range 0, zero offset -reading -0.03737(14), target 0 -ai, ch 0, range 0, voltage reference -reading 3.97212(62)e1, target 39.7509 -ai, ch 1, range 0, zero offset -reading -0.06172(13), target 0 -ai, ch 1, range 0, voltage reference -reading 3.95901(62)e1, target 39.7509 -ai, ch 2, range 0, zero offset -reading -0.06069(12), target 0 -ai, ch 2, range 0, voltage reference -reading 3.96365(63)e1, target 39.7509 -ai, ch 3, range 0, zero offset -reading -0.03305(27), target 0 -ai, ch 3, range 0, voltage reference -reading 3.96762(62)e1, target 39.7509 -ai, ch 0, range 1, zero offset -reading -0.014910(56), target 0 -ai, ch 0, range 1, voltage reference -reading 1.57468(86)e1, target 15.7503 -ai, ch 1, range 1, zero offset -reading -0.025450(94), target 0 -ai, ch 1, range 1, voltage reference -reading 1.56933(86)e1, target 15.7503 -ai, ch 2, range 1, zero offset -reading -0.024907(72), target 0 -ai, ch 2, range 1, voltage reference -reading 1.57111(86)e1, target 15.7503 -ai, ch 3, range 1, zero offset -reading -0.01376(11), target 0 -ai, ch 3, range 1, voltage reference -reading 1.57287(86)e1, target 15.7503 -ai, ch 0, range 2, zero offset -reading -7.550(32)e-3, target 0 -ai, ch 0, range 2, voltage reference -reading 4.993809(21), target 5.00011 -ai, ch 1, range 2, zero offset -reading -0.012286(20), target 0 -ai, ch 1, range 2, voltage reference -reading 4.974927(49), target 5.00011 -ai, ch 2, range 2, zero offset -reading -0.012000(31), target 0 -ai, ch 2, range 2, voltage reference -reading 4.982963(65), target 5.00011 -ai, ch 3, range 2, zero offset -reading -6.553(57)e-3, target 0 -ai, ch 3, range 2, voltage reference -reading 4.988711(43), target 5.00011 -ai, ch 0, range 3, zero offset -reading -3.751(14)e-3, target 0 -ai, ch 0, range 3, voltage reference -reading 3.97205(62), target 3.97509 -ai, ch 1, range 3, zero offset -reading -6.150(12)e-3, target 0 -ai, ch 1, range 3, voltage reference -reading 3.95907(62), target 3.97509 -ai, ch 2, range 3, zero offset -reading -6.043(13)e-3, target 0 -ai, ch 2, range 3, voltage reference -reading 3.96385(62), target 3.97509 -ai, ch 3, range 3, zero offset -reading -3.262(28)e-3, target 0 -ai, ch 3, range 3, voltage reference -reading 3.96762(62), target 3.97509 -ai, ch 0, range 4, zero offset -reading -1.4871(53)e-3, target 0 -ai, ch 0, range 4, voltage reference -reading 1.57476(86), target 1.57503 -ai, ch 1, range 4, zero offset -reading -2.5307(89)e-3, target 0 -ai, ch 1, range 4, voltage reference -reading 1.56936(86), target 1.57503 -ai, ch 2, range 4, zero offset -reading -2.4840(71)e-3, target 0 -ai, ch 2, range 4, voltage reference -reading 1.57114(86), target 1.57503 -ai, ch 3, range 4, zero offset -reading -1.3956(99)e-3, target 0 -ai, ch 3, range 4, voltage reference -reading 1.57276(86), target 1.57503 -ai, ch 0, range 5, zero offset -reading -7.297(36)e-4, target 0 -ai, ch 0, range 5, voltage reference -reading 0.77509(49), target 0.775017 -ai, ch 1, range 5, zero offset -reading -1.3641(69)e-3, target 0 -ai, ch 1, range 5, voltage reference -reading 0.77230(49), target 0.775017 -ai, ch 2, range 5, zero offset -reading -1.4399(77)e-3, target 0 -ai, ch 2, range 5, voltage reference -reading 0.77314(49), target 0.775017 -ai, ch 3, range 5, zero offset -reading -7.717(66)e-4, target 0 -ai, ch 3, range 5, voltage reference -reading 0.77403(49), target 0.775017 -ai, ch 0, range 6, zero offset -reading -3.157(35)e-4, target 0 -ai, ch 0, range 6, voltage reference -reading 0.37521(25), target 0.375008 -ai, ch 1, range 6, zero offset -reading -7.696(37)e-4, target 0 -ai, ch 1, range 6, voltage reference -reading 0.37377(25), target 0.375008 -ai, ch 2, range 6, zero offset -reading -8.735(32)e-4, target 0 -ai, ch 2, range 6, voltage reference -reading 0.37395(24), target 0.375008 -ai, ch 3, range 6, zero offset -reading -4.781(43)e-4, target 0 -ai, ch 3, range 6, voltage reference -reading 0.37450(24), target 0.375008 -ai, ch 0, range 7, zero offset -reading 3.19(22)e-5, target 0 -ai, ch 0, range 7, voltage reference -reading 0.150259(100), target 0.150003 -ai, ch 1, range 7, zero offset -reading -2.899(19)e-4, target 0 -ai, ch 1, range 7, voltage reference -reading 0.14954(10), target 0.150003 -ai, ch 2, range 7, zero offset -reading -4.497(21)e-4, target 0 -ai, ch 2, range 7, voltage reference -reading 0.14949(10), target 0.150003 -ai, ch 3, range 7, zero offset -reading -2.098(27)e-4, target 0 -ai, ch 3, range 7, voltage reference -reading 0.14980(10), target 0.150003 -relative binary: ai, ch 0, range 0, voltage reference, ai, ch 0, range 0, zero offset -caldac[1] set to 119 -binary: ai, ch 0, range 0, zero offset -caldac[2] set to 140 -relative binary: ai, ch 0, range 1, voltage reference, ai, ch 0, range 1, zero offset -caldac[1] set to 123 -binary: ai, ch 0, range 1, zero offset -caldac[2] set to 139 -relative binary: ai, ch 0, range 2, voltage reference, ai, ch 0, range 2, zero offset -caldac[1] set to 123 -binary: ai, ch 0, range 2, zero offset -caldac[2] set to 140 -relative binary: ai, ch 0, range 3, voltage reference, ai, ch 0, range 3, zero offset -caldac[1] set to 119 -binary: ai, ch 0, range 3, zero offset -caldac[2] set to 140 -relative binary: ai, ch 0, range 4, voltage reference, ai, ch 0, range 4, zero offset -caldac[1] set to 123 -binary: ai, ch 0, range 4, zero offset -caldac[2] set to 139 -relative binary: ai, ch 0, range 5, voltage reference, ai, ch 0, range 5, zero offset -caldac[1] set to 127 -binary: ai, ch 0, range 5, zero offset -caldac[2] set to 139 -relative binary: ai, ch 0, range 6, voltage reference, ai, ch 0, range 6, zero offset -caldac[1] set to 127 -binary: ai, ch 0, range 6, zero offset -caldac[2] set to 137 -relative binary: ai, ch 0, range 7, voltage reference, ai, ch 0, range 7, zero offset -caldac[1] set to 125 -binary: ai, ch 0, range 7, zero offset -caldac[2] set to 125 -relative binary: ai, ch 1, range 0, voltage reference, ai, ch 1, range 0, zero offset -caldac[3] set to 155 -binary: ai, ch 1, range 0, zero offset -caldac[4] set to 147 -relative binary: ai, ch 1, range 1, voltage reference, ai, ch 1, range 1, zero offset -caldac[3] set to 155 -binary: ai, ch 1, range 1, zero offset -caldac[4] set to 148 -relative binary: ai, ch 1, range 2, voltage reference, ai, ch 1, range 2, zero offset -caldac[3] set to 157 -binary: ai, ch 1, range 2, zero offset -caldac[4] set to 147 -relative binary: ai, ch 1, range 3, voltage reference, ai, ch 1, range 3, zero offset -caldac[3] set to 155 -binary: ai, ch 1, range 3, zero offset -caldac[4] set to 147 -relative binary: ai, ch 1, range 4, voltage reference, ai, ch 1, range 4, zero offset -caldac[3] set to 159 -binary: ai, ch 1, range 4, zero offset -caldac[4] set to 148 -relative binary: ai, ch 1, range 5, voltage reference, ai, ch 1, range 5, zero offset -caldac[3] set to 163 -binary: ai, ch 1, range 5, zero offset -caldac[4] set to 149 -relative binary: ai, ch 1, range 6, voltage reference, ai, ch 1, range 6, zero offset -caldac[3] set to 159 -binary: ai, ch 1, range 6, zero offset -caldac[4] set to 151 -relative binary: ai, ch 1, range 7, voltage reference, ai, ch 1, range 7, zero offset -caldac[3] set to 161 -binary: ai, ch 1, range 7, zero offset -caldac[4] set to 151 -relative binary: ai, ch 2, range 0, voltage reference, ai, ch 2, range 0, zero offset -caldac[5] set to 139 -binary: ai, ch 2, range 0, zero offset -caldac[6] set to 145 -relative binary: ai, ch 2, range 1, voltage reference, ai, ch 2, range 1, zero offset -caldac[5] set to 144 -binary: ai, ch 2, range 1, zero offset -caldac[6] set to 147 -relative binary: ai, ch 2, range 2, voltage reference, ai, ch 2, range 2, zero offset -caldac[5] set to 140 -binary: ai, ch 2, range 2, zero offset -caldac[6] set to 145 -relative binary: ai, ch 2, range 3, voltage reference, ai, ch 2, range 3, zero offset -caldac[5] set to 141 -binary: ai, ch 2, range 3, zero offset -caldac[6] set to 145 -relative binary: ai, ch 2, range 4, voltage reference, ai, ch 2, range 4, zero offset -caldac[5] set to 144 -binary: ai, ch 2, range 4, zero offset -caldac[6] set to 147 -relative binary: ai, ch 2, range 5, voltage reference, ai, ch 2, range 5, zero offset -caldac[5] set to 148 -binary: ai, ch 2, range 5, zero offset -caldac[6] set to 149 -relative binary: ai, ch 2, range 6, voltage reference, ai, ch 2, range 6, zero offset -caldac[5] set to 149 -binary: ai, ch 2, range 6, zero offset -caldac[6] set to 155 -relative binary: ai, ch 2, range 7, voltage reference, ai, ch 2, range 7, zero offset -caldac[5] set to 151 -binary: ai, ch 2, range 7, zero offset -caldac[6] set to 163 -relative binary: ai, ch 3, range 0, voltage reference, ai, ch 3, range 0, zero offset -caldac[7] set to 135 -binary: ai, ch 3, range 0, zero offset -caldac[8] set to 137 -relative binary: ai, ch 3, range 1, voltage reference, ai, ch 3, range 1, zero offset -caldac[7] set to 138 -binary: ai, ch 3, range 1, zero offset -caldac[8] set to 137 -relative binary: ai, ch 3, range 2, voltage reference, ai, ch 3, range 2, zero offset -caldac[7] set to 141 -binary: ai, ch 3, range 2, zero offset -caldac[8] set to 136 -relative binary: ai, ch 3, range 3, voltage reference, ai, ch 3, range 3, zero offset -caldac[7] set to 135 -binary: ai, ch 3, range 3, zero offset -caldac[8] set to 137 -relative binary: ai, ch 3, range 4, voltage reference, ai, ch 3, range 4, zero offset -caldac[7] set to 138 -binary: ai, ch 3, range 4, zero offset -caldac[8] set to 137 -relative binary: ai, ch 3, range 5, voltage reference, ai, ch 3, range 5, zero offset -caldac[7] set to 143 -binary: ai, ch 3, range 5, zero offset -caldac[8] set to 139 -relative binary: ai, ch 3, range 6, voltage reference, ai, ch 3, range 6, zero offset -caldac[7] set to 143 -binary: ai, ch 3, range 6, zero offset -caldac[8] set to 141 -relative binary: ai, ch 3, range 7, voltage reference, ai, ch 3, range 7, zero offset -caldac[7] set to 147 -binary: ai, ch 3, range 7, zero offset -caldac[8] set to 143 -relative binary: ao ch 0, zero offset, ao ch 0, reference voltage -caldac[13] set to 191 -binary: ao ch 0, zero offset -caldac[14] set to 32 -relative binary: ao ch 1, zero offset, ao ch 1, reference voltage -caldac[15] set to 158 -binary: ao ch 1, zero offset -caldac[16] set to 77 -writing calibration to foo -ao ch 0, zero offset -applied calibration for subdev 1, channel 0, range 0, aref 0 -applied calibration for subdev 0, channel 0, range 2, aref 2 -reading -5.01(75)e-4, target 0.00015259 -ao ch 0, reference voltage -applied calibration for subdev 1, channel 0, range 0, aref 0 -applied calibration for subdev 0, channel 0, range 2, aref 2 -reading 4.998669(24), target 4.99992 -ao ch 1, zero offset -applied calibration for subdev 1, channel 1, range 0, aref 0 -applied calibration for subdev 0, channel 0, range 2, aref 2 -reading -9.40(70)e-4, target 0.00015259 -ao ch 1, reference voltage -applied calibration for subdev 1, channel 1, range 0, aref 0 -applied calibration for subdev 0, channel 0, range 2, aref 2 -reading 4.998822(17), target 4.99992 -ai, ch 0, range 0, zero offset -applied calibration for subdev 0, channel 0, range 0, aref 2 -reading -2.81(37)e-3, target 0 -ai, ch 0, range 0, voltage reference -applied calibration for subdev 0, channel 0, range 0, aref 2 -reading 3.97350(62)e1, target 39.7509 -ai, ch 1, range 0, zero offset -applied calibration for subdev 0, channel 1, range 0, aref 2 -reading -5.79(34)e-3, target 0 -ai, ch 1, range 0, voltage reference -applied calibration for subdev 0, channel 1, range 0, aref 2 -reading 3.97332(62)e1, target 39.7509 -ai, ch 2, range 0, zero offset -applied calibration for subdev 0, channel 2, range 0, aref 2 -reading -6.51(32)e-3, target 0 -ai, ch 2, range 0, voltage reference -applied calibration for subdev 0, channel 2, range 0, aref 2 -reading 3.97287(62)e1, target 39.7509 -ai, ch 3, range 0, zero offset -applied calibration for subdev 0, channel 3, range 0, aref 2 -reading -1.62(38)e-3, target 0 -ai, ch 3, range 0, voltage reference -applied calibration for subdev 0, channel 3, range 0, aref 2 -reading 3.97325(62)e1, target 39.7509 -ai, ch 0, range 1, zero offset -applied calibration for subdev 0, channel 0, range 1, aref 2 -reading -2.28(13)e-3, target 0 -ai, ch 0, range 1, voltage reference -applied calibration for subdev 0, channel 0, range 1, aref 2 -reading 1.57575(86)e1, target 15.7503 -ai, ch 1, range 1, zero offset -applied calibration for subdev 0, channel 1, range 1, aref 2 -reading -1.96(14)e-3, target 0 -ai, ch 1, range 1, voltage reference -applied calibration for subdev 0, channel 1, range 1, aref 2 -reading 1.57523(86)e1, target 15.7503 -ai, ch 2, range 1, zero offset -applied calibration for subdev 0, channel 2, range 1, aref 2 -reading -2.22(14)e-3, target 0 -ai, ch 2, range 1, voltage reference -applied calibration for subdev 0, channel 2, range 1, aref 2 -reading 1.57503(85)e1, target 15.7503 -ai, ch 3, range 1, zero offset -applied calibration for subdev 0, channel 3, range 1, aref 2 -reading -1.77(14)e-3, target 0 -ai, ch 3, range 1, voltage reference -applied calibration for subdev 0, channel 3, range 1, aref 2 -reading 1.57543(86)e1, target 15.7503 -ai, ch 0, range 2, zero offset -applied calibration for subdev 0, channel 0, range 2, aref 2 -reading -6.87(73)e-4, target 0 -ai, ch 0, range 2, voltage reference -applied calibration for subdev 0, channel 0, range 2, aref 2 -reading 4.998979(30), target 5.00011 -ai, ch 1, range 2, zero offset -applied calibration for subdev 0, channel 1, range 2, aref 2 -reading -1.178(67)e-3, target 0 -ai, ch 1, range 2, voltage reference -applied calibration for subdev 0, channel 1, range 2, aref 2 -reading 4.998793(17), target 5.00011 -ai, ch 2, range 2, zero offset -applied calibration for subdev 0, channel 2, range 2, aref 2 -reading -1.087(68)e-3, target 0 -ai, ch 2, range 2, voltage reference -applied calibration for subdev 0, channel 2, range 2, aref 2 -reading 4.998641(26), target 5.00011 -ai, ch 3, range 2, zero offset -applied calibration for subdev 0, channel 3, range 2, aref 2 -reading -9.44(70)e-4, target 0 -ai, ch 3, range 2, voltage reference -applied calibration for subdev 0, channel 3, range 2, aref 2 -reading 4.999304(49), target 5.00011 -ai, ch 0, range 3, zero offset -applied calibration for subdev 0, channel 0, range 3, aref 2 -reading -2.38(37)e-4, target 0 -ai, ch 0, range 3, voltage reference -applied calibration for subdev 0, channel 0, range 3, aref 2 -reading 3.97356(62), target 3.97509 -ai, ch 1, range 3, zero offset -applied calibration for subdev 0, channel 1, range 3, aref 2 -reading -6.08(33)e-4, target 0 -ai, ch 1, range 3, voltage reference -applied calibration for subdev 0, channel 1, range 3, aref 2 -reading 3.97333(62), target 3.97509 -ai, ch 2, range 3, zero offset -applied calibration for subdev 0, channel 2, range 3, aref 2 -reading -5.94(33)e-4, target 0 -ai, ch 2, range 3, voltage reference -applied calibration for subdev 0, channel 2, range 3, aref 2 -reading 3.97349(62), target 3.97509 -ai, ch 3, range 3, zero offset -applied calibration for subdev 0, channel 3, range 3, aref 2 -reading -1.96(38)e-4, target 0 -ai, ch 3, range 3, voltage reference -applied calibration for subdev 0, channel 3, range 3, aref 2 -reading 3.97315(62), target 3.97509 -ai, ch 0, range 4, zero offset -applied calibration for subdev 0, channel 0, range 4, aref 2 -reading -2.57(13)e-4, target 0 -ai, ch 0, range 4, voltage reference -applied calibration for subdev 0, channel 0, range 4, aref 2 -reading 1.57571(86), target 1.57503 -ai, ch 1, range 4, zero offset -applied calibration for subdev 0, channel 1, range 4, aref 2 -reading -1.65(14)e-4, target 0 -ai, ch 1, range 4, voltage reference -applied calibration for subdev 0, channel 1, range 4, aref 2 -reading 1.57555(85), target 1.57503 -ai, ch 2, range 4, zero offset -applied calibration for subdev 0, channel 2, range 4, aref 2 -reading -1.93(14)e-4, target 0 -ai, ch 2, range 4, voltage reference -applied calibration for subdev 0, channel 2, range 4, aref 2 -reading 1.57577(86), target 1.57503 -ai, ch 3, range 4, zero offset -applied calibration for subdev 0, channel 3, range 4, aref 2 -reading -1.85(14)e-4, target 0 -ai, ch 3, range 4, voltage reference -applied calibration for subdev 0, channel 3, range 4, aref 2 -reading 1.57540(86), target 1.57503 -ai, ch 0, range 5, zero offset -applied calibration for subdev 0, channel 0, range 5, aref 2 -reading -2.53(76)e-5, target 0 -ai, ch 0, range 5, voltage reference -applied calibration for subdev 0, channel 0, range 5, aref 2 -reading 0.77586(49), target 0.775017 -ai, ch 1, range 5, zero offset -applied calibration for subdev 0, channel 1, range 5, aref 2 -reading -9.11(71)e-5, target 0 -ai, ch 1, range 5, voltage reference -applied calibration for subdev 0, channel 1, range 5, aref 2 -reading 0.77579(49), target 0.775017 -ai, ch 2, range 5, zero offset -applied calibration for subdev 0, channel 2, range 5, aref 2 -reading -1.307(65)e-4, target 0 -ai, ch 2, range 5, voltage reference -applied calibration for subdev 0, channel 2, range 5, aref 2 -reading 0.77570(49), target 0.775017 -ai, ch 3, range 5, zero offset -applied calibration for subdev 0, channel 3, range 5, aref 2 -reading -5.15(75)e-5, target 0 -ai, ch 3, range 5, voltage reference -applied calibration for subdev 0, channel 3, range 5, aref 2 -reading 0.77573(49), target 0.775017 -ai, ch 0, range 6, zero offset -applied calibration for subdev 0, channel 0, range 6, aref 2 -reading -1.86(39)e-5, target 0 -ai, ch 0, range 6, voltage reference -applied calibration for subdev 0, channel 0, range 6, aref 2 -reading 0.37528(24), target 0.375008 -ai, ch 1, range 6, zero offset -applied calibration for subdev 0, channel 1, range 6, aref 2 -reading -4.48(36)e-5, target 0 -ai, ch 1, range 6, voltage reference -applied calibration for subdev 0, channel 1, range 6, aref 2 -reading 0.37541(25), target 0.375008 -ai, ch 2, range 6, zero offset -applied calibration for subdev 0, channel 2, range 6, aref 2 -reading -3.84(37)e-5, target 0 -ai, ch 2, range 6, voltage reference -applied calibration for subdev 0, channel 2, range 6, aref 2 -reading 0.37545(25), target 0.375008 -ai, ch 3, range 6, zero offset -applied calibration for subdev 0, channel 3, range 6, aref 2 -reading -3.91(42)e-5, target 0 -ai, ch 3, range 6, voltage reference -applied calibration for subdev 0, channel 3, range 6, aref 2 -reading 0.37542(25), target 0.375008 -ai, ch 0, range 7, zero offset -applied calibration for subdev 0, channel 0, range 7, aref 2 -reading 3.7(21)e-6, target 0 -ai, ch 0, range 7, voltage reference -applied calibration for subdev 0, channel 0, range 7, aref 2 -reading 0.15022(10), target 0.150003 -ai, ch 1, range 7, zero offset -applied calibration for subdev 0, channel 1, range 7, aref 2 -reading 0.4(19)e-6, target 0 -ai, ch 1, range 7, voltage reference -applied calibration for subdev 0, channel 1, range 7, aref 2 -reading 0.15021(10), target 0.150003 -ai, ch 2, range 7, zero offset -applied calibration for subdev 0, channel 2, range 7, aref 2 -reading -2.11(21)e-5, target 0 -ai, ch 2, range 7, voltage reference -applied calibration for subdev 0, channel 2, range 7, aref 2 -reading 0.14994(10), target 0.150003 -ai, ch 3, range 7, zero offset -applied calibration for subdev 0, channel 3, range 7, aref 2 -reading -1.06(26)e-5, target 0 -ai, ch 3, range 7, voltage reference -applied calibration for subdev 0, channel 3, range 7, aref 2 -reading 0.150191(99), target 0.150003 -Applied calibration for subdevice 0, channel 0, range 0, aref 0 diff --git a/comedi_calibrate/results/pci-6711 b/comedi_calibrate/results/pci-6711 deleted file mode 100644 index 6d0298a..0000000 --- a/comedi_calibrate/results/pci-6711 +++ /dev/null @@ -1,152 +0,0 @@ -eeprom reference lsb=37 msb=0 -resulting reference voltage: 5.00004 -Id: comedi_calibrate.c,v 1.91 2004/02/15 22:24:57 fmhess Exp -Driver name: ni_pcimio -Device name: pci-6711 -Id: ni.c,v 1.107 2004/03/07 22:21:10 fmhess Exp -Comedi version: 0.7.68 -linearity binary: dac0 ground, ground referenced, -dac0 mid, ground referenced, -dac0 high, ground referenced -caldac[4] set to 143 -relative binary: dac0 high, ground referenced, dac0 ground, ground referenced -caldac[8] set to 87 -binary: dac0 ground, ground referenced -caldac[7] set to 125 -linearity binary: dac1 ground, ground referenced, -dac1 mid, ground referenced, -dac1 high, ground referenced -caldac[10] set to 152 -relative binary: dac1 high, ground referenced, dac1 ground, ground referenced -caldac[2] set to 88 -binary: dac1 ground, ground referenced -caldac[6] set to 127 -linearity binary: dac2 ground, ground referenced, -dac2 mid, ground referenced, -dac2 high, ground referenced -caldac[1] set to 142 -relative binary: dac2 high, ground referenced, dac2 ground, ground referenced -caldac[11] set to 97 -binary: dac2 ground, ground referenced -caldac[9] set to 127 -linearity binary: dac3 ground, ground referenced, -dac3 mid, ground referenced, -dac3 high, ground referenced -caldac[0] set to 125 -relative binary: dac3 high, ground referenced, dac3 ground, ground referenced -caldac[5] set to 101 -binary: dac3 ground, ground referenced -caldac[3] set to 129 -writing calibration to blah -dac0 ground, ground referenced -applied calibration for subdev 1, channel 0, range 0, aref 0 -failed to apply calibration for subdev 8, channel 0, range 0, aref 0 -reading 0.4998627(54), target 0.499884 -caldac[4] gain=5.476(14)e-6 V/bit S_min=15.4614 dof=14 -caldac[7] gain=3.67149(46)e-5 V/bit S_min=125.788 dof=14 -dac0 mid, ground referenced -applied calibration for subdev 1, channel 0, range 0, aref 0 -failed to apply calibration for subdev 8, channel 0, range 0, aref 0 -reading 0.3093690(54), target 0.309394 -caldac[4] gain= V/bit S_min=inf dof=14 -caldac[7] gain=3.6699(18)e-5 V/bit S_min=6.50588 dof=14 -caldac[8] gain=4.956(18)e-6 V/bit S_min=4.37647 dof=14 -dac0 high, ground referenced -applied calibration for subdev 1, channel 0, range 0, aref 0 -failed to apply calibration for subdev 8, channel 0, range 0, aref 0 -reading 0.118883( 0), target 0.118905 -caldac[0] gain= V/bit S_min=inf dof=14 -caldac[1] gain= V/bit S_min=inf dof=14 -caldac[2] gain= V/bit S_min=inf dof=14 -caldac[3] gain= V/bit S_min=inf dof=14 -caldac[4] gain=8.393(23)e-6 V/bit S_min=3.11906 dof=14 -caldac[5] gain= V/bit S_min=inf dof=14 -caldac[6] gain= V/bit S_min=inf dof=14 -caldac[7] gain=3.66897(46)e-5 V/bit S_min=202.212 dof=14 -caldac[8] gain=9.909(23)e-6 V/bit S_min=4.62494 dof=14 -caldac[9] gain= V/bit S_min=inf dof=14 -caldac[10] gain= V/bit S_min=inf dof=14 -caldac[11] gain= V/bit S_min=inf dof=14 -caldac[12] gain= V/bit S_min=inf dof=14 -caldac[13] gain= V/bit S_min=inf dof=14 -caldac[15] gain= V/bit S_min=inf dof=14 -dac1 ground, ground referenced -applied calibration for subdev 1, channel 1, range 0, aref 0 -failed to apply calibration for subdev 8, channel 1, range 0, aref 0 -reading 0.499840( 0), target 0.499884 -caldac[6] gain=3.6719(23)e-5 V/bit S_min=3.75153 dof=14 -caldac[10] gain=5.522(18)e-6 V/bit S_min=5.71176 dof=14 -dac1 mid, ground referenced -applied calibration for subdev 1, channel 1, range 0, aref 0 -failed to apply calibration for subdev 8, channel 1, range 0, aref 0 -reading 0.309361( 0), target 0.309394 -caldac[0] gain= V/bit S_min=inf dof=14 -caldac[2] gain=4.951(18)e-6 V/bit S_min=4.58824 dof=14 -caldac[4] gain= V/bit S_min=inf dof=14 -caldac[6] gain=3.6709(18)e-5 V/bit S_min=7.78824 dof=14 -caldac[7] gain= V/bit S_min=inf dof=14 -caldac[8] gain= V/bit S_min=inf dof=14 -caldac[10] gain=7.696(14)e-6 V/bit S_min=11.7386 dof=14 -caldac[11] gain= V/bit S_min=inf dof=14 -caldac[12] gain= V/bit S_min=inf dof=14 -caldac[14] gain= V/bit S_min=inf dof=14 -caldac[15] gain= V/bit S_min=inf dof=14 -dac1 high, ground referenced -applied calibration for subdev 1, channel 1, range 0, aref 0 -failed to apply calibration for subdev 8, channel 1, range 0, aref 0 -reading 0.1188602(54), target 0.118905 -caldac[2] gain=9.920(14)e-6 V/bit S_min=15.7542 dof=14 -caldac[6] gain=3.67107(46)e-5 V/bit S_min=284.094 dof=14 -caldac[10] gain=8.437(27)e-6 V/bit S_min=1.72288 dof=14 -caldac[11] gain= V/bit S_min=inf dof=14 -dac2 ground, ground referenced -applied calibration for subdev 1, channel 2, range 0, aref 0 -failed to apply calibration for subdev 8, channel 2, range 0, aref 0 -reading 0.499886( 0), target 0.499884 -caldac[1] gain=5.531(14)e-6 V/bit S_min=18.2641 dof=14 -caldac[9] gain=3.68411(46)e-5 V/bit S_min=140.847 dof=14 -dac2 mid, ground referenced -applied calibration for subdev 1, channel 2, range 0, aref 0 -failed to apply calibration for subdev 8, channel 2, range 0, aref 0 -reading 0.3093996(54), target 0.309394 -caldac[1] gain=7.702(23)e-6 V/bit S_min=4.01506 dof=14 -caldac[9] gain=3.6817(14)e-5 V/bit S_min=13.8719 dof=14 -caldac[11] gain=4.932(14)e-6 V/bit S_min=17.8458 dof=14 -dac2 high, ground referenced -applied calibration for subdev 1, channel 2, range 0, aref 0 -failed to apply calibration for subdev 8, channel 2, range 0, aref 0 -reading 0.1189059(54), target 0.118905 -caldac[1] gain=8.4282(46)e-6 V/bit S_min=144.8 dof=14 -caldac[9] gain=3.68271(46)e-5 V/bit S_min=154.024 dof=14 -caldac[11] gain=9.8700(46)e-6 V/bit S_min=145.176 dof=14 -dac3 ground, ground referenced -applied calibration for subdev 1, channel 3, range 0, aref 0 -failed to apply calibration for subdev 8, channel 3, range 0, aref 0 -reading 0.499886( 0), target 0.499884 -caldac[0] gain=5.4543(91)e-6 V/bit S_min=35.6235 dof=14 -caldac[3] gain=3.68678(46)e-5 V/bit S_min=190.353 dof=14 -dac3 mid, ground referenced -applied calibration for subdev 1, channel 3, range 0, aref 0 -failed to apply calibration for subdev 8, channel 3, range 0, aref 0 -reading 0.309407( 0), target 0.309394 -caldac[0] gain=7.6239(91)e-6 V/bit S_min=13.6235 dof=14 -caldac[3] gain=3.6861(18)e-5 V/bit S_min=11.5941 dof=14 -caldac[4] gain= V/bit S_min=inf dof=14 -caldac[5] gain=4.984(18)e-6 V/bit S_min=4.49412 dof=14 -caldac[6] gain= V/bit S_min=inf dof=14 -caldac[7] gain= V/bit S_min=inf dof=14 -caldac[9] gain= V/bit S_min=inf dof=14 -caldac[10] gain= V/bit S_min=inf dof=14 -caldac[11] gain= V/bit S_min=inf dof=14 -caldac[12] gain= V/bit S_min=inf dof=14 -caldac[13] gain= V/bit S_min=inf dof=14 -caldac[14] gain= V/bit S_min=inf dof=14 -caldac[15] gain= V/bit S_min=inf dof=14 -dac3 high, ground referenced -applied calibration for subdev 1, channel 3, range 0, aref 0 -failed to apply calibration for subdev 8, channel 3, range 0, aref 0 -reading 0.118914( 0), target 0.118905 -caldac[0] gain=8.343(18)e-6 V/bit S_min=7.49412 dof=14 -caldac[3] gain=3.68937(91)e-5 V/bit S_min=40.4471 dof=14 -caldac[5] gain=9.924(18)e-6 V/bit S_min=7.90588 dof=14 -Applied calibration for subdevice 1, channel 0, range 0, aref 0 diff --git a/comedi_calibrate/results/pci-6713 b/comedi_calibrate/results/pci-6713 deleted file mode 100644 index 655db1d..0000000 --- a/comedi_calibrate/results/pci-6713 +++ /dev/null @@ -1,16 +0,0 @@ -Warning: device not fully calibrated due to insufficient information -Please send this output to -$Id$ -Driver name: ni_pcimio -Device name: pci-6713 -Comedi version: 0.7.61 -ai, bipolar zero offset, low gain -insn barfed: subdev=0, chan=0, range=255, aref=3, n=128, ret=-1, Invalid argument -barf -offset 0.0( 0)e-2147483648, target 0 -insn barfed: subdev=0, chan=0, range=255, aref=3, n=128, ret=-1, Invalid argument -barf -insn barfed: subdev=0, chan=0, range=255, aref=3, n=128, ret=-1, Invalid argument -barf -insn barfed: subdev=0, chan=0, range=255, aref=3, n=128, ret=-1, Invalid argument -barf diff --git a/comedi_calibrate/results/pci-mio-16e-1 b/comedi_calibrate/results/pci-mio-16e-1 deleted file mode 100644 index 0e5cea0..0000000 --- a/comedi_calibrate/results/pci-mio-16e-1 +++ /dev/null @@ -1,130 +0,0 @@ -Warning: device not fully calibrated due to insufficient information -Please send this output to -Id: comedi_calibrate.c,v 1.21 2001/10/10 22:07:53 ds Exp -Driver name: ni_pcimio -Device name: pci-mio-16e-1 -Comedi version: 0.7.61 -ai, bipolar zero offset, low gain -offset 0.01206(25), target 0 -caldac[0] gain=-8.29(22)e-6 V/bit S_min=278.185 dof=254 -caldac[1] gain=-7.5209(22)e-4 V/bit S_min=445.48 dof=254 -ai, bipolar zero offset, high gain -offset 2.066(17)e-4, target 0 -caldac[0] gain=-8.7337(15)e-6 V/bit S_min=8697.64 dof=254 -caldac[1] gain=-3.7588(15)e-6 V/bit S_min=265.249 dof=254 -caldac[3] gain=-8.5(15)e-9 V/bit S_min=262.81 dof=254 -ai, bipolar voltage reference, low gain -offset 5.00755(22), target 5 -caldac[0] gain=-8.59(22)e-6 V/bit S_min=341.899 dof=254 -caldac[1] gain=-7.4253(22)e-4 V/bit S_min=888.173 dof=254 -caldac[3] gain=-4.7244(22)e-4 V/bit S_min=671.915 dof=254 -ai, unipolar zero offset, low gain -offset 0.03392(29), target 0 -caldac[0] gain=-8.37(22)e-6 V/bit S_min=288.608 dof=254 -caldac[1] gain=-7.4805(46)e-4 V/bit S_min=172.508 dof=157 -caldac[2] gain=-9.6141(49)e-4 V/bit S_min=165.671 dof=151 -caldac[3] gain=-5.63(23)e-6 V/bit S_min=256.808 dof=254 -ao 0, zero offset, low gain -offset 0.01023(27), target 0.002442 -caldac[0] gain=-8.73(22)e-6 V/bit S_min=324.815 dof=254 -caldac[1] gain=-7.5188(22)e-4 V/bit S_min=389.927 dof=254 -caldac[4] gain=-1.2476(22)e-4 V/bit S_min=433.973 dof=254 -caldac[5] gain=-8.1886(23)e-4 V/bit S_min=420.241 dof=254 -ao 0, reference voltage, low gain -offset 3.28(27)e-3, target -0.001221 -caldac[0] gain=-9.59(23)e-6 V/bit S_min=302.239 dof=254 -caldac[1] gain=-7.5264(22)e-4 V/bit S_min=431.901 dof=254 -caldac[3] gain=1.88(23)e-6 V/bit S_min=335.204 dof=254 -caldac[4] gain=-1.5219(22)e-4 V/bit S_min=354.72 dof=254 -caldac[5] gain=-8.1937(22)e-4 V/bit S_min=322.292 dof=254 -caldac[6] gain=-1.0071(22)e-4 V/bit S_min=372.167 dof=254 -ao 1, zero offset, low gain -offset 9.58(26)e-3, target 0.002442 -caldac[0] gain=-8.72(22)e-6 V/bit S_min=279.315 dof=254 -caldac[1] gain=-7.5238(22)e-4 V/bit S_min=441.762 dof=254 -caldac[3] gain=1.17(23)e-6 V/bit S_min=328.146 dof=254 -caldac[7] gain=-1.2458(22)e-4 V/bit S_min=407.535 dof=254 -caldac[8] gain=-8.2001(22)e-4 V/bit S_min=454.449 dof=254 -ao 1, reference voltage, low gain -offset 2.63(27)e-3, target -0.001221 -caldac[0] gain=-9.71(23)e-6 V/bit S_min=261.054 dof=254 -caldac[1] gain=-7.5267(22)e-4 V/bit S_min=358.388 dof=254 -caldac[3] gain=2.15(23)e-6 V/bit S_min=292.124 dof=254 -caldac[7] gain=-1.5248(22)e-4 V/bit S_min=307.658 dof=254 -caldac[8] gain=-8.1997(22)e-4 V/bit S_min=507.586 dof=254 -caldac[9] gain=-1.0055(23)e-4 V/bit S_min=296.253 dof=254 -postgain: ai, bipolar zero offset, low gain; ai, bipolar zero offset, high gain -caldac[1] gain=-7.5218(22)e-4 V/bit S_min=436.614 dof=254 -caldac[1] gain=-3.7575(15)e-6 V/bit S_min=346.397 dof=254 -caldac[1] set to 142.699 -linear: ai, bipolar zero offset, high gain -caldac[0] gain=-8.7341(15)e-6 V/bit S_min=8897.47 dof=254 -caldac[0] set to 152.69 -linear: ai, bipolar voltage reference, low gain -caldac[3] gain=-4.7280(22)e-4 V/bit S_min=678.224 dof=254 -caldac[3] set to 117.778 -linear: ai, unipolar zero offset, low gain -caldac[2] gain=-9.6156(54)e-4 V/bit S_min=155.07 dof=139 -caldac[2] set to 149.988 -linear: ao 0, zero offset, low gain -caldac[5] gain=-8.1932(22)e-4 V/bit S_min=427.632 dof=254 -caldac[5] set to 121.111 -linear: ao 0, reference voltage, low gain -caldac[6] gain=-9.969(22)e-5 V/bit S_min=328.876 dof=254 -caldac[6] set to 92.4325 -linear: ao 1, zero offset, low gain -caldac[8] gain=-8.2062(23)e-4 V/bit S_min=459.368 dof=254 -caldac[8] set to 120.361 -linear: ao 1, reference voltage, low gain -caldac[9] gain=-1.0039(22)e-4 V/bit S_min=323.354 dof=254 -caldac[9] set to 99.7785 -ai, bipolar zero offset, low gain -offset -6.5(27)e-4, target 0 -caldac[0] gain=-9.95(23)e-6 V/bit S_min=338.439 dof=254 -caldac[1] gain=-7.5204(22)e-4 V/bit S_min=429.041 dof=254 -caldac[3] gain=2.51(22)e-6 V/bit S_min=364.338 dof=254 -caldac[10] gain=-1.00(22)e-6 V/bit S_min=323.405 dof=254 -ai, bipolar zero offset, high gain -offset -9.20(17)e-5, target 0 -caldac[0] gain=-8.7297(15)e-6 V/bit S_min=8791.37 dof=254 -caldac[1] gain=-3.7597(15)e-6 V/bit S_min=302.304 dof=254 -caldac[3] gain=1.84(15)e-8 V/bit S_min=294.466 dof=254 -ai, bipolar voltage reference, low gain -offset 4.99966(27), target 5 -caldac[0] gain=-8.65(22)e-6 V/bit S_min=284.39 dof=254 -caldac[1] gain=-7.4207(23)e-4 V/bit S_min=657.313 dof=254 -caldac[3] gain=-4.7248(22)e-4 V/bit S_min=654.996 dof=254 -ai, unipolar zero offset, low gain -offset nan, target 0 -caldac[1] gain=-7.4827(64)e-4 V/bit S_min=99.3453 dof=126 -caldac[2] gain=-9.6069(55)e-4 V/bit S_min=218.772 dof=139 -ao 0, zero offset, low gain -offset 2.21(26)e-3, target 0.002442 -caldac[0] gain=-9.28(23)e-6 V/bit S_min=328.656 dof=254 -caldac[1] gain=-7.5226(22)e-4 V/bit S_min=422.159 dof=254 -caldac[3] gain=1.84(23)e-6 V/bit S_min=326.382 dof=254 -caldac[4] gain=-1.2601(22)e-4 V/bit S_min=320.864 dof=254 -caldac[5] gain=-8.1945(22)e-4 V/bit S_min=367.287 dof=254 -ao 0, reference voltage, low gain -offset -1.18(29)e-3, target -0.001221 -caldac[0] gain=-9.47(22)e-6 V/bit S_min=308.124 dof=254 -caldac[1] gain=-7.5218(22)e-4 V/bit S_min=384.799 dof=254 -caldac[3] gain=2.05(22)e-6 V/bit S_min=343.072 dof=254 -caldac[4] gain=-1.5263(22)e-4 V/bit S_min=381.051 dof=254 -caldac[5] gain=-8.1969(22)e-4 V/bit S_min=404.001 dof=254 -caldac[6] gain=-9.961(23)e-5 V/bit S_min=384.348 dof=254 -ao 1, zero offset, low gain -offset 3.17(27)e-3, target 0.002442 -caldac[0] gain=-9.68(23)e-6 V/bit S_min=242.019 dof=254 -caldac[1] gain=-7.5217(23)e-4 V/bit S_min=382.637 dof=254 -caldac[3] gain=2.03(23)e-6 V/bit S_min=316.857 dof=254 -caldac[7] gain=-1.2575(23)e-4 V/bit S_min=346.959 dof=254 -caldac[8] gain=-8.2102(22)e-4 V/bit S_min=505.935 dof=254 -ao 1, reference voltage, low gain -offset -1.49(28)e-3, target -0.001221 -caldac[0] gain=-9.03(22)e-6 V/bit S_min=307.298 dof=254 -caldac[1] gain=-7.5231(23)e-4 V/bit S_min=423.217 dof=254 -caldac[3] gain=2.63(22)e-6 V/bit S_min=348.769 dof=254 -caldac[7] gain=-1.5238(23)e-4 V/bit S_min=375 dof=254 -caldac[8] gain=-8.2036(22)e-4 V/bit S_min=462.047 dof=254 -caldac[9] gain=-1.0066(22)e-4 V/bit S_min=326.815 dof=254 diff --git a/comedi_calibrate/results/pci-mio-16e-4 b/comedi_calibrate/results/pci-mio-16e-4 deleted file mode 100644 index cbae511..0000000 --- a/comedi_calibrate/results/pci-mio-16e-4 +++ /dev/null @@ -1,133 +0,0 @@ -Warning: device not fully calibrated due to insufficient information -Please send this output to -Id: comedi_calibrate.c,v 1.34 2002/05/20 02:23:38 fmhess Exp -Driver name: ni_pcimio -Device name: pci-mio-16e-4 -Id: ni.c,v 1.27 2002/06/06 01:21:10 ds Exp -Comedi version: 0.7.64 -ai, bipolar zero offset, low gain -offset -0.017056(38), target 0 -caldac[2] gain=2.97(20)e-7 V/bit S_min=536.642 dof=254 -caldac[4] gain=-1.021835(57)e-3 V/bit S_min=54130.4 dof=254 -caldac[8] gain=-1.2997(61)e-5 V/bit S_min=26561.5 dof=254 -ai, bipolar zero offset, high gain -offset 4.90(12)e-5, target 0 -caldac[2] gain=-4.44(99)e-9 V/bit S_min=257.513 dof=254 -caldac[4] gain=-5.11054(97)e-6 V/bit S_min=752.803 dof=254 -caldac[8] gain=-1.39886(10)e-5 V/bit S_min=1046.88 dof=254 -caldac[10] gain=-3.98(99)e-9 V/bit S_min=257.543 dof=254 -ai, bipolar voltage reference, low gain -offset 4.974130(91), target 5 -caldac[2] gain=-5.88644(75)e-4 V/bit S_min=28704.1 dof=254 -caldac[4] gain=-1.008968(58)e-3 V/bit S_min=60152.7 dof=254 -caldac[8] gain=-2.2137(72)e-5 V/bit S_min=21093.8 dof=254 -ai, unipolar zero offset, low gain -offset 0.014652( 0), target 0 -caldac[1] gain=8.7(11)e-9 V/bit S_min=9911.87 dof=254 -caldac[2] gain=1.19214(16)e-3 V/bit S_min=19202.5 dof=134 -caldac[4] gain=-1.01499(14)e-3 V/bit S_min=27878.2 dof=137 -caldac[6] gain=6.0(11)e-9 V/bit S_min=7052.48 dof=254 -caldac[7] gain=-3.8429(11)e-4 V/bit S_min=31899.2 dof=157 -caldac[8] gain=-5.384(41)e-6 V/bit S_min=17989.9 dof=254 -caldac[14] gain=-8.0(19)e-9 V/bit S_min=4127.49 dof=254 -ao 0, zero offset, low gain -offset -0.017094( 0), target 0.002442 -caldac[0] gain=-8.6(13)e-10 V/bit S_min=65747.1 dof=254 -caldac[1] gain= V/bit S_min=inf dof=254 -caldac[2] gain= V/bit S_min=inf dof=254 -caldac[3] gain= V/bit S_min=inf dof=254 -caldac[4] gain=-1.021999(59)e-3 V/bit S_min=50246.8 dof=254 -caldac[5] gain=-2.85(13)e-9 V/bit S_min=65278.1 dof=254 -caldac[6] gain=-7.78616(59)e-4 V/bit S_min=49456.5 dof=254 -caldac[7] gain= V/bit S_min=inf dof=254 -caldac[8] gain=-1.635(27)e-6 V/bit S_min=3285.84 dof=254 -caldac[9] gain=3.07(13)e-9 V/bit S_min=65196.1 dof=254 -caldac[10] gain=-1.17537(57)e-4 V/bit S_min=47442.2 dof=254 -caldac[11] gain= V/bit S_min=inf dof=254 -caldac[12] gain= V/bit S_min=inf dof=254 -caldac[14] gain= V/bit S_min=inf dof=254 -caldac[15] gain= V/bit S_min=inf dof=254 -ao 0, reference voltage, low gain -offset -0.017056(38), target -0.001221 -caldac[0] gain=3.29(13)e-9 V/bit S_min=65108 dof=254 -caldac[1] gain=-1.65(13)e-9 V/bit S_min=65621.1 dof=254 -caldac[2] gain=3.21(38)e-9 V/bit S_min=21916.2 dof=254 -caldac[3] gain=7.0(13)e-10 V/bit S_min=65763.3 dof=254 -caldac[4] gain=-1.021806(59)e-3 V/bit S_min=51245.7 dof=254 -caldac[5] gain=1.17(25)e-9 V/bit S_min=33004.2 dof=254 -caldac[6] gain=-7.78596(58)e-4 V/bit S_min=53205.2 dof=254 -caldac[7] gain= V/bit S_min=inf dof=254 -caldac[8] gain=-1.867(28)e-6 V/bit S_min=4125.2 dof=254 -caldac[9] gain= V/bit S_min=inf dof=254 -caldac[10] gain=-1.40307(62)e-4 V/bit S_min=43005.2 dof=254 -caldac[11] gain=-1.28930(54)e-4 V/bit S_min=56133.7 dof=254 -caldac[12] gain= V/bit S_min=inf dof=254 -caldac[13] gain=5.3(13)e-10 V/bit S_min=65776.1 dof=254 -caldac[14] gain= V/bit S_min=inf dof=254 -caldac[15] gain=2.06(13)e-9 V/bit S_min=65524.7 dof=254 -ao 1, zero offset, low gain -offset -0.012210( 0), target 0.002442 -caldac[0] gain=1.17(13)e-8 V/bit S_min=6259.83 dof=254 -caldac[1] gain=-1.15386(64)e-4 V/bit S_min=36386.4 dof=254 -caldac[2] gain=1.81(16)e-8 V/bit S_min=4700.21 dof=254 -caldac[4] gain=-1.021992(62)e-3 V/bit S_min=44024.4 dof=254 -caldac[6] gain=-3.52(75)e-9 V/bit S_min=10728.8 dof=254 -caldac[8] gain=-4.004(38)e-6 V/bit S_min=12914.5 dof=254 -caldac[9] gain=-7.74236(62)e-4 V/bit S_min=44441.8 dof=254 -caldac[11] gain=-7.3(13)e-9 V/bit S_min=6313.25 dof=254 -caldac[12] gain=-1.04(11)e-8 V/bit S_min=6997.1 dof=254 -caldac[15] gain=-7.8(14)e-9 V/bit S_min=5714.44 dof=254 -ao 1, reference voltage, low gain -offset -0.012248(38), target -0.001221 -caldac[1] gain=-1.39443(61)e-4 V/bit S_min=40670.9 dof=254 -caldac[2] gain=8.47(44)e-7 V/bit S_min=346.812 dof=254 -caldac[4] gain=-1.021785(64)e-3 V/bit S_min=40319.8 dof=254 -caldac[5] gain=-1.28948(64)e-4 V/bit S_min=34383.6 dof=254 -caldac[8] gain=-1.5068(70)e-5 V/bit S_min=19726.7 dof=254 -caldac[9] gain=-7.74319(64)e-4 V/bit S_min=42090.3 dof=254 -postgain: ai, bipolar zero offset, low gain; ai, bipolar zero offset, high gain -caldac[4] gain=-1.021856(57)e-3 V/bit S_min=54116 dof=254 -caldac[4] gain=-5.11241(97)e-6 V/bit S_min=804.644 dof=254 -caldac[4] set to 112 (111.528) -linear: ai, bipolar zero offset, high gain -caldac[8] gain=-1.39852(10)e-5 V/bit S_min=1152.21 dof=254 -caldac[8] set to 137 (136.857) -linear: ai, bipolar voltage reference, low gain -caldac[2] gain=-5.88111(75)e-4 V/bit S_min=32338.3 dof=254 -caldac[2] set to 107 (107.032) -linear: ai, unipolar zero offset, low gain -caldac[7] gain=-3.8340(14)e-4 V/bit S_min=31150.3 dof=134 -caldac[7] set to 145 (145.125) -linear: ao 0, zero offset, low gain -caldac[6] gain=-7.81193(59)e-4 V/bit S_min=49408.3 dof=254 -caldac[6] set to 122 (121.992) -linear: ao 0, reference voltage, low gain -caldac[11] gain=-1.29021(55)e-4 V/bit S_min=51532.3 dof=254 -caldac[11] set to 152 (152.149) -linear: ao 1, zero offset, low gain -caldac[9] gain=-7.76801(61)e-4 V/bit S_min=45352.2 dof=254 -caldac[9] set to 127 (127.448) -linear: ao 1, reference voltage, low gain -caldac[5] gain=-1.28844(62)e-4 V/bit S_min=38678.7 dof=254 -caldac[5] set to 149 (148.733) -ai, bipolar zero offset, low gain -offset -2.366(54)e-3, target 0 -caldac[4] gain=-1.024297(58)e-3 V/bit S_min=54044.9 dof=254 -caldac[8] gain=-1.6330(79)e-5 V/bit S_min=12534.8 dof=254 -ai, bipolar zero offset, high gain -offset -1.45(11)e-5, target 0 -caldac[2] gain=6.79(90)e-9 V/bit S_min=284.657 dof=254 -caldac[4] gain=-5.12071(98)e-6 V/bit S_min=692.976 dof=254 -caldac[8] gain=-1.40242(10)e-5 V/bit S_min=1141.14 dof=254 -ai, bipolar voltage reference, low gain -offset 4.998817(38), target 5 -caldac[2] gain=-5.88265(75)e-4 V/bit S_min=32107.8 dof=254 -caldac[4] gain=-1.010429(58)e-3 V/bit S_min=58701.3 dof=254 -caldac[8] gain=-7.231(55)e-6 V/bit S_min=9875.11 dof=254 -ai, unipolar zero offset, low gain -offset nan, target 0 -caldac[2] gain=1.19139(15)e-3 V/bit S_min=20993.8 dof=141 -caldac[4] gain=-1.01645(20)e-3 V/bit S_min=21632.1 dof=106 -caldac[7] gain=-3.8376(15)e-4 V/bit S_min=27467.5 dof=133 -ao 0, zero offset, low gain -Segmentation fault diff --git a/comedi_calibrate/results/pci-mio-16xe-10 b/comedi_calibrate/results/pci-mio-16xe-10 deleted file mode 100644 index 956b588..0000000 --- a/comedi_calibrate/results/pci-mio-16xe-10 +++ /dev/null @@ -1,147 +0,0 @@ -Warning: device not fully calibrated due to insufficient information -Please send this output to -Id: comedi_calibrate.c,v 1.27 2002/02/20 20:17:11 ds Exp -Driver name: ni_pcimio -Device name: pci-mio-16xe-10 -Id: ni.c,v 1.13 2002/02/20 20:17:11 ds Exp -Comedi version: 0.7.61 -ai, bipolar zero offset, low gain -offset -6.13(14)e-3, target 0 -caldac[0] gain=1.13(11)e-7 V/bit S_min=329.737 dof=254 -caldac[2] gain=4.02947(14)e-4 V/bit S_min=1923.56 dof=254 -caldac[3] gain=4.233(12)e-6 V/bit S_min=318.032 dof=254 -caldac[8] gain=4.2482(72)e-7 V/bit S_min=382.585 dof=254 -ai, bipolar zero offset, high gain -offset -3.6784(63)e-4, target 0 -caldac[0] gain=4.66(47)e-9 V/bit S_min=230.026 dof=254 -caldac[2] gain=4.03025(48)e-6 V/bit S_min=415.404 dof=254 -caldac[3] gain=3.908(47)e-8 V/bit S_min=294.563 dof=254 -caldac[8] gain=4.13959(30)e-7 V/bit S_min=312.685 dof=254 -caldac[10] gain=-1.26(29)e-10 V/bit S_min=314.773 dof=254 -ai, bipolar voltage reference, low gain -offset 4.990885(14), target 5 -caldac[0] gain=-4.5353(12)e-5 V/bit S_min=1710.04 dof=254 -caldac[1] gain=-2.528(12)e-6 V/bit S_min=345.49 dof=254 -caldac[2] gain=4.03051(14)e-4 V/bit S_min=1951.97 dof=254 -caldac[3] gain=4.037(12)e-6 V/bit S_min=300.966 dof=254 -caldac[8] gain=4.1921(73)e-7 V/bit S_min=334.401 dof=254 -ai, unipolar zero offset, low gain -offset nan, target 0 -caldac[2] gain=4.03681(45)e-4 V/bit S_min=273.533 dof=99 -ao 0, zero offset, low gain -offset -0.012720(15), target 0.00015259 -caldac[0] gain=1.60(12)e-7 V/bit S_min=255.994 dof=254 -caldac[2] gain=4.03024(14)e-4 V/bit S_min=2070.13 dof=254 -caldac[3] gain=3.979(12)e-6 V/bit S_min=334.723 dof=254 -caldac[6] gain=-7.8046(12)e-5 V/bit S_min=2531.75 dof=254 -caldac[8] gain=4.0988(74)e-7 V/bit S_min=312.704 dof=254 -ao 0, reference voltage, low gain -offset -0.011089(16), target -7.62951e-05 -caldac[0] gain=1.12(12)e-7 V/bit S_min=302.906 dof=254 -caldac[2] gain=4.02999(15)e-4 V/bit S_min=1785.08 dof=254 -caldac[3] gain=4.018(13)e-6 V/bit S_min=376.668 dof=254 -caldac[4] gain=3.9056(12)e-5 V/bit S_min=772.527 dof=254 -caldac[6] gain=-7.7789(13)e-5 V/bit S_min=1591.34 dof=254 -caldac[8] gain=4.1246(79)e-7 V/bit S_min=318.688 dof=254 -ao 1, zero offset, low gain -offset -9.532(12)e-3, target 0.00015259 -caldac[0] gain=1.45(12)e-7 V/bit S_min=334.497 dof=254 -caldac[2] gain=4.02939(14)e-4 V/bit S_min=1871.2 dof=254 -caldac[3] gain=4.099(12)e-6 V/bit S_min=326.813 dof=254 -caldac[7] gain=-7.7595(12)e-5 V/bit S_min=1008.57 dof=254 -caldac[8] gain=4.2170(73)e-7 V/bit S_min=298.23 dof=254 -ao 1, reference voltage, low gain -offset -2.509940(15), target -7.62951e-05 -caldac[0] gain=2.3027(12)e-5 V/bit S_min=539.95 dof=254 -caldac[1] gain=1.377(13)e-6 V/bit S_min=263.307 dof=254 -caldac[2] gain=4.02753(15)e-4 V/bit S_min=2027.78 dof=254 -caldac[3] gain=4.202(13)e-6 V/bit S_min=318.557 dof=254 -caldac[5] gain=1.9813(12)e-5 V/bit S_min=369.468 dof=254 -caldac[7] gain=-7.7568(12)e-5 V/bit S_min=856.56 dof=254 -caldac[8] gain=4.2560(78)e-7 V/bit S_min=280.941 dof=254 -postgain: ai, bipolar zero offset, low gain; ai, bipolar zero offset, -high gain -caldac[2] gain=4.02968(14)e-4 V/bit S_min=2087.79 dof=254 -caldac[2] gain=4.03000(48)e-6 V/bit S_min=389.873 dof=254 -caldac[2] set to 152 (151.795) -postgain: ai, bipolar zero offset, low gain; ai, bipolar zero offset, -high gain -caldac[3] gain=4.522(12)e-6 V/bit S_min=538.697 dof=254 -caldac[3] gain=3.964(47)e-8 V/bit S_min=258.691 dof=254 -caldac[3] set to 44 (43.7866) -linear: ai, bipolar zero offset, high gain -caldac[8] gain=4.14220(30)e-7 V/bit S_min=307.873 dof=254 -caldac[8] set to 2702 (2702.27) -linear: ai, bipolar voltage reference, low gain -caldac[0] gain=-4.5815(12)e-5 V/bit S_min=2677.17 dof=254 -caldac[0] set to 149 (149.15) -linear: ai, bipolar voltage reference, low gain -caldac[1] gain=-2.727(13)e-6 V/bit S_min=326.783 dof=254 -caldac[1] set to 50 (49.7007) -linear: ao 0, zero offset, low gain -caldac[6] gain=-7.8083(12)e-5 V/bit S_min=1706.23 dof=254 -caldac[6] set to 90 (90.086) -linear: ao 0, reference voltage, low gain -caldac[4] gain=3.9303(13)e-5 V/bit S_min=1926.15 dof=254 -caldac[4] set to 82 (82.3106) -linear: ao 1, zero offset, low gain -caldac[7] gain=-7.7881(12)e-5 V/bit S_min=1590.01 dof=254 -caldac[7] set to 131 (130.891) -linear: ao 1, reference voltage, low gain -caldac[5] gain=1.9950(12)e-5 V/bit S_min=807.589 dof=254 -caldac set out of range (125431>255) -caldac[5] set to 125431 (125431) -ai, bipolar zero offset, low gain -offset 3.8(15)e-5, target 0 -caldac[0] gain=7.1(13)e-8 V/bit S_min=310.7 dof=254 -caldac[2] gain=4.02845(14)e-4 V/bit S_min=2030.42 dof=254 -caldac[3] gain=4.352(12)e-6 V/bit S_min=789.843 dof=254 -caldac[8] gain=4.4401(73)e-7 V/bit S_min=767.012 dof=254 -ai, bipolar zero offset, high gain -offset 7.4(58)e-7, target 0 -caldac[2] gain=4.02821(48)e-6 V/bit S_min=428.869 dof=254 -caldac[3] gain=4.112(49)e-8 V/bit S_min=299.782 dof=254 -caldac[8] gain=4.14311(30)e-7 V/bit S_min=389.731 dof=254 -ai, bipolar voltage reference, low gain -offset 4.999974(15), target 5 -caldac[0] gain=-4.5783(12)e-5 V/bit S_min=2807.92 dof=254 -caldac[1] gain=-2.789(13)e-6 V/bit S_min=318.904 dof=254 -caldac[2] gain=4.02874(14)e-4 V/bit S_min=1801.89 dof=254 -caldac[3] gain=4.452(13)e-6 V/bit S_min=622.676 dof=254 -caldac[8] gain=4.4500(77)e-7 V/bit S_min=711.933 dof=254 -ai, unipolar zero offset, low gain -offset nan, target 0 -caldac[2] gain=4.03446(45)e-4 V/bit S_min=334.169 dof=99 -caldac[3] gain=4.001(31)e-6 V/bit S_min=99.5987 dof=95 -caldac[8] gain=3.69(23)e-7 V/bit S_min=22.661 dof=15 -ao 0, zero offset, low gain -offset 6.0(17)e-5, target 0.00015259 -caldac[0] gain=5.8(14)e-8 V/bit S_min=413.608 dof=254 -caldac[2] gain=4.02823(15)e-4 V/bit S_min=1898.71 dof=254 -caldac[3] gain=4.330(12)e-6 V/bit S_min=554.527 dof=254 -caldac[6] gain=-7.8111(12)e-5 V/bit S_min=1717.37 dof=254 -caldac[8] gain=4.4508(76)e-7 V/bit S_min=663.271 dof=254 -ao 0, reference voltage, low gain -offset -2.9(17)e-5, target -7.62951e-05 -caldac[1] gain=-5.8(13)e-8 V/bit S_min=330.279 dof=254 -caldac[2] gain=4.02791(15)e-4 V/bit S_min=1732.81 dof=254 -caldac[3] gain=4.443(13)e-6 V/bit S_min=564.931 dof=254 -caldac[4] gain=3.9328(13)e-5 V/bit S_min=1723.58 dof=254 -caldac[6] gain=-7.8098(13)e-5 V/bit S_min=1737.64 dof=254 -caldac[8] gain=4.4615(82)e-7 V/bit S_min=576.175 dof=254 -ao 1, zero offset, low gain -offset 7.6(17)e-5, target 0.00015259 -caldac[0] gain=5.6(13)e-8 V/bit S_min=314.141 dof=254 -caldac[2] gain=4.02835(14)e-4 V/bit S_min=1841.77 dof=254 -caldac[3] gain=4.325(12)e-6 V/bit S_min=619.217 dof=254 -caldac[7] gain=-7.7899(12)e-5 V/bit S_min=1780.8 dof=254 -caldac[8] gain=4.4706(75)e-7 V/bit S_min=583.297 dof=254 -ao 1, reference voltage, low gain -offset -2.497396(16), target -7.62951e-05 -caldac[0] gain=2.2787(12)e-5 V/bit S_min=786.36 dof=254 -caldac[1] gain=1.331(13)e-6 V/bit S_min=265.989 dof=254 -caldac[2] gain=4.02543(15)e-4 V/bit S_min=2372.65 dof=254 -caldac[3] gain=4.081(12)e-6 V/bit S_min=327.315 dof=254 -caldac[5] gain=2.0002(12)e-5 V/bit S_min=787.03 dof=254 -caldac[7] gain=-7.7783(12)e-5 V/bit S_min=1257.18 dof=254 -caldac[8] gain=4.1166(76)e-7 V/bit S_min=347.496 dof=254 diff --git a/comedi_calibrate/results/pci-mio-16xe-50 b/comedi_calibrate/results/pci-mio-16xe-50 deleted file mode 100644 index bb90259..0000000 --- a/comedi_calibrate/results/pci-mio-16xe-50 +++ /dev/null @@ -1,20 +0,0 @@ -Warning: device not fully calibrated due to insufficient information -Please send this output to -Id: comedi_calibrate.c,v 1.21 2001/10/10 22:07:53 ds Exp -Driver name: ni_pcimio -Device name: pci-mio-16xe-50 -Comedi version: 0.7.61 -postgain: ai, bipolar zero offset, low gain; ai, bipolar zero offset, high gain -caldac[2] gain=1.7354(14)e-5 V/bit S_min=1816.77 dof=254 -caldac[2] gain=1.6481(19)e-7 V/bit S_min=262.174 dof=254 -caldac[2] set to 4665.65 -caldac set out of range (4666>255) -linear: ai, bipolar zero offset, high gain -caldac[8] gain=1.79213(12)e-7 V/bit S_min=362597 dof=254 -caldac set out of range (6443>4095) -caldac[8] set to 6442.78 -linear: ai, bipolar voltage reference, low gain -caldac[0] gain=-4.3377(14)e-5 V/bit S_min=166907 dof=254 -caldac set out of range (-1133<0) -caldac[0] set to -1132.76 - diff --git a/comedi_calibrate/save_cal.c b/comedi_calibrate/save_cal.c deleted file mode 100644 index f7b3fb9..0000000 --- a/comedi_calibrate/save_cal.c +++ /dev/null @@ -1,245 +0,0 @@ -/* -comedi_calibrate/save_cal.c - stuff for saving calibration info to -a file. - -Copyright (C) 2003 Frank Mori Hess - -This program is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as -published by the Free Software Foundation; either version 2 of the -license, or (at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program; if not, write to the Free Software -Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -*/ - -#define _GNU_SOURCE - -#include -#include -#include -#include -#include -#include -#include -#include - -#include - -#include "calib.h" - -void write_caldac( FILE *file, comedi_caldac_t caldac ) -{ - static const char *indent = "\t\t\t\t"; - - fprintf( file, "%s", indent ); - fprintf( file, "{\n" ); - fprintf( file, "%s", indent ); - fprintf( file, "\tsubdevice => %i,\n", caldac.subdevice ); - fprintf( file, "%s", indent ); - fprintf( file, "\tchannel => %i,\n", caldac.channel ); - fprintf( file, "%s", indent ); - fprintf( file, "\tvalue => %i,\n", caldac.value ); - fprintf( file, "%s", indent ); - fprintf( file, "}" ); -} - -void write_calibration_setting( FILE *file, comedi_calibration_setting_t setting ) -{ - static const char *indent = "\t\t"; - int i; - - fprintf( file, "%s", indent ); - fprintf( file, "{\n" ); - fprintf( file, "%s", indent ); - fprintf( file, "\tsubdevice => %i,\n", setting.subdevice ); - fprintf( file, "%s", indent ); - fprintf( file, "\tchannels => [" ); - for( i = 0; i < setting.num_channels; i++ ) - fprintf( file, "%i,", setting.channels[ i ] ); - fprintf( file, "],\n" ); - fprintf( file, "%s", indent ); - fprintf( file, "\tranges => [" ); - for( i = 0; i < setting.num_ranges; i++ ) - fprintf( file, "%i,", setting.ranges[ i ] ); - fprintf( file, "],\n" ); - fprintf( file, "%s", indent ); - fprintf( file, "\tarefs => [" ); - for( i = 0; i < setting.num_arefs; i++ ) - fprintf( file, "%i,", setting.arefs[ i ] ); - fprintf( file, "],\n" ); - fprintf( file, "%s", indent ); - fprintf( file, "\tcaldacs =>\n" ); - fprintf( file, "%s", indent ); - fprintf( file, "\t[\n" ); - for( i = 0; i < setting.num_caldacs; i++ ) - { - write_caldac( file, setting.caldacs[ i ] ); - fprintf( file, ",\n" ); - } - fprintf( file, "%s", indent ); - fprintf( file, "\t],\n" ); - - - fprintf( file, "%s", indent ); - fprintf( file, "}" ); -} - -int write_calibration_perl_hash( FILE *file, const comedi_calibration_t *calibration ) -{ - int i; - time_t now; - - now = time( NULL ); - fprintf( file, "#calibration file generated by comedi_calibrate\n" - "#%s\n", ctime( &now ) ); - fprintf( file, "{\n" ); - fprintf( file, "\tdriver_name => \"%s\",\n", calibration->driver_name ); - fprintf( file, "\tboard_name => \"%s\",\n", calibration->board_name ); - fprintf( file, "\tcalibrations =>\n" - "\t[\n" ); - for( i = 0; i < calibration->num_settings; i++ ) - { - write_calibration_setting( file, calibration->settings[ i ] ); - fprintf( file, ",\n" ); - } - fprintf( file, "\t],\n" - "}\n"); - - return 0; -} - -int write_calibration_file( calibration_setup_t *setup ) -{ - FILE *file; - int retval; - - assert( setup->new_calibration != NULL ); - assert( setup->cal_save_file_path ); - - file = fopen( setup->cal_save_file_path, "w" ); - if( file == NULL ) - { - fprintf( stderr, "failed to open file %s for writing\n", - setup->cal_save_file_path ); - perror( "fopen" ); - return -1; - } - - DPRINT( 0, "writing calibration to %s\n", setup->cal_save_file_path ); - retval = write_calibration_perl_hash( file, setup->new_calibration ); - - fclose( file ); - - return retval; -} - -comedi_calibration_setting_t* sc_alloc_calibration_setting( calibration_setup_t *setup ) -{ - comedi_calibration_setting_t *temp; - - temp = realloc( setup->new_calibration->settings, - ( setup->new_calibration->num_settings + 1 ) * sizeof( comedi_calibration_setting_t ) ); - assert( temp != NULL ); - setup->new_calibration->settings = temp; - memset( &setup->new_calibration->settings[ setup->new_calibration->num_settings ], - 0, sizeof( comedi_calibration_setting_t ) ); - - setup->new_calibration->num_settings++; - - return &setup->new_calibration->settings[ setup->new_calibration->num_settings - 1 ]; -} - -void sc_push_caldac( comedi_calibration_setting_t *saved_cal, caldac_t caldac ) -{ - int i; - - /* check if caldac is already listed, in which case we just update */ - for( i = 0; i < saved_cal->num_caldacs; i++ ) - { - if( saved_cal->caldacs[ i ].subdevice != caldac.subdev ) continue; - if( saved_cal->caldacs[ i ].channel != caldac.chan ) continue; - break; - } - if( i < saved_cal->num_caldacs ) - { - saved_cal->caldacs[ i ].value = caldac.current; - return; - } - saved_cal->caldacs = realloc( saved_cal->caldacs, - ( saved_cal->num_caldacs + 1 ) * sizeof( caldac_t ) ); - if( saved_cal->caldacs == NULL ) - { - fprintf( stderr, "memory allocation failure\n" ); - abort(); - } - saved_cal->caldacs[ saved_cal->num_caldacs ].subdevice = caldac.subdev; - saved_cal->caldacs[ saved_cal->num_caldacs ].channel = caldac.chan; - saved_cal->caldacs[ saved_cal->num_caldacs ].value = caldac.current; - saved_cal->num_caldacs++; -} - -void sc_push_channel( comedi_calibration_setting_t *saved_cal, int channel ) -{ - if( channel == SC_ALL_CHANNELS ) - { - saved_cal->num_channels = 0; - if( saved_cal->channels ) - { - free( saved_cal->channels ); - saved_cal->channels = NULL; - } - }else - { - saved_cal->channels = realloc( saved_cal->channels, - ( saved_cal->num_channels + 1 ) * sizeof( int ) ); - if( saved_cal->channels == NULL ) - { - fprintf( stderr, "memory allocation failure\n" ); - abort(); - } - saved_cal->channels[ saved_cal->num_channels++ ] = channel; - } -} - -void sc_push_range( comedi_calibration_setting_t *saved_cal, int range ) -{ - if( range == SC_ALL_RANGES ) - { - saved_cal->num_ranges = 0; - if( saved_cal->ranges ) - { - free( saved_cal->ranges ); - saved_cal->ranges = NULL; - } - } - else - { - saved_cal->ranges = realloc( saved_cal->ranges, - ( saved_cal->num_ranges + 1 ) * sizeof( int ) ); - if( saved_cal->ranges == NULL ) - { - fprintf( stderr, "memory allocation failure\n" ); - abort(); - } - saved_cal->ranges[ saved_cal->num_ranges++ ] = range; - } - -} - -void sc_push_aref( comedi_calibration_setting_t *saved_cal, int aref ) -{ - assert( saved_cal->num_arefs < CS_MAX_AREFS_LENGTH ); - - if( aref == SC_ALL_AREFS ) - saved_cal->num_arefs = 0; - else - saved_cal->arefs[ saved_cal->num_arefs++ ] = aref; -} - diff --git a/comedi_calibrate/split_dumps b/comedi_calibrate/split_dumps deleted file mode 100755 index e703284..0000000 --- a/comedi_calibrate/split_dumps +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/bash - -file=$1 - -all=$(grep '^start dump' $file|sed 's/start dump //'); - -for each in $all -do - grep "^D$each:" $file|sed "s/^D$each: //" >$file.$each -done - diff --git a/configure.ac b/configure.ac index 4740a18..bcc1ae5 100644 --- a/configure.ac +++ b/configure.ac @@ -136,7 +136,6 @@ AC_SUBST(doccomedilibdir) AC_CONFIG_FILES( Makefile -comedi_calibrate/Makefile comedi_config/Makefile etc/Makefile etc/pcmcia/Makefile -- 2.26.2