]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
staging: comedi: das08: Correct AI encoding for das08jr-16-ao
authorIan Abbott <abbotti@mev.co.uk>
Fri, 31 Aug 2012 19:41:29 +0000 (20:41 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 2 Oct 2012 17:39:03 +0000 (10:39 -0700)
commit e6391a182865efc896cb2a8d79e07b7ac2f45b48 upstream.

The element of `das08_boards[]` for the 'das08jr-16-ao' board has the
`ai_encoding` member set to `das08_encode12`.  It should be set to
`das08_encode16` same as the 'das08jr/16' board.  After all, this board
has 16-bit AI resolution.

The description of the A/D LSB register at offset 0 seems incorrect in
the user manual "cio-das08jr-16-ao.pdf" as it implies that the AI
resolution is only 12 bits.  The diagrams of the A/D LSB and MSB
registers show 15 data bits and a sign bit, which matches what the
software expects for the `das08_encode16` AI encoding method.

Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/comedi/drivers/das08.c

index ce47f24cbf01a863c2aaff899e65be8f9f8903bc..83dae6ee1e16a0ea71d222cd4e9f982895156a29 100644 (file)
@@ -403,7 +403,7 @@ static const struct das08_board_struct das08_boards[] = {
         .ai = das08_ai_rinsn,
         .ai_nbits = 16,
         .ai_pg = das08_pg_none,
-        .ai_encoding = das08_encode12,
+        .ai_encoding = das08_encode16,
         .ao = das08jr_ao_winsn,
         .ao_nbits = 16,
         .di = das08jr_di_rbits,