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

Re: Some general questions




Hello Matthias !

> You can't use the windows config files directly with the driver. This is
> because we write the config file entries DIRECTLY into the registers (to
> make it easier). For most registers you have to add one to the count, but
> not in general. Please send me the config file and I have a look at it.
> This is in common a good idea, because I can add the config file to the
> driver and other people also can use it.
> Debugging - If you see a problem, please load at first the debug module
> itifg_g.o and the send me the output in /var/log/messages. This provides
> the information, I need.

Unfortunatelly I don't have access for this machine at present moment,
but I'll send all logs from itifg_g.o to You as fast as possible (during
this week I hope). Camera configuration file I've attached to this
message.

> > 2) itifg driver require memory-mapped access to acquisition module
> > registers. Under dos I can control this using `pcieep` utility.
> > How I can do the same under linux ? (I mean switch to/from mem-maped -
> > io-maped access)
>
> For the IC-PCI motherboard the driver supports both (mmaped AND io-port)
> access. Thats we I don't have a program which switches between both
> things. If you want to update your old io-port boards to mmaped behavior,
> you can install some newer ITEX (ITI windows software). It switches your
> boards the first time, you access it (this is because they don't support
> io-port access any longer).

Ok, I've already seen this in sources.

> > 3) If ic-pci is configured to io-maped access to AM registers, itifg.o
> > during loading writes something like "device is controlled by another
> > driver ***". Is that a correct behavior ?
>
> To my knowledge, the AM register area HAVE TO BE mmaped. (And I don't have
> seen any other board over the years).
> The 'device is controlled...' message comes from problems accessing the
> IC-PCI motherboard Interface Control Registers. This I have seen only
> twice. Once at a PowerPC and and once with a wrong configured PCI-Bridge.

Thanks for explanation.

> REMARK: This message also is displayed, if you try to load more than one
> module at a time (e.g. itifg_g.o and itifg.o)!!
>

No, there were no module loaded. I've just expected some different
error, like "You should use mmaped access" or so. Nevermind.

I have a couple bit more interesting questions. I've started implementing
AM-STD-RGB support in itifg-0.7.1 framework. I've read in the hardware
manual that I can access all AM registers after loading FPGA data.
I've looked how this is done for PCDig in itifg and in amrgb-patch.
The question is: is size of FPGA array variable (for fixed board) or
not (from PCDig sources follows that "not", but from amrgb-patch - that
"yes") ? Documentation say nothing about this (just suggest use ITEX
library). I'm asking about this becouse I've seen already existing types
and itifg_t structure members related to PCDig FPGA programming and
it would be nice (if this possible of course) to re-use them for AM-RGB.

Next question is : itifg_t structure has flag `fpga_ok', it can be reused
for AM-RGB, but in many places of the itifg sources I've seen a macro
IS_PCDIG followed by some checks related to fpga in this case. What
You think about macro like NEED_FPGA (IS_PCDIG || IS_AMRGB) ?

And the last (for now ;)) question : could You point me to some
resources about FPGA programing ?

With the best regards,
	Vova.
[ICP:0]			# Board 0

[AM-DIG]		# Module AM-DIG

[CameraPort:0]		# Camera 0
      Slot_Number = 0
      Camera_Name = "Basler A113"
      Camera_Structure = Create_Structure
      Horizontal_Active = 1292
      Horizontal_Offset = 0
      Vertical_Active = 1029
      Vertical_Offset = 0
      NonInterlaced
      NonInterleaved_Pixels
      Area_Scan
      LEN_Wide
      LineMiss_Mode
      FIFO_Reset_Mode
      Pixel_Size_8
      CCLK_36.00MHz
      CCLK_Div2
      ExtSync_Mode = FreeRun
      EXSCLK_14.32_Div2048
      EXSync_Counter_Enable
      EXSCLK_CounterPreset = 1700
      Trigger_Gen_Disable
      Trigger_Source = External
      Xillix_Mode_Disable
      Camera_Mode = 0
      PRI_Active_Low
      AM_OutputA = Low_Byte
      AM_OutputB = Low_Byte
      AM_OutputC = Low_Byte
      PCLK_NoInvert
      LEN_NoInvert
      FEN_NoInvert
      FLD_NoInvert
      EXSYNC_Pulse_Active_High