comp.lang.idl-pvwave archive
Messages from Usenet group comp.lang.idl-pvwave, compiled by Paulo Penteado

Home » Public Forums » archive » Re: Frame Grabbers with IDL
Show: Today's Messages :: Show Polls :: Message Navigator
E-mail to friend 
Switch to threaded view of this topic Create a new topic Submit Reply
Re: Frame Grabbers with IDL [message #7515] Tue, 26 November 1996 00:00
kak is currently offline  kak
Messages: 16
Registered: February 1995
Junior Member
Troy Klein <troy.klein@jhuapl.edu> writes:

> Rolando Raqueno wrote:
>>
>> Does anybody have experience with having IDL control a frame grabber
>> (any recommendations) hosted by a PC?
>>
> 2) IDL on the PC seems to break up its memory allocation for variables
> into 64KB chunks.
> That is, you can't transfer more than 64KB of data at a time.

> Has anyone else run into the 64KB limit on a PC, or am I dreaming?

I had the same problem with transferring frames from a CCD camera
memory board (16MB per image series). This is a limitation of Win31
because as a 16bit operating system it cannot simply allocate
memory chunks > 64kB. There are of course workarounds but they did
not work with IDL.
My advice: change to Win95 or better to WinNT4.0 and use IDL 4.01.
In that combination you work completely in a 32bit environment
and programming that stuff is a breeze - after you learned it ;-)
One disadvantage: the upgrades will cost you quite a lot and it's
some days work to get your computer working again with the new
operating system.
Still, IMHO it's worth the effort.

Karl
Re: Frame Grabbers with IDL [message #7523 is a reply to message #7515] Mon, 25 November 1996 00:00 Go to previous message
Troy Klein is currently offline  Troy Klein
Messages: 4
Registered: April 1995
Junior Member
Rolando Raqueno wrote:
>
> Does anybody have experience with having IDL control a frame grabber
> (any recommendations) hosted by a PC?
>
> Thanks
>
> RVR

It can be done. I'm currently grabbing frames using IDL 3.6.1 on a 486
PC running
Windows 3.1 with a Dipix frame grabber.

There were two main problems encountered:

1) IDL call_external uses the argc, argv calling convention, while the
windows
library supplied by Dipix does not. So I had to have someone write
a library to
convert the function calls.

2) IDL on the PC seems to break up its memory allocation for variables
into 64KB chunks.
That is, you can't transfer more than 64KB of data at a time.

More explanation of 2):
The images that I am grabbing are exactly 128KB. If I create space to
hold the image
( IDL> im=intarr(256,256) ), and then pass the variable to the DLL, it
is passed by
reference, i.e. the DLL gets the address of the first element of image.
I can then
start filling the image with valid data from the DLL. However, when I
cross the 64KB
boundary, bad things start happening. Apparently the last 64KB
allocated for the image
by IDL do not directly follow the first 64KB in memory address space.
Therefore, I must
transfer each image in two pieces. Not a big deal, but it took us a
while to figure
out what the problem was.

Has anyone else run into the 64KB limit on a PC, or am I dreaming?

--
Troy Klein, Johns Hopkins University / Applied Physics Laboratory
Johns Hopkins Road, Laurel, MD 20723
E-Mail: troy.klein@jhuapl.edu
  Switch to threaded view of this topic Create a new topic Submit Reply
Previous Topic: Re: plotting tool
Next Topic: Bug with printf in IDL 4.0.1 under Unix

-=] Back to Top [=-
[ Syndicate this forum (XML) ] [ RSS ] [ PDF ]

Current Time: Wed Oct 08 19:11:12 PDT 2025

Total time taken to generate the page: 0.00544 seconds