[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: setup problems for PCVision + JAI CV-M1



"M.Stein" wrote:
 
> Frames_captured is how much frames are read into the on-board memory from
> the camera. This is starting whenever the device is open (I mean open(2)).
> Frames_transfered is, as you said already, how much frames are transfered
> between on-board and main memory. This allocates bandwith at the PCI-bus
> and needs some system ressources (interrupt time).
> Frames get_by_blocked|signal|select is the amount of frames, your
> application is informed of. This is mainly to determine, weather your
> online data processing is fast enough or not. This is important to know,
> because if not, the driver OVERRIDES your current frame and you have to
> use a kind of ring buffer (-n option).
> If you don't do online processing (means you need only sometimes a frame),
> the mmap(2) mode is not the right for you. For this kind of application
> the read(2) mode is the better, because it transfers the frame (and only
> this frame) if it's needed.
> 
> Is this what you want to know?
> 

Thankyou, this is exactly what I was after.

Incidentally, I'm still having no luck duplicating the NT config file
under linux. In fact I can't really see how the cv-m1-20pll example was
constructed.

I have been looking at the worksheets describing the programming of PLL
mode and I cannot understand how the critical values are obtained.

for example. The windows config file for CV-M1 from the iti web site has
the following values (1296x1026)

      HTotal = 454
      HSync_Low = 67
      HEqual_End = 32
      Serration_Total = 388
      VTotal = 1049
      VSync_Low = 5
      HSync_Pol_Lo
      VSync_Pol_Lo
      VGate_Start = 518
      VGate_End = 11
      HOffset = 233
      HActive = 1526
      VOffset = 5
      VActive = 1031

The linux version has

     HTotal = 2048              # use value + 1 * 2
     HSync_Low = 1              # use value + 1
     HEqual_End = 1             # use value + 1
     Serration_Total = 1024     # use value + 1
     VTotal = 1050              # use value + 1 (half lines)
     VSync_Low = 6              # use value + 1 (half lines)
     HSync_Pol_Lo
     VSync_Pol_Lo
     VGate_Start = 2048         # use value + 1 (half lines)
     VGate_End = 12             # use value + 1 (half lines)
# width = HActive - HOffset % 4 == 0 !
     HOffset = 277              # use value + 1
     HActive = 1555             # use value + 1
# height = VActive - VOffset
     VOffset = 16               # use value + 1 
     VActive = 1024             # use value + 1

If I compute HActive as described in the work sheet I get something like
the windows value, but I can't see how the linux version should be
computed.

I also notice that the divisible by 4 rule for HActive - HOffset doesn't
seem to hold in the linux file.

I've found that I can decrease the linux HOffset by 16 to give the same
horizontal resolution in both systems, but I have had no luck in getting
more than 1024 lines under Linux. I think I'm looking in the wrong
places because I don't understand the relationships between the contents
of the two file types at all.

Sorry to be a pain.

-- 
Richard Beare
Richard.Beare@cmis.csiro.au