On 17/08/15 19:31, H Hartley Sweeten wrote:
The analog inputs have 12-bit resoultion. The subdevice 'maxdata' is a mask value for the resolution. Fix the value. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Cc: Ian Abbott <abbotti@xxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> --- drivers/staging/comedi/drivers/usbduxfast.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/staging/comedi/drivers/usbduxfast.c b/drivers/staging/comedi/drivers/usbduxfast.c index 60f1c5e..c8687b0 100644 --- a/drivers/staging/comedi/drivers/usbduxfast.c +++ b/drivers/staging/comedi/drivers/usbduxfast.c @@ -865,7 +865,7 @@ static int usbduxfast_attach_common(struct comedi_device *dev) s->do_cmdtest = usbduxfast_ai_cmdtest; s->do_cmd = usbduxfast_ai_cmd; s->cancel = usbduxfast_ai_cancel; - s->maxdata = 0x1000; + s->maxdata = 0x0fff; s->range_table = &range_usbduxfast_ai_range; up(&devpriv->sem);
I've just got confirmation from the driver author Bernd Porr, that the maximum value it can produce is 0x1000, not 0xfff. This is due to an overflow bit from the ADC.
Probably best not to mess with it for now, as the current comedilib library's 'comedi_to_phys()' function returns NAN by default if the raw value is either 0 or maxdata as that means the value is probably pegged. However, it does not currently return NAN for raw values above maxdata (although it probably ought to).
-- -=( Ian Abbott @ MEV Ltd. E-mail: <abbotti@xxxxxxxxx> )=- -=( Web: http://www.mev.co.uk/ )=- _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel