[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