Re:Re:ni-6225: bug in ni_pcimio.c ?

On Wed, 2007-09-19 at 06:36 -0700, comedi-request_at_comedi.org wrote: 

> On Tuesday 18 September 2007 15:43, Ingmar Schoegl wrote:
> > I'm using a NI-6225 board for thermocouple measurements and am wondering
> > whether anybody else has seen this.
> >
> > The NI-6225 has 40 differential inputs, which are arranged in blocks of
> > 8 input pairs (AI0-7, AI16-AI23, AI32-39, AI48-55 and AI64-71).
> > The first four blocks work correctly. The fifth block, however, outputs
> > the same as the first block (i.e. AI0-7), and signals connected to
> > AI64-71 are ignored.
> 
> It's a driver limitation.  The m-series registermap for the=20
> AI_Config_FIFO_Data register (as well as the DDK example code) only gives=20
> 4 bits for setting an ai channel and 2 bits for setting an ai bank, for 64=
> =20
> possibilities.  You'll have to try extracting the information from NI on=20
> how to deal with the 80 channel board.  You might try their DDK forum on=20
> their website.
> 
> =2D-=20
> =46rank


First of all, thanks for the info. I tried both posting in the DDK forum
as well as calling NI directly, but couldn't get the information I
need. 

Otherwise, I did some research and found the document for the
*preliminary* register map for the M-series boards. I found a register
that appears to be very similar to AI_Config_FIFO_Data, which is called
AI_Config_FIFO_Bypass. I dug through the driver source code and saw that
both are already used (in ni_mio_common.c), albeit in different
contexts. As AI_Config_FIFO_Bypass is able to address 128 channels
(instead of the 64 by AI_Config_FIFO_Data), I'm wondering whether it is
there that I should start. However, right now the bypass register is
only used for calibration, so it would be great if anybody could give me
some pointers on differences between addressing channels during
calibration and regular analog input.

Thanks a lot for your help,

-ingmar-

Received on 2007-09-25Z16:12:29